engine: Create verify jobs for openstack stack
[infra/cicd.git] / jjb / engine / verify-jobs / engine-verify-deploy-test.yaml
index 54a7fa870a1a42386901e7dc41c81c0596022875..7433d6e2b5c2088002ebcfb8e4c32f8e04c98c1b 100644 (file)
@@ -30,8 +30,6 @@
       - 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 +37,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
       - 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/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'
     parameters:
       - label:
           name: SLAVE_LABEL
-          default: 'engine-{slave-type}-{environment-type}-{distro}'
+          default: 'engine-{slave-type}-{environment-type}-{distro}-fra'
           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'
+          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}'
           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
           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'
-          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: "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'
+          name: CI_LOOP
+          default: "verify"
+          description: 'CI loop the job belongs to'
       - project-parameters:
           project: $GERRIT_PROJECT
           branch: '{branch}'
 
     properties:
       - logrotate
-      - throttle:
-          max-per-node: 1
-          max-total: 3
-          option: project
       - build-blocker:
           use-build-blocker: true
           blocking-jobs:
             - 'engine-verify-online-deploy-test-.*'
-            - 'engine-verify-offline-deploy-test-.*'
+            - 'kubernetes-verify-offline-deploy-test-.*'
+            - 'onap-verify-offline-deploy-test-.*'
+            - 'openstack-verify-deploy-test-.*'
           block-level: 'NODE'
+      - throttle:
+          max-per-node: 1
+          max-total: 3
+          option: project
 
     scm:
       - git-scm-gerrit:
           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
-          branch: refs/heads/$GERRIT_BRANCH
+          branch: $GERRIT_BRANCH
           refspec: $GERRIT_REFSPEC
           wipe_workspace: true
           clean_before: false
             - shell: |
                 #!/bin/bash
                 sudo chown -R $USER:$USER $WORKSPACE || exit 1
-                # offline nodes can not resolve Nordix Gerrit
+                # offline nodes can not resolve Nordix Artifactory and Gerrit
                 if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
-                  echo "Info  : Offline deployment. Adding Nordix Gerrit Public IP to /etc/hosts"
+                  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
-                $NORDIX_GERRIT_PUBLIC_IP gerrit.nordix.org
+                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
               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
               node-parameters: true
               kill-phase-on: FAILURE
               abort-all-job: false
+              property-file: $WORKSPACE/change.properties
 
     publishers:
       - postbuildscript:
     scm:
       - git-scm-gerrit:
           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
-          branch: refs/heads/$GERRIT_BRANCH
+          branch: $GERRIT_BRANCH
           refspec: $GERRIT_REFSPEC
           wipe_workspace: true
           clean_before: false
       - fix-workspace-permissions
 
     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'