Merge "cloudify_ims reporting fixes"
authorMorgan Richomme <morgan.richomme@orange.com>
Mon, 25 Sep 2017 06:34:10 +0000 (06:34 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Mon, 25 Sep 2017 06:34:10 +0000 (06:34 +0000)
28 files changed:
jjb/3rd_party_ci/odl-netvirt.yml
jjb/apex/apex-build.sh
jjb/apex/apex-iso-verify.sh
jjb/apex/apex.yml
jjb/apex/apex.yml.j2
jjb/ci_gate_security/anteater-security-audit.sh
jjb/ci_gate_security/opnfv-ci-gate-security.yml
jjb/compass4nfv/compass-ci-jobs.yml
jjb/compass4nfv/compass-project-jobs.yml
jjb/compass4nfv/compass-verify-jobs.yml
jjb/doctor/doctor.yml
jjb/dovetail/dovetail-ci-jobs.yml
jjb/fuel/fuel-deploy.sh
jjb/functest/functest-alpine.sh
jjb/functest/functest-daily-jobs.yml
jjb/kvmfornfv/kvmfornfv.yml
jjb/opera/opera-daily-jobs.yml
jjb/orchestra/orchestra-daily-jobs.yml
jjb/ovn4nfv/ovn4nfv-daily-jobs.yml
jjb/releng/opnfv-docker.yml
jjb/xci/osa-periodic-jobs.yml
jjb/xci/xci-daily-jobs.yml
jjb/xci/xci-verify-jobs.yml
utils/test/opts/watchdog.sh [moved from utils/test/testapi/tools/watchdog/docker_watch.sh with 92% similarity]
utils/test/reporting/docker/nginx.conf
utils/test/testapi/deployment/deploy.py [deleted file]
utils/test/testapi/deployment/docker-compose.yml.template [deleted file]
utils/test/testapi/opts/deploy.py [new file with mode: 0644]

index 01017f3..863eb94 100644 (file)
             - name: 'functest-netvirt-virtual-suite-master'
               predefined-parameters: |
                 DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
+                FUNCTEST_MODE=testcase
                 FUNCTEST_SUITE_NAME=odl_netvirt
                 RC_FILE_PATH=$HOME/cloner-info/overcloudrc
               node-parameters: true
index 23ce810..cf59998 100755 (executable)
@@ -46,6 +46,12 @@ echo "Cache Directory Contents:"
 echo "-------------------------"
 ls -al $CACHE_DIRECTORY
 
+if [[ "$BUILD_ARGS" =~ '--iso' ]]; then
+  mkdir -p /tmp/apex-iso/
+  rm -f /tmp/apex-iso/*.iso
+  cp -f $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso /tmp/apex-iso/
+fi
+
 if ! echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
   echo "Writing opnfv.properties file"
   # save information regarding artifact into file
index f102421..4faeb60 100755 (executable)
@@ -8,7 +8,14 @@ echo "Starting the Apex iso verify."
 echo "--------------------------------------------------------"
 echo
 
-source $BUILD_DIRECTORY/../opnfv.properties
+# Must be RPMs/ISO
+echo "Downloading latest properties file"
+
+# get the properties file in order to get info regarding artifacts
+curl --fail -s -o opnfv.properties http://$GS_URL/latest.properties
+
+# source the file so we get OPNFV vars
+source opnfv.properties
 
 if ! rpm -q virt-install > /dev/null; then
   sudo yum -y install virt-install
@@ -35,9 +42,9 @@ sudo rm -f /var/log/libvirt/qemu/apex-iso-verify-console.log
 sudo virt-install -n apex-iso-verify -r 4096 --vcpus 4 --os-variant=rhel7 \
  --accelerate -v --noautoconsole \
  --disk path=/var/lib/libvirt/images/apex-iso-verify.qcow2,size=30,format=qcow2 \
- -l $BUILD_DIRECTORY/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso \
+ -l /tmp/apex-iso/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso \
  --extra-args 'console=ttyS0 console=ttyS0,115200n8 serial inst.ks=file:/iso-verify.ks inst.stage2=hd:LABEL=OPNFV\x20CentOS\x207\x20x86_64:/' \
- --initrd-inject $BUILD_DIRECTORY/../ci/iso-verify.ks \
+ --initrd-inject ci/iso-verify.ks \
  --serial file,path=/var/log/libvirt/qemu/apex-iso-verify-console.log
 
 echo "Waiting for install to finish..."
index bed67f4..058f18a 100644 (file)
                 current-parameters: false
                 predefined-parameters: |
                   DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                  FUNCTEST_SUITE_NAME=healthcheck
+                  FUNCTEST_MODE=tier
+                  FUNCTEST_TIER=healthcheck
                   GERRIT_BRANCH=$GERRIT_BRANCH
                   GERRIT_REFSPEC=$GERRIT_REFSPEC
                   GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
 
     properties:
         - logrotate-default
+        - build-blocker:
+            use-build-blocker: true
+            block-level: 'NODE'
+            blocking-jobs:
+                - 'apex-daily.*'
 
     triggers:
         - 'apex-{stream}'
index 3c36e8f..09c2f8c 100644 (file)
                 current-parameters: false
                 predefined-parameters: |
                   DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                  FUNCTEST_SUITE_NAME=healthcheck
+                  FUNCTEST_MODE=tier
+                  FUNCTEST_TIER=healthcheck
                   GERRIT_BRANCH=$GERRIT_BRANCH
                   GERRIT_REFSPEC=$GERRIT_REFSPEC
                   GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
 
     properties:
         - logrotate-default
+        - build-blocker:
+            use-build-blocker: true
+            block-level: 'NODE'
+            blocking-jobs:
+                - 'apex-daily.*'
 
     triggers:
         - 'apex-{stream}'
index 35f9354..8a170b0 100644 (file)
@@ -2,6 +2,8 @@
 cd $WORKSPACE
 REPORTDIR='.reports'
 mkdir -p $REPORTDIR
+# Ensure any user can read the reports directory
+chmod 777 $REPORTDIR
 echo "Generating patchset file to list changed files"
 git diff HEAD^1 --name-only | sed "s#^#/home/opnfv/anteater/$PROJECT/#" > $WORKSPACE/patchset
 echo "Changed files are"
index 3317953..e09339a 100644 (file)
@@ -50,7 +50,7 @@
     parameters:
       - label:
           name: SLAVE_LABEL
-          default: 'ericsson-build3'
+          default: 'opnfv-build'
           description: 'Slave label on Jenkins'
       - project-parameter:
           project: $GERRIT_PROJECT
index 9f266b0..74a134e 100644 (file)
@@ -16,7 +16,7 @@
     euphrates: &euphrates
         stream: euphrates
         branch: 'stable/{stream}'
-        disabled: true
+        disabled: false
         gs-pathname: '/{stream}'
         ppa-pathname: '/{stream}'
         openstack-version: ocata
 - trigger:
     name: 'compass-os-nosdn-nofeature-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: '' #'0 9 * * *'
+        - timed: '0 1 * * *'
 - trigger:
     name: 'compass-os-nosdn-openo-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: '' #'0 13 * * *'
+        - timed: ''
 - trigger:
     name: 'compass-os-odl_l2-nofeature-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: '' #'0 17 * * *'
+        - timed: ''
 - trigger:
     name: 'compass-os-odl_l3-nofeature-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: '' #'0 21 * * *'
+        - timed: '0 21 * * *'
 - trigger:
     name: 'compass-os-onos-nofeature-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: '' #'0 1 * * *'
+        - timed: ''
 - trigger:
     name: 'compass-os-ocl-nofeature-ha-baremetal-euphrates-trigger'
     triggers:
 - trigger:
     name: 'compass-os-onos-sfc-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: '' #'0 5 * * *'
+        - timed: ''
 - trigger:
     name: 'compass-os-odl_l2-moon-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 5 * * *'
 - trigger:
     name: 'compass-os-nosdn-kvm-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 13 * * *'
 - trigger:
     name: 'compass-os-nosdn-dpdk-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 9 * * *'
 - trigger:
     name: 'compass-k8-nosdn-nofeature-ha-baremetal-euphrates-trigger'
     triggers:
 - trigger:
     name: 'compass-os-odl-sfc-ha-baremetal-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 17 * * *'
 
 #----------------------
 # noha-baremetal-euphrates
 - trigger:
     name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger'
     triggers:
-        - timed: '0 12 * * *'
+        - timed: '30 12 * * *'
 - trigger:
     name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger'
     triggers:
 - trigger:
     name: 'compass-os-nosdn-kvm-noha-virtual-master-trigger'
     triggers:
-        - timed: '0 13 * * *'
+        - timed: '30 13 * * *'
 - trigger:
     name: 'compass-os-nosdn-nofeature-noha-virtual-master-trigger'
     triggers:
 - trigger:
     name: 'compass-os-nosdn-nofeature-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: '' #'0 21 * * *'
+        - timed: '0 23 * * *'
 - trigger:
     name: 'compass-os-nosdn-openo-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: '' #'0 22 * * *'
+        - timed: ''
 - trigger:
     name: 'compass-os-odl_l2-nofeature-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: '' #'0 20 * * *'
+        - timed: ''
 - trigger:
     name: 'compass-os-odl_l3-nofeature-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: '' #'0 19 * * *'
+        - timed: '0 22 * * *'
 - trigger:
     name: 'compass-os-onos-nofeature-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: '' #'0 18 * * *'
+        - timed: ''
 - trigger:
     name: 'compass-os-ocl-nofeature-ha-virtual-euphrates-trigger'
     triggers:
 - trigger:
     name: 'compass-os-onos-sfc-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: '' #'0 15 * * *'
+        - timed: ''
 - trigger:
     name: 'compass-os-odl_l2-moon-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: '' #'0 14 * * *'
+        - timed: '0 20 * * *'
 - trigger:
     name: 'compass-os-nosdn-kvm-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 16 * * *'
 - trigger:
     name: 'compass-os-nosdn-dpdk-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 14 * * *'
 - trigger:
     name: 'compass-os-odl-sfc-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 18 * * *'
 - trigger:
     name: 'compass-k8-nosdn-nofeature-ha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 13 * * *'
 
 #--------------------
 # noha-virtual-euphrates
 - trigger:
     name: 'compass-os-nosdn-kvm-noha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 15 * * *'
 - trigger:
     name: 'compass-os-nosdn-nofeature-noha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 17 * * *'
 - trigger:
     name: 'compass-os-odl_l3-nofeature-noha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 23 * * *'
 - trigger:
     name: 'compass-os-odl_l2-moon-noha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 21 * * *'
 - trigger:
     name: 'compass-os-odl-sfc-noha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 19 * * *'
 - trigger:
     name: 'compass-os-nosdn-dpdk-noha-virtual-euphrates-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 12 * * *'
index e612ef6..fe91705 100644 (file)
             gs-pathname: '/{stream}'
             ppa-pathname: '/{stream}'
             disabled: false
+        - euphrates:
+            branch: 'stable/{stream}'
+            gs-pathname: '/{stream}'
+            ppa-pathname: '/{stream}'
+            disabled: false
 
     jobs:
         - '{installer}-build-daily-{stream}'
index ee91e02..f4fe8f6 100644 (file)
                 - name: 'functest-compass-virtual-suite-{stream}'
                   current-parameters: false
                   predefined-parameters: |
-                    FUNCTEST_SUITE_NAME=healthcheck
+                    FUNCTEST_MODE=tier
+                    FUNCTEST_TIER=healthcheck
                     DEPLOY_SCENARIO=os-nosdn-nofeature-ha
                   node-parameters: true
                   kill-phase-on: NEVER
                 - name: 'functest-compass-virtual-suite-{stream}'
                   current-parameters: false
                   predefined-parameters: |
+                    FUNCTEST_MODE=testcase
                     FUNCTEST_SUITE_NAME=vping_ssh
                     DEPLOY_SCENARIO=os-nosdn-nofeature-ha
                   node-parameters: true
index 012d373..c806429 100644 (file)
             default: 'os-nosdn-nofeature-ha'
             description: 'Scenario to deploy and test'
         # functest-suite-parameter
+        - string:
+            name: FUNCTEST_MODE
+            default: 'testcase'
         - string:
             name: FUNCTEST_SUITE_NAME
             default: 'doctor-notification'
index 4c3d72f..1474803 100644 (file)
             SUT: apex
             auto-trigger-name: 'daily-trigger-disabled'
             <<: *danube
+        - huawei-pod7:
+            slave-label: huawei-pod7
+            SUT: compass
+            auto-trigger-name: 'daily-trigger-disabled'
+            <<: *danube
 #--------------------------------
     testsuite:
         - 'compliance_set'
index d44c060..be45604 100755 (executable)
@@ -103,7 +103,7 @@ echo "--------------------------------------------------------"
 echo "Scenario: ${DEPLOY_SCENARIO}"
 echo "Lab: ${LAB_NAME}"
 echo "POD: ${POD_NAME}"
-[[ "${BRANCH}" != 'master' ]] && echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}"
+[[ "${BRANCH}" =~ 'danube' ]] && echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}"
 echo
 echo "Starting the deployment using ${INSTALLER_TYPE}. This could take some time..."
 echo "--------------------------------------------------------"
index c948430..38dcf01 100755 (executable)
@@ -4,6 +4,60 @@ set -e
 set +u
 set +o pipefail
 
+run_tiers() {
+    cmd_opt='prepare_env start && run_tests -r -t all'
+    ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
+    echo 0 > ${ret_val_file}
+
+    for tier in ${tiers[@]}; do
+        FUNCTEST_IMAGE=opnfv/functest-${tier}
+        echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
+        docker pull ${FUNCTEST_IMAGE}>/dev/null
+        cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
+        echo "Running Functest tier '${tier}'. CMD: ${cmd}"
+        eval ${cmd}
+        ret_value=$?
+        if [ ${ret_value} != 0 ]; then
+          echo ${ret_value} > ${ret_val_file}
+        fi
+    done
+}
+
+run_test() {
+    test_name=$1
+    cmd_opt='prepare_env start && run_tests -r -t $test_name'
+    ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
+    echo 0 > ${ret_val_file}
+    # Determine which Functest image should be used for the test case
+    case ${test_name} in
+        connection_check|api_check|snaps_health_check)
+            FUNCTEST_IMAGE=opnfv/functest-healthcheck
+        vping_ssh|vping_userdata|tempest_smoke_serial|rally_sanity|refstack_defcore|odl|odl_netvirt|fds|snaps_smoke)
+            FUNCTEST_IMAGE=opnfv/functest-smoke
+        tempest_full_parallel|tempest_custom|rally_full)
+            FUNCTEST_IMAGE=opnfv/functest-components
+        cloudify_ims|orchestra_openims|orchestra_clearwaterims|vyos_vrouter)
+            FUNCTEST_IMAGE=opnfv/functest-vnf
+        promise|doctor-notification|bgpvpn|functest-odl-sfc|domino-multinode|barometercollectd)
+            FUNCTEST_IMAGE=opnfv/functest-features
+        parser)
+            FUNCTEST_IMAGE=opnfv/functest-parser
+        *)
+            echo "Unkown test case $test_name"
+            exit 1
+    esac
+    echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
+    docker pull ${FUNCTEST_IMAGE}>/dev/null
+    cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
+    echo "Running Functest test case '${test_name}'. CMD: ${cmd}"
+    eval ${cmd}
+    ret_value=$?
+    if [ ${ret_value} != 0 ]; then
+      echo ${ret_value} > ${ret_val_file}
+    fi
+}
+
+
 [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
 FUNCTEST_DIR=/home/opnfv/functest
 DEPLOY_TYPE=baremetal
@@ -75,29 +129,17 @@ volumes="${images_vol} ${results_vol} ${sshkey_vol} ${rc_file_vol} ${cacert_file
 
 set +e
 
-if [ ${FUNCTEST_SUITE_NAME} == 'healthcheck' ]; then
-    tiers=(healthcheck)
+
+if [ ${FUNCTEST_MODE} == 'testcase' ]; then
+    run_test ${FUNCTEST_SUITE_NAME}
+elif [ ${FUNCTEST_MODE} == 'tier' ]; then
+    tiers= (${FUNCTEST_TIER})
+    run_tiers ${tiers}
 else
     if [ ${DEPLOY_TYPE} == 'baremetal' ]; then
         tiers=(healthcheck smoke features vnf parser)
     else
         tiers=(healthcheck smoke features)
     fi
+    run_tiers ${tiers}
 fi
-
-cmd_opt='prepare_env start && run_tests -r -t all'
-ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
-echo 0 > ${ret_val_file}
-
-for tier in ${tiers[@]}; do
-    FUNCTEST_IMAGE=opnfv/functest-${tier}
-    echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
-    docker pull ${FUNCTEST_IMAGE}>/dev/null
-    cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
-    echo "Running Functest tier '${tier}'. CMD: ${cmd}"
-    eval ${cmd}
-    ret_value=$?
-    if [ ${ret_value} != 0 ]; then
-      echo ${ret_value} > ${ret_val_file}
-    fi
-done
index ea39de4..5a99fdc 100644 (file)
     name: functest-daily-parameter
     parameters:
         - string:
-            name: FUNCTEST_SUITE_NAME
+            name: FUNCTEST_MODE
             default: 'daily'
             description: "Daily suite name to run"
 - parameter:
     name: functest-arm-daily-parameter
     parameters:
         - string:
-            name: FUNCTEST_SUITE_NAME
+            name: FUNCTEST_MODE
             default: 'arm-daily'
             description: "Daily suite name (Aarch64) to run"
 - parameter:
     name: functest-suite-parameter
     parameters:
+        - choice:
+            name: FUNCTEST_MODE
+            choices:
+                - 'tier'
+                - 'testcase'
+            default: 'tier'
+            description: "Test case or Tier to be run"
         - choice:
             name: FUNCTEST_SUITE_NAME
             choices:
                 - 'cloudify_vrouter'
                 - 'orchestra_openims'
                 - 'orchestra_clearwaterims'
+            default: 'connection_check'
+        - choice:
+            name: FUNCTEST_TIER
+            choices:
+                - 'healthcheck'
+                - 'smoke'
+                - 'features'
+                - 'components'
+                - 'vnf'
+            default: 'healthcheck'
         - string:
             name: TESTCASE_OPTIONS
             default: ''
         - 'functest-daily'
         - 'functest-store-results'
 
+- builder:
+    name: functest-alpine-suite-builder
+    builders:
+        - 'functest-cleanup'
+        - 'set-functest-env-alpine'
+        - 'functest-suite'
+        - 'functest-store-results'
+
 - builder:
     name: functest-daily
     builders:
     name: functest-suite
     builders:
         - shell:
-            !include-raw: ./functest-suite.sh
+            !include-raw:
+                - ./functest-env-presetup.sh
+                - ../../utils/fetch_os_creds.sh
+                - ./functest-alpine.sh
 
 - builder:
     name: set-functest-env
index ad497e9..2055da9 100644 (file)
@@ -8,19 +8,19 @@
       - master:
           branch: '{stream}'
           gs-pathname: ''
-          disabled: false
       - euphrates:
           branch: 'stable/{stream}'
           gs-pathname: '/{stream}'
-          disabled: true
     #####################################
     # patch verification phases
     #####################################
     phase:
       - 'build':
           slave-label: 'opnfv-build-ubuntu'
+          disabled: false
       - 'test':
           slave-label: 'intel-pod10'
+          disabled: true
     #####################################
     # patch verification phases
     #####################################
index d0dd052..5d7526b 100644 (file)
@@ -92,6 +92,7 @@
               current-parameters: false
               predefined-parameters: |
                 DEPLOY_SCENARIO=os-nosdn-openo-ha
+                FUNCTEST_MODE=testcase
                 FUNCTEST_SUITE_NAME=opera_vims
               node-parameters: true
               kill-phase-on: NEVER
index 74c997c..7c2deae 100644 (file)
@@ -93,6 +93,7 @@
               current-parameters: false
               predefined-parameters: |
                 DEPLOY_SCENARIO=os-nosdn-openbaton-ha
+                FUNCTEST_MODE=testcase
                 FUNCTEST_SUITE_NAME=orchestra_ims
               node-parameters: true
               kill-phase-on: NEVER
index a4c5865..ca4cfee 100644 (file)
@@ -81,6 +81,7 @@
               current-parameters: false
               predefined-parameters: |
                 DEPLOY_SCENARIO=os-ovn-nofeature-ha
+                FUNCTEST_MODE=testcase
                 FUNCTEST_SUITE_NAME=ovn4nfv_test_suite
               node-parameters: true
               kill-phase-on: NEVER
index 3b506bb..714d8cf 100644 (file)
             project: 'functest'
             <<: *euphrates
             <<: *functest-receivers
+        - 'functest-core':
+            project: 'functest'
+            dockerdir: 'docker/core'
+            <<: *euphrates
+            <<: *functest-receivers
+        - 'functest-healthcheck':
+            project: 'functest'
+            dockerdir: 'docker/healthcheck'
+            <<: *euphrates
+            <<: *functest-receivers
+        - 'functest-smoke':
+            project: 'functest'
+            dockerdir: 'docker/smoke'
+            <<: *euphrates
+            <<: *functest-receivers
+        - 'functest-features':
+            project: 'functest'
+            dockerdir: 'docker/features'
+            <<: *euphrates
+            <<: *functest-receivers
+        - 'functest-components':
+            project: 'functest'
+            dockerdir: 'docker/components'
+            <<: *euphrates
+            <<: *functest-receivers
+        - 'functest-vnf':
+            project: 'functest'
+            dockerdir: 'docker/vnf'
+            <<: *euphrates
+            <<: *functest-receivers
+        - 'functest-parser':
+            project: 'functest'
+            dockerdir: 'docker/parser'
+            <<: *euphrates
+            <<: *functest-receivers
+        - 'functest-restapi':
+            project: 'functest'
+            dockerdir: 'docker/restapi'
+            <<: *euphrates
+            <<: *functest-receivers
         - 'storperf-master':
             project: 'storperf'
             dockerdir: 'docker/storperf-master'
             arch_tag: 'x86_64'
             <<: *euphrates
             <<: *storperf-receivers
+        - 'nfvbench':
+            project: 'nfvbench'
+            <<: *euphrates
+            <<: *other-receivers
 
     jobs:
         - "{dockerrepo}-docker-build-push-{stream}"
index 86910ac..048825e 100644 (file)
                   predefined-parameters: |
                     DISTRO={distro}
                     DEPLOY_SCENARIO=os-nosdn-nofeature-noha
-                    FUNCTEST_SUITE_NAME=healthcheck
+                    FUNCTEST_MODE=tier
+                    FUNCTEST_TIER=healthcheck
                   node-parameters: true
                   kill-phase-on: NEVER
                   abort-all-job: false
         - string:
             name: OPNFV_RELENG_DEV_PATH
             default: $WORKSPACE/releng-xci
+        - string:
+            name: FUNCTEST_MODE
+            default: 'tier'
         - string:
             name: FUNCTEST_SUITE_NAME
             default: 'healthcheck'
index 64659da..7d95429 100644 (file)
         - string:
             name: INSTALLER_TYPE
             default: 'osa'
+        - string:
+            name: FUNCTEST_MODE
+            default: 'daily'
         - string:
             name: FUNCTEST_SUITE_NAME
             default: 'daily'
index 324bfd1..440fac7 100644 (file)
                     DISTRO={distro}
                     DEPLOY_SCENARIO=os-nosdn-nofeature-noha
                     CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                    FUNCTEST_SUITE_NAME=healthcheck
+                    FUNCTEST_MODE=tier
+                    FUNCTEST_TIER=healthcheck
                   node-parameters: true
                   kill-phase-on: NEVER
                   abort-all-job: true
         - string:
             name: DEPLOY_SCENARIO
             default: 'os-nosdn-nofeature-noha'
+        - string:
+            name: FUNCTEST_MODE
+            default: 'tier'
         - string:
             name: FUNCTEST_SUITE_NAME
             default: 'healthcheck'
similarity index 92%
rename from utils/test/testapi/tools/watchdog/docker_watch.sh
rename to utils/test/opts/watchdog.sh
index f1d8946..51868d7 100644 (file)
@@ -27,7 +27,7 @@ declare -A urls=( ["testapi"]="http://testresults.opnfv.org/test/" \
 ### Functions related to checking.
 
 function is_deploying() {
-    xml=$(curl -m10 "https://build.opnfv.org/ci/job/${1}-automate-master/lastBuild/api/xml?depth=1")
+    xml=$(curl -m10 "https://build.opnfv.org/ci/job/${1}-automate-docker-deploy-master/lastBuild/api/xml?depth=1")
     building=$(grep -oPm1 "(?<=<building>)[^<]+" <<< "$xml")
     if [[ $building == "false" ]]
     then
@@ -64,12 +64,11 @@ function check_modules() {
     failed_modules=()
     for module in "${modules[@]}"
     do
-        if is_deploying $module; then
-            continue
-        fi
         if ! check_connectivity $module "${urls[$module]}"; then
-            echo -e "$module failed"
-            failed_modules+=($module)
+            if ! is_deploying $module; then
+                echo -e "$module failed"
+                failed_modules+=($module)
+            fi
         fi
     done
     if [ ! -z "$failed_modules" ]; then
@@ -114,13 +113,11 @@ function start_containers_fix() {
 
 function start_container_fix() {
     echo -e "Starting a container $module"
-    sudo docker stop $module
-    sudo docker start $module
+    sudo docker restart $module
     sleep 5
     if ! check_connectivity $module "${urls[$module]}"; then
         echo -e "Starting an old container $module_old"
-        sudo docker stop $module
-        sudo docker start $module"_old"
+        sudo docker restart $module"_old"
         sleep 5
     fi
 }
index 95baf0e..66bd7e4 100644 (file)
@@ -15,7 +15,7 @@ server {
     }
 
     location /api/ {
-        http_pass http://backends/;
+        proxy_pass http://backends/;
     }
 
     location /display/ {
diff --git a/utils/test/testapi/deployment/deploy.py b/utils/test/testapi/deployment/deploy.py
deleted file mode 100644 (file)
index 6433fa6..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-import argparse
-import os
-
-from jinja2 import Environment, FileSystemLoader
-
-env = Environment(loader=FileSystemLoader('./'))
-docker_compose_yml = './docker-compose.yml'
-docker_compose_template = './docker-compose.yml.template'
-
-
-def render_docker_compose(port, base_url):
-    vars = {
-        "expose_port": port,
-        "base_url": base_url,
-    }
-    template = env.get_template(docker_compose_template)
-    yml = template.render(vars=vars)
-
-    with open(docker_compose_yml, 'w') as f:
-        f.write(yml)
-        f.close()
-
-
-def main(args):
-    render_docker_compose(args.expose_port, args.base_url)
-    os.system('docker-compose -f {} up -d'.format(docker_compose_yml))
-
-
-if __name__ == '__main__':
-    parser = argparse.ArgumentParser(description='Backup MongoDBs')
-    parser.add_argument('-p', '--expose-port',
-                        type=int,
-                        required=False,
-                        default=8000,
-                        help='testapi exposed port')
-    parser.add_argument('-l', '--base-url',
-                        type=str,
-                        required=True,
-                        help='testapi exposed base-url')
-    main(parser.parse_args())
diff --git a/utils/test/testapi/deployment/docker-compose.yml.template b/utils/test/testapi/deployment/docker-compose.yml.template
deleted file mode 100644 (file)
index cd68404..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-version: '2'
-services:
-  mongo:
-    image: mongo:3.2.1
-    container_name: opnfv-mongo
-  testapi:
-    image: opnfv/testapi:latest
-    container_name: opnfv-testapi
-    environment:
-      - mongodb_url=mongodb://mongo:27017/
-      - base_url={{ vars.base_url }}
-    ports:
-      - "{{ vars.expose_port }}:8000"
-    links:
-      - mongo
diff --git a/utils/test/testapi/opts/deploy.py b/utils/test/testapi/opts/deploy.py
new file mode 100644 (file)
index 0000000..f58690c
--- /dev/null
@@ -0,0 +1,55 @@
+import argparse
+import os
+
+from jinja2 import Environment
+
+DOCKER_COMPOSE_FILE = './docker-compose.yml'
+DOCKER_COMPOSE_TEMPLATE = """
+version: '2'
+services:
+  mongo:
+    image: mongo:3.2.1
+    container_name: opnfv-mongo
+  testapi:
+    image: opnfv/testapi:latest
+    container_name: opnfv-testapi
+    environment:
+      - mongodb_url=mongodb://mongo:27017/
+      - base_url={{ vars.testapi_base_url }}
+    ports:
+      - "{{ vars.testapi_port }}:8000"
+    links:
+      - mongo
+"""
+
+
+def render_docker_compose(testapi_port, testapi_base_url):
+    vars = {
+        "testapi_port": testapi_port,
+        "testapi_base_url": testapi_base_url,
+    }
+
+    yml = Environment().from_string(DOCKER_COMPOSE_TEMPLATE).render(vars=vars)
+
+    with open(DOCKER_COMPOSE_FILE, 'w') as f:
+        f.write(yml)
+        f.close()
+
+
+def main(args):
+    render_docker_compose(args.testapi_port, args.testapi_base_url)
+    os.system('docker-compose -f {} up -d'.format(DOCKER_COMPOSE_FILE))
+
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(description='Backup MongoDBs')
+    parser.add_argument('-tp', '--testapi-port',
+                        type=int,
+                        required=False,
+                        default=8000,
+                        help='testapi exposed port')
+    parser.add_argument('-tl', '--testapi-base-url',
+                        type=str,
+                        required=True,
+                        help='testapi exposed base-url')
+    main(parser.parse_args())