Merge "Update to Hunter"
authorCedric Ollivier <cedric.ollivier@orange.com>
Fri, 14 Jun 2019 13:01:33 +0000 (13:01 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 14 Jun 2019 13:01:33 +0000 (13:01 +0000)
jjb/dovetail/dovetail-run.sh
jjb/functest/functest-alpine.sh
jjb/functest/functest.yaml
jjb/nfvbench/nfvbench.yaml
jjb/releng/releng-release-create-venv.sh
jjb/xci/xci-set-scenario.sh

index ef11fc1..0440c4b 100755 (executable)
@@ -206,13 +206,13 @@ get_fuel_baremetal_pod_file() {
 
     cat << EOF >${POD}
 nodes:
-- {ip: ${INSTALLER_IP}, name: node0, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+- {ip: ${INSTALLER_IP}, name: node0, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
    role: Jumpserver, user: ${ssh_user}}
-- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+- {ip: ${fuel_ctl_ip}, name: node1, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
    role: controller, user: ${ssh_user}, ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
-- {ip: ${fuel_msg_ip}, name: msg01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_msg_ip}, name: msg01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
 EOF
 }
 
@@ -241,7 +241,7 @@ get_pod_file_with_scripts() {
 
     cmd="sudo python ${releng_repo}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
          -i ${INSTALLER_IP} ${options} -f ${POD} \
-         -s /home/opnfv/userconfig/pre_config/id_rsa"
+         -s ${DOVETAIL_CONFIG}/id_rsa"
     echo "INFO: cmd is ${cmd}"
     ${cmd}
 
index 9961f71..37189f8 100755 (executable)
@@ -114,7 +114,7 @@ if [ "${INSTALLER_TYPE}" == 'fuel' ]; then
     COMPUTE_ARCH=$(ssh -l ubuntu ${INSTALLER_IP} -i ${SSH_KEY} ${ssh_options} \
         "sudo salt 'cmp*' grains.get cpuarch --out yaml | awk '{print \$2; exit}'")
     IMAGE_PROPERTIES="hw_disk_bus:scsi,hw_scsi_model:virtio-scsi"
-    envs="${envs} -e POD_ARCH=${COMPUTE_ARCH}"
+    envs="${envs} -e POD_ARCH=${COMPUTE_ARCH} -e BLOCK_MIGRATION=false"
 fi
 
 if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_SCENARIO} == 'os-nosdn-nofeature-noha' ]]; then
index 4a60c64..8fe3659 100644 (file)
           else
             image={repo}:{port}/{container}:{tag}
           fi
+          if [ "{tag}" = "latest" ]; then
+            py=3.6
+          else
+            py=2.7
+          fi
           sudo docker run --rm \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
             -e DEBUG=True \
             -e EXTERNAL_NETWORK=public \
             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
-            -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python2.7/\
+            -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
           site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
+            -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
+          site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml \
             $image run_tests -t {test}
           res=$?
           gsutil -m cp -r $WORKSPACE/ \
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-healthcheck:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-smoke:{tag}
-          execution-type: PARALLEL
-          condition: SUCCESSFUL
           projects:
             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-benchmarking:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-vnf:{tag}
           execution-type: SEQUENTIALLY
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-features:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-healthcheck:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-smoke:{tag}
-          execution-type: PARALLEL
-          condition: SUCCESSFUL
           projects:
             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-benchmarking:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-vnf:{tag}
           execution-type: SEQUENTIALLY
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-features:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-healthcheck:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-smoke:{tag}
-          execution-type: PARALLEL
-          condition: SUCCESSFUL
           projects:
             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-benchmarking:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-vnf:{tag}
           execution-type: SEQUENTIALLY
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
               <<: *functest-jobs
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-features:{tag}
-          execution-type: PARALLEL
-          condition: ALWAYS
           projects:
             - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
               <<: *functest-jobs
index ec6776f..a9efb27 100644 (file)
@@ -44,8 +44,7 @@
       - gerrit:
           server-name: 'gerrit.opnfv.org'
           trigger-on:
-            - comment-added-contains-event:
-                comment-contains-value: 'buildvm'
+            - change-merged-event
           projects:
             - project-compare-type: 'ANT'
               project-pattern: '{project}'
@@ -96,3 +95,5 @@
     builders:
       - shell: |
           cd $WORKSPACE && tox
+          cd $WORKSPACE/nfvbenchvm/dib
+          bash verify-image.sh -v
index de585fd..0200376 100644 (file)
@@ -11,7 +11,8 @@ set -e -o pipefail
 echo "---> Create virtualenv"
 
 sudo -H pip install virtualenv
-virtualenv $WORKSPACE/venv
+virtualenv -p /usr/bin/python3 $WORKSPACE/venv
+
 # shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091
 source $WORKSPACE/venv/bin/activate
 pip install --upgrade pip
index 59c1ebf..2c35f27 100755 (executable)
@@ -153,6 +153,45 @@ function determine_scenario() {
     SCENARIO_SHA=$(cd $WORK_DIRECTORY/$GERRIT_PROJECT && git rev-parse HEAD)
 }
 
+# This function allows developers to specify the specific XCI flavor for the
+# impacted scenario by adding the XCI Flavor info about the specific scenario.
+# This results in either skipping the real verification
+# totally or skipping the determining the installer and scenario programmatically.
+# It is important to note that this feature is only available to generic scenarios
+# and only single installer/scenario pair is allowed.
+# The input in commit message should be placed at the end of the commit message body,
+# before the signed-off and change-id lines.
+#
+# Pattern to be searched in Commit Message
+#   xci-flavor:<xci-flavor>
+# Examples:
+#   xci-flavor:noha
+function override_xci_flavor() {
+    echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
+
+    # process commit message for XCI Flavor
+    if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "xci-flavor:" ]]; then
+        XCI_FLAVOR=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/xci-flavor:/' RS=" " | cut -d":" -f2)
+
+        if [[ -z "$XCI_FLAVOR" ]]; then
+            XCI_FLAVOR='mini'
+            echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+            echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+            exit 0
+        else
+            echo "Recording the XCI flavor '$XCI_FLAVOR' for downstream jobs"
+            echo "XCI_FLAVOR=$XCI_FLAVOR" >> $WORK_DIRECTORY/scenario.properties
+            exit 0
+        fi
+    else
+        XCI_FLAVOR='mini'
+        echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+        echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+        exit 0
+    fi
+
+}
+
 echo "Determining the impacted scenario"
 
 declare -a DEPLOY_SCENARIO
@@ -169,6 +208,7 @@ if [[ $GERRIT_PROJECT == "releng-xci" ]]; then
     determine_default_scenario
 else
     determine_scenario
+    override_xci_flavor
 fi
 override_scenario