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:
+ deploy_type:
+ - baremetal:
slave-label: 'aarch64_dev'
scenario: 'k8-calico-iec-noha'
- - fuel-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
+ # -------------------------------
+ usecase:
+ - seba_on_arm:
slave-label: 'aarch64_dev'
scenario: 'k8-calico-iec-noha'
jobs:
- - 'iec-{deploy-type}-daily-{stream}'
- - 'iec-deploy-{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 #
description: 'IP of the installer'
- string:
name: SSH_KEY
- default: "/var/lib/opnfv/mcp.rsa"
+ default: '/var/lib/opnfv/mcp.rsa'
description: 'Path to private SSH key to access environment nodes'
- string:
name: EXTERNAL_NETWORK
- string:
name: CI_DEBUG
default: 'false'
- description: "Show debug output information"
+ description: 'Show debug output information'
+ - string:
+ name: ARCHIVE_ARTIFACTS
+ default: '**/*.log'
+ description: Artifacts to archive to the logs server.
+# Usecase params are both installer and OS specific
+- parameter: &k8s_fuel_ubuntu1604_parameter
+ name: 'seba_on_arm-fuel-ubuntu1604-defaults'
+ parameters:
+ - string: &k8s_master_ip
+ name: K8S_MASTER_IP
+ default: ''
+ 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: &k8s_ssh_password
+ name: K8S_SSH_PASSWORD
+ default: ''
+ description: 'SSH password to connect to the K8s master'
+ - string: &k8s_ssh_key
+ name: K8S_SSH_KEY
+ default: ''
+ description: 'SSH key to connect to the K8s master'
+- parameter:
+ <<: *k8s_fuel_ubuntu1604_parameter
+ name: 'seba_on_arm-fuel-ubuntu1804-defaults'
+- parameter:
+ name: 'seba_on_arm-fuel-centos7-defaults'
+ parameters:
+ - string:
+ <<: *k8s_master_ip
+ - string:
+ <<: *k8s_ssh_user
+ default: 'centos'
+ - string:
+ <<: *k8s_ssh_password
+ - string:
+ <<: *k8s_ssh_key
+- parameter:
+ name: 'seba_on_arm-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:
- '{project}-defaults'
- string:
name: DEPLOY_SCENARIO
- default: 'k8-calico-iec-noha'
+ default: '{scenario}'
builders:
- trigger-builds:
- - project: 'iec-deploy-{deploy-type}-daily-{stream}'
+ - project: 'iec-deploy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ - 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: |
+ predefined-parameters:
DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
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:
- '{project}-defaults'
- string:
name: DEPLOY_SCENARIO
- default: 'k8-calico-iec-noha'
+ default: '{scenario}'
+ - string:
+ name: EXTRA_ARGS
+ default: '-o {os}'
- wrappers:
+ wrappers: &wrappers
- build-name:
name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- scm:
+ scm: &scm
- git:
credentials-id: '{jenkins-ssh-credential}'
url: '{git-url}/{project}.git'
choosing-strategy: default
builders:
- - shell:
- !include-raw-escape: ./iec-fuel-deploy.sh
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - conditional-step:
+ condition-kind: regex-match
+ 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-fdn-install.sh
+ - conditional-step:
+ condition-kind: regex-match
+ 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-destroy-{installer}-{deploy_type}-{os}-daily-{stream}'
+ concurrent: true
+ node: '{slave-label}'
+ 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:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - '{project}-defaults'
+ - '{usecase}-{installer}-{os}-defaults'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${installer}-${deploy_type}'
+
+ scm: *scm
+
+ builders:
+ - shell:
+ !include-raw-escape: ./iec-{usecase}.sh
+
+ 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 * * 1,3,5'
+- trigger:
+ name: 'iec-fuel-baremetal-ubuntu1604-daily-master-trigger'
+ triggers:
+ - timed: ''
+- 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 * * *'
+ - timed: '0 1 * * 4,7'
- trigger:
- name: 'iec-fuel-baremetal-daily-master-trigger'
+ name: 'iec-fuel-baremetal-centos7-daily-master-trigger'
triggers:
- timed: ''