X-Git-Url: https://gerrit.nordix.org/gitweb?a=blobdiff_plain;f=jjb%2Fengine%2Fverify-jobs%2Fengine-verify-deploy-test.yaml;h=7834f1b09b99b94a12ad9ca317c9bb30ca158fea;hb=5db1c8f0c5590b4030dc33ee259927782dabae6b;hp=e0a47b0a790d7fb0e657b763e6f21f665276537c;hpb=4a7b8bbfa2bcfb080107108e32abd43dd8e6cfe6;p=infra%2Fcicd.git diff --git a/jjb/engine/verify-jobs/engine-verify-deploy-test.yaml b/jjb/engine/verify-jobs/engine-verify-deploy-test.yaml index e0a47b0a..7834f1b0 100644 --- a/jjb/engine/verify-jobs/engine-verify-deploy-test.yaml +++ b/jjb/engine/verify-jobs/engine-verify-deploy-test.yaml @@ -25,13 +25,12 @@ stream: - 'master': branch: '{stream}' + deploy-scenario: 'k8-multus-plugins' environment-type: - online: disabled: false execution-mode: online-deployment - pdf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml' - idf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml' successful: false failed: false unstable: false @@ -39,8 +38,6 @@ - offline: disabled: false execution-mode: offline-deployment - pdf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-pdf.yml' - idf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-idf.yml' successful: false failed: false unstable: false @@ -54,18 +51,25 @@ - virtual: provisioner-type: 'bifrost' slave-type: 'vpod' - gated-projects: 'infra\/engine|infra\/provisioner\/bifrost\/|infra\/installer\/kolla\/|infra\/installer\/kubespray\/' + gated-projects: 'infra/engine|infra/provisioner/bifrost' + pdf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml' + idf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml' - cloud: provisioner-type: 'heat' slave-type: 'jumphost' - gated-projects: 'infra\/engine|infra\/provisioner\/heat\/|infra\/installer\/kolla\/|infra\/installer\/kubespray\/' + gated-projects: 'infra/engine|infra/provisioner/heat' + pdf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-environment-city-ubuntu1804.yaml" + idf: "https://gerrit.nordix.org/gitweb?p=infra/provisioner/heat.git;a=blob_plain;f=playbooks/roles/create-stack/files/heat-idf.yaml" distro: - ubuntu1804 cloud: - city: - openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap' + openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' + + dependency-jobs: 'engine-verify-package-{distro}-{stream}' + dependency-job-var: 'TRIGGER_engine_verify_package_{distro}_{stream}_BUILD_RESULT' jobs: - 'engine-verify-{environment-type}-deploy-test-{distro}-{cloud}-{type}-{stream}' @@ -81,30 +85,26 @@ concurrent: true parameters: - - project-parameters: - project: $GERRIT_PROJECT - branch: '{branch}' - description: 'The project and branch which the change is proposed for' + - string: + name: DEPLOY_SCENARIO + default: '{deploy-scenario}' + description: 'Scenario to test change with.' + - string: + name: DISTRO + default: '{distro}' + description: 'Distribution to use for configuring target nodes (networking etc.)' - label: name: SLAVE_LABEL - default: 'engine-{slave-type}-online-{distro}' + default: 'engine-{slave-type}-{environment-type}-{distro}-fra' description: 'Slave label to schedule this job on.' + - string: + name: HW_TYPE + default: '{type}' + description: 'Hardware type - could be virtual, cloud, or baremetal' - string: name: EXECUTION_MODE default: '{execution-mode}' description: 'Execution mode to run in' - - string: - name: PROVISIONER_TYPE - default: '{provisioner-type}' - description: 'Provisioner type to use' - - string: - name: INSTALLER_TYPE - default: 'kubespray' - description: 'Installer type to use' - - string: - name: DEPLOY_SCENARIO - default: 'k8-calico-nofeature' - description: 'Scenario to deploy' - string: name: PDF default: '{pdf}' @@ -118,12 +118,12 @@ default: 'heat-environment-{cloud}-{distro}.yaml' description: 'Name of heat-environment file to use.' - string: - name: STACK_NAME - default: "nordix-cicd-verify-engine-online-{distro}-$GERRIT_CHANGE_NUMBER" + name: HEAT_STACK_NAME + default: "nordix-cicd-verify-engine-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER" description: 'Name of the created stack' - string: name: KEYPAIR_NAME - default: "keypair-nordix-cicd-verify-engine-online-{distro}-$GERRIT_CHANGE_NUMBER" + default: "keypair-nordix-cicd-verify-engine-{environment-type}-{distro}-$GERRIT_CHANGE_NUMBER" description: 'Name of the created keypair' - string: name: USE_PREBUILT_DEPLOYMENT_IMAGE @@ -154,49 +154,30 @@ default: 'true' description: 'Verbosity setting for the engine - true or false - default is false' - string: - name: NORDIX_ARM_PUBLIC_IP - default: '91.106.198.25' - description: 'Public IP of Nordix Artifactory. Offline deployments can not resolve domain name' - - string: - name: NORDIX_ARM_HTTPS_URL - default: 'https://artifactory.nordix.org/artifactory' - description: 'URL to Nordix Artifactory' - - string: - name: NORDIX_ARM_REPO - default: 'nordix-kubernetes' - description: 'Name of the repository to upload and download artifact to/from. Depends on the stack' - - string: - name: ARTIFACT_TO_DOWNLOAD - default: "https://artifactory.nordix.org/artifactory/nordix-kubernetes/installer/oss/gerrit/$GERRIT_CHANGE_ID/k8s-installer-ubuntu1804.bsx" - description: 'Artifact to download' + name: CI_LOOP + default: "verify" + description: 'CI loop the job belongs to' + - project-parameters: + project: $GERRIT_PROJECT + branch: '{branch}' + description: 'The project and branch which the change is proposed for' + - nordix-gerrit-parameters properties: - logrotate + # NOTE (fdegir): throttle categories are controlled in jenkins global configuration - throttle: + enabled: true max-per-node: 1 - max-total: 3 - option: project - - wrappers: - - build-timeout: - timeout: 180 - - credentials-binding: - - file: - credential-id: '{openrc-credentials-file}' - variable: OPENRC_FILE - - username-password-separated: - credential-id: 'nordix-cicd-arm-credentials' - username: NORDIX_ARM_USERNAME - password: NORDIX_ARM_TOKEN - - mask-passwords - - fix-workspace-permissions - - openstack: - single-use: True + max-total: 8 + option: category + categories: + - engine-verify-deploy-test scm: - git-scm-gerrit: ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{branch}' + branch: $GERRIT_BRANCH refspec: $GERRIT_REFSPEC wipe_workspace: true clean_before: false @@ -231,9 +212,53 @@ notbuilt: '{obj:notbuilt}' custom-url: '* $JOB_NAME $BUILD_URL' readable-message: 'true' - dependency-jobs: 'engine-verify-tox-{stream},engine-verify-package-{distro}-{stream}' + dependency-jobs: '{dependency-jobs}' + + wrappers: + - build-timeout: + timeout: 180 + - credentials-binding: + - file: + credential-id: '{openrc-credentials-file}' + variable: OPENRC_FILE + - username-password-separated: + credential-id: 'nordix-cicd-arm-credentials' + username: NORDIX_ARM_USERNAME + password: NORDIX_ARM_TOKEN + - mask-passwords + - openstack: + single-use: True + - pre-scm-buildstep: + failOnError: true + buildsteps: + - system-groovy: + command: | + def build = this.getProperty('binding').getVariable('build') + def listener = this.getProperty('binding').getVariable('listener') + if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{ + println "WARN : Aborting build since dependent job did not succeed!" + throw new InterruptedException() + }} + - shell: | + #!/bin/bash + sudo chown -R $USER:$USER $WORKSPACE || exit 1 + # offline nodes can not resolve Nordix Artifactory and Gerrit + if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then + echo "Info : Offline deployment. Adding City OpenStack Endpoint, Nordix Artifactory and Gerrit Public IP to /etc/hosts" + sudo sed -i 's/^search/# search/' /etc/resolv.conf + sudo bash -c "cat << EOF >> /etc/hosts + # managed by engine + 91.106.198.25 artifactory.nordix.org + 91.106.198.142 gerrit.nordix.org + 86.107.242.50 fra1.citycloud.com + # managed by engine + EOF" + # we need to get rid of search domain as well + sudo sed -i 's/^search/# search/' /etc/resolv.conf + fi builders: + - 'generate-change-metadata-macro' - multijob: name: "{environment-type} deployment on {type} instances" condition: SUCCESSFUL @@ -245,6 +270,7 @@ node-parameters: true kill-phase-on: FAILURE abort-all-job: false + property-file: $WORKSPACE/change.properties - multijob: name: "{environment-type} testing on {type} instances" condition: SUCCESSFUL @@ -256,6 +282,7 @@ node-parameters: true kill-phase-on: FAILURE abort-all-job: false + property-file: $WORKSPACE/change.properties publishers: - postbuildscript: @@ -285,6 +312,14 @@ max-total: 3 option: project + scm: + - git-scm-gerrit: + ssh-credentials-id: nordixinfra-nordix-gerrit-ssh + branch: $GERRIT_BRANCH + refspec: $GERRIT_REFSPEC + wipe_workspace: true + clean_before: false + wrappers: - build-timeout: timeout: 180 @@ -299,14 +334,6 @@ - mask-passwords - fix-workspace-permissions - scm: - - git-scm-gerrit: - ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{branch}' - refspec: $GERRIT_REFSPEC - wipe_workspace: true - clean_before: false - builders: - 'generate-ssh-keypair-macro' - 'wait-pkg-mgr-macro'