Apex: Use CSIT to gate snapshot promotion 01/60801/4
authorTim Rozet <trozet@redhat.com>
Thu, 9 Aug 2018 15:32:44 +0000 (11:32 -0400)
committerTim Rozet <trozet@redhat.com>
Thu, 9 Aug 2018 19:24:36 +0000 (15:24 -0400)
Now that we have CSIT suite passing, we want to use that to gate our
snapshot promotion rather than tempest.

Change-Id: Ifddaf7921da15150a253021ee5ca64ab2fd438ff
Signed-off-by: Tim Rozet <trozet@redhat.com>
jjb/apex/apex-fetch-snap-info.sh [new file with mode: 0755]
jjb/apex/apex-snapshot-create.sh
jjb/apex/apex.yaml
jjb/apex/apex.yaml.j2

diff --git a/jjb/apex/apex-fetch-snap-info.sh b/jjb/apex/apex-fetch-snap-info.sh
new file mode 100755 (executable)
index 0000000..2cfaa59
--- /dev/null
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+##############################################################################
+# Copyright (c) 2018 Tim Rozet (Red Hat) and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+echo "Fetching overcloudrc, ssh key, and node.yaml from deployment..."
+
+SSH_OPTIONS=(-o StrictHostKeyChecking=no -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o LogLevel=error)
+
+tmp_dir=/tmp/csit
+rm -rf ${tmp_dir}
+mkdir -p ${tmp_dir}
+
+# TODO(trozet) remove this after fix goes in for tripleo_inspector to copy these
+pushd ${tmp_dir} > /dev/null
+echo "Copying overcloudrc and ssh key from Undercloud..."
+# Store overcloudrc
+UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
+sudo scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:overcloudrc ./
+# Copy out ssh key of stack from undercloud
+sudo scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:.ssh/id_rsa ./
+sudo chmod 0600 id_rsa
+popd > /dev/null
+
+echo "Gathering introspection information"
+git clone https://gerrit.opnfv.org/gerrit/sdnvpn.git
+pushd sdnvpn/odl-pipeline/lib > /dev/null
+sudo ./tripleo_introspector.sh --out-file ${tmp_dir}/node.yaml
+popd > /dev/null
+sudo rm -rf sdnvpn
+
+sudo chown jenkins-ci:jenkins-ci ${tmp_dir}/*
+
+ls -lrt ${tmp_dir}
+
+echo "Fetch complete"
index b739314..f917208 100644 (file)
@@ -27,22 +27,8 @@ echo
 tmp_dir=$(pwd)/.tmp
 mkdir -p ${tmp_dir}
 
-# TODO(trozet) remove this after fix goes in for tripleo_inspector to copy these
-pushd ${tmp_dir} > /dev/null
-echo "Copying overcloudrc and ssh key from Undercloud..."
-# Store overcloudrc
-UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
-sudo scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:overcloudrc ./
-# Copy out ssh key of stack from undercloud
-sudo scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:.ssh/id_rsa ./
-popd > /dev/null
-
-echo "Gathering introspection information"
-git clone https://gerrit.opnfv.org/gerrit/sdnvpn.git
-pushd sdnvpn/odl-pipeline/lib > /dev/null
-sudo ./tripleo_introspector.sh --out-file ${tmp_dir}/node.yaml
-popd > /dev/null
-sudo rm -rf sdnvpn
+# info should have already been collected in apex-fetch-snap-info so copy it
+cp -r /tmp/csit/* ${tmp_dir}/
 
 echo "Shutting down nodes"
 # Shut down nodes
index 426ca32..8b48fb4 100644 (file)
     os_version:
       - 'pike':
           os_scenario: 'pike'
+          odl_branch: 'stable/carbon'
       - 'queens':
           os_scenario: 'queens'
+          odl_branch: 'stable/oxygen'
       - 'master':
           os_scenario: 'nofeature'
+          odl_branch: 'stable/oxygen'
 
     topology:
       - 'noha'
               git-revision: true
       - apex-builder-{stream}
 
+# snapshot info fetch
+- job-template:
+    name: 'apex-fetch-snap-info'
+
+    disabled: false
+
+    parameters:
+      - '{project}-defaults'
+
+    builders:
+      - shell:
+          !include-raw: ./apex-fetch-snap-info.sh
+
 # snapshot create
 - job-template:
     name: 'apex-create-snapshot'
           name: GS_URL
           default: $GS_BASE{gs-pathname}/{os_version}/{topology}
           description: "User for overriding GS_URL from apex params"
+      - string:
+          name: OS_VERSION
+          default: '{os_version}'
+          description: OpenStack version short name
+      - string:
+          name: ODL_BRANCH
+          default: '{odl_branch}'
+          description: ODL branch being used
 
     properties:
       - build-blocker:
 
     builders:
       - multijob:
-          name: apex-virtual-deploy-test
+          name: apex-virtual-deploy
           condition: SUCCESSFUL
           projects:
-            - name: 'apex-virtual-{stream}'
+            - name: 'apex-deploy-virtual-{stream}'
               current-parameters: true
               predefined-parameters: |
                 DEPLOY_SCENARIO=os-odl-{os_scenario}-{topology}
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                FUNCTEST_SUITE_NAME=tempest_smoke
-                FUNCTEST_MODE=testcase
               node-parameters: true
               kill-phase-on: FAILURE
               abort-all-job: true
               git-revision: true
+      - multijob:
+          name: fetch snapshot info
+          condition: SUCCESSFUL
+          projects:
+            - name: 'apex-fetch-snap-info'
+              current-parameters: true
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+              git-revision: false
+      - multijob:
+          name: csit
+          condition: SUCCESSFUL
+          projects:
+            - name: cperf-apex-csit-master
+              predefined-parameters: |
+                ODL_BRANCH=$ODL_BRANCH
+                RC_FILE_PATH=/tmp/csit/overcloudrc
+                NODE_FILE_PATH=/tmp/csit/node.yaml
+                SSH_KEY_PATH=/tmp/csit/id_rsa
+                ODL_CONTAINERIZED=true
+                OS_VERSION=$OS_VERSION
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: false
       - multijob:
           name: create snapshot
           condition: SUCCESSFUL
index d721200..10ad5fb 100644 (file)
     os_version:
       - 'pike':
           os_scenario: 'pike'
+          odl_branch: 'stable/carbon'
       - 'queens':
           os_scenario: 'queens'
+          odl_branch: 'stable/oxygen'
       - 'master':
           os_scenario: 'nofeature'
+          odl_branch: 'stable/oxygen'
 
     topology:
       - 'noha'
               git-revision: true
       - apex-builder-{stream}
 
+# snapshot info fetch
+- job-template:
+    name: 'apex-fetch-snap-info'
+
+    disabled: false
+
+    parameters:
+      - '{project}-defaults'
+
+    builders:
+      - shell:
+          !include-raw: ./apex-fetch-snap-info.sh
+
 # snapshot create
 - job-template:
     name: 'apex-create-snapshot'
           name: GS_URL
           default: $GS_BASE{gs-pathname}/{os_version}/{topology}
           description: "User for overriding GS_URL from apex params"
+      - string:
+          name: OS_VERSION
+          default: '{os_version}'
+          description: OpenStack version short name
+      - string:
+          name: ODL_BRANCH
+          default: '{odl_branch}'
+          description: ODL branch being used
 
     properties:
       - build-blocker:
 
     builders:
       - multijob:
-          name: apex-virtual-deploy-test
+          name: apex-virtual-deploy
           condition: SUCCESSFUL
           projects:
-            - name: 'apex-virtual-{stream}'
+            - name: 'apex-deploy-virtual-{stream}'
               current-parameters: true
               predefined-parameters: |
                 DEPLOY_SCENARIO=os-odl-{os_scenario}-{topology}
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                FUNCTEST_SUITE_NAME=tempest_smoke
-                FUNCTEST_MODE=testcase
               node-parameters: true
               kill-phase-on: FAILURE
               abort-all-job: true
               git-revision: true
+      - multijob:
+          name: fetch snapshot info
+          condition: SUCCESSFUL
+          projects:
+            - name: 'apex-fetch-snap-info'
+              current-parameters: true
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+              git-revision: false
+      - multijob:
+          name: csit
+          condition: SUCCESSFUL
+          projects:
+            - name: cperf-apex-csit-master
+              predefined-parameters: |
+                ODL_BRANCH=$ODL_BRANCH
+                RC_FILE_PATH=/tmp/csit/overcloudrc
+                NODE_FILE_PATH=/tmp/csit/node.yaml
+                SSH_KEY_PATH=/tmp/csit/id_rsa
+                ODL_CONTAINERIZED=true
+                OS_VERSION=$OS_VERSION
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: false
       - multijob:
           name: create snapshot
           condition: SUCCESSFUL