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
}
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}
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
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
- 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}'
builders:
- shell: |
cd $WORKSPACE && tox
+ cd $WORKSPACE/nfvbenchvm/dib
+ bash verify-image.sh -v
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
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
determine_default_scenario
else
determine_scenario
+ override_xci_flavor
fi
override_scenario