project-name: 'iec'
project: '{project-name}'
views:
- - project-view
+ - common-view:
+ view-name: iec
+ view-regex: '^{project-name}-(tox|fuel|compass)-.*'
# -------------------------------
# BRANCH DEFINITIONS
# -------------------------------
gs-pathname: ''
disabled: false
+ # -------------------------------
+ # INSTALLER DEFINITIONS
+ # -------------------------------
+ installer:
+ - fuel
+ - compass
+
+ # -------------------------------
+ # OPERATING SYSTEM DEFINITIONS
+ # -------------------------------
+ os:
+ - ubuntu1604
+ - ubuntu1804
+ - centos7
+
# -------------------------------
# DEPLOY TYPE DEFINITIONS
# -------------------------------
deploy_type:
- - fuel-baremetal:
+ - baremetal:
slave-label: 'aarch64_dev'
scenario: 'k8-calico-iec-noha'
- - fuel-virtual:
- 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: ARCHIVE_ARTIFACTS
default: '**/*.log'
description: Artifacts to archive to the logs server.
-- parameter:
- name: 'seba_on_arm-defaults'
+# Usecase params are both installer and OS specific
+- parameter: &k8s_fuel_ubuntu1604_parameter
+ name: 'fuel-ubuntu1604-defaults'
parameters:
- - string:
+ - string: &k8s_master_ip
+ name: K8S_MASTER_IP
+ default: '172.16.10.36'
+ description: 'IP address to connect to the K8s master'
+ - string: &k8s_ssh_user
name: K8S_SSH_USER
default: 'ubuntu'
description: 'SSH username to connect to the K8s master '
- - string:
+ - string: &k8s_ssh_password
name: K8S_SSH_PASSWORD
default: ''
description: 'SSH password to connect to the K8s master'
- - string:
+ - string: &k8s_ssh_key
name: K8S_SSH_KEY
- default: ''
+ default: '/var/lib/opnfv/mcp.rsa'
description: 'SSH key to connect to the K8s master'
+- parameter:
+ <<: *k8s_fuel_ubuntu1604_parameter
+ name: 'fuel-ubuntu1804-defaults'
+- parameter:
+ name: 'fuel-centos7-defaults'
+ parameters:
+ - string:
+ <<: *k8s_master_ip
+ - string:
+ <<: *k8s_ssh_user
+ default: 'centos'
+ - string:
+ <<: *k8s_ssh_password
+ - string:
+ <<: *k8s_ssh_key
+- parameter:
+ name: 'compass-ubuntu1604-defaults'
+ parameters:
+ - string:
+ <<: *k8s_master_ip
+ default: '10.1.0.50'
+ - string:
+ <<: *k8s_ssh_user
+ default: 'root'
+ - string:
+ <<: *k8s_ssh_password
+ default: 'root'
+ - string:
+ <<: *k8s_ssh_key
########################
# 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:
stream: '{stream}'
branch: '{branch}'
- '{project}-defaults'
+ - '{installer}-{os}-defaults'
- string:
name: DEPLOY_SCENARIO
default: '{scenario}'
builders:
- trigger-builds:
- - project: 'iec-deploy-{deploy_type}-daily-{stream}'
- current-parameters: false
+ - project: 'iec-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ current-parameters: true
predefined-parameters:
DEPLOY_SCENARIO={scenario}
same-node: true
block: true
+ - project: 'validation-enea-daily-{stream}'
+ same-node: true
+ current-parameters: true
+ predefined-parameters: |
+ BLUEPRINT={project-name}
+ LAYER=k8s
+ VERSION=master
+ OPTIONAL=yes
+ block: true
- project:
!j2: |
{%- for uc in usecase -%}
- iec-install-{{ uc | first }}-{{ deploy_type }}-daily-{{ stream }}
+ iec-install-{{ uc | first }}-{{ installer }}-{{ deploy_type }}-{{ os }}-daily-{{ stream }}
{%- if not loop.last -%},{%- endif -%}
{%- endfor %}
+ current-parameters: true
+ 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
!include-raw-escape: ./iec-compass-deploy.sh
- shell:
!include-raw-escape: ./iec-fdn-install.sh
- - shell:
- !include-raw-escape: ./iec-compass-destroy.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:
stream: '{stream}'
branch: '{branch}'
- '{project}-defaults'
- - '{usecase}-defaults'
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: ''