X-Git-Url: https://gerrit.nordix.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=jjb%2Fengine%2Fverify-jobs%2Fengine-verify-deploy-test.yaml;h=54a7fa870a1a42386901e7dc41c81c0596022875;hb=e4628f6f82b04a63b6238b96ab52263ec35fe20c;hp=0f2eb870a16afca6fed30274938dabf371fe5d20;hpb=549e1d65dfa18caca34a3bb49e5ec3d3cf1f6d29;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 0f2eb870..54a7fa87 100644 --- a/jjb/engine/verify-jobs/engine-verify-deploy-test.yaml +++ b/jjb/engine/verify-jobs/engine-verify-deploy-test.yaml @@ -54,11 +54,11 @@ - 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|infra/installer/kolla|infra/installer/kubespray' - 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|infra/installer/kubespray' distro: - ubuntu1804 @@ -67,6 +67,9 @@ - city: openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap' + 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}' - 'engine-verify-{environment-type}-{phase}-{distro}-{cloud}-{type}-{stream}' @@ -83,8 +86,12 @@ parameters: - label: name: SLAVE_LABEL - default: 'engine-{slave-type}-online-{distro}' + default: 'engine-{slave-type}-{environment-type}-{distro}' description: 'Slave label to schedule this job on.' + - string: + name: ENGINE_REPO_URL + default: 'https://gerrit.nordix.org/infra/engine.git' + description: 'URL to Nordix Cloud Infra engine repository' - string: name: EXECUTION_MODE default: '{execution-mode}' @@ -149,6 +156,10 @@ name: VERBOSITY default: 'true' description: 'Verbosity setting for the engine - true or false - default is false' + - string: + name: NORDIX_GERRIT_PUBLIC_IP + default: '91.106.198.142' + description: 'Public IP of Nordix Gerrit. Offline deployments can not resolve domain name' - string: name: NORDIX_ARM_PUBLIC_IP default: '91.106.198.25' @@ -163,7 +174,11 @@ 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" + default: "k8s-installer-ubuntu1804.bsx" + description: 'Artifact to download' + - string: + name: NORDIX_ARTIFACT_URL + default: "$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/gerrit/$GERRIT_CHANGE_NUMBER" description: 'Artifact to download' - project-parameters: project: $GERRIT_PROJECT @@ -177,27 +192,17 @@ 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 + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'engine-verify-online-deploy-test-.*' + - 'engine-verify-offline-deploy-test-.*' + block-level: 'NODE' scm: - git-scm-gerrit: ssh-credentials-id: nordixinfra-nordix-gerrit-ssh - branch: '{branch}' + branch: refs/heads/$GERRIT_BRANCH refspec: $GERRIT_REFSPEC wipe_workspace: true clean_before: false @@ -232,7 +237,46 @@ 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 Gerrit + if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then + echo "Info : Offline deployment. Adding Nordix 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 + $NORDIX_GERRIT_PUBLIC_IP gerrit.nordix.org + # managed by engine + EOF" + fi builders: - multijob: @@ -286,6 +330,14 @@ max-total: 3 option: project + scm: + - git-scm-gerrit: + ssh-credentials-id: nordixinfra-nordix-gerrit-ssh + branch: refs/heads/$GERRIT_BRANCH + refspec: $GERRIT_REFSPEC + wipe_workspace: true + clean_before: false + wrappers: - build-timeout: timeout: 180 @@ -300,15 +352,14 @@ - 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: + - shell: | + #!/bin/bash + if [[ "$EXECUTION_MODE" == "offline-deployment" && "$PROVISIONER_TYPE" == "heat" ]]; then + echo "Info : Offline deployment and testing on cloud instances is not currently supported!" + exit 0 + fi + - 'generate-sdf-for-change-macro' - 'generate-ssh-keypair-macro' - 'wait-pkg-mgr-macro' - 'download-artifact-macro'