X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=jjb%2Fiec%2Fiec.yaml;h=335ac1e1fcdf62f621a3ba0ddbba410d3e59d68e;hp=8e2546b215237fc791fa3761a35508386d4b6e9e;hb=191228abb07ce70ee90eeca75f42e5d665c3bfe1;hpb=3fa2500d131a4537a1755e340ceccd4d6ba1a0e7 diff --git a/jjb/iec/iec.yaml b/jjb/iec/iec.yaml index 8e2546b..335ac1e 100644 --- a/jjb/iec/iec.yaml +++ b/jjb/iec/iec.yaml @@ -4,7 +4,9 @@ project-name: 'iec' project: '{project-name}' views: - - project-view + - common-view: + view-name: iec + view-regex: '^{project-name}-(tox|type1|type2)-(verify|fuel|compass)-.*' # ------------------------------- # BRANCH DEFINITIONS # ------------------------------- @@ -15,19 +17,49 @@ disabled: false # ------------------------------- + # INSTALLER DEFINITIONS + # ------------------------------- + installer: + - fuel + - compass + + # ------------------------------- + # OPERATING SYSTEM DEFINITIONS + # ------------------------------- + os: + - ubuntu1604 + - ubuntu1804 + - centos7 + #-------------------------------- + # IEC TYPE DEFINITINONS + # type1 Mcbin embeded board + # type2 Arm Server + # ------------------------------- + iecType: + - type1 + - type2 + # ------------------------------- # 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 + - iecType: type1 + installer: fuel + # ------------------------------- # USECASE DEFINITIONS # ------------------------------- @@ -37,9 +69,46 @@ 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-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}' + - 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}' + - 'iec-{iecType}-destroy-{installer}-{deploy_type}-{os}-daily-{stream}' + - 'iec-{iecType}-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}' + - gerrit-sonar: + sonar-project-file: "" + build-node: centos7-builder-2c-1g + sonar-properties: | + # Required metadata + sonar.projectKey=iec + sonar.projectName=iec + sonar.organization=akraino-edge-stack + + #Source + sonar.sources=. + sonar.exclusions=**/*_test.go,**/vendor/** + + # Language + sonar.language=go + + # Encoding + sonar.build.sourceEncoding=UTF-8 + + # Inclusions + sonar.inclusions=**/**.go + + # Test Execution + sonar.tests=. + sonar.test.inclusions=**/*_test.go + sonar.test.exclusions=**/vendor/** + + # Unit tests + sonar.go.coverage.reportPaths=iec-coverage.xml + sonar.go.tests.reportPaths=iec-tests.xml + + # Importing External Issues + sonar.go.govet.reportPaths=iec-govet.xml + sonar.go.golint.reportPaths=iec-golint.xml + sonar.go.gometalinter.reportPaths=iec-gometalinter.xml + sonar.go.golangci-lint.reportPaths=iec-golangci-lint.xml ############## # PARAMETERS # @@ -67,27 +136,61 @@ 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-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}' disabled: '{obj:disabled}' concurrent: false node: '{slave-label}' @@ -100,15 +203,16 @@ - build-blocker: use-build-blocker: true blocking-jobs: - - '.*-{deploy_type}-daily-.*' - blocking-level: 'NODE' + - '.*-fuel-{deploy_type}-.*' + - '.*-compass-{deploy_type}-.*' + block-level: 'NODE' wrappers: - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO $IEC_TYPE' triggers: - - 'iec-{deploy_type}-daily-{stream}-trigger' + - 'iec-{iecType}-{installer}-{deploy_type}-{os}-daily-{stream}-trigger' parameters: - lf-infra-parameters: @@ -116,33 +220,57 @@ stream: '{stream}' branch: '{branch}' - '{project}-defaults' + - '{installer}-{os}-defaults' - string: name: DEPLOY_SCENARIO default: '{scenario}' + - string: + name: IEC_TYPE + default: '{iecType}' builders: - trigger-builds: - - project: 'iec-deploy-{deploy_type}-daily-{stream}' - current-parameters: false + - project: 'iec-{iecType}-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-{{ iecType }}-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-{iecType}-destroy-{installer}-{deploy_type}-{os}-daily-{stream}' current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO={scenario} + IEC_TYPE={iecType} same-node: true block: true - job-template: - name: 'iec-deploy-{deploy_type}-daily-{stream}' + name: 'iec-{iecType}-deploy-{installer}-{deploy_type}-{os}-daily-{stream}' concurrent: true node: '{slave-label}' - properties: + properties: &properties - throttle: enabled: true max-total: 4 @@ -151,8 +279,10 @@ - build-blocker: use-build-blocker: true blocking-jobs: - - '.*-deploy-{deploy_type}-daily-*' - blocking-level: 'NODE' + - '.*-{iecType}-deploy-{installer}-{deploy_type}-.*' + - '.*-{iecType}-destroy-{installer}-{deploy_type}-.*' + - '.*-{iecType}-install-.*-{installer}-{deploy_type}-.*' + block-level: 'NODE' parameters: - lf-infra-parameters: @@ -160,13 +290,20 @@ stream: '{stream}' branch: '{branch}' - '{project}-defaults' + - '{installer}-{os}-defaults' - string: name: DEPLOY_SCENARIO default: '{scenario}' + - string: + name: IEC_TYPE + default: '{iecType}' + - string: + name: EXTRA_ARGS + default: '-o {os}' - wrappers: + wrappers: &wrappers - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO $IEC_TYPE' scm: &scm - git: @@ -188,44 +325,66 @@ 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-{iecType}-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' + - '{installer}-{os}-defaults' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + - string: + name: IEC_TYPE + default: '{iecType}' + - 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-{iecType}-install-{usecase}-{installer}-{deploy_type}-{os}-daily-{stream}' + concurrent: true + node: '{slave-label}' + properties: *properties parameters: - lf-infra-parameters: @@ -233,11 +392,11 @@ stream: '{stream}' branch: '{branch}' - '{project}-defaults' - - '{usecase}-defaults' + - '{installer}-{os}-defaults' wrappers: - build-name: - name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${deploy_type}' + name: '$BUILD_NUMBER - Usecase: ${usecase} DeployType: ${installer}-${deploy_type}' scm: *scm @@ -245,10 +404,8 @@ - shell: !include-raw-escape: ./iec-{usecase}.sh - publishers: - - email: - recipients: armband@enea.com - - lf-infra-publish + publishers: *publishers + ######################## # trigger macros @@ -258,14 +415,34 @@ # Akraino IEC CI Baremetal Triggers running against master branch # ---------------------------------------------------------------- - trigger: - name: 'iec-fuel-virtual-daily-master-trigger' + name: 'iec-type2-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-type2-fuel-baremetal-ubuntu1604-daily-master-trigger' triggers: - timed: '' - trigger: - name: 'iec-compass-virtual-daily-master-trigger' + name: 'iec-type2-compass-virtual-ubuntu1604-daily-master-trigger' triggers: - timed: '0 13 * * *' +- trigger: + name: 'iec-type2-fuel-virtual-ubuntu1804-daily-master-trigger' + triggers: + - timed: '0 1 * * 2,6' +- trigger: + name: 'iec-type2-fuel-baremetal-ubuntu1804-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'iec-type2-fuel-virtual-centos7-daily-master-trigger' + triggers: + - timed: '0 1 * * 4,7' +- trigger: + name: 'iec-type2-fuel-baremetal-centos7-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'iec-type1-compass-virtual-ubuntu1604-daily-master-trigger' + triggers: + - timed: '0 19 * * *'