Merge "Update default DEPLOY_SCENARIO"
authorFatih Degirmenci <fdegir@gmail.com>
Wed, 20 Jun 2018 14:24:33 +0000 (14:24 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Wed, 20 Jun 2018 14:24:33 +0000 (14:24 +0000)
28 files changed:
INFO [deleted file]
docs/infra/jenkins/jjb-usage.rst
jjb-sandbox/releng/releng-sandbox-jobs.yml [deleted file]
jjb-sandbox/releng/verify-sandbox-jobs.sh [deleted file]
jjb/apex/apex-deploy.sh
jjb/apex/apex-snapshot-create.sh
jjb/apex/apex-verify-jobs.yaml
jjb/apex/apex.yaml
jjb/apex/apex.yaml.j2
jjb/apex/scenarios.yaml.hidden
jjb/armband/armband-ci-jobs.yaml
jjb/auto/auto.yaml
jjb/compass4nfv/compass-ci-jobs.yaml
jjb/doctor/doctor.yaml
jjb/dovetail/dovetail-run.sh
jjb/fuel/fuel-deploy.sh
jjb/functest/functest-alpine.sh
jjb/functest/functest-daily-jobs.yaml
jjb/functest/functest-docker.yaml
jjb/global/slave-params.yaml
jjb/releng/compass4nfv-docker.yaml
jjb/releng/opnfv-docker.yaml
jjb/releng/opnfv-repo-archiver.sh
jjb/xci/xci-verify-jobs.yaml
jjb/yardstick/yardstick-daily-jobs.yaml
releases/fraser/auto.yaml
tox.ini
utils/push-test-logs.sh

diff --git a/INFO b/INFO
deleted file mode 100644 (file)
index d9051ab..0000000
--- a/INFO
+++ /dev/null
@@ -1,31 +0,0 @@
-Project: Release Engineering (Releng)
-Project Creation Date: July 14, 2015
-Project Category: Integration & Testing
-Lifecycle State: Incubation
-Primary Contact: Fatih Degirmenci
-Project Lead: Fatih Degirmenci
-Jira Project Name: Release Engineering
-Jira Project Prefix: RELENG
-Mailing list tag: [releng]
-IRC: Server:freenode.net Channel:#opnfv-octopus
-Repository: releng
-Other Repositories: releng-xci, releng-testresults
-
-Committers:
-Fatih Degirmenci (Ericsson, fatih.degirmenci@ericsson.com)
-Aric Gardner (Linux Foundation, agardner@linuxfoundation.org)
-Tim Rozet (Red Hat, trozet@redhat.com)
-Morgan Richomme (Orange, morgan.richomme@orange.com)
-Jose Lausuch (Ericsson, jose.lausuch@ericsson.com)
-Ryota Mibu (NEC, r-mibu@cq.jp.nec.com)
-Mei Mei (Huawei, meimei@huawei.com)
-Trevor Bramwell (Linux Foundation, tbramwell@linuxfoundation.org)
-Serena Feng (ZTE, feng.xiaowei@zte.com.cn)
-Yolanda Robla Mota (Red Hat, yroblamo@redhat.com)
-Markos Chandras (SUSE, mchandras@suse.de)
-Luke Hinds (Red Hat, lhinds@redhat.com)
-
-Link to TSC approval of the project: http://ircbot.wl.linuxfoundation.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-07-14-14.00.html
-Link to TSC voting for removal of Victor Laza as committer: http://meetbot.opnfv.org/meetings/opnfv-meeting/2016/opnfv-meeting.2016-02-16-14.59.html
-Link to nomination and acceptance of Mei Mei as committer: http://lists.opnfv.org/pipermail/opnfv-tsc/2016-March/002228.html
-Links to nomination and accceptance of Trevor Bramwell as committer: http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2016-July/011659.html and http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2016-July/011714.html
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::
 
diff --git a/jjb-sandbox/releng/releng-sandbox-jobs.yml b/jjb-sandbox/releng/releng-sandbox-jobs.yml
deleted file mode 100644 (file)
index df8b1d5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
----
-- project:
-    name: 'releng-sandbox-jobs'
-    jobs:
-      - 'releng-deploy-sandbox'
-
-    project: 'releng'
-    node: 'releng-sandbox'
-
-- job-template:
-    name: 'releng-deploy-sandbox'
-    node: '{node}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: 'master'
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - gerrit:
-          trigger-on:
-            - patchset-created-event:
-                exclude-drafts: 'false'
-                exclude-trivial-rebase: 'false'
-                exclude-no-code-change: 'false'
-            - draft-published-event
-            - comment-added-contains-event:
-                comment-contains-value: 'redeploy'
-          custom-url: '$BUILD_URL deploying to $JENKINS_URL'
-          silent-start: true
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'releng'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/master'
-              file-paths:
-                - compare-type: ANT
-                  pattern: jjb-sandbox/**
-
-    wrappers: ''
-
-    builders:
-      - shell:
-          !include-raw-escape: verify-sandbox-jobs.sh
-      # yamllint disable rule:line-length
-      - shell: |
-          #!/bin/bash
-          jenkins-jobs update --delete-old -r jjb/releng-defaults.yaml:jjb/releng-macros.yaml:jjb/opnfv/installer-params.yml:jjb/opnfv/slave-params.yml:jjb-sandbox
-      # yamllint enable
-    publishers:
-      - archive-artifacts:
-          artifacts: 'job_output/*'
-      - email-jenkins-admins-on-failure
diff --git a/jjb-sandbox/releng/verify-sandbox-jobs.sh b/jjb-sandbox/releng/verify-sandbox-jobs.sh
deleted file mode 100755 (executable)
index 5990161..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 Linux Foundation and others.
-# 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
-##############################################################################
-#test for non-ascii characters, these can pass the test and end up breaking things in production
-for x in $(find . -name *\.yml); do
-
-  if LC_ALL=C grep -q '[^[:print:][:space:]]' "$x"; then
-    echo "file "$x" contains non-ascii characters"
-    exit 1
-  fi
-
-done
-
-jenkins-jobs test -r jjb/releng-defaults.yaml:jjb/releng-macros.yaml:jjb/opnfv/installer-params.yml:jjb/opnfv/slave-params.yml:jjb-sandbox \
-    -o job_output
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 342896c..7e38d56 100644 (file)
@@ -78,9 +78,7 @@ for node in $nodes; do
 done
 
 # copy virsh net definitions
-for net in admin api external storage tenant; do
-  sudo virsh net-dumpxml ${net} > ${net}.xml
-done
+sudo virsh net-dumpxml admin > admin.xml
 
 sudo chown jenkins-ci:jenkins-ci *
 
index f8e967b..0837a76 100644 (file)
       - master: &master
           branch: '{stream}'
           gs-pathname: ''
-          verify-scenario: 'os-odl-nofeature-ha'
+          verify-scenario: 'os-nosdn-nofeature-ha'
           disabled: false
       - fraser: &fraser
           branch: 'stable/{stream}'
           gs-pathname: '/{stream}'
-          verify-scenario: 'os-odl-nofeature-ha'
+          verify-scenario: 'os-nosdn-nofeature-ha'
           disabled: false
       - danube: &danube
           branch: 'stable/{stream}'
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                FUNCTEST_SUITE_NAME=tempest_smoke_serial
+                FUNCTEST_MODE=testcase
               node-parameters: false
               kill-phase-on: FAILURE
               abort-all-job: true
               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
               current-parameters: false
               predefined-parameters: |
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                FUNCTEST_MODE=tier
-                FUNCTEST_TIER=healthcheck
+                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
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
               node-parameters: true
               kill-phase-on: NEVER
+              enable-condition: "def m = '$DEPLOY_SCENARIO' != k8s-nosdn-nofeature-noha"
               abort-all-job: true
               git-revision: false
       - multijob:
index e61c0bf..9ad72e4 100644 (file)
           <<: *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':
     parameters:
       - '{project}-defaults'
       - '{project}-virtual-{stream}-defaults'
+      - 'functest-suite-parameter'
       - project-parameter:
           project: '{project}'
           branch: '{branch}'
               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
               current-parameters: false
               predefined-parameters: |
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                FUNCTEST_SUITE_NAME=healthcheck
+                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:
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                FUNCTEST_SUITE_NAME=tempest_smoke_serial
+                FUNCTEST_MODE=testcase
               node-parameters: true
               kill-phase-on: FAILURE
               abort-all-job: 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 34611a7..29ddef9 100644 (file)
     parameters:
       - '{project}-defaults'
       - '{project}-virtual-{stream}-defaults'
+      - 'functest-suite-parameter'
       - project-parameter:
           project: '{project}'
           branch: '{branch}'
               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
               current-parameters: false
               predefined-parameters: |
                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                FUNCTEST_SUITE_NAME=healthcheck
+                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:
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                FUNCTEST_SUITE_NAME=tempest_smoke_serial
+                FUNCTEST_MODE=testcase
               node-parameters: true
               kill-phase-on: FAILURE
               abort-all-job: 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 fe2bbcc..140f84b 100644 (file)
       - string:
           name: DEPLOY_SCENARIO
           default: 'os-odl-nofeature-ha'
+      - string:
+          name: PROJECT
+          default: '{project}'
 
     scm:
       - git-scm
index c28dc56..0cfe88f 100644 (file)
@@ -1,8 +1,127 @@
 ---
+# jenkins job templates for Auto
 - project:
-    name: auto
+    name: 'auto-ci-jobs'
+    project: 'auto'
 
-    project: '{name}'
+    # -------------------------------
+    # BRANCH ANCHORS
+    # -------------------------------
+    master: &master
+      stream: master
+      branch: '{stream}'
+      gs-pathname: ''
+      disabled: false
+    fraser: &fraser
+      stream: fraser
+      branch: 'stable/{stream}'
+      gs-pathname: '/{stream}'
+      disabled: false
+    # -------------------------------
+    # DEPLOY TYPE ANCHORS
+    # -------------------------------
+    baremetal: &baremetal
+      installer: 'fuel'
+      slave-label: 'auto-baremetal'
+    # -------------------------------
+    # POD, INSTALLER, AND BRANCH MAPPING
+    # -------------------------------
+    # CI POD's
+    # -------------------------------
+    #        fraser
+    # -------------------------------
+    pod:
+      # yamllint disable rule:key-duplicates
+      - auto-baremetal:
+          <<: *baremetal
+          <<: *fraser
+      # -------------------------------
+      #        master
+      # -------------------------------
+      - auto-baremetal:
+          <<: *baremetal
+          <<: *master
+    # yamllint enable rule:key-duplicates
+    # -------------------------------
+    #       scenarios
+    # -------------------------------
+    scenario:
+      # HA scenarios
+      - 'os-nosdn-onap-ha':
+          auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
 
     jobs:
+      - '{installer}-{scenario}-{pod}-auto-daily-{stream}'
+      - '{installer}-deploy-{pod}-daily-{stream}'
       - '{project}-verify-basic'
+
+########################
+# job templates
+########################
+- job-template:
+    name: '{installer}-{scenario}-{pod}-auto-daily-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    concurrent: false
+
+    properties:
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 4
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - '{installer}-os-.*?-{pod}-auto-daily-.*'
+          block-level: 'NODE'
+
+    wrappers:
+      - build-name:
+          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+
+    triggers:
+      - '{auto-trigger-name}'
+
+    parameters:
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{installer}-defaults':
+          gs-pathname: '{gs-pathname}'
+      - '{slave-label}-defaults':
+          installer: '{installer}'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
+
+    builders:
+      - trigger-builds:
+          - project: '{installer}-deploy-{pod}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters: |
+              DEPLOY_SCENARIO=os-nosdn-nofeature-ha
+              PROJECT=armband
+            same-node: true
+            block: true
+
+########################
+# trigger macros
+########################
+# CI PODs
+# ----------------------------------------------------------------
+# Auto CI Baremetal Triggers running against master branch
+# ----------------------------------------------------------------
+- trigger:
+    name: 'fuel-os-nosdn-onap-ha-auto-baremetal-master-trigger'
+    triggers:
+      - timed: '0 1 * * *'
+# ---------------------------------------------------------------------
+# Auto CI Baremetal Triggers running against fraser branch
+# ---------------------------------------------------------------------
+- trigger:
+    name: 'fuel-os-nosdn-onap-ha-auto-baremetal-fraser-trigger'
+    triggers:
+      - timed: ''
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 3985356..1c12563 100644 (file)
       - 'doctor-parameter':
           docker-tag: '{docker-tag}'
           scenario: '{scenario}'
-      - 'doctor-functest-parameter'
+      - 'doctor-functest-parameter':
+          gs-pathname: '{gs-pathname}'
+          inspector: '{inspector}'
     scm:
       - git-scm-gerrit
     builders:
index df681dd..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
@@ -169,10 +192,14 @@ fi
 if [ -f ${DOVETAIL_CONFIG}/pod.yaml ]; then
     sudo chmod 666 ${DOVETAIL_CONFIG}/pod.yaml
     echo "Adapt process info for $INSTALLER_TYPE ..."
-    attack_process='rabbitmq'
+    if [ "$INSTALLER_TYPE" == "apex" ]; then
+        attack_process='rabbitmq_server'
+    else
+        attack_process='rabbitmq'
+    fi
     cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
 process_info:
-- {testcase_name: dovetail.ha.tc010, attack_process: ${attack_process}}
+- {testcase_name: dovetail.ha.rabbitmq, attack_process: ${attack_process}}
 
 EOF
     echo "file ${DOVETAIL_CONFIG}/pod.yaml:"
index 35bf3dc..433061a 100755 (executable)
@@ -55,8 +55,8 @@ if [ "${PROJECT}" = 'fuel' ]; then
     fi
 else
     SUDO=
-    # Armband currently supports arm, enea labs
-    if [[ ! "${LAB_NAME}" =~ (arm|enea) ]]; then
+    # Armband currently supports arm, enea, unh labs
+    if [[ ! "${LAB_NAME}" =~ (arm|enea|unh) ]]; then
         echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!"
         exit 1
     fi
index 1df9a55..cf63bb5 100755 (executable)
@@ -4,15 +4,16 @@ set -e
 set +u
 set +o pipefail
 
+REPO=${REPO:-opnfv}
 CI_LOOP=${CI_LOOP:-daily}
 TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results
 ENERGY_RECORDER_API_URL=http://energy.opnfv.fr/resources
 
 check_os_deployment() {
-    FUNCTEST_IMAGE=opnfv/functest-healthcheck:${DOCKER_TAG}
+    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=$?
@@ -34,10 +35,10 @@ run_tiers() {
     echo 0 > ${ret_val_file}
 
     for tier in ${tiers[@]}; do
-        FUNCTEST_IMAGE=opnfv/functest-${tier}:${DOCKER_TAG}
+        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=$?
@@ -59,17 +60,17 @@ run_test() {
     # 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:${DOCKER_TAG} ;;
-        vping_ssh|vping_userdata|tempest_smoke_serial|rally_sanity|refstack_defcore|odl|odl_netvirt|snaps_smoke)
-            FUNCTEST_IMAGE=opnfv/functest-smoke:${DOCKER_TAG} ;;
+            FUNCTEST_IMAGE=${REPO}/functest-healthcheck:${DOCKER_TAG} ;;
+        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=opnfv/functest-components:${DOCKER_TAG} ;;
-        cloudify_ims|orchestra_openims|orchestra_clearwaterims|vyos_vrouter)
-            FUNCTEST_IMAGE=opnfv/functest-vnf:${DOCKER_TAG} ;;
-        promise|doctor-notification|bgpvpn|functest-odl-sfc|domino-multinode|barometercollectd|fds)
-            FUNCTEST_IMAGE=opnfv/functest-features:${DOCKER_TAG} ;;
+            FUNCTEST_IMAGE=${REPO}/functest-components:${DOCKER_TAG} ;;
+        cloudify_ims|vyos_vrouter|juju_epc)
+            FUNCTEST_IMAGE=${REPO}/functest-vnf:${DOCKER_TAG} ;;
+        doctor-notification|bgpvpn|functest-odl-sfc|barometercollectd|fds)
+            FUNCTEST_IMAGE=${REPO}/functest-features:${DOCKER_TAG} ;;
         parser-basics)
-            FUNCTEST_IMAGE=opnfv/functest-parser:${DOCKER_TAG} ;;
+            FUNCTEST_IMAGE=${REPO}/functest-parser:${DOCKER_TAG} ;;
         *)
             echo "Unkown test case $test_name"
             exit 1
@@ -77,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=$?
@@ -108,11 +109,6 @@ fi
 
 rc_file_vol="-v ${rc_file}:${FUNCTEST_DIR}/conf/env_file"
 
-# Set iptables rule to allow forwarding return traffic for container
-if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FORWARD | awk 'NR==3' | grep RETURN 2> ${redirect}; then
-    sudo iptables -I FORWARD -j RETURN
-fi
-
 echo "Functest: Start Docker and prepare environment"
 
 echo "Functest: Download images that will be used by test cases"
@@ -173,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 6242d79..0300b99 100644 (file)
             - '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
           name: RC_FILE_PATH
           default: ''
           description: "Path to the OS credentials file if given"
+      - string:
+          name: REPO
+          default: "opnfv"
+          description: "Repository name for functest images"
 ########################
 # trigger macros
 ########################
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
index 9d8bed4..0219be5 100644 (file)
           default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab
           description: 'Base URI to the configuration directory'
 
+- parameter:
+    name: 'auto-baremetal-defaults'
+    parameters:
+      - label:
+          name: SLAVE_LABEL
+          default: 'auto-baremetal'
+      - string:
+          name: GIT_BASE
+          default: https://gerrit.opnfv.org/gerrit/$PROJECT
+          description: 'Git URL to use on this Jenkins Slave'
+
 - parameter:
     name: 'joid-baremetal-defaults'
     parameters:
index d9a8b92..2a54536 100644 (file)
     arch_tag:
       - 'amd64':
           slave_label: 'opnfv-build-ubuntu'
-          dockerfile: 'Dockerfile'
+          docker_file: 'Dockerfile'
       - 'arm64':
           slave_label: 'opnfv-build-ubuntu-arm'
-          dockerfile: 'Dockerfile-arm64'
+          docker_file: 'Dockerfile-arm64'
 
     # yamllint disable rule:key-duplicates
     image:
@@ -43,7 +43,6 @@
         PUSH_IMAGE=$PUSH_IMAGE
         COMMIT_ID=$COMMIT_ID
         GERRIT_REFNAME=$GERRIT_REFNAME
-        DOCKERFILE=$DOCKERFILE
       kill-phase-on: FAILURE
       abort-all-jobs: false
 
@@ -77,6 +76,8 @@
           project: '{project}'
           branch: '{branch}'
           slave_label: 'opnfv-build-ubuntu'
+          docker_file: 'Dockerfile'
+          arch_tag: 'amd64'
 
     properties:
       - throttle:
           project: '{project}'
           branch: '{branch}'
           slave_label: '{slave_label}'
+          docker_file: '{docker_file}'
+          arch_tag: '{arch_tag}'
       - string:
           name: DOCKER_REPO_NAME
           default: "opnfv/compass-{image}"
           name: DOCKER_DIR
           default: "compass-{image}"
           description: "Directory containing files needed by the Dockerfile"
-      - string:
-          name: DOCKERFILE
-          default: '{dockerfile}'
-          description: "Dockerfile to use for creating the image."
-      - string:
-          name: ARCH_TAG
-          default: "{arch_tag}"
-          description: "If set, this value will be added to the docker image tag as a prefix"
     scm:
       - git-scm
     builders:
           project: '{project}'
           branch: '{branch}'
           slave_label: 'opnfv-build-ubuntu'
+          docker_file: 'Dockerfile'
+          arch_tag: 'amd64'
     builders:
       - shell: |
           #!/bin/bash -ex
           name: GERRIT_REFNAME
           default: ""
           description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
+      - string:
+          name: DOCKERFILE
+          default: '{docker_file}'
+          description: "Dockerfile to use for creating the image."
+      - string:
+          name: ARCH_TAG
+          default: "{arch_tag}"
+          description: "If set, this value will be added to the docker image tag as a prefix"
       - string:
           name: PROJECT
           default: "{project}"
index b7d1ce6..c73bae3 100644 (file)
           <<: *master
           <<: *other-receivers
       # projects with jobs for euphrates
+      - 'barometer-collectd':
+          project: 'barometer'
+          dockerdir: 'docker/barometer-collectd'
+          <<: *fraser
+          <<: *other-receivers
+      - 'barometer-grafana':
+          project: 'barometer'
+          dockerdir: 'docker/barometer-grafana'
+          <<: *fraser
+          <<: *other-receivers
+      - 'barometer-influxdb':
+          project: 'barometer'
+          dockerdir: 'docker/barometer-influxdb'
+          <<: *fraser
+          <<: *other-receivers
+      - 'barometer-kafka':
+          project: 'barometer'
+          dockerdir: 'docker/barometer-kafka'
+          <<: *fraser
+          <<: *other-receivers
+      - 'barometer-ves':
+          project: 'barometer'
+          dockerdir: 'docker/barometer-ves'
+          <<: *fraser
+          <<: *other-receivers
+      - 'barometer-snmp':
+          project: 'barometer'
+          dockerdir: 'docker/barometer-snmp'
+          <<: *fraser
+          <<: *other-receivers
       - 'bottlenecks':
           project: 'bottlenecks'
           <<: *euphrates
index 6fa0aef..b7ff3ba 100644 (file)
@@ -29,7 +29,7 @@ for PROJECT in "${PROJECT_LIST[@]}"; do
     git clone "https://gerrit.opnfv.org/gerrit/$PROJECT.git" $CLONE_PATH/$PROJECT
   else
     pushd "$CLONE_PATH/$PROJECT" &>/dev/null
-    git pull -f
+    git pull -f origin master
     popd &> /dev/null
   fi
 
index 2230cd5..baff0c9 100644 (file)
@@ -20,7 +20,7 @@
           unstable: false
           notbuilt: false
       - centos:
-          disabled: false
+          disabled: true
           successful: true
           failed: true
           unstable: true
index 4df3f52..c5a3508 100644 (file)
 
     publishers:
       - email:
-          recipients: jean.gaoliang@huawei.com limingjiang@huawei.com ross.b.brattain@intel.com
+          recipients: jean.gaoliang@huawei.com limingjiang@huawei.com
       - email-jenkins-admins-on-failure
 
 ########################
index ab433c4..60250bd 100644 (file)
@@ -12,6 +12,10 @@ releases:
     location:
       auto: b718a43380376d2b19222c4203c97a95ca849ae8
 
+  - version: opnfv-6.1.1
+    location:
+      auto: 0f43563624832c5908e6fc00eb0a4bbc6cc82c33
+
 branches:
   - name: stable/fraser
     location:
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 a87e399..9debb45 100644 (file)
@@ -21,14 +21,14 @@ dir_result="${HOME}/opnfv/$project/results/${branch}"
 # src: https://wiki.opnfv.org/display/INF/Hardware+Infrastructure
 # + intel-pod12 (vsperf)
 node_list=(\
-'lf-pod1' 'lf-pod2' 'intel-pod2' 'intel-pod12' \
+'lf-pod1' 'lf-pod2' \
 'lf-virtual2' 'lf-virtual3' \
-'intel-pod5' 'intel-pod6' 'intel-pod7' 'intel-pod8' 'intel-pod18' \
+'intel-pod12' 'intel-pod18' \
 'ericsson-pod1' 'ericsson-pod2' \
 'ericsson-virtual1' 'ericsson-virtual2'  'ericsson-virtual3' \
-'ericsson-virtual4' 'ericsson-virtual5' 'ericsson-virtual12' \
-'arm-pod1' 'arm-pod5' 'arm-pod6' \
-'huawei-pod1' 'huawei-pod2' 'huawei-pod3' 'huawei-pod4' 'huawei-pod5' \
+'ericsson-virtual4' 'ericsson-virtual5' \
+'arm-pod5' 'arm-pod6' \
+'huawei-pod1' 'huawei-pod2' 'huawei-pod3' 'huawei-pod4' \
 'huawei-pod6' 'huawei-pod7' 'huawei-pod12' \
 'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4' \
 'huawei-virtual5' 'huawei-virtual8' 'huawei-virtual9' \