Merge "Add RTD Verify and Merge jobs for Releng"
authorRyota Mibu <r-mibu@cq.jp.nec.com>
Fri, 22 Jun 2018 03:25:19 +0000 (03:25 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 22 Jun 2018 03:25:19 +0000 (03:25 +0000)
16 files changed:
docs/infra/jenkins/jjb-usage.rst
jjb/apex/apex-deploy.sh
jjb/apex/apex-snapshot-create.sh
jjb/apex/apex-upload-artifact.sh
jjb/apex/apex-verify-jobs.yaml
jjb/apex/apex.yaml
jjb/apex/apex.yaml.j2
jjb/apex/scenarios.yaml.hidden
jjb/compass4nfv/compass-ci-jobs.yaml
jjb/dovetail/dovetail-run.sh
jjb/functest/functest-alpine.sh
jjb/functest/functest-daily-jobs.yaml
jjb/functest/functest-docker.yaml
tox.ini
utils/fetch_os_creds.sh
utils/gpg_import_key.sh

index 6712781..d467dbe 100644 (file)
@@ -10,7 +10,7 @@ Creating/Configuring/Verifying Jenkins Jobs
 
 Clone and setup the repo::
 
-    git clone ssh://YOU@gerrit.opnfv.org:29418/releng
+    git clone --recursive ssh://YOU@gerrit.opnfv.org:29418/releng
     cd releng
     git review -s
 
@@ -29,13 +29,13 @@ Make changes::
 
 Test with tox::
 
-    tox -v -ejjb
+    tox -jjb
 
 .. note:: You can also test the jobs under a single jjb directory by
     specifying the directory. For example to test only the releng jobs, you
     could run:
 
-     tox -v -e jjb -- jjb/releng
+     tox -e jjb -- jjb/global:jjb/global-jjb:jjb/releng
 
 Submit the change to gerrit::
 
index dfaf2a8..f5c6ab1 100755 (executable)
@@ -156,16 +156,6 @@ fi
 # start deployment
 sudo ${DEPLOY_CMD} -d ${DEPLOY_FILE} -n ${NETWORK_FILE} --debug
 
-if [[ "$PROMOTE" == 'True' ]]; then
-  echo "CSIT job: setting host route for floating ip routing"
-  # csit route to allow docker container to reach floating ips
-  UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo "[0-9\.]+{3}[0-9]+")
-  if sudo route | grep 192.168.37.128 > /dev/null; then
-    sudo route del -net 192.168.37.128 netmask 255.255.255.128
-  fi
-  sudo route add -net 192.168.37.128 netmask 255.255.255.128 gw ${UNDERCLOUD}
-fi
-
 echo
 echo "--------------------------------------------------------"
 echo "Done!"
index 7e38d56..b739314 100644 (file)
@@ -91,10 +91,16 @@ echo "Snapshot saved as apex-${SNAP_TYPE}-snap-${DATE}.tar.gz"
 
 # update opnfv properties file
 if [ "$SNAP_TYPE" == 'csit' ]; then
-  curl -O -L http://$GS_URL/snapshot.properties
-  sed -i '/^OPNFV_SNAP_URL=/{h;s#=.*#='${GS_URL}'/apex-csit-snap-'${DATE}'.tar.gz#};${x;/^$/{s##OPNFV_SNAP_URL='${GS_URL}'/apex-csit-snap-'${DATE}'.tar.gz#;H};x}' snapshot.properties
   snap_sha=$(sha512sum apex-csit-snap-${DATE}.tar.gz | cut -d' ' -f1)
-  sed -i '/^OPNFV_SNAP_SHA512SUM=/{h;s/=.*/='${snap_sha}'/};${x;/^$/{s//OPNFV_SNAP_SHA512SUM='${snap_sha}'/;H};x}' snapshot.properties
+  if curl --fail -O -L http://$GS_URL/snapshot.properties; then
+    sed -i '/^OPNFV_SNAP_URL=/{h;s#=.*#='${GS_URL}'/apex-csit-snap-'${DATE}'.tar.gz#};${x;/^$/{s##OPNFV_SNAP_URL='${GS_URL}'/apex-csit-snap-'${DATE}'.tar.gz#;H};x}' snapshot.properties
+    sed -i '/^OPNFV_SNAP_SHA512SUM=/{h;s/=.*/='${snap_sha}'/};${x;/^$/{s//OPNFV_SNAP_SHA512SUM='${snap_sha}'/;H};x}' snapshot.properties
+  else
+    cat << EOF > snapshot.properties
+OPNFV_SNAP_URL=${GS_URL}/apex-csit-snap-${DATE}.tar.gz
+OPNFV_SNAP_SHA512SUM=${snap_sha}
+EOF
+  fi
   echo "OPNFV_SNAP_URL=$GS_URL/apex-csit-snap-${DATE}.tar.gz"
   echo "OPNFV_SNAP_SHA512SUM=$(sha512sum apex-csit-snap-${DATE}.tar.gz | cut -d' ' -f1)"
   echo "Updated properties file: "
index 8743368..5c777a8 100755 (executable)
@@ -24,7 +24,9 @@ importkey () {
   git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng/ &> /dev/null
   #this is where we import the siging key
   if [ -f $WORKSPACE/releng/utils/gpg_import_key.sh ]; then
-    source $WORKSPACE/releng/utils/gpg_import_key.sh
+    if ! $WORKSPACE/releng/utils/gpg_import_key.sh; then
+      echo "WARNING: Failed to run gpg key import"
+    fi
   fi
 }
 
@@ -75,13 +77,16 @@ uploadrpm () {
 uploadsnap () {
   # Uploads snapshot artifact and updated properties file
   echo "Uploading snapshot artifacts"
+  # snapshot dir is the same node in the create job workspace
+  # only 1 promotion job can run at a time on a slave
+  snapshot_dir="${WORKSPACE}/../apex-create-snapshot"
   if [ -z "$SNAP_TYPE" ]; then
     echo "ERROR: SNAP_TYPE not provided...exiting"
     exit 1
   fi
-  gsutil cp $WORKSPACE/apex-${SNAP_TYPE}-snap-`date +%Y-%m-%d`.tar.gz gs://$GS_URL/ > gsutil.iso.log
+  gsutil cp ${snapshot_dir}/apex-${SNAP_TYPE}-snap-`date +%Y-%m-%d`.tar.gz gs://$GS_URL/ > gsutil.iso.log
   if [ "$SNAP_TYPE" == 'csit' ]; then
-    gsutil cp $WORKSPACE/snapshot.properties gs://$GS_URL/snapshot.properties > gsutil.latest.log
+    gsutil cp ${snapshot_dir}/snapshot.properties gs://$GS_URL/snapshot.properties > gsutil.latest.log
   fi
   echo "Upload complete for Snapshot"
 }
index 2f29765..0837a76 100644 (file)
               kill-phase-on: FAILURE
               abort-all-job: true
               git-revision: true
+      - shell: |
+          if echo $DEPLOY_SCENARIO | grep queens &> /dev/null; then
+          echo 'REPO=opnfv' > functest_repo
+          else
+          echo 'REPO=ollivier' > functest_repo
+          fi
+      - inject:
+          properties-file: functest_repo
       - multijob:
           name: functest-smoke
           condition: ALWAYS
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                 FUNCTEST_SUITE_NAME=tempest_smoke_serial
                 FUNCTEST_MODE=testcase
+                REPO=$REPO
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
index bb5b53d..65e5588 100644 (file)
@@ -8,7 +8,7 @@
       - 'apex-virtual-{stream}'
       - 'apex-deploy-{platform}-{stream}'
       - 'apex-daily-{stream}'
-      - 'apex-csit-promote-daily-{stream}-{os_version}'
+      - 'apex-csit-promote-daily-{stream}-os-{os_version}'
       - 'apex-fdio-promote-daily-{stream}'
       - 'apex-{scenario}-baremetal-{scenario_stream}'
       - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
           <<: *danube
       - 'os-ovn-nofeature-noha':
           <<: *danube
+      - 'os-nosdn-nofeature-noha':
+          <<: *master
+      - 'os-nosdn-nofeature-ha':
+          <<: *master
       - 'os-odl-nofeature-noha':
           <<: *master
       - 'os-odl-nofeature-ha':
           <<: *master
+      - 'os-nosdn-queens-noha':
+          <<: *master
+      - 'os-nosdn-queens-ha':
+          <<: *master
       - 'os-odl-queens-noha':
           <<: *master
       - 'os-odl-queens-ha':
               kill-phase-on: FAILURE
               abort-all-job: true
               git-revision: true
+      - shell: |
+          if echo $DEPLOY_SCENARIO | grep queens &> /dev/null; then
+          echo 'REPO=opnfv' > functest_repo
+          else
+          echo 'REPO=ollivier' > functest_repo
+          fi
+      - inject:
+          properties-file: functest_repo
       - multijob:
           name: functest-smoke
           condition: ALWAYS
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                 FUNCTEST_MODE=$FUNCTEST_MODE
                 FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
+                REPO=$REPO
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
               predefined-parameters:
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
               kill-phase-on: NEVER
-              enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/
-                                 && $BUILD_NUMBER % 2 == 1"
+              enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
               abort-all-job: false
               git-revision: false
       - multijob:
               predefined-parameters:
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
               kill-phase-on: NEVER
-              enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/
-                                 && $BUILD_NUMBER % 2 == 0"
+              enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
               abort-all-job: false
               git-revision: false
       - multijob:
 - job-template:
     name: 'apex-create-snapshot'
 
-    # Job template for clean
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-
     disabled: false
 
+    parameters:
+      - '{project}-defaults'
+
     builders:
       - shell:
           !include-raw-escape: ./apex-snapshot-create.sh
 - job-template:
     name: 'apex-upload-snapshot'
 
-    # Job template for clean
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-
     disabled: false
 
+    parameters:
+      - '{project}-defaults'
+
     builders:
       - inject:
           properties-content: ARTIFACT_TYPE=snapshot
 
 # CSIT promote
 - job-template:
-    name: 'apex-csit-promote-daily-{stream}-{os_version}'
+    name: 'apex-csit-promote-daily-{stream}-os-{os_version}'
 
     # Job template for promoting CSIT Snapshots
     #
           condition: SUCCESSFUL
           projects:
             - name: 'apex-create-snapshot'
-              current-parameters: false
+              current-parameters: true
               predefined-parameters: |
                 SNAP_TYPE=csit
               node-parameters: true
           condition: SUCCESSFUL
           projects:
             - name: 'apex-upload-snapshot'
-              current-parameters: false
+              current-parameters: true
               predefined-parameters: |
                 SNAP_TYPE=csit
               node-parameters: true
           name: Baremetal Deploy and Test Phase
           condition: SUCCESSFUL
           projects:
+            - name: 'apex-os-nosdn-nofeature-noha-baremetal-master'
+              node-parameters: false
+              current-parameters: false
+              predefined-parameters: |
+                OPNFV_CLEAN=yes
+              kill-phase-on: NEVER
+              abort-all-job: true
+              git-revision: false
+            - name: 'apex-os-nosdn-nofeature-ha-baremetal-master'
+              node-parameters: false
+              current-parameters: false
+              predefined-parameters: |
+                OPNFV_CLEAN=yes
+              kill-phase-on: NEVER
+              abort-all-job: true
+              git-revision: false
             - name: 'apex-os-odl-nofeature-noha-baremetal-master'
               node-parameters: false
               current-parameters: false
               kill-phase-on: NEVER
               abort-all-job: true
               git-revision: false
+            - name: 'apex-os-nosdn-queens-noha-baremetal-master'
+              node-parameters: false
+              current-parameters: false
+              predefined-parameters: |
+                OPNFV_CLEAN=yes
+              kill-phase-on: NEVER
+              abort-all-job: true
+              git-revision: false
+            - name: 'apex-os-nosdn-queens-ha-baremetal-master'
+              node-parameters: false
+              current-parameters: false
+              predefined-parameters: |
+                OPNFV_CLEAN=yes
+              kill-phase-on: NEVER
+              abort-all-job: true
+              git-revision: false
             - name: 'apex-os-odl-queens-noha-baremetal-master'
               node-parameters: false
               current-parameters: false
index 3397f1e..f1208d2 100644 (file)
@@ -8,7 +8,7 @@
       - 'apex-virtual-{stream}'
       - 'apex-deploy-{platform}-{stream}'
       - 'apex-daily-{stream}'
-      - 'apex-csit-promote-daily-{stream}-{os_version}'
+      - 'apex-csit-promote-daily-{stream}-os-{os_version}'
       - 'apex-fdio-promote-daily-{stream}'
       - 'apex-{scenario}-baremetal-{scenario_stream}'
       - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
               kill-phase-on: FAILURE
               abort-all-job: true
               git-revision: true
+      - shell: |
+          if echo $DEPLOY_SCENARIO | grep queens &> /dev/null; then
+          echo 'REPO=opnfv' > functest_repo
+          else
+          echo 'REPO=ollivier' > functest_repo
+          fi
+      - inject:
+          properties-file: functest_repo
       - multijob:
           name: functest-smoke
           condition: ALWAYS
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                 FUNCTEST_MODE=$FUNCTEST_MODE
                 FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
+                REPO=$REPO
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
               predefined-parameters:
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
               kill-phase-on: NEVER
-              enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/
-                                 && $BUILD_NUMBER % 2 == 1"
+              enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
               abort-all-job: false
               git-revision: false
       - multijob:
               predefined-parameters:
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
               kill-phase-on: NEVER
-              enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/
-                                 && $BUILD_NUMBER % 2 == 0"
+              enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
               abort-all-job: false
               git-revision: false
       - multijob:
 - job-template:
     name: 'apex-create-snapshot'
 
-    # Job template for clean
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-
     disabled: false
 
+    parameters:
+      - '{project}-defaults'
+
     builders:
       - shell:
           !include-raw-escape: ./apex-snapshot-create.sh
 - job-template:
     name: 'apex-upload-snapshot'
 
-    # Job template for clean
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-
     disabled: false
 
+    parameters:
+      - '{project}-defaults'
+
     builders:
       - inject:
           properties-content: ARTIFACT_TYPE=snapshot
 
 # CSIT promote
 - job-template:
-    name: 'apex-csit-promote-daily-{stream}-{os_version}'
+    name: 'apex-csit-promote-daily-{stream}-os-{os_version}'
 
     # Job template for promoting CSIT Snapshots
     #
           condition: SUCCESSFUL
           projects:
             - name: 'apex-create-snapshot'
-              current-parameters: false
+              current-parameters: true
               predefined-parameters: |
                 SNAP_TYPE=csit
               node-parameters: true
           condition: SUCCESSFUL
           projects:
             - name: 'apex-upload-snapshot'
-              current-parameters: false
+              current-parameters: true
               predefined-parameters: |
                 SNAP_TYPE=csit
               node-parameters: true
index 8375f61..71a6c3d 100644 (file)
@@ -1,6 +1,10 @@
 master:
+  - 'os-nosdn-nofeature-noha'
+  - 'os-nosdn-nofeature-ha'
   - 'os-odl-nofeature-noha'
   - 'os-odl-nofeature-ha'
+  - 'os-nosdn-queens-noha'
+  - 'os-nosdn-queens-ha'
   - 'os-odl-queens-noha'
   - 'os-odl-queens-ha'
 fraser:
index 8eeaabf..298173e 100644 (file)
             - condition-kind: regex-match
               regex: os-(nosdn|odl_l3)-nofeature-ha
               label: '{scenario}'
-            - condition-kind: day-of-week
-              day-selector: select-days
-              days:
-                MON: true
-                TUES: true
-              use-build-time: true
           steps:
             - trigger-builds:
                 - project: 'dovetail-compass-{pod}-default-{stream}'
             - condition-kind: regex-match
               regex: os-(nosdn|odl_l3)-nofeature-ha
               label: '{scenario}'
-            - condition-kind: day-of-week
-              day-selector: select-days
-              days:
-                THURS: true
-                FRI: true
-              use-build-time: true
           steps:
             - trigger-builds:
                 - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
index fe82780..2a9c73c 100755 (executable)
@@ -60,6 +60,10 @@ releng_repo=${WORKSPACE}/releng
 [ -d ${releng_repo} ] && sudo rm -rf ${releng_repo}
 git clone https://gerrit.opnfv.org/gerrit/releng ${releng_repo} >/dev/null
 
+pharos_repo=${WORKSPACE}/pharos
+[ -d ${pharos_repo} ] && sudo rm -rf ${pharos_repo}
+git clone https://git.opnfv.org/pharos ${pharos_repo} >/dev/null
+
 if [[ ${INSTALLER_TYPE} != 'joid' ]]; then
     echo "SUT branch is $SUT_BRANCH"
     echo "dovetail branch is $BRANCH"
@@ -93,10 +97,14 @@ if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "fuel" ]]; then
 fi
 cat $OPENRC
 
+# These packages are used for parsing yaml files and decrypting ipmi user and password.
+sudo pip install shyaml
+sudo yum install -y rubygems || sudo apt-get install -y ruby
+sudo gem install hiera-eyaml
+
 if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "compass" ]]; then
     compass_repo=${WORKSPACE}/compass4nfv/
     git clone https://github.com/opnfv/compass4nfv.git ${compass_repo} >/dev/null
-    sudo pip install shyaml
     scenario_file=${compass_repo}/deploy/conf/hardware_environment/$NODE_NAME/os-nosdn-nofeature-ha.yml
     ipmiIp=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiIp)
     ipmiPass=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiPass)
@@ -120,11 +128,26 @@ if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_T
     fuel_ctl_ssh_options="${ssh_options} -i ${SSH_KEY}"
     ssh_user="ubuntu"
     fuel_ctl_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
-            "sudo salt --out yaml 'ctl*' pillar.get _param:openstack_control_address | \
-                awk '{print \$2; exit}'") &> /dev/null
+            "sudo salt 'cfg*' pillar.get _param:openstack_control_address --out text| \
+                cut -f2 -d' '")
+    ipmi_index=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
+            "sudo salt 'ctl*' network.ip_addrs cidr=${fuel_ctl_ip} --out text | grep ${fuel_ctl_ip} | cut -c 5")
+    organization="$(cut -d'-' -f1 <<< "${NODE_NAME}")"
+    pod_name="$(cut -d'-' -f2 <<< "${NODE_NAME}")"
+    pdf_file=${pharos_repo}/labs/${organization}/${pod_name}.yaml
+    ipmiIp=$(cat ${pdf_file} | shyaml get-value nodes.$[ipmi_index-1].remote_management.address)
+    ipmiIp="$(cut -d'/' -f1 <<< "${ipmiIp}")"
+    ipmiPass=$(cat ${pdf_file} | shyaml get-value nodes.$[ipmi_index-1].remote_management.pass)
+    ipmiUser=$(cat ${pdf_file} | shyaml get-value nodes.$[ipmi_index-1].remote_management.user)
+    [[ $ipmiUser == ENC* ]] && ipmiUser=$(eyaml decrypt -s ${ipmiUser//[[:blank:]]/})
+    [[ $ipmiPass == ENC* ]] && ipmiPass=$(eyaml decrypt -s ${ipmiPass//[[:blank:]]/})
+
     cat << EOF >${DOVETAIL_CONFIG}/pod.yaml
 nodes:
-- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${INSTALLER_IP}, name: node0, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+   role: Jumpserver, user: ${ssh_user}}
+- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+   role: controller, user: ${ssh_user}, ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
 
 EOF
 fi
@@ -172,7 +195,7 @@ if [ -f ${DOVETAIL_CONFIG}/pod.yaml ]; then
     if [ "$INSTALLER_TYPE" == "apex" ]; then
         attack_process='rabbitmq_server'
     else
-        attach_process='rabbitmq'
+        attack_process='rabbitmq'
     fi
     cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
 process_info:
index 24a28c6..cf63bb5 100755 (executable)
@@ -13,7 +13,7 @@ check_os_deployment() {
     FUNCTEST_IMAGE=${REPO}/functest-healthcheck:${DOCKER_TAG}
     echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
     docker pull ${FUNCTEST_IMAGE}>/dev/null
-    cmd="docker run --rm --privileged=true ${volumes} ${FUNCTEST_IMAGE} check_deployment"
+    cmd="docker run --rm ${volumes} ${FUNCTEST_IMAGE} check_deployment"
     echo "Checking deployment, CMD: ${cmd}"
     eval ${cmd}
     ret_value=$?
@@ -38,7 +38,7 @@ run_tiers() {
         FUNCTEST_IMAGE=${REPO}/functest-${tier}:${DOCKER_TAG}
         echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
         docker pull ${FUNCTEST_IMAGE}>/dev/null
-        cmd="docker run --rm  --privileged=true ${envs} ${volumes} ${TESTCASE_OPTIONS} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
+        cmd="docker run --rm  ${envs} ${volumes} ${TESTCASE_OPTIONS} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
         echo "Running Functest tier '${tier}'. CMD: ${cmd}"
         eval ${cmd}
         ret_value=$?
@@ -61,13 +61,13 @@ run_test() {
     case ${test_name} in
         connection_check|api_check|snaps_health_check)
             FUNCTEST_IMAGE=${REPO}/functest-healthcheck:${DOCKER_TAG} ;;
-        vping_ssh|vping_userdata|tempest_smoke_serial|rally_sanity|refstack_defcore|odl|odl_netvirt|snaps_smoke)
+        vping_ssh|vping_userdata|cinder_test|tempest_smoke_serial|rally_sanity|refstack_defcore|patrole|odl|snaps_smoke|neutron_trunk)
             FUNCTEST_IMAGE=${REPO}/functest-smoke:${DOCKER_TAG} ;;
         tempest_full_parallel|rally_full)
             FUNCTEST_IMAGE=${REPO}/functest-components:${DOCKER_TAG} ;;
-        cloudify_ims|orchestra_openims|orchestra_clearwaterims|vyos_vrouter)
+        cloudify_ims|vyos_vrouter|juju_epc)
             FUNCTEST_IMAGE=${REPO}/functest-vnf:${DOCKER_TAG} ;;
-        promise|doctor-notification|bgpvpn|functest-odl-sfc|domino-multinode|barometercollectd|fds)
+        doctor-notification|bgpvpn|functest-odl-sfc|barometercollectd|fds)
             FUNCTEST_IMAGE=${REPO}/functest-features:${DOCKER_TAG} ;;
         parser-basics)
             FUNCTEST_IMAGE=${REPO}/functest-parser:${DOCKER_TAG} ;;
@@ -78,7 +78,7 @@ run_test() {
     esac
     echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
     docker pull ${FUNCTEST_IMAGE}>/dev/null
-    cmd="docker run --rm --privileged=true ${envs} ${volumes} ${TESTCASE_OPTIONS} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
+    cmd="docker run --rm ${envs} ${volumes} ${TESTCASE_OPTIONS} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
     echo "Running Functest test case '${test_name}'. CMD: ${cmd}"
     eval ${cmd}
     ret_value=$?
@@ -169,9 +169,17 @@ elif [ ${FUNCTEST_MODE} == 'tier' ]; then
     run_tiers ${tiers}
 else
     if [ ${DEPLOY_TYPE} == 'baremetal' ] && [ "${HOST_ARCH}" != "aarch64" ]; then
-        tiers=(healthcheck smoke features vnf parser)
+        if [[ ${BRANCH} == "stable/fraser" ]]; then
+            tiers=(healthcheck smoke features vnf parser)
+        else
+            tiers=(healthcheck smoke features vnf)
+        fi
     else
-        tiers=(healthcheck smoke features parser)
+        if [[ ${BRANCH} == "stable/fraser" ]]; then
+            tiers=(healthcheck smoke features parser)
+        else
+            tiers=(healthcheck smoke features)
+        fi
     fi
     run_tiers ${tiers}
 fi
index c81046c..0300b99 100644 (file)
       - 'functest-{testsuite}-parameter'
       - string:
           name: DEPLOY_SCENARIO
-          default: 'os-odl_l2-nofeature-ha'
+          default: 'os-nosdn-nofeature-noha'
       - string:
           name: CLEAN_DOCKER_IMAGES
           default: 'false'
             - 'connection_check'
             - 'api_check'
             - 'snaps_health_check'
-            - 'vping_userdata'
             - 'vping_ssh'
+            - 'vping_userdata'
+            - 'cinder_test'
             - 'tempest_smoke_serial'
             - 'rally_sanity'
+            - 'refstack_defcore'
+            - 'patrole'
             - 'odl'
-            - 'odl_netvirt'
             - 'snaps_smoke'
-            - 'refstack_defcore'
-            - 'promise'
-            - 'doctor'
+            - 'neutron_trunk'
+            - 'doctor-notification'
             - 'bgpvpn'
-            - 'parser'
-            - 'security_scan'
+            - 'functest-odl-sfc'
+            - 'barometercollectd'
+            - 'fds'
             - 'tempest_full_parallel'
             - 'rally_full'
             - 'cloudify_ims'
-            - 'cloudify_vrouter'
-            - 'orchestra_openims'
-            - 'orchestra_clearwaterims'
+            - 'vyos_vrouter'
+            - 'juju_epc'
+            - 'parser'
           default: 'connection_check'
       - choice:
           name: FUNCTEST_TIER
             - 'features'
             - 'components'
             - 'vnf'
+            - 'parser'
           default: 'healthcheck'
       - string:
           name: TESTCASE_OPTIONS
index 50c7c38..74738f2 100644 (file)
@@ -25,6 +25,7 @@
     # yamllint disable rule:key-duplicates
     image:
       - 'core'
+      - 'tempest'
       - 'healthcheck'
       - 'features'
       - 'components'
       - 'smoke'
       - 'vnf'
 
+    exclude:
+      - stream: 'master'
+        image: 'parser'
+      - stream: 'fraser'
+        image: 'tempest'
+
     # settings for jobs run in multijob phases
     build-job-settings: &build-job-settings
       current-parameters: false
           projects:
             - name: 'functest-core-docker-manifest-{stream}'
               <<: *manifest-job-settings
+      - multijob:
+          name: 'build functest-tempest images'
+          execution-type: PARALLEL
+          projects:
+            - name: 'functest-tempest-docker-build-amd64-{stream}'
+              <<: *build-job-settings
+            - name: 'functest-tempest-docker-build-arm64-{stream}'
+              <<: *build-job-settings
+      - multijob:
+          name: 'publish functest-tempest manifests'
+          execution-type: PARALLEL
+          projects:
+            - name: 'functest-tempest-docker-manifest-{stream}'
+              <<: *manifest-job-settings
       - multijob:
           name: 'build all functest images'
           condition: SUCCESSFUL
diff --git a/tox.ini b/tox.ini
index abdffc5..d2f4168 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -15,9 +15,9 @@ setenv=
 
 [testenv:jjb]
 deps =
-  jenkins-job-builder==1.6.1
+  jenkins-job-builder==2.0.3
 commands=
-  jenkins-jobs test -o job_output -r jjb/global:{posargs:"jjb/"}
+  jenkins-jobs test -o job_output -r {posargs:"jjb/"}
 
 [testenv:docs]
 deps = -r{toxinidir}/docs/requirements.txt
index 4bc5858..b40b75b 100755 (executable)
@@ -164,7 +164,13 @@ elif [ "$installer_type" == "apex" ]; then
     if [ -f /root/.ssh/id_rsa ]; then
         chmod 600 /root/.ssh/id_rsa
     fi
-    sudo scp $ssh_options root@$installer_ip:/home/stack/overcloudrc.v3 $dest_path
+
+    if [ "${BRANCH}" == "stable/fraser" ]; then
+      rc_file=overcloudrc.v3
+    else
+      rc_file=overcloudrc
+    fi
+    sudo scp $ssh_options root@$installer_ip:/home/stack/${rc_file} $dest_path
 
 elif [ "$installer_type" == "compass" ]; then
     if [ "${BRANCH}" == "stable/danube" ]; then
index f45e409..94ffbaa 100755 (executable)
@@ -51,10 +51,14 @@ else
   if [ -z "$NODE_NAME" ];
     then echo "Cannot find node name"
       exit 0
-    else echo "Importing key for '$NODE_NAME'";
-     gsutil cp gs://opnfv-signing-keys/"$NODE_NAME"-subkey .
-     gpg2 --import "$NODE_NAME"-subkey
-     rm -f "$NODE_NAME"-subkey
-   fi
+  elif gsutil ls gs://opnfv-signing-keys | grep $NODE_NAME; then
+    echo "Importing key for '$NODE_NAME'"
+    gsutil cp gs://opnfv-signing-keys/"$NODE_NAME"-subkey .
+    gpg2 --import "$NODE_NAME"-subkey
+    rm -f "$NODE_NAME"-subkey
+  else
+    echo "No keys found locally or remotely for host, skipping import"
+    exit 0
+  fi
 fi