diff options
66 files changed, 534 insertions, 556 deletions
diff --git a/jjb/3rd_party_ci/create-apex-vms.sh b/jjb/3rd_party_ci/create-apex-vms.sh index a076dd084..3f5dbd1c4 100755 --- a/jjb/3rd_party_ci/create-apex-vms.sh +++ b/jjb/3rd_party_ci/create-apex-vms.sh @@ -1,11 +1,15 @@ #!/bin/bash set -e +if [ -z ${WORKSPACE} ]; then + echo "WORKSPACE is unset. Please do so." + exit 1 +fi # wipe the WORKSPACE /bin/rm -rf $WORKSPACE/* - # clone opnfv sdnvpn repo git clone https://gerrit.opnfv.org/gerrit/p/sdnvpn.git $WORKSPACE/sdnvpn + . $WORKSPACE/sdnvpn/odl-pipeline/odl-pipeline-common.sh pushd $LIB ./test_environment.sh --env-number $APEX_ENV_NUMBER --cloner-info $CLONER_INFO --snapshot-disks $SNAPSHOT_DISKS --vjump-hosts $VIRTUAL_JUMPHOSTS diff --git a/jjb/3rd_party_ci/download-netvirt-artifact.sh b/jjb/3rd_party_ci/download-netvirt-artifact.sh index 0a48e3aec..be2d4059a 100755 --- a/jjb/3rd_party_ci/download-netvirt-artifact.sh +++ b/jjb/3rd_party_ci/download-netvirt-artifact.sh @@ -1,6 +1,10 @@ #!/bin/bash set -e +if [ -z ${WORKSPACE} ]; then + echo "WORKSPACE is unset. Please do so." + exit 1 +fi # wipe the WORKSPACE /bin/rm -rf $WORKSPACE/* diff --git a/jjb/3rd_party_ci/functest-netvirt.sh b/jjb/3rd_party_ci/functest-netvirt.sh deleted file mode 100755 index adffaf42d..000000000 --- a/jjb/3rd_party_ci/functest-netvirt.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -e - -# wipe the WORKSPACE -/bin/rm -rf $WORKSPACE/* - -echo "Hello World" diff --git a/jjb/3rd_party_ci/install-netvirt.sh b/jjb/3rd_party_ci/install-netvirt.sh index 96c4b9634..f111d4847 100755 --- a/jjb/3rd_party_ci/install-netvirt.sh +++ b/jjb/3rd_party_ci/install-netvirt.sh @@ -1,5 +1,12 @@ #!/bin/bash set -e + +if [ -z ${WORKSPACE} ]; then + echo "WORKSPACE is unset. Please do so." + exit 1 +fi +# wipe the WORKSPACE +/bin/rm -rf $WORKSPACE/* # clone opnfv sdnvpn repo git clone https://gerrit.opnfv.org/gerrit/p/sdnvpn.git $WORKSPACE/sdnvpn . $WORKSPACE/sdnvpn/odl-pipeline/odl-pipeline-common.sh diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yml index ca1936156..054761ea7 100644 --- a/jjb/3rd_party_ci/odl-netvirt.yml +++ b/jjb/3rd_party_ci/odl-netvirt.yml @@ -20,8 +20,6 @@ slave-label: 'ericsson-virtual5' - 'install-netvirt': slave-label: 'odl-netvirt-virtual' - - 'functest': - slave-label: 'odl-netvirt-virtual' - 'postprocess': slave-label: 'odl-netvirt-virtual' ##################################### @@ -119,9 +117,8 @@ name: functest condition: SUCCESSFUL projects: - - name: 'functest-netvirt-virtual-suite-{stream}' + - name: 'functest-netvirt-virtual-daily-{stream}' predefined-parameters: | - FUNCTEST_SUITE_NAME=vping_userdata,bgpvpn RC_FILE_PATH=/home/jenkins/cloner-info/overcloudrc DEPLOY_SCENARIO=os-odl_l2-bgpvpn-noha node-parameters: true @@ -162,7 +159,7 @@ use-build-blocker: true blocking-jobs: - 'odl-netvirt-verify-virtual-install-.*' - - 'odl-netvirt-verify-virtual-functest-.*' + - 'functest-netvirt-virtual-daily-.*' - 'odl-netvirt-verify-virtual-postprocess-.*' block-level: 'NODE' @@ -200,11 +197,6 @@ - shell: !include-raw: ./install-netvirt.sh - builder: - name: 'netvirt-verify-functest-builder' - builders: - - shell: - !include-raw: ./functest-netvirt.sh -- builder: name: 'netvirt-verify-postprocess-builder' builders: - shell: diff --git a/jjb/3rd_party_ci/postprocess-netvirt.sh b/jjb/3rd_party_ci/postprocess-netvirt.sh index 2e99477c5..5baf378a9 100755 --- a/jjb/3rd_party_ci/postprocess-netvirt.sh +++ b/jjb/3rd_party_ci/postprocess-netvirt.sh @@ -1,14 +1,15 @@ #!/bin/bash set -e +if [ -z ${WORKSPACE} ]; then + echo "WORKSPACE is unset. Please do so." + exit 1 +fi # wipe the WORKSPACE -if [ -z ${WORKSPACE} ]; then echo "WORKSPACE is unset"; else echo "WORKSPACE is set to \"$WORKSPACE\""; fi -WORKSPACE=${WORKSPACE:-$PWD} /bin/rm -rf $WORKSPACE/* -set -e # clone opnfv sdnvpn repo git clone https://gerrit.opnfv.org/gerrit/p/sdnvpn.git $WORKSPACE/sdnvpn . $WORKSPACE/sdnvpn/odl-pipeline/odl-pipeline-common.sh pushd $LIB ./post_process.sh -popd
\ No newline at end of file +popd diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index 22e1dafba..4e88678b4 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -10,26 +10,28 @@ stream: master branch: '{stream}' gs-pathname: '' - colorado: &colorado - stream: colorado + disabled: false + danube: &danube + stream: danube branch: 'stable/{stream}' gs-pathname: '/{stream}' + disabled: true #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- # CI POD's #-------------------------------- -# colorado +# danube #-------------------------------- pod: - armband-baremetal: slave-label: armband-baremetal installer: fuel - <<: *colorado + <<: *danube - armband-virtual: slave-label: armband-virtual installer: fuel - <<: *colorado + <<: *danube #-------------------------------- # master #-------------------------------- @@ -44,16 +46,16 @@ #-------------------------------- # NONE-CI POD's #-------------------------------- -# colorado +# danube #-------------------------------- - arm-pod2: slave-label: arm-pod2 installer: fuel - <<: *colorado + <<: *danube - arm-pod3: slave-label: arm-pod3 installer: fuel - <<: *colorado + <<: *danube #-------------------------------- # master #-------------------------------- @@ -97,6 +99,8 @@ - job-template: name: '{installer}-{scenario}-{pod}-daily-{stream}' + disabled: '{obj:disabled}' + concurrent: false properties: @@ -256,23 +260,23 @@ - trigger: name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 1' + - timed: '0 8 * * 1,3,5,7' - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 2' + - timed: '0 16 * * 2,7' - trigger: name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 3' + - timed: '0 16 * * 1,4,6' - trigger: name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 4' + - timed: '0 8 * * 2,4,6' - trigger: name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-master-trigger' triggers: - - timed: '0 0 * * 5' + - timed: '0 16 * * 3,5' - trigger: name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-master-trigger' triggers: @@ -283,34 +287,34 @@ - timed: '0 0 * * 7' #---------------------------------------------------------------------- -# Enea Armband CI Baremetal Triggers running against colorado branch +# Enea Armband CI Baremetal Triggers running against danube branch #---------------------------------------------------------------------- - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-armband-baremetal-danube-trigger' triggers: - - timed: '0 8 * * 1,3,5,7' + - timed: '0 0 * * 1' - trigger: - name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-danube-trigger' triggers: - - timed: '0 16 * * 2,7' + - timed: '0 0 * * 2' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l2-bgpvpn-ha-armband-baremetal-danube-trigger' triggers: - - timed: '0 8 * * 2,4,6' + - timed: '0 0 * * 4' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l3-nofeature-ha-armband-baremetal-danube-trigger' triggers: - - timed: '0 16 * * 1,4,6' + - timed: '0 0 * * 3' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l2-nofeature-noha-armband-baremetal-danube-trigger' triggers: - - timed: '0 16 * * 3,5' + - timed: '0 0 * * 5' - trigger: - name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l2-sfc-ha-armband-baremetal-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-colorado-trigger' + name: 'fuel-os-odl_l2-sfc-noha-armband-baremetal-danube-trigger' triggers: - timed: '' #--------------------------------------------------------------- @@ -345,34 +349,34 @@ triggers: - timed: '0 2 * * 7' #-------------------------------------------------------------------- -# Enea Armband CI Virtual Triggers running against colorado branch +# Enea Armband CI Virtual Triggers running against danube branch #-------------------------------------------------------------------- - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-colorado-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-colorado-trigger' + name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-colorado-trigger' + name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-colorado-trigger' + name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-colorado-trigger' + name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-colorado-trigger' + name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-colorado-trigger' + name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-danube-trigger' triggers: - timed: '' #---------------------------------------------------------- @@ -407,34 +411,34 @@ triggers: - timed: '' #--------------------------------------------------------------- -# Enea Armband POD 2 Triggers running against colorado branch +# Enea Armband POD 2 Triggers running against danube branch #--------------------------------------------------------------- - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-colorado-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-arm-pod2-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-colorado-trigger' + name: 'fuel-os-nosdn-nofeature-ha-arm-pod2-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-colorado-trigger' + name: 'fuel-os-odl_l3-nofeature-ha-arm-pod2-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-colorado-trigger' + name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod2-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-colorado-trigger' + name: 'fuel-os-odl_l2-nofeature-noha-arm-pod2-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-colorado-trigger' + name: 'fuel-os-odl_l2-sfc-ha-arm-pod2-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-colorado-trigger' + name: 'fuel-os-odl_l2-sfc-noha-arm-pod2-danube-trigger' triggers: - timed: '' #---------------------------------------------------------- @@ -469,33 +473,33 @@ triggers: - timed: '' #--------------------------------------------------------------- -# Enea Armband POD 3 Triggers running against colorado branch +# Enea Armband POD 3 Triggers running against danube branch #--------------------------------------------------------------- - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-colorado-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-colorado-trigger' + name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-colorado-trigger' + name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-colorado-trigger' + name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-colorado-trigger' + name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-colorado-trigger' + name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-danube-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-colorado-trigger' + name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-danube-trigger' triggers: - timed: '' diff --git a/jjb/armband/armband-project-jobs.yml b/jjb/armband/armband-project-jobs.yml index e3853fa16..981f509c7 100644 --- a/jjb/armband/armband-project-jobs.yml +++ b/jjb/armband/armband-project-jobs.yml @@ -16,13 +16,17 @@ - master: branch: '{stream}' gs-pathname: '' - - colorado: + disabled: false + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' + disabled: true - job-template: name: 'armband-{installer}-build-daily-{stream}' + disabled: '{obj:disabled}' + concurrent: false properties: diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml index 9bfe4f4fd..d5333eb07 100644 --- a/jjb/armband/armband-verify-jobs.yml +++ b/jjb/armband/armband-verify-jobs.yml @@ -12,7 +12,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/availability/availability.yml b/jjb/availability/availability.yml index ae9f163e6..c3603a65f 100644 --- a/jjb/availability/availability.yml +++ b/jjb/availability/availability.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: 'false' - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: 'false' diff --git a/jjb/barometer/barometer.yml b/jjb/barometer/barometer.yml index 41a80addc..e789b7f7a 100644 --- a/jjb/barometer/barometer.yml +++ b/jjb/barometer/barometer.yml @@ -17,10 +17,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true - job-template: name: 'barometer-verify-{stream}' diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index 0054dddaf..92ec2d866 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -18,8 +18,8 @@ gs-packagepath: '/{suite}' #docker tag used for version control docker-tag: 'latest' - colorado: &colorado - stream: colorado + danube: &danube + stream: danube branch: 'stable/{stream}' gs-pathname: '/{stream}' gs-packagepath: '/{stream}/{suite}' @@ -48,12 +48,12 @@ slave-label: compass-baremetal installer: compass auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - virtual: slave-label: compass-virtual installer: compass auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube #-------------------------------- # None-CI PODs @@ -62,7 +62,7 @@ # slave-label: '{pod}' # installer: joid # auto-trigger-name: 'daily-trigger-disabled' - # <<: *colorado + # <<: *danube # - orange-pod2: # slave-label: '{pod}' # installer: joid diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml index a461c6a66..03e40dc0e 100644 --- a/jjb/bottlenecks/bottlenecks-project-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml @@ -20,7 +20,7 @@ #This is used for different test suite dependent packages storage gs-packagepath: '/{suite}' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' gs-packagepath: '/{stream}/{suite}' diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index b4910cfc2..8800a155f 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -10,10 +10,12 @@ stream: master branch: '{stream}' gs-pathname: '' -# colorado: &colorado -# stream: colorado -# branch: 'stable/{stream}' -# gs-pathname: '/{stream}' + disabled: false + danube: &danube + stream: danube + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: true #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- @@ -28,14 +30,14 @@ slave-label: compass-virtual os-version: 'xenial' <<: *master -# - baremetal: -# slave-label: compass-baremetal -# os-version: 'trusty' -# <<: *colorado -# - virtual: -# slave-label: compass-virtual -# os-version: 'trusty' -# <<: *colorado + - baremetal: + slave-label: compass-baremetal + os-version: 'trusty' + <<: *danube + - virtual: + slave-label: compass-virtual + os-version: 'trusty' + <<: *danube #-------------------------------- # master #-------------------------------- @@ -80,6 +82,8 @@ - job-template: name: 'compass-{scenario}-{pod}-daily-{stream}' + disabled: '{obj:disabled}' + concurrent: true properties: @@ -309,35 +313,35 @@ - timed: '' - trigger: - name: 'compass-os-nosdn-nofeature-ha-baremetal-colorado-trigger' + name: 'compass-os-nosdn-nofeature-ha-baremetal-danube-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-nofeature-ha-baremetal-colorado-trigger' + name: 'compass-os-odl_l2-nofeature-ha-baremetal-danube-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l3-nofeature-ha-baremetal-colorado-trigger' + name: 'compass-os-odl_l3-nofeature-ha-baremetal-danube-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-onos-nofeature-ha-baremetal-colorado-trigger' + name: 'compass-os-onos-nofeature-ha-baremetal-danube-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-ocl-nofeature-ha-baremetal-colorado-trigger' + name: 'compass-os-ocl-nofeature-ha-baremetal-danube-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-onos-sfc-ha-baremetal-colorado-trigger' + name: 'compass-os-onos-sfc-ha-baremetal-danube-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-odl_l2-moon-ha-baremetal-colorado-trigger' + name: 'compass-os-odl_l2-moon-ha-baremetal-danube-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-nosdn-kvm-ha-baremetal-colorado-trigger' + name: 'compass-os-nosdn-kvm-ha-baremetal-danube-trigger' triggers: - timed: '' @@ -375,34 +379,34 @@ - timed: '' - trigger: - name: 'compass-os-nosdn-nofeature-ha-virtual-colorado-trigger' + name: 'compass-os-nosdn-nofeature-ha-virtual-danube-trigger' triggers: - timed: '0 21 * * *' - trigger: - name: 'compass-os-odl_l2-nofeature-ha-virtual-colorado-trigger' + name: 'compass-os-odl_l2-nofeature-ha-virtual-danube-trigger' triggers: - timed: '0 20 * * *' - trigger: - name: 'compass-os-odl_l3-nofeature-ha-virtual-colorado-trigger' + name: 'compass-os-odl_l3-nofeature-ha-virtual-danube-trigger' triggers: - timed: '0 19 * * *' - trigger: - name: 'compass-os-onos-nofeature-ha-virtual-colorado-trigger' + name: 'compass-os-onos-nofeature-ha-virtual-danube-trigger' triggers: - timed: '0 18 * * *' - trigger: - name: 'compass-os-ocl-nofeature-ha-virtual-colorado-trigger' + name: 'compass-os-ocl-nofeature-ha-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'compass-os-onos-sfc-ha-virtual-colorado-trigger' + name: 'compass-os-onos-sfc-ha-virtual-danube-trigger' triggers: - timed: '0 15 * * *' - trigger: - name: 'compass-os-odl_l2-moon-ha-virtual-colorado-trigger' + name: 'compass-os-odl_l2-moon-ha-virtual-danube-trigger' triggers: - timed: '0 14 * * *' - trigger: - name: 'compass-os-nosdn-kvm-ha-virtual-colorado-trigger' + name: 'compass-os-nosdn-kvm-ha-virtual-danube-trigger' triggers: - timed: '' diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml index 6cf35d631..6b4080384 100644 --- a/jjb/compass4nfv/compass-project-jobs.yml +++ b/jjb/compass4nfv/compass-project-jobs.yml @@ -12,9 +12,11 @@ - master: branch: '{stream}' gs-pathname: '' - - colorado: + disabled: false + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' + disabled: true jobs: - 'compass-build-iso-{stream}' @@ -26,6 +28,8 @@ - job-template: name: 'compass-build-iso-{stream}' + disabled: '{obj:disabled}' + concurrent: true properties: @@ -65,6 +69,8 @@ description: "build ppa(using docker) in huawei lab" + disabled: '{obj:disabled}' + node: huawei-build concurrent: true diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml index 2277e92ab..6ef5fbb67 100644 --- a/jjb/compass4nfv/compass-verify-jobs.yml +++ b/jjb/compass4nfv/compass-verify-jobs.yml @@ -12,10 +12,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: true + disabled: false distro: - 'xenial': @@ -132,17 +132,24 @@ node-parameters: true kill-phase-on: FAILURE abort-all-job: true -# - multijob: -# name: smoke-test -# condition: SUCCESSFUL -# projects: -# - name: 'functest-compass-virtual-suite-{stream}' -# current-parameters: true -# predefined-parameters: -# FUNCTEST_SUITE_NAME=healthcheck -# node-parameters: true -# kill-phase-on: NEVER -# abort-all-job: true + - multijob: + name: smoke-test + condition: SUCCESSFUL + projects: + - name: 'functest-compass-virtual-suite-{stream}' + current-parameters: true + predefined-parameters: + FUNCTEST_SUITE_NAME=healthcheck + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + - name: 'functest-compass-virtual-suite-{stream}' + current-parameters: true + predefined-parameters: + FUNCTEST_SUITE_NAME=vping_ssh + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true - job-template: name: 'compass-verify-{phase}-{distro}-{stream}' diff --git a/jjb/conductor/conductor.yml b/jjb/conductor/conductor.yml index f9978804f..fccd53e7f 100644 --- a/jjb/conductor/conductor.yml +++ b/jjb/conductor/conductor.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/copper/copper.yml b/jjb/copper/copper.yml index 9c736db7c..24f65a358 100644 --- a/jjb/copper/copper.yml +++ b/jjb/copper/copper.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index e225a123f..ab9ef8f6c 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -9,7 +9,7 @@ gs-pathname: '' docker-tag: 'master' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' docker-tag: 'stable' diff --git a/jjb/domino/domino.yml b/jjb/domino/domino.yml index b6533009e..532fce687 100644 --- a/jjb/domino/domino.yml +++ b/jjb/domino/domino.yml @@ -11,7 +11,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/dpacc/dpacc.yml b/jjb/dpacc/dpacc.yml index 3eb581ec1..27e663507 100644 --- a/jjb/dpacc/dpacc.yml +++ b/jjb/dpacc/dpacc.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml index f8fdeb811..4920bffea 100644 --- a/jjb/functest/functest-ci-jobs.yml +++ b/jjb/functest/functest-ci-jobs.yml @@ -14,8 +14,8 @@ branch: '{stream}' gs-pathname: '' docker-tag: 'latest' - colorado: &colorado - stream: colorado + danube: &danube + stream: danube branch: 'stable/{stream}' gs-pathname: '/{stream}' docker-tag: 'stable' @@ -40,11 +40,11 @@ - baremetal: slave-label: fuel-baremetal installer: fuel - <<: *colorado + <<: *danube - virtual: slave-label: fuel-virtual installer: fuel - <<: *colorado + <<: *danube # joid CI PODs - baremetal: slave-label: joid-baremetal @@ -57,11 +57,11 @@ - baremetal: slave-label: joid-baremetal installer: joid - <<: *colorado + <<: *danube - virtual: slave-label: joid-virtual installer: joid - <<: *colorado + <<: *danube # compass CI PODs - baremetal: slave-label: compass-baremetal @@ -74,11 +74,11 @@ - baremetal: slave-label: compass-baremetal installer: compass - <<: *colorado + <<: *danube - virtual: slave-label: compass-virtual installer: compass - <<: *colorado + <<: *danube # apex CI PODs - apex-verify-master: slave-label: '{pod}' @@ -88,14 +88,14 @@ slave-label: '{pod}' installer: apex <<: *master - - apex-verify-colorado: - slave-label: '{pod}' - installer: apex - <<: *colorado - - apex-daily-colorado: - slave-label: '{pod}' - installer: apex - <<: *colorado +# - apex-verify-danube: +# slave-label: '{pod}' +# installer: apex +# <<: *danube +# - apex-daily-danube: +# slave-label: '{pod}' +# installer: apex +# <<: *danube # armband CI PODs - armband-baremetal: slave-label: armband-baremetal @@ -108,11 +108,11 @@ - armband-baremetal: slave-label: armband-baremetal installer: fuel - <<: *colorado + <<: *danube - armband-virtual: slave-label: armband-virtual installer: fuel - <<: *colorado + <<: *danube # netvirt 3rd party ci - virtual: slave-label: odl-netvirt-virtual @@ -156,7 +156,7 @@ - zte-pod1: slave-label: '{pod}' installer: fuel - <<: *colorado + <<: *danube - zte-pod2: slave-label: '{pod}' installer: fuel @@ -168,15 +168,15 @@ - zte-pod3: slave-label: '{pod}' installer: fuel - <<: *colorado + <<: *danube - arm-pod2: slave-label: '{pod}' installer: fuel - <<: *colorado + <<: *danube - arm-pod3: slave-label: '{pod}' installer: fuel - <<: *colorado + <<: *danube # PODs for verify jobs triggered by each patch upload - ool-virtual1: slave-label: '{pod}' diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml index 11bc364e1..6a0768c9c 100644 --- a/jjb/functest/functest-project-jobs.yml +++ b/jjb/functest/functest-project-jobs.yml @@ -15,10 +15,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: true + disabled: false - job-template: name: 'functest-verify-{stream}' diff --git a/jjb/functest/functest-suite.sh b/jjb/functest/functest-suite.sh index a30fb5973..9dc8deca0 100755 --- a/jjb/functest/functest-suite.sh +++ b/jjb/functest/functest-suite.sh @@ -12,3 +12,7 @@ else fi container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1) docker exec $container_id $cmd + +ret_value=$? + +exit $ret_value diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 39a1b1b9c..9d08487a3 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -364,6 +364,20 @@ default: /root/.ssh/id_rsa description: 'SSH key to use for Apex' - parameter: + name: 'intel-pod9-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod9 + default-slaves: + - intel-pod9 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' +- parameter: name: 'intel-pod3-defaults' parameters: - node: diff --git a/jjb/infra/bifrost-upload-logs.sh b/jjb/infra/bifrost-upload-logs.sh new file mode 100755 index 000000000..8e1982dff --- /dev/null +++ b/jjb/infra/bifrost-upload-logs.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 SUSE. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -eu +set -o pipefail + +BIFROST_CONSOLE_LOG="${BUILD_URL}/consoleText" +BIFROST_GS_URL=${BIFROST_LOG_URL/http:/gs:} +BIFROST_COMPRESS_SUFFIX="tar.gz" +BIFROST_COMPRESSED_LOGS=() + +echo "Uploading build logs to ${BIFROST_LOG_URL}" + +echo "Uploading console output" +curl -L ${BIFROST_CONSOLE_LOG} | gsutil cp - ${BIFROST_GS_URL}/build_log.txt + +[[ ! -d ${WORKSPACE}/logs ]] && exit 0 + +pushd ${WORKSPACE}/logs/ &> /dev/null +for x in *.log; do + echo "Compressing and uploading $x" + tar -czf - $x | gsutil cp - ${BIFROST_GS_URL}/${x}.${BIFROST_COMPRESS_SUFFIX} 1>/dev/null + BIFROST_COMPRESSED_LOGS+=(${x}.${BIFROST_COMPRESS_SUFFIX}) +done +popd &> /dev/null + +echo "Generating the landing page" +cat > index.html << EOF +<html> +<h1>Build results for <a href=https://$GERRIT_NAME/#/c/$GERRIT_CHANGE_NUMBER>$GERRIT_NAME/$GERRIT_CHANGE_NUMBER</a></h1> +<h2>Job: $JOB_NAME</h2> +<ul> +<li><a href=${BIFROST_LOG_URL}/build_log.txt>build_log.txt</a></li> +EOF + +for x in ${BIFROST_COMPRESSED_LOGS[@]}; do + echo "<li><a href=${BIFROST_LOG_URL}/${x}>${x}</a></li>" >> index.html +done + +cat >> index.html << EOF +</ul> +</html> +EOF + +gsutil cp index.html ${BIFROST_GS_URL}/index.html diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml index 422a42274..6232859ee 100644 --- a/jjb/infra/bifrost-verify-jobs.yml +++ b/jjb/infra/bifrost-verify-jobs.yml @@ -120,6 +120,9 @@ - label: name: SLAVE_LABEL default: 'infra-{type}-{distro}' + - string: + name: BIFROST_LOG_URL + default: 'http://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER/$JOB_NAME' scm: - git: @@ -137,10 +140,9 @@ branch: '{branch}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - shell: - !include-raw-escape: ./bifrost-verify.sh + - bifrost-set-name + - bifrost-build + - bifrost-artifacts-upload publishers: - email: @@ -161,7 +163,7 @@ exclude-no-code-change: 'false' - comment-added-contains-event: comment-contains-value: 'recheck' - custom-url: '* $JOB_NAME $BUILD_URL' + custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html' silent-start: true projects: - project-compare-type: 'PLAIN' @@ -190,6 +192,7 @@ comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' + custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html' projects: - project-compare-type: 'ANT' project-pattern: 'releng' @@ -202,3 +205,24 @@ - compare-type: ANT pattern: 'jjb/infra/**' readable-message: true + +#--------------------------- +# builder macros +#--------------------------- +- builder: + name: bifrost-set-name + builders: + - description-setter: + description: "Built on $NODE_NAME" + +- builder: + name: bifrost-build + builders: + - shell: + !include-raw: ./bifrost-verify.sh + +- builder: + name: bifrost-artifacts-upload + builders: + - shell: + !include-raw: ./bifrost-upload-logs.sh diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yml index db662aed8..da54c521e 100644 --- a/jjb/ipv6/ipv6.yml +++ b/jjb/ipv6/ipv6.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml index 20429f1a4..91fcc8814 100644 --- a/jjb/joid/joid-daily-jobs.yml +++ b/jjb/joid/joid-daily-jobs.yml @@ -17,10 +17,10 @@ branch: '{stream}' disabled: false gs-pathname: '' - colorado: &colorado - stream: colorado + danube: &danube + stream: danube branch: 'stable/{stream}' - disabled: false + disabled: true gs-pathname: '/{stream}' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING @@ -36,10 +36,10 @@ <<: *master - baremetal: slave-label: joid-baremetal - <<: *colorado + <<: *danube - virtual: slave-label: joid-virtual - <<: *colorado + <<: *danube #-------------------------------- # None-CI PODs #-------------------------------- @@ -226,17 +226,17 @@ name: 'joid-os-nosdn-nofeature-ha-orange-pod1-master-trigger' triggers: - timed: '' -# os-nosdn-nofeature-ha trigger - branch: colorado +# os-nosdn-nofeature-ha trigger - branch: danube - trigger: - name: 'joid-os-nosdn-nofeature-ha-baremetal-colorado-trigger' + name: 'joid-os-nosdn-nofeature-ha-baremetal-danube-trigger' triggers: - timed: '0 2 * * *' - trigger: - name: 'joid-os-nosdn-nofeature-ha-virtual-colorado-trigger' + name: 'joid-os-nosdn-nofeature-ha-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-nosdn-nofeature-ha-orange-pod1-colorado-trigger' + name: 'joid-os-nosdn-nofeature-ha-orange-pod1-danube-trigger' triggers: - timed: '' # os-odl_l2-nofeature-ha trigger - branch: master @@ -252,17 +252,17 @@ name: 'joid-os-odl_l2-nofeature-ha-orange-pod1-master-trigger' triggers: - timed: '' -# os-odl_l2-nofeature-ha trigger - branch: colorado +# os-odl_l2-nofeature-ha trigger - branch: danube - trigger: - name: 'joid-os-odl_l2-nofeature-ha-baremetal-colorado-trigger' + name: 'joid-os-odl_l2-nofeature-ha-baremetal-danube-trigger' triggers: - timed: '0 7 * * *' - trigger: - name: 'joid-os-odl_l2-nofeature-ha-virtual-colorado-trigger' + name: 'joid-os-odl_l2-nofeature-ha-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-odl_l2-nofeature-ha-orange-pod1-colorado-trigger' + name: 'joid-os-odl_l2-nofeature-ha-orange-pod1-danube-trigger' triggers: - timed: '' # os-onos-nofeature-ha trigger - branch: master @@ -278,17 +278,17 @@ name: 'joid-os-onos-nofeature-ha-orange-pod1-master-trigger' triggers: - timed: '' -# os-onos-nofeature-ha trigger - branch: colorado +# os-onos-nofeature-ha trigger - branch: danube - trigger: - name: 'joid-os-onos-nofeature-ha-baremetal-colorado-trigger' + name: 'joid-os-onos-nofeature-ha-baremetal-danube-trigger' triggers: - timed: '0 12 * * *' - trigger: - name: 'joid-os-onos-nofeature-ha-virtual-colorado-trigger' + name: 'joid-os-onos-nofeature-ha-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-onos-nofeature-ha-orange-pod1-colorado-trigger' + name: 'joid-os-onos-nofeature-ha-orange-pod1-danube-trigger' triggers: - timed: '' # os-onos-sfc-ha trigger - branch: master @@ -304,17 +304,17 @@ name: 'joid-os-onos-sfc-ha-orange-pod1-master-trigger' triggers: - timed: '' -# os-onos-sfc-ha trigger - branch: colorado +# os-onos-sfc-ha trigger - branch: danube - trigger: - name: 'joid-os-onos-sfc-ha-baremetal-colorado-trigger' + name: 'joid-os-onos-sfc-ha-baremetal-danube-trigger' triggers: - timed: '0 17 * * *' - trigger: - name: 'joid-os-onos-sfc-ha-virtual-colorado-trigger' + name: 'joid-os-onos-sfc-ha-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-onos-sfc-ha-orange-pod1-colorado-trigger' + name: 'joid-os-onos-sfc-ha-orange-pod1-danube-trigger' triggers: - timed: '' # os-nosdn-lxd-noha trigger - branch: master @@ -330,17 +330,17 @@ name: 'joid-os-nosdn-lxd-noha-orange-pod1-master-trigger' triggers: - timed: '' -# os-nosdn-lxd-noha trigger - branch: colorado +# os-nosdn-lxd-noha trigger - branch: danube - trigger: - name: 'joid-os-nosdn-lxd-noha-baremetal-colorado-trigger' + name: 'joid-os-nosdn-lxd-noha-baremetal-danube-trigger' triggers: - timed: '0 22 * * *' - trigger: - name: 'joid-os-nosdn-lxd-noha-virtual-colorado-trigger' + name: 'joid-os-nosdn-lxd-noha-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-nosdn-lxd-noha-orange-pod1-colorado-trigger' + name: 'joid-os-nosdn-lxd-noha-orange-pod1-danube-trigger' triggers: - timed: '' # os-nosdn-lxd-ha trigger - branch: master @@ -356,17 +356,17 @@ name: 'joid-os-nosdn-lxd-ha-orange-pod1-master-trigger' triggers: - timed: '' -# os-nosdn-lxd-ha trigger - branch: colorado +# os-nosdn-lxd-ha trigger - branch: danube - trigger: - name: 'joid-os-nosdn-lxd-ha-baremetal-colorado-trigger' + name: 'joid-os-nosdn-lxd-ha-baremetal-danube-trigger' triggers: - timed: '0 10 * * *' - trigger: - name: 'joid-os-nosdn-lxd-ha-virtual-colorado-trigger' + name: 'joid-os-nosdn-lxd-ha-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-nosdn-lxd-ha-orange-pod1-colorado-trigger' + name: 'joid-os-nosdn-lxd-ha-orange-pod1-danube-trigger' triggers: - timed: '' # os-nosdn-nofeature-noha trigger - branch: master @@ -382,16 +382,16 @@ name: 'joid-os-nosdn-nofeature-noha-orange-pod1-master-trigger' triggers: - timed: '' -# os-nosdn-nofeature-noha trigger - branch: colorado +# os-nosdn-nofeature-noha trigger - branch: danube - trigger: - name: 'joid-os-nosdn-nofeature-noha-baremetal-colorado-trigger' + name: 'joid-os-nosdn-nofeature-noha-baremetal-danube-trigger' triggers: - timed: '0 4 * * *' - trigger: - name: 'joid-os-nosdn-nofeature-noha-virtual-colorado-trigger' + name: 'joid-os-nosdn-nofeature-noha-virtual-danube-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-nosdn-nofeature-noha-orange-pod1-colorado-trigger' + name: 'joid-os-nosdn-nofeature-noha-orange-pod1-danube-trigger' triggers: - timed: '' diff --git a/jjb/joid/joid-verify-jobs.yml b/jjb/joid/joid-verify-jobs.yml index 516e822a7..6e821a502 100644 --- a/jjb/joid/joid-verify-jobs.yml +++ b/jjb/joid/joid-verify-jobs.yml @@ -12,7 +12,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false @@ -54,7 +54,7 @@ use-build-blocker: true blocking-jobs: - 'joid-verify-master' - - 'joid-verify-colorado' + - 'joid-verify-danube' block-level: 'NODE' scm: diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml index 8ab821c9b..60f8de8c4 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yml @@ -8,7 +8,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/multisite/multisite.yml b/jjb/multisite/multisite.yml index cfe9b2d13..6b6406983 100644 --- a/jjb/multisite/multisite.yml +++ b/jjb/multisite/multisite.yml @@ -18,7 +18,7 @@ gs-pathname: '' disabled: false timed: '@midnight' - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/octopus/octopus.yml b/jjb/octopus/octopus.yml index 71d6a41fe..b820ecb0e 100644 --- a/jjb/octopus/octopus.yml +++ b/jjb/octopus/octopus.yml @@ -14,7 +14,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/onosfw/onosfw.yml b/jjb/onosfw/onosfw.yml index 07bcdc5f6..d3a845403 100644 --- a/jjb/onosfw/onosfw.yml +++ b/jjb/onosfw/onosfw.yml @@ -13,10 +13,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true project: 'onosfw' diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml index d8cfabc05..0d4c46199 100644 --- a/jjb/opnfvdocs/opnfvdocs.yml +++ b/jjb/opnfvdocs/opnfvdocs.yml @@ -17,10 +17,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true ######################## # job templates diff --git a/jjb/ovsnfv/ovsnfv.yml b/jjb/ovsnfv/ovsnfv.yml index a5b8fd812..9b2adf3a8 100644 --- a/jjb/ovsnfv/ovsnfv.yml +++ b/jjb/ovsnfv/ovsnfv.yml @@ -13,10 +13,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true - job-template: name: 'ovsnfv-verify-{stream}' diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yml index 50c7d2585..de5587ed8 100644 --- a/jjb/parser/parser.yml +++ b/jjb/parser/parser.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml index 1a605d395..dbf1b92a4 100644 --- a/jjb/pharos/pharos.yml +++ b/jjb/pharos/pharos.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/prediction/prediction.yml b/jjb/prediction/prediction.yml index c0066bf7f..fba5741ac 100644 --- a/jjb/prediction/prediction.yml +++ b/jjb/prediction/prediction.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml index 38e181476..a0af6f41e 100644 --- a/jjb/promise/promise.yml +++ b/jjb/promise/promise.yml @@ -15,7 +15,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml index be04b15c9..02dfb7560 100644 --- a/jjb/releng/opnfv-docker.yml +++ b/jjb/releng/opnfv-docker.yml @@ -10,10 +10,10 @@ stream: master branch: '{stream}' disabled: false - colorado: &colorado - stream: colorado + danube: &danube + stream: danube branch: 'stable/{stream}' - disabled: false + disabled: true project: # projects with jobs for master @@ -33,13 +33,13 @@ <<: *master # projects with jobs for stable - 'bottlenecks': - <<: *colorado + <<: *danube - 'functest': - <<: *colorado + <<: *danube - 'storperf': - <<: *colorado + <<: *danube - 'yardstick': - <<: *colorado + <<: *danube jobs: - '{project}-docker-build-push-{stream}' diff --git a/jjb/releng/opnfv-docs.yml b/jjb/releng/opnfv-docs.yml index cd70a80e4..f6092eee0 100644 --- a/jjb/releng/opnfv-docs.yml +++ b/jjb/releng/opnfv-docs.yml @@ -17,11 +17,11 @@ doc-version: '' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' doc-version: '3.0' gs-pathname: '/{stream}/{doc-version}' - disabled: false + disabled: true ######################## # job templates diff --git a/jjb/releng/opnfv-lint.yml b/jjb/releng/opnfv-lint.yml index a96fce6b0..590790f89 100644 --- a/jjb/releng/opnfv-lint.yml +++ b/jjb/releng/opnfv-lint.yml @@ -16,7 +16,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/releng/testapi-automate.yml b/jjb/releng/testapi-automate.yml index 9139394ed..376288505 100644 --- a/jjb/releng/testapi-automate.yml +++ b/jjb/releng/testapi-automate.yml @@ -63,7 +63,7 @@ name: testapi-doc-build builders: - shell: | - python ./utils/test/testapi/htmlize/htmlize.py -o ${WORKSPACE}/ + bash ./utils/test/testapi/htmlize/doc-build.sh - builder: name: start-testapi-server diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml index 1a2eb5e31..8f42f8c06 100644 --- a/jjb/storperf/storperf.yml +++ b/jjb/storperf/storperf.yml @@ -13,10 +13,10 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true - job-template: name: 'storperf-verify-{stream}' @@ -144,15 +144,14 @@ # Required Variables: # stream: branch with - in place of / (eg. stable) # branch: branch (eg. stable) - node: opnfv-build-ubuntu - - disabled: true + disabled: '{obj:disabled}' parameters: - project-parameter: project: '{project}' - gerrit-parameter: branch: '{branch}' + - 'intel-pod9-defaults' scm: - git-scm diff --git a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml index 54e83386b..c129f4937 100644 --- a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml +++ b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml @@ -11,7 +11,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml index fe8ea5381..4cfe5d98f 100644 --- a/jjb/vswitchperf/vswitchperf.yml +++ b/jjb/vswitchperf/vswitchperf.yml @@ -15,10 +15,10 @@ gs-pathname: '' disabled: false slave-label: 'opnfv-build-ubuntu' - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true slave-label: 'intel-pod3' - job-template: diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index 1ad5417d4..ed2dccab8 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -14,8 +14,8 @@ branch: '{stream}' gs-pathname: '' docker-tag: 'latest' - colorado: &colorado - stream: colorado + danube: &danube + stream: danube branch: 'stable/{stream}' gs-pathname: '{stream}' docker-tag: 'stable' @@ -43,12 +43,12 @@ slave-label: fuel-baremetal installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - virtual: slave-label: fuel-virtual installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube # armband CI PODs - armband-baremetal: slave-label: armband-baremetal @@ -64,12 +64,12 @@ slave-label: armband-baremetal installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - armband-virtual: slave-label: armband-virtual installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube # joid CI PODs - baremetal: slave-label: joid-baremetal @@ -85,12 +85,12 @@ slave-label: joid-baremetal installer: joid auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - virtual: slave-label: joid-virtual installer: joid auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube # compass CI PODs - baremetal: @@ -107,12 +107,12 @@ slave-label: compass-baremetal installer: compass auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - virtual: slave-label: compass-virtual installer: compass auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube #-------------------------------- # Installers not using labels # CI PODs @@ -128,7 +128,7 @@ slave-label: '{pod}' installer: apex auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube #-------------------------------- # None-CI PODs #-------------------------------- @@ -146,7 +146,7 @@ slave-label: '{pod}' installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - zte-pod2: slave-label: '{pod}' installer: fuel @@ -161,7 +161,7 @@ slave-label: '{pod}' installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - arm-pod2: slave-label: '{pod}' installer: fuel @@ -171,7 +171,7 @@ slave-label: '{pod}' installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - arm-pod3: slave-label: '{pod}' installer: fuel @@ -181,7 +181,7 @@ slave-label: '{pod}' installer: fuel auto-trigger-name: 'daily-trigger-disabled' - <<: *colorado + <<: *danube - orange-pod2: slave-label: '{pod}' installer: joid diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml index 48c9d9d56..a54750ef7 100644 --- a/jjb/yardstick/yardstick-project-jobs.yml +++ b/jjb/yardstick/yardstick-project-jobs.yml @@ -16,7 +16,7 @@ branch: '{stream}' gs-pathname: '' disabled: false - - colorado: + - danube: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false diff --git a/modules/opnfv/utils/constants.py b/modules/opnfv/utils/constants.py index a69cedda3..ed83488d4 100644 --- a/modules/opnfv/utils/constants.py +++ b/modules/opnfv/utils/constants.py @@ -13,3 +13,12 @@ VERSIONS = ['arno', 'brahmaputra', 'colorado', 'danube'] EXIT_OK = 0 EXIT_RUN_ERROR = -1 EXIT_PUSH_TO_TEST_DB_ERROR = -2 + +class Constants(object): + INSTALLERS = ['apex', 'fuel', 'compass', 'joid', "daisy"] + VERSIONS = ['arno', 'brahmaputra', 'colorado', 'danube'] + + EX_OK = 0 + EX_RUN_ERROR = -1 + EX_TEST_FAIL = -2 + EX_PUSH_RESULT_FAIL = -3 diff --git a/utils/fetch_os_creds.sh b/utils/fetch_os_creds.sh index 3667dbe6c..856f69a27 100755 --- a/utils/fetch_os_creds.sh +++ b/utils/fetch_os_creds.sh @@ -38,6 +38,16 @@ verify_connectivity() { error "Can not talk to $ip." } + +swap_to_public() { + if [ "$1" != "" ]; then + info "Exchanging keystone public IP in rc file to $public_ip" + sed -i "/OS_AUTH_URL/c\export OS_AUTH_URL=\'$public_ip'" $dest_path + sed -i 's/internalURL/publicURL/g' $dest_path + fi +} + + : ${DEPLOY_TYPE:=''} #Get options @@ -151,6 +161,7 @@ elif [ "$installer_type" == "compass" ]; then | grep identity | awk '{print $14}') fi info "public_ip: $public_ip" + swap_to_public $public_ip elif [ "$installer_type" == "joid" ]; then diff --git a/utils/push-test-logs.sh b/utils/push-test-logs.sh index 913748f03..61a6c327d 100644 --- a/utils/push-test-logs.sh +++ b/utils/push-test-logs.sh @@ -27,7 +27,9 @@ node_list=(\ 'ericsson-virtual1' 'ericsson-virtual2' 'ericsson-virtual3' \ 'ericsson-virtual4' 'ericsson-virtual5' \ 'arm-pod1' 'arm-pod3' \ -'huawei-pod1' 'huawei-pod2' 'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4') +'huawei-pod1' 'huawei-pod2' 'huawei-pod3' 'huawei-pod4' 'huawei-pod5' \ +'huawei-pod6' 'huawei-pod7' \ +'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4') if [[ ! " ${node_list[@]} " =~ " ${testbed} " ]]; then diff --git a/utils/test/declaration/addtestcase.php b/utils/test/declaration/addtestcase.php deleted file mode 100644 index 0e5bed689..000000000 --- a/utils/test/declaration/addtestcase.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php -function sendPostData($url, $post){ - $ch = curl_init($url); - $headers= array('Accept: application/json','Content-Type: application/json'); - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); - curl_setopt($ch, CURLOPT_POSTFIELDS,$post); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); - $result = curl_exec($ch); - curl_close($ch); - return $result; -} - -if(isset($_REQUEST['url'])){ - $url=$_REQUEST['url']; -} -if(isset($_REQUEST['name'])){ - $name=$_REQUEST['name']; -} -if(isset($_REQUEST['desc'])){ - $desc=$_REQUEST['desc']; -} -if(isset($_REQUEST['project'])){ - - $url_send=$_REQUEST['project']; - $url_send="http://testresults.opnfv.org:80/test/api/v1/projects/".$url_send."/cases"; - $str_data=array('url'=>$url,'name'=>$name,'description'=>$desc); - $str_data=json_encode($str_data); - $res=sendPostData($url_send, $str_data); - echo '<div class="alert alert-success"> <strong>Success!</strong> Added New test Case </div>'; - -}else{ - - echo '<div class="alert alert-danger"> <strong>Error!</strong> Failed to Add New test Case </div>'; - -} - -?> - diff --git a/utils/test/declaration/index.php b/utils/test/declaration/index.php deleted file mode 100644 index b2c5d0370..000000000 --- a/utils/test/declaration/index.php +++ /dev/null @@ -1,221 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <title>OPNFV DashBoard</title> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> - <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> -<script> -$(function() { - - $('form#new_testcase').on('submit', function(){ - var selected = $('select#sel_pro2').find("option:selected").val(); - var uri = $('input#uri').val(); - var name = $('input#name').val(); - var desc = $('textarea#desc').val(); - var new_url="http://testresults.opnfv.org:80/test/api/v1/projects/"+selected+"/cases"; - $.post("addtestcase.php", {"project":selected,"url":uri,"name":name,"description":desc}, function(result){ - $("div#result").html(result); - }); - }); - -}); - -$(function() { - - $('select#sel1').on('change', function(){ - var selected = $(this).find("option:selected").val(); - var new_url="http://testresults.opnfv.org:80/test/api/v1/projects/"+selected+"/cases"; - //$.post('testcases.php', {project: selected}); - console.log(selected); - $.post("testcases.php", {project: selected}, function(result){ - $("div#4a").html(result); - }); - - }); - -}); -</script> -<style> -body { - padding : 10px ; -} - -#exTab1 .tab-content { - color : black; - padding : 5px 15px; -} - -#exTab2 h3 { - color : white; - background-color: #428bca; - padding : 5px 15px; -} - -/* remove border radius for the tab */ - -#exTab1 .nav-pills > li > a { - border-radius: 0; -} - -/* change border radius for the tab , apply corners on top*/ - -#exTab3 .nav-pills > li > a { - border-radius: 4px 4px 0 0 ; -} - -#exTab3 .tab-content { - color : white; - background-color: #428bca; - padding : 5px 15px; -} - -</style> -</head> -<body> - -<div class="container"> - <h1>OPNFV DASHBOARD: </h1></div> -<div id="exTab1" class="container"> - <ul class="nav nav-pills"> - <li class="active"> - <a href="#1a" data-toggle="tab">PODS</a> - </li> - <li><a href="#2a" data-toggle="tab">PROJECTS</a> - </li> - <li><a href="#3a" data-toggle="tab">TESTCASES</a> - </li> - <li><a href="#5a" data-toggle="tab">ADD TESTCASE</a> - </li> - <li><a href="http://testresults.opnfv.org/kibana_dashboards/" >RESULTS</a> - </li> - </ul> - <div class="tab-content clearfix"> - <div class="tab-pane active" id="1a"> - <table class="table table-striped"> - <thead> - <tr> - <th>#</th> - <th>Pod Name</th> - <th>Creation Date</th> - <th>Role</th> - <th>Mode</th> - </tr> - </thead> - <?php - $url = "http://testresults.opnfv.org:80/test/api/v1/pods"; - $response = file_get_contents($url); - $data = json_decode($response); - $pods = $data->pods; - $i=1; - foreach ( $pods as $pod ){ - - $column_str=""; - $column_str="<tr><td>".$i."</td>"; - $column_str=$column_str."<td>".$pod->name."</td>"; - $column_str= $column_str."<td>".$pod->creation_date."</td>"; - $column_str= $column_str."<td>".$pod->role."</td>"; - $column_str= $column_str."<td>".$pod->mode."</td>"; - $column_str= $column_str."</tr>"; - echo $column_str; - $i=$i+1; - } - ?> - </table> - </div> - <div class="tab-pane" id="2a"> - <table class="table table-striped"> - <thead> - <tr> - <th>#</th> - <th>Project</th> - <th>Creation Date</th> - </tr> - </thead> - <?php - $url = "http://testresults.opnfv.org:80/test/api/v1/projects"; - $response = file_get_contents($url); - $data = json_decode($response); - $projects=$data->projects; - $i=0; - foreach ( $projects as $project ){ - - $column_str=""; - $column_str="<tr><td>".$i."</td>"; - $column_str=$column_str."<td>".$project->name."</td>"; - $column_str= $column_str."<td>".$project->creation_date."</td>"; - $column_str= $column_str."</tr>"; - echo $column_str; - $i=$i+1; - } -?> - </table> - </div> - <div class="tab-pane" id="3a"> -<div class="form-group"> - <label for="sel1">Select list:</label> - <select class="form-control" id="sel1"> -<?php - $url = "http://testresults.opnfv.org:80/test/api/v1/projects"; - $response = file_get_contents($url); - $data = json_decode($response); - $projects=$data->projects; - $i=0; - $firstvalue=$projects[0]->name; - foreach ( $projects as $project ){ - $column_str=""; - $column_str="<option>".$project->name."</option>"; - echo $column_str; - } - -?> -</select> -</div> - <div class="tab-pane" id="4a"> - <?php - require "testcases.php"; - ?> - </div> - </div> - <div class="tab-pane" id="5a"> - <form role="form" id="new_testcase"> -<div class="form-group"> - <label for="sel1">Select list:</label> - <select class="form-control" id="sel_pro2"> -<?php - $url = "http://testresults.opnfv.org:80/test/api/v1/projects"; - $response = file_get_contents($url); - $data = json_decode($response); - $projects=$data->projects; - $i=0; - $firstvalue=$projects[0]->name; - foreach ( $projects as $project ){ - $column_str=""; - $column_str="<option>".$project->name."</option>"; - echo $column_str; - } -?> -</select> -</div> -<div class="form-group"> <!-- Name field --> - <label class="control-label " for="name">TestCase URI</label> - <input class="form-control" id="uri" name="uri" type="text"/> - </div> -<div class="form-group"> <!-- Name field --> - <label class="control-label " for="name">TestCase Name</label> - <input class="form-control" id="name" name="name" type="text"/> - </div> -<div class="form-group"> <!-- Name field --> - <label class="control-label " for="name">Description</label> - <textarea class="form-control" rows="5" id="desc"></textarea> - </div> - <button type="submit" class="btn btn-default">Submit</button> -</form> - </div> -<div class="container" id="result"></div> - </div> -</div> -</body> -</html> diff --git a/utils/test/declaration/testcases.php b/utils/test/declaration/testcases.php deleted file mode 100644 index 20645807e..000000000 --- a/utils/test/declaration/testcases.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - if(isset($_REQUEST['project'])){ - $selected=$_REQUEST['project']; - } - else{ - $url = "http://testresults.opnfv.org:80/test/api/v1/projects"; - $response = file_get_contents($url); - $data = json_decode($response); - $projects=$data->projects; - $selected=$projects[0]->name; - } - $new_url="http://testresults.opnfv.org:80/test/api/v1/projects/".$selected."/cases"; - $response = file_get_contents($new_url); - $data = json_decode($response); - $testcases=$data->testcases; - $i=0; - $column_str=""; - $column_str=$column_str."<table class=\"table table-striped\"><tr>"; - $column_str=$column_str."<th>#</th><th>Test Case Name</th>"; - $column_str=$column_str."<th>Creation Date</th>"; - $column_str=$column_str."<th>Description</th></tr>"; - foreach ( $testcases as $testcase ){ - $i=$i+1; - $column_str=$column_str."<tr>"; - $column_str=$column_str."<td>".$i."</td>"; - $column_str=$column_str."<td>".$testcase->name."</td>"; - $column_str=$column_str."<td>".$testcase->creation_date."</td>"; - $column_str=$column_str."<td>".$testcase->description."</td>"; - $column_str=$column_str."</tr>"; - - } - $column_str=$column_str."</table>"; - echo $column_str; - -?> - diff --git a/utils/test/testapi/docker/Dockerfile b/utils/test/testapi/docker/Dockerfile index b0272e609..86513e05b 100644 --- a/utils/test/testapi/docker/Dockerfile +++ b/utils/test/testapi/docker/Dockerfile @@ -48,5 +48,5 @@ RUN git clone https://gerrit.opnfv.org/gerrit/releng /home/releng WORKDIR /home/releng/utils/test/testapi/ RUN pip install -r requirements.txt -RUN python setup.py install +RUN bash install.sh CMD ["bash", "docker/start-server.sh"] diff --git a/utils/test/testapi/htmlize/doc-build.sh b/utils/test/testapi/htmlize/doc-build.sh new file mode 100644 index 000000000..e492c97b5 --- /dev/null +++ b/utils/test/testapi/htmlize/doc-build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Create virtual environment +source $WORKSPACE/testapi_venv/bin/activate + +# Install Pre-requistics +pip install requests + +python ./utils/test/testapi/htmlize/htmlize.py -o ${WORKSPACE}/ diff --git a/utils/test/testapi/htmlize/finish.sh b/utils/test/testapi/htmlize/finish.sh index d24ae056c..dc3aa868b 100644 --- a/utils/test/testapi/htmlize/finish.sh +++ b/utils/test/testapi/htmlize/finish.sh @@ -13,5 +13,3 @@ if [ $proc_number -gt 0 ]; then echo "Kill opnfv-testapi server $procs" ps -ef | grep opnfv-testapi | grep -v grep | awk '{print $2}' | xargs kill -kill &>/dev/null fi - -deactivate diff --git a/utils/test/testapi/htmlize/prepare.sh b/utils/test/testapi/htmlize/prepare.sh index 67158f211..e79ac5693 100644 --- a/utils/test/testapi/htmlize/prepare.sh +++ b/utils/test/testapi/htmlize/prepare.sh @@ -9,9 +9,6 @@ virtualenv testapi_venv source testapi_venv/bin/activate -# Install Pre-requisites -pip install requests - # Swgger Codegen Tool url="http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar" diff --git a/utils/test/testapi/htmlize/push-doc-artifact.sh b/utils/test/testapi/htmlize/push-doc-artifact.sh index 383565df1..4cf1988b0 100644 --- a/utils/test/testapi/htmlize/push-doc-artifact.sh +++ b/utils/test/testapi/htmlize/push-doc-artifact.sh @@ -7,19 +7,21 @@ export PATH=$PATH:/usr/local/bin/ project=$PROJECT workspace=$WORKSPACE -artifact_dir="functest/docs" +artifact_dir="$project/docs" set +e gsutil&>/dev/null if [ $? != 0 ]; then echo "Not possible to push results to artifact: gsutil not installed" + exit 1 else gsutil ls gs://artifacts.opnfv.org/"$project"/ &>/dev/null if [ $? != 0 ]; then echo "Not possible to push results to artifact: gsutil not installed." + exit 1 else echo "Uploading document to artifact $artifact_dir" gsutil cp "$workspace"/index.html gs://artifacts.opnfv.org/"$artifact_dir"/testapi.html >/dev/null 2>&1 - echo "Document can be found at http://artifacts.opnfv.org/functest/docs/testapi.html" + echo "Document can be found at http://artifacts.opnfv.org/releng/docs/testapi.html" fi fi diff --git a/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py b/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py index 75754d8b9..7bf3d5d53 100644 --- a/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/scenario_handlers.py @@ -1,3 +1,4 @@ +from opnfv_testapi.common.constants import HTTP_FORBIDDEN from opnfv_testapi.resources.handlers import GenericApiHandler from opnfv_testapi.resources.scenario_models import Scenario from opnfv_testapi.tornado_swagger import swagger @@ -29,10 +30,23 @@ class ScenariosCLHandler(GenericScenarioHandler): """ @description: create a new scenario by name @param body: scenario to be created - @type body: L{string} + @type body: L{ScenarioCreateRequest} + @in body: body @rtype: L{CreateResponse} + @return 200: scenario is created. + @raise 403: scenario already exists + @raise 400: body or name not provided """ - pass + def query(data): + return {'name': data.name} + + def error(data): + message = '{} already exists as a scenario'.format(data.name) + return HTTP_FORBIDDEN, message + + miss_checks = ['name'] + db_checks = [(self.table, False, query, error)] + self._create(miss_checks=miss_checks, db_checks=db_checks) class ScenarioGURHandler(GenericScenarioHandler): diff --git a/utils/test/testapi/opnfv_testapi/resources/scenario_models.py b/utils/test/testapi/opnfv_testapi/resources/scenario_models.py index 0748a3738..b4bb3634b 100644 --- a/utils/test/testapi/opnfv_testapi/resources/scenario_models.py +++ b/utils/test/testapi/opnfv_testapi/resources/scenario_models.py @@ -61,6 +61,17 @@ class ScenarioInstaller(models.ModelBase): @swagger.model() +class ScenarioCreateRequest(models.ModelBase): + """ + @property installers: + @ptype installers: C{list} of L{ScenarioInstaller} + """ + def __init__(self, name='', installers=None): + self.name = name + self.installers = installers if installers else list() + + +@swagger.model() class Scenario(models.ModelBase): """ @property installers: @@ -69,7 +80,7 @@ class Scenario(models.ModelBase): def __init__(self, name='', create_date='', _id='', installers=None): self.name = name self._id = _id - self.create_date = create_date + self.creation_date = create_date self.installers = installers if installers else list() diff --git a/utils/test/testapi/opnfv_testapi/tests/unit/fake_pymongo.py b/utils/test/testapi/opnfv_testapi/tests/unit/fake_pymongo.py index 3dd87e603..d86d8eadf 100644 --- a/utils/test/testapi/opnfv_testapi/tests/unit/fake_pymongo.py +++ b/utils/test/testapi/opnfv_testapi/tests/unit/fake_pymongo.py @@ -189,3 +189,4 @@ pods = MemDb() projects = MemDb() testcases = MemDb() results = MemDb() +scenarios = MemDb() diff --git a/utils/test/testapi/opnfv_testapi/tests/unit/scenario-create.json b/utils/test/testapi/opnfv_testapi/tests/unit/scenario-create.json new file mode 100644 index 000000000..eba8b6c0a --- /dev/null +++ b/utils/test/testapi/opnfv_testapi/tests/unit/scenario-create.json @@ -0,0 +1,38 @@ +{ + "name": "nosdn-nofeature-ha", + "installers": + [ + { + "installer": "apex", + "versions": + [ + { + "owner": "Luke", + "version": "master", + "projects": + [ + { + "project": "functest", + "customs": [ "healthcheck", "vping_ssh"], + "scores": + [ + { + "date": "2017-01-08 22:46:44", + "score": "12/14" + } + + ], + "trust_indicators": [] + }, + { + "project": "yardstick", + "customs": [], + "scores": [], + "trust_indicators": [] + } + ] + } + ] + } + ] +}
\ No newline at end of file diff --git a/utils/test/testapi/opnfv_testapi/tests/unit/test_base.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_base.py index ff1a1932c..9343ab2fb 100644 --- a/utils/test/testapi/opnfv_testapi/tests/unit/test_base.py +++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_base.py @@ -47,11 +47,11 @@ class TestBase(AsyncHTTPTestCase): return self.create_help(self.basePath, req, *args) def create_help(self, uri, req, *args): - if req: - req = req.format() + if req and not isinstance(req, str): + req = json.dumps(req.format()) res = self.fetch(self._update_uri(uri, *args), method='POST', - body=json.dumps(req), + body=req if req else json.dumps(None), headers=self.headers) return self._get_return(res, self.create_res) @@ -123,9 +123,17 @@ class TestBase(AsyncHTTPTestCase): self.assertIn(self.basePath, body.href) def assert_create_body(self, body, req=None, *args): + import inspect if not req: req = self.req_d - new_args = args + tuple([req.name]) + resource_name = '' + if inspect.isclass(req): + resource_name = req.name + elif isinstance(req, dict): + resource_name = req['name'] + elif isinstance(req, str): + resource_name = json.loads(req)['name'] + new_args = args + tuple([resource_name]) self.assertIn(self._get_uri(*new_args), body.href) @staticmethod @@ -134,3 +142,4 @@ class TestBase(AsyncHTTPTestCase): fake_pymongo.projects.clear() fake_pymongo.testcases.clear() fake_pymongo.results.clear() + fake_pymongo.scenarios.clear() diff --git a/utils/test/testapi/opnfv_testapi/tests/unit/test_scenario.py b/utils/test/testapi/opnfv_testapi/tests/unit/test_scenario.py new file mode 100644 index 000000000..8e827813c --- /dev/null +++ b/utils/test/testapi/opnfv_testapi/tests/unit/test_scenario.py @@ -0,0 +1,55 @@ +import json +import os + +from opnfv_testapi.common.constants import HTTP_BAD_REQUEST +from opnfv_testapi.common.constants import HTTP_FORBIDDEN +from opnfv_testapi.common.constants import HTTP_OK +from opnfv_testapi.resources.scenario_models import ScenarioCreateRequest +from test_testcase import TestBase + + +class TestScenarioBase(TestBase): + def setUp(self): + super(TestScenarioBase, self).setUp() + self.basePath = '/api/v1/scenarios' + self.load_request('scenario-create.json') + + def tearDown(self): + pass + + def assert_body(self, project, req=None): + pass + + def load_request(self, f_req): + with open(os.path.join(os.path.dirname(__file__), f_req), 'r') as f: + self.req_d = json.dumps(json.load(f)) + f.close() + + +class TestScenarioCreate(TestScenarioBase): + def test_withoutBody(self): + (code, body) = self.create() + self.assertEqual(code, HTTP_BAD_REQUEST) + + def test_emptyName(self): + req_empty = ScenarioCreateRequest('') + (code, body) = self.create(req_empty) + self.assertEqual(code, HTTP_BAD_REQUEST) + self.assertIn('name missing', body) + + def test_noneName(self): + req_none = ScenarioCreateRequest(None) + (code, body) = self.create(req_none) + self.assertEqual(code, HTTP_BAD_REQUEST) + self.assertIn('name missing', body) + + def test_success(self): + (code, body) = self.create_d() + self.assertEqual(code, HTTP_OK) + self.assert_create_body(body) + + def test_alreadyExist(self): + self.create_d() + (code, body) = self.create_d() + self.assertEqual(code, HTTP_FORBIDDEN) + self.assertIn('already exists', body) |