--- - project: name: 'iec' project-name: 'iec' project: '{project-name}' views: - common-view: view-name: iec view-regex: '^{project-name}-(tox|fuel|compass)-.*' # ------------------------------- # BRANCH DEFINITIONS # ------------------------------- stream: - master: branch: '{stream}' gs-pathname: '' disabled: false # ------------------------------- # INSTALLER DEFINITIONS # ------------------------------- installer: - fuel - compass # ------------------------------- # OPERATING SYSTEM DEFINITIONS # ------------------------------- os: - ubuntu1604 - ubuntu1804 - centos7 # ------------------------------- # DEPLOY TYPE DEFINITIONS # ------------------------------- deploy_type: - baremetal: slave-label: 'aarch64_dev' scenario: 'k8-calico-iec-noha' - 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-{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 # ############## - parameter: name: 'iec-defaults' parameters: - string: name: INSTALLER_IP default: '10.20.0.2' description: 'IP of the installer' - string: name: SSH_KEY default: '/var/lib/opnfv/mcp.rsa' description: 'Path to private SSH key to access environment nodes' - string: name: EXTERNAL_NETWORK default: 'floating_net' description: 'external network for test' - string: name: CI_DEBUG default: 'false' 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: 'fuel-ubuntu1604-defaults' parameters: - 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: &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: '/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-{installer}-{deploy_type}-{os}-daily-{stream}' disabled: '{obj:disabled}' concurrent: false node: '{slave-label}' properties: - throttle: enabled: true max-total: 4 max-per-node: 1 option: 'project' - build-blocker: use-build-blocker: true blocking-jobs: - '.*-fuel-{deploy_type}-.*' - '.*-compass-{deploy_type}-.*' blocking-level: 'NODE' wrappers: - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' triggers: - 'iec-{installer}-{deploy_type}-{os}-daily-{stream}-trigger' parameters: - lf-infra-parameters: project: '{project}' stream: '{stream}' branch: '{branch}' - '{project}-defaults' - '{installer}-{os}-defaults' - string: name: DEPLOY_SCENARIO default: '{scenario}' builders: - trigger-builds: - 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 }}-{{ 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-{installer}-{deploy_type}-{os}-daily-{stream}' concurrent: true node: '{slave-label}' properties: &properties - throttle: enabled: true max-total: 4 max-per-node: 1 option: 'project' - build-blocker: use-build-blocker: true blocking-jobs: - '.*-deploy-{installer}-{deploy_type}-.*' - '.*-destroy-{installer}-{deploy_type}-.*' - '.*-install-.*-{installer}-{deploy_type}-.*' blocking-level: 'NODE' parameters: - lf-infra-parameters: project: '{project}' stream: '{stream}' branch: '{branch}' - '{project}-defaults' - '{installer}-{os}-defaults' - string: name: DEPLOY_SCENARIO default: '{scenario}' - string: name: EXTRA_ARGS default: '-o {os}' wrappers: &wrappers - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' scm: &scm - git: credentials-id: '{jenkins-ssh-credential}' url: '{git-url}/{project}.git' refspec: '' branches: - 'refs/heads/{branch}' skip-tag: true wipe-workspace: true submodule: disable: true recursive: false timeout: '{submodule-timeout}' choosing-strategy: default builders: - 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 - 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' - '{installer}-{os}-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' - '{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 ######################## # CI PODs # ---------------------------------------------------------------- # Akraino IEC CI Baremetal Triggers running against master branch # ---------------------------------------------------------------- - 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 * * 4,7' - trigger: name: 'iec-fuel-baremetal-centos7-daily-master-trigger' triggers: - timed: ''