X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=jjb%2Fiec%2Fiec.yaml;h=1c4a758cbb7ebe62f3dddeb915d477b6a4864211;hp=b1d7d593d40ce9ba34225ba5c1dee74c2a8029fc;hb=1a7ff41ae49bc54b5250706d34018de081d57829;hpb=fddf42615e5008e828fad523cfd6aaaa28c15adf diff --git a/jjb/iec/iec.yaml b/jjb/iec/iec.yaml index b1d7d59..1c4a758 100644 --- a/jjb/iec/iec.yaml +++ b/jjb/iec/iec.yaml @@ -1,6 +1,352 @@ --- - project: - name: iec-project-view - project-name: iec + name: 'iec' + project-name: 'iec' + project: '{project-name}' views: - project-view + # ------------------------------- + # 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. +- parameter: + name: 'seba_on_arm-defaults' + parameters: + - string: + name: K8S_SSH_USER + default: 'ubuntu' + description: 'SSH username to connect to the K8s master ' + - string: + name: K8S_SSH_PASSWORD + default: '' + description: 'SSH password to connect to the K8s master' + - string: + 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-{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' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + + builders: + - trigger-builds: + - 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: + 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' + - 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' + - 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}-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: ''