From: Sam Hague Date: Fri, 6 Jul 2018 12:39:47 +0000 (+0000) Subject: Merge "'Update validate autorelease projects for fluorine" X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=250e2e71f59986f97dec083cb957eff2ef0c7e36;hp=ccd337dab66e928c937ca32f381ca1cd27c28d7b;p=releng%2Fbuilder.git Merge "'Update validate autorelease projects for fluorine" --- diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml index 1200269da..bbdf8b455 100644 --- a/jjb/defaults.yaml +++ b/jjb/defaults.yaml @@ -3,8 +3,12 @@ - defaults: name: global + functionality: global + stream: global prefix: '' # A prefix for job names sandbox for example: user- + testplan: '{project}-{functionality}.txt' + streamtestplan: '{project}-{functionality}-{stream}.txt' karaf-version: karaf4 build-days-to-keep: 30 use-features-boot: 'True' @@ -75,7 +79,6 @@ sm-features: '' # CSIT images configuration - openstack_system_image_ocata: ZZCI - CentOS 7 - devstack-ocata - 20171208-1649 openstack_system_image_pike: ZZCI - CentOS 7 - devstack-pike - 20171208-1649 stack-template: csit-2-instance-type.yaml docker_system_count: 1 diff --git a/jjb/genius/genius-patch-test.yaml b/jjb/genius/genius-patch-test.yaml index b9f22ec4c..c8b6ef330 100644 --- a/jjb/genius/genius-patch-test.yaml +++ b/jjb/genius/genius-patch-test.yaml @@ -25,6 +25,10 @@ csit-list: > netvirt-csit-3node-openstack-{os-branch}-gate-stateful-{stream} + - netvirt-itm-direct-tunnels: + csit-list: > + netvirt-csit-1node-openstack-{os-branch}-gate-stateful-itm-direct-tunnels-{stream} + - genius: csit-list: > genius-csit-1node-gate-all-{stream} diff --git a/jjb/groupbasedpolicy/groupbasedpolicy-csit-1node-openstack.yaml b/jjb/groupbasedpolicy/groupbasedpolicy-csit-1node-openstack.yaml index 8b4b54639..57d8b73a6 100644 --- a/jjb/groupbasedpolicy/groupbasedpolicy-csit-1node-openstack.yaml +++ b/jjb/groupbasedpolicy/groupbasedpolicy-csit-1node-openstack.yaml @@ -27,9 +27,9 @@ install-features: 'odl-groupbasedpolicy-neutron-and-ofoverlay,odl-restconf' openstack: - - ocata: - openstack-branch: 'stable/ocata' - odl-ml2-branch: 'stable/ocata' + - pike: + openstack-branch: 'stable/pike' + odl-ml2-branch: 'stable/pike' public-bridge: 'br-int' diff --git a/jjb/integration/common-functions.sh b/jjb/integration/common-functions.sh index 051377f03..d419d8655 100644 --- a/jjb/integration/common-functions.sh +++ b/jjb/integration/common-functions.sh @@ -55,6 +55,7 @@ function set_java_vars() { echo "Set JAVA_HOME" export JAVA_HOME="${java_home}" + # shellcheck disable=SC2037 JAVA_RESOLVED=$(readlink -e "${java_home}/bin/java") echo "Java binary pointed at by JAVA_HOME: ${JAVA_RESOLVED}" @@ -275,7 +276,7 @@ EOF ssh ${!CONTROLLERIP} "sudo ps aux" > ${WORKSPACE}/ps_after.log pid=$(grep org.apache.karaf.main.Main ${WORKSPACE}/ps_after.log | grep -v grep | tr -s ' ' | cut -f2 -d' ') echo "karaf main: org.apache.karaf.main.Main, pid:${pid}" - ssh ${!CONTROLLERIP} "jstack ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_after.log || true + ssh ${!CONTROLLERIP} "${JAVA_HOME}/bin/jstack -l ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_after.log || true echo "killing karaf process..." ${SSH} "${!CONTROLLERIP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh' ${SSH} ${!CONTROLLERIP} "sudo journalctl > /tmp/journalctl.log" diff --git a/jjb/integration/integration-deploy-controller-run-test.sh b/jjb/integration/integration-deploy-controller-run-test.sh index 021161e61..83e5adb9f 100644 --- a/jjb/integration/integration-deploy-controller-run-test.sh +++ b/jjb/integration/integration-deploy-controller-run-test.sh @@ -271,7 +271,7 @@ do ssh ${!CONTROLLERIP} "sudo ps aux" > ${WORKSPACE}/ps_before.log pid=$(grep org.apache.karaf.main.Main ${WORKSPACE}/ps_before.log | grep -v grep | tr -s ' ' | cut -f2 -d' ') echo "karaf main: org.apache.karaf.main.Main, pid:${pid}" - ssh ${!CONTROLLERIP} "jstack ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_before.log || true + ssh ${!CONTROLLERIP} "${JAVA_HOME}/bin/jstack -l ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_before.log || true done if [ ${NUM_OPENSTACK_SYSTEM} -gt 0 ]; then @@ -360,7 +360,7 @@ do ssh ${!CONTROLLERIP} "sudo ps aux" > ${WORKSPACE}/ps_after.log pid=$(grep org.apache.karaf.main.Main ${WORKSPACE}/ps_after.log | grep -v grep | tr -s ' ' | cut -f2 -d' ') echo "karaf main: org.apache.karaf.main.Main, pid:${pid}" - ssh ${!CONTROLLERIP} "jstack ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_after.log || true + ssh ${!CONTROLLERIP} "${JAVA_HOME}/bin/jstack -l ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_after.log || true echo "Killing ODL" set +e # We do not want to create red dot just because something went wrong while fetching logs. ssh "${!CONTROLLERIP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh' diff --git a/jjb/integration/integration-start-cluster-run-test.sh b/jjb/integration/integration-start-cluster-run-test.sh index 8a548b938..e11908bb6 100644 --- a/jjb/integration/integration-start-cluster-run-test.sh +++ b/jjb/integration/integration-start-cluster-run-test.sh @@ -92,7 +92,7 @@ do ssh ${!CONTROLLERIP} "sudo ps aux" > ${WORKSPACE}/ps_before.log pid=$(grep org.apache.karaf.main.Main ${WORKSPACE}/ps_before.log | grep -v grep | tr -s ' ' | cut -f2 -d' ') echo "karaf main: org.apache.karaf.main.Main, pid:${pid}" - ssh ${!CONTROLLERIP} "jstack ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_before.log || true + ssh ${!CONTROLLERIP} "${JAVA_HOME}/bin/jstack -l ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_before.log || true done echo "Generating mininet variables..." @@ -175,7 +175,7 @@ do ssh ${!CONTROLLERIP} "sudo ps aux" > ${WORKSPACE}/ps_after.log pid=$(grep org.apache.karaf.main.Main ${WORKSPACE}/ps_after.log | grep -v grep | tr -s ' ' | cut -f2 -d' ') echo "karaf main: org.apache.karaf.main.Main, pid:${pid}" - ssh ${!CONTROLLERIP} "jstack ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_after.log || true + ssh ${!CONTROLLERIP} "${JAVA_HOME}/bin/jstack -l ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_after.log || true echo "killing karaf process..." ssh "${!CONTROLLERIP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh' done diff --git a/jjb/integration/integration-templates.yaml b/jjb/integration/integration-templates.yaml index c7634c551..dcd3a29df 100644 --- a/jjb/integration/integration-templates.yaml +++ b/jjb/integration/integration-templates.yaml @@ -157,9 +157,9 @@ - integration-test-options: test-options: '{robot-options}' - integration-stream-test-plan: - stream-test-plan: '{project}-{functionality}-{stream}.txt' + stream-test-plan: '{streamtestplan}' - integration-test-plan: - test-plan: '{project}-{functionality}.txt' + test-plan: '{testplan}' - integration-test-suites: test-suites: '{test-suites}' - integration-patch-refspec: @@ -491,9 +491,9 @@ - integration-test-options: test-options: '{robot-options}' - integration-stream-test-plan: - stream-test-plan: '{project}-{functionality}-{stream}.txt' + stream-test-plan: '{streamtestplan}' - integration-test-plan: - test-plan: '{project}-{functionality}.txt' + test-plan: '{testplan}' - integration-test-suites: test-suites: '{test-suites}' - integration-patch-refspec: diff --git a/jjb/integration/integration-test-jobs.yaml b/jjb/integration/integration-test-jobs.yaml index b0cee6bb8..da4fb8f3d 100644 --- a/jjb/integration/integration-test-jobs.yaml +++ b/jjb/integration/integration-test-jobs.yaml @@ -22,16 +22,16 @@ mvn-version: 'mvn35' csit-list: !include: csit-jobs-fluorine.lst build-order: > - infrautils mdsal controller aaa netconf daexim bgpcep ovsdb neutron - lispflowmapping openflowplugin coe genius sfc netvirt + odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep + ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt - oxygen: branch: 'stable/oxygen' mvn-version: 'mvn35' csit-list: !include: csit-jobs-oxygen.lst build-order: > - infrautils mdsal controller aaa netconf daexim bgpcep ovsdb neutron - lispflowmapping openflowplugin coe genius sfc netvirt + odlparent yangtools infrautils mdsal controller aaa netconf daexim bgpcep + ovsdb neutron lispflowmapping openflowplugin coe genius sfc netvirt - project: name: integration-distribution diff --git a/jjb/integration/multipatch-distribution.sh b/jjb/integration/multipatch-distribution.sh index cd7fbbeb6..eb61446ec 100755 --- a/jjb/integration/multipatch-distribution.sh +++ b/jjb/integration/multipatch-distribution.sh @@ -2,14 +2,6 @@ set -e -# TODO: 1) clean up inline todo's below :) -# TODO: 2) Use just a topic branch to create a distribution. see this email: -# https://lists.opendaylight.org/pipermail/discuss/2015-December/006040.html -# TODO: 3) Bubble up CSIT jobs that are triggered by the multipatch job to a jenkins -# parameter. the default can be distribution-test which calls all CSIT jobs -# but being able to easily override it to a smaller subset (or none) will be -# helpful - # create a fresh empty place to build this custom distribution BUILD_DIR=${WORKSPACE}/patch_tester DISTRIBUTION_BRANCH_TO_BUILD=$DISTROBRANCH #renaming variable for clarity @@ -29,8 +21,6 @@ export EMAIL="sandbox@jenkins.opendaylight.org" export GIT_COMMITTER_NAME="Multipatch Job" # Extract a list of patches per project from an comment trigger. An example is: -# Patch Set 1: -# # multipatch-build:openflowplugin:45/69445/1,genius:46/69446/1,netvirt:47/69447/1 if [ -n "$GERRIT_EVENT_COMMENT_TEXT" ]; then if [[ "$GERRIT_EVENT_COMMENT_TEXT" == *fast* ]]; then @@ -57,15 +47,18 @@ if [[ "${PATCHES_TO_BUILD}" == *topic* ]]; then # get all patches number for a topic for a given project IFS=$'\n' read -rd '' -a GERRIT_PATCH_LIST <<< "$(ssh -p 29418 jenkins-$SILO@git.opendaylight.org gerrit query status:open topic:${TOPIC} project:${PROJECT} \ | grep 'number:' | awk '{{ print $2 }}')" || true - echo "Add ${PROJECT}:${GERRIT_PATCH_LIST[*]}" # add project if it is the first with patches or it is not the first if [[ -z "${PATCHES_TO_BUILD}" && ! -z "${GERRIT_PATCH_LIST[*]}" ]]; then PATCHES_TO_BUILD="${PROJECT}" elif [[ ! -z "${PATCHES_TO_BUILD}" ]]; then + if [[ ! -z "${GERRIT_PATCH_LIST[*]}" ]]; then + echo "Add ${PROJECT}:${DISTRIBUTION_BRANCH_TO_BUILD}" + fi PATCHES_TO_BUILD="${PATCHES_TO_BUILD},${PROJECT}" fi # sort project patches if [[ ! -z "${GERRIT_PATCH_LIST[*]}" ]]; then + echo "Add ${PROJECT}:${GERRIT_PATCH_LIST[*]}" REF_LIST=() # create reference list with patch number-refspec for PATCH in "${GERRIT_PATCH_LIST[@]}"; do @@ -92,32 +85,28 @@ IFS=',' read -ra PATCHES <<< "${PATCHES_TO_BUILD}" declare -a PROJECTS # For each patch: -# * Clone the project. -# * Optionally, checkout a specific (typically unmerged) Gerrit patch. If none, +# 1. Clone the project. +# 2. Optionally, checkout a specific (typically unmerged) Gerrit patch. If none, # default to Integration/Distribution branch via {branch} JJB param. -# * Also optionally, cherry-pick series of patches on top of the checkout. -# * Final option: perform a 'release' by removing "-SNAPSHOT" everywhere within the project. +# 3. Also optionally, cherry-pick series of patches on top of the checkout. # # Each patch is found in the ${PATCHES_TO_BUILD} variable as a comma separated -# list of project[=checkout][:cherry-pick]* values. +# list of project[=checkout][:cherry-pick]* values. Examples: # # Checkout a (typically unmerged) Gerrit patch on top of odlparent's git clone: -# # PATCHES_TO_BUILD='odlparent=45/30045/2' # # Checkout patches for both odlparent and yangtools: -# # PATCHES_TO_BUILD='odlparent=45/30045/2,yangtools:53/26853/25' # # Checkout a patch for controller, cherry-pick another patch on top of it: -# # PATCHES_TO_BUILD='controller=61/29761/5:45/29645/6' distribution_status="not_included" -for proto_patch in "${PATCHES[@]}" +for patch in "${PATCHES[@]}" do - echo "working on ${proto_patch}" + echo "working on ${patch}" # For patch=controller=61/29761/5:45/29645/6, this gives controller - PROJECT="$(echo ${proto_patch} | cut -d\: -f 1 | cut -d\= -f 1)" + PROJECT="$(echo ${patch} | cut -d\: -f 1 | cut -d\= -f 1)" if [ "${PROJECT}" == "integration/distribution" ]; then distribution_status="included" fi @@ -126,24 +115,27 @@ do echo "cloning project ${PROJECT}" git clone "https://git.opendaylight.org/gerrit/p/${PROJECT}" cd ${PROJECT_SHORTNAME} - if [ "$(echo -n ${proto_patch} | tail -c 1)" == 'r' ]; then - pure_patch="$(echo -n $proto_patch | head -c -1)" - else - pure_patch="$proto_patch" - fi # For patch = controller=61/29761/5:45/29645/6, this gives 61/29761/5 - CHECKOUT="$(echo ${pure_patch} | cut -d\= -s -f 2 | cut -d\: -f 1)" + CHECKOUT="$(echo ${patch} | cut -d\= -s -f 2 | cut -d\: -f 1)" + # If project has a patch, checkout patch, otherwise use distribution branch if [ "x${CHECKOUT}" != "x" ]; then echo "checking out ${CHECKOUT}" # TODO: Make this script accept "29645/6" as a shorthand for "45/29645/6". git fetch "https://git.opendaylight.org/gerrit/${PROJECT}" "refs/changes/$CHECKOUT" git checkout FETCH_HEAD + else - echo "checking out ${DISTRIBUTION_BRANCH_TO_BUILD}" - git checkout "${DISTRIBUTION_BRANCH_TO_BUILD}" + # If project with no patch = yangtools, download master branch + if [ "${PROJECT}" == "yangtools" ]; then + echo "checking out master" + git checkout master + else + echo "checking out ${DISTRIBUTION_BRANCH_TO_BUILD}" + git checkout "${DISTRIBUTION_BRANCH_TO_BUILD}" + fi fi # For patch=controller=61/29761/5:45/29645/6, this gives 45/29645/6 - PICK_SEGMENT="$(echo "${pure_patch}" | cut -d\: -s -f 2-)" + PICK_SEGMENT="$(echo "${patch}" | cut -d\: -s -f 2-)" IFS=':' read -ra PICKS <<< "${PICK_SEGMENT}" for pick in "${PICKS[@]}" do @@ -151,15 +143,10 @@ do git fetch "https://git.opendaylight.org/gerrit/${PROJECT}" "refs/changes/${pick}" git cherry-pick --ff --keep-redundant-commits FETCH_HEAD done - # Check whether the patch ends with 'r', and the patch isn't the project - # (to avoid releasing controller...) - if [ "${proto_patch: -1}" = "r" ] && [ "${proto_patch}" != "${PROJECT}" ]; then - # Here 'r' means release. Useful for testing Nitrogen Odlparent changes. - find . -name "*.xml" -print0 | xargs -0 sed -i 's/-SNAPSHOT//g' - fi cd "${BUILD_DIR}" done +# Finally add distribution if there is no int/dist patch if [ "${distribution_status}" == "not_included" ]; then echo "adding integration/distribution" PROJECTS+=(distribution) @@ -170,6 +157,36 @@ if [ "${distribution_status}" == "not_included" ]; then cd "${BUILD_DIR}" fi +# If there is a patch for odlparent or yangtools (MRI projects), adjust version to mdsal project: +# 1. Extract project version in patch +# 2. Extract project MSI version from mdsal project +# 3. Replace version in patch by MSI version +# Otherwise release the MRI project +if [[ -d "odlparent" ]]; then + if [[ -d "mdsal" ]]; then + # Extract patch and MSI used version + patch_version="$(xpath ./odlparent/odlparent-lite/pom.xml '/project/version/text()' 2> /dev/null)" + msi_version="$(xpath ./mdsal/pom.xml '/project/parent/version/text()' 2> /dev/null)" + # Replace version + find ./odlparent -name "*.xml" -print0 | xargs -0 sed -i "s/${patch_version}/${msi_version}/g" + else + # Release project + find ./odlparent -name "*.xml" -print0 | xargs -0 sed -i 's/-SNAPSHOT//g' + fi +fi +if [[ -d "yangtools" ]]; then + if [[ -d "mdsal" ]]; then + # Extract patch and MSI used version + patch_version="$(xpath ./yangtools/pom.xml '/project/version/text()' 2> /dev/null)" + msi_version="$(xpath ./mdsal/binding/yang-binding/pom.xml '/project/dependencyManagement/dependencies/dependency/version/text()' 2> /dev/null)" + # Replace version + find ./yangtools -name "*.xml" -print0 | xargs -0 sed -i "s/${patch_version}/${msi_version}/g" + else + # Release project + find ./yangtools -name "*.xml" -print0 | xargs -0 sed -i 's/-SNAPSHOT//g' + fi +fi + # Second phase: build everything for PROJECT_SHORTNAME in "${PROJECTS[@]}"; do diff --git a/jjb/netvirt/netvirt-csit-multi-openstack.yaml b/jjb/netvirt/netvirt-csit-multi-openstack.yaml index 5c14aba1f..0470cf7fa 100644 --- a/jjb/netvirt/netvirt-csit-multi-openstack.yaml +++ b/jjb/netvirt/netvirt-csit-multi-openstack.yaml @@ -36,6 +36,8 @@ - upstream-stateful-snat-conntrack: odl-snat-mode: 'conntrack' - gate-stateful + - gate-stateful-itm-direct-tunnels: + enable-itm-direct-tunnels: 'true' - gate-stateful-snat-conntrack: odl-snat-mode: 'conntrack' - gate-minimal-cluster: @@ -115,6 +117,8 @@ - gate-stateful - gate-stateful-snat-conntrack: odl-snat-mode: 'conntrack' + - gate-stateful-itm-direct-tunnels: + enable-itm-direct-tunnels: 'true' - gate-minimal-cluster: testplan: '{project}-{topology}-minimal-openstack.txt' # Job for Test Driven Development with it's own testplan to run new/non-passing suites. scheduled manually. diff --git a/jjb/netvirt/netvirt-patch-test.yaml b/jjb/netvirt/netvirt-patch-test.yaml index fbfb903db..f6d92eeff 100644 --- a/jjb/netvirt/netvirt-patch-test.yaml +++ b/jjb/netvirt/netvirt-patch-test.yaml @@ -43,7 +43,7 @@ coe-csit-1node-container-networking-all-{stream} - itm-direct-tunnels: csit-list: > - netvirt-csit-1node-openstack-{os-branch}-upstream-stateful-itm-direct-tunnels-{stream} + netvirt-csit-1node-openstack-{os-branch}-gate-stateful-itm-direct-tunnels-{stream} - upgrade: csit-list: > netvirt-csit-1node-openstack-{os-branch}-upgrade-{stream} diff --git a/jjb/releng-packer-jobs.yaml b/jjb/releng-packer-jobs.yaml index f79f8a552..a2d1fd44b 100644 --- a/jjb/releng-packer-jobs.yaml +++ b/jjb/releng-packer-jobs.yaml @@ -42,23 +42,6 @@ templates: devstack platforms: centos-7 -- project: - name: packer-devstack-pre-pip-ocata-jobs - jobs: - - gerrit-packer-merge - - project: releng/builder - project-name: builder - branch: master - archive-artifacts: '**/*.log' - - build-node: centos7-builder-2c-1g - build-timeout: 75 - cron: '00 H 1 * *' - - templates: devstack-pre-pip-ocata - platforms: centos-7 - - project: name: packer-devstack-pre-pip-pike-jobs jobs: diff --git a/packer/provision/devstack-pre-pip.sh b/packer/provision/devstack-pre-pip.sh index 21c2a7a07..43788d77f 100644 --- a/packer/provision/devstack-pre-pip.sh +++ b/packer/provision/devstack-pre-pip.sh @@ -37,6 +37,18 @@ git clone https://github.com/openstack-dev/devstack.git (cd devstack && git checkout "${branch}") sed -e 's/#.*//' devstack/files/rpms/general | xargs yum install -y +sudo ls -al /usr/lib/py* + +sudo rm -rf /usr/lib/python3/dist-packages/yaml +sudo rm -rf /usr/lib/python3/dist-packages/PyYAML-* +sudo rm -rf /usr/lib/python3.4/dist-packages/yaml +sudo rm -rf /usr/lib/python3.4/dist-packages/PyYAML-* + +sudo rm -rf /usr/lib/python3/site-packages/yaml +sudo rm -rf /usr/lib/python3/site-packages/PyYAML-* +sudo rm -rf /usr/lib/python3.4/site-packages/yaml +sudo rm -rf /usr/lib/python3.4/site-packages/PyYAML-* + base_url=https://github.com/openstack/ for proj in $projs do diff --git a/packer/templates/devstack-pre-pip-ocata.json b/packer/templates/devstack-pre-pip-ocata.json deleted file mode 100644 index 418b2e19e..000000000 --- a/packer/templates/devstack-pre-pip-ocata.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "variables": { - "base_image": null, - "distro": null, - "cloud_auth_url": null, - "cloud_user": null, - "cloud_pass": null, - "cloud_network": null, - "cloud_tenant": null, - "cloud_user_data": null, - "ssh_user": null, - "ssh_proxy_host": "" - }, - "builders": [ - { - "type": "openstack", - "identity_endpoint": "{{user `cloud_auth_url`}}", - "domain_name": "Default", - "tenant_name": "{{user `cloud_tenant`}}", - "username": "{{user `cloud_user`}}", - "password": "{{user `cloud_pass`}}", - "region": "ca-ymq-1", - "availability_zone": "ca-ymq-2", - "ssh_username": "{{user `ssh_user`}}", - "ssh_proxy_host": "{{user `ssh_proxy_host`}}", - "image_name": "ZZCI - {{user `distro`}} - devstack-ocata - {{isotime \"20060102-150405.000\"}}", - "instance_name": "{{user `distro`}}-devstack-ocata-{{uuid}}", - "source_image_name": "{{user `base_image`}}", - "flavor": "v1-standard-1", - "networks": [ - "{{user `cloud_network`}}" - ], - "user_data_file": "{{user `cloud_user_data`}}", - "metadata": { - "ci_managed": "yes" - } - } - ], - "provisioners": [ - { - "type": "shell", - "environment_vars": [ - "os_branch=stable/ocata" - ], - "scripts": [ - "provision/baseline.sh", - "provision/devstack-pre-pip.sh", - "provision/system_reseal_local_env.sh", - "provision/system_reseal.sh" - ], - "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi" - } - ] -} diff --git a/packer/templates/robot.json b/packer/templates/robot.json index cff9a0e1c..d0f61e78d 100644 --- a/packer/templates/robot.json +++ b/packer/templates/robot.json @@ -46,6 +46,10 @@ ], "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi" }, + { + "type": "shell-local", + "command": "./common-packer/ansible-galaxy.sh {{user `ansible_roles_path`}}" + }, { "type": "ansible", "playbook_file": "provision/robot.yaml",