From: Serena Feng Date: Fri, 25 Aug 2017 00:59:20 +0000 (+0000) Subject: Merge "bugfix: fail to generate APIs document" X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=874684535f1749e063d6ba8915d99df70f13326d;hp=707ea14579a969fa6266aab2f8fafb2f095b0806;p=releng.git Merge "bugfix: fail to generate APIs document" --- diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 07181fcad..f0e0535ea 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -582,7 +582,7 @@ concurrent: true disabled: false - + quiet-period: 30 scm: - git-scm-gerrit @@ -617,6 +617,7 @@ - 'functest.*' - 'yardstick.*' - 'dovetail.*' + - 'storperf.*' - throttle: max-per-node: 1 max-total: 10 @@ -778,6 +779,18 @@ enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/" abort-all-job: false git-revision: false + - multijob: + name: StorPerf + condition: ALWAYS + projects: + - name: 'storperf-apex-baremetal-daily-{scenario_stream}' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: false + git-revision: false # Build status is always success due conditional plugin prefetching # build status before multijob phases execute # - conditional-step: diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 index 2d760f854..5a44dbc00 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yml.j2 @@ -494,7 +494,7 @@ concurrent: true disabled: false - + quiet-period: 30 scm: - git-scm-gerrit @@ -529,6 +529,7 @@ - 'functest.*' - 'yardstick.*' - 'dovetail.*' + - 'storperf.*' - throttle: max-per-node: 1 max-total: 10 @@ -690,6 +691,18 @@ enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/" abort-all-job: false git-revision: false + - multijob: + name: StorPerf + condition: ALWAYS + projects: + - name: 'storperf-apex-baremetal-daily-{scenario_stream}' + node-parameters: true + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + kill-phase-on: NEVER + abort-all-job: false + git-revision: false # Build status is always success due conditional plugin prefetching # build status before multijob phases execute # - conditional-step: diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index a5d75bdca..cdc14e4e0 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -292,11 +292,11 @@ - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 1 * * *' - trigger: name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '' + - timed: '0 16 * * *' - trigger: name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger' triggers: diff --git a/jjb/armband/armband-deploy.sh b/jjb/armband/armband-deploy.sh index fc5912008..05679aa27 100755 --- a/jjb/armband/armband-deploy.sh +++ b/jjb/armband/armband-deploy.sh @@ -35,13 +35,6 @@ fi # set deployment parameters export TMPDIR=${WORKSPACE}/tmpdir -# arm-pod4 is an aarch64 jenkins slave for the same POD as the -# x86 jenkins slave arm-pod3; therefore we use the same pod name -# to deploy the pod from both jenkins slaves -if [[ "${NODE_NAME}" == "arm-pod4" ]]; then - NODE_NAME="arm-pod3" -fi - LAB_NAME=${NODE_NAME/-*} POD_NAME=${NODE_NAME/*-} diff --git a/jjb/calipso/calipso.yml b/jjb/calipso/calipso.yml index c808e9b3c..c5ba8eb1e 100644 --- a/jjb/calipso/calipso.yml +++ b/jjb/calipso/calipso.yml @@ -58,4 +58,4 @@ set -o nounset set -o pipefail cd $WORKSPACE - PYTHONPATH=$PWD/app python3 -m unittest discover -s app/test/fetch + PYTHONPATH=$PWD/app app/test/verify.sh diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml index 4b2f8e9cc..cbdd3ddba 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yml @@ -333,7 +333,7 @@ - trigger: name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-master-trigger' triggers: - - timed: '' # '5 20 * * *' + - timed: '5 20 * * *' - trigger: name: 'fuel-os-odl_l2-nofeature-ha-baremetal-daily-master-trigger' triggers: @@ -341,11 +341,11 @@ - trigger: name: 'fuel-os-odl_l3-nofeature-ha-baremetal-daily-master-trigger' triggers: - - timed: '' # '5 2 * * *' + - timed: '5 2 * * *' - trigger: name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger' triggers: - - timed: '' # '5 5 * * *' + - timed: '5 5 * * *' - trigger: name: 'fuel-os-onos-sfc-ha-baremetal-daily-master-trigger' triggers: diff --git a/jjb/functest/set-functest-env.sh b/jjb/functest/set-functest-env.sh index f6071e37a..7d9e737e7 100755 --- a/jjb/functest/set-functest-env.sh +++ b/jjb/functest/set-functest-env.sh @@ -33,8 +33,9 @@ if [ "$BRANCH" != 'stable/danube' ]; then echo "Functest: Download images that will be used by test cases" images_dir="${HOME}/opnfv/functest/images" chmod +x ${WORKSPACE}/functest/ci/download_images.sh - ${WORKSPACE}/functest/ci/download_images.sh ${images_dir} ${DEPLOY_SCENARIO} ${HOST_ARCH} 2> ${redirect} + ${WORKSPACE}/functest/ci/download_images.sh ${images_dir} images_vol="-v ${images_dir}:/home/opnfv/functest/images" + echo "Functest: Images successfully downloaded" fi dir_result="${HOME}/opnfv/functest/results/${BRANCH##*/}" @@ -43,11 +44,18 @@ sudo rm -rf ${dir_result}/* results_vol="-v ${dir_result}:/home/opnfv/functest/results" custom_params= test -f ${HOME}/opnfv/functest/custom/params_${DOCKER_TAG} && custom_params=$(cat ${HOME}/opnfv/functest/custom/params_${DOCKER_TAG}) +echo "Functest: custom parameters successfully retrieved: ${custom_params}" envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \ -e BUILD_TAG=${BUILD_TAG} -e CI_DEBUG=${CI_DEBUG} -e DEPLOY_TYPE=${DEPLOY_TYPE}" +if [[ ${INSTALLER_TYPE} == 'fuel' && ! -z ${SALT_MASTER_IP} ]]; then + HOST_ARCH=$(ssh -l ubuntu ${SALT_MASTER_IP} -i ${SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ + "sudo salt 'cmp*' grains.get cpuarch --out yaml |awk '{print \$2; exit}'") + envs="${envs} -e POD_ARCH=${HOST_ARCH}" +fi + if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} == *'os-nosdn-openo-ha'* ]]; then ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" openo_msb_port=${openo_msb_port:-80} @@ -64,6 +72,8 @@ else volumes="${results_vol} ${sshkey_vol} ${stackrc_vol} ${rc_file_vol}" fi +echo "Functest: volumes defined" + FUNCTEST_IMAGE="opnfv/functest" if [ "$HOST_ARCH" = "aarch64" ]; then FUNCTEST_IMAGE="${FUNCTEST_IMAGE}_${HOST_ARCH}" diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 0e23380a9..f5de021a6 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -884,6 +884,20 @@ name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' +- parameter: + name: 'intel-virtual10-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-virtual10 + default-slaves: + - intel-virtual10 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' - parameter: name: 'doctor-defaults' parameters: diff --git a/jjb/snaps/snaps.yml b/jjb/snaps/snaps-verify-jobs.yml similarity index 78% rename from jjb/snaps/snaps.yml rename to jjb/snaps/snaps-verify-jobs.yml index 50b7c3070..01ea3e41e 100644 --- a/jjb/snaps/snaps.yml +++ b/jjb/snaps/snaps-verify-jobs.yml @@ -15,21 +15,27 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - job-template: name: 'snaps-verify-{stream}' disabled: '{obj:disabled}' + concurrent: false + parameters: - project-parameter: project: '{project}' branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - string: + name: DEPLOYMENT_HOST_IP + default: 192.168.122.2 + description: 'IP of the deployment node' + - string: + name: CONTROLLER_IP + default: 192.168.122.3 + description: 'IP of the controller node' + - 'intel-virtual10-defaults' scm: - git-scm-gerrit @@ -60,4 +66,7 @@ builders: - shell: | - echo "Nothing to verify!" + #!/bin/bash + + cd $WORKSPACE/ci + ./run_tests.sh $DEPLOYMENT_HOST_IP $CONTROLLER_IP diff --git a/jjb/storperf/storperf-daily-jobs.yml b/jjb/storperf/storperf-daily-jobs.yml new file mode 100644 index 000000000..e849e29e1 --- /dev/null +++ b/jjb/storperf/storperf-daily-jobs.yml @@ -0,0 +1,175 @@ +################################### +# job configuration for storperf +################################### +- project: + name: storperf-daily + + project: storperf + +#-------------------------------- +# BRANCH ANCHORS +#-------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' +#-------------------------------- +# POD, INSTALLER, AND BRANCH MAPPING +#-------------------------------- +# Installers using labels +# CI PODs +# This section should only contain the installers +# that have been switched using labels for slaves +#-------------------------------- + pod: +## fuel CI PODs +# - baremetal: +# slave-label: fuel-baremetal +# installer: fuel +# <<: *master +# - virtual: +# slave-label: fuel-virtual +# installer: fuel +# <<: *master +## joid CI PODs +# - baremetal: +# slave-label: joid-baremetal +# installer: joid +# <<: *master +# - virtual: +# slave-label: joid-virtual +# installer: joid +# <<: *master +## compass CI PODs +# - baremetal: +# slave-label: compass-baremetal +# installer: compass +# <<: *master +# - virtual: +# slave-label: compass-virtual +# installer: compass +# <<: *master +## apex CI PODs +# - virtual: +# slave-label: apex-virtual-master +# installer: apex +# <<: *master + - baremetal: + slave-label: apex-baremetal-master + installer: apex + <<: *master +## armband CI PODs +# - armband-baremetal: +# slave-label: armband-baremetal +# installer: fuel +# <<: *master +# - armband-virtual: +# slave-label: armband-virtual +# installer: fuel +# <<: *master +## daisy CI PODs +# - baremetal: +# slave-label: daisy-baremetal +# installer: daisy +# <<: *master +# - virtual: +# slave-label: daisy-virtual +# installer: daisy +# <<: *master + + jobs: + - 'storperf-{installer}-{pod}-daily-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'storperf-{installer}-{pod}-daily-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - build-name: + name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: '30' + abort: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' + - string: + name: CLEAN_DOCKER_IMAGES + default: 'false' + description: 'Remove downloaded docker images (opnfv/storperf*:*)' + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + description: "Version directory where the opnfv documents will be stored in gs repository" + - string: + name: DISK_TYPE + default: 'HDD' + description: 'The type of hard disk that Cinder uses' + - string: + name: VOLUME_SIZE + default: '2' + description: 'Size of Cinder volume (in GB)' + - string: + name: WORKLOADS + default: 'rw' + description: 'Workloads to run' + - string: + name: BLOCK_SIZES + default: '16384' + description: 'Block sizes for VM I/O operations' + - string: + name: QUEUE_DEPTHS + default: '4' + description: 'Number of simultaneous I/O operations to keep active' + - string: + name: STEADY_STATE_SAMPLES + default: '10' + description: 'Number of samples to use (1 per minute) to measure steady state' + - string: + name: TEST_CASE + choices: + - 'snia_steady_state' + description: 'The test case to run' + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'storperf-daily-builder' + +######################## +# builder macros +######################## +- builder: + name: storperf-daily-builder + builders: + - shell: | + #!/bin/bash + + cd $WORKSPACE + ./ci/daily.sh diff --git a/jjb/storperf/storperf-verify-jobs.yml b/jjb/storperf/storperf-verify-jobs.yml new file mode 100644 index 000000000..55c4e4ce0 --- /dev/null +++ b/jjb/storperf/storperf-verify-jobs.yml @@ -0,0 +1,190 @@ +- project: + name: storperf-verify + + project: 'storperf' + +#-------------------------------- +# branches +#-------------------------------- + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + docker-tag: 'latest' +#-------------------------------- +# patch verification phases +#-------------------------------- + phase: + - 'unit-test': + slave-label: 'opnfv-build-ubuntu' + - 'build-x86_64': + slave-label: 'opnfv-build-ubuntu' + - 'build-aarch64': + slave-label: 'opnfv-build-ubuntu-arm' +#-------------------------------- +# jobs +#-------------------------------- + jobs: + - 'storperf-verify-{stream}' + - 'storperf-verify-{phase}-{stream}' +#-------------------------------- +# job templates +#-------------------------------- +- job-template: + name: 'storperf-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-defaults' + + scm: + - git-scm-gerrit + + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + + builders: + - shell: | + #!/bin/bash + + # we do nothing here as the main stuff will be done + # in phase jobs + echo "Triggering phase jobs!" + - multijob: + name: 'storperf-build-and-unittest' + execution-type: PARALLEL + projects: + - name: 'storperf-verify-unit-test-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + - name: 'storperf-verify-build-x86_64-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + ARCH=x86_64 + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + - name: 'storperf-verify-build-aarch64-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + ARCH=aarch64 + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + +- job-template: + name: 'storperf-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + + scm: + - git-scm-gerrit + + builders: + - 'storperf-verify-{phase}-builders-macro' + + publishers: + - 'storperf-verify-{phase}-publishers-macro' +#-------------------------------- +# builder macros +#-------------------------------- +- builder: + name: 'storperf-verify-unit-test-builders-macro' + builders: + - shell: | + $WORKSPACE/ci/verify.sh +- builder: + name: 'storperf-verify-build-x86_64-builders-macro' + builders: + - shell: | + $WORKSPACE/ci/verify-build.sh +- builder: + name: 'storperf-verify-build-aarch64-builders-macro' + builders: + - shell: | + $WORKSPACE/ci/verify-build.sh +#-------------------------------- +# publisher macros +#-------------------------------- +- publisher: + name: 'storperf-verify-unit-test-publishers-macro' + publishers: + - junit: + results: nosetests.xml + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + health-auto-update: "true" + stability-auto-update: "true" + zoom-coverage-chart: "true" + targets: + - files: + healthy: 10 + unhealthy: 20 + failing: 30 + - method: + healthy: 50 + unhealthy: 40 + failing: 30 + - email-jenkins-admins-on-failure +- publisher: + name: 'storperf-verify-build-x86_64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure +- publisher: + name: 'storperf-verify-build-aarch64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml index f675cbb2a..307becfed 100644 --- a/jjb/storperf/storperf.yml +++ b/jjb/storperf/storperf.yml @@ -4,9 +4,7 @@ project: '{name}' jobs: - - 'storperf-verify-{stream}' - 'storperf-merge-{stream}' - - 'storperf-daily-{stream}' stream: - master: @@ -20,69 +18,6 @@ disabled: false docker-tag: 'stable' -- job-template: - name: 'storperf-verify-{stream}' - - disabled: '{obj:disabled}' - - node: opnfv-build-ubuntu - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." - - scm: - - git-scm-gerrit - - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - - builders: - - shell: | - $WORKSPACE/ci/verify.sh - - publishers: - - junit: - results: nosetests.xml - - cobertura: - report-file: "coverage.xml" - only-stable: "true" - health-auto-update: "true" - stability-auto-update: "true" - zoom-coverage-chart: "true" - targets: - - files: - healthy: 10 - unhealthy: 20 - failing: 30 - - method: - healthy: 50 - unhealthy: 40 - failing: 30 - - email-jenkins-admins-on-failure - - job-template: name: 'storperf-merge-{stream}' @@ -138,74 +73,3 @@ failing: 30 - email-jenkins-admins-on-failure -- job-template: - name: 'storperf-daily-{stream}' - - # Job template for daily builders - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'intel-pod9-defaults' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-noha' - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: 'Tag to pull docker image' - - choice: - name: DISK_TYPE - choices: - - 'SSD' - - 'HDD' - default: 'HDD' - description: 'The type of hard disk that Cinder uses' - - string: - name: AGENT_COUNT - description: 'The number of slave agents to start. Defaults to the cinder node count' - - string: - name: VOLUME_SIZE - default: '4' - description: 'Size of Cinder volume (in GB)' - - string: - name: WORKLOADS - default: 'wr,rr,rw' - description: 'Workloads to run' - - string: - name: BLOCK_SIZES - default: '2048,16384' - description: 'Block sizes for VM I/O operations' - - string: - name: QUEUE_DEPTHS - default: '1,4' - description: 'Number of simultaneous I/O operations to keep active' - - string: - name: STEADY_STATE_SAMPLES - default: '10' - description: 'Number of samples to use (1 per minute) to measure steady state' - - string: - name: DEADLINE - description: 'Maximum run time in minutes if steady state cannot be found. Defaults to 3 times steady state samples' - - choice: - name: TEST_CASE - choices: - - 'snia_steady_state' - description: 'The test case to run' - - scm: - - git-scm - - triggers: - - timed: '0 22 * * *' - - builders: - - shell: | - $WORKSPACE/ci/daily.sh - diff --git a/utils/fetch_os_creds.sh b/utils/fetch_os_creds.sh index 8374edbbd..312e1ac5c 100755 --- a/utils/fetch_os_creds.sh +++ b/utils/fetch_os_creds.sh @@ -107,7 +107,7 @@ if [ "$installer_type" == "fuel" ]; then # retrieving controller vip controller_ip=$(ssh 2>/dev/null ${ssh_options} ubuntu@${installer_ip} \ - "sudo salt --out txt 'ctl01*' pillar.get _param:openstack_control_address | awk '{print \$2}'" | \ + "sudo salt --out txt 'ctl*' pillar.get _param:openstack_control_address | awk '{print \$2; exit}'" | \ sed 's/ //g') &> /dev/null info "Fetching rc file from controller $controller_ip..."