gs-pathname: ''
disabled: false
+ # -------------------------------
+ # INSTALLER DEFINITIONS
+ # -------------------------------
+ installer:
+ - fuel
+ - compass
+
+ # -------------------------------
+ # OPERATING SYSTEM DEFINITIONS
+ # -------------------------------
+ os:
+ - ubuntu1604
+ - ubuntu1804
+ - centos7
+
# -------------------------------
# DEPLOY TYPE DEFINITIONS
# -------------------------------
- deploy-type:
- - fuel-baremetal:
- slave-label: 'aarch64_dev'
- scenario: 'k8-calico-iec-noha'
- - fuel-virtual:
+ deploy_type:
+ - baremetal:
slave-label: 'aarch64_dev'
scenario: 'k8-calico-iec-noha'
- - compass-virtual:
+ - virtual:
slave-label: 'aarch64_dev'
scenario: 'k8-calico-iec-noha'
+ exclude:
+ # Compass does not run against baremetal PODs yet
+ - installer: compass
+ deploy_type: baremetal
+ - installer: compass
+ os: centos7
+ - installer: compass
+ os: ubuntu1804
+
# -------------------------------
# USECASE DEFINITIONS
# -------------------------------
scenario: 'k8-calico-iec-noha'
jobs:
- - 'iec-{deploy-type}-daily-{stream}'
- - 'iec-deploy-{deploy-type}-daily-{stream}'
- - 'iec-install-{usecase}-{deploy-type}-daily-{stream}'
+ - 'iec-{installer}-{deploy_type}-{os}-daily-{stream}'
+ - 'iec-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ - 'iec-destroy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ - 'iec-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}'
##############
# PARAMETERS #
name: K8S_SSH_KEY
default: ''
description: 'SSH key to connect to the K8s master'
+ - string:
+ name: K8S_MASTER_IP_COMPASS
+ default: '10.1.0.50'
+ description: 'IP address to compass connect to the K8s master'
+ - string:
+ name: K8S_SSH_PASSWORD_COMPASS
+ default: 'root'
+ description: 'SSH password to compass connect to the K8s master'
+ - string:
+ name: K8S_SSH_USER_COMPASS
+ default: 'root'
+ description: 'SSH username to compass connect to the K8s master'
########################
# job templates
########################
- job-template:
- name: 'iec-{deploy-type}-daily-{stream}'
+ name: 'iec-{installer}-{deploy_type}-{os}-daily-{stream}'
disabled: '{obj:disabled}'
concurrent: false
node: '{slave-label}'
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - '.*-{deploy-type}-daily-.*'
+ - '.*-fuel-{deploy_type}-.*'
+ - '.*-compass-{deploy_type}-.*'
blocking-level: 'NODE'
wrappers:
name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - 'iec-{deploy-type}-daily-{stream}-trigger'
+ - 'iec-{installer}-{deploy_type}-{os}-daily-{stream}-trigger'
parameters:
- lf-infra-parameters:
builders:
- trigger-builds:
- - project: 'iec-deploy-{deploy-type}-daily-{stream}'
+ - project: 'iec-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
current-parameters: false
- predefined-parameters: |
+ predefined-parameters:
DEPLOY_SCENARIO={scenario}
same-node: true
block: true
- - project: 'iec-install-{usecase}-daily-{stream}'
+ - project:
+ !j2: |
+ {%- for uc in usecase -%}
+ iec-install-{{ uc | first }}-{{ installer }}-{{ deploy_type }}-{{ os }}-daily-{{ stream }}
+ {%- if not loop.last -%},{%- endif -%}
+ {%- endfor %}
current-parameters: false
same-node: true
block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - project: 'iec-destroy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
- job-template:
- name: 'iec-deploy-{deploy-type}-daily-{stream}'
+ name: 'iec-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
concurrent: true
node: '{slave-label}'
- properties:
+ properties: &properties
- throttle:
enabled: true
max-total: 4
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - '.*-deploy-{deploy-type}-daily-*'
+ - '.*-deploy-{installer}-{deploy_type}-.*'
+ - '.*-destroy-{installer}-{deploy_type}-.*'
+ - '.*-install-.*-{installer}-{deploy_type}-.*'
blocking-level: 'NODE'
parameters:
- string:
name: DEPLOY_SCENARIO
default: '{scenario}'
+ - string:
+ name: EXTRA_ARGS
+ default: '-o {os}'
- wrappers:
+ wrappers: &wrappers
- build-name:
name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
description: "POD: $NODE_NAME"
- conditional-step:
condition-kind: regex-match
- regex: 'compass-.*'
- label: '{deploy-type}'
+ regex: 'compass'
+ label: '{installer}'
steps:
- shell:
!include-raw-escape: ./iec-compass-build.sh
- shell:
!include-raw-escape: ./iec-compass-deploy.sh
- shell:
- !include-raw-escape: ./iec-compass-destroy.sh
+ !include-raw-escape: ./iec-fdn-install.sh
- conditional-step:
condition-kind: regex-match
- regex: 'fuel-.*'
- label: '{deploy-type}'
+ regex: 'fuel'
+ label: '{installer}'
steps:
- shell:
!include-raw-escape: ./iec-fuel-deploy.sh
- publishers:
+ publishers: &publishers
- email:
recipients: armband@enea.com
- lf-infra-publish
- job-template:
- name: 'iec-install-{usecase}-{deploy-type}-daily-{stream}'
+ name: 'iec-destroy-{installer}-{deploy_type}-{os}-daily-{stream}'
concurrent: true
node: '{slave-label}'
- properties:
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '.*-deploy-{deploy-type}-daily-*'
- - '.*-install-{usecase}-{deploy-type}-daily-*'
- blocking-level: 'NODE'
+ properties: *properties
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - '{project}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - string:
+ name: EXTRA_ARGS
+ default: '-EEE -o {os}'
+
+ wrappers: *wrappers
+ scm: *scm
+
+ builders:
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - shell:
+ !include-raw-escape: ./iec-{installer}-destroy.sh
+
+ publishers: *publishers
+
+- job-template:
+ name: 'iec-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}'
+ concurrent: true
+ node: '{slave-label}'
+ properties: *properties
parameters:
- lf-infra-parameters:
wrappers:
- build-name:
- name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${deploy-type}'
+ name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${installer}-${deploy_type}'
scm: *scm
- shell:
!include-raw-escape: ./iec-{usecase}.sh
- publishers:
- - email:
- recipients: armband@enea.com
- - lf-infra-publish
+ publishers: *publishers
########################
# trigger macros
# Akraino IEC CI Baremetal Triggers running against master branch
# ----------------------------------------------------------------
- trigger:
- name: 'iec-fuel-virtual-daily-master-trigger'
+ name: 'iec-fuel-virtual-ubuntu1604-daily-master-trigger'
triggers:
- - timed: '0 1 * * *'
+ - timed: '0 1 * * 1,3,5'
- trigger:
- name: 'iec-fuel-baremetal-daily-master-trigger'
+ name: 'iec-fuel-baremetal-ubuntu1604-daily-master-trigger'
triggers:
- timed: ''
- trigger:
- name: 'iec-compass-virtual-daily-master-trigger'
+ name: 'iec-compass-virtual-ubuntu1604-daily-master-trigger'
triggers:
- timed: '0 13 * * *'
+- trigger:
+ name: 'iec-fuel-virtual-ubuntu1804-daily-master-trigger'
+ triggers:
+ - timed: '0 1 * * 2,6'
+- trigger:
+ name: 'iec-fuel-baremetal-ubuntu1804-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'iec-fuel-virtual-centos7-daily-master-trigger'
+ triggers:
+ - timed: '0 1 * * 4,7'
+- trigger:
+ name: 'iec-fuel-baremetal-centos7-daily-master-trigger'
+ triggers:
+ - timed: ''