diff options
25 files changed, 316 insertions, 216 deletions
diff --git a/jjb/barometer/barometer-upload-artifact.sh b/jjb/barometer/barometer-upload-artifact.sh index 887c4924e..817cc5770 100644 --- a/jjb/barometer/barometer-upload-artifact.sh +++ b/jjb/barometer/barometer-upload-artifact.sh @@ -17,12 +17,12 @@ echo "Uploading the barometer RPMs to artifacts.opnfv.org" echo "---------------------------------------------------" echo -gsutil -m cp -r $RPM_DIR/* $OPNFV_ARTIFACT_URL > $WORKSPACE/gsutil.log 2>&1 +gsutil -m cp -r $RPM_DIR/* gs://$OPNFV_ARTIFACT_URL > $WORKSPACE/gsutil.log 2>&1 # Check if the RPMs were pushed -gsutil ls $OPNFV_ARTIFACT_URL > /dev/null 2>&1 +gsutil ls gs://$OPNFV_ARTIFACT_URL > /dev/null 2>&1 if [[ $? -ne 0 ]]; then - echo "Problem while uploading barometer RPMs to $OPNFV_ARTIFACT_URL!" + echo "Problem while uploading barometer RPMs to gs://$OPNFV_ARTIFACT_URL!" echo "Check log $WORKSPACE/gsutil.log on the appropriate build server" exit 1 fi diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yml b/jjb/ci_gate_security/opnfv-ci-gate-security.yml index 489dbc507..e2f6ceb7b 100644 --- a/jjb/ci_gate_security/opnfv-ci-gate-security.yml +++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yml @@ -77,7 +77,7 @@ comment-contains-value: 'reverify' projects: - project-compare-type: 'REG_EXP' - project-pattern: 'sandbox|releng|octopus|pharos|functest' + project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|functest|octopus|pharos|releng|sandbox' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' @@ -115,3 +115,4 @@ !include-raw: - ./anteater-clone-all-repos.sh - ./anteater-security-audit-weekly.sh + diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index 319269a30..09ef441b2 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -182,6 +182,7 @@ WED: true FRI: true SUN: true + use-build-time: true steps: - trigger-builds: - project: 'dovetail-compass-{pod}-proposed_tests-master' @@ -206,9 +207,10 @@ - condition-kind: day-of-week day-selector: select-days days: - TUE: true - THU: true + TUES: true + THURS: true SAT: true + use-build-time: true steps: - trigger-builds: - project: 'dovetail-compass-{pod}-proposed_tests-danube' @@ -225,7 +227,7 @@ condition-kind: and condition-operands: - condition-kind: regex-match - regex: os-(nosdn|odl_l2)-(nofeature|bgpvpn)-ha + regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha label: '{scenario}' - condition-kind: regex-match regex: master diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yml index aac76baa4..592e54dc5 100644 --- a/jjb/daisy4nfv/daisy-daily-jobs.yml +++ b/jjb/daisy4nfv/daisy-daily-jobs.yml @@ -45,6 +45,12 @@ # NOHA scenarios - 'os-nosdn-nofeature-noha': auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' + # ODL_L3 scenarios + - 'os-odl_l3-nofeature-noha': + auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' + # ODL_L2 scenarios + - 'os-odl_l2-nofeature-noha': + auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' jobs: - '{project}-{scenario}-{pod}-daily-{stream}' @@ -144,7 +150,7 @@ installer: '{installer}' - string: name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' + default: 'os-nosdn-nofeature-noha' - 'daisy-project-parameter': gs-pathname: '{gs-pathname}' - string: @@ -183,6 +189,16 @@ - trigger: name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' triggers: + - timed: 'H 12 * * *' +# ODL_L3 Scenarios +- trigger: + name: 'daisy-os-odl_l3-nofeature-noha-baremetal-daily-master-trigger' + triggers: + - timed: 'H 16 * * *' +# ODL_L2 Scenarios +- trigger: + name: 'daisy-os-odl_l2-nofeature-noha-baremetal-daily-master-trigger' + triggers: - timed: '' #----------------------------------------------- # Triggers for job running on daisy-virtual against master branch @@ -195,5 +211,15 @@ - trigger: name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger' triggers: - - timed: 'H 8,22 * * *' + - timed: 'H 12 * * *' +# ODL_L3 Scenarios +- trigger: + name: 'daisy-os-odl_l3-nofeature-noha-virtual-daily-master-trigger' + triggers: + - timed: 'H 16 * * *' +# ODL_L3 Scenarios +- trigger: + name: 'daisy-os-odl_l2-nofeature-noha-virtual-daily-master-trigger' + triggers: + - timed: '' diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml index 0a9d43d25..57e44e314 100644 --- a/jjb/daisy4nfv/daisy-project-jobs.yml +++ b/jjb/daisy4nfv/daisy-project-jobs.yml @@ -20,10 +20,6 @@ branch: '{stream}' gs-pathname: '' disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false phase: - 'build': @@ -64,7 +60,7 @@ - git-scm triggers: - - timed: '0 H/8 * * *' + - timed: '0 8 * * *' parameters: - project-parameter: @@ -165,7 +161,7 @@ description: 'Git URL to use on this Jenkins Slave' - string: name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' + default: 'os-nosdn-nofeature-noha' - '{installer}-project-parameter': gs-pathname: '{gs-pathname}' diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index eb230b59d..c5454c799 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -17,11 +17,9 @@ installer: - apex: - slave-label: 'ool-virtual1' - pod: 'ool-virtual1' + slave-label: 'doctor-apex-verify' - fuel: - slave-label: 'ool-virtual2' - pod: 'ool-virtual2' + slave-label: 'doctor-fuel-verify' #- joid: # slave-label: 'ool-virtual3' # pod: 'ool-virtual3' @@ -34,9 +32,15 @@ - verify: profiler: 'none' auto-trigger-name: 'doctor-verify' + is-python: false - profiling: profiler: 'poc' auto-trigger-name: 'experimental' + is-python: false + - python-verify: + profiler: 'none' + auto-trigger-name: 'doctor-verify' + is-python: true pod: - arm-pod2: @@ -148,7 +152,7 @@ default: 'doctor-notification' - string: name: TESTCASE_OPTIONS - default: '-e INSPECTOR_TYPE={inspector} -e PROFILER_TYPE={profiler} -v $WORKSPACE:/home/opnfv/repos/doctor' + default: '-e INSPECTOR_TYPE={inspector} -e PROFILER_TYPE={profiler} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor' description: 'Addtional parameters specific to test case(s)' # functest-parameter - string: diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml index 6bcaea26f..43978f6dc 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ b/jjb/dovetail/dovetail-ci-jobs.yml @@ -25,7 +25,7 @@ branch: 'stable/{stream}' dovetail-branch: master gs-pathname: '/{stream}' - docker-tag: 'cvp.0.1.0' + docker-tag: 'cvp.0.2.0' #----------------------------------- # POD, PLATFORM, AND BRANCH MAPPING diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml index 8de092d29..fdef6f483 100644 --- a/jjb/functest/functest-daily-jobs.yml +++ b/jjb/functest/functest-daily-jobs.yml @@ -203,10 +203,10 @@ installer: fuel <<: *danube # PODs for verify jobs triggered by each patch upload - - ool-virtual1: - slave-label: '{pod}' - installer: apex - <<: *master +# - ool-virtual1: +# slave-label: '{pod}' +# installer: apex +# <<: *master #-------------------------------- testsuite: diff --git a/jjb/functest/functest-loop.sh b/jjb/functest/functest-loop.sh index 676890644..00a5f135b 100755 --- a/jjb/functest/functest-loop.sh +++ b/jjb/functest/functest-loop.sh @@ -2,7 +2,11 @@ set +e [[ "$PUSH_RESULTS_TO_DB" == "true" ]] && flags+="-r" -cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/run_tests.py -t all ${flags}" +if [ "$BRANCH" == 'master' ]; then + cmd="run_tests -t all ${flags}" +else + cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/run_tests.py -t all ${flags}" +fi container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1) docker exec $container_id $cmd diff --git a/jjb/functest/functest-suite.sh b/jjb/functest/functest-suite.sh index 5d1ed28f5..9b7f1356c 100755 --- a/jjb/functest/functest-suite.sh +++ b/jjb/functest/functest-suite.sh @@ -10,7 +10,11 @@ global_ret_val=0 tests=($(echo $FUNCTEST_SUITE_NAME | tr "," "\n")) for test in ${tests[@]}; do - cmd="python /home/opnfv/repos/functest/functest/ci/run_tests.py -t $test" + if [ "$BRANCH" == 'master' ]; then + cmd="run_tests -t $test" + else + cmd="python /home/opnfv/repos/functest/functest/ci/run_tests.py -t $test" + fi docker exec $container_id $cmd let global_ret_val+=$? done diff --git a/jjb/functest/set-functest-env.sh b/jjb/functest/set-functest-env.sh index 558e2487d..5f936f5d9 100755 --- a/jjb/functest/set-functest-env.sh +++ b/jjb/functest/set-functest-env.sh @@ -90,7 +90,12 @@ if [ $(docker ps | grep "${FUNCTEST_IMAGE}:${DOCKER_TAG}" | wc -l) == 0 ]; then exit 1 fi -cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/prepare_env.py start" +if [ "$BRANCH" == 'master' ]; then + cmd="prepare_env start" +else + cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/prepare_env.py start" +fi + echo "Executing command inside the docker: ${cmd}" docker exec ${container_id} ${cmd} diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 57442225c..59c5856ca 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -862,15 +862,13 @@ default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - parameter: - name: 'ool-defaults' + name: 'doctor-defaults' parameters: - node: name: SLAVE_NAME description: 'Slave name on Jenkins' allowed-slaves: - - ool-virtual1 - - ool-virtual2 - - ool-virtual3 + - '{default-slave}' default-slaves: - '{default-slave}' - string: @@ -882,20 +880,20 @@ default: /root/.ssh/id_rsa description: 'SSH key to be used' - parameter: - name: 'ool-virtual1-defaults' + name: 'doctor-apex-verify-defaults' parameters: - - 'ool-defaults': - default-slave: 'ool-virtual1' + - 'doctor-defaults': + default-slave: 'doctor-apex-verify' - parameter: - name: 'ool-virtual2-defaults' + name: 'doctor-fuel-verify-defaults' parameters: - - 'ool-defaults': - default-slave: 'ool-virtual2' + - 'doctor-defaults': + default-slave: 'doctor-fuel-verify' - parameter: - name: 'ool-virtual3-defaults' + name: 'doctor-joid-verify-defaults' parameters: - - 'ool-defaults': - default-slave: 'ool-virtual3' + - 'doctor-defaults': + default-slave: 'doctor-joid-verify' - parameter: name: 'multisite-virtual-defaults' parameters: diff --git a/jjb/releng/testapi-automate.yml b/jjb/releng/automate.yml index dd76538a3..9eb281de3 100644 --- a/jjb/releng/testapi-automate.yml +++ b/jjb/releng/automate.yml @@ -1,20 +1,22 @@ - project: - name: testapi-automate + name: utils-automate stream: - master: branch: '{stream}' - gs-pathname: '' + + module: + - 'testapi' + - 'reporting' phase: - - 'docker-update' - 'docker-deploy': slave-label: 'testresults' - 'generate-doc' jobs: - - 'testapi-automate-{stream}' - - 'testapi-automate-{phase}-{stream}' - - 'testapi-verify-{stream}' + - '{module}-automate-{stream}' + - '{module}-automate-{phase}-{stream}' + - '{module}-verify-{stream}' project: 'releng' @@ -44,7 +46,7 @@ - mongodb-backup - job-template: - name: 'testapi-verify-{stream}' + name: '{module}-verify-{stream}' parameters: - project-parameter: @@ -76,10 +78,11 @@ branch-pattern: '**/{branch}' file-paths: - compare-type: 'ANT' - pattern: 'utils/test/testapi/**' + pattern: 'utils/test/{module}/**' builders: - - run-unit-tests + - shell: | + bash ./utils/test/{module}/run_test.sh publishers: - junit: @@ -101,7 +104,7 @@ failing: 30 - job-template: - name: 'testapi-automate-{stream}' + name: '{module}-automate-{stream}' project-type: multijob @@ -118,8 +121,12 @@ branch: '{branch}' - string: name: DOCKER_TAG - default: "latest" - description: "Tag name for testapi docker image" + default: 'latest' + description: 'Tag name for {module} docker image' + - string: + name: MODULE_NAME + default: '{module}' + description: "Name of the module" - 'opnfv-build-defaults' scm: @@ -146,24 +153,17 @@ branch-pattern: '**/{branch}' file-paths: - compare-type: 'ANT' - pattern: 'utils/test/testapi/**' + pattern: 'utils/test/{module}/**' builders: - description-setter: description: "Built on $NODE_NAME" - - multijob: - name: docker-update - condition: SUCCESSFUL - projects: - - name: 'testapi-automate-docker-update-{stream}' - current-parameters: true - kill-phase-on: FAILURE - abort-all-job: true + - docker-update - multijob: name: docker-deploy condition: SUCCESSFUL projects: - - name: 'testapi-automate-docker-deploy-{stream}' + - name: '{module}-automate-docker-deploy-{stream}' current-parameters: false predefined-parameters: | GIT_BASE=$GIT_BASE @@ -175,7 +175,7 @@ name: generate-doc condition: SUCCESSFUL projects: - - name: 'testapi-automate-generate-doc-{stream}' + - name: '{module}-automate-generate-doc-{stream}' current-parameters: true kill-phase-on: FAILURE abort-all-job: true @@ -184,7 +184,7 @@ - 'email-publisher' - job-template: - name: 'testapi-automate-{phase}-{stream}' + name: '{module}-automate-{phase}-{stream}' properties: - throttle: @@ -196,10 +196,6 @@ - project-parameter: project: '{project}' branch: '{branch}' - - string: - name: DOCKER_TAG - default: "latest" - description: "Tag name for testapi docker image" wrappers: - ssh-agent-wrapper @@ -213,28 +209,16 @@ builders: - description-setter: description: "Built on $NODE_NAME" - - 'testapi-automate-{phase}-macro' + - '{module}-automate-{phase}-macro' ################################ # job builders ################################ - builder: - name: mongodb-backup - builders: - - shell: | - bash ./jjb/releng/testapi-backup-mongodb.sh - -- builder: - name: 'run-unit-tests' + name: 'docker-update' builders: - - shell: | - bash ./utils/test/testapi/run_test.sh - -- builder: - name: 'testapi-automate-docker-update-macro' - builders: - - shell: | - bash ./jjb/releng/testapi-docker-update.sh + - shell: + !include-raw: ./docker-update.sh - builder: name: 'testapi-automate-generate-doc-macro' @@ -255,10 +239,26 @@ bash ./utils/test/testapi/htmlize/push-doc-artifact.sh - builder: + name: 'reporting-automate-generate-doc-macro' + builders: + - shell: echo "To Be Done" + +- builder: name: 'testapi-automate-docker-deploy-macro' builders: - shell: | - bash ./jjb/releng/testapi-docker-deploy.sh + bash ./jjb/releng/docker-deploy.sh 'sudo docker run -dti -p 8082:8000 -e mongodb_url=mongodb://172.17.0.1:27017 -e swagger_url=http://testresults.opnfv.org/test opnfv/testapi' "http://testresults.opnfv.org/test/swagger/APIs" +- builder: + name: 'reporting-automate-docker-deploy-macro' + builders: + - shell: | + bash ./jjb/releng/docker-deploy.sh 'sudo docker run -itd -p 8084:8000 -e SERVER_URL=http://testresults.opnfv.org/reporting2:8084 opnfv/reporting' "http://testresults.opnfv.org/reporting2/reporting/index.html" + +- builder: + name: mongodb-backup + builders: + - shell: | + bash ./jjb/releng/testapi-backup-mongodb.sh ################################ # job publishers @@ -268,6 +268,6 @@ name: 'email-publisher' publishers: - email: - recipients: rohitsakala@gmail.com feng.xiaowei@zte.com.cn + recipients: rohitsakala@gmail.com feng.xiaowei@zte.com.cn morgan.richomme@orange.com notify-every-unstable-build: false send-to-individuals: true diff --git a/jjb/releng/testapi-docker-deploy.sh b/jjb/releng/docker-deploy.sh index 02c5e3a27..b3b930fc4 100644 --- a/jjb/releng/testapi-docker-deploy.sh +++ b/jjb/releng/docker-deploy.sh @@ -1,10 +1,30 @@ #!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one * +# or more contributor license agreements. See the NOTICE file * +# distributed with this work for additional information * +# regarding copyright ownership. The ASF licenses this file * +# to you under the Apache License, Version 2.0 (the * +# "License"); you may not use this file except in compliance * +# with the License. You may obtain a copy of the License at * +# * +# http://www.apache.org/licenses/LICENSE-2.0 * +# * +# Unless required by applicable law or agreed to in writing, * +# software distributed under the License is distributed on an * +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * +# KIND, either express or implied. See the License for the * +# specific language governing permissions and limitations * +# under the License. * + +# Assigning Variables +command=$1 +url=$2 function check() { # Verify hosted sleep 5 - cmd=`curl -s --head --request GET http://testresults.opnfv.org/test/swagger/APIs | grep '200 OK' > /dev/null` + cmd=`curl -s --head --request GET ${url} | grep '200 OK' > /dev/null` rc=$? echo $rc @@ -63,7 +83,7 @@ else fi echo "Running a container with the new image" -sudo docker run -dti -p "8082:8000" -e "mongodb_url=mongodb://172.17.0.1:27017" -e "swagger_url=http://testresults.opnfv.org/test" opnfv/testapi:latest +$command:latest if check; then echo "TestResults Hosted." @@ -71,7 +91,7 @@ else echo "TestResults Hosting Failed" if [[ $(sudo docker images | grep "opnfv/testapi" | grep "old" | awk '{print $3}') ]]; then echo "Running old Image" - sudo docker run -dti -p "8082:8000" -e "mongodb_url=mongodb://172.17.0.1:27017" -e "swagger_url=http://testresults.opnfv.org/test" opnfv/testapi:old + $command:old exit 1 fi fi diff --git a/jjb/releng/docker-update.sh b/jjb/releng/docker-update.sh new file mode 100644 index 000000000..559ac835c --- /dev/null +++ b/jjb/releng/docker-update.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one * +# or more contributor license agreements. See the NOTICE file * +# distributed with this work for additional information * +# regarding copyright ownership. The ASF licenses this file * +# to you under the Apache License, Version 2.0 (the * +# "License"); you may not use this file except in compliance * +# with the License. You may obtain a copy of the License at * +# * +# http://www.apache.org/licenses/LICENSE-2.0 * +# * +# Unless required by applicable law or agreed to in writing, * +# software distributed under the License is distributed on an * +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * +# KIND, either express or implied. See the License for the * +# specific language governing permissions and limitations * +# under the License. * + +set -o errexit +set -o nounset + +cd $WORKSPACE/utils/test/$MODULE_NAME/docker/ + +# Remove previous containers +docker ps -a | grep "opnfv/$MODULE_NAME" | awk '{ print $1 }' | xargs -r docker rm -f + +# Remove previous images +docker images | grep "opnfv/$MODULE_NAME" | awk '{ print $3 }' | xargs -r docker rmi -f + +# Start build +docker build --no-cache -t opnfv/$MODULE_NAME:$DOCKER_TAG . + +# Push Image +docker push opnfv/$MODULE_NAME:$DOCKER_TAG diff --git a/jjb/releng/testapi-docker-update.sh b/jjb/releng/testapi-docker-update.sh deleted file mode 100644 index 84f5c3217..000000000 --- a/jjb/releng/testapi-docker-update.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -set -o errexit -set -o nounset - -cd $WORKSPACE/utils/test/testapi/docker/ - -# Remove previous containers -docker ps -a | grep "opnfv/testapi" | awk '{ print $1 }' | xargs -r docker rm -f - -# Remove previous images -docker images | grep "opnfv/testapi" | awk '{ print $3 }' | xargs -r docker rmi -f - -# Start build -docker build --no-cache -t opnfv/testapi:$DOCKER_TAG . - -# Push Image -docker push opnfv/testapi:$DOCKER_TAG diff --git a/prototypes/xci/README.rst b/prototypes/xci/README.rst index b65abde9b..ecb8e19dc 100644 --- a/prototypes/xci/README.rst +++ b/prototypes/xci/README.rst @@ -196,8 +196,10 @@ on each run. To enable it, you need to export the different DEV_PATH vars: - export OPNFV_RELENG_DEV_PATH=/opt/releng/ -- export OPENSTACK_BIFROST_DEV_PATH=/opt/bifrost -- export OPENSTACK_OSA_DEV_PATH=/opt/openstack-ansible +- export OPENSTACK_BIFROST_DEV_PATH=/opt/bifrost/ +- export OPENSTACK_OSA_DEV_PATH=/opt/openstack-ansible/ + +Please note the trailing slahses. This will cause the deployment to pick the development copies stored at the specified directories, and use them instead of cloning those on every run. diff --git a/prototypes/xci/config/pinned-versions b/prototypes/xci/config/pinned-versions index c42693671..581786075 100755 --- a/prototypes/xci/config/pinned-versions +++ b/prototypes/xci/config/pinned-versions @@ -21,7 +21,7 @@ #------------------------------------------------------------------------------- # use releng from master until the development work with the sandbox is complete export OPNFV_RELENG_VERSION="master" -# HEAD of "master" as of 04.04.2017 +# HEAD of bifrost "master" as of 29.06.2017 export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-"7c9bb5e07c6bc3b42c9a9e8457e5eef511075b38"} -# HEAD of "master" as of 04.04.2017 -export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"d9e1330c7ff9d72a604b6b4f3af765f66a01b30e"} +# HEAD of osa "master" as of 29.06.2017 +export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-"0648818c64239b534d00db381c4609f28e40bda9"} diff --git a/prototypes/xci/file/ansible-role-requirements.yml b/prototypes/xci/file/ansible-role-requirements.yml index 5a96e2a82..57e0bb8f4 100644 --- a/prototypes/xci/file/ansible-role-requirements.yml +++ b/prototypes/xci/file/ansible-role-requirements.yml @@ -7,188 +7,184 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -# these versions are extracted based on the osa commit d9e1330c7ff9d72a604b6b4f3af765f66a01b30e on 04.04.2017 -# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=d9e1330c7ff9d72a604b6b4f3af765f66a01b30e +# these versions are extracted based on the osa commit 0648818c64239b534d00db381c4609f28e40bda9 on 2017-06-27T22:02:17+00:00 +# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=0648818c64239b534d00db381c4609f28e40bda9 - name: ansible-hardening scm: git src: https://git.openstack.org/openstack/ansible-hardening - version: 051fe3195f59d1ee8db06fca5d2cce7a25e58861 + version: f422da8599c6d8f64ebfefbf0a0aa711ea1f9569 - name: apt_package_pinning scm: git src: https://git.openstack.org/openstack/openstack-ansible-apt_package_pinning - version: 364fc9fcd8ff652546c13d9c20ac808bc0e35f66 + version: 4afe664efb5a2385a1d7071f68bc9001f16c0f41 - name: pip_install scm: git src: https://git.openstack.org/openstack/openstack-ansible-pip_install - version: 793ae4d01397bd91ebe18e9670e8e27d1ae91960 + version: 348995b85f91f796b28656459474fb3935be737c - name: galera_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-galera_client - version: c093c13e01826da545bf9a0259e0be441bc1b5e1 + version: 2055ebf1582a15c2b2a73985485be15884c9b2d3 - name: galera_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-galera_server - version: fd0a6b104a32badbe7e7594e2c829261a53bfb11 + version: 78a1259a10a5be95ab7d6ba3e8f2961805ae3a5b - name: ceph_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-ceph_client - version: 9149bfa8e3c4284b656834ba7765ea3aa48bec2e + version: aa3b0d959464f9362aaf29d6cf6225e1d4e302be - name: haproxy_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-haproxy_server - version: 32415ab81c61083ac5a83b65274703e4a5470e5e + version: f8bc5c6129c0d50ac3355c82560fbf22ee32479b - name: keepalived scm: git src: https://github.com/evrardjp/ansible-keepalived - version: 4f7c8eb16e3cbd8c8748f126c1eea73db5c8efe9 + version: 3.0.1 - name: lxc_container_create scm: git src: https://git.openstack.org/openstack/openstack-ansible-lxc_container_create - version: 097da38126d90cfca36cdc3955aaf658a00db599 + version: 1eab03452885f0a34cb78f54e3bcf5824abc012e - name: lxc_hosts scm: git src: https://git.openstack.org/openstack/openstack-ansible-lxc_hosts - version: 2931d0c87a1c592ad7f1f2f83cdcf468e8dea932 + version: f0b8782c03dde4dd65e70d8b03afc26a30c74f37 - name: memcached_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-memcached_server - version: 58e17aa13ebe7b0aa5da7c00afc75d6716d2720d -- name: openstack-ansible-security - scm: git - src: https://git.openstack.org/openstack/openstack-ansible-security - version: 9d745ec4fe8ac3e6d6cbb2412abe5196a9d2dad7 + version: 6924e7d44d6e36cbe45507e43ef82af6ac0ae125 - name: openstack_hosts scm: git src: https://git.openstack.org/openstack/openstack-ansible-openstack_hosts - version: 2076dfddf418b1bdd64d3782346823902aa996bc + version: d68b1dd8fc5ef18c78172d4e9fa3ca01d7473dcf - name: os_keystone scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_keystone - version: cee7a02143a1826479e6444c6fb5f1c2b6074ab7 + version: 0cafcc150da10a01ee0b4543167fdc88b9b91a85 - name: openstack_openrc scm: git src: https://git.openstack.org/openstack/openstack-ansible-openstack_openrc - version: fb98ad8d7bfe7fba0c964cb061313f1b8767c4b0 + version: 18b7f31a19c4c9bc95abc07a83c9ba866eff538d - name: os_aodh scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_aodh - version: 9dcacb8fd6feef02e485f99c83535707ae67876b + version: 5bebd5a18aa7469803f26fb41df62495730afde3 - name: os_barbican scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_barbican - version: bb3f39cb2f3c31c6980aa65c8953ff6293b992c0 + version: fc95936f9375c3e9eab708b356e760e3eeb785d7 - name: os_ceilometer scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_ceilometer - version: 178ad8245fa019f0610c628c58c377997b011e8a + version: daf94c5d1a009abb111b5ff7dea8b4f50473b227 - name: os_cinder scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_cinder - version: 1321fd39d8f55d1dc3baf91b4194469b349d7dc4 + version: d0c46f29d7bb02139a14ad46869ce411e80874d9 - name: os_glance scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_glance - version: f39ef212bfa2edff8334bfb632cc463001c77c11 + version: a1e3588769e6d17b074398f0ef2675f34438b73b - name: os_gnocchi scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_gnocchi - version: 318bd76e5e72402e8ff5b372b469c27a9395341b + version: f79b0f6e1db40b59390b7e40a90792e72afe55e6 - name: os_heat scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_heat - version: 07d59ddb757b2d2557fba52ac537803e646e65b4 + version: 7a5b703b35f36a5a63ce9934ef585c8967e9de5a - name: os_horizon scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_horizon - version: 69ef49c4f7a42f082f4bcff824d13f57145e2b83 + version: cb4a27da79ad67b2826f637927514e0829c23c0f - name: os_ironic scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_ironic - version: 57e8a0eaaa2159f33e64a1b037180383196919d1 + version: e5c24e40b0d08d8bc7b4641679a8731c2b2aca29 - name: os_magnum scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_magnum - version: 8329c257dff25686827bd1cc904506d76ad1d12f + version: 3eeb33db25db48f04e496a3ee47323fffe2af864 - name: os_trove scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_trove - version: b948402c76d6188caa7be376098354cdb850d638 + version: 0cf74c1a917b07e557411ca1c1376491c97aa0a9 - name: os_neutron scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_neutron - version: 2a92a4e1857e7457683aefd87ee5a4e751fc701a + version: 280788b20099532c13042966defcbcbf5d5dd994 - name: os_nova scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_nova - version: 511963b7921ec7c2db24e8ee1d71a940b0aafae4 + version: 031b386bdd29f895203a3d053c1dabba66cfeeb0 - name: os_rally scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_rally - version: 96153c5b3285d11d00611a03135c9d8f267e0f52 + version: 9125458265088eb8622f28df57f640509546a6d4 - name: os_sahara scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_sahara - version: 012d3f3530f878e5143d58380f94d1f514baad04 + version: 433d624b0ddb0d2778f014a175064572e15ea462 - name: os_swift scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_swift - version: d62d6a23ac0b01d0320dbcb6c710dfd5f3cecfdf + version: 3b91c62e1de6e0d852476e3b74e39b7a55d77ec9 - name: os_tempest scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_tempest - version: 9d2bfb09d1ebbc9102329b0d42de33aa321e57b1 + version: 692209da1fdab6014e13e65be27ffb9b8c8578bb - name: plugins scm: git src: https://git.openstack.org/openstack/openstack-ansible-plugins - version: 3d2e23bb7e1d6775789d7f65ce8a878a7ee1d3c7 + version: 8685a0ba38b7f534dd4db971da6d54b495c79169 - name: rabbitmq_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-rabbitmq_server - version: 9b0ce64fe235705e237bc4b476ecc0ad602d67a8 + version: 50bffbf8f114c8100ec5e86ebac9baba5c4f233d - name: repo_build scm: git src: https://git.openstack.org/openstack/openstack-ansible-repo_build - version: fe3ae20f74a912925d5c78040984957a6d55f9de + version: 9ce713e9762650e1041ba7d9ad3c207a0c65d0c4 - name: repo_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-repo_server - version: 7ea0820e0941282cd5c5cc263e939ffbee54ba52 + version: 275124b643d6e6a9c92d65be7a7f309fe6f0c6dc - name: rsyslog_client scm: git src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_client - version: 19615e47137eee46ee92c0308532fe1d2212333c + version: da0090d48b166e0ffe83c35483572e358a29d523 - name: rsyslog_server scm: git src: https://git.openstack.org/openstack/openstack-ansible-rsyslog_server - version: efd7b21798da49802012e390a0ddf7cc38636eeb + version: 0f4b5ac0e7a170bd9811875965b781d447a5517a - name: sshd scm: git src: https://github.com/willshersystems/ansible-sshd - version: 426e11c4dffeca09fcc4d16103a91e5e65180040 + version: 0.5.1 - name: bird scm: git src: https://github.com/logan2211/ansible-bird - version: 2c4d29560d3617abddf0e63e0c95536364dedd92 + version: '1.2' - name: etcd scm: git src: https://github.com/logan2211/ansible-etcd - version: ef63b0c5fd352b61084fd5aca286ee7f3fea932b + version: '1.2' - name: unbound scm: git src: https://github.com/logan2211/ansible-unbound - version: 5329d03eb9c15373d648a801563087c576bbfcde + version: '1.4' - name: resolvconf scm: git src: https://github.com/logan2211/ansible-resolvconf - version: 3b2b7cf2e900b194829565b351bf32bb63954548 + version: '1.2' - name: os_designate scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_designate - version: b7098a6bdea73c869f45a86e0cc78d21b032161e + version: cc9760d0a08083c1168999422ccefa0d56ead093 - name: ceph.ceph-common scm: git src: https://github.com/ceph/ansible-ceph-common - version: ef149767fa9565ec887f0bdb007ff752bd61e5d5 + version: v2.2.9 - name: ceph.ceph-docker-common scm: git src: https://github.com/ceph/ansible-ceph-docker-common @@ -196,8 +192,16 @@ - name: ceph-mon scm: git src: https://github.com/ceph/ansible-ceph-mon - version: c5be4d6056dfe6a482ca3fcc483a6050cc8929a1 + version: v2.2.9 - name: ceph-osd scm: git src: https://github.com/ceph/ansible-ceph-osd - version: 7bc5a61ceb96e487b7a9fe9643f6dafa6492f2b5 + version: v2.2.9 +- name: os_octavia + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_octavia + version: 48ff9a634a3ea34c6811ebc10057708dc23ed76e +- name: os_molteniron + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_molteniron + version: 0de6fe5251b54881ab3eb8bf0a8d694dd4362430 diff --git a/prototypes/xci/scripts/update-osa-version-files.sh b/prototypes/xci/scripts/update-osa-version-files.sh index 92df978bb..d822d2575 100644..100755 --- a/prototypes/xci/scripts/update-osa-version-files.sh +++ b/prototypes/xci/scripts/update-osa-version-files.sh @@ -9,7 +9,8 @@ ############################################################################## # This script is used to pin the SHAs for the various roles in the -# ansible-role-requirements file +# ansible-role-requirements file. It will also update the SHAs for +# OSA and bifrost. set -e @@ -18,7 +19,7 @@ releng_xci_base="$(dirname $(readlink -f $0))/.." usage() { echo """ - ${0} <openstack-ansible commit SHA> + ${0} <openstack-ansible commit SHA> [<bifrost commit SHA>] """ exit 0 } @@ -32,7 +33,7 @@ printme() { } # Only need a single argument -[[ $# -ne 1 ]] && echo "Invalid number of arguments!" && usage +[[ $# -lt 1 || $# -gt 2 ]] && echo "Invalid number of arguments!" && usage tempdir="$(mktemp -d)" @@ -52,7 +53,7 @@ popd &> /dev/null pushd $tempdir/openstack-ansible &> /dev/null source scripts/sources-branch-updater-lib.sh printme "Synchronize roles and packages" -update_ansible_role_requirements "master" "false" "true" +update_ansible_role_requirements "master" "true" "true" # Construct the ansible-role-requirements-file echo """--- @@ -65,12 +66,17 @@ echo """--- # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## # these versions are extracted based on the osa commit ${1} on $(git --no-pager log -1 --format=%cI $1) -# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=$1 -""" > $releng_xci_base/file/ansible-role-requirements.yml +# https://review.openstack.org/gitweb?p=openstack/openstack-ansible.git;a=commit;h=$1""" > $releng_xci_base/file/ansible-role-requirements.yml cat $tempdir/openstack-ansible/ansible-role-requirements.yml >> $releng_xci_base/file/ansible-role-requirements.yml # Update the pinned OSA version -sed -i "/^export OPENSTACK_OSA_VERSION/s@:-\"[a-z0-9]*@:-\"${1}@" $releng_xci_base/config/pinned-versions +sed -i -e "/^export OPENSTACK_OSA_VERSION/s@:-\"[a-z0-9]*@:-\"${1}@" \ + -e "s/\(^# HEAD of osa.*of \).*/\1$(date +%d\.%m\.%Y)/" $releng_xci_base/config/pinned-versions + +# Update the pinned bifrost version +[[ -n ${2:-} ]] && \ + sed -i -e "/^export OPENSTACK_BIFROST_VERSION/s@:-\"[a-z0-9]*@:-\"${2}@" \ + -e "s/\(^# HEAD of bifrost.*of \).*/\1$(date +%d\.%m\.%Y)/" $releng_xci_base/config/pinned-versions popd &> /dev/null diff --git a/prototypes/xci/xci-deploy.sh b/prototypes/xci/xci-deploy.sh index 3a65983ac..a72c9274a 100755 --- a/prototypes/xci/xci-deploy.sh +++ b/prototypes/xci/xci-deploy.sh @@ -38,6 +38,15 @@ source "$XCI_PATH/config/${XCI_FLAVOR}-vars" source $XCI_PATH/config/env-vars #------------------------------------------------------------------------------- +# Sanitize local development environment variables +#------------------------------------------------------------------------------- +user_local_dev_vars=(OPNFV_RELENG_DEV_PATH OPNFV_OSA_DEV_PATH OPNFV_BIFROST_DEV_PATH) +for local_user_var in ${user_local_dev_vars[@]}; do + [[ -n ${!local_user_var} ]] && export $local_user_var=${!local_user_var%/}/ +done +unset user_local_dev_vars local_user_var + +#------------------------------------------------------------------------------- # Log info to console #------------------------------------------------------------------------------- echo "Info: Starting XCI Deployment" diff --git a/utils/push-test-logs.sh b/utils/push-test-logs.sh index f0c488a5a..5021b7832 100644 --- a/utils/push-test-logs.sh +++ b/utils/push-test-logs.sh @@ -30,7 +30,8 @@ node_list=(\ 'arm-pod1' 'arm-pod3' \ 'huawei-pod1' 'huawei-pod2' 'huawei-pod3' 'huawei-pod4' 'huawei-pod5' \ 'huawei-pod6' 'huawei-pod7' 'huawei-pod12' \ -'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4') +'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4'\ +'zte-virtual1') if [[ ! " ${node_list[@]} " =~ " ${testbed} " ]]; then diff --git a/utils/test/reporting/docker/requirements.pip b/utils/test/reporting/docker/requirements.pip index 6de856e35..aeee3ba96 100644 --- a/utils/test/reporting/docker/requirements.pip +++ b/utils/test/reporting/docker/requirements.pip @@ -12,3 +12,4 @@ PyYAML==3.11 simplejson==3.8.1 jinja2==2.8 tornado==4.4.2 +requests==2.12.5 diff --git a/utils/test/reporting/run_test.sh b/utils/test/reporting/run_test.sh new file mode 100755 index 000000000..8c674ce5f --- /dev/null +++ b/utils/test/reporting/run_test.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -o errexit +set -o pipefail + + +# Get script directory +SCRIPTDIR=`dirname $0` + +# Creating virtual environment +if [ ! -z $VIRTUAL_ENV ]; then + venv=$VIRTUAL_ENV +else + venv=$SCRIPTDIR/.venv + virtualenv $venv +fi + +source $venv/bin/activate + +export CONFIG_REPORTING_YAML=$SCRIPTDIR/reporting.yaml + +# *************** +# Run unit tests +# *************** +echo "Running unit tests..." + +# install python packages +easy_install -U setuptools +easy_install -U pip +pip install -r $SCRIPTDIR/docker/requirements.pip +pip install -e $SCRIPTDIR + +python $SCRIPTDIR/setup.py develop + +# unit tests +# TODO: remove cover-erase +# To be deleted when all functest packages will be listed +nosetests --with-xunit \ + --cover-package=$SCRIPTDIR/utils \ + --with-coverage \ + --cover-xml \ + $SCRIPTDIR/tests/unit +rc=$? + +deactivate diff --git a/utils/test/reporting/run_unit_tests.sh b/utils/test/reporting/run_unit_tests.sh deleted file mode 100755 index 6b0e3b2b1..000000000 --- a/utils/test/reporting/run_unit_tests.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -set -o errexit -set -o pipefail - -# ****************************** -# prepare the env for the tests -# ****************************** -# Either Workspace is set (CI) -if [ -z $WORKSPACE ] -then - WORKSPACE="." -fi - -export CONFIG_REPORTING_YAML=./reporting.yaml - -# *************** -# Run unit tests -# *************** -echo "Running unit tests..." - -# start vitual env -virtualenv $WORKSPACE/reporting_venv -source $WORKSPACE/reporting_venv/bin/activate - -# install python packages -easy_install -U setuptools -easy_install -U pip -pip install -r $WORKSPACE/docker/requirements.pip -pip install -e $WORKSPACE - -python $WORKSPACE/setup.py develop - -# unit tests -# TODO: remove cover-erase -# To be deleted when all functest packages will be listed -nosetests --with-xunit \ - --cover-package=utils \ - --with-coverage \ - --cover-xml \ - tests/unit -rc=$? - -deactivate |