Merge "Basic Getting Started guide for OPNFV CI"
authorTrevor Bramwell <tbramwell@linuxfoundation.org>
Wed, 17 Feb 2021 17:22:00 +0000 (17:22 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Wed, 17 Feb 2021 17:22:00 +0000 (17:22 +0000)
86 files changed:
jjb/airship/cntt.yaml
jjb/armband/armband-ci-jobs.yaml [deleted file]
jjb/armband/armband-rtd-jobs.yaml [deleted file]
jjb/armband/armband-verify-jobs.yaml [deleted file]
jjb/barometer/barometer.yaml
jjb/calipso/calipso-rtd-jobs.yaml [deleted file]
jjb/calipso/calipso.yaml [deleted file]
jjb/clover/clover-project.yaml [deleted file]
jjb/clover/clover-rtd-jobs.yaml [deleted file]
jjb/clover/clover-views.yaml [deleted file]
jjb/container4nfv/arm64/deploy-cni.sh [deleted file]
jjb/container4nfv/arm64/yardstick-arm64.sh [deleted file]
jjb/container4nfv/container4nfv-arm64.yaml [deleted file]
jjb/container4nfv/container4nfv-project.yaml [deleted file]
jjb/container4nfv/container4nfv-rtd-jobs.yaml [deleted file]
jjb/container4nfv/container4nfv-views.yaml [deleted file]
jjb/doctor/doctor-env-presetup.sh [deleted file]
jjb/doctor/doctor-rtd-jobs.yaml [deleted file]
jjb/doctor/doctor.yaml [deleted file]
jjb/dovetail/dovetail-ci-jobs.yaml [deleted file]
jjb/edgecloud/edgecloud-rtd-jobs.yaml [deleted file]
jjb/edgecloud/edgecloud-views.yaml [deleted file]
jjb/fds/fds-rtd-jobs.yaml [deleted file]
jjb/fds/fds-views.yaml [deleted file]
jjb/fuel/fuel-daily-jobs.yaml [deleted file]
jjb/fuel/fuel-deploy.sh [deleted file]
jjb/fuel/fuel-docker-jobs.yaml [deleted file]
jjb/fuel/fuel-logs.sh [deleted file]
jjb/fuel/fuel-rtd-jobs.yaml [deleted file]
jjb/fuel/fuel-set-scenario.sh [deleted file]
jjb/fuel/fuel-verify-jobs.yaml [deleted file]
jjb/functest/functest-docker.yaml [deleted file]
jjb/functest/functest-kubernetes-docker.yaml [deleted file]
jjb/functest/functest-kubernetes-ng.yaml [new file with mode: 0644]
jjb/functest/functest-kubernetes-pi.yaml
jjb/functest/functest-kubernetes-project-jobs.yaml [deleted file]
jjb/functest/functest-kubernetes.yaml
jjb/functest/functest-pi.yaml
jjb/functest/functest-project-jobs.yaml [deleted file]
jjb/functest/functest.ovn.yaml [deleted file]
jjb/functest/functest.yaml
jjb/functest/xtesting-docker.yaml [deleted file]
jjb/functest/xtesting-pi.yaml
jjb/functest/xtesting-project-jobs.yaml [deleted file]
jjb/functest/xtesting.yaml
jjb/nfvbench/nfvbench.yaml
jjb/openci/create-ape.sh [deleted file]
jjb/openci/create-cde.sh [deleted file]
jjb/openci/create-clme.sh [deleted file]
jjb/openci/openci-odl-daily-jobs.yaml [deleted file]
jjb/openci/openci-onap-daily-jobs.yaml [deleted file]
jjb/openci/openci-opnfv-daily-jobs.yaml [deleted file]
jjb/openci/openci-views.yaml [deleted file]
jjb/opnfvtsc/opnfvtsc-rtd-jobs.yaml [deleted file]
jjb/opnfvtsc/opnfvtsc-views.yaml [deleted file]
jjb/ovn4nfv/golang-make-test.sh [deleted file]
jjb/ovn4nfv/ovn4nfv-k8s-plugins-project-jobs.yaml [deleted file]
jjb/pharos/check-jinja2.yaml [deleted file]
jjb/pharos/pharos-rtd-jobs.yaml [deleted file]
jjb/pharos/pharos-views.yaml [deleted file]
jjb/pharos/pharos.yaml [deleted file]
jjb/releng/artifact-cleanup.yaml
jjb/releng/opnfv-docker.yaml
jjb/releng/opnfv-utils.yaml
jjb/stor4nfv/stor4nfv-project.yaml [deleted file]
jjb/stor4nfv/stor4nfv-rtd-jobs.yaml [deleted file]
jjb/stor4nfv/stor4nfv-views.yaml [deleted file]
jjb/xci/bifrost-cleanup-job.yaml [deleted file]
jjb/xci/bifrost-periodic-jobs.yaml [deleted file]
jjb/xci/bifrost-provision.sh [deleted file]
jjb/xci/bifrost-verify-jobs.yaml [deleted file]
jjb/xci/bifrost-verify.sh [deleted file]
jjb/xci/osa-periodic-jobs.yaml [deleted file]
jjb/xci/xci-cleanup.sh [deleted file]
jjb/xci/xci-daily-jobs.yaml [deleted file]
jjb/xci/xci-deploy.sh [deleted file]
jjb/xci/xci-merge-jobs.yaml [deleted file]
jjb/xci/xci-promote.sh [deleted file]
jjb/xci/xci-rtd-jobs.yaml [deleted file]
jjb/xci/xci-run-functest.sh [deleted file]
jjb/xci/xci-set-scenario.sh [deleted file]
jjb/xci/xci-start-deployment.sh [deleted file]
jjb/xci/xci-start-new-vm.sh [deleted file]
jjb/xci/xci-verify-jobs.yaml [deleted file]
jjb/xci/xci-views.yaml [deleted file]
releases/jerma/opnfvdocs.yaml

index 1dadaa5..f886c82 100644 (file)
 
 - job-template:
     name: 'cntt-{tag}-daily'
+    disabled: true
     project-type: multijob
     triggers:
       - timed: '@daily'
 
 - job-template:
     name: 'cntt-{tag}-gate'
+    disabled: true
     project-type: multijob
     triggers:
       - cntt-patchset-created:
diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml
deleted file mode 100644 (file)
index 4f2dc5e..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
----
-# jenkins job templates for Armband
-- project:
-    name: 'armband-ci'
-    project: 'armband'
-    installer: 'fuel'
-
-    # -------------------------------
-    # BRANCH ANCHORS
-    # -------------------------------
-    master: &master
-      stream: master
-      branch: '{stream}'
-      gs-pathname: ''
-      disabled: true
-      functest_docker_tag: hunter
-    hunter: &hunter
-      stream: hunter
-      branch: 'stable/{stream}'
-      gs-pathname: '/{stream}'
-      disabled: true
-      functest_docker_tag: '{stream}'
-    # -------------------------------
-    # POD, INSTALLER, AND BRANCH MAPPING
-    # -------------------------------
-    # CI POD's
-    # -------------------------------
-    pod:
-      # -------------------------------
-      #        hunter
-      # -------------------------------
-      - armband-baremetal:
-          deploy-type: 'baremetal'
-          slave-label: 'armband-{deploy-type}'
-          <<: *hunter
-      # -------------------------------
-      #        master
-      # -------------------------------
-      - armband-baremetal:
-          deploy-type: 'baremetal'
-          slave-label: 'armband-{deploy-type}'
-          <<: *master
-    # -------------------------------
-    #       scenarios
-    # -------------------------------
-    scenario:
-      # HA scenarios
-      - 'os-nosdn-nofeature-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-      - 'os-odl-nofeature-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-      - 'os-ovn-nofeature-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-      - 'os-nosdn-ovs-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-
-      # NOHA scenarios
-      - 'os-nosdn-nofeature-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-      - 'os-nosdn-fdio-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-
-    jobs:
-      - 'fuel-{scenario}-{pod}-daily-{stream}'
-      - 'fuel-deploy-{pod}-daily-{stream}'
-
-########################
-# job templates: Armband uses Fuel's job templates, no need to duplicate
-########################
-
-########################
-# trigger macros
-########################
-# CI PODs
-# ----------------------------------------------------------------
-# Enea Armband CI Baremetal Triggers running against master branch
-# ----------------------------------------------------------------
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
-    triggers:
-      - timed: '0 1 * * 7'
-- trigger:
-    name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
-    triggers:
-      - timed: '0 1 * * 4,6'
-- trigger:
-    name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger'
-    triggers:
-      - timed: '0 1 * * 2'
-- trigger:
-    name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger'
-    triggers:
-      - timed: '0 1 * * 1'
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-noha-armband-baremetal-master-trigger'
-    triggers:
-      - timed: '0 1 * * 3,5'
-# ---------------------------------------------------------------------
-# Enea Armband CI Baremetal Triggers running against hunter branch
-# ---------------------------------------------------------------------
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-hunter-trigger'
-    triggers:
-      - timed: '10 1 * * 1'
-- trigger:
-    name: 'fuel-os-odl-nofeature-ha-armband-baremetal-hunter-trigger'
-    triggers:
-      - timed: '10 1 * * 7'
-- trigger:
-    name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-hunter-trigger'
-    triggers:
-      - timed: '10 1 * * 2'
-- trigger:
-    name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-hunter-trigger'
-    triggers:
-      - timed: '10 1 * * 4,6'
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-hunter-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-noha-armband-baremetal-hunter-trigger'
-    triggers:
-      - timed: '10 1 * * 3,5'
diff --git a/jjb/armband/armband-rtd-jobs.yaml b/jjb/armband/armband-rtd-jobs.yaml
deleted file mode 100644 (file)
index 70d2f11..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- project:
-    name: armband-rtd
-    project: armband
-    project-name: armband
-
-    project-pattern: 'armband'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-armband/47349/'
-    rtd-token: 'b8f7de9a1f2baf063ccc6afb52dbc8e6308b6ab5'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - gambia:
-          branch: 'stable/{stream}'
-          disabled: true
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/armband/armband-verify-jobs.yaml b/jjb/armband/armband-verify-jobs.yaml
deleted file mode 100644 (file)
index d7a646a..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
----
-- project:
-    name: 'armband-verify-jobs'
-
-    project: 'armband'
-
-    #####################################
-    # branch definitions
-    #####################################
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: false
-      - gambia:
-          branch: 'stable/{stream}'
-          gs-pathname: '/{stream}'
-          disabled: true
-    #####################################
-    # jobs
-    #####################################
-    jobs:
-      - 'armband-verify-{stream}'
-
-#####################################
-# job templates
-#####################################
-- job-template:
-    name: 'armband-verify-{stream}'
-
-    disabled: true
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - throttle:
-          enabled: true
-          max-total: 2
-          option: 'project'
-
-    scm:
-      - git-scm-gerrit
-
-    wrappers:
-      - ssh-agent-wrapper
-      - timeout:
-          timeout: 360
-          fail: true
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          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: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              file-paths:
-                - compare-type: ANT
-                  pattern: 'ci/**'
-                - compare-type: ANT
-                  pattern: 'patches/**'
-              disable-strict-forbidden-file-verification: 'true'
-              forbidden-file-paths:
-                - compare-type: ANT
-                  pattern: 'docs/**'
-          readable-message: true
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - 'opnfv-build-ubuntu-arm-defaults'
-
-    builders:
-      - description-setter:
-          description: "Built on $NODE_NAME"
-      - 'armband-verify-builder-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
-    name: 'armband-verify-builder-macro'
-    builders:
-      - shell: |
-          #!/bin/bash
-          make fuel-patches-import
index b01a890..755eda8 100644 (file)
       - string:
           name: BRANCH
           default: '{branch}'
+      - opnfv-build-centos-defaults
 
     triggers:
       - timed: '@midnight'
diff --git a/jjb/calipso/calipso-rtd-jobs.yaml b/jjb/calipso/calipso-rtd-jobs.yaml
deleted file mode 100644 (file)
index e6b61d7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- project:
-    name: calipso-rtd
-    project: calipso
-    project-name: calipso
-
-    gerrit-skip-vote: true
-    project-pattern: 'calipso'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-calipso/47356/'
-    rtd-token: '9b88e25a769998fc316b25efe15eca2b7c1474f4'
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/calipso/calipso.yaml b/jjb/calipso/calipso.yaml
deleted file mode 100644 (file)
index 7ecabdf..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
----
-- project:
-    name: calipso
-
-    project: '{name}'
-
-    jobs:
-      - 'calipso-verify-{stream}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - fraser: &fraser
-          branch: 'stable/{stream}'
-          gs-pathname: '/{stream}'
-          disabled: false
-
-- job-template:
-    name: 'calipso-verify-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - 'opnfv-build-centos-defaults'
-
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          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: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-
-    builders:
-      - verify-unit-tests
-
-- builder:
-    name: verify-unit-tests
-    builders:
-      - shell: |
-          #!/bin/bash
-          set -o errexit
-          set -o nounset
-          set -o pipefail
-          cd $WORKSPACE
-          PYTHONPATH=$PWD api/test/verify.sh
diff --git a/jjb/clover/clover-project.yaml b/jjb/clover/clover-project.yaml
deleted file mode 100644 (file)
index f75a59e..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
----
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
-    name: clover
-
-    project: '{name}'
-
-    jobs:
-      - 'clover-verify-{stream}'
-      - 'clover-daily-upload-{stream}'
-      - 'clover-daily-deploy-{stream}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: false
-      - hunter:
-          branch: 'stable/{stream}'
-          gs-pathname: '/{stream}'
-          disabled: false
-
-- job-template:
-    name: 'clover-verify-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      # yamllint disable rule:line-length
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: "Used for overriding the GIT URL coming from Global Jenkins\
-            \ configuration in case if the stuff is done on none-LF HW."
-      # yamllint enable rule:line-length
-      - 'opnfv-build-ubuntu-defaults'
-
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          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: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              disable-strict-forbidden-file-verification: 'true'
-              forbidden-file-paths:
-                - compare-type: ANT
-                  pattern: 'docs/**|.gitignore'
-
-    builders:
-      - shell: |
-          cd $WORKSPACE/ci
-          ./verify.sh
-
-- job-template:
-    name: 'clover-daily-upload-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    scm:
-      - git-scm
-
-    triggers:
-      - timed: '0 8 * * *'
-
-    wrappers:
-      - fix-workspace-permissions
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - 'opnfv-build-ubuntu-defaults'
-      - 'clover-defaults':
-          gs-pathname: '{gs-pathname}'
-
-    builders:
-      - shell: |
-          cd $WORKSPACE/ci
-          ./upload.sh
-
-- job-template:
-    name: 'clover-daily-deploy-{stream}'
-
-    project-type: freestyle
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    properties:
-      - logrotate-default
-      - throttle:
-          enabled: true
-          max-per-node: 1
-          option: 'project'
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'clover-daily-deploy-.*?'
-            - 'container4nfv-daily-deploy-.*?'
-          blocking-level: 'NODE'
-
-    wrappers:
-      - timeout:
-          timeout: 180
-          abort: true
-      - fix-workspace-permissions
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      # yamllint disable rule:line-length
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: "Used for overriding the GIT URL coming from Global Jenkins\
-            \ configuration in case if the stuff is done on none-LF HW."
-      # yamllint enable rule:line-length
-      - node:
-          name: SLAVE_NAME
-          description: 'Slave name on Jenkins'
-          allowed-slaves:
-            - huawei-virtual6
-          default-slaves:
-            - huawei-virtual6
-
-    scm:
-      - git-scm
-
-    triggers:
-      - timed: '0 9 * * *'
-
-    builders:
-      - shell: |
-          cd $WORKSPACE/ci
-          ./deploy.sh
-
-###################
-# parameter macros
-###################
-- parameter:
-    name: 'clover-defaults'
-    parameters:
-      - string:
-          name: GS_URL
-          default: artifacts.opnfv.org/$PROJECT{gs-pathname}
-          description: "URL to Google Storage."
diff --git a/jjb/clover/clover-rtd-jobs.yaml b/jjb/clover/clover-rtd-jobs.yaml
deleted file mode 100644 (file)
index d768c7c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- project:
-    name: clover-rtd
-    project: clover
-    project-name: clover
-
-    gerrit-skip-vote: true
-    project-pattern: 'clover'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-clover/47357/'
-    rtd-token: '8b47c0a3c1cfe7de885bf217628b58dd91f14f2e'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - hunter:
-          branch: 'stable/{stream}'
-          disabled: false
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/clover/clover-views.yaml b/jjb/clover/clover-views.yaml
deleted file mode 100644 (file)
index 15a05e6..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
-    name: clover-view
-    views:
-      - project-view
-    project-name: clover
diff --git a/jjb/container4nfv/arm64/deploy-cni.sh b/jjb/container4nfv/arm64/deploy-cni.sh
deleted file mode 100755 (executable)
index 9afb980..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash -e
-
-cd container4nfv/src/arm/cni-deploy
-
-DEPLOY_SCENARIO={scenario}
-
-virtualenv .venv
-source .venv/bin/activate
-pip install ansible==2.6.1
-
-ansible-playbook -i inventory/inventory.cfg deploy.yml --tags flannel,multus
-
-if [ "$DEPLOY_SCENARIO" == "k8-sriov-nofeature-noha" ]; then
-    ansible-playbook -i inventory/inventory.cfg deploy.yml --tags sriov
-elif [ "$DEPLOY_SCENARIO" == "k8-vpp-nofeature-noha" ]; then
-    ansible-playbook -i inventory/inventory.cfg deploy.yml --tags vhost-vpp
-fi
diff --git a/jjb/container4nfv/arm64/yardstick-arm64.sh b/jjb/container4nfv/arm64/yardstick-arm64.sh
deleted file mode 100755 (executable)
index 26c6fdc..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-set -e
-
-sshpass -p root ssh root@10.1.0.50 \
-  "mkdir -p /etc/yardstick; rm -rf /etc/yardstick/admin.conf"
-
-
-sshpass -p root ssh root@10.1.0.50 \
-  kubectl config set-cluster yardstick --server=127.0.0.1:8080 --insecure-skip-tls-verify=true --kubeconfig=/etc/yardstick/admin.conf
-sshpass -p root ssh root@10.1.0.50 \
-  kubectl config set-context yardstick --cluster=yardstick --kubeconfig=/etc/yardstick/admin.conf
-sshpass -p root ssh root@10.1.0.50 \
-  kubectl config use-context yardstick --kubeconfig=/etc/yardstick/admin.conf 
-
-
-
-if [ ! -n "$redirect" ]; then
-  redirect="/dev/stdout"
-fi
-
-if [ ! -n "$DOCKER_TAG" ]; then
-  DOCKER_TAG='latest'
-fi
-
-if [ ! -n "$NODE_NAME" ]; then
-  NODE_NAME='arm-virutal03'
-fi
-
-if [ ! -n "$DEPLOY_SCENARIO" ]; then
-  DEPLOY_SCENARIO='k8-nosdn-lb-noha_daily'
-fi
-
-if [ ! -n "$YARDSTICK_DB_BACKEND" ]; then
-  YARDSTICK_DB_BACKEND='-i 104.197.68.199:8086'
-fi
-
-# Pull the image with correct tag
-DOCKER_REPO='opnfv/yardstick'
-if [ "$(uname -m)" = 'aarch64' ]; then
-    DOCKER_REPO="${DOCKER_REPO}_$(uname -m)"
-fi
-echo "Yardstick: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}"
-sshpass -p root ssh root@10.1.0.50 \
-  docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect
-
-if [ ! -n "$BRANCH" ]; then
-  BRANCH=master
-fi
-
-opts="--name=yardstick --privileged=true --net=host -d -it "
-envs="-e YARDSTICK_BRANCH=${BRANCH} -e BRANCH=${BRANCH} \
-  -e NODE_NAME=${NODE_NAME} \
-  -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
-rc_file_vol="-v /etc/yardstick/admin.conf:/etc/yardstick/admin.conf"
-cacert_file_vol=""
-map_log_dir=""
-sshkey=""
-YARDSTICK_SCENARIO_SUITE_NAME="opnfv_k8-nosdn-lb-noha_daily.yaml"
-
-# map log directory
-branch=${BRANCH##*/}
-#branch="master"
-dir_result="${HOME}/opnfv/yardstick/results/${branch}"
-mkdir -p ${dir_result}
-sudo rm -rf ${dir_result}/*
-map_log_dir="-v ${dir_result}:/tmp/yardstick"
-
-# Run docker
-cmd="docker rm -f yardstick || true"
-sshpass -p root ssh root@10.1.0.50 \
-  ${cmd}
-
-cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} /bin/bash"
-echo "Yardstick: Running docker cmd: ${cmd}"
-sshpass -p root ssh root@10.1.0.50 \
-  ${cmd}
-
-
-cmd='sudo docker exec yardstick sed -i.bak "/# execute tests/i\sed -i.bak \"s/openretriever\\\/yardstick/openretriever\\\/yardstick_aarch64/g\" \
-    $\{YARDSTICK_REPO_DIR\}/tests/opnfv/test_cases/opnfv_yardstick_tc080.yaml" /usr/local/bin/exec_tests.sh'
-sshpass -p root ssh root@10.1.0.50 \
-  ${cmd}
-
-echo "Yardstick: run tests: ${YARDSTICK_SCENARIO_SUITE_NAME}"
-cmd="sudo docker exec yardstick exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
-sshpass -p root ssh root@10.1.0.50 \
-  ${cmd}
-
-cmd="docker rm -f yardstick"
-sshpass -p root ssh root@10.1.0.50 \
-  ${cmd}
-
-echo "Yardstick: done!"
diff --git a/jjb/container4nfv/container4nfv-arm64.yaml b/jjb/container4nfv/container4nfv-arm64.yaml
deleted file mode 100644 (file)
index b72c095..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
----
-
-- job-template:
-    name: 'container4nfv-{scenario}-{pod}-daily-{stream}'
-    disabled: '{obj:disabled}'
-    node: '{slave-label}'
-
-    scm:
-      - git:
-          url: https://gerrit.opnfv.org/gerrit/container4nfv
-          branches:
-            - master
-          basedir: container4nfv
-          wipe-workspace: true
-
-    builders:
-      - shell: !include-raw: arm64/deploy-cni.sh
-
-
-- trigger:
-    name: 'trigger-deploy-virtual-master'
-    triggers:
-      - timed: '0 12 * * *'
-- trigger:
-    name: 'trigger-deploy-virtual-hunter'
-    triggers:
-      - timed: '0 18 * * *'
-- trigger:
-    name: 'trigger-deploy-baremetal-master'
-    triggers:
-      - timed: '0 12 * * *'
-- trigger:
-    name: 'trigger-deploy-baremetal-hunter'
-    triggers:
-      - timed: '0 18 * * *'
diff --git a/jjb/container4nfv/container4nfv-project.yaml b/jjb/container4nfv/container4nfv-project.yaml
deleted file mode 100644 (file)
index ca286bf..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
----
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
-    name: container4nfv
-
-    project: '{name}'
-
-    jobs:
-      - 'container4nfv-verify-{stream}'
-      - 'container4nfv-daily-upload-{stream}'
-      - 'container4nfv-daily-deploy-{stream}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: false
-      - hunter:
-          branch: 'stable/{stream}'
-          gs-pathname: '/{stream}'
-          disabled: false
-
-- job-template:
-    name: 'container4nfv-verify-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      # yamllint disable rule:line-length
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: "Used for overriding the GIT URL coming from Global Jenkins\
-            \ configuration in case if the stuff is done on none-LF HW."
-      # yamllint enable rule:line-length
-      - 'opnfv-build-ubuntu-defaults'
-
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          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: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              disable-strict-forbidden-file-verification: 'true'
-              forbidden-file-paths:
-                - compare-type: ANT
-                  pattern: 'docs/**|.gitignore'
-
-    builders:
-      - shell: |
-          cd $WORKSPACE/ci
-          ./build.sh
-
-- job-template:
-    name: 'container4nfv-daily-upload-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    scm:
-      - git-scm
-
-    wrappers:
-      - fix-workspace-permissions
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - 'opnfv-build-ubuntu-defaults'
-      - 'container4nfv-defaults':
-          gs-pathname: '{gs-pathname}'
-
-    builders:
-      - shell: |
-          cd $WORKSPACE/ci
-          ./upload.sh
-
-- job-template:
-    name: 'container4nfv-daily-deploy-{stream}'
-
-    project-type: freestyle
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    properties:
-      - logrotate-default
-      - throttle:
-          enabled: true
-          max-per-node: 1
-          option: 'project'
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'clover-daily-deploy-.*?'
-            - 'container4nfv-daily-deploy-.*?'
-          blocking-level: 'NODE'
-
-    wrappers:
-      - timeout:
-          timeout: 240
-          abort: true
-      - fix-workspace-permissions
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      # yamllint disable rule:line-length
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: "Used for overriding the GIT URL coming from Global Jenkins\
-            \ configuration in case if the stuff is done on none-LF HW."
-      # yamllint enable rule:line-length
-      - node:
-          name: SLAVE_NAME
-          description: 'Slave name on Jenkins'
-          allowed-slaves:
-            - huawei-virtual6
-          default-slaves:
-            - huawei-virtual6
-
-    scm:
-      - git-scm
-
-    triggers:
-      - timed: '@midnight'
-
-    builders:
-      - shell: |
-          cd $WORKSPACE/ci
-          ./deploy.sh
-
-###################
-# parameter macros
-###################
-- parameter:
-    name: 'container4nfv-defaults'
-    parameters:
-      - string:
-          name: GS_URL
-          default: artifacts.opnfv.org/$PROJECT{gs-pathname}
-          description: "URL to Google Storage."
diff --git a/jjb/container4nfv/container4nfv-rtd-jobs.yaml b/jjb/container4nfv/container4nfv-rtd-jobs.yaml
deleted file mode 100644 (file)
index 70512a9..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- project:
-    name: container4nfv-rtd
-    project: container4nfv
-    project-name: container4nfv
-
-    gerrit-skip-vote: true
-    project-pattern: 'container4nfv'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-container4nfv/47359/'
-    rtd-token: '82f917a788d006dc15df14ecd3c991115490bf8a'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - hunter:
-          branch: 'stable/{stream}'
-          disabled: false
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/container4nfv/container4nfv-views.yaml b/jjb/container4nfv/container4nfv-views.yaml
deleted file mode 100644 (file)
index f57e7f0..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- project:
-    name: container4nfv-view
-    views:
-      - common-view
-    view-name: container4nfv
-    view-regex: (^container.*|^yardstick-arm64.*)
diff --git a/jjb/doctor/doctor-env-presetup.sh b/jjb/doctor/doctor-env-presetup.sh
deleted file mode 100755 (executable)
index ebbf32c..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env bash
-set -o errexit
-set -o pipefail
-
-# set vars from env if not provided by user as options
-installer_key_file=${installer_key_file:-$HOME/installer_key_file}
-opnfv_installer=${opnfv_installer:-$HOME/opnfv-installer.sh}
-
-# Fetch INSTALLER_IP for APEX deployments
-if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
-
-    echo "Gathering IP information for Apex installer VM"
-    ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-    if sudo virsh list | grep undercloud; then
-        echo "Installer VM detected"
-        undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
-                  grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
-        export INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
-        echo "Installer ip is ${INSTALLER_IP}"
-    else
-        echo "No available installer VM exists and no credentials provided...exiting"
-        exit 1
-    fi
-
-    sudo cp /root/.ssh/id_rsa ${installer_key_file}
-    sudo chown `whoami`:`whoami` ${installer_key_file}
-
-elif [[ ${INSTALLER_TYPE} == 'daisy' ]]; then
-    echo "Gathering IP information for Daisy installer VM"
-    if sudo virsh list | grep daisy; then
-        echo "Installer VM detected"
-
-        bridge_name=$(sudo virsh domiflist daisy | grep vnet | awk '{print $3}')
-        echo "Bridge is $bridge_name"
-
-        installer_mac=$(sudo virsh domiflist daisy | grep vnet | \
-                      grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
-        export INSTALLER_IP=$(/usr/sbin/arp -e -i $bridge_name | grep ${installer_mac} | head -n 1 | awk {'print $1'})
-
-        echo "Installer ip is ${INSTALLER_IP}"
-    else
-        echo "No available installer VM exists...exiting"
-        exit 1
-    fi
-
-elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
-    if [[ ! "${BRANCH}" =~ "danube" ]]; then
-        export SSH_KEY=${SSH_KEY:-/var/lib/opnfv/mcp.rsa}
-        sudo cp ${SSH_KEY} ${installer_key_file}
-        sudo chown `whoami`:`whoami` ${installer_key_file}
-    fi
-fi
-
-
-# Checking if destination path is valid
-if [ -d $opnfv_installer ]; then
-    error "Please provide the full destination path for the installer ip file including the filename"
-else
-    # Check if we can create the file (e.g. path is correct)
-    touch $opnfv_installer || error "Cannot create the file specified. Check that the path is correct and run the script again."
-fi
-
-
-# Write the installer info to the file
-echo export INSTALLER_TYPE=${INSTALLER_TYPE} > $opnfv_installer
-echo export INSTALLER_IP=${INSTALLER_IP} >> $opnfv_installer
-if [ -e ${installer_key_file} ]; then
-    echo export SSH_KEY=${installer_key_file} >> $opnfv_installer
-fi
diff --git a/jjb/doctor/doctor-rtd-jobs.yaml b/jjb/doctor/doctor-rtd-jobs.yaml
deleted file mode 100644 (file)
index 52a3113..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- project:
-    name: doctor-rtd
-    project: doctor
-    project-name: doctor
-
-    gerrit-skip-vote: true
-    project-pattern: 'doctor'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-doctor/47362/'
-    rtd-token: 'bf8640556a3ba3151e4e5602facc5ed982dd88c8'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - jerma: &jerma
-          branch: 'stable/{stream}'
-          disabled: false
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/doctor/doctor.yaml b/jjb/doctor/doctor.yaml
deleted file mode 100644 (file)
index bdeecdb..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
----
-- project:
-    name: doctor
-
-    project: '{name}'
-    project-name: '{name}'
-    project-pattern: '{project}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: false
-      - jerma: &jerma
-          branch: 'stable/{stream}'
-          gs-pathname: '/{stream}'
-          disabled: false
-
-    installer:
-      - 'fuel':
-          scenario: 'os-nosdn-nofeature-noha'
-
-    arch:
-      - 'x86_64'
-      - 'aarch64'
-
-    inspector:
-      - 'sample'
-      - 'congress'
-
-    jobs:
-      - 'doctor-verify-{stream}'
-      - 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
-      - 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
-      - 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}'
-
-- job-template:
-    name: 'doctor-verify-{stream}'
-    disabled: '{obj:disabled}'
-    project-type: 'multijob'
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - 'doctor-slave-parameter'
-    scm:
-      - git-scm-gerrit
-    triggers:
-      - 'doctor-verify':
-          project: '{project}'
-          branch: '{branch}'
-          files: 'doctor_tests/**'
-
-    builders:
-      - shell: |
-          #!/bin/bash
-          # we do nothing here as the main stuff will be done
-          # in phase jobs
-          echo "Triggering phase jobs!"
-      - multijob:
-          name: 'doctor-verify-fuel'
-          execution-type: PARALLEL
-          projects:
-            - name: 'doctor-verify-fault_management-fuel-sample-x86_64-{stream}'
-              predefined-parameters: |
-                PROJECT=$PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-              kill-phase-on: FAILURE
-              git-revision: true
-            - name: 'doctor-verify-maintenance-fuel-sample-x86_64-{stream}'
-              predefined-parameters: |
-                PROJECT=$PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-              kill-phase-on: FAILURE
-              git-revision: true
-
-- job-template:
-    name: 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
-    disabled: '{obj:disabled}'
-    node: 'zte-virtual4'
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 30
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - '{installer}-defaults'
-      - 'doctor-slave-parameter'
-      - 'doctor-parameter':
-          inspector: '{inspector}'
-          scenario: '{scenario}'
-          test_case: 'fault_management'
-          admin_tool_type: 'fenix'
-          app_manager_type: 'vnfm'
-    scm:
-      - git-scm-gerrit
-    builders:
-      - 'doctor-verify-installer-inspector-builders-macro'
-    publishers:
-      - 'doctor-verify-publishers-macro'
-
-- job-template:
-    name: 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
-    disabled: '{obj:disabled}'
-    node: 'nokia-pod1'
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 40
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - '{installer}-defaults'
-      - 'doctor-slave-parameter'
-      - 'doctor-parameter':
-          inspector: '{inspector}'
-          scenario: '{scenario}'
-          test_case: 'maintenance'
-          admin_tool_type: 'fenix'
-          app_manager_type: 'vnfm'
-    scm:
-      - git-scm-gerrit
-    builders:
-      - 'doctor-verify-installer-inspector-builders-macro'
-    publishers:
-      - 'doctor-verify-publishers-macro'
-
-- job-template:
-    name: 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}'
-    disabled: '{obj:disabled}'
-    node: 'doctor-{installer}-{arch}'
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 50
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - '{installer}-defaults'
-      - 'doctor-slave-parameter'
-      - 'doctor-parameter':
-          inspector: '{inspector}'
-          scenario: '{scenario}'
-          test_case: 'all'
-          admin_tool_type: 'fenix'
-          app_manager_type: 'vnfm'
-    scm:
-      - git-scm-gerrit
-    builders:
-      - 'doctor-verify-installer-inspector-builders-macro'
-    publishers:
-      - 'doctor-verify-publishers-macro'
-
-
-# -------------------------------
-# parameter macros
-# -------------------------------
-- parameter:
-    name: 'doctor-parameter'
-    parameters:
-      - string:
-          name: INSPECTOR_TYPE
-          default: '{inspector}'
-          description: 'inspector component'
-      - string:
-          name: TEST_CASE
-          default: '{test_case}'
-          description: 'test case: all, fault_management or maintenance'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: '{scenario}'
-          description: 'Scenario to deploy and test'
-      - string:
-          name: ADMIN_TOOL_TYPE
-          default: '{admin_tool_type}'
-          description: 'admin_tool_type: sample, fenix'
-      - string:
-          name: APP_MANAGER_TYPE
-          default: '{app_manager_type}'
-          description: 'app_manager_type: sample, vnfm'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-
-- builder:
-    name: 'doctor-verify-installer-inspector-builders-macro'
-    builders:
-      # yamllint disable rule:indentation
-      - shell: !include-raw:
-          - ./doctor-env-presetup.sh
-          - ../../utils/fetch_os_creds.sh
-      - shell: |
-          #!/bin/bash
-
-          # prepare the env for test
-          . $HOME/opnfv-openrc.sh
-          if [ -f $HOME/os_cacert ]; then
-              export OS_CACERT=$HOME/os_cacert
-          fi
-          . $HOME/opnfv-installer.sh
-
-          # run tox to trigger the test
-          # As Jenkins user, it has no permission to send ICMP package
-          sudo -E tox -e py36
-
-
-# -------------------------------
-# publisher macros
-# -------------------------------
-- publisher:
-    name: 'doctor-verify-publishers-macro'
-    publishers:
-      - archive:
-          artifacts: 'doctor_tests/*.log'
-      - email-jenkins-admins-on-failure
-      - workspace-cleanup
-
-#####################################
-# trigger macros
-#####################################
-- trigger:
-    name: 'doctor-verify'
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          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: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              file-paths:
-                - compare-type: ANT
-                  pattern: '{files}'
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
diff --git a/jjb/dovetail/dovetail-ci-jobs.yaml b/jjb/dovetail/dovetail-ci-jobs.yaml
deleted file mode 100644 (file)
index 3e5c052..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
----
-###################################
-# job configuration for dovetail
-###################################
-- project:
-    name: dovetail
-
-    project: '{name}'
-
-    # --------------------------------------
-    # BRANCH ANCHORS
-    # --------------------------------------
-    # 1)the stream/branch here represents the SUT(System Under Test) stream/branch
-    # 2)docker-tag is the docker tag of dovetail(only master by now, then all latest used)
-    #   the dovetail stream is one-to-one mapping with dovetail docker-tag
-    #   the dovetail is not sync with A/B/C release
-    master: &master
-      stream: master
-      branch: '{stream}'
-      dovetail-branch: '{stream}'
-      gs-pathname: ''
-      docker-tag: 'latest'
-      disabled: true
-    hunter: &hunter
-      stream: hunter
-      branch: 'stable/{stream}'
-      dovetail-branch: 'master'
-      gs-pathname: '/{stream}'
-      docker-tag: 'latest'
-
-    # ----------------------------------
-    # POD, PLATFORM, AND BRANCH MAPPING
-    # ----------------------------------
-    #            CI PODs
-    # This section should only contain the SUTs
-    # that have been switched using labels for slaves
-    # -----------------------------------------------
-    # the pods, SUTs listed here are just examples to
-    # let the dovetail tool run, there can be more ways beside CI to
-    # run the dovetail tool.
-    # pods, SUTs will be added/adjusted when needed
-    pod:
-      # fuel CI PODs
-      - baremetal:
-          slave-label: fuel-baremetal
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-      - virtual:
-          slave-label: fuel-virtual
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-      - baremetal:
-          slave-label: fuel-baremetal
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *hunter
-      - virtual:
-          slave-label: fuel-virtual
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *hunter
-      # -------------------------------
-      #    Installers not using labels
-      #            CI PODs
-      # This section should only contain the installers
-      # that have not been switched using labels for slaves
-      # -------------------------------
-      # apex PODs
-      - virtual:
-          slave-label: apex-virtual-master
-          SUT: apex
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-      - baremetal:
-          slave-label: apex-baremetal-master
-          SUT: apex
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-      - virtual:
-          slave-label: apex-virtual-master
-          SUT: apex
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *hunter
-      - baremetal:
-          slave-label: apex-baremetal-master
-          SUT: apex
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *hunter
-      # armband CI PODs
-      - armband-baremetal:
-          slave-label: armband-baremetal
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-      - armband-virtual:
-          slave-label: armband-virtual
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-      # -------------------------------
-      #        None-CI PODs
-      # -------------------------------
-      - zte-pod1:
-          slave-label: zte-pod1
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-      - zte-pod2:
-          slave-label: zte-pod2
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-      - zte-pod3:
-          slave-label: zte-pod3
-          SUT: fuel
-          auto-trigger-name: 'daily-trigger-disabled'
-          <<: *master
-
-    # -------------------------------
-    testsuite:
-      - 'default'
-      - 'proposed_tests'
-
-    testarea:
-      - 'mandatory'
-      - 'optional'
-
-    jobs:
-      - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
-      - 'dovetail-{SUT}-{pod}-{testsuite}-{testarea}-{stream}'
-
-################################
-# job templates
-################################
-- job-template:
-    name: 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
-
-    disabled: false
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - throttle:
-          enabled: true
-          max-per-node: 1
-          option: 'project'
-
-    wrappers:
-      - build-name:
-          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-      - timeout:
-          timeout: 300
-          abort: true
-      - fix-workspace-permissions
-
-    triggers:
-      - '{auto-trigger-name}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{dovetail-branch}'
-      - '{SUT}-defaults'
-      - '{slave-label}-defaults'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: 'os-nosdn-nofeature-ha'
-      - string:
-          name: DOCKER_TAG
-          default: '{docker-tag}'
-          description: 'Tag to pull dovetail docker image'
-      - string:
-          name: CI_DEBUG
-          default: 'true'
-          description: "Show debug output information"
-      - string:
-          name: TESTSUITE
-          default: '{testsuite}'
-          description: "dovetail testsuite to run"
-      - string:
-          name: TESTAREA
-          default: 'all'
-          description: "dovetail testarea to run"
-      - string:
-          name: DOVETAIL_REPO_DIR
-          default: "/home/opnfv/dovetail"
-          description: "Directory where the dovetail repository is cloned"
-      - string:
-          name: SUT_BRANCH
-          default: '{branch}'
-          description: "SUT branch"
-
-    scm:
-      - git-scm
-
-    builders:
-      - description-setter:
-          description: "POD: $NODE_NAME"
-      - 'dovetail-cleanup'
-      - 'dovetail-run'
-
-    publishers:
-      - archive:
-          artifacts: 'results/**/*'
-          allow-empty: true
-          fingerprint: true
-      - email-jenkins-admins-on-failure
-
-- job-template:
-    name: 'dovetail-{SUT}-{pod}-{testsuite}-{testarea}-{stream}'
-
-    disabled: false
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - throttle:
-          enabled: true
-          max-per-node: 1
-          option: 'project'
-
-    wrappers:
-      - build-name:
-          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-      - timeout:
-          timeout: 300
-          abort: true
-      - fix-workspace-permissions
-
-    triggers:
-      - '{auto-trigger-name}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{dovetail-branch}'
-      - '{SUT}-defaults'
-      - '{slave-label}-defaults'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: 'os-nosdn-nofeature-ha'
-      - string:
-          name: DOCKER_TAG
-          default: '{docker-tag}'
-          description: 'Tag to pull dovetail docker image'
-      - string:
-          name: CI_DEBUG
-          default: 'true'
-          description: "Show debug output information"
-      - string:
-          name: TESTSUITE
-          default: '{testsuite}'
-          description: "dovetail testsuite to run"
-      - string:
-          name: TESTAREA
-          default: '{testarea}'
-          description: "dovetail testarea to run"
-      - string:
-          name: DOVETAIL_REPO_DIR
-          default: "/home/opnfv/dovetail"
-          description: "Directory where the dovetail repository is cloned"
-      - string:
-          name: SUT_BRANCH
-          default: '{branch}'
-          description: "SUT branch"
-
-    scm:
-      - git-scm
-
-    builders:
-      - description-setter:
-          description: "POD: $NODE_NAME"
-      - 'dovetail-cleanup'
-      - 'dovetail-run'
-
-    publishers:
-      - archive:
-          artifacts: 'results/**/*'
-          allow-empty: true
-          fingerprint: true
-      - email-jenkins-admins-on-failure
-
-# -------------------------
-# builder macros
-# -------------------------
-- builder:
-    name: dovetail-run
-    builders:
-      - shell:
-          !include-raw: ./dovetail-run.sh
-
-- builder:
-    name: dovetail-cleanup
-    builders:
-      - shell:
-          !include-raw: ./dovetail-cleanup.sh
diff --git a/jjb/edgecloud/edgecloud-rtd-jobs.yaml b/jjb/edgecloud/edgecloud-rtd-jobs.yaml
deleted file mode 100644 (file)
index 41b0137..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
----
-- project:
-    name: edgecloud-rtd
-    project: edgecloud
-    project-name: edgecloud
-
-    project-pattern: 'edgecloud'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-edgecloud/52895/'
-    rtd-token: '47989bec8e8da44ab2f33491cd6031f0411d319b'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - hunter: &hunter
-          branch: 'stable/{stream}'
-          gs-pathname: '/{stream}'
-          disabled: false
-      - gambia:
-          branch: 'stable/{stream}'
-          disabled: false
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/edgecloud/edgecloud-views.yaml b/jjb/edgecloud/edgecloud-views.yaml
deleted file mode 100644 (file)
index 2e865dd..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
-    name: edgecloud-rtd-view
-    views:
-      - project-view
-    project-name: edgecloud
diff --git a/jjb/fds/fds-rtd-jobs.yaml b/jjb/fds/fds-rtd-jobs.yaml
deleted file mode 100644 (file)
index 9bf47b9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- project:
-    name: fds-rtd
-    project: fds
-    project-name: fds
-
-    project-pattern: 'fds'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-fds/47367/'
-    rtd-token: '756989c50a7c8f3350c4943f3d39a73762a4cd85'
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/fds/fds-views.yaml b/jjb/fds/fds-views.yaml
deleted file mode 100644 (file)
index d06b1af..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
-    name: fds-view
-    views:
-      - project-view
-    project-name: fds
diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml
deleted file mode 100644 (file)
index ceb86c9..0000000
+++ /dev/null
@@ -1,704 +0,0 @@
----
-# jenkins job templates for Fuel
-- project:
-
-    name: 'fuel'
-
-    project: '{name}'
-
-    installer: '{name}'
-
-    # -------------------------------
-    # BRANCH ANCHORS
-    # -------------------------------
-    master: &master
-      stream: master
-      branch: '{stream}'
-      disabled: true
-      gs-pathname: ''
-      functest_docker_tag: iruya
-    iruya: &iruya
-      stream: iruya
-      branch: 'stable/{stream}'
-      disabled: true
-      gs-pathname: '/{stream}'
-      functest_docker_tag: '{stream}'
-    # -------------------------------
-    # POD, INSTALLER, AND BRANCH MAPPING
-    # -------------------------------
-    #        CI PODs
-    # -------------------------------
-    pod:
-      - baremetal:
-          slave-label: fuel-baremetal
-          <<: *master
-      - virtual:
-          slave-label: fuel-virtual
-          <<: *master
-      - baremetal:
-          slave-label: fuel-baremetal
-          <<: *iruya
-      - virtual:
-          slave-label: fuel-virtual
-          <<: *iruya
-      # -------------------------------
-      #        None-CI PODs
-      # -------------------------------
-      - zte-pod1:
-          slave-label: zte-pod1
-          <<: *master
-      - itri-pod1:
-          slave-label: itri-pod1
-          <<: *master
-          disabled: true
-    # -------------------------------
-    #       scenarios
-    # -------------------------------
-    scenario:
-      # HA scenarios
-      - 'os-nosdn-nofeature-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-odl-nofeature-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-ovn-nofeature-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-nosdn-ovs-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-nosdn-fdio-ha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      # NOHA scenarios
-      - 'os-nosdn-nofeature-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-odl-nofeature-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-odl-sfc-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-odl-bgpvpn-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-ovn-nofeature-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-odl-ovs-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-nosdn-ovs-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'os-nosdn-fdio-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-      - 'k8-calico-nofeature-noha':
-          auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-
-    jobs:
-      - 'fuel-{scenario}-{pod}-daily-{stream}'
-      - 'fuel-deploy-{pod}-daily-{stream}'
-      - 'fuel-collect-logs-{pod}-daily-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
-    name: 'fuel-{scenario}-{pod}-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:
-            - 'fuel-(os|k8)-.*?-{pod}-daily-.*'
-            - 'fuel-verify-.*'
-          blocking-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:
-      - description-setter:
-          description: "Built on $NODE_NAME"
-      - trigger-builds:
-          - project: 'fuel-deploy-{pod}-daily-{stream}'
-            current-parameters: false
-            predefined-parameters: |
-              DEPLOY_SCENARIO={scenario}
-              INSTALLER_VERSION={stream}
-            same-node: true
-            block: true
-      - trigger-builds:
-          - project: 'functest-fuel-{pod}-daily-{stream}'
-            current-parameters: false
-            predefined-parameters: |
-              DEPLOY_SCENARIO={scenario}
-              INSTALLER_VERSION={stream}
-              DOCKER_TAG={functest_docker_tag}
-            same-node: true
-            block: true
-            block-thresholds:
-              build-step-failure-threshold: 'never'
-              failure-threshold: 'never'
-              unstable-threshold: 'FAILURE'
-      - trigger-builds:
-          - project: 'yardstick-fuel-{pod}-daily-{stream}'
-            current-parameters: false
-            predefined-parameters: |
-              DEPLOY_SCENARIO={scenario}
-              INSTALLER_VERSION={stream}
-            block: true
-            same-node: true
-            block-thresholds:
-              build-step-failure-threshold: 'never'
-              failure-threshold: 'never'
-              unstable-threshold: 'FAILURE'
-      # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
-      # 2.testsuite default here is for the test cases already added into OVP
-      # 3.run default testsuite mandatory test cases against ha scenario
-      # 4.run default testsuite optional test cases against ha scenario twice one week
-      # 5.run proposed_tests testsuite optional test cases against ha scenario
-      # 6.not used for release criteria or compliance, only to debug the dovetail tool bugs
-      - conditional-step:
-          condition-kind: and
-          condition-operands:
-            - condition-kind: regex-match
-              regex: '.*-ha'
-              label: '{scenario}'
-          steps:
-            - trigger-builds:
-                - project: 'dovetail-fuel-{pod}-default-mandatory-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO={scenario}
-                    INSTALLER_VERSION={stream}
-                  block: true
-                  same-node: true
-                  block-thresholds:
-                    build-step-failure-threshold: 'never'
-                    failure-threshold: 'never'
-                    unstable-threshold: 'FAILURE'
-                - project: 'dovetail-fuel-{pod}-proposed_tests-optional-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO={scenario}
-                    INSTALLER_VERSION={stream}
-                  block: true
-                  same-node: true
-                  block-thresholds:
-                    build-step-failure-threshold: 'never'
-                    failure-threshold: 'never'
-                    unstable-threshold: 'FAILURE'
-      - conditional-step:
-          condition-kind: and
-          condition-operands:
-            - condition-kind: regex-match
-              regex: '.*-ha'
-              label: '{scenario}'
-            - condition-kind: day-of-week
-              day-selector: select-days
-              days:
-                MON: true
-                WED: true
-              use-build-time: true
-          steps:
-            - trigger-builds:
-                - project: 'dovetail-fuel-{pod}-default-optional-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    DEPLOY_SCENARIO={scenario}
-                    INSTALLER_VERSION={stream}
-                  block: true
-                  same-node: true
-                  block-thresholds:
-                    build-step-failure-threshold: 'never'
-                    failure-threshold: 'never'
-                    unstable-threshold: 'FAILURE'
-      - trigger-builds:
-          - project: 'fuel-collect-logs-{pod}-daily-{stream}'
-            current-parameters: false
-            predefined-parameters: |
-              DEPLOY_SCENARIO={scenario}
-              INSTALLER_VERSION={stream}
-            block: true
-            same-node: true
-            block-thresholds:
-              build-step-failure-threshold: 'never'
-              failure-threshold: 'never'
-              unstable-threshold: 'FAILURE'
-
-    publishers:
-      - email-jenkins-admins-on-failure
-
-- job-template:
-    name: 'fuel-deploy-{pod}-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - throttle:
-          enabled: true
-          max-total: 4
-          max-per-node: 1
-          option: 'project'
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'fuel-deploy-{pod}-daily-.*'
-          blocking-level: 'NODE'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - '{installer}-defaults':
-          gs-pathname: '{gs-pathname}'
-      - '{slave-label}-defaults':
-          installer: '{installer}'
-      - testapi-parameter
-      - string:
-          name: DEPLOY_SCENARIO
-          default: 'os-odl-nofeature-ha'
-
-    scm:
-      - git-scm
-
-    wrappers:
-      - build-name:
-          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
-    builders:
-      - description-setter:
-          description: "Built on $NODE_NAME"
-      - track-begin-timestamp
-      - shell:
-          !include-raw-escape: ./fuel-deploy.sh
-
-    publishers:
-      - email-jenkins-admins-on-failure
-      - report-provision-result
-
-- job-template:
-    name: 'fuel-collect-logs-{pod}-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - '{installer}-defaults':
-          gs-pathname: '{gs-pathname}'
-      - '{slave-label}-defaults':
-          installer: '{installer}'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: 'os-odl-nofeature-ha'
-
-    scm:
-      - git-scm
-
-    wrappers:
-      - build-name:
-          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
-    builders:
-      - description-setter:
-          description: "Built on $NODE_NAME"
-      - shell:
-          !include-raw-escape: ./fuel-logs.sh
-
-    publishers:
-      - email-jenkins-admins-on-failure
-
-########################
-# trigger macros
-########################
-# ----------------------------------------------
-# Triggers for job running on fuel-baremetal against master branch
-# ----------------------------------------------
-# HA Scenarios
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: '5 20 * * 1,2,4,6,7'
-- trigger:
-    name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: '5 2 * * *'
-- trigger:
-    name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: '5 5 * * *'
-- trigger:
-    name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-
-# NOHA Scenarios
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-sfc-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-ovs-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: '5 20 * * 3,5'
-- trigger:
-    name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-master-trigger'
-    triggers:
-      - timed: ''
-# ----------------------------------------------
-# Triggers for job running on fuel-baremetal against iruya branch
-# ----------------------------------------------
-# HA Scenarios
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: '0 20 * * 1,4,7'
-- trigger:
-    name: 'fuel-os-odl-nofeature-ha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: '0 2 * * *'
-- trigger:
-    name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: '0 5 * * *'
-- trigger:
-    name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-# NOHA Scenarios
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-nofeature-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-sfc-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: '0 20 * * 6'
-- trigger:
-    name: 'fuel-os-odl-ovs-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: '0 20 * * 2'
-- trigger:
-    name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: '0 20 * * 3,5'
-- trigger:
-    name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-# ----------------------------------------------
-# Triggers for job running on fuel-virtual against master branch
-# ----------------------------------------------
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-ovn-nofeature-ha-virtual-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-ovs-ha-virtual-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-ha-virtual-daily-master-trigger'
-    triggers:
-      - timed: ''
-# NOHA Scenarios
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 13 * * *'
-- trigger:
-    name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 18 * * *'
-- trigger:
-    name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 4 * * 1,4'
-- trigger:
-    name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 6 * * 2,5'
-- trigger:
-    name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 23 * * *'
-- trigger:
-    name: 'fuel-os-odl-ovs-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 2 * * *'
-- trigger:
-    name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 9 * * *'
-- trigger:
-    name: 'fuel-os-nosdn-fdio-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 20 * * *'
-- trigger:
-    name: 'fuel-k8-calico-nofeature-noha-virtual-daily-master-trigger'
-    triggers:
-      - timed: '5 16 * * *'
-# ----------------------------------------------
-# Triggers for job running on fuel-virtual against iruya branch
-# ----------------------------------------------
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-nofeature-ha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-ovn-nofeature-ha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-ovs-ha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-ha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: ''
-# NOHA Scenarios
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '0 13 * * *'
-- trigger:
-    name: 'fuel-os-odl-nofeature-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '0 18 * * *'
-- trigger:
-    name: 'fuel-os-odl-sfc-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '0 4 * * 1,4'
-- trigger:
-    name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '0 7 * * 2,5'
-- trigger:
-    name: 'fuel-os-ovn-nofeature-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '0 23 * * *'
-- trigger:
-    name: 'fuel-os-odl-ovs-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '0 2 * * *'
-- trigger:
-    name: 'fuel-os-nosdn-ovs-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '0 9 * * *'
-- trigger:
-    name: 'fuel-os-nosdn-fdio-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '0 13 * * 6,7'
-- trigger:
-    name: 'fuel-k8-calico-nofeature-noha-virtual-daily-iruya-trigger'
-    triggers:
-      - timed: '5 13 * * 6,7'
-# ----------------------------------------------
-# ZTE POD1 Triggers running against master branch
-# ----------------------------------------------
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 10 * * *'
-- trigger:
-    name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-ovn-nofeature-ha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-ha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-# NOHA Scenarios
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-sfc-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-bgpvpn-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-odl-ovs-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-nosdn-fdio-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-k8-calico-nofeature-noha-zte-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-# ----------------------------------------------
-# ITRI POD1 Triggers running against master branch
-# ----------------------------------------------
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 13 * * 1'
-- trigger:
-    name: 'fuel-os-odl-nofeature-ha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 17 * * 1'
-- trigger:
-    name: 'fuel-os-ovn-nofeature-ha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 13 * * 2'
-- trigger:
-    name: 'fuel-os-nosdn-ovs-ha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 17 * * 2'
-- trigger:
-    name: 'fuel-os-nosdn-fdio-ha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-# NOHA Scenarios
-- trigger:
-    name: 'fuel-os-nosdn-nofeature-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 13 * * 3'
-- trigger:
-    name: 'fuel-os-odl-nofeature-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 17 * * 3'
-- trigger:
-    name: 'fuel-os-odl-sfc-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 13 * * 4'
-- trigger:
-    name: 'fuel-os-odl-bgpvpn-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-os-ovn-nofeature-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 17 * * 4'
-- trigger:
-    name: 'fuel-os-odl-ovs-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 13 * * 5'
-- trigger:
-    name: 'fuel-os-nosdn-ovs-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 17 * * 5'
-- trigger:
-    name: 'fuel-os-nosdn-fdio-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: ''
-- trigger:
-    name: 'fuel-k8-calico-nofeature-noha-itri-pod1-daily-master-trigger'
-    triggers:
-      - timed: '0 13 * * 6'
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
deleted file mode 100755 (executable)
index dd89447..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Ericsson AB, Mirantis Inc., Enea Software AB 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
-##############################################################################
-set -o nounset
-set -o pipefail
-
-export TERM="vt220"
-
-# set deployment parameters
-export TMPDIR=${HOME}/tmpdir
-# shellcheck disable=SC2153
-LAB_NAME=${NODE_NAME/-*}
-# shellcheck disable=SC2153
-POD_NAME=${NODE_NAME/*-}
-
-# Fuel currently supports arm, enea, ericsson, intel, lf, unh, zte and itri labs
-if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte|itri) ]]; then
-    echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!"
-    exit 1
-fi
-
-echo "Using configuration for ${LAB_NAME}"
-
-# create TMPDIR if it doesn't exist, change permissions
-mkdir -p "${TMPDIR}"
-sudo chmod a+x "${HOME}" "${TMPDIR}"
-
-cd "${WORKSPACE}" || exit 1
-
-# log file name
-FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz"
-
-# Limited scope for vPOD verify jobs running on armband-virtual
-[[ ! "${JOB_NAME}" =~ verify-deploy-virtual-arm64 ]] || EXTRA_ARGS='-e'
-
-# turn on DEBUG mode
-[[ ${CI_DEBUG,,} == true ]] && EXTRA_ARGS="-D ${EXTRA_ARGS:-}"
-
-# construct the command
-DEPLOY_COMMAND="${WORKSPACE}/ci/deploy.sh \
-    -l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} \
-    -S ${TMPDIR} ${EXTRA_ARGS:-} \
-    -L ${WORKSPACE}/${FUEL_LOG_FILENAME}"
-
-# log info to console
-echo "Deployment parameters"
-echo "--------------------------------------------------------"
-echo "Scenario: ${DEPLOY_SCENARIO}"
-echo "Lab: ${LAB_NAME}"
-echo "POD: ${POD_NAME}"
-echo
-echo "Starting the deployment using ${INSTALLER_TYPE}. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-# start the deployment
-echo "Issuing command"
-echo "${DEPLOY_COMMAND}"
-echo
-
-${DEPLOY_COMMAND}
-exit_code=$?
-
-echo
-echo "--------------------------------------------------------"
-echo "Deployment is done!"
-
-# upload logs for baremetal deployments
-# work with virtual deployments is still going on, so skip that for now
-if [[ "${JOB_NAME}" =~ baremetal-daily ]]; then
-    echo "Uploading deployment logs"
-    gsutil cp "${WORKSPACE}/${FUEL_LOG_FILENAME}" \
-        "gs://${GS_URL}/logs/${FUEL_LOG_FILENAME}" > /dev/null 2>&1
-    echo "Logs are available at http://${GS_URL}/logs/${FUEL_LOG_FILENAME}"
-fi
-
-if [[ "${exit_code}" -ne 0 ]]; then
-    echo "Deployment failed!"
-    exit "${exit_code}"
-fi
-
-echo "Deployment is successful!"
-exit 0
diff --git a/jjb/fuel/fuel-docker-jobs.yaml b/jjb/fuel/fuel-docker-jobs.yaml
deleted file mode 100644 (file)
index 922ff5c..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
-    name: fuel-docker
-
-    project: fuel
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: true
-      - iruya:
-          branch: 'stable/{stream}'
-          disabled: true
-
-    arch_tag:
-      - 'amd64':
-          slave_label: 'opnfv-build-ubuntu'
-      - 'arm64':
-          slave_label: 'opnfv-build-ubuntu-arm'
-
-    # settings for jobs run in multijob phases
-    build-job-settings: &build-job-settings
-      current-parameters: false
-      git-revision: true
-      node-parameters: false
-      predefined-parameters: |
-        PUSH_IMAGE=$PUSH_IMAGE
-        CACHE_INVALIDATE=$CACHE_INVALIDATE
-        COMMIT_ID=$COMMIT_ID
-        GERRIT_REFNAME=$GERRIT_REFNAME
-      kill-phase-on: FAILURE
-      abort-all-jobs: false
-
-    manifest-job-settings: &manifest-job-settings
-      current-parameters: false
-      git-revision: true
-      node-parameters: false
-      predefined-parameters:
-        GERRIT_REFNAME=$GERRIT_REFNAME
-      kill-phase-on: FAILURE
-      abort-all-jobs: false
-
-    jobs:
-      - "fuel-docker-{stream}"
-      - "fuel-docker-build-{arch_tag}-{stream}"
-      - "fuel-docker-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
-    name: 'fuel-docker-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - fuel-job-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          slave_label: 'opnfv-build-ubuntu'
-          arch_tag: 'amd64'
-
-    properties:
-      - throttle:
-          max-per-node: 1
-          option: 'project'
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'fuel-docker-.*'
-          blocking-level: 'NODE'
-
-    scm:
-      - git-scm
-
-    triggers:
-      - pollscm:
-          cron: "*/25 * * * *"
-      - gerrit-trigger-tag-created:
-          project: '{project}'
-
-    builders:
-      - multijob:
-          name: 'build fuel images'
-          execution-type: PARALLEL
-          projects:
-            - name: 'fuel-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-            - name: 'fuel-docker-build-arm64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish fuel manifests'
-          condition: SUCCESSFUL
-          execution-type: PARALLEL
-          projects:
-            - name: 'fuel-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-
-- job-template:
-    name: 'fuel-docker-build-{arch_tag}-{stream}'
-    disabled: '{obj:disabled}'
-    parameters:
-      - fuel-job-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          slave_label: '{slave_label}'
-          arch_tag: '{arch_tag}'
-    properties:
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'fuel-docker-build-.*'
-          blocking-level: 'NODE'
-    scm:
-      - git-scm
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          case "{stream}" in
-          "master")
-              tag="latest" ;;
-          *)
-              tag="{stream}" ;;
-          esac
-          ./ci/build.sh $tag
-
-- job-template:
-    name: 'fuel-docker-manifest-{stream}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: 'opnfv-build-ubuntu'
-          description: 'Slave label on Jenkins'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: PROJECT
-          default: "{project}"
-          description: "Project name used to enable job conditions"
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: REPO
-          default: "opnfv"
-          description: "Repository name for fuel-docker images"
-
-
-    disabled: '{obj:disabled}'
-
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          case "{stream}" in
-          "master")
-              tag="latest" ;;
-          *)
-              tag="{stream}" ;;
-          esac
-          sudo manifest-tool push from-args \
-              --platforms linux/amd64,linux/arm64 \
-              --template $REPO/fuel:saltmaster-reclass-ARCH-$tag \
-              --target $REPO/fuel:saltmaster-reclass-$tag
-          sudo manifest-tool push from-args \
-              --platforms linux/amd64,linux/arm64 \
-              --template $REPO/fuel:saltminion-maas-ARCH-$tag \
-              --target $REPO/fuel:saltminion-maas-$tag
-          exit $?
-
-# parameter macro
-- parameter:
-    name: fuel-job-parameters
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: '{slave_label}'
-          description: 'Slave label on Jenkins'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: PUSH_IMAGE
-          default: "true"
-          description: "To enable/disable pushing the image to Dockerhub."
-      - string:
-          name: CACHE_INVALIDATE
-          default: "0"
-          description: "Set to any non-zero value to force a Docker cache cleanup"
-      - string:
-          name: COMMIT_ID
-          default: ""
-          description: "commit id to make a snapshot docker image"
-      - string:
-          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: PROJECT
-          default: "{project}"
-          description: "Project name used to enable job conditions"
-      - string:
-          name: REPO
-          default: "opnfv"
-          description: "Repository name for fuel-docker images"
diff --git a/jjb/fuel/fuel-logs.sh b/jjb/fuel/fuel-logs.sh
deleted file mode 100755 (executable)
index a7d8526..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2017 Ericsson AB, Mirantis Inc., Enea Software AB 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
-##############################################################################
-set -o nounset
-set -o pipefail
-
-# Fuel requires deploy script to be ran with sudo, Armband does not
-SUDO='sudo -E'
-[ "${PROJECT}" = 'fuel' ] || SUDO=
-
-# Log file name
-FUEL_PM_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}_pm.log.tar.gz"
-
-# Construct the command
-LOG_COMMAND="${SUDO} ${WORKSPACE}/mcp/scripts/log.sh \
-             ${WORKSPACE}/${FUEL_PM_LOG_FILENAME}"
-
-# Log info to console
-echo "Collecting post mortem logs ..."
-echo "--------------------------------------------------------"
-echo "${LOG_COMMAND}"
-
-${LOG_COMMAND}
-
-# Upload logs for both baremetal and virtual deployments
-echo "Uploading deployment logs"
-echo "--------------------------------------------------------"
-gsutil cp "${WORKSPACE}/${FUEL_PM_LOG_FILENAME}" \
-    "gs://${GS_URL}/logs/${FUEL_PM_LOG_FILENAME}" > /dev/null 2>&1
-echo "Logs are available at http://${GS_URL}/logs/${FUEL_PM_LOG_FILENAME}"
diff --git a/jjb/fuel/fuel-rtd-jobs.yaml b/jjb/fuel/fuel-rtd-jobs.yaml
deleted file mode 100644 (file)
index b93eedd..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- project:
-    name: fuel-rtd
-    project: fuel
-    project-name: fuel
-
-    project-pattern: 'fuel'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-fuel/47205/'
-    rtd-token: '38f40bf6c08fd4bccb930871bc29b08404cf98b0'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: true
-      - iruya:
-          branch: 'stable/{stream}'
-          disabled: true
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/fuel/fuel-set-scenario.sh b/jjb/fuel/fuel-set-scenario.sh
deleted file mode 100755 (executable)
index 4c8ed73..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE, Mirantis Inc., Enea Software AB 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
-##############################################################################
-set -o pipefail
-set -x
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# This function allows developers to specify the impacted scenario by
-# requesting a RE-check via a gerrit change comment under a specific format.
-#
-# Patterns to be searched in change comment:
-#   recheck: <scenario-name>
-#   reverify: <scenario-name>
-# Examples:
-#   recheck: os-odl-ovs-noha
-#   reverify: os-nosdn-nofeature-ha
-
-function set_scenario() {
-    # process gerrit event comment text (if present)
-    DEPLOY_SCENARIO=$(echo "${GERRIT_EVENT_COMMENT_TEXT}" | \
-                      grep -Po '(?!:(recheck|reverify):\s*)([-\w]+ha)')
-    if [ -z "${DEPLOY_SCENARIO}" ]; then
-        if [[ "$JOB_NAME" =~ baremetal ]]; then
-            DEPLOY_SCENARIO='os-nosdn-nofeature-ha'
-        else
-            DEPLOY_SCENARIO='os-nosdn-nofeature-noha'
-        fi
-    fi
-    # save the scenario names into java properties file
-    # so they can be injected to downstream jobs via envInject
-    echo "Recording the scenario '${DEPLOY_SCENARIO}' for downstream jobs"
-    echo "DEPLOY_SCENARIO=${DEPLOY_SCENARIO}" > "$WORK_DIRECTORY/scenario.properties"
-}
-
-# ensure GERRIT vars are set
-[ -n "${GERRIT_CHANGE_NUMBER}" ] || exit 1
-GERRIT_EVENT_COMMENT_TEXT="${GERRIT_EVENT_COMMENT_TEXT:-''}"
-
-# this directory is where the temporary properties file will be stored
-WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER
-/bin/rm -rf "$WORK_DIRECTORY" && mkdir -p "$WORK_DIRECTORY"
-
-set_scenario
diff --git a/jjb/fuel/fuel-verify-jobs.yaml b/jjb/fuel/fuel-verify-jobs.yaml
deleted file mode 100644 (file)
index 7fd7317..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
----
-- project:
-    name: 'fuel-verify-jobs'
-
-    project: 'fuel'
-
-    installer: 'fuel'
-    #####################################
-    # branch definitions
-    #####################################
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: true
-          functest_docker_tag: iruya
-      - iruya:
-          branch: 'stable/{stream}'
-          gs-pathname: '/{stream}'
-          disabled: true
-          functest_docker_tag: '{stream}'
-    #####################################
-    # cluster architectures
-    #####################################
-    # Note: arm64 was removed since it was basically a no-op
-    arch_tag:
-      - 'amd64':
-          slave-label: 'fuel'
-          functest-suite-label: 'fuel'
-    #####################################
-    # cluster types
-    #####################################
-    type:
-      - 'virtual'
-      - 'baremetal'
-    #####################################
-    # patch verification phases
-    #####################################
-    phase:
-      - 'docker-build'
-      - 'deploy'
-    #####################################
-    # jobs
-    #####################################
-    jobs:
-      - 'fuel-verify-{type}-{arch_tag}-{stream}'
-      - 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}'
-#####################################
-# job templates
-#####################################
-- job-template:
-    name: 'fuel-verify-{type}-{arch_tag}-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - throttle:
-          enabled: true
-          max-total: 4
-          option: 'project'
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'fuel-(os|k8)-.*?-daily-.*'
-            - 'fuel-verify-.*'
-          blocking-level: 'NODE'
-
-    scm:
-      - git-scm-gerrit
-
-    wrappers:
-      - ssh-agent-wrapper
-      - timeout:
-          timeout: 360
-          fail: true
-
-    triggers:
-      - 'fuel-verify-{type}-{arch_tag}-trigger':
-          project: '{project}'
-          branch: '{branch}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - '{slave-label}-{type}-defaults':
-          installer: '{installer}'
-      - '{installer}-defaults':
-          gs-pathname: '{gs-pathname}'
-
-    builders:
-      - 'fuel-verify-set-scenario-macro'
-      - inject:
-          properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/scenario.properties"
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - multijob:
-          name: docker-build
-          condition: SUCCESSFUL
-          projects:
-            - name: 'fuel-verify-docker-build-{type}-{arch_tag}-{stream}'
-              current-parameters: false
-              predefined-parameters: |
-                BRANCH=$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: FAILURE
-              abort-all-job: true
-
-      - multijob:
-          name: deploy
-          condition: SUCCESSFUL
-          projects:
-            - name: 'fuel-verify-deploy-{type}-{arch_tag}-{stream}'
-              current-parameters: false
-              predefined-parameters: |
-                MCP_DOCKER_TAG={arch_tag}-verify
-                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                BRANCH=$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: FAILURE
-              abort-all-job: true
-
-      - multijob:
-          name: smoke-test
-          condition: SUCCESSFUL
-          projects:
-            # Use Functest job definition from jjb/functest/functest-daily-jobs
-            - name: 'functest-{functest-suite-label}-{type}-suite-{stream}'
-              current-parameters: false
-              predefined-parameters: |
-                FUNCTEST_MODE=tier
-                FUNCTEST_TIER=healthcheck
-                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-                BRANCH=$BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                DOCKER_TAG={functest_docker_tag}
-              node-parameters: true
-              enable-condition: "def m = ! ('$NODE_LABELS' =~ /armband-virtual/)"
-              kill-phase-on: NEVER
-              abort-all-job: true
-
-- job-template:
-    name: 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - throttle:
-          enabled: true
-          max-total: 2
-          max-per-node: 1
-          option: 'project'
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'fuel-verify-docker-build-.*'
-            - 'fuel-verify-deploy-.*'
-          blocking-level: 'NODE'
-
-    scm:
-      - git-scm-gerrit
-
-    wrappers:
-      - ssh-agent-wrapper
-      - timeout:
-          timeout: 360
-          fail: true
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - '{slave-label}-{type}-defaults':
-          installer: '{installer}'
-      - '{installer}-defaults':
-          gs-pathname: '{gs-pathname}'
-
-    builders:
-      - description-setter:
-          description: "Built on $NODE_NAME"
-      - '{project}-verify-{phase}-macro'
-########################
-# trigger macros
-########################
-- trigger:
-    name: 'fuel-verify-virtual-amd64-trigger'
-    triggers:
-      - gerrit: &fuel_verify_virtual_amd64_trigger
-          server-name: 'gerrit.opnfv.org'
-          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: '(recheck|reverify)(\s|$|:\s*[-\w]+-noha)'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              file-paths:
-                - compare-type: ANT
-                  pattern: 'ci/**'
-                - compare-type: ANT
-                  pattern: 'mcp/**'
-              disable-strict-forbidden-file-verification: 'true'
-              forbidden-file-paths:
-                - compare-type: ANT
-                  pattern: 'docs/**'
-          readable-message: true
-- trigger:
-    name: 'fuel-verify-virtual-arm64-trigger'
-    triggers:
-      - gerrit:
-          <<: *fuel_verify_virtual_amd64_trigger
-- trigger:
-    name: 'fuel-verify-baremetal-amd64-trigger'
-    triggers:
-      - gerrit: &fuel_verify_baremetal_amd64_trigger
-          <<: *fuel_verify_virtual_amd64_trigger
-          trigger-on:
-            - comment-added-contains-event:
-                comment-contains-value: '(recheck|reverify):\s*[-\w]+-ha'
-- trigger:
-    name: 'fuel-verify-baremetal-arm64-trigger'
-    triggers:
-      - gerrit:
-          <<: *fuel_verify_baremetal_amd64_trigger
-          skip-vote:
-            successful: true
-            failed: true
-            unstable: true
-            notbuilt: true
-#####################################
-# builder macros
-#####################################
-- builder:
-    name: 'fuel-verify-set-scenario-macro'
-    builders:
-      - shell:
-          !include-raw: ./fuel-set-scenario.sh
-- builder:
-    name: 'fuel-verify-deploy-macro'
-    builders:
-      - shell:
-          !include-raw: ./fuel-deploy.sh
-- builder:
-    name: 'fuel-verify-docker-build-macro'
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          sudo -E ./ci/build.sh 'verify' ''
diff --git a/jjb/functest/functest-docker.yaml b/jjb/functest/functest-docker.yaml
deleted file mode 100644 (file)
index 6915ab4..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
-    name: functest-docker
-
-    project: functest
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - leguer:
-          branch: 'stable/{stream}'
-          disabled: false
-      - kali:
-          branch: 'stable/{stream}'
-          disabled: false
-      - jerma:
-          branch: 'stable/{stream}'
-          disabled: false
-      - iruya:
-          branch: 'stable/{stream}'
-          disabled: false
-      - hunter:
-          branch: 'stable/{stream}'
-          disabled: false
-
-    arch_tag:
-      - 'amd64':
-          slave_label: 'lf-build2'
-
-    # yamllint disable rule:key-duplicates
-    image:
-      - 'core'
-      - 'tempest'
-      - 'healthcheck'
-      - 'smoke'
-      - 'benchmarking'
-      - 'vnf'
-      - 'smoke-cntt'
-      - 'benchmarking-cntt'
-      - 'features'
-
-    exclude:
-      - stream: 'master'
-        image: 'tempest'
-      - stream: 'leguer'
-        image: 'tempest'
-      - stream: 'kali'
-        image: 'tempest'
-      - stream: 'jerma'
-        image: 'tempest'
-      - stream: 'master'
-        image: 'features'
-      - stream: 'leguer'
-        image: 'features'
-      - stream: 'kali'
-        image: 'features'
-      - stream: 'jerma'
-        image: 'features'
-      - stream: 'iruya'
-        image: 'features'
-
-    # settings for jobs run in multijob phases
-    build-job-settings: &build-job-settings
-      current-parameters: false
-      git-revision: true
-      node-parameters: false
-      predefined-parameters: |
-        PUSH_IMAGE=$PUSH_IMAGE
-        COMMIT_ID=$COMMIT_ID
-        GERRIT_REFNAME=$GERRIT_REFNAME
-        DOCKERFILE=$DOCKERFILE
-      kill-phase-on: FAILURE
-      abort-all-jobs: false
-
-    manifest-job-settings: &manifest-job-settings
-      current-parameters: false
-      git-revision: true
-      node-parameters: false
-      predefined-parameters:
-        GERRIT_REFNAME=$GERRIT_REFNAME
-      kill-phase-on: FAILURE
-      abort-all-jobs: false
-
-    # yamllint enable rule:key-duplicates
-    jobs:
-      - "functest-docker-{stream}"
-      - "functest-{image}-docker-build-{arch_tag}-{stream}"
-      - "functest-{image}-docker-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
-    name: 'functest-docker-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - functest-job-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          slave_label: 'lf-build2'
-          arch_tag: 'amd64'
-
-    properties:
-      - throttle:
-          max-per-node: 1
-          option: 'project'
-
-    scm:
-      - git-scm
-
-    triggers:
-      - pollscm:
-          cron: "*/30 * * * *"
-      - gerrit-trigger-tag-created:
-          project: '{project}'
-
-    builders:
-      - multijob:
-          name: 'build functest-core images'
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-core-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish functest-core manifests'
-          execution-type: PARALLEL
-          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
-      - 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
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-healthcheck-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-            - name: 'functest-smoke-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-            - name: 'functest-benchmarking-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-            - name: 'functest-vnf-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-            - name: 'functest-features-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish all manifests'
-          condition: SUCCESSFUL
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-healthcheck-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-            - name: 'functest-smoke-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-            - name: 'functest-benchmarking-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-            - name: 'functest-vnf-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-            - name: 'functest-features-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-      - multijob:
-          name: 'build all functest cntt images'
-          condition: SUCCESSFUL
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-smoke-cntt-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-            - name: 'functest-benchmarking-cntt-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish all cntt manifests'
-          condition: SUCCESSFUL
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-smoke-cntt-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-            - name: 'functest-benchmarking-cntt-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-
-    publishers:
-      - 'functest-amd64-recipients'
-
-- job-template:
-    name: 'functest-{image}-docker-build-{arch_tag}-{stream}'
-    disabled: '{obj:disabled}'
-    parameters:
-      - functest-job-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          slave_label: '{slave_label}'
-          arch_tag: '{arch_tag}'
-    scm:
-      - git-scm
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          sudo amd64_dirs=docker/{image} arm64_dirs= arm_dirs= bash ./build.sh
-          exit $?
-
-- job-template:
-    name: 'functest-{image}-docker-manifest-{stream}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: 'lf-build2'
-          description: 'Slave label on Jenkins'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: PROJECT
-          default: "{project}"
-          description: "Project name used to enable job conditions"
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: REPO
-          default: "opnfv"
-          description: "Repository name for functest images"
-
-
-    disabled: '{obj:disabled}'
-
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          case "{stream}" in
-          "master")
-              tag="latest" ;;
-          *)
-              tag="{stream}" ;;
-          esac
-          sudo manifest-tool push from-args \
-              --platforms linux/amd64 \
-              --template $REPO/functest-{image}:ARCH-$tag \
-              --target $REPO/functest-{image}:$tag
-          exit $?
-
-# parameter macro
-- parameter:
-    name: functest-job-parameters
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: '{slave_label}'
-          description: 'Slave label on Jenkins'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: PUSH_IMAGE
-          default: "true"
-          description: "To enable/disable pushing the image to Dockerhub."
-      - string:
-          name: COMMIT_ID
-          default: ""
-          description: "commit id to make a snapshot docker image"
-      - string:
-          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: "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"
-      - string:
-          name: PROJECT
-          default: "{project}"
-          description: "Project name used to enable job conditions"
-      - string:
-          name: REPO
-          default: "opnfv"
-          description: "Repository name for functest images"
-
-# publisher macros
-- publisher:
-    name: 'functest-amd64-recipients'
-    publishers:
-      - email:
-          recipients: >
-            jalausuch@suse.com morgan.richomme@orange.com
-            cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
-            juha.kosonen@nokia.com wangwulin@huawei.com
-            valentin.boucher@kontron.com
diff --git a/jjb/functest/functest-kubernetes-docker.yaml b/jjb/functest/functest-kubernetes-docker.yaml
deleted file mode 100644 (file)
index 444d1b1..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
-    name: functest-kubernetes-docker
-
-    project: functest-kubernetes
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - leguer:
-          branch: 'stable/{stream}'
-          disabled: false
-      - kali:
-          branch: 'stable/{stream}'
-          disabled: false
-      - jerma:
-          branch: 'stable/{stream}'
-          disabled: false
-      - iruya:
-          branch: 'stable/{stream}'
-          disabled: false
-      - hunter:
-          branch: 'stable/{stream}'
-          disabled: false
-
-    arch_tag:
-      - 'amd64':
-          slave_label: 'lf-build2'
-
-    # yamllint disable rule:key-duplicates
-    image:
-      - 'core'
-      - 'healthcheck'
-      - 'smoke'
-      - 'cnf'
-      - 'security'
-      - 'benchmarking'
-
-    # settings for jobs run in multijob phases
-    build-job-settings: &build-job-settings
-      current-parameters: false
-      git-revision: true
-      node-parameters: false
-      predefined-parameters: |
-        PUSH_IMAGE=$PUSH_IMAGE
-        COMMIT_ID=$COMMIT_ID
-        GERRIT_REFNAME=$GERRIT_REFNAME
-        DOCKERFILE=$DOCKERFILE
-      kill-phase-on: FAILURE
-      abort-all-jobs: false
-
-    manifest-job-settings: &manifest-job-settings
-      current-parameters: false
-      git-revision: true
-      node-parameters: false
-      predefined-parameters:
-        GERRIT_REFNAME=$GERRIT_REFNAME
-      kill-phase-on: FAILURE
-      abort-all-jobs: false
-
-    # yamllint enable rule:key-duplicates
-    jobs:
-      - "functest-kubernetes-docker-{stream}"
-      - "functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}"
-      - "functest-kubernetes-{image}-docker-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
-    name: 'functest-kubernetes-docker-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - functest-kubernetes-job-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          slave_label: 'lf-build2'
-          arch_tag: 'amd64'
-
-    properties:
-      - throttle:
-          max-per-node: 1
-          option: 'project'
-
-    scm:
-      - git-scm
-
-    triggers:
-      - pollscm:
-          cron: "*/30 * * * *"
-      - gerrit-trigger-tag-created:
-          project: '{project}'
-
-    builders:
-      - multijob:
-          name: 'build functest-kubernetes-core images'
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-kubernetes-core-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish functest-kubernetes-core manifests'
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-kubernetes-core-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-      - multijob:
-          name: 'build functest-kubernetes-[healthcheck,cnf,security] images'
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-            - name: 'functest-kubernetes-cnf-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-            - name: 'functest-kubernetes-security-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish functest-kubernetes-[healthcheck,cnf,security] manifests'
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-kubernetes-healthcheck-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-            - name: 'functest-kubernetes-cnf-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-            - name: 'functest-kubernetes-security-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-      - multijob:
-          name: 'build functest-kubernetes-smoke image'
-          condition: SUCCESSFUL
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish functest-kubernetes-smoke manifests'
-          condition: SUCCESSFUL
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-kubernetes-smoke-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-      - multijob:
-          name: 'build functest-kubernetes-benchmarking image'
-          condition: SUCCESSFUL
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-kubernetes-benchmarking-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish functest-kubernetes-benchmarking manifests'
-          condition: SUCCESSFUL
-          execution-type: PARALLEL
-          projects:
-            - name: 'functest-kubernetes-benchmarking-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-
-    publishers:
-      - 'functest-kubernetes-amd64-recipients'
-
-- job-template:
-    name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}'
-    disabled: '{obj:disabled}'
-    parameters:
-      - functest-kubernetes-job-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          slave_label: '{slave_label}'
-          arch_tag: '{arch_tag}'
-    scm:
-      - git-scm
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          sudo amd64_dirs=docker/{image} arm_dirs= arm64_dirs= bash ./build.sh
-          exit $?
-
-- job-template:
-    name: 'functest-kubernetes-{image}-docker-manifest-{stream}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: 'lf-build2'
-          description: 'Slave label on Jenkins'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: PROJECT
-          default: "{project}"
-          description: "Project name used to enable job conditions"
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: REPO
-          default: "opnfv"
-          description: "Repository name for functest-kubernetes images"
-
-
-    disabled: '{obj:disabled}'
-
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          case "{stream}" in
-          "master")
-              tag="latest" ;;
-          *)
-              tag="{stream}" ;;
-          esac
-          sudo manifest-tool push from-args \
-              --platforms linux/amd64 \
-              --template $REPO/functest-kubernetes-{image}:ARCH-$tag \
-              --target $REPO/functest-kubernetes-{image}:$tag
-          exit $?
-
-# parameter macro
-- parameter:
-    name: functest-kubernetes-job-parameters
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: '{slave_label}'
-          description: 'Slave label on Jenkins'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: PUSH_IMAGE
-          default: "true"
-          description: "To enable/disable pushing the image to Dockerhub."
-      - string:
-          name: COMMIT_ID
-          default: ""
-          description: "commit id to make a snapshot docker image"
-      - string:
-          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: "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"
-      - string:
-          name: PROJECT
-          default: "{project}"
-          description: "Project name used to enable job conditions"
-      - string:
-          name: REPO
-          default: "opnfv"
-          description: "Repository name for functest-kubernetes images"
-
-# publisher macros
-- publisher:
-    name: 'functest-kubernetes-amd64-recipients'
-    publishers:
-      - email:
-          recipients: >
-            jalausuch@suse.com morgan.richomme@orange.com
-            cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
-            juha.kosonen@nokia.com wangwulin@huawei.com
-            valentin.boucher@kontron.com
diff --git a/jjb/functest/functest-kubernetes-ng.yaml b/jjb/functest/functest-kubernetes-ng.yaml
new file mode 100644 (file)
index 0000000..c447d53
--- /dev/null
@@ -0,0 +1,426 @@
+---
+- functest-kubernetes-ng-containers: &functest-kubernetes-ng-containers
+    name: 'functest-kubernetes-ng-containers'
+    repo: '{repo}'
+    port: '{port}'
+    container: '{container}'
+    tag: '{tag}'
+
+- functest-kubernetes-ng-params: &functest-kubernetes-ng-params
+    name: 'functest-kubernetes-ng-params'
+    repo: 'opnfv'
+    port:
+    tag:
+      - v1.20:
+          buildargs:
+          branch: stable/leguer
+          slave: lf-virtual1
+          dependency: 3.12
+          from: s/:leguer$/:v1.20/g
+      - v1.19:
+          buildargs:
+          branch: stable/kali
+          slave: lf-virtual1
+          dependency: 3.11
+          from: s/:kali$/:v1.19/g
+      - v1.18:
+          branch: stable/kali
+          slave: lf-virtual1
+          dependency: 3.11
+          buildargs: --build-arg K8S_TAG=1.18
+          from: s/:kali$/:v1.18/g
+      - v1.17:
+          buildargs:
+          branch: stable/jerma
+          slave: lf-virtual1
+          dependency: 3.10
+          from: s/:jerma$/:v1.17/g
+      - v1.16:
+          branch: stable/jerma
+          slave: lf-virtual1
+          dependency: 3.10
+          buildargs: --build-arg K8S_TAG=1.16
+          from: s/:jerma$/:v1.16/g
+      - v1.15:
+          buildargs:
+          branch: stable/iruya
+          slave: lf-virtual1
+          dependency: 3.9
+          from: s/:iruya$/:v1.15/g
+      - v1.14:
+          branch: stable/iruya
+          slave: lf-virtual1
+          dependency: 3.9
+          buildargs: --build-arg K8S_TAG=1.14
+          from: s/:iruya$/:v1.14/g
+      - v1.13:
+          buildargs:
+          branch: stable/hunter
+          slave: lf-virtual1
+          dependency: 3.9
+          from: s/:hunter$/:v1.13/g
+
+- functest-kubernetes-ng-jobs: &functest-kubernetes-ng-jobs
+    name: 'functest-kubernetes-ng-jobs'
+    current-parameters: true
+
+- parameter:
+    name: functest-kubernetes-ng-slave
+    parameters:
+      - label:
+          name: slave
+          default: '{slave}'
+
+
+- functest-kubernetes-ng-build-containers: &functest-kubernetes-ng-build-containers
+    name: 'functest-kubernetes-ng-build-containers'
+    <<: *functest-kubernetes-ng-containers
+    ref_arg: '{ref_arg}'
+    path: '{path}'
+    buildargs: '{buildargs}'
+    from: '{from}'
+
+- builder:
+    name: functest-kubernetes-ng-build-containers
+    builders:
+      - shell: |
+          set +x
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          build_args=""
+          if [ "{buildargs}" != "None" ]; then
+            build_args="{buildargs}"
+          fi
+          if [ "{ref_arg}" != "None" ]; then
+            build_args="$build_args --build-arg {ref_arg}={ref}"
+          fi
+          cd {path}
+          if [ "{from}" != "None" ]; then
+              sed -i {from} Dockerfile
+          fi
+          sudo docker build $build_args \
+            --pull=false --no-cache --force-rm=true \
+            -t $image .
+
+- scm:
+    name: functest-kubernetes-ng-scm
+    scm:
+      - git:
+          url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
+          refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+          branches:
+            - '{ref}'
+
+- functest-kubernetes-ng-dep: &functest-kubernetes-ng-dep
+    name: 'functest-kubernetes-ng-containers'
+    repo: '{repo}'
+    port: '{port}'
+    tag: '{tag}'
+    dependency: '{dependency}'
+
+- builder:
+    name: functest-kubernetes-ng-pull-dep-images
+    builders:
+      - shell: |
+          set +x
+          if [ "_" = "_" ]; then
+            image=alpine:{dependency}
+          elif [ "_" = "None" ]; then
+            image=_/alpine:{dependency}
+          else
+            image=_:/alpine{dependency}
+          fi
+          sudo docker pull $image || true
+
+- builder:
+    name: functest-kubernetes-ng-remove-dep-images
+    builders:
+      - shell: |
+          set +x
+          if [ "_" = "_" ]; then
+            image=alpine:{dependency}
+          elif [ "_" = "None" ]; then
+            image=_/alpine:{dependency}
+          else
+            image=_:/alpine{dependency}
+          fi
+          sudo docker rmi $image || true
+
+- job-template:
+    name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
+    parameters:
+      - functest-kubernetes-ng-slave:
+          slave: '{slave}'
+    builders:
+      - functest-kubernetes-ng-pull-dep-images:
+          <<: *functest-kubernetes-ng-dep
+
+- project:
+    name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
+    <<: *functest-kubernetes-ng-params
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
+
+- job-template:
+    name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
+    parameters:
+      - functest-kubernetes-ng-slave:
+          slave: '{slave}'
+    builders:
+      - functest-kubernetes-ng-remove-dep-images:
+          <<: *functest-kubernetes-ng-dep
+
+- project:
+    name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
+    <<: *functest-kubernetes-ng-params
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
+
+
+- builder:
+    name: functest-kubernetes-ng-push-containers
+    builders:
+      - shell: |
+          set +x
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          sudo docker push $image
+
+- trigger:
+    name: functest-kubernetes-ng-commit
+    triggers:
+      - pollscm:
+          cron: "*/30 * * * *"
+
+- job-template:
+    name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
+    parameters:
+      - functest-kubernetes-ng-slave:
+          slave: '{slave}'
+    scm:
+      - functest-kubernetes-ng-scm:
+          ref: '{branch}'
+    builders:
+      - functest-kubernetes-ng-build-containers:
+          <<: *functest-kubernetes-ng-build-containers
+          ref: '{branch}'
+          buildargs: '{buildargs}'
+      - functest-kubernetes-ng-push-containers:
+          <<: *functest-kubernetes-ng-build-containers
+          ref: '{branch}'
+
+- project:
+    name: functest-kubernetes-ng-opnfv-functest-kubernetes-core-{tag}-build
+    <<: *functest-kubernetes-ng-params
+    container: functest-kubernetes-core
+    ref_arg: BRANCH
+    path: docker/core
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-{tag}-build
+    <<: *functest-kubernetes-ng-params
+    container: functest-kubernetes-healthcheck
+    ref_arg:
+    path: docker/healthcheck
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-{tag}-build
+    <<: *functest-kubernetes-ng-params
+    container: functest-kubernetes-cnf
+    ref_arg: BRANCH
+    path: docker/cnf
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-ng-opnfv-functest-kubernetes-security-{tag}-build
+    <<: *functest-kubernetes-ng-params
+    container: functest-kubernetes-security
+    ref_arg: BRANCH
+    path: docker/security
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-{tag}-build
+    <<: *functest-kubernetes-ng-params
+    container: functest-kubernetes-smoke
+    ref_arg:
+    path: docker/smoke
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-{tag}-build
+    <<: *functest-kubernetes-ng-params
+    container: functest-kubernetes-benchmarking
+    ref_arg:
+    path: docker/benchmarking
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
+
+
+- job-template:
+    name: 'functest-kubernetes-ng-{tag}-docker'
+    project-type: multijob
+    triggers:
+      - functest-kubernetes-ng-commit
+    scm:
+      - functest-kubernetes-ng-scm:
+          ref: '{branch}'
+    parameters:
+      - functest-kubernetes-ng-slave:
+          slave: '{slave}'
+    properties:
+      - build-blocker:
+          use-build-blocker: true
+          blocking-level: 'NODE'
+          blocking-jobs:
+            - '^functest-kubernetes-ng-{tag}-(daily|docker|review)$'
+    builders:
+      - multijob:
+          name: remove dependency
+          projects:
+            - name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
+              <<: *functest-kubernetes-ng-jobs
+      - multijob:
+          name: pull dependency
+          projects:
+            - name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
+              <<: *functest-kubernetes-ng-jobs
+      - multijob:
+          name: build opnfv/functest-kubernetes-core
+          projects:
+            - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-{tag}-build'
+              <<: *functest-kubernetes-ng-jobs
+      - multijob:
+          name: build containers
+          projects:
+            - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-{tag}-build'
+              <<: *functest-kubernetes-ng-jobs
+            - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-{tag}-build'
+              <<: *functest-kubernetes-ng-jobs
+            - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-{tag}-build'
+              <<: *functest-kubernetes-ng-jobs
+      - multijob:
+          name: build opnfv/functest-kubernetes-smoke
+          projects:
+            - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-{tag}-build'
+              <<: *functest-kubernetes-ng-jobs
+      - multijob:
+          name: build opnfv/functest-kubernetes-benchmarking
+          projects:
+            - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-{tag}-build'
+              <<: *functest-kubernetes-ng-jobs
+
+- builder:
+    name: functest-kubernetes-ng-trivy
+    builders:
+      - shell: |
+          sudo apt-get update && sudo apt-get install curl -y
+          curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          ./trivy --exit-code 1 $image
+
+- job-template:
+    name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
+    triggers:
+      - timed: '@daily'
+    parameters:
+      - functest-kubernetes-ng-slave:
+          slave: '{slave}'
+    builders:
+      - functest-kubernetes-ng-trivy:
+          <<: *functest-kubernetes-ng-containers
+
+- project:
+    name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-trivy'
+    <<: *functest-kubernetes-ng-params
+    container: 'functest-kubernetes-core'
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-trivy'
+    <<: *functest-kubernetes-ng-params
+    container: 'functest-kubernetes-healthcheck'
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-trivy'
+    <<: *functest-kubernetes-ng-params
+    container: 'functest-kubernetes-cnf'
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-trivy'
+    <<: *functest-kubernetes-ng-params
+    container: 'functest-kubernetes-security'
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-trivy'
+    <<: *functest-kubernetes-ng-params
+    container: 'functest-kubernetes-smoke'
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-trivy'
+    <<: *functest-kubernetes-ng-params
+    container: 'functest-kubernetes-benchmarking'
+    jobs:
+      - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-ng'
+    <<: *functest-kubernetes-ng-params
+    jobs:
+      - 'functest-kubernetes-ng-{tag}-docker'
+
+- view:
+    name: functest-kubernetes-ng-docker
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^functest-kubernetes-ng-[a-z0-9.]+-docker$
+
+- view:
+    name: functest-kubernetes-ng-trivy
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^functest-kubernetes-ng-[a-z0-9-.]+-trivy$
index 8860366..803e74e 100644 (file)
@@ -1,7 +1,10 @@
 ---
-- functest-kubernetes-pi-jobs: &functest-kubernetes-pi-jobs
-    name: 'functest-kubernetes-pi-jobs'
-    current-parameters: true
+- functest-kubernetes-pi-containers: &functest-kubernetes-pi-containers
+    name: 'functest-kubernetes-pi-containers'
+    repo: '{repo}'
+    port: '{port}'
+    container: '{container}'
+    tag: '{tag}'
 
 - functest-kubernetes-pi-params: &functest-kubernetes-pi-params
     name: 'functest-kubernetes-pi-params'
     port:
     tag:
       - latest:
-          branch: master
           slave: lf-virtual1-6
       - leguer:
-          branch: stable/leguer
           slave: lf-virtual1-5
       - kali:
-          branch: stable/kali
           slave: lf-virtual1-4
       - jerma:
-          branch: stable/jerma
           slave: lf-virtual1-3
       - iruya:
-          branch: stable/iruya
           slave: lf-virtual1-2
       - hunter:
-          branch: stable/hunter
           slave: lf-virtual1-1
       - arm-latest:
-          branch: master
           slave: lf-virtual1-6
       - arm-leguer:
-          branch: stable/leguer
           slave: lf-virtual1-5
       - arm-kali:
-          branch: stable/kali
           slave: lf-virtual1-4
       - arm-jerma:
-          branch: stable/jerma
           slave: lf-virtual1-3
       - arm-iruya:
-          branch: stable/iruya
           slave: lf-virtual1-2
       - arm-hunter:
-          branch: stable/hunter
           slave: lf-virtual1-1
       - arm64-latest:
-          branch: master
           slave: lf-virtual1-6
       - arm64-leguer:
-          branch: stable/leguer
           slave: lf-virtual1-5
       - arm64-kali:
-          branch: stable/kali
           slave: lf-virtual1-4
       - arm64-jerma:
-          branch: stable/jerma
           slave: lf-virtual1-3
       - arm64-iruya:
-          branch: stable/iruya
           slave: lf-virtual1-2
       - arm64-hunter:
-          branch: stable/hunter
           slave: lf-virtual1-1
 
+- functest-kubernetes-pi-jobs: &functest-kubernetes-pi-jobs
+    name: 'functest-kubernetes-pi-jobs'
+    current-parameters: true
+
 - parameter:
     name: functest-kubernetes-pi-slave
     parameters:
       - random-string:
           name: build_tag
 
-- parameter:
-    name: functest-kubernetes-pi-branch
-    parameters:
-      - string:
-          name: branch
-          default: '{branch}'
-
 - parameter:
     name: functest-kubernetes-pi-DEPLOY_SCENARIO
     parameters:
       - string:
           name: DEPLOY_SCENARIO
           default: k8-nosdn-nofeature-noha
-- parameter:
-    name: functest-kubernetes-pi-DEBUG
-    parameters:
-      - string:
-          name: DEBUG
-          default: 'true'
-
-- functest-kubernetes-pi-containers: &functest-kubernetes-pi-containers
-    name: 'functest-kubernetes-pi-containers'
-    repo: '{repo}'
-    port: '{port}'
-    container: '{container}'
-    tag: '{tag}'
 
 - functest-kubernetes-pi-run-containers: &functest-kubernetes-pi-run-containers
     name: 'functest-kubernetes-pi-run-containers'
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
-            -e DEBUG=$DEBUG \
             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
-            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
             $image run_tests -t {test} -p -r
 
 - builder:
           fi
           docker rmi $image || true
 
-
 - job-template:
     name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
     parameters:
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-pull'
     <<: *functest-kubernetes-pi-params
     container: 'functest-kubernetes-healthcheck'
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
     jobs:
       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
 
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-pull'
     <<: *functest-kubernetes-pi-params
     container: 'functest-kubernetes-smoke'
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
     jobs:
       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
 
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-pull'
     <<: *functest-kubernetes-pi-params
     container: 'functest-kubernetes-benchmarking'
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
     jobs:
       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
 
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-rmi'
     <<: *functest-kubernetes-pi-params
     container: 'functest-kubernetes-healthcheck'
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
     jobs:
       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
 
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-rmi'
     <<: *functest-kubernetes-pi-params
     container: 'functest-kubernetes-smoke'
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
     jobs:
       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
 
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-rmi'
     <<: *functest-kubernetes-pi-params
     container: 'functest-kubernetes-benchmarking'
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
     jobs:
       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
 
           build_tag: ''
       - functest-kubernetes-pi-DEPLOY_SCENARIO:
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
-      - functest-kubernetes-pi-DEBUG:
-          DEBUG: 'true'
     builders:
       - functest-kubernetes-pi-run-containers:
           <<: *functest-kubernetes-pi-run-containers
     test:
       - k8s_quick
       - k8s_smoke
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
     privileged: 'false'
     network: bridge
     jobs:
     test:
       - xrally_kubernetes
       - k8s_conformance
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
+      - sig_network
+      - sig_network_features
+      - sig_storage
     privileged: 'false'
     network: bridge
+    exclude:
+      - {'tag': 'leguer', 'test': 'sig_network'}
+      - {'tag': 'leguer', 'test': 'sig_network_features'}
+      - {'tag': 'leguer', 'test': 'sig_storage'}
+      - {'tag': 'kali', 'test': 'sig_network'}
+      - {'tag': 'kali', 'test': 'sig_network_features'}
+      - {'tag': 'kali', 'test': 'sig_storage'}
+      - {'tag': 'jerma', 'test': 'sig_network'}
+      - {'tag': 'jerma', 'test': 'sig_network_features'}
+      - {'tag': 'jerma', 'test': 'sig_storage'}
+      - {'tag': 'iruya', 'test': 'sig_network'}
+      - {'tag': 'iruya', 'test': 'sig_network_features'}
+      - {'tag': 'iruya', 'test': 'sig_storage'}
+      - {'tag': 'hunter', 'test': 'sig_network'}
+      - {'tag': 'hunter', 'test': 'sig_network_features'}
+      - {'tag': 'hunter', 'test': 'sig_storage'}
+      - {'tag': 'arm-leguer', 'test': 'sig_network'}
+      - {'tag': 'arm-leguer', 'test': 'sig_network_features'}
+      - {'tag': 'arm-leguer', 'test': 'sig_storage'}
+      - {'tag': 'arm-kali', 'test': 'sig_network'}
+      - {'tag': 'arm-kali', 'test': 'sig_network_features'}
+      - {'tag': 'arm-kali', 'test': 'sig_storage'}
+      - {'tag': 'arm-jerma', 'test': 'sig_network'}
+      - {'tag': 'arm-jerma', 'test': 'sig_network_features'}
+      - {'tag': 'arm-jerma', 'test': 'sig_storage'}
+      - {'tag': 'arm-iruya', 'test': 'sig_network'}
+      - {'tag': 'arm-iruya', 'test': 'sig_network_features'}
+      - {'tag': 'arm-iruya', 'test': 'sig_storage'}
+      - {'tag': 'arm-hunter', 'test': 'sig_network'}
+      - {'tag': 'arm-hunter', 'test': 'sig_network_features'}
+      - {'tag': 'arm-hunter', 'test': 'sig_storage'}
+      - {'tag': 'arm64-leguer', 'test': 'sig_network'}
+      - {'tag': 'arm64-leguer', 'test': 'sig_network_features'}
+      - {'tag': 'arm64-leguer', 'test': 'sig_storage'}
+      - {'tag': 'arm64-kali', 'test': 'sig_network'}
+      - {'tag': 'arm64-kali', 'test': 'sig_network_features'}
+      - {'tag': 'arm64-kali', 'test': 'sig_storage'}
+      - {'tag': 'arm64-jerma', 'test': 'sig_network'}
+      - {'tag': 'arm64-jerma', 'test': 'sig_network_features'}
+      - {'tag': 'arm64-jerma', 'test': 'sig_storage'}
+      - {'tag': 'arm64-iruya', 'test': 'sig_network'}
+      - {'tag': 'arm64-iruya', 'test': 'sig_network_features'}
+      - {'tag': 'arm64-iruya', 'test': 'sig_storage'}
+      - {'tag': 'arm64-hunter', 'test': 'sig_network'}
+      - {'tag': 'arm64-hunter', 'test': 'sig_network_features'}
+      - {'tag': 'arm64-hunter', 'test': 'sig_storage'}
     jobs:
       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
 
     container: 'functest-kubernetes-benchmarking'
     test:
       - xrally_kubernetes_full
-    exclude:
-      - tag: arm-hunter
-      - tag: arm64-hunter
     privileged: 'false'
     network: bridge
     jobs:
       - k8s_vims
       - helm_vims
       - cnf_conformance
-    exclude:
-      - tag: iruya
-        test: k8s_vims
-      - tag: iruya
-        test: helm_vims
-      - tag: arm-iruya
-        test: k8s_vims
-      - tag: arm-iruya
-        test: helm_vims
-      - tag: arm64-iruya
-        test: k8s_vims
-      - tag: arm64-iruya
-        test: helm_vims
     privileged: 'false'
     network: bridge
     jobs:
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
+            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
-            -e DEBUG=$DEBUG \
             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
-            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
             $image zip_campaign
 
 - job-template:
           build_tag: ''
       - functest-kubernetes-pi-DEPLOY_SCENARIO:
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
-      - functest-kubernetes-pi-DEBUG:
-          DEBUG: 'true'
     builders:
       - functest-kubernetes-pi-zip:
           <<: *functest-kubernetes-pi-containers
 - project:
     name: 'functest-kubernetes-pi-{tag}-zip'
     <<: *functest-kubernetes-pi-params
-    container: 'functest-kubernetes-security'
+    container: 'functest-kubernetes-healthcheck'
     jobs:
       - 'functest-kubernetes-pi-{tag}-zip'
 
           build_tag: ''
       - functest-kubernetes-pi-DEPLOY_SCENARIO:
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
-      - functest-kubernetes-pi-DEBUG:
-          DEBUG: 'true'
     properties:
       - build-blocker:
           use-build-blocker: true
-          blocking-level: 'GLOBAL'
+          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+            - '^functest-kubernetes-pi-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
               <<: *functest-kubernetes-pi-jobs
             - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
               <<: *functest-kubernetes-pi-jobs
+            - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network-run'
+              <<: *functest-kubernetes-pi-jobs
+            - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network_features-run'
+              <<: *functest-kubernetes-pi-jobs
+            - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_storage-run'
+              <<: *functest-kubernetes-pi-jobs
       - multijob:
           name: ollivier/functest-kubernetes-security:{tag}
           projects:
             - name: 'functest-kubernetes-pi-{tag}-zip'
               <<: *functest-kubernetes-pi-jobs
 
-
 - project:
-    name: 'functest-kubernetes-pi'
+    name: 'functest-kubernetes-pi-daily'
     <<: *functest-kubernetes-pi-params
     jobs:
       - 'functest-kubernetes-pi-{tag}-daily'
       - last-success
       - last-failure
       - last-duration
-    regex: ^functest-kubernetes-pi-(arm.*-|amd64-)*[a-z]+-daily$
+    regex: ^functest-kubernetes-pi-[a-z-0-9.]+-daily$
diff --git a/jjb/functest/functest-kubernetes-project-jobs.yaml b/jjb/functest/functest-kubernetes-project-jobs.yaml
deleted file mode 100644 (file)
index 9565276..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
----
-- functest-kubernetes-project-params: &functest-kubernetes-project-params
-    name: 'functest-kubernetes-project-params'
-    tag:
-      - latest:
-          branch: master
-          slave: lf-virtual1
-      - leguer:
-          branch: stable/leguer
-          slave: lf-virtual1
-      - kali:
-          branch: stable/kali
-          slave: lf-virtual1
-      - jerma:
-          branch: stable/jerma
-          slave: lf-virtual1
-      - iruya:
-          branch: stable/iruya
-          slave: lf-virtual1
-      - hunter:
-          branch: stable/hunter
-          slave: lf-virtual1
-
-- builder:
-    name: functest-kubernetes-run-tox
-    builders:
-      - shell: tox
-
-- trigger:
-    name: functest-kubernetes-project-patchset-created
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'functest-kubernetes'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: false
-            failed: false
-            unstable: false
-            notbuilt: false
-
-- parameter:
-    name: functest-kubernetes-project-slave
-    parameters:
-      - label:
-          name: slave
-          default: '{slave}'
-
-- scm:
-    name: functest-kubernetes-project-scm
-    scm:
-      - git:
-          url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
-          refspec: '+refs/changes/*:refs/changes/*'
-          branches:
-            - '{ref}'
-
-- job-template:
-    name: 'functest-kubernetes-run-tox-{tag}'
-    triggers:
-      - functest-kubernetes-project-patchset-created:
-          branch: '{branch}'
-    scm:
-      - functest-kubernetes-project-scm:
-          ref: $GERRIT_REFSPEC
-    parameters:
-      - functest-kubernetes-project-slave:
-          slave: '{slave}'
-    builders:
-      - functest-kubernetes-run-tox
-
-- project:
-    name: 'functest-kubernetes-run-tox'
-    <<: *functest-kubernetes-project-params
-    jobs:
-      - 'functest-kubernetes-run-tox-{tag}'
index 01022df..2c584b3 100644 (file)
@@ -1,7 +1,10 @@
 ---
-- functest-kubernetes-jobs: &functest-kubernetes-jobs
-    name: 'functest-kubernetes-jobs'
-    current-parameters: true
+- functest-kubernetes-containers: &functest-kubernetes-containers
+    name: 'functest-kubernetes-containers'
+    repo: '{repo}'
+    port: '{port}'
+    container: '{container}'
+    tag: '{tag}'
 
 - functest-kubernetes-params: &functest-kubernetes-params
     name: 'functest-kubernetes-params'
     port:
     tag:
       - latest:
+          from:
+          buildargs:
           branch: master
           slave: lf-virtual1-6
+          dependency: 3.13
       - leguer:
+          from:
+          buildargs:
           branch: stable/leguer
           slave: lf-virtual1-5
+          dependency: 3.12
       - kali:
+          from:
+          buildargs:
           branch: stable/kali
           slave: lf-virtual1-4
+          dependency: 3.11
       - jerma:
+          from:
+          buildargs:
           branch: stable/jerma
           slave: lf-virtual1-3
+          dependency: 3.10
       - iruya:
+          from:
+          buildargs:
           branch: stable/iruya
           slave: lf-virtual1-2
+          dependency: 3.9
       - hunter:
+          from:
+          buildargs:
           branch: stable/hunter
           slave: lf-virtual1-1
+          dependency: 3.9
+
+- functest-kubernetes-jobs: &functest-kubernetes-jobs
+    name: 'functest-kubernetes-jobs'
+    current-parameters: true
 
 - parameter:
     name: functest-kubernetes-slave
       - random-string:
           name: build_tag
 
-- parameter:
-    name: functest-kubernetes-branch
-    parameters:
-      - string:
-          name: branch
-          default: '{branch}'
-
 - parameter:
     name: functest-kubernetes-DEPLOY_SCENARIO
     parameters:
       - string:
           name: DEPLOY_SCENARIO
           default: k8-nosdn-nofeature-noha
-- parameter:
-    name: functest-kubernetes-DEBUG
-    parameters:
-      - string:
-          name: DEBUG
-          default: 'true'
-
-- functest-kubernetes-containers: &functest-kubernetes-containers
-    name: 'functest-kubernetes-containers'
-    repo: '{repo}'
-    port: '{port}'
-    container: '{container}'
-    tag: '{tag}'
 
 - functest-kubernetes-run-containers: &functest-kubernetes-run-containers
     name: 'functest-kubernetes-run-containers'
@@ -93,7 +98,7 @@
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
-            -e DEBUG=$DEBUG \
             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
-            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
             $image run_tests -t {test} -p -r
 
 - builder:
           fi
           docker rmi $image || true
 
-- functest-kubernetes-build-containers: &functest-kubernetes-build-containers
-    name: 'functest-kubernetes-build-containers'
-    <<: *functest-kubernetes-containers
-    ref_arg: '{ref_arg}'
-    path: '{path}'
-
-- builder:
-    name: functest-kubernetes-build-containers
-    builders:
-      - shell: |
-          set +x
-          if [ "{repo}" = "_" ]; then
-            image={container}:{tag}
-          elif [ "{port}" = "None" ]; then
-            image={repo}/{container}:{tag}
-          else
-            image={repo}:{port}/{container}:{tag}
-          fi
-          if [ "{ref_arg}" = "None" ]; then
-            build_arg=""
-          else
-            build_arg="--build-arg {ref_arg}={ref}"
-          fi
-          cd {path}
-          docker build $build_arg \
-            --pull=false --no-cache --force-rm=true \
-            -t $image .
-
-- scm:
-    name: functest-kubernetes-scm
-    scm:
-      - git:
-          url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
-          refspec: '+refs/changes/*:refs/changes/*'
-          branches:
-            - '{ref}'
-
 - job-template:
     name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
     parameters:
           build_tag: ''
       - functest-kubernetes-DEPLOY_SCENARIO:
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
-      - functest-kubernetes-DEBUG:
-          DEBUG: 'true'
     builders:
       - functest-kubernetes-run-containers:
           <<: *functest-kubernetes-run-containers
     test:
       - xrally_kubernetes
       - k8s_conformance
+      - sig_network
+      - sig_network_features
+      - sig_storage
     privileged: 'false'
     network: bridge
+    exclude:
+      - {'tag': 'leguer', 'test': 'sig_network'}
+      - {'tag': 'leguer', 'test': 'sig_network_features'}
+      - {'tag': 'leguer', 'test': 'sig_storage'}
+      - {'tag': 'kali', 'test': 'sig_network'}
+      - {'tag': 'kali', 'test': 'sig_network_features'}
+      - {'tag': 'kali', 'test': 'sig_storage'}
+      - {'tag': 'jerma', 'test': 'sig_network'}
+      - {'tag': 'jerma', 'test': 'sig_network_features'}
+      - {'tag': 'jerma', 'test': 'sig_storage'}
+      - {'tag': 'iruya', 'test': 'sig_network'}
+      - {'tag': 'iruya', 'test': 'sig_network_features'}
+      - {'tag': 'iruya', 'test': 'sig_storage'}
+      - {'tag': 'hunter', 'test': 'sig_network'}
+      - {'tag': 'hunter', 'test': 'sig_network_features'}
+      - {'tag': 'hunter', 'test': 'sig_storage'}
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
 
       - k8s_vims
       - helm_vims
       - cnf_conformance
-    exclude:
-      - tag: iruya
-        test: k8s_vims
-      - tag: iruya
-        test: helm_vims
     privileged: 'false'
     network: bridge
     jobs:
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
+            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
             -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
-            -e DEBUG=$DEBUG \
             -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
-            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
             $image zip_campaign
 
 - job-template:
           build_tag: ''
       - functest-kubernetes-DEPLOY_SCENARIO:
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
-      - functest-kubernetes-DEBUG:
-          DEBUG: 'true'
     builders:
       - functest-kubernetes-zip:
           <<: *functest-kubernetes-containers
           build_tag: ''
       - functest-kubernetes-DEPLOY_SCENARIO:
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
-      - functest-kubernetes-DEBUG:
-          DEBUG: 'true'
     properties:
       - build-blocker:
           use-build-blocker: true
-          blocking-level: 'GLOBAL'
+          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+            - '^functest-kubernetes-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
               <<: *functest-kubernetes-jobs
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
               <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
               <<: *functest-kubernetes-jobs
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
               <<: *functest-kubernetes-jobs
               <<: *functest-kubernetes-jobs
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
               <<: *functest-kubernetes-jobs
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
+              <<: *functest-kubernetes-jobs
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_features-run'
+              <<: *functest-kubernetes-jobs
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
+              <<: *functest-kubernetes-jobs
       - multijob:
           name: opnfv/functest-kubernetes-security:{tag}
           projects:
             - name: 'functest-kubernetes-{tag}-zip'
               <<: *functest-kubernetes-jobs
 
+- project:
+    name: 'functest-kubernetes-daily'
+    <<: *functest-kubernetes-params
+    jobs:
+      - 'functest-kubernetes-{tag}-daily'
+
+- view:
+    name: functest-kubernetes
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^functest-kubernetes-[a-z0-9.]+-daily$
+
+- functest-kubernetes-build-containers: &functest-kubernetes-build-containers
+    name: 'functest-kubernetes-build-containers'
+    <<: *functest-kubernetes-containers
+    ref_arg: '{ref_arg}'
+    path: '{path}'
+    buildargs: '{buildargs}'
+    from: '{from}'
+
+- builder:
+    name: functest-kubernetes-build-containers
+    builders:
+      - shell: |
+          set +x
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          build_args=""
+          if [ "{buildargs}" != "None" ]; then
+            build_args="{buildargs}"
+          fi
+          if [ "{ref_arg}" != "None" ]; then
+            build_args="$build_args --build-arg {ref_arg}={ref}"
+          fi
+          cd {path}
+          if [ "{from}" != "None" ]; then
+              sed -i {from} Dockerfile
+          fi
+          docker build $build_args \
+            --pull=false --no-cache --force-rm=true \
+            -t $image .
+
+- scm:
+    name: functest-kubernetes-scm
+    scm:
+      - git:
+          url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
+          refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+          branches:
+            - '{ref}'
+
+- functest-kubernetes-dep: &functest-kubernetes-dep
+    name: 'functest-kubernetes-containers'
+    repo: '{repo}'
+    port: '{port}'
+    tag: '{tag}'
+    dependency: '{dependency}'
+
+- builder:
+    name: functest-kubernetes-pull-dep-images
+    builders:
+      - shell: |
+          set +x
+          if [ "_" = "_" ]; then
+            image=alpine:{dependency}
+          elif [ "_" = "None" ]; then
+            image=_/alpine:{dependency}
+          else
+            image=_:/alpine{dependency}
+          fi
+          docker pull $image || true
+
+- builder:
+    name: functest-kubernetes-remove-dep-images
+    builders:
+      - shell: |
+          set +x
+          if [ "_" = "_" ]; then
+            image=alpine:{dependency}
+          elif [ "_" = "None" ]; then
+            image=_/alpine:{dependency}
+          else
+            image=_:/alpine{dependency}
+          fi
+          docker rmi $image || true
+
 - job-template:
-    name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+    name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
+    builders:
+      - functest-kubernetes-pull-dep-images:
+          <<: *functest-kubernetes-dep
+
+- project:
+    name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
+    <<: *functest-kubernetes-params
+    jobs:
+      - 'functest-kubernetes-{repo}-{tag}-dep-pull'
+
+- job-template:
+    name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
     parameters:
       - functest-kubernetes-slave:
           slave: '{slave}'
+    builders:
+      - functest-kubernetes-remove-dep-images:
+          <<: *functest-kubernetes-dep
+
+- project:
+    name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
+    <<: *functest-kubernetes-params
+    jobs:
+      - 'functest-kubernetes-{repo}-{tag}-dep-rmi'
+
+- builder:
+    name: functest-kubernetes-tox
+    builders:
+      - shell: |
+          set +x
+          apt-get update && apt-get install software-properties-common gpg -y
+          add-apt-repository -y ppa:deadsnakes/ppa
+          apt-get update && apt-get install python3.8 python3.8-dev \
+            python3.8-distutils \
+            python3.7 python3.7-dev python3.6 python3.6-dev \
+            python python-dev python3-pip enchant -y
+          pip3 install tox tox-pip-version
+          tox
+
+- job-template:
+    name: 'functest-kubernetes-{tag}-tox'
     scm:
       - functest-kubernetes-scm:
           ref: $GERRIT_REFSPEC
+    triggers:
+      - functest-kubernetes-patchset-created:
+          branch: '{branch}'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
     builders:
-      - functest-kubernetes-build-containers:
-          <<: *functest-kubernetes-build-containers
-          ref: $GERRIT_REFSPEC
+      - functest-kubernetes-tox:
+
+- project:
+    name: functest-kubernetes-tox
+    <<: *functest-kubernetes-params
+    jobs:
+      - 'functest-kubernetes-{tag}-tox'
 
 - job-template:
-    name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
+    name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
     parameters:
       - functest-kubernetes-slave:
           slave: '{slave}'
-      - functest-kubernetes-branch:
-          branch: '{branch}'
     scm:
       - functest-kubernetes-scm:
-          ref: $branch
+          ref: $GERRIT_REFSPEC
     builders:
       - functest-kubernetes-build-containers:
           <<: *functest-kubernetes-build-containers
-          ref: $branch
-
-- project:
-    name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
-    repo: _
-    port:
-    container: golang
-    tag: '1.15-alpine3.12'
-    slave: master
-    jobs:
-      - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
-    repo: _
-    port:
-    container: golang
-    tag: '1.15-alpine3.12'
-    slave: master
-    jobs:
-      - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+          ref: $GERRIT_REFSPEC
+          buildargs: '{buildargs}'
 
 - project:
-    name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
+    name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate
     <<: *functest-kubernetes-params
     container: functest-kubernetes-core
     ref_arg: BRANCH
     path: docker/core
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
-      - 'functest-kubernetes-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
+    name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate
     <<: *functest-kubernetes-params
     container: functest-kubernetes-healthcheck
     ref_arg:
     path: docker/healthcheck
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
-      - 'functest-kubernetes-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
+    name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate
     <<: *functest-kubernetes-params
     container: functest-kubernetes-cnf
     ref_arg: BRANCH
     path: docker/cnf
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
-      - 'functest-kubernetes-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
+    name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate
     <<: *functest-kubernetes-params
     container: functest-kubernetes-security
     ref_arg: BRANCH
     path: docker/security
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
-      - 'functest-kubernetes-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
+    name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate
     <<: *functest-kubernetes-params
     container: functest-kubernetes-smoke
     ref_arg:
     path: docker/smoke
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
-      - 'functest-kubernetes-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
+    name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate
     <<: *functest-kubernetes-params
     container: functest-kubernetes-benchmarking
     ref_arg:
     path: docker/benchmarking
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
-      - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
+
+- trigger:
+    name: functest-kubernetes-patchset-created
+    triggers:
+      - gerrit:
+          trigger-on:
+            - patchset-created-event
+            - comment-added-contains-event:
+                comment-contains-value: 'recheck'
+            - comment-added-contains-event:
+                comment-contains-value: 'reverify'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: 'functest-kubernetes'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
 
 - job-template:
-    name: 'functest-kubernetes-{tag}-check'
+    name: 'functest-kubernetes-{tag}-review'
     project-type: multijob
+    triggers:
+      - functest-kubernetes-patchset-created:
+          branch: '{branch}'
     parameters:
       - functest-kubernetes-slave:
           slave: '{slave}'
       - functest-kubernetes-build_tag:
           build_tag: ''
-      - functest-kubernetes-branch:
-          branch: '{branch}'
       - functest-kubernetes-DEPLOY_SCENARIO:
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
-      - functest-kubernetes-DEBUG:
-          DEBUG: 'true'
     properties:
       - build-blocker:
           use-build-blocker: true
-          blocking-level: 'GLOBAL'
+          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+            - '^functest-kubernetes-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
               <<: *functest-kubernetes-jobs
       - multijob:
-          name: remove dependencies
+          name: remove dependency
           projects:
-            - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
+            - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
               <<: *functest-kubernetes-jobs
       - multijob:
-          name: pull dependencies
+          name: pull dependency
           projects:
-            - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
+            - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
               <<: *functest-kubernetes-jobs
       - multijob:
           name: build opnfv/functest-kubernetes-core
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-check'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
               <<: *functest-kubernetes-jobs
       - multijob:
-          name: build opnfv/functest-kubernetes-healthcheck
+          name: build containers
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-check'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
               <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-check'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
               <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-check'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
               <<: *functest-kubernetes-jobs
       - multijob:
-          name: build containers
+          name: build opnfv/functest-kubernetes-smoke
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-check'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
               <<: *functest-kubernetes-jobs
       - multijob:
           name: build opnfv/functest-kubernetes-benchmarking
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-check'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
               <<: *functest-kubernetes-jobs
       - multijob:
           name: opnfv/functest-kubernetes-healthcheck:{tag}
               <<: *functest-kubernetes-jobs
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
               <<: *functest-kubernetes-jobs
-      - multijob:
-          name: opnfv/functest-kubernetes-benchmarking:{tag}
-          projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
+              <<: *functest-kubernetes-jobs
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_features-run'
+              <<: *functest-kubernetes-jobs
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
               <<: *functest-kubernetes-jobs
       - multijob:
           name: opnfv/functest-kubernetes-security:{tag}
               <<: *functest-kubernetes-jobs
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
               <<: *functest-kubernetes-jobs
+      - multijob:
+          name: opnfv/functest-kubernetes-benchmarking:{tag}
+          projects:
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+              <<: *functest-kubernetes-jobs
       - multijob:
           name: opnfv/functest-kubernetes-cnf:{tag}
           projects:
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
               <<: *functest-kubernetes-jobs
 
+- project:
+    name: 'functest-kubernetes-review'
+    <<: *functest-kubernetes-params
+    jobs:
+      - 'functest-kubernetes-{tag}-review'
+
+- view:
+    name: functest-kubernetes-review
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^functest-kubernetes-[a-z0-9.]+-review$
+
+- view:
+    name: functest-kubernetes-tox
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^functest-kubernetes-[a-z0-9.]+-tox$
+
+- builder:
+    name: functest-kubernetes-push-containers
+    builders:
+      - shell: |
+          set +x
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          docker push $image
+
 - trigger:
-    name: functest-kubernetes-patchset-created
+    name: functest-kubernetes-commit
     triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'functest-kubernetes'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: false
-            failed: false
-            unstable: false
-            notbuilt: false
+      - pollscm:
+          cron: "*/30 * * * *"
 
 - job-template:
-    name: 'functest-kubernetes-{tag}-gate'
+    name: 'functest-kubernetes-{repo}-{container}-{tag}-build'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
+    scm:
+      - functest-kubernetes-scm:
+          ref: '{branch}'
+    builders:
+      - functest-kubernetes-build-containers:
+          <<: *functest-kubernetes-build-containers
+          ref: '{branch}'
+          buildargs: '{buildargs}'
+      - functest-kubernetes-push-containers:
+          <<: *functest-kubernetes-build-containers
+          ref: '{branch}'
+
+- project:
+    name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
+    <<: *functest-kubernetes-params
+    container: functest-kubernetes-core
+    ref_arg: BRANCH
+    path: docker/core
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
+    <<: *functest-kubernetes-params
+    container: functest-kubernetes-healthcheck
+    ref_arg:
+    path: docker/healthcheck
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
+    <<: *functest-kubernetes-params
+    container: functest-kubernetes-cnf
+    ref_arg: BRANCH
+    path: docker/cnf
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
+    <<: *functest-kubernetes-params
+    container: functest-kubernetes-security
+    ref_arg: BRANCH
+    path: docker/security
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
+    <<: *functest-kubernetes-params
+    container: functest-kubernetes-smoke
+    ref_arg:
+    path: docker/smoke
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
+    <<: *functest-kubernetes-params
+    container: functest-kubernetes-benchmarking
+    ref_arg:
+    path: docker/benchmarking
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+
+- job-template:
+    name: 'functest-kubernetes-{tag}-docker'
     project-type: multijob
     triggers:
-      - functest-kubernetes-patchset-created:
-          branch: '{branch}'
+      - functest-kubernetes-commit
+    scm:
+      - functest-kubernetes-scm:
+          ref: '{branch}'
     parameters:
       - functest-kubernetes-slave:
           slave: '{slave}'
-      - functest-kubernetes-build_tag:
-          build_tag: ''
-      - functest-kubernetes-DEPLOY_SCENARIO:
-          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
-      - functest-kubernetes-DEBUG:
-          DEBUG: 'true'
     properties:
       - build-blocker:
           use-build-blocker: true
-          blocking-level: 'GLOBAL'
+          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+            - '^functest-kubernetes-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
-          name: remove former images
+          name: remove dependency
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
+            - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
               <<: *functest-kubernetes-jobs
       - multijob:
-          name: remove dependencies
+          name: pull dependency
           projects:
-            - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
-              <<: *functest-kubernetes-jobs
-      - multijob:
-          name: pull dependencies
-          projects:
-            - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
+            - name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
               <<: *functest-kubernetes-jobs
       - multijob:
           name: build opnfv/functest-kubernetes-core
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
-              <<: *functest-kubernetes-jobs
-      - multijob:
-          name: build opnfv/functest-kubernetes-healthcheck
-          projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
               <<: *functest-kubernetes-jobs
       - multijob:
           name: build containers
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
-              <<: *functest-kubernetes-jobs
-      - multijob:
-          name: build opnfv/functest-kubernetes-benchmarking
-          projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
-              <<: *functest-kubernetes-jobs
-      - multijob:
-          name: opnfv/functest-kubernetes-healthcheck:{tag}
-          projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
-              <<: *functest-kubernetes-jobs
-      - multijob:
-          name: opnfv/functest-kubernetes-smoke:{tag}
-          projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
-              <<: *functest-kubernetes-jobs
-      - multijob:
-          name: opnfv/functest-kubernetes-security:{tag}
-          projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
               <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
               <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
               <<: *functest-kubernetes-jobs
       - multijob:
-          name: opnfv/functest-kubernetes-benchmarking:{tag}
+          name: build opnfv/functest-kubernetes-smoke
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
               <<: *functest-kubernetes-jobs
       - multijob:
-          name: opnfv/functest-kubernetes-cnf:{tag}
+          name: build opnfv/functest-kubernetes-benchmarking
           projects:
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
-              <<: *functest-kubernetes-jobs
-            - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
+            - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
               <<: *functest-kubernetes-jobs
 
+- builder:
+    name: functest-kubernetes-trivy
+    builders:
+      - shell: |
+          apt-get update && apt-get install curl -y
+          curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          ./trivy --exit-code 1 $image
+
+- job-template:
+    name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+    triggers:
+      - timed: '@weekly'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
+    builders:
+      - functest-kubernetes-trivy:
+          <<: *functest-kubernetes-containers
+
 - project:
-    name: 'functest-kubernetes'
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
     <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-core'
     jobs:
-      - 'functest-kubernetes-{tag}-daily'
+      - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-healthcheck'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-cnf'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-security'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-smoke'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
 
 - project:
-    name: 'functest-kubernetes-gate'
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
     <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-benchmarking'
     jobs:
-      - 'functest-kubernetes-{tag}-check'
-      - 'functest-kubernetes-{tag}-gate'
+      - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-kubernetes'
+    <<: *functest-kubernetes-params
+    jobs:
+      - 'functest-kubernetes-{tag}-docker'
 
 - view:
-    name: functest-kubernetes
+    name: functest-kubernetes-docker
     view-type: list
     columns:
       - status
       - last-success
       - last-failure
       - last-duration
-    regex: ^functest-kubernetes-(amd64-)*[a-z]+-daily$
+    regex: ^functest-kubernetes-[a-z0-9.]+-docker$
 
 - view:
-    name: functest-kubernetes-gate
+    name: functest-kubernetes-trivy
     view-type: list
     columns:
       - status
       - last-success
       - last-failure
       - last-duration
-    regex: ^functest-kubernetes-(amd64-)*[a-z]+-gate$
+    regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$
index 045a38e..78635d7 100644 (file)
@@ -1,7 +1,10 @@
 ---
-- functest-pi-jobs: &functest-pi-jobs
-    name: 'functest-pi-jobs'
-    current-parameters: true
+- functest-pi-containers: &functest-pi-containers
+    name: 'functest-pi-containers'
+    repo: '{repo}'
+    port: '{port}'
+    container: '{container}'
+    tag: '{tag}'
 
 - functest-pi-params: &functest-pi-params
     name: 'functest-pi-params'
     port:
     tag:
       - latest:
-          branch: master
           slave: lf-virtual9
-          dashboard_url: http://172.30.13.94
+          DASHBOARD_URL: http://172.30.13.94
       - leguer:
-          branch: stable/leguer
           slave: lf-virtual9
-          dashboard_url: http://172.30.13.94
+          DASHBOARD_URL: http://172.30.13.94
       - kali:
-          branch: stable/kali
           slave: lf-pod4-3
-          dashboard_url: http://172.30.12.88
+          DASHBOARD_URL: http://172.30.12.88
       - jerma:
-          branch: stable/jerma
           slave: lf-pod4
-          dashboard_url: http://172.30.12.83
+          DASHBOARD_URL: http://172.30.12.83
       - iruya:
-          branch: stable/iruya
           slave: lf-virtual4
-          dashboard_url: http://172.30.13.89
+          DASHBOARD_URL: http://172.30.13.89
       - hunter:
-          branch: stable/hunter
           slave: lf-virtual6
-          dashboard_url: http://172.30.13.91
+          DASHBOARD_URL: http://172.30.13.91
       - arm-latest:
-          branch: master
           slave: lf-virtual9
-          dashboard_url: http://172.30.13.94
+          DASHBOARD_URL: http://172.30.13.94
       - arm-leguer:
-          branch: stable/leguer
           slave: lf-virtual9
-          dashboard_url: http://172.30.13.94
+          DASHBOARD_URL: http://172.30.13.94
       - arm-kali:
-          branch: stable/kali
           slave: lf-pod4-3
-          dashboard_url: http://172.30.12.88
+          DASHBOARD_URL: http://172.30.12.88
       - arm-jerma:
-          branch: stable/jerma
           slave: lf-pod4
-          dashboard_url: http://172.30.12.83
+          DASHBOARD_URL: http://172.30.12.83
       - arm-iruya:
-          branch: stable/iruya
           slave: lf-virtual4
-          dashboard_url: http://172.30.13.89
+          DASHBOARD_URL: http://172.30.13.89
       - arm-hunter:
-          branch: stable/hunter
           slave: lf-virtual6
-          dashboard_url: http://172.30.13.91
+          DASHBOARD_URL: http://172.30.13.91
       - arm64-latest:
-          branch: master
           slave: lf-virtual9
-          dashboard_url: http://172.30.13.94
+          DASHBOARD_URL: http://172.30.13.94
       - arm64-leguer:
-          branch: stable/leguer
           slave: lf-virtual9
-          dashboard_url: http://172.30.13.94
+          DASHBOARD_URL: http://172.30.13.94
       - arm64-kali:
-          branch: stable/kali
           slave: lf-pod4-3
-          dashboard_url: http://172.30.12.88
+          DASHBOARD_URL: http://172.30.12.88
       - arm64-jerma:
-          branch: stable/jerma
           slave: lf-pod4
-          dashboard_url: http://172.30.12.83
+          DASHBOARD_URL: http://172.30.12.83
       - arm64-iruya:
-          branch: stable/iruya
           slave: lf-virtual4
-          dashboard_url: http://172.30.13.89
+          DASHBOARD_URL: http://172.30.13.89
       - arm64-hunter:
-          branch: stable/hunter
           slave: lf-virtual6
-          dashboard_url: http://172.30.13.91
+          DASHBOARD_URL: http://172.30.13.91
+
+- functest-pi-jobs: &functest-pi-jobs
+    name: 'functest-pi-jobs'
+    current-parameters: true
 
 - parameter:
     name: functest-pi-slave
       - random-string:
           name: build_tag
 
-- parameter:
-    name: functest-pi-branch
-    parameters:
-      - string:
-          name: branch
-          default: '{branch}'
-
-- parameter:
-    name: functest-pi-DEBUG
-    parameters:
-      - string:
-          name: DEBUG
-          default: 'true'
 - parameter:
     name: functest-pi-EXTERNAL_NETWORK
     parameters:
           name: IMAGE_PROPERTIES
           default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
 
-- functest-pi-containers: &functest-pi-containers
-    name: 'functest-pi-containers'
-    repo: '{repo}'
-    port: '{port}'
-    container: '{container}'
-    tag: '{tag}'
-
 - functest-pi-run-containers: &functest-pi-run-containers
     name: 'functest-pi-run-containers'
     <<: *functest-pi-containers
     test: '{test}'
-    dashboard_url: '{dashboard_url}'
     privileged: '{privileged}'
     network: '{network}'
+    DASHBOARD_URL: '{DASHBOARD_URL}'
 
 - builder:
     name: functest-pi-pull-containers
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
           else
             image={repo}:{port}/{container}:{tag}
           fi
-          volumes=""
-          case "{tag}" in
-            arm-hunter)
-              volumes="-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static" ;;
-            arm64-hunter)
-              volumes="-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static" ;;
-          esac
           sudo docker run --rm \
             --privileged={privileged} \
             --network={network} \
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+            -v /home/opnfv/functest/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
-            -e DASHBOARD_URL={dashboard_url} \
             -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
             -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
-            -v /home/opnfv/functest/.boto:/root/.boto \
+            -e DASHBOARD_URL={DASHBOARD_URL} \
             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
-            $volumes $image run_tests -t {test} -r -p
+            $image run_tests -t {test} -p -r
 
 - builder:
     name: functest-pi-remove-images
           slave: '{slave}'
       - functest-pi-build_tag:
           build_tag: ''
-      - functest-pi-DEBUG:
-          DEBUG: 'true'
       - functest-pi-EXTERNAL_NETWORK:
           EXTERNAL_NETWORK: public
       - functest-pi-VOLUME_DEVICE_NAME:
       - tempest_barbican
       - tempest_octavia
       - tempest_cyborg
-    exclude:
-      - tag: latest
-        test: refstack_defcore
-      - tag: latest
-        test: networking-bgpvpn
-      - tag: latest
-        test: networking-sfc
-      - tag: latest
-        test: patrole
-      - tag: leguer
-        test: refstack_defcore
-      - tag: leguer
-        test: networking-bgpvpn
-      - tag: leguer
-        test: networking-sfc
-      - tag: leguer
-        test: patrole
-      - tag: kali
-        test: refstack_defcore
-      - tag: kali
-        test: networking-bgpvpn
-      - tag: kali
-        test: networking-sfc
-      - tag: kali
-        test: patrole_admin
-      - tag: kali
-        test: patrole_member
-      - tag: kali
-        test: patrole_reader
-      - tag: jerma
-        test: refstack_defcore
-      - tag: jerma
-        test: networking-bgpvpn
-      - tag: jerma
-        test: networking-sfc
-      - tag: jerma
-        test: patrole_admin
-      - tag: jerma
-        test: patrole_member
-      - tag: jerma
-        test: patrole_reader
-      - tag: jerma
-        test: tempest_cyborg
-      - tag: iruya
-        test: refstack_defcore
-      - tag: iruya
-        test: patrole_admin
-      - tag: iruya
-        test: patrole_member
-      - tag: iruya
-        test: patrole_reader
-      - tag: iruya
-        test: tempest_cyborg
-      - tag: hunter
-        test: refstack_compute
-      - tag: hunter
-        test: refstack_object
-      - tag: hunter
-        test: refstack_platform
-      - tag: hunter
-        test: tempest_octavia
-      - tag: hunter
-        test: tempest_telemetry
-      - tag: hunter
-        test: patrole_admin
-      - tag: hunter
-        test: patrole_member
-      - tag: hunter
-        test: patrole_reader
-      - tag: hunter
-        test: tempest_cyborg
-      - tag: arm-latest
-        test: refstack_defcore
-      - tag: arm-latest
-        test: networking-bgpvpn
-      - tag: arm-latest
-        test: networking-sfc
-      - tag: arm-latest
-        test: patrole
-      - tag: arm-leguer
-        test: refstack_defcore
-      - tag: arm-leguer
-        test: networking-bgpvpn
-      - tag: arm-leguer
-        test: networking-sfc
-      - tag: arm-leguer
-        test: patrole
-      - tag: arm-kali
-        test: refstack_defcore
-      - tag: arm-kali
-        test: networking-bgpvpn
-      - tag: arm-kali
-        test: networking-sfc
-      - tag: arm-kali
-        test: patrole_admin
-      - tag: arm-kali
-        test: patrole_member
-      - tag: arm-kali
-        test: patrole_reader
-      - tag: arm-jerma
-        test: refstack_defcore
-      - tag: arm-jerma
-        test: networking-bgpvpn
-      - tag: arm-jerma
-        test: networking-sfc
-      - tag: arm-jerma
-        test: patrole_admin
-      - tag: arm-jerma
-        test: patrole_member
-      - tag: arm-jerma
-        test: patrole_reader
-      - tag: arm-jerma
-        test: tempest_cyborg
-      - tag: arm-iruya
-        test: refstack_defcore
-      - tag: arm-iruya
-        test: patrole_admin
-      - tag: arm-iruya
-        test: patrole_member
-      - tag: arm-iruya
-        test: patrole_reader
-      - tag: arm-iruya
-        test: tempest_cyborg
-      - tag: arm-hunter
-        test: refstack_compute
-      - tag: arm-hunter
-        test: refstack_object
-      - tag: arm-hunter
-        test: refstack_platform
-      - tag: arm-hunter
-        test: tempest_octavia
-      - tag: arm-hunter
-        test: tempest_telemetry
-      - tag: arm-hunter
-        test: patrole_admin
-      - tag: arm-hunter
-        test: patrole_member
-      - tag: arm-hunter
-        test: patrole_reader
-      - tag: arm-hunter
-        test: tempest_cyborg
-      - tag: arm64-latest
-        test: refstack_defcore
-      - tag: arm64-latest
-        test: networking-bgpvpn
-      - tag: arm64-latest
-        test: networking-sfc
-      - tag: arm64-latest
-        test: patrole
-      - tag: arm64-leguer
-        test: refstack_defcore
-      - tag: arm64-leguer
-        test: networking-bgpvpn
-      - tag: arm64-leguer
-        test: networking-sfc
-      - tag: arm64-leguer
-        test: patrole
-      - tag: arm64-kali
-        test: refstack_defcore
-      - tag: arm64-kali
-        test: networking-bgpvpn
-      - tag: arm64-kali
-        test: networking-sfc
-      - tag: arm64-kali
-        test: patrole_admin
-      - tag: arm64-kali
-        test: patrole_member
-      - tag: arm64-kali
-        test: patrole_reader
-      - tag: arm64-jerma
-        test: refstack_defcore
-      - tag: arm64-jerma
-        test: networking-bgpvpn
-      - tag: arm64-jerma
-        test: networking-sfc
-      - tag: arm64-jerma
-        test: patrole_admin
-      - tag: arm64-jerma
-        test: patrole_member
-      - tag: arm64-jerma
-        test: patrole_reader
-      - tag: arm64-jerma
-        test: tempest_cyborg
-      - tag: arm64-iruya
-        test: refstack_defcore
-      - tag: arm64-iruya
-        test: patrole_admin
-      - tag: arm64-iruya
-        test: patrole_member
-      - tag: arm64-iruya
-        test: patrole_reader
-      - tag: arm64-iruya
-        test: tempest_cyborg
-      - tag: arm64-hunter
-        test: refstack_compute
-      - tag: arm64-hunter
-        test: refstack_object
-      - tag: arm64-hunter
-        test: refstack_platform
-      - tag: arm64-hunter
-        test: tempest_octavia
-      - tag: arm64-hunter
-        test: tempest_telemetry
-      - tag: arm64-hunter
-        test: patrole_admin
-      - tag: arm64-hunter
-        test: patrole_member
-      - tag: arm64-hunter
-        test: patrole_reader
-      - tag: arm64-hunter
-        test: tempest_cyborg
     privileged: 'false'
     network: bridge
+    exclude:
+      - {'tag': 'latest', 'test': 'refstack_defcore'}
+      - {'tag': 'latest', 'test': 'networking-bgpvpn'}
+      - {'tag': 'latest', 'test': 'networking-sfc'}
+      - {'tag': 'latest', 'test': 'patrole'}
+      - {'tag': 'leguer', 'test': 'refstack_defcore'}
+      - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
+      - {'tag': 'leguer', 'test': 'networking-sfc'}
+      - {'tag': 'leguer', 'test': 'patrole'}
+      - {'tag': 'kali', 'test': 'refstack_defcore'}
+      - {'tag': 'kali', 'test': 'networking-bgpvpn'}
+      - {'tag': 'kali', 'test': 'networking-sfc'}
+      - {'tag': 'kali', 'test': 'patrole_admin'}
+      - {'tag': 'kali', 'test': 'patrole_member'}
+      - {'tag': 'kali', 'test': 'patrole_reader'}
+      - {'tag': 'jerma', 'test': 'refstack_defcore'}
+      - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
+      - {'tag': 'jerma', 'test': 'networking-sfc'}
+      - {'tag': 'jerma', 'test': 'patrole_admin'}
+      - {'tag': 'jerma', 'test': 'patrole_member'}
+      - {'tag': 'jerma', 'test': 'patrole_reader'}
+      - {'tag': 'jerma', 'test': 'tempest_cyborg'}
+      - {'tag': 'iruya', 'test': 'refstack_defcore'}
+      - {'tag': 'iruya', 'test': 'patrole_admin'}
+      - {'tag': 'iruya', 'test': 'patrole_member'}
+      - {'tag': 'iruya', 'test': 'patrole_reader'}
+      - {'tag': 'iruya', 'test': 'tempest_cyborg'}
+      - {'tag': 'hunter', 'test': 'refstack_compute'}
+      - {'tag': 'hunter', 'test': 'refstack_object'}
+      - {'tag': 'hunter', 'test': 'refstack_platform'}
+      - {'tag': 'hunter', 'test': 'tempest_octavia'}
+      - {'tag': 'hunter', 'test': 'tempest_telemetry'}
+      - {'tag': 'hunter', 'test': 'patrole_admin'}
+      - {'tag': 'hunter', 'test': 'patrole_member'}
+      - {'tag': 'hunter', 'test': 'patrole_reader'}
+      - {'tag': 'hunter', 'test': 'tempest_cyborg'}
+      - {'tag': 'arm-latest', 'test': 'refstack_defcore'}
+      - {'tag': 'arm-latest', 'test': 'networking-bgpvpn'}
+      - {'tag': 'arm-latest', 'test': 'networking-sfc'}
+      - {'tag': 'arm-latest', 'test': 'patrole'}
+      - {'tag': 'arm-leguer', 'test': 'refstack_defcore'}
+      - {'tag': 'arm-leguer', 'test': 'networking-bgpvpn'}
+      - {'tag': 'arm-leguer', 'test': 'networking-sfc'}
+      - {'tag': 'arm-leguer', 'test': 'patrole'}
+      - {'tag': 'arm-kali', 'test': 'refstack_defcore'}
+      - {'tag': 'arm-kali', 'test': 'networking-bgpvpn'}
+      - {'tag': 'arm-kali', 'test': 'networking-sfc'}
+      - {'tag': 'arm-kali', 'test': 'patrole_admin'}
+      - {'tag': 'arm-kali', 'test': 'patrole_member'}
+      - {'tag': 'arm-kali', 'test': 'patrole_reader'}
+      - {'tag': 'arm-jerma', 'test': 'refstack_defcore'}
+      - {'tag': 'arm-jerma', 'test': 'networking-bgpvpn'}
+      - {'tag': 'arm-jerma', 'test': 'networking-sfc'}
+      - {'tag': 'arm-jerma', 'test': 'patrole_admin'}
+      - {'tag': 'arm-jerma', 'test': 'patrole_member'}
+      - {'tag': 'arm-jerma', 'test': 'patrole_reader'}
+      - {'tag': 'arm-jerma', 'test': 'tempest_cyborg'}
+      - {'tag': 'arm-iruya', 'test': 'refstack_defcore'}
+      - {'tag': 'arm-iruya', 'test': 'patrole_admin'}
+      - {'tag': 'arm-iruya', 'test': 'patrole_member'}
+      - {'tag': 'arm-iruya', 'test': 'patrole_reader'}
+      - {'tag': 'arm-iruya', 'test': 'tempest_cyborg'}
+      - {'tag': 'arm-hunter', 'test': 'refstack_compute'}
+      - {'tag': 'arm-hunter', 'test': 'refstack_object'}
+      - {'tag': 'arm-hunter', 'test': 'refstack_platform'}
+      - {'tag': 'arm-hunter', 'test': 'tempest_octavia'}
+      - {'tag': 'arm-hunter', 'test': 'tempest_telemetry'}
+      - {'tag': 'arm-hunter', 'test': 'patrole_admin'}
+      - {'tag': 'arm-hunter', 'test': 'patrole_member'}
+      - {'tag': 'arm-hunter', 'test': 'patrole_reader'}
+      - {'tag': 'arm-hunter', 'test': 'tempest_cyborg'}
+      - {'tag': 'arm64-latest', 'test': 'refstack_defcore'}
+      - {'tag': 'arm64-latest', 'test': 'networking-bgpvpn'}
+      - {'tag': 'arm64-latest', 'test': 'networking-sfc'}
+      - {'tag': 'arm64-latest', 'test': 'patrole'}
+      - {'tag': 'arm64-leguer', 'test': 'refstack_defcore'}
+      - {'tag': 'arm64-leguer', 'test': 'networking-bgpvpn'}
+      - {'tag': 'arm64-leguer', 'test': 'networking-sfc'}
+      - {'tag': 'arm64-leguer', 'test': 'patrole'}
+      - {'tag': 'arm64-kali', 'test': 'refstack_defcore'}
+      - {'tag': 'arm64-kali', 'test': 'networking-bgpvpn'}
+      - {'tag': 'arm64-kali', 'test': 'networking-sfc'}
+      - {'tag': 'arm64-kali', 'test': 'patrole_admin'}
+      - {'tag': 'arm64-kali', 'test': 'patrole_member'}
+      - {'tag': 'arm64-kali', 'test': 'patrole_reader'}
+      - {'tag': 'arm64-jerma', 'test': 'refstack_defcore'}
+      - {'tag': 'arm64-jerma', 'test': 'networking-bgpvpn'}
+      - {'tag': 'arm64-jerma', 'test': 'networking-sfc'}
+      - {'tag': 'arm64-jerma', 'test': 'patrole_admin'}
+      - {'tag': 'arm64-jerma', 'test': 'patrole_member'}
+      - {'tag': 'arm64-jerma', 'test': 'patrole_reader'}
+      - {'tag': 'arm64-jerma', 'test': 'tempest_cyborg'}
+      - {'tag': 'arm64-iruya', 'test': 'refstack_defcore'}
+      - {'tag': 'arm64-iruya', 'test': 'patrole_admin'}
+      - {'tag': 'arm64-iruya', 'test': 'patrole_member'}
+      - {'tag': 'arm64-iruya', 'test': 'patrole_reader'}
+      - {'tag': 'arm64-iruya', 'test': 'tempest_cyborg'}
+      - {'tag': 'arm64-hunter', 'test': 'refstack_compute'}
+      - {'tag': 'arm64-hunter', 'test': 'refstack_object'}
+      - {'tag': 'arm64-hunter', 'test': 'refstack_platform'}
+      - {'tag': 'arm64-hunter', 'test': 'tempest_octavia'}
+      - {'tag': 'arm64-hunter', 'test': 'tempest_telemetry'}
+      - {'tag': 'arm64-hunter', 'test': 'patrole_admin'}
+      - {'tag': 'arm64-hunter', 'test': 'patrole_member'}
+      - {'tag': 'arm64-hunter', 'test': 'patrole_reader'}
+      - {'tag': 'arm64-hunter', 'test': 'tempest_cyborg'}
     jobs:
       - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
 
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
           else
             image={repo}:{port}/{container}:{tag}
           fi
-          volumes=""
-          case "{tag}" in
-            arm-hunter)
-              volumes="-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static" ;;
-            arm64-hunter)
-              volumes="-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static" ;;
-          esac
           sudo docker run --rm \
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
+            -v /home/opnfv/functest/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
             -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
             -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
-            -v /home/opnfv/functest/.boto:/root/.boto \
             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
-            $volumes $image zip_campaign
+            $image zip_campaign
 
 - job-template:
     name: 'functest-pi-{tag}-zip'
           slave: '{slave}'
       - functest-pi-build_tag:
           build_tag: ''
-      - functest-pi-DEBUG:
-          DEBUG: 'true'
       - functest-pi-EXTERNAL_NETWORK:
           EXTERNAL_NETWORK: public
       - functest-pi-VOLUME_DEVICE_NAME:
           slave: '{slave}'
       - functest-pi-build_tag:
           build_tag: ''
-      - functest-pi-DEBUG:
-          DEBUG: 'true'
       - functest-pi-EXTERNAL_NETWORK:
           EXTERNAL_NETWORK: public
       - functest-pi-VOLUME_DEVICE_NAME:
           use-build-blocker: true
           blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+            - '^functest-pi-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
               <<: *functest-pi-jobs
 
 - project:
-    name: 'functest-pi'
+    name: 'functest-pi-daily'
     <<: *functest-pi-params
     jobs:
       - 'functest-pi-{tag}-daily'
       - last-success
       - last-failure
       - last-duration
-    regex: ^functest-pi(-ovn)?-(arm.*-|amd64-)*[a-z]+-daily$
+    regex: ^functest-pi-[a-z-0-9.]+-daily$
diff --git a/jjb/functest/functest-project-jobs.yaml b/jjb/functest/functest-project-jobs.yaml
deleted file mode 100644 (file)
index 438fb4d..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
----
-- functest-project-params: &functest-project-params
-    name: 'functest-project-params'
-    tag:
-      - latest:
-          branch: master
-          slave: lf-virtual1
-      - leguer:
-          branch: stable/leguer
-          slave: lf-virtual1
-      - kali:
-          branch: stable/kali
-          slave: lf-virtual1
-      - jerma:
-          branch: stable/jerma
-          slave: lf-virtual1
-      - iruya:
-          branch: stable/iruya
-          slave: lf-virtual1
-      - hunter:
-          branch: stable/hunter
-          slave: lf-virtual1
-
-- builder:
-    name: functest-run-tox
-    builders:
-      - shell: tox
-
-- trigger:
-    name: functest-project-patchset-created
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'functest'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: false
-            failed: false
-            unstable: false
-            notbuilt: false
-
-- parameter:
-    name: functest-project-slave
-    parameters:
-      - label:
-          name: slave
-          default: '{slave}'
-
-- scm:
-    name: functest-project-scm
-    scm:
-      - git:
-          url: https://gerrit.opnfv.org/gerrit/functest
-          refspec: '+refs/changes/*:refs/changes/*'
-          branches:
-            - '{ref}'
-
-- job-template:
-    name: 'functest-run-tox-{tag}'
-    triggers:
-      - functest-project-patchset-created:
-          branch: '{branch}'
-    scm:
-      - functest-project-scm:
-          ref: $GERRIT_REFSPEC
-    parameters:
-      - functest-project-slave:
-          slave: '{slave}'
-    builders:
-      - functest-run-tox
-
-- project:
-    name: 'functest-run-tox'
-    <<: *functest-project-params
-    jobs:
-      - 'functest-run-tox-{tag}'
diff --git a/jjb/functest/functest.ovn.yaml b/jjb/functest/functest.ovn.yaml
deleted file mode 100644 (file)
index 3bd8585..0000000
+++ /dev/null
@@ -1,1243 +0,0 @@
----
-- functest-ovn-jobs: &functest-ovn-jobs
-    name: 'functest-ovn-jobs'
-    current-parameters: true
-
-- functest-ovn-params: &functest-ovn-params
-    name: 'functest-ovn-params'
-    repo: 'opnfv'
-    port:
-    tag:
-      - latest:
-          branch: master
-          slave: lf-pod4-2
-          dashboard_url: http://172.30.12.85
-
-- parameter:
-    name: functest-ovn-slave
-    parameters:
-      - label:
-          name: slave
-          default: '{slave}'
-
-- parameter:
-    name: functest-ovn-build_tag
-    parameters:
-      - random-string:
-          name: build_tag
-
-- parameter:
-    name: functest-ovn-branch
-    parameters:
-      - string:
-          name: branch
-          default: '{branch}'
-
-- parameter:
-    name: functest-ovn-DEBUG
-    parameters:
-      - string:
-          name: DEBUG
-          default: 'true'
-
-- parameter:
-    name: functest-ovn-EXTERNAL_NETWORK
-    parameters:
-      - string:
-          name: EXTERNAL_NETWORK
-          default: public
-
-- functest-ovn-containers: &functest-ovn-containers
-    name: 'functest-ovn-containers'
-    repo: '{repo}'
-    port: '{port}'
-    container: '{container}'
-    tag: '{tag}'
-
-- functest-ovn-run-containers: &functest-ovn-run-containers
-    name: 'functest-ovn-run-containers'
-    <<: *functest-ovn-containers
-    test: '{test}'
-    dashboard_url: '{dashboard_url}'
-
-- functest-ovn-build-containers: &functest-ovn-build-containers
-    name: 'functest-ovn-build-containers'
-    <<: *functest-ovn-containers
-    ref_arg: '{ref_arg}'
-    path: '{path}'
-
-- builder:
-    name: functest-ovn-pull-containers
-    builders:
-      - shell: |
-          set +x
-          if [ "{repo}" = "_" ]; then
-            image={container}:{tag}
-          elif [ "{port}" = "None" ]; then
-            image={repo}/{container}:{tag}
-          else
-            image={repo}:{port}/{container}:{tag}
-          fi
-          sudo docker pull $image
-
-- builder:
-    name: functest-ovn-build-containers
-    builders:
-      - shell: |
-          set +x
-          if [ "{repo}" = "_" ]; then
-            image={container}:{tag}
-          elif [ "{port}" = "None" ]; then
-            image={repo}/{container}:{tag}
-          else
-            image={repo}:{port}/{container}:{tag}
-          fi
-          if [ "{ref_arg}" = "None" ]; then
-            build_arg=""
-          else
-            build_arg="--build-arg {ref_arg}={ref}"
-          fi
-          cd {path}
-          sudo docker build $build_arg \
-            --pull=false --no-cache --force-rm=true \
-            -t $image .
-
-- builder:
-    name: functest-ovn-run-containers
-    builders:
-      - shell: |
-          set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
-          if [ "{repo}" = "_" ]; then
-            image={container}:{tag}
-          elif [ "{port}" = "None" ]; then
-            image={repo}/{container}:{tag}
-          else
-            image={repo}:{port}/{container}:{tag}
-          fi
-          if [ "{tag}" = "latest" ]; then
-            py=3.8
-          elif [ "{tag}" = "kali" ]; then
-            py=3.8
-          elif [ "{tag}" = "jerma" ]; then
-            py=3.7
-          elif [ "{tag}" = "iruya" ]; then
-            py=3.6
-          else
-            py=2.7
-          fi
-          sudo docker run --rm \
-            -e S3_ENDPOINT_URL=https://storage.googleapis.com \
-            -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-            -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-            -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-            -e NODE_NAME=$slave \
-            -e BUILD_TAG=$BUILD_TAG \
-            -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
-            -e DEPLOY_SCENARIO=os-ovn-nofeature-noha \
-            -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
-            -e DASHBOARD_URL={dashboard_url} \
-            -e VOLUME_DEVICE_NAME=sdb \
-            -e IMAGE_PROPERTIES=hw_scsi_model:virtio-scsi,hw_disk_bus:scsi \
-            -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
-            -v /home/opnfv/functest/images:/home/opnfv/functest/images \
-            -v /home/opnfv/functest/tempest_conf.yaml:/src/functest/\
-          functest/opnfv_tests/openstack/tempest/custom_tests/\
-          tempest_conf.yaml \
-            -v /home/opnfv/functest/.boto:/root/.boto \
-            $image run_tests -t {test} -r -p
-
-- builder:
-    name: functest-ovn-remove-images
-    builders:
-      - shell: |
-          set +x
-          if [ "{repo}" = "_" ]; then
-            image={container}:{tag}
-          elif [ "{port}" = "None" ]; then
-            image={repo}/{container}:{tag}
-          else
-            image={repo}:{port}/{container}:{tag}
-          fi
-          sudo docker rmi $image || true
-
-- scm:
-    name: functest-ovn-scm
-    scm:
-      - git:
-          url: https://gerrit.opnfv.org/gerrit/functest
-          refspec: '+refs/changes/*:refs/changes/*'
-          branches:
-            - '{ref}'
-
-- job-template:
-    name: 'functest-ovn-{repo}-{container}-{tag}-pull'
-    parameters:
-      - functest-ovn-slave:
-          slave: '{slave}'
-    builders:
-      - functest-ovn-pull-containers:
-          <<: *functest-ovn-containers
-
-- project:
-    name: 'functest-ovn-opnfv-functest-healthcheck-pull'
-    <<: *functest-ovn-params
-    container: 'functest-healthcheck'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-smoke-pull'
-    <<: *functest-ovn-params
-    container: 'functest-smoke'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-smoke-cntt-pull'
-    <<: *functest-ovn-params
-    container: 'functest-smoke-cntt'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-benchmarking-pull'
-    <<: *functest-ovn-params
-    container: 'functest-benchmarking'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-benchmarking-cntt-pull'
-    <<: *functest-ovn-params
-    container: 'functest-benchmarking-cntt'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-vnf-pull'
-    <<: *functest-ovn-params
-    container: 'functest-vnf'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- job-template:
-    name: 'functest-ovn-{repo}-{container}-{tag}-rmi'
-    parameters:
-      - functest-ovn-slave:
-          slave: '{slave}'
-    builders:
-      - functest-ovn-remove-images:
-          <<: *functest-ovn-containers
-
-- project:
-    name: 'functest-ovn-opnfv-functest-healthcheck-rmi'
-    <<: *functest-ovn-params
-    container: 'functest-healthcheck'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-smoke-rmi'
-    <<: *functest-ovn-params
-    container: 'functest-smoke'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-smoke-cntt-rmi'
-    <<: *functest-ovn-params
-    container: 'functest-smoke-cntt'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-benchmarking-rmi'
-    <<: *functest-ovn-params
-    container: 'functest-benchmarking'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-benchmarking-cntt-rmi'
-    <<: *functest-ovn-params
-    container: 'functest-benchmarking-cntt'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-vnf-rmi'
-    <<: *functest-ovn-params
-    container: 'functest-vnf'
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- job-template:
-    name: 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-    parameters:
-      - functest-ovn-slave:
-          slave: '{slave}'
-      - functest-ovn-build_tag:
-          build_tag: ''
-      - functest-ovn-DEBUG:
-          DEBUG: 'true'
-      - functest-ovn-EXTERNAL_NETWORK:
-          EXTERNAL_NETWORK: public
-    builders:
-      - functest-ovn-run-containers:
-          <<: *functest-ovn-run-containers
-
-- project:
-    name: 'functest-ovn-opnfv-functest-healthcheck'
-    <<: *functest-ovn-params
-    container: 'functest-healthcheck'
-    test:
-      - connection_check
-      - tenantnetwork1
-      - tenantnetwork2
-      - vmready1
-      - vmready2
-      - singlevm1
-      - singlevm2
-      - vping_ssh
-      - vping_userdata
-      - cinder_test
-      - odl
-      - tempest_smoke
-      - tempest_horizon
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-smoke'
-    <<: *functest-ovn-params
-    container: 'functest-smoke'
-    test:
-      - tempest_neutron
-      - tempest_cinder
-      - tempest_keystone
-      - tempest_heat
-      - tempest_telemetry
-      - rally_sanity
-      - refstack_defcore
-      - refstack_compute
-      - refstack_object
-      - refstack_platform
-      - tempest_full
-      - tempest_scenario
-      - tempest_slow
-      - patrole
-      - patrole_admin
-      - patrole_member
-      - patrole_reader
-      - networking-bgpvpn
-      - networking-sfc
-      - tempest_barbican
-      - tempest_octavia
-      - tempest_cyborg
-    exclude:
-      - tag: latest
-        test: refstack_defcore
-      - tag: latest
-        test: networking-bgpvpn
-      - tag: latest
-        test: networking-sfc
-      - tag: latest
-        test: patrole
-      - tag: kali
-        test: refstack_defcore
-      - tag: kali
-        test: networking-bgpvpn
-      - tag: kali
-        test: networking-sfc
-      - tag: kali
-        test: patrole_admin
-      - tag: kali
-        test: patrole_member
-      - tag: kali
-        test: patrole_reader
-      - tag: jerma
-        test: refstack_defcore
-      - tag: jerma
-        test: networking-bgpvpn
-      - tag: jerma
-        test: networking-sfc
-      - tag: jerma
-        test: patrole_admin
-      - tag: jerma
-        test: patrole_member
-      - tag: jerma
-        test: patrole_reader
-      - tag: jerma
-        test: tempest_cyborg
-      - tag: iruya
-        test: refstack_defcore
-      - tag: iruya
-        test: patrole_admin
-      - tag: iruya
-        test: patrole_member
-      - tag: iruya
-        test: patrole_reader
-      - tag: iruya
-        test: tempest_cyborg
-      - tag: hunter
-        test: refstack_compute
-      - tag: hunter
-        test: refstack_object
-      - tag: hunter
-        test: refstack_platform
-      - tag: hunter
-        test: tempest_octavia
-      - tag: hunter
-        test: tempest_telemetry
-      - tag: hunter
-        test: patrole_admin
-      - tag: hunter
-        test: patrole_member
-      - tag: hunter
-        test: patrole_reader
-      - tag: hunter
-        test: tempest_cyborg
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-smoke-cntt'
-    <<: *functest-ovn-params
-    container: 'functest-smoke-cntt'
-    test:
-      - tempest_neutron_cntt
-      - tempest_cinder_cntt
-      - tempest_keystone_cntt
-      - tempest_heat_cntt
-      - rally_sanity_cntt
-      - tempest_full_cntt
-      - tempest_scenario_cntt
-      - tempest_slow_cntt
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-benchmarking'
-    <<: *functest-ovn-params
-    container: 'functest-benchmarking'
-    test:
-      - rally_full
-      - rally_jobs
-      - vmtp
-      - shaker
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-benchmarking-cntt'
-    <<: *functest-ovn-params
-    container: 'functest-benchmarking-cntt'
-    test:
-      - rally_full_cntt
-      - rally_jobs_cntt
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
-    name: 'functest-ovn-opnfv-functest-vnf'
-    <<: *functest-ovn-params
-    container: 'functest-vnf'
-    test:
-      - cloudify
-      - cloudify_ims
-      - heat_ims
-      - vyos_vrouter
-      - juju_epc
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- builder:
-    name: functest-ovn-zip
-    builders:
-      - shell: |
-          set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
-          if [ "{repo}" = "_" ]; then
-            image={container}:{tag}
-          elif [ "{port}" = "None" ]; then
-            image={repo}/{container}:{tag}
-          else
-            image={repo}:{port}/{container}:{tag}
-          fi
-          sudo docker run --rm \
-            -e S3_ENDPOINT_URL=https://storage.googleapis.com \
-            -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
-            -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
-            -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-            -e BUILD_TAG=$BUILD_TAG \
-            -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -v /home/opnfv/functest/.boto:/root/.boto \
-            $image zip_campaign
-
-- job-template:
-    name: 'functest-ovn-{tag}-zip'
-    parameters:
-      - functest-ovn-build_tag:
-          build_tag: ''
-    builders:
-      - functest-ovn-zip:
-          <<: *functest-ovn-containers
-
-- project:
-    name: 'functest-ovn-{tag}-zip'
-    <<: *functest-ovn-params
-    container: 'functest-healthcheck'
-    jobs:
-      - 'functest-ovn-{tag}-zip'
-
-- job-template:
-    name: 'functest-ovn-{tag}-daily'
-    project-type: multijob
-    triggers:
-      - timed: '@daily'
-    parameters:
-      - functest-ovn-slave:
-          slave: '{slave}'
-      - functest-ovn-build_tag:
-          build_tag: ''
-      - functest-ovn-DEBUG:
-          DEBUG: 'true'
-      - functest-ovn-EXTERNAL_NETWORK:
-          EXTERNAL_NETWORK: public
-    properties:
-      - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
-          blocking-jobs:
-            - '^functest-ovn-{tag}-(daily|check|gate)$'
-    builders:
-      - multijob:
-          name: remove former images
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: pull containers
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-pull'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-pull'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-pull'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-pull'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-pull'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-pull'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-healthcheck:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-smoke:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-smoke-cntt:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-benchmarking:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-benchmarking-cntt:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-vnf:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: dump all campaign data
-          projects:
-            - name: 'functest-ovn-{tag}-zip'
-              <<: *functest-ovn-jobs
-
-- job-template:
-    name: 'functest-ovn-{repo}-{container}-{tag}-gate'
-    parameters:
-      - functest-ovn-slave:
-          slave: '{slave}'
-    scm:
-      - functest-ovn-scm:
-          ref: $GERRIT_REFSPEC
-    builders:
-      - functest-ovn-build-containers:
-          <<: *functest-ovn-build-containers
-          ref: $GERRIT_REFSPEC
-
-- job-template:
-    name: 'functest-ovn-{repo}-{container}-{tag}-check'
-    parameters:
-      - functest-ovn-slave:
-          slave: '{slave}'
-      - functest-ovn-branch:
-          branch: '{branch}'
-    scm:
-      - functest-ovn-scm:
-          ref: $branch
-    builders:
-      - functest-ovn-build-containers:
-          <<: *functest-ovn-build-containers
-          ref: $branch
-
-- project:
-    name: 'functest-ovn-_-alpine-3.12-rmi'
-    repo: _
-    port:
-    container: alpine
-    tag: '3.12'
-    slave: master
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'functest-ovn-_-alpine-3.12-pull'
-    repo: _
-    port:
-    container: alpine
-    tag: '3.12'
-    slave: master
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
-    name: functest-ovn-opnfv-functest-core-{tag}-build
-    <<: *functest-ovn-params
-    container: functest-core
-    ref_arg: BRANCH
-    path: docker/core
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-gate'
-      - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
-    name: functest-ovn-opnfv-functest-tempest-{tag}-build
-    <<: *functest-ovn-params
-    container: functest-tempest
-    ref_arg: BRANCH
-    path: docker/tempest
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-gate'
-      - 'functest-ovn-{repo}-{container}-{tag}-check'
-    exclude:
-      - tag: latest
-      - tag: kali
-      - tag: jerma
-
-- project:
-    name: functest-ovn-opnfv-functest-healthcheck-{tag}-build
-    <<: *functest-ovn-params
-    container: functest-healthcheck
-    ref_arg: BRANCH
-    path: docker/healthcheck
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-gate'
-      - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
-    name: functest-ovn-opnfv-functest-smoke-{tag}-build
-    <<: *functest-ovn-params
-    container: functest-smoke
-    ref_arg: BRANCH
-    path: docker/smoke
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-gate'
-      - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
-    name: functest-ovn-opnfv-functest-smoke-cntt-{tag}-build
-    <<: *functest-ovn-params
-    container: functest-smoke-cntt
-    ref_arg: BRANCH
-    path: docker/smoke-cntt
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-gate'
-      - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
-    name: functest-ovn-opnfv-functest-benchmarking-{tag}-build
-    <<: *functest-ovn-params
-    container: functest-benchmarking
-    ref_arg: BRANCH
-    path: docker/benchmarking
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-gate'
-      - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
-    name: functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-build
-    <<: *functest-ovn-params
-    container: functest-benchmarking-cntt
-    ref_arg: BRANCH
-    path: docker/benchmarking-cntt
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-gate'
-      - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
-    name: functest-ovn-opnfv-functest-vnf-{tag}-build
-    <<: *functest-ovn-params
-    container: functest-vnf
-    ref_arg:
-    path: docker/vnf
-    jobs:
-      - 'functest-ovn-{repo}-{container}-{tag}-gate'
-      - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- job-template:
-    name: 'functest-ovn-{tag}-check'
-    project-type: multijob
-    parameters:
-      - functest-ovn-slave:
-          slave: '{slave}'
-      - functest-ovn-build_tag:
-          build_tag: ''
-      - functest-ovn-branch:
-          branch: '{branch}'
-      - functest-ovn-DEBUG:
-          DEBUG: 'true'
-      - functest-ovn-EXTERNAL_NETWORK:
-          EXTERNAL_NETWORK: public
-    properties:
-      - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
-          blocking-jobs:
-            - '^functest-ovn-{tag}-(daily|check|gate)$'
-    builders:
-      - multijob:
-          name: remove former images
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: remove dependencies
-          projects:
-            - name: 'functest-ovn-_-alpine-3.12-rmi'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: pull dependencies
-          projects:
-            - name: 'functest-ovn-_-alpine-3.12-pull'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: build opnfv/functest-core
-          projects:
-            - name: 'functest-ovn-opnfv-functest-core-{tag}-check'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: build opnfv/functest-tempest
-          projects:
-            - name: 'functest-ovn-opnfv-functest-tempest-{tag}-check'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: build containers
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-check'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-check'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-check'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-check'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: build cntt containers
-          projects:
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-check'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-check'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-healthcheck:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-smoke:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-smoke-cntt:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-benchmarking:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-benchmarking-cntt:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-vnf:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
-              <<: *functest-ovn-jobs
-
-- trigger:
-    name: functest-ovn-patchset-created
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'functest'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: false
-            failed: false
-            unstable: false
-            notbuilt: false
-
-- job-template:
-    name: 'functest-ovn-{tag}-gate'
-    disabled: true
-    project-type: multijob
-    triggers:
-      - functest-ovn-patchset-created:
-          branch: '{branch}'
-    parameters:
-      - functest-ovn-slave:
-          slave: '{slave}'
-      - functest-ovn-build_tag:
-          build_tag: ''
-      - functest-ovn-DEBUG:
-          DEBUG: 'true'
-      - functest-ovn-EXTERNAL_NETWORK:
-          EXTERNAL_NETWORK: public
-    properties:
-      - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
-          blocking-jobs:
-            - '^functest-ovn-{tag}-(daily|check|gate)$'
-    builders:
-      - multijob:
-          name: remove former images
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: remove dependencies
-          projects:
-            - name: 'functest-ovn-_-alpine-3.12-rmi'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: pull dependencies
-          projects:
-            - name: 'functest-ovn-_-alpine-3.12-pull'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: build opnfv/functest-core
-          projects:
-            - name: 'functest-ovn-opnfv-functest-core-{tag}-gate'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: build opnfv/functest-tempest
-          projects:
-            - name: 'functest-ovn-opnfv-functest-tempest-{tag}-gate'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: build containers
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-gate'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-gate'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-gate'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-gate'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: build cntt containers
-          projects:
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-gate'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-gate'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-healthcheck:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-smoke:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-smoke-cntt:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-benchmarking:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-benchmarking-cntt:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
-              <<: *functest-ovn-jobs
-      - multijob:
-          name: opnfv/functest-vnf:{tag}
-          projects:
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
-              <<: *functest-ovn-jobs
-            - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
-              <<: *functest-ovn-jobs
-
-- project:
-    name: 'functest-ovn'
-    <<: *functest-ovn-params
-    jobs:
-      - 'functest-ovn-{tag}-daily'
-      - 'functest-ovn-{tag}-check'
-      - 'functest-ovn-{tag}-gate'
index 59a5a12..0c16041 100644 (file)
@@ -1,7 +1,10 @@
 ---
-- functest-jobs: &functest-jobs
-    name: 'functest-jobs'
-    current-parameters: true
+- functest-containers: &functest-containers
+    name: 'functest-containers'
+    repo: '{repo}'
+    port: '{port}'
+    container: '{container}'
+    tag: '{tag}'
 
 - functest-params: &functest-params
     name: 'functest-params'
     port:
     tag:
       - latest:
+          from:
+          buildargs:
           branch: master
           slave: lf-virtual9
-          dashboard_url: http://172.30.13.94
+          DASHBOARD_URL: http://172.30.13.94
+          dependency: 3.13
       - leguer:
+          from:
+          buildargs:
           branch: stable/leguer
           slave: lf-virtual9
-          dashboard_url: http://172.30.13.94
+          DASHBOARD_URL: http://172.30.13.94
+          dependency: 3.12
       - kali:
+          from:
+          buildargs:
           branch: stable/kali
           slave: lf-pod4-3
-          dashboard_url: http://172.30.12.88
+          DASHBOARD_URL: http://172.30.12.88
+          dependency: 3.11
       - jerma:
+          from:
+          buildargs:
           branch: stable/jerma
           slave: lf-pod4
-          dashboard_url: http://172.30.12.83
+          DASHBOARD_URL: http://172.30.12.83
+          dependency: 3.10
       - iruya:
+          from:
+          buildargs:
           branch: stable/iruya
           slave: lf-virtual4
-          dashboard_url: http://172.30.13.89
+          DASHBOARD_URL: http://172.30.13.89
+          dependency: 3.9
       - hunter:
+          from:
+          buildargs:
           branch: stable/hunter
           slave: lf-virtual6
-          dashboard_url: http://172.30.13.91
+          DASHBOARD_URL: http://172.30.13.91
+          dependency: 3.9
+
+- functest-jobs: &functest-jobs
+    name: 'functest-jobs'
+    current-parameters: true
 
 - parameter:
     name: functest-slave
       - random-string:
           name: build_tag
 
-- parameter:
-    name: functest-branch
-    parameters:
-      - string:
-          name: branch
-          default: '{branch}'
-
-- parameter:
-    name: functest-DEBUG
-    parameters:
-      - string:
-          name: DEBUG
-          default: 'true'
-
 - parameter:
     name: functest-EXTERNAL_NETWORK
     parameters:
       - string:
           name: EXTERNAL_NETWORK
           default: public
-
 - parameter:
     name: functest-VOLUME_DEVICE_NAME
     parameters:
       - string:
           name: VOLUME_DEVICE_NAME
           default: sdb
-
 - parameter:
     name: functest-IMAGE_PROPERTIES
     parameters:
           name: IMAGE_PROPERTIES
           default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
 
-- functest-containers: &functest-containers
-    name: 'functest-containers'
-    repo: '{repo}'
-    port: '{port}'
-    container: '{container}'
-    tag: '{tag}'
-
 - functest-run-containers: &functest-run-containers
     name: 'functest-run-containers'
     <<: *functest-containers
     test: '{test}'
-    dashboard_url: '{dashboard_url}'
     privileged: '{privileged}'
     network: '{network}'
+    DASHBOARD_URL: '{DASHBOARD_URL}'
 
 - builder:
     name: functest-pull-containers
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+            -v /home/opnfv/functest/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
-            -e DASHBOARD_URL={dashboard_url} \
             -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
             -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
-            -v /home/opnfv/functest/.boto:/root/.boto \
+            -e DASHBOARD_URL={DASHBOARD_URL} \
             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
-            $image run_tests -t {test} -r -p
+            $image run_tests -t {test} -p -r
 
 - builder:
     name: functest-remove-images
           fi
           sudo docker rmi $image || true
 
-- functest-build-containers: &functest-build-containers
-    name: 'functest-build-containers'
-    <<: *functest-containers
-    ref_arg: '{ref_arg}'
-    path: '{path}'
-
-- builder:
-    name: functest-build-containers
-    builders:
-      - shell: |
-          set +x
-          if [ "{repo}" = "_" ]; then
-            image={container}:{tag}
-          elif [ "{port}" = "None" ]; then
-            image={repo}/{container}:{tag}
-          else
-            image={repo}:{port}/{container}:{tag}
-          fi
-          if [ "{ref_arg}" = "None" ]; then
-            build_arg=""
-          else
-            build_arg="--build-arg {ref_arg}={ref}"
-          fi
-          cd {path}
-          sudo docker build $build_arg \
-            --pull=false --no-cache --force-rm=true \
-            -t $image .
-
-- scm:
-    name: functest-scm
-    scm:
-      - git:
-          url: https://gerrit.opnfv.org/gerrit/functest
-          refspec: '+refs/changes/*:refs/changes/*'
-          branches:
-            - '{ref}'
-
 - job-template:
     name: 'functest-{repo}-{container}-{tag}-pull'
     parameters:
           slave: '{slave}'
       - functest-build_tag:
           build_tag: ''
-      - functest-DEBUG:
-          DEBUG: 'true'
       - functest-EXTERNAL_NETWORK:
           EXTERNAL_NETWORK: public
       - functest-VOLUME_DEVICE_NAME:
       - tempest_barbican
       - tempest_octavia
       - tempest_cyborg
-    exclude:
-      - tag: latest
-        test: refstack_defcore
-      - tag: latest
-        test: networking-bgpvpn
-      - tag: latest
-        test: networking-sfc
-      - tag: latest
-        test: patrole
-      - tag: leguer
-        test: refstack_defcore
-      - tag: leguer
-        test: networking-bgpvpn
-      - tag: leguer
-        test: networking-sfc
-      - tag: leguer
-        test: patrole
-      - tag: kali
-        test: refstack_defcore
-      - tag: kali
-        test: networking-bgpvpn
-      - tag: kali
-        test: networking-sfc
-      - tag: kali
-        test: patrole_admin
-      - tag: kali
-        test: patrole_member
-      - tag: kali
-        test: patrole_reader
-      - tag: jerma
-        test: refstack_defcore
-      - tag: jerma
-        test: networking-bgpvpn
-      - tag: jerma
-        test: networking-sfc
-      - tag: jerma
-        test: patrole_admin
-      - tag: jerma
-        test: patrole_member
-      - tag: jerma
-        test: patrole_reader
-      - tag: jerma
-        test: tempest_cyborg
-      - tag: iruya
-        test: refstack_defcore
-      - tag: iruya
-        test: patrole_admin
-      - tag: iruya
-        test: patrole_member
-      - tag: iruya
-        test: patrole_reader
-      - tag: iruya
-        test: tempest_cyborg
-      - tag: hunter
-        test: refstack_compute
-      - tag: hunter
-        test: refstack_object
-      - tag: hunter
-        test: refstack_platform
-      - tag: hunter
-        test: tempest_octavia
-      - tag: hunter
-        test: tempest_telemetry
-      - tag: hunter
-        test: patrole_admin
-      - tag: hunter
-        test: patrole_member
-      - tag: hunter
-        test: patrole_reader
-      - tag: hunter
-        test: tempest_cyborg
     privileged: 'false'
     network: bridge
+    exclude:
+      - {'tag': 'latest', 'test': 'refstack_defcore'}
+      - {'tag': 'latest', 'test': 'networking-bgpvpn'}
+      - {'tag': 'latest', 'test': 'networking-sfc'}
+      - {'tag': 'latest', 'test': 'patrole'}
+      - {'tag': 'leguer', 'test': 'refstack_defcore'}
+      - {'tag': 'leguer', 'test': 'networking-bgpvpn'}
+      - {'tag': 'leguer', 'test': 'networking-sfc'}
+      - {'tag': 'leguer', 'test': 'patrole'}
+      - {'tag': 'kali', 'test': 'refstack_defcore'}
+      - {'tag': 'kali', 'test': 'networking-bgpvpn'}
+      - {'tag': 'kali', 'test': 'networking-sfc'}
+      - {'tag': 'kali', 'test': 'patrole_admin'}
+      - {'tag': 'kali', 'test': 'patrole_member'}
+      - {'tag': 'kali', 'test': 'patrole_reader'}
+      - {'tag': 'jerma', 'test': 'refstack_defcore'}
+      - {'tag': 'jerma', 'test': 'networking-bgpvpn'}
+      - {'tag': 'jerma', 'test': 'networking-sfc'}
+      - {'tag': 'jerma', 'test': 'patrole_admin'}
+      - {'tag': 'jerma', 'test': 'patrole_member'}
+      - {'tag': 'jerma', 'test': 'patrole_reader'}
+      - {'tag': 'jerma', 'test': 'tempest_cyborg'}
+      - {'tag': 'iruya', 'test': 'refstack_defcore'}
+      - {'tag': 'iruya', 'test': 'patrole_admin'}
+      - {'tag': 'iruya', 'test': 'patrole_member'}
+      - {'tag': 'iruya', 'test': 'patrole_reader'}
+      - {'tag': 'iruya', 'test': 'tempest_cyborg'}
+      - {'tag': 'hunter', 'test': 'refstack_compute'}
+      - {'tag': 'hunter', 'test': 'refstack_object'}
+      - {'tag': 'hunter', 'test': 'refstack_platform'}
+      - {'tag': 'hunter', 'test': 'tempest_octavia'}
+      - {'tag': 'hunter', 'test': 'tempest_telemetry'}
+      - {'tag': 'hunter', 'test': 'patrole_admin'}
+      - {'tag': 'hunter', 'test': 'patrole_member'}
+      - {'tag': 'hunter', 'test': 'patrole_reader'}
+      - {'tag': 'hunter', 'test': 'tempest_cyborg'}
     jobs:
       - 'functest-{repo}-{container}-{tag}-{test}-run'
 
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
+            -v /home/opnfv/functest/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
             -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
             -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
-            -v /home/opnfv/functest/.boto:/root/.boto \
             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
             $image zip_campaign
           slave: '{slave}'
       - functest-build_tag:
           build_tag: ''
-      - functest-DEBUG:
-          DEBUG: 'true'
       - functest-EXTERNAL_NETWORK:
           EXTERNAL_NETWORK: public
       - functest-VOLUME_DEVICE_NAME:
           slave: '{slave}'
       - functest-build_tag:
           build_tag: ''
-      - functest-DEBUG:
-          DEBUG: 'true'
       - functest-EXTERNAL_NETWORK:
           EXTERNAL_NETWORK: public
       - functest-VOLUME_DEVICE_NAME:
           use-build-blocker: true
           blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+            - '^functest-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
             - name: 'functest-{tag}-zip'
               <<: *functest-jobs
 
+- project:
+    name: 'functest-daily'
+    <<: *functest-params
+    jobs:
+      - 'functest-{tag}-daily'
+
+- view:
+    name: functest
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^functest-[a-z0-9.]+-daily$
+
+- functest-build-containers: &functest-build-containers
+    name: 'functest-build-containers'
+    <<: *functest-containers
+    ref_arg: '{ref_arg}'
+    path: '{path}'
+    buildargs: '{buildargs}'
+    from: '{from}'
+
+- builder:
+    name: functest-build-containers
+    builders:
+      - shell: |
+          set +x
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          build_args=""
+          if [ "{buildargs}" != "None" ]; then
+            build_args="{buildargs}"
+          fi
+          if [ "{ref_arg}" != "None" ]; then
+            build_args="$build_args --build-arg {ref_arg}={ref}"
+          fi
+          cd {path}
+          if [ "{from}" != "None" ]; then
+              sed -i {from} Dockerfile
+          fi
+          sudo docker build $build_args \
+            --pull=false --no-cache --force-rm=true \
+            -t $image .
+
+- scm:
+    name: functest-scm
+    scm:
+      - git:
+          url: 'https://gerrit.opnfv.org/gerrit/functest'
+          refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+          branches:
+            - '{ref}'
+
+- functest-dep: &functest-dep
+    name: 'functest-containers'
+    repo: '{repo}'
+    port: '{port}'
+    tag: '{tag}'
+    dependency: '{dependency}'
+
+- builder:
+    name: functest-pull-dep-images
+    builders:
+      - shell: |
+          set +x
+          if [ "_" = "_" ]; then
+            image=alpine:{dependency}
+          elif [ "_" = "None" ]; then
+            image=_/alpine:{dependency}
+          else
+            image=_:/alpine{dependency}
+          fi
+          sudo docker pull $image || true
+
+- builder:
+    name: functest-remove-dep-images
+    builders:
+      - shell: |
+          set +x
+          if [ "_" = "_" ]; then
+            image=alpine:{dependency}
+          elif [ "_" = "None" ]; then
+            image=_/alpine:{dependency}
+          else
+            image=_:/alpine{dependency}
+          fi
+          sudo docker rmi $image || true
+
 - job-template:
-    name: 'functest-{repo}-{container}-{tag}-gate'
+    name: 'functest-{repo}-{tag}-dep-pull'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
+    builders:
+      - functest-pull-dep-images:
+          <<: *functest-dep
+
+- project:
+    name: 'functest-{repo}-{tag}-dep-pull'
+    <<: *functest-params
+    jobs:
+      - 'functest-{repo}-{tag}-dep-pull'
+
+- job-template:
+    name: 'functest-{repo}-{tag}-dep-rmi'
     parameters:
       - functest-slave:
           slave: '{slave}'
+    builders:
+      - functest-remove-dep-images:
+          <<: *functest-dep
+
+- project:
+    name: 'functest-{repo}-{tag}-dep-rmi'
+    <<: *functest-params
+    jobs:
+      - 'functest-{repo}-{tag}-dep-rmi'
+
+- builder:
+    name: functest-tox
+    builders:
+      - shell: |
+          set +x
+          sudo apt-get update && sudo apt-get install software-properties-common gpg -y
+          sudo add-apt-repository -y ppa:deadsnakes/ppa
+          sudo apt-get update && sudo apt-get install python3.8 python3.8-dev \
+            python3.8-distutils \
+            python3.7 python3.7-dev python3.6 python3.6-dev \
+            python python-dev python3-pip enchant -y
+          sudo pip3 install tox tox-pip-version
+          tox
+
+- job-template:
+    name: 'functest-{tag}-tox'
     scm:
       - functest-scm:
           ref: $GERRIT_REFSPEC
+    triggers:
+      - functest-patchset-created:
+          branch: '{branch}'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
     builders:
-      - functest-build-containers:
-          <<: *functest-build-containers
-          ref: $GERRIT_REFSPEC
+      - functest-tox:
+
+- project:
+    name: functest-tox
+    <<: *functest-params
+    jobs:
+      - 'functest-{tag}-tox'
 
 - job-template:
-    name: 'functest-{repo}-{container}-{tag}-check'
+    name: 'functest-{repo}-{container}-{tag}-gate'
     parameters:
       - functest-slave:
           slave: '{slave}'
-      - functest-branch:
-          branch: '{branch}'
     scm:
       - functest-scm:
-          ref: $branch
+          ref: $GERRIT_REFSPEC
     builders:
       - functest-build-containers:
           <<: *functest-build-containers
-          ref: $branch
-
-- project:
-    name: 'functest-_-alpine-3.12-rmi'
-    repo: _
-    port:
-    container: alpine
-    tag: '3.12'
-    slave: master
-    jobs:
-      - 'functest-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'functest-_-alpine-3.12-pull'
-    repo: _
-    port:
-    container: alpine
-    tag: '3.12'
-    slave: master
-    jobs:
-      - 'functest-{repo}-{container}-{tag}-pull'
+          ref: $GERRIT_REFSPEC
+          buildargs: '{buildargs}'
 
 - project:
-    name: functest-opnfv-functest-core-{tag}-build
+    name: functest-opnfv-functest-core-{tag}-gate
     <<: *functest-params
     container: functest-core
     ref_arg: BRANCH
     path: docker/core
     jobs:
       - 'functest-{repo}-{container}-{tag}-gate'
-      - 'functest-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-opnfv-functest-tempest-{tag}-build
+    name: functest-opnfv-functest-tempest-{tag}-gate
     <<: *functest-params
     container: functest-tempest
     ref_arg: BRANCH
     path: docker/tempest
+    exclude:
+      - {'tag': 'latest'}
+      - {'tag': 'leguer'}
+      - {'tag': 'kali'}
+      - {'tag': 'jerma'}
     jobs:
       - 'functest-{repo}-{container}-{tag}-gate'
-      - 'functest-{repo}-{container}-{tag}-check'
-    exclude:
-      - tag: latest
-      - tag: leguer
-      - tag: kali
-      - tag: jerma
 
 - project:
-    name: functest-opnfv-functest-healthcheck-{tag}-build
+    name: functest-opnfv-functest-healthcheck-{tag}-gate
     <<: *functest-params
     container: functest-healthcheck
     ref_arg: BRANCH
     path: docker/healthcheck
     jobs:
       - 'functest-{repo}-{container}-{tag}-gate'
-      - 'functest-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-opnfv-functest-smoke-{tag}-build
+    name: functest-opnfv-functest-smoke-{tag}-gate
     <<: *functest-params
     container: functest-smoke
     ref_arg: BRANCH
     path: docker/smoke
     jobs:
       - 'functest-{repo}-{container}-{tag}-gate'
-      - 'functest-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-opnfv-functest-benchmarking-{tag}-build
+    name: functest-opnfv-functest-benchmarking-{tag}-gate
     <<: *functest-params
     container: functest-benchmarking
     ref_arg: BRANCH
     path: docker/benchmarking
     jobs:
       - 'functest-{repo}-{container}-{tag}-gate'
-      - 'functest-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
-    <<: *functest-params
-    container: functest-benchmarking-cntt
-    ref_arg: BRANCH
-    path: docker/benchmarking-cntt
-    jobs:
-      - 'functest-{repo}-{container}-{tag}-gate'
-      - 'functest-{repo}-{container}-{tag}-check'
-
-- project:
-    name: functest-opnfv-functest-vnf-{tag}-build
+    name: functest-opnfv-functest-vnf-{tag}-gate
     <<: *functest-params
     container: functest-vnf
     ref_arg:
     path: docker/vnf
     jobs:
       - 'functest-{repo}-{container}-{tag}-gate'
-      - 'functest-{repo}-{container}-{tag}-check'
 
 - project:
-    name: functest-opnfv-functest-smoke-cntt-{tag}-build
+    name: functest-opnfv-functest-smoke-cntt-{tag}-gate
     <<: *functest-params
     container: functest-smoke-cntt
     ref_arg: BRANCH
     path: docker/smoke-cntt
     jobs:
       - 'functest-{repo}-{container}-{tag}-gate'
-      - 'functest-{repo}-{container}-{tag}-check'
+
+- project:
+    name: functest-opnfv-functest-benchmarking-cntt-{tag}-gate
+    <<: *functest-params
+    container: functest-benchmarking-cntt
+    ref_arg: BRANCH
+    path: docker/benchmarking-cntt
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-gate'
+
+
+- trigger:
+    name: functest-patchset-created
+    triggers:
+      - gerrit:
+          trigger-on:
+            - patchset-created-event
+            - comment-added-contains-event:
+                comment-contains-value: 'recheck'
+            - comment-added-contains-event:
+                comment-contains-value: 'reverify'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: 'functest'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
 
 - job-template:
-    name: 'functest-{tag}-check'
+    name: 'functest-{tag}-review'
     project-type: multijob
+    triggers:
+      - functest-patchset-created:
+          branch: '{branch}'
     parameters:
       - functest-slave:
           slave: '{slave}'
       - functest-build_tag:
           build_tag: ''
-      - functest-branch:
-          branch: '{branch}'
-      - functest-DEBUG:
-          DEBUG: 'true'
       - functest-EXTERNAL_NETWORK:
           EXTERNAL_NETWORK: public
       - functest-VOLUME_DEVICE_NAME:
           use-build-blocker: true
           blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+            - '^functest-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
               <<: *functest-jobs
       - multijob:
-          name: remove dependencies
+          name: remove dependency
           projects:
-            - name: 'functest-_-alpine-3.12-rmi'
+            - name: 'functest-{repo}-{tag}-dep-rmi'
               <<: *functest-jobs
       - multijob:
-          name: pull dependencies
+          name: pull dependency
           projects:
-            - name: 'functest-_-alpine-3.12-pull'
+            - name: 'functest-{repo}-{tag}-dep-pull'
               <<: *functest-jobs
       - multijob:
           name: build opnfv/functest-core
           projects:
-            - name: 'functest-opnfv-functest-core-{tag}-check'
+            - name: 'functest-opnfv-functest-core-{tag}-gate'
               <<: *functest-jobs
       - multijob:
           name: build opnfv/functest-tempest
           projects:
-            - name: 'functest-opnfv-functest-tempest-{tag}-check'
+            - name: 'functest-opnfv-functest-tempest-{tag}-gate'
               <<: *functest-jobs
       - multijob:
           name: build containers
           projects:
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
+            - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
               <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-check'
+            - name: 'functest-opnfv-functest-smoke-{tag}-gate'
               <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
+            - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
               <<: *functest-jobs
-            - name: 'functest-opnfv-functest-vnf-{tag}-check'
+            - name: 'functest-opnfv-functest-vnf-{tag}-gate'
               <<: *functest-jobs
       - multijob:
           name: build cntt containers
           projects:
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
+            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
               <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-check'
+            - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
               <<: *functest-jobs
       - multijob:
           name: opnfv/functest-healthcheck:{tag}
             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
               <<: *functest-jobs
 
-- trigger:
-    name: functest-patchset-created
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'functest'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: false
-            failed: false
-            unstable: false
-            notbuilt: false
+- project:
+    name: 'functest-review'
+    <<: *functest-params
+    jobs:
+      - 'functest-{tag}-review'
+
+- view:
+    name: functest-review
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^functest-[a-z0-9.]+-review$
+
+- view:
+    name: functest-tox
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^functest-[a-z0-9.]+-tox$
+
+- builder:
+    name: functest-push-containers
+    builders:
+      - shell: |
+          set +x
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          sudo docker push $image
+
+- trigger:
+    name: functest-commit
+    triggers:
+      - pollscm:
+          cron: "*/30 * * * *"
+
+- job-template:
+    name: 'functest-{repo}-{container}-{tag}-build'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
+    scm:
+      - functest-scm:
+          ref: '{branch}'
+    builders:
+      - functest-build-containers:
+          <<: *functest-build-containers
+          ref: '{branch}'
+          buildargs: '{buildargs}'
+      - functest-push-containers:
+          <<: *functest-build-containers
+          ref: '{branch}'
+
+- project:
+    name: functest-opnfv-functest-core-{tag}-build
+    <<: *functest-params
+    container: functest-core
+    ref_arg: BRANCH
+    path: docker/core
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-opnfv-functest-tempest-{tag}-build
+    <<: *functest-params
+    container: functest-tempest
+    ref_arg: BRANCH
+    path: docker/tempest
+    exclude:
+      - {'tag': 'latest'}
+      - {'tag': 'leguer'}
+      - {'tag': 'kali'}
+      - {'tag': 'jerma'}
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-opnfv-functest-healthcheck-{tag}-build
+    <<: *functest-params
+    container: functest-healthcheck
+    ref_arg: BRANCH
+    path: docker/healthcheck
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-opnfv-functest-smoke-{tag}-build
+    <<: *functest-params
+    container: functest-smoke
+    ref_arg: BRANCH
+    path: docker/smoke
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-opnfv-functest-benchmarking-{tag}-build
+    <<: *functest-params
+    container: functest-benchmarking
+    ref_arg: BRANCH
+    path: docker/benchmarking
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-opnfv-functest-vnf-{tag}-build
+    <<: *functest-params
+    container: functest-vnf
+    ref_arg:
+    path: docker/vnf
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-opnfv-functest-smoke-cntt-{tag}-build
+    <<: *functest-params
+    container: functest-smoke-cntt
+    ref_arg: BRANCH
+    path: docker/smoke-cntt
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+    name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
+    <<: *functest-params
+    container: functest-benchmarking-cntt
+    ref_arg: BRANCH
+    path: docker/benchmarking-cntt
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-build'
+
 
 - job-template:
-    name: 'functest-{tag}-gate'
+    name: 'functest-{tag}-docker'
     project-type: multijob
     triggers:
-      - functest-patchset-created:
-          branch: '{branch}'
+      - functest-commit
+    scm:
+      - functest-scm:
+          ref: '{branch}'
     parameters:
       - functest-slave:
           slave: '{slave}'
-      - functest-build_tag:
-          build_tag: ''
-      - functest-DEBUG:
-          DEBUG: 'true'
-      - functest-EXTERNAL_NETWORK:
-          EXTERNAL_NETWORK: public
-      - functest-VOLUME_DEVICE_NAME:
-          VOLUME_DEVICE_NAME: sdb
-      - functest-IMAGE_PROPERTIES:
-          IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
     properties:
       - build-blocker:
           use-build-blocker: true
           blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+            - '^functest-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
-          name: remove former images
+          name: remove dependency
           projects:
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
-              <<: *functest-jobs
-      - multijob:
-          name: remove dependencies
-          projects:
-            - name: 'functest-_-alpine-3.12-rmi'
+            - name: 'functest-{repo}-{tag}-dep-rmi'
               <<: *functest-jobs
       - multijob:
-          name: pull dependencies
+          name: pull dependency
           projects:
-            - name: 'functest-_-alpine-3.12-pull'
+            - name: 'functest-{repo}-{tag}-dep-pull'
               <<: *functest-jobs
       - multijob:
           name: build opnfv/functest-core
           projects:
-            - name: 'functest-opnfv-functest-core-{tag}-gate'
+            - name: 'functest-opnfv-functest-core-{tag}-build'
               <<: *functest-jobs
       - multijob:
           name: build opnfv/functest-tempest
           projects:
-            - name: 'functest-opnfv-functest-tempest-{tag}-gate'
+            - name: 'functest-opnfv-functest-tempest-{tag}-build'
               <<: *functest-jobs
       - multijob:
           name: build containers
           projects:
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
+            - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
               <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-gate'
+            - name: 'functest-opnfv-functest-smoke-{tag}-build'
               <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
+            - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
               <<: *functest-jobs
-            - name: 'functest-opnfv-functest-vnf-{tag}-gate'
+            - name: 'functest-opnfv-functest-vnf-{tag}-build'
               <<: *functest-jobs
       - multijob:
           name: build cntt containers
           projects:
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
+            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
               <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
-              <<: *functest-jobs
-      - multijob:
-          name: opnfv/functest-healthcheck:{tag}
-          projects:
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
-              <<: *functest-jobs
-      - multijob:
-          name: opnfv/functest-smoke:{tag}
-          projects:
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
-              <<: *functest-jobs
-      - multijob:
-          name: opnfv/functest-smoke-cntt:{tag}
-          projects:
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
-              <<: *functest-jobs
-      - multijob:
-          name: opnfv/functest-benchmarking:{tag}
-          projects:
-            - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
-              <<: *functest-jobs
-      - multijob:
-          name: opnfv/functest-benchmarking-cntt:{tag}
-          projects:
-            - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
-              <<: *functest-jobs
-      - multijob:
-          name: opnfv/functest-vnf:{tag}
-          projects:
-            - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
-              <<: *functest-jobs
-            - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
+            - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
               <<: *functest-jobs
 
+- builder:
+    name: functest-trivy
+    builders:
+      - shell: |
+          sudo apt-get update && sudo apt-get install curl -y
+          curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          ./trivy --exit-code 1 $image
+
+- job-template:
+    name: 'functest-{repo}-{container}-{tag}-trivy'
+    triggers:
+      - timed: '@weekly'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
+    builders:
+      - functest-trivy:
+          <<: *functest-containers
+
 - project:
-    name: 'functest'
+    name: 'functest-opnfv-functest-core-trivy'
     <<: *functest-params
+    container: 'functest-core'
     jobs:
-      - 'functest-{tag}-daily'
+      - 'functest-{repo}-{container}-{tag}-trivy'
 
 - project:
-    name: 'functest-gate'
+    name: 'functest-opnfv-functest-tempest-trivy'
     <<: *functest-params
+    container: 'functest-tempest'
     jobs:
-      - 'functest-{tag}-check'
-      - 'functest-{tag}-gate'
+      - 'functest-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-opnfv-functest-healthcheck-trivy'
+    <<: *functest-params
+    container: 'functest-healthcheck'
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-opnfv-functest-smoke-trivy'
+    <<: *functest-params
+    container: 'functest-smoke'
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-opnfv-functest-benchmarking-trivy'
+    <<: *functest-params
+    container: 'functest-benchmarking'
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-opnfv-functest-vnf-trivy'
+    <<: *functest-params
+    container: 'functest-vnf'
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-opnfv-functest-smoke-cntt-trivy'
+    <<: *functest-params
+    container: 'functest-smoke-cntt'
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
+    <<: *functest-params
+    container: 'functest-benchmarking-cntt'
+    jobs:
+      - 'functest-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'functest'
+    <<: *functest-params
+    jobs:
+      - 'functest-{tag}-docker'
 
 - view:
-    name: functest
+    name: functest-docker
     view-type: list
     columns:
       - status
       - last-success
       - last-failure
       - last-duration
-    regex: ^functest(-ovn)?-(amd64-)*[a-z]+-daily$
+    regex: ^functest-[a-z0-9.]+-docker$
 
 - view:
-    name: functest-gate
+    name: functest-trivy
     view-type: list
     columns:
       - status
       - last-success
       - last-failure
       - last-duration
-    regex: ^functest(-ovn)?-(amd64-)*[a-z]+-gate$
+    regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
diff --git a/jjb/functest/xtesting-docker.yaml b/jjb/functest/xtesting-docker.yaml
deleted file mode 100644 (file)
index a2dec35..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
-    name: xtesting-docker
-
-    project: functest-xtesting
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - leguer:
-          branch: 'stable/{stream}'
-          disabled: false
-      - kali:
-          branch: 'stable/{stream}'
-          disabled: false
-      - jerma:
-          branch: 'stable/{stream}'
-          disabled: false
-      - iruya:
-          branch: 'stable/{stream}'
-          disabled: false
-      - hunter:
-          branch: 'stable/{stream}'
-          disabled: false
-
-    arch_tag:
-      - 'amd64':
-          slave_label: 'lf-build2'
-
-    image:
-      - 'core'
-      - 'mts'
-
-    exclude:
-      - stream: 'kali'
-        image: 'mts'
-      - stream: 'jerma'
-        image: 'mts'
-      - stream: 'iruya'
-        image: 'mts'
-      - stream: 'hunter'
-        image: 'mts'
-
-    # settings for jobs run in multijob phases
-    build-job-settings: &build-job-settings
-      current-parameters: false
-      git-revision: true
-      node-parameters: false
-      predefined-parameters: |
-        PUSH_IMAGE=$PUSH_IMAGE
-        COMMIT_ID=$COMMIT_ID
-        GERRIT_REFNAME=$GERRIT_REFNAME
-        DOCKERFILE=$DOCKERFILE
-      kill-phase-on: FAILURE
-      abort-all-jobs: false
-
-    manifest-job-settings: &manifest-job-settings
-      current-parameters: false
-      git-revision: true
-      node-parameters: false
-      predefined-parameters:
-        GERRIT_REFNAME=$GERRIT_REFNAME
-      kill-phase-on: FAILURE
-      abort-all-jobs: false
-
-    # yamllint enable rule:key-duplicates
-    jobs:
-      - "xtesting-docker-{stream}"
-      - "xtesting-{image}-docker-build-{arch_tag}-{stream}"
-      - "xtesting-{image}-docker-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
-    name: 'xtesting-docker-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - xtesting-job-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          slave_label: 'lf-build2'
-          arch_tag: 'amd64'
-
-    properties:
-      - throttle:
-          max-per-node: 1
-          option: 'project'
-
-    scm:
-      - git-scm
-
-    triggers:
-      - pollscm:
-          cron: "*/30 * * * *"
-      - gerrit-trigger-tag-created:
-          project: '{project}'
-
-    builders:
-      - multijob:
-          name: 'build xtesting images'
-          execution-type: PARALLEL
-          projects:
-            - name: 'xtesting-core-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish xtesting manifests'
-          execution-type: PARALLEL
-          projects:
-            - name: 'xtesting-core-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-      - multijob:
-          name: 'build xtesting-mts images'
-          execution-type: PARALLEL
-          projects:
-            - name: 'xtesting-mts-docker-build-amd64-{stream}'
-              <<: *build-job-settings
-      - multijob:
-          name: 'publish xtesting-mts manifests'
-          execution-type: PARALLEL
-          projects:
-            - name: 'xtesting-mts-docker-manifest-{stream}'
-              <<: *manifest-job-settings
-
-
-    publishers:
-      - 'xtesting-amd64-recipients'
-
-- job-template:
-    name: 'xtesting-{image}-docker-build-{arch_tag}-{stream}'
-    disabled: '{obj:disabled}'
-    parameters:
-      - xtesting-job-parameters:
-          project: '{project}'
-          branch: '{branch}'
-          slave_label: '{slave_label}'
-          arch_tag: '{arch_tag}'
-    scm:
-      - git-scm
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          sudo arch=amd64 amd64_dirs=docker/{image} arm64_dirs= arm_dirs= bash ./build.sh
-          exit $?
-
-- job-template:
-    name: 'xtesting-{image}-docker-manifest-{stream}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: 'lf-build2'
-          description: 'Slave label on Jenkins'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: PROJECT
-          default: "{project}"
-          description: "Project name used to enable job conditions"
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: REPO
-          default: "opnfv"
-          description: "Repository name for xtesting images"
-
-
-    disabled: '{obj:disabled}'
-
-    builders:
-      - shell: |
-          #!/bin/bash -ex
-          case "{stream}" in
-          "master")
-              tag="latest" ;;
-          *)
-              tag="{stream}" ;;
-          esac
-          case "{image}" in
-          "core")
-              img="" ;;
-          *)
-              img="-{image}" ;;
-          esac
-          sudo manifest-tool push from-args \
-              --platforms linux/amd64 \
-              --template $REPO/xtesting$img:ARCH-$tag \
-              --target $REPO/xtesting$img:$tag
-          exit $?
-
-- parameter:
-    name: xtesting-job-parameters
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: '{slave_label}'
-          description: 'Slave label on Jenkins'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-      - string:
-          name: PUSH_IMAGE
-          default: "true"
-          description: "To enable/disable pushing the image to Dockerhub."
-      - string:
-          name: COMMIT_ID
-          default: ""
-          description: "commit id to make a snapshot docker image"
-      - string:
-          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: "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"
-      - string:
-          name: PROJECT
-          default: "{project}"
-          description: "Project name used to enable job conditions"
-      - string:
-          name: REPO
-          default: "opnfv"
-          description: "Repository name for xtesting images"
-
-# publisher macros
-- publisher:
-    name: 'xtesting-amd64-recipients'
-    publishers:
-      - email:
-          recipients: >
-            jalausuch@suse.com morgan.richomme@orange.com
-            cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
-            juha.kosonen@nokia.com wangwulin@huawei.com
-            valentin.boucher@kontron.com
index ef4609f..f07a105 100644 (file)
@@ -1,7 +1,10 @@
 ---
-- xtesting-pi-jobs: &xtesting-pi-jobs
-    name: 'xtesting-pi-jobs'
-    current-parameters: true
+- xtesting-pi-containers: &xtesting-pi-containers
+    name: 'xtesting-pi-containers'
+    repo: '{repo}'
+    port: '{port}'
+    container: '{container}'
+    tag: '{tag}'
 
 - xtesting-pi-params: &xtesting-pi-params
     name: 'xtesting-pi-params'
     port:
     tag:
       - latest:
-          branch: master
           slave: lf-virtual1
       - leguer:
-          branch: stable/leguer
           slave: lf-virtual1
       - kali:
-          branch: stable/kali
           slave: lf-virtual1
       - jerma:
-          branch: stable/jerma
           slave: lf-virtual1
       - iruya:
-          branch: stable/iruya
           slave: lf-virtual1
       - hunter:
-          branch: stable/hunter
           slave: lf-virtual1
       - arm-latest:
-          branch: master
           slave: lf-virtual1
       - arm-leguer:
-          branch: stable/leguer
           slave: lf-virtual1
       - arm-kali:
-          branch: stable/kali
           slave: lf-virtual1
       - arm-jerma:
-          branch: stable/jerma
           slave: lf-virtual1
       - arm-iruya:
-          branch: stable/iruya
           slave: lf-virtual1
       - arm-hunter:
-          branch: stable/hunter
           slave: lf-virtual1
       - arm64-latest:
-          branch: master
           slave: lf-virtual1
       - arm64-leguer:
-          branch: stable/leguer
           slave: lf-virtual1
       - arm64-kali:
-          branch: stable/kali
           slave: lf-virtual1
       - arm64-jerma:
-          branch: stable/jerma
           slave: lf-virtual1
       - arm64-iruya:
-          branch: stable/iruya
           slave: lf-virtual1
       - arm64-hunter:
-          branch: stable/hunter
           slave: lf-virtual1
 
+- xtesting-pi-jobs: &xtesting-pi-jobs
+    name: 'xtesting-pi-jobs'
+    current-parameters: true
+
 - parameter:
     name: xtesting-pi-slave
     parameters:
       - random-string:
           name: build_tag
 
-- parameter:
-    name: xtesting-pi-branch
-    parameters:
-      - string:
-          name: branch
-          default: '{branch}'
-
-- parameter:
-    name: xtesting-pi-DEBUG
-    parameters:
-      - string:
-          name: DEBUG
-          default: 'true'
-
-- xtesting-pi-containers: &xtesting-pi-containers
-    name: 'xtesting-pi-containers'
-    repo: '{repo}'
-    port: '{port}'
-    container: '{container}'
-    tag: '{tag}'
 
 - xtesting-pi-run-containers: &xtesting-pi-run-containers
     name: 'xtesting-pi-run-containers'
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+            -v /home/opnfv/xtesting/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
-            -v /home/opnfv/xtesting/.boto:/root/.boto \
             $image run_tests -t {test} -p -r
 
 - builder:
           fi
           sudo docker rmi $image || true
 
-
 - job-template:
     name: 'xtesting-pi-{repo}-{container}-{tag}-pull'
     parameters:
     name: 'xtesting-pi-ollivier-xtesting-mts-pull'
     <<: *xtesting-pi-params
     container: 'xtesting-mts'
-    exclude:
-      - tag: hunter
-      - tag: iruya
-      - tag: jerma
-      - tag: kali
-      - tag: arm-hunter
-      - tag: arm-iruya
-      - tag: arm-jerma
-      - tag: arm-kali
-      - tag: arm-leguer
-      - tag: arm-latest
-      - tag: arm64-hunter
-      - tag: arm64-iruya
-      - tag: arm64-jerma
-      - tag: arm64-kali
     jobs:
       - 'xtesting-pi-{repo}-{container}-{tag}-pull'
 
     name: 'xtesting-pi-ollivier-xtesting-mts-rmi'
     <<: *xtesting-pi-params
     container: 'xtesting-mts'
-    exclude:
-      - tag: hunter
-      - tag: iruya
-      - tag: jerma
-      - tag: kali
-      - tag: arm-hunter
-      - tag: arm-iruya
-      - tag: arm-jerma
-      - tag: arm-kali
-      - tag: arm-leguer
-      - tag: arm-latest
-      - tag: arm64-hunter
-      - tag: arm64-iruya
-      - tag: arm64-jerma
-      - tag: arm64-kali
     jobs:
       - 'xtesting-pi-{repo}-{container}-{tag}-rmi'
 
           slave: '{slave}'
       - xtesting-pi-build_tag:
           build_tag: ''
-      - xtesting-pi-DEBUG:
-          DEBUG: 'true'
     builders:
       - xtesting-pi-run-containers:
           <<: *xtesting-pi-run-containers
       - fourth
       - fifth
       - sixth
-    exclude:
-      - tag: hunter
-        test: sixth
-      - tag: iruya
-        test: sixth
-      - tag: arm-hunter
-        test: sixth
-      - tag: arm-iruya
-        test: sixth
-      - tag: arm64-hunter
-        test: sixth
-      - tag: arm64-iruya
-        test: sixth
     privileged: 'false'
     network: bridge
     jobs:
     container: 'xtesting-mts'
     test:
       - seventh
-    exclude:
-      - tag: hunter
-        test: seventh
-      - tag: iruya
-        test: seventh
-      - tag: jerma
-        test: seventh
-      - tag: kali
-        test: seventh
-      - tag: arm-hunter
-        test: seventh
-      - tag: arm-iruya
-        test: seventh
-      - tag: arm-jerma
-        test: seventh
-      - tag: arm-kali
-        test: seventh
-      - tag: arm-leguer
-        test: seventh
-      - tag: arm-latest
-        test: seventh
-      - tag: arm64-hunter
-        test: seventh
-      - tag: arm64-iruya
-        test: seventh
-      - tag: arm64-jerma
-        test: seventh
-      - tag: arm64-kali
-        test: seventh
     privileged: 'false'
     network: bridge
     jobs:
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting \
+            -v /home/opnfv/xtesting/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
-            -v /home/opnfv/xtesting/.boto:/root/.boto \
             $image zip_campaign
 
 - job-template:
           slave: '{slave}'
       - xtesting-pi-build_tag:
           build_tag: ''
-      - xtesting-pi-DEBUG:
-          DEBUG: 'true'
     builders:
       - xtesting-pi-zip:
           <<: *xtesting-pi-containers
           slave: '{slave}'
       - xtesting-pi-build_tag:
           build_tag: ''
-      - xtesting-pi-DEBUG:
-          DEBUG: 'true'
     properties:
       - build-blocker:
           use-build-blocker: true
           blocking-level: 'NODE'
           blocking-jobs:
-            - '^xtesting-pi-{tag}-(daily|check|gate)$'
+            - '^xtesting-pi-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
             - name: 'xtesting-pi-{tag}-zip'
               <<: *xtesting-pi-jobs
 
-
 - project:
-    name: 'xtesting-pi'
+    name: 'xtesting-pi-daily'
     <<: *xtesting-pi-params
     jobs:
       - 'xtesting-pi-{tag}-daily'
       - last-success
       - last-failure
       - last-duration
-    regex: ^xtesting-pi-(arm.*-|amd64-)*[a-z]+-daily$
+    regex: ^xtesting-pi-[a-z-0-9.]+-daily$
diff --git a/jjb/functest/xtesting-project-jobs.yaml b/jjb/functest/xtesting-project-jobs.yaml
deleted file mode 100644 (file)
index 1a42d41..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
----
-- xtesting-project-params: &xtesting-project-params
-    name: 'xtesting-project-params'
-    tag:
-      - latest:
-          branch: master
-          slave: lf-virtual1
-      - leguer:
-          branch: stable/leguer
-          slave: lf-virtual1
-      - kali:
-          branch: stable/kali
-          slave: lf-virtual1
-      - jerma:
-          branch: stable/jerma
-          slave: lf-virtual1
-      - iruya:
-          branch: stable/iruya
-          slave: lf-virtual1
-      - hunter:
-          branch: stable/hunter
-          slave: lf-virtual1
-
-- builder:
-    name: xtesting-run-tox
-    builders:
-      - shell: tox
-
-- trigger:
-    name: xtesting-project-patchset-created
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'functest-xtesting'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: false
-            failed: false
-            unstable: false
-            notbuilt: false
-
-- parameter:
-    name: xtesting-project-slave
-    parameters:
-      - label:
-          name: slave
-          default: '{slave}'
-
-- scm:
-    name: xtesting-project-scm
-    scm:
-      - git:
-          url: https://gerrit.opnfv.org/gerrit/functest-xtesting
-          refspec: '+refs/changes/*:refs/changes/*'
-          branches:
-            - '{ref}'
-
-- job-template:
-    name: 'xtesting-run-tox-{tag}'
-    triggers:
-      - xtesting-project-patchset-created:
-          branch: '{branch}'
-    scm:
-      - xtesting-project-scm:
-          ref: $GERRIT_REFSPEC
-    parameters:
-      - xtesting-project-slave:
-          slave: '{slave}'
-    builders:
-      - xtesting-run-tox
-
-- project:
-    name: 'xtesting-run-tox'
-    <<: *xtesting-project-params
-    jobs:
-      - 'xtesting-run-tox-{tag}'
index 640e349..5484a59 100644 (file)
@@ -1,7 +1,10 @@
 ---
-- xtesting-jobs: &xtesting-jobs
-    name: 'xtesting-jobs'
-    current-parameters: true
+- xtesting-containers: &xtesting-containers
+    name: 'xtesting-containers'
+    repo: '{repo}'
+    port: '{port}'
+    container: '{container}'
+    tag: '{tag}'
 
 - xtesting-params: &xtesting-params
     name: 'xtesting-params'
     port:
     tag:
       - latest:
+          from:
+          buildargs:
           branch: master
           slave: lf-virtual1
+          dependency: 3.13
       - leguer:
+          from:
+          buildargs:
           branch: stable/leguer
           slave: lf-virtual1
+          dependency: 3.12
       - kali:
+          from:
+          buildargs:
           branch: stable/kali
           slave: lf-virtual1
+          dependency: 3.11
       - jerma:
+          from:
+          buildargs:
           branch: stable/jerma
           slave: lf-virtual1
+          dependency: 3.10
       - iruya:
+          from:
+          buildargs:
           branch: stable/iruya
           slave: lf-virtual1
+          dependency: 3.9
       - hunter:
+          from:
+          buildargs:
           branch: stable/hunter
           slave: lf-virtual1
+          dependency: 3.9
+
+- xtesting-jobs: &xtesting-jobs
+    name: 'xtesting-jobs'
+    current-parameters: true
 
 - parameter:
     name: xtesting-slave
       - random-string:
           name: build_tag
 
-- parameter:
-    name: xtesting-branch
-    parameters:
-      - string:
-          name: branch
-          default: '{branch}'
-
-- parameter:
-    name: xtesting-DEBUG
-    parameters:
-      - string:
-          name: DEBUG
-          default: 'true'
-
-- xtesting-containers: &xtesting-containers
-    name: 'xtesting-containers'
-    repo: '{repo}'
-    port: '{port}'
-    container: '{container}'
-    tag: '{tag}'
 
 - xtesting-run-containers: &xtesting-run-containers
     name: 'xtesting-run-containers'
@@ -87,7 +92,7 @@
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+            -v /home/opnfv/xtesting/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
-            -v /home/opnfv/xtesting/.boto:/root/.boto \
             $image run_tests -t {test} -p -r
 
 - builder:
           fi
           sudo docker rmi $image || true
 
-- xtesting-build-containers: &xtesting-build-containers
-    name: 'xtesting-build-containers'
-    <<: *xtesting-containers
-    ref_arg: '{ref_arg}'
-    path: '{path}'
-
-- builder:
-    name: xtesting-build-containers
-    builders:
-      - shell: |
-          set +x
-          if [ "{repo}" = "_" ]; then
-            image={container}:{tag}
-          elif [ "{port}" = "None" ]; then
-            image={repo}/{container}:{tag}
-          else
-            image={repo}:{port}/{container}:{tag}
-          fi
-          if [ "{ref_arg}" = "None" ]; then
-            build_arg=""
-          else
-            build_arg="--build-arg {ref_arg}={ref}"
-          fi
-          case {tag} in
-          *latest|*leguer)
-            cd {path};;
-          *)
-            cd docker;;
-          esac
-          sudo docker build $build_arg \
-            --pull=false --no-cache --force-rm=true \
-            -t $image .
-
-- scm:
-    name: xtesting-scm
-    scm:
-      - git:
-          url: https://gerrit.opnfv.org/gerrit/functest-xtesting
-          refspec: '+refs/changes/*:refs/changes/*'
-          branches:
-            - '{ref}'
-
 - job-template:
     name: 'xtesting-{repo}-{container}-{tag}-pull'
     parameters:
     name: 'xtesting-opnfv-xtesting-mts-pull'
     <<: *xtesting-params
     container: 'xtesting-mts'
-    exclude:
-      - tag: hunter
-      - tag: iruya
-      - tag: jerma
-      - tag: kali
     jobs:
       - 'xtesting-{repo}-{container}-{tag}-pull'
 
     name: 'xtesting-opnfv-xtesting-mts-rmi'
     <<: *xtesting-params
     container: 'xtesting-mts'
-    exclude:
-      - tag: hunter
-      - tag: iruya
-      - tag: jerma
-      - tag: kali
     jobs:
       - 'xtesting-{repo}-{container}-{tag}-rmi'
 
           slave: '{slave}'
       - xtesting-build_tag:
           build_tag: ''
-      - xtesting-DEBUG:
-          DEBUG: 'true'
     builders:
       - xtesting-run-containers:
           <<: *xtesting-run-containers
       - fourth
       - fifth
       - sixth
-    exclude:
-      - tag: hunter
-        test: sixth
-      - tag: iruya
-        test: sixth
     privileged: 'false'
     network: bridge
     jobs:
     container: 'xtesting-mts'
     test:
       - seventh
-    exclude:
-      - tag: hunter
-        test: seventh
-      - tag: iruya
-        test: seventh
-      - tag: jerma
-        test: seventh
-      - tag: kali
-        test: seventh
     privileged: 'false'
     network: bridge
     jobs:
       - 'xtesting-{repo}-{container}-{tag}-{test}-run'
 
+
 - builder:
     name: xtesting-zip
     builders:
       - shell: |
           set +x
-          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           elif [ "{port}" = "None" ]; then
             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
             -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting \
             -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting \
+            -v /home/opnfv/xtesting/.boto:/root/.boto \
             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEBUG=$DEBUG \
-            -v /home/opnfv/xtesting/.boto:/root/.boto \
             $image zip_campaign
 
 - job-template:
           slave: '{slave}'
       - xtesting-build_tag:
           build_tag: ''
-      - xtesting-DEBUG:
-          DEBUG: 'true'
     builders:
       - xtesting-zip:
           <<: *xtesting-containers
           slave: '{slave}'
       - xtesting-build_tag:
           build_tag: ''
-      - xtesting-DEBUG:
-          DEBUG: 'true'
     properties:
       - build-blocker:
           use-build-blocker: true
           blocking-level: 'NODE'
           blocking-jobs:
-            - '^xtesting-{tag}-(daily|check|gate)$'
+            - '^xtesting-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
             - name: 'xtesting-{tag}-zip'
               <<: *xtesting-jobs
 
+- project:
+    name: 'xtesting-daily'
+    <<: *xtesting-params
+    jobs:
+      - 'xtesting-{tag}-daily'
+
+- view:
+    name: xtesting
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^xtesting-[a-z0-9.]+-daily$
+
+- xtesting-build-containers: &xtesting-build-containers
+    name: 'xtesting-build-containers'
+    <<: *xtesting-containers
+    ref_arg: '{ref_arg}'
+    path: '{path}'
+    buildargs: '{buildargs}'
+    from: '{from}'
+
+- builder:
+    name: xtesting-build-containers
+    builders:
+      - shell: |
+          set +x
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          build_args=""
+          if [ "{buildargs}" != "None" ]; then
+            build_args="{buildargs}"
+          fi
+          if [ "{ref_arg}" != "None" ]; then
+            build_args="$build_args --build-arg {ref_arg}={ref}"
+          fi
+          cd {path}
+          if [ "{from}" != "None" ]; then
+              sed -i {from} Dockerfile
+          fi
+          sudo docker build $build_args \
+            --pull=false --no-cache --force-rm=true \
+            -t $image .
+
+- scm:
+    name: xtesting-scm
+    scm:
+      - git:
+          url: 'https://gerrit.opnfv.org/gerrit/functest-xtesting'
+          refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+          branches:
+            - '{ref}'
+
+- xtesting-dep: &xtesting-dep
+    name: 'xtesting-containers'
+    repo: '{repo}'
+    port: '{port}'
+    tag: '{tag}'
+    dependency: '{dependency}'
+
+- builder:
+    name: xtesting-pull-dep-images
+    builders:
+      - shell: |
+          set +x
+          if [ "_" = "_" ]; then
+            image=alpine:{dependency}
+          elif [ "_" = "None" ]; then
+            image=_/alpine:{dependency}
+          else
+            image=_:/alpine{dependency}
+          fi
+          sudo docker pull $image || true
+
+- builder:
+    name: xtesting-remove-dep-images
+    builders:
+      - shell: |
+          set +x
+          if [ "_" = "_" ]; then
+            image=alpine:{dependency}
+          elif [ "_" = "None" ]; then
+            image=_/alpine:{dependency}
+          else
+            image=_:/alpine{dependency}
+          fi
+          sudo docker rmi $image || true
+
 - job-template:
-    name: 'xtesting-{repo}-{container}-{tag}-gate'
+    name: 'xtesting-{repo}-{tag}-dep-pull'
+    parameters:
+      - xtesting-slave:
+          slave: '{slave}'
+    builders:
+      - xtesting-pull-dep-images:
+          <<: *xtesting-dep
+
+- project:
+    name: 'xtesting-{repo}-{tag}-dep-pull'
+    <<: *xtesting-params
+    jobs:
+      - 'xtesting-{repo}-{tag}-dep-pull'
+
+- job-template:
+    name: 'xtesting-{repo}-{tag}-dep-rmi'
     parameters:
       - xtesting-slave:
           slave: '{slave}'
+    builders:
+      - xtesting-remove-dep-images:
+          <<: *xtesting-dep
+
+- project:
+    name: 'xtesting-{repo}-{tag}-dep-rmi'
+    <<: *xtesting-params
+    jobs:
+      - 'xtesting-{repo}-{tag}-dep-rmi'
+
+- builder:
+    name: xtesting-tox
+    builders:
+      - shell: |
+          set +x
+          sudo apt-get update && sudo apt-get install software-properties-common gpg -y
+          sudo add-apt-repository -y ppa:deadsnakes/ppa
+          sudo apt-get update && sudo apt-get install python3.8 python3.8-dev \
+            python3.8-distutils \
+            python3.7 python3.7-dev python3.6 python3.6-dev \
+            python python-dev python3-pip enchant -y
+          sudo pip3 install tox tox-pip-version
+          tox
+
+- job-template:
+    name: 'xtesting-{tag}-tox'
     scm:
       - xtesting-scm:
           ref: $GERRIT_REFSPEC
+    triggers:
+      - xtesting-patchset-created:
+          branch: '{branch}'
+    parameters:
+      - xtesting-slave:
+          slave: '{slave}'
     builders:
-      - xtesting-build-containers:
-          <<: *xtesting-build-containers
-          ref: $GERRIT_REFSPEC
+      - xtesting-tox:
+
+- project:
+    name: xtesting-tox
+    <<: *xtesting-params
+    jobs:
+      - 'xtesting-{tag}-tox'
 
 - job-template:
-    name: 'xtesting-{repo}-{container}-{tag}-check'
+    name: 'xtesting-{repo}-{container}-{tag}-gate'
     parameters:
       - xtesting-slave:
           slave: '{slave}'
-      - xtesting-branch:
-          branch: '{branch}'
     scm:
       - xtesting-scm:
-          ref: $branch
+          ref: $GERRIT_REFSPEC
     builders:
       - xtesting-build-containers:
           <<: *xtesting-build-containers
-          ref: $branch
-
-- project:
-    name: 'xtesting-_-alpine-3.12-rmi'
-    repo: _
-    port:
-    container: alpine
-    tag: '3.12'
-    slave: master
-    jobs:
-      - 'xtesting-{repo}-{container}-{tag}-rmi'
-
-- project:
-    name: 'xtesting-_-alpine-3.12-pull'
-    repo: _
-    port:
-    container: alpine
-    tag: '3.12'
-    slave: master
-    jobs:
-      - 'xtesting-{repo}-{container}-{tag}-pull'
+          ref: $GERRIT_REFSPEC
+          buildargs: '{buildargs}'
 
 - project:
-    name: xtesting-opnfv-xtesting-{tag}-build
+    name: xtesting-opnfv-xtesting-{tag}-gate
     <<: *xtesting-params
     container: xtesting
     ref_arg: BRANCH
     path: docker/core
     jobs:
       - 'xtesting-{repo}-{container}-{tag}-gate'
-      - 'xtesting-{repo}-{container}-{tag}-check'
 
 - project:
-    name: xtesting-opnfv-xtesting-mts-{tag}-build
+    name: xtesting-opnfv-xtesting-mts-{tag}-gate
     <<: *xtesting-params
     container: xtesting-mts
     ref_arg: BRANCH
     path: docker/mts
-    exclude:
-      - tag: hunter
-      - tag: iruya
-      - tag: jerma
-      - tag: kali
     jobs:
       - 'xtesting-{repo}-{container}-{tag}-gate'
-      - 'xtesting-{repo}-{container}-{tag}-check'
+
+
+- trigger:
+    name: xtesting-patchset-created
+    triggers:
+      - gerrit:
+          trigger-on:
+            - patchset-created-event
+            - comment-added-contains-event:
+                comment-contains-value: 'recheck'
+            - comment-added-contains-event:
+                comment-contains-value: 'reverify'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: 'functest-xtesting'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
 
 - job-template:
-    name: 'xtesting-{tag}-check'
+    name: 'xtesting-{tag}-review'
     project-type: multijob
+    triggers:
+      - xtesting-patchset-created:
+          branch: '{branch}'
     parameters:
       - xtesting-slave:
           slave: '{slave}'
       - xtesting-build_tag:
           build_tag: ''
-      - xtesting-branch:
-          branch: '{branch}'
-      - xtesting-DEBUG:
-          DEBUG: 'true'
     properties:
       - build-blocker:
           use-build-blocker: true
           blocking-level: 'NODE'
           blocking-jobs:
-            - '^xtesting-{tag}-(daily|check|gate)$'
+            - '^xtesting-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
           name: remove former images
             - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
               <<: *xtesting-jobs
       - multijob:
-          name: remove dependencies
+          name: remove dependency
           projects:
-            - name: 'xtesting-_-alpine-3.12-rmi'
+            - name: 'xtesting-{repo}-{tag}-dep-rmi'
               <<: *xtesting-jobs
       - multijob:
-          name: pull dependencies
+          name: pull dependency
           projects:
-            - name: 'xtesting-_-alpine-3.12-pull'
+            - name: 'xtesting-{repo}-{tag}-dep-pull'
               <<: *xtesting-jobs
       - multijob:
           name: opnfv/xtesting
           projects:
-            - name: 'xtesting-opnfv-xtesting-{tag}-check'
+            - name: 'xtesting-opnfv-xtesting-{tag}-gate'
               <<: *xtesting-jobs
       - multijob:
           name: opnfv/xtesting-mts
           projects:
-            - name: 'xtesting-opnfv-xtesting-mts-{tag}-check'
+            - name: 'xtesting-opnfv-xtesting-mts-{tag}-gate'
               <<: *xtesting-jobs
       - multijob:
           name: opnfv/xtesting:{tag}
             - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
               <<: *xtesting-jobs
 
+- project:
+    name: 'xtesting-review'
+    <<: *xtesting-params
+    jobs:
+      - 'xtesting-{tag}-review'
+
+- view:
+    name: xtesting-review
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^xtesting-[a-z0-9.]+-review$
+
+- view:
+    name: xtesting-tox
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^xtesting-[a-z0-9.]+-tox$
+
+- builder:
+    name: xtesting-push-containers
+    builders:
+      - shell: |
+          set +x
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          sudo docker push $image
+
 - trigger:
-    name: xtesting-patchset-created
+    name: xtesting-commit
     triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'functest-xtesting'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-          skip-vote:
-            successful: false
-            failed: false
-            unstable: false
-            notbuilt: false
+      - pollscm:
+          cron: "*/30 * * * *"
 
 - job-template:
-    name: 'xtesting-{tag}-gate'
+    name: 'xtesting-{repo}-{container}-{tag}-build'
+    parameters:
+      - xtesting-slave:
+          slave: '{slave}'
+    scm:
+      - xtesting-scm:
+          ref: '{branch}'
+    builders:
+      - xtesting-build-containers:
+          <<: *xtesting-build-containers
+          ref: '{branch}'
+          buildargs: '{buildargs}'
+      - xtesting-push-containers:
+          <<: *xtesting-build-containers
+          ref: '{branch}'
+
+- project:
+    name: xtesting-opnfv-xtesting-{tag}-build
+    <<: *xtesting-params
+    container: xtesting
+    ref_arg: BRANCH
+    path: docker/core
+    jobs:
+      - 'xtesting-{repo}-{container}-{tag}-build'
+
+- project:
+    name: xtesting-opnfv-xtesting-mts-{tag}-build
+    <<: *xtesting-params
+    container: xtesting-mts
+    ref_arg: BRANCH
+    path: docker/mts
+    jobs:
+      - 'xtesting-{repo}-{container}-{tag}-build'
+
+
+- job-template:
+    name: 'xtesting-{tag}-docker'
     project-type: multijob
     triggers:
-      - xtesting-patchset-created:
-          branch: '{branch}'
+      - xtesting-commit
+    scm:
+      - xtesting-scm:
+          ref: '{branch}'
     parameters:
       - xtesting-slave:
           slave: '{slave}'
-      - xtesting-build_tag:
-          build_tag: ''
-      - xtesting-DEBUG:
-          DEBUG: 'true'
     properties:
       - build-blocker:
           use-build-blocker: true
           blocking-level: 'NODE'
           blocking-jobs:
-            - '^xtesting-{tag}-(daily|check|gate)$'
+            - '^xtesting-{tag}-(daily|docker|review)$'
     builders:
       - multijob:
-          name: remove former images
+          name: remove dependency
           projects:
-            - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
-              <<: *xtesting-jobs
-            - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
+            - name: 'xtesting-{repo}-{tag}-dep-rmi'
               <<: *xtesting-jobs
       - multijob:
-          name: remove dependencies
+          name: pull dependency
           projects:
-            - name: 'xtesting-_-alpine-3.12-rmi'
-              <<: *xtesting-jobs
-      - multijob:
-          name: pull dependencies
-          projects:
-            - name: 'xtesting-_-alpine-3.12-pull'
+            - name: 'xtesting-{repo}-{tag}-dep-pull'
               <<: *xtesting-jobs
       - multijob:
           name: opnfv/xtesting
           projects:
-            - name: 'xtesting-opnfv-xtesting-{tag}-gate'
+            - name: 'xtesting-opnfv-xtesting-{tag}-build'
               <<: *xtesting-jobs
       - multijob:
           name: opnfv/xtesting-mts
           projects:
-            - name: 'xtesting-opnfv-xtesting-mts-{tag}-gate'
-              <<: *xtesting-jobs
-      - multijob:
-          name: opnfv/xtesting:{tag}
-          projects:
-            - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
-              <<: *xtesting-jobs
-            - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
-              <<: *xtesting-jobs
-            - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
-              <<: *xtesting-jobs
-            - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
-              <<: *xtesting-jobs
-            - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
-              <<: *xtesting-jobs
-            - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
-              <<: *xtesting-jobs
-      - multijob:
-          name: opnfv/xtesting-mts:{tag}
-          projects:
-            - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
+            - name: 'xtesting-opnfv-xtesting-mts-{tag}-build'
               <<: *xtesting-jobs
 
+- builder:
+    name: xtesting-trivy
+    builders:
+      - shell: |
+          sudo apt-get update && sudo apt-get install curl -y
+          curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          ./trivy --exit-code 1 $image
+
+- job-template:
+    name: 'xtesting-{repo}-{container}-{tag}-trivy'
+    triggers:
+      - timed: '@daily'
+    parameters:
+      - xtesting-slave:
+          slave: '{slave}'
+    builders:
+      - xtesting-trivy:
+          <<: *xtesting-containers
+
 - project:
-    name: 'xtesting'
+    name: 'xtesting-opnfv-xtesting-trivy'
     <<: *xtesting-params
+    container: 'xtesting'
     jobs:
-      - 'xtesting-{tag}-daily'
+      - 'xtesting-{repo}-{container}-{tag}-trivy'
+
+- project:
+    name: 'xtesting-opnfv-xtesting-mts-trivy'
+    <<: *xtesting-params
+    container: 'xtesting-mts'
+    jobs:
+      - 'xtesting-{repo}-{container}-{tag}-trivy'
 
 - project:
-    name: 'xtesting-gate'
+    name: 'xtesting'
     <<: *xtesting-params
     jobs:
-      - 'xtesting-{tag}-check'
-      - 'xtesting-{tag}-gate'
+      - 'xtesting-{tag}-docker'
 
 - view:
-    name: xtesting
+    name: xtesting-docker
     view-type: list
     columns:
       - status
       - last-success
       - last-failure
       - last-duration
-    regex: ^xtesting-(amd64-)*[a-z]+-daily$
+    regex: ^xtesting-[a-z0-9.]+-docker$
 
 - view:
-    name: xtesting-gate
+    name: xtesting-trivy
     view-type: list
     columns:
       - status
       - last-success
       - last-failure
       - last-duration
-    regex: ^xtesting-(amd64-)*[a-z]+-gate$
+    regex: (?!xtesting-pi)^xtesting-[a-z-0-9.]+-trivy$
index a9efb27..18e2fc0 100644 (file)
@@ -94,6 +94,7 @@
 
     builders:
       - shell: |
+          sudo pip install tox-pip-version
           cd $WORKSPACE && tox
           cd $WORKSPACE/nfvbenchvm/dib
           bash verify-image.sh -v
diff --git a/jjb/openci/create-ape.sh b/jjb/openci/create-ape.sh
deleted file mode 100755 (executable)
index 7c9b46c..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Ericsson AB 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
-##############################################################################
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# workaround for https://github.com/pypa/virtualenv/issues/1029
-export PS1=${PS1:-}
-
-# This script creates ArtifactPublishedEvent
-
-git clone https://gitlab.openci.io/openci/prototypes.git
-cd prototypes/federated-cicd
-virtualenv openci_publish
-cd openci_publish
-source bin/activate
-python setup.py install
-
-# generate event body
-cat <<EOF > ./json_body.txt
-{
-    "type": "$PUBLISH_EVENT_TYPE",
-    "id": "$(uuidgen)",
-    "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
-    "buildUrl": "$BUILD_URL",
-    "branch": "master",
-    "origin": "$PUBLISH_EVENT_ORIGIN",
-    "artifactLocation": "$ARTIFACT_LOCATION",
-    "confidenceLevel": "$CONFIDENCE_LEVEL"
-}
-EOF
-
-echo "Constructed $PUBLISH_EVENT_TYPE"
-echo "--------------------------------------------"
-cat  ./json_body.txt
-echo "--------------------------------------------"
-
-python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
-
-deactivate
diff --git a/jjb/openci/create-cde.sh b/jjb/openci/create-cde.sh
deleted file mode 100755 (executable)
index 9780119..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Ericsson AB 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
-##############################################################################
-set -o errexit
-set -o nounset
-set -o pipefail
-
-export PS1=${PS1:-}
-
-# This script creates CompositionDefinedEvent
-
-git clone https://gitlab.openci.io/openci/prototypes.git
-cd prototypes/federated-cicd
-virtualenv openci_publish
-cd openci_publish
-source bin/activate
-python setup.py install
-
-# generate event body
-cat <<EOF > ./json_body.txt
-{
-    "type": "$PUBLISH_EVENT_TYPE",
-    "id": "$(uuidgen)",
-    "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
-    "buildUrl": "$BUILD_URL",
-    "branch": "master",
-    "origin": "$PUBLISH_EVENT_ORIGIN",
-    "scenario": "$DEPLOY_SCENARIO",
-    "compositionName": "$DEPLOY_SCENARIO",
-    "compositionMetadataUrl": "$SCENARIO_METADATA_LOCATION"
-}
-EOF
-
-echo "Constructed $PUBLISH_EVENT_TYPE"
-echo "--------------------------------------------"
-cat  ./json_body.txt
-echo "--------------------------------------------"
-
-python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
-
-deactivate
diff --git a/jjb/openci/create-clme.sh b/jjb/openci/create-clme.sh
deleted file mode 100755 (executable)
index 2ece019..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Ericsson AB 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
-##############################################################################
-set -o errexit
-set -o nounset
-set -o pipefail
-
-export PS1=${PS1:-}
-
-# This script creates ConfidenceLevelModifiedEvent
-
-git clone https://gitlab.openci.io/openci/prototypes.git
-cd prototypes/federated-cicd
-virtualenv openci_publish
-cd openci_publish
-source bin/activate
-python setup.py install
-
-# generate event body
-cat <<EOF > ./json_body.txt
-{
-    "type": "$PUBLISH_EVENT_TYPE",
-    "id": "$(uuidgen)",
-    "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
-    "buildUrl": "$BUILD_URL",
-    "branch": "master",
-    "origin": "$PUBLISH_EVENT_ORIGIN",
-    "scenario": "$DEPLOY_SCENARIO",
-    "compositionName": "$DEPLOY_SCENARIO",
-    "compositionMetadataUrl": "$SCENARIO_METADATA_LOCATION",
-    "confidenceLevel": "$CONFIDENCE_LEVEL"
-}
-EOF
-
-echo "Constructed $PUBLISH_EVENT_TYPE"
-echo "--------------------------------------------"
-cat ./json_body.txt
-echo "--------------------------------------------"
-
-python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
-
-deactivate
diff --git a/jjb/openci/openci-odl-daily-jobs.yaml b/jjb/openci/openci-odl-daily-jobs.yaml
deleted file mode 100644 (file)
index bdaca57..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
----
-- project:
-    name: openci-odl
-
-    project: '{name}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: false
-
-    jobs:
-      - 'openci-odl-autorelease-daily-{stream}'
-      - 'openci-odl-promote-daily-{stream}'
-
-# This job gets triggered manually for the demo purposes.
-#
-# In prototype, either what this job does needs to be integrated to
-# ODL autorelease job or triggered by the upstream autorelease job.
-- job-template:
-    name: 'openci-odl-autorelease-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    parameters:
-      - string:
-          name: PUBLISH_EVENT_TYPE
-          default: ArtifactPublishedEvent
-          description: 'The type of the event this job publishes'
-      - string:
-          name: PUBLISH_EVENT_ORIGIN
-          default: ODL
-          description: 'Originating community'
-      - string:
-          name: ARTIFACT_LOCATION
-          default: https://url/to/artifact/on/odl/nexus/$BUILD_NUMBER
-          description: 'The location of the artifact on ODL Nexus'
-      - string:
-          name: CONFIDENCE_LEVEL
-          default: "'autorelease': 'SUCCESS'"
-          description: 'The confidence level the published artifact gained'
-      - 'opnfv-build-defaults'
-
-    builders:
-      - shell:
-          !include-raw-escape: ./create-ape.sh
-
-# This job gets triggered by a ConfidenceLevelModifiedEvent published
-# by OPNFV jobs so ODL can promote the autorelease artifact even further.
-#
-# This job is created for the demo purposes and might not be there for
-# the prototype.
-- job-template:
-    name: 'openci-odl-promote-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    parameters:
-      - 'opnfv-build-defaults'
-
-    triggers:
-      - jms-messaging:
-          provider-name: openci.activemq
-          selector: |
-            JMSType = 'ConfidenceLevelModifiedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = 'os-odl-nofeature-ha'
-
-    builders:
-      - shell: |
-          #!/bin/bash
-
-          echo
-          echo "Triggered by $type"
-          echo "----------------------------------"
-          echo $CI_MESSAGE
-          echo "----------------------------------"
-          echo " Promoted ODL Autorelease artifact as release candidate!"
diff --git a/jjb/openci/openci-onap-daily-jobs.yaml b/jjb/openci/openci-onap-daily-jobs.yaml
deleted file mode 100644 (file)
index 88589d8..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
----
-- project:
-    name: openci-onap
-
-    project: '{name}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: false
-
-    jobs:
-      - 'openci-onap-autorelease-daily-{stream}'
-      - 'openci-onap-promote-daily-{stream}'
-
-# This job gets triggered manually for the demo purposes.
-#
-# In prototype, either what this job does needs to be integrated to
-# ONAP autorelease job or triggered by the upstream autorelease job.
-- job-template:
-    name: 'openci-onap-autorelease-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    parameters:
-      - string:
-          name: PUBLISH_EVENT_TYPE
-          default: ArtifactPublishedEvent
-          description: 'The type of the event this job publishes'
-      - string:
-          name: PUBLISH_EVENT_ORIGIN
-          default: ONAP
-          description: 'Originating community'
-      - string:
-          name: ARTIFACT_LOCATION
-          default: https://url/to/artifact/on/onap/nexus/$BUILD_NUMBER
-          description: 'The location of the artifact on ONAP Nexus'
-      - string:
-          name: CONFIDENCE_LEVEL
-          default: "'autorelease': 'SUCCESS'"
-          description: 'The confidence level the published artifact gained'
-      - 'opnfv-build-defaults'
-
-    builders:
-      - shell:
-          !include-raw-escape: ./create-ape.sh
-
-# This job gets triggered by a ConfidenceLevelModifiedEvent published
-# by OPNFV jobs so ONAP can promote the autorelease artifact even further.
-#
-# This job is created for the demo purposes and might not be there for
-# the prototype.
-- job-template:
-    name: 'openci-onap-promote-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    parameters:
-      - 'opnfv-build-defaults'
-
-    triggers:
-      - jms-messaging:
-          provider-name: openci.activemq
-          selector: |
-            JMSType = 'ConfidenceLevelModifiedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = 'k8-nosdn-onap-ha'
-
-    builders:
-      - shell: |
-          #!/bin/bash
-
-          echo
-          echo "Triggered by $type"
-          echo "----------------------------------"
-          echo $CI_MESSAGE
-          echo "----------------------------------"
-          echo " Promoted ONAP Autorelease artifact as release candidate!"
diff --git a/jjb/openci/openci-opnfv-daily-jobs.yaml b/jjb/openci/openci-opnfv-daily-jobs.yaml
deleted file mode 100644 (file)
index 020171b..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
----
-- project:
-    name: openci-opnfv
-
-    project: '{name}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: false
-
-    scenario:
-      - 'os-odl-nofeature-ha':
-          origin: ODL
-      - 'k8-nosdn-onap-ha':
-          origin: ONAP
-
-    jobs:
-      - 'openci-opnfv-{scenario}-compose-daily-{stream}'
-      - 'openci-opnfv-{scenario}-test-daily-{stream}'
-
-- job-template:
-    name: 'openci-opnfv-{scenario}-compose-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    parameters:
-      - string:
-          name: PUBLISH_EVENT_TYPE
-          default: CompositionDefinedEvent
-          description: 'The type of the event this job publishes'
-      - string:
-          name: PUBLISH_EVENT_ORIGIN
-          default: OPNFV
-          description: 'Originating community'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: '{scenario}'
-          description: 'The scenario that is composed'
-      - string:
-          name: SCENARIO_METADATA_LOCATION
-          default: https://url/to/scenario/metadata/on/opnfv/artifact/repo/$BUILD_NUMBER
-          description: 'The location of the scenario metadata'
-      - label:
-          name: SLAVE_LABEL
-          default: 'xci-virtual'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-
-    wrappers:
-      - credentials-binding:
-          - username-password-separated:
-              credential-id: openci-connect-activemq
-              username: ACTIVEMQ_USER
-              password: ACTIVEMQ_PASSWORD
-      - workspace-cleanup
-
-    triggers:
-      - jms-messaging:
-          provider-name: openci.activemq
-          selector: JMSType = 'ArtifactPublishedEvent' and JMSOrigin = '{origin}'
-
-    builders:
-      - shell: |
-          #!/bin/bash
-
-          echo
-          echo "Triggered by $type"
-          echo "----------------------------------"
-          echo $CI_MESSAGE
-          echo "----------------------------------"
-      - shell:
-          !include-raw-escape: ./create-cde.sh
-
-- job-template:
-    name: 'openci-opnfv-{scenario}-test-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    parameters:
-      - string:
-          name: PUBLISH_EVENT_TYPE
-          default: ConfidenceLevelModifiedEvent
-          description: 'The type of the event this job publishes'
-      - string:
-          name: PUBLISH_EVENT_ORIGIN
-          default: OPNFV
-          description: 'Originating community'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: '{scenario}'
-          description: 'The scenario that is composed'
-      - string:
-          name: SCENARIO_METADATA_LOCATION
-          default: https://url/to/scenario/metadata/on/opnfv/artifact/repo/$BUILD_NUMBER
-          description: 'The location of the scenario metadata'
-      - string:
-          name: CONFIDENCE_LEVEL
-          default: "'opnfvdaily': 'SUCCESS'"
-          description: 'The confidence level the published artifact gained'
-      - label:
-          name: SLAVE_LABEL
-          default: 'xci-virtual'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-
-    wrappers:
-      - credentials-binding:
-          - username-password-separated:
-              credential-id: openci-connect-activemq
-              username: ACTIVEMQ_USER
-              password: ACTIVEMQ_PASSWORD
-      - workspace-cleanup
-
-    triggers:
-      - jms-messaging:
-          provider-name: openci.activemq
-          selector: JMSType = 'CompositionDefinedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = '{scenario}'
-
-    builders:
-      - shell: |
-          #!/bin/bash
-
-          echo
-          echo "Triggered by $type"
-          echo "----------------------------------"
-          echo $CI_MESSAGE
-          echo "----------------------------------"
-      - shell:
-          !include-raw-escape: ./create-clme.sh
diff --git a/jjb/openci/openci-views.yaml b/jjb/openci/openci-views.yaml
deleted file mode 100644 (file)
index 08cff7c..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
-    name: openci-view
-    views:
-      - project-view
-    project-name: openci
diff --git a/jjb/opnfvtsc/opnfvtsc-rtd-jobs.yaml b/jjb/opnfvtsc/opnfvtsc-rtd-jobs.yaml
deleted file mode 100644 (file)
index b1923f4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- project:
-    name: opnfvtsc-rtd
-    project: opnfvtsc
-    project-name: opnfvtsc
-
-    gerrit-skip-vote: true
-    project-pattern: 'opnfvtsc'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-opnfvtsc/47400/'
-    rtd-token: 'b8cbc26c46f1b1bd98adbf8c4488787a58d68fdd'
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/opnfvtsc/opnfvtsc-views.yaml b/jjb/opnfvtsc/opnfvtsc-views.yaml
deleted file mode 100644 (file)
index 7c29295..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
-    name: opnfvtsc-view
-    views:
-      - project-view
-    project-name: opnfvtsc
diff --git a/jjb/ovn4nfv/golang-make-test.sh b/jjb/ovn4nfv/golang-make-test.sh
deleted file mode 100644 (file)
index 7ed4632..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Intel Corporation.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -o errexit
-set -o pipefail
-
-source /etc/os-release || source /usr/lib/os-release
-case ${ID,,} in
-    ubuntu|debian)
-    sudo add-apt-repository -y ppa:longsleep/golang-backports
-    sudo apt-get update
-    sudo apt-get install -y build-essential golang-go
-    sudo apt-get -y clean && sudo apt-get -y autoremove
-    ;;
-esac
-
-echo "Running unit tests in Go ${golang_version} ..."
-cd $WORKSPACE
-make test
diff --git a/jjb/ovn4nfv/ovn4nfv-k8s-plugins-project-jobs.yaml b/jjb/ovn4nfv/ovn4nfv-k8s-plugins-project-jobs.yaml
deleted file mode 100644 (file)
index 849be93..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
----
-- project:
-    name: ovn4nfv-k8s-plugin-project-jobs
-
-    project: 'ovn4nfv-k8s-plugin'
-
-    jobs:
-      - 'ovn4nfv-k8s-plugin-verify-{stream}'
-      - 'ovn4nfv-k8s-plugin-merge-{stream}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          gs-pathname: ''
-          disabled: false
-
-################################
-# job templates
-################################
-
-- job-template:
-    name: 'ovn4nfv-k8s-plugin-verify-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - opnfv-build-defaults
-
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          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: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-
-    wrappers:
-      - ssh-agent-wrapper
-      - timeout:
-          timeout: 30
-          fail: true
-
-    builders:
-      - ovn4nfv-k8s-plugin-unit-tests-golang
-
-- job-template:
-    name: 'ovn4nfv-k8s-plugin-merge-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - opnfv-build-defaults
-
-    scm:
-      - git-scm
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - change-merged-event
-            - comment-added-contains-event:
-                comment-contains-value: 'remerge'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-
-    wrappers:
-      - ssh-agent-wrapper
-      - timeout:
-          timeout: 30
-          fail: true
-
-    builders:
-      - ovn4nfv-k8s-plugin-unit-tests-golang
-
-################################
-# job builders
-################################
-
-- builder:
-    name: ovn4nfv-k8s-plugin-unit-tests-golang
-    builders:
-      - shell:
-          !include-raw: ./golang-make-test.sh
diff --git a/jjb/pharos/check-jinja2.yaml b/jjb/pharos/check-jinja2.yaml
deleted file mode 100644 (file)
index e3f0df7..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
----
-########################
-# Job configuration to validate jinja2 files
-########################
-- project:
-
-    name: validate-pdf-templates
-
-    project: 'pharos'
-
-    jobs:
-      - 'validate-pdf-jinja2-templates-{stream}'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - fraser: &fraser
-          branch: 'stable/{stream}'
-          disabled: false
-      - euphrates:
-          branch: 'stable/{stream}'
-          disabled: false
-
-########################
-# job templates
-########################
-
-- job-template:
-    name: 'validate-pdf-jinja2-templates-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: true
-
-    parameters:
-      - project-parameter:
-          project: $GERRIT_PROJECT
-          branch: '{branch}'
-      - node:
-          name: SLAVE_NAME
-          description: Slave to execute jnija template test
-          default-slaves:
-            - lf-build1
-          allowed-multiselect: true
-          ignore-offline-nodes: true
-
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          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: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'REG_EXP'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              file-paths:
-                - compare-type: ANT
-                  pattern: '**/*.yaml'
-                - compare-type: ANT
-                  pattern: 'config/utils/*.py'
-                - compare-type: ANT
-                  pattern: 'config/installers/**/*.j2'
-                - compare-type: ANT
-                  pattern: 'check-*.sh'
-          skip-vote:
-            successful: false
-            failed: false
-            unstable: false
-            notbuilt: false
-
-    builders:
-      - check-pdf-jinja
-      - check-pdf-schema
-
-- builder:
-    name: check-pdf-jinja
-    builders:
-      - shell: |
-          $WORKSPACE/config/utils/check-jinja2.sh
-- builder:
-    name: check-pdf-schema
-    builders:
-      - shell: |
-          $WORKSPACE/config/utils/check-schema.sh
diff --git a/jjb/pharos/pharos-rtd-jobs.yaml b/jjb/pharos/pharos-rtd-jobs.yaml
deleted file mode 100644 (file)
index 60bcd8a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- project:
-    name: pharos-rtd
-    project: pharos
-    project-name: pharos
-
-    project-pattern: 'pharos'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-pharos/47385/'
-    rtd-token: '12cb789478d0c3577fb62c610232b3113d3a16ad'
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/pharos/pharos-views.yaml b/jjb/pharos/pharos-views.yaml
deleted file mode 100644 (file)
index e413632..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
-    name: pharos-view
-    views:
-      - project-view
-    project-name: pharos
diff --git a/jjb/pharos/pharos.yaml b/jjb/pharos/pharos.yaml
deleted file mode 100644 (file)
index 0b51196..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
----
-- project:
-    name: pharos
-
-    project:
-      - '{name}'
-
-    disabled: false
-
-    jobs:
-      - '{project}-verify-basic'
index 2a25061..f64650b 100644 (file)
     # Required Variables:
     #     stream:    branch with - in place of / (eg. stable)
     #     branch:    branch (eg. stable)
-    node: master
-
     disabled: false
 
     parameters:
       - project-parameter:
           project: '{project}'
           branch: '{branch}'
+      - opnfv-build-defaults
 
     scm:
       - git-scm
index 7795ba2..98d2acc 100644 (file)
     storperf-receivers: &storperf-receivers
       receivers: >
           mbeierl@vmware.com
+    samplevnf-receivers: &samplevnf-receivers
+      receivers: >
+          luc.provoost@intel.com
+          yury.kylulin@intel.com
     other-receivers: &other-receivers
       receivers: ''
 
           dockerdir: 'docker/barometer-snmp'
           <<: *master
           <<: *other-receivers
-      - 'clover':
-          project: 'clover'
-          dockerdir: '.'
-          dockerfile: 'docker/Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-ns-nginx-lb':
-          project: 'clover'
-          dockerdir: 'samples/services/nginx/docker'
-          dockerfile: 'subservices/lb/Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-ns-nginx-proxy':
-          project: 'clover'
-          dockerdir: 'samples/services/nginx/docker'
-          dockerfile: 'subservices/proxy/Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-ns-nginx-server':
-          project: 'clover'
-          dockerdir: 'samples/services/nginx/docker'
-          dockerfile: 'subservices/server/Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-ns-snort-ids':
-          project: 'clover'
-          dockerdir: 'samples/services/snort_ids/docker'
-          dockerfile: 'Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-controller':
-          project: 'clover'
-          dockerdir: 'clover/controller'
-          dockerfile: 'docker/Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-collector':
-          project: 'clover'
-          dockerdir: 'clover/collector'
-          dockerfile: 'docker/Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-jmeter-master':
-          project: 'clover'
-          dockerdir: 'clover/tools/jmeter'
-          dockerfile: 'jmeter-master/Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-jmeter-slave':
-          project: 'clover'
-          dockerdir: 'clover/tools/jmeter'
-          dockerfile: 'jmeter-slave/Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-sample-app':
-          project: 'clover'
-          dockerdir: 'samples/scenarios/sample_app'
-          dockerfile: 'Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-ns-modsecurity-crs':
-          project: 'clover'
-          dockerdir: 'samples/services/modsecurity/docker'
-          dockerfile: 'Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-spark':
-          project: 'clover'
-          dockerdir: 'clover/spark/docker/clover-spark'
-          dockerfile: 'Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-spark-submit':
-          project: 'clover'
-          dockerdir: 'clover/spark/docker/spark-submit'
-          dockerfile: 'Dockerfile'
-          <<: *master
-          <<: *other-receivers
-      - 'clover-clovisor':
-          project: 'clover'
-          dockerdir: 'clover/clovisor'
-          dockerfile: 'Dockerfile'
-          <<: *master
-          <<: *other-receivers
       - 'dovetail':
           project: 'dovetail'
           <<: *master
           arch_tag: 'x86_64'
           <<: *master
           <<: *storperf-receivers
+      - 'rapid':
+          project: 'samplevnf'
+          dockerdir: 'VNFs/DPPD-PROX/helper-scripts/rapid'
+          <<: *master
+          <<: *samplevnf-receivers
 
       # projects with jobs for hunter
       - 'dovetail':
index f85606f..d583304 100644 (file)
           name: SLAVE_NAME
           description: Slaves to prune docker images
           default-slaves:
-            - arm-build3
-            - arm-build4
-            - arm-build5
-            - ericsson-build4
             - lf-build2
+            - lf-build5
+            - lf-build6
           allowed-multiselect: true
           ignore-offline-nodes: true
 
diff --git a/jjb/stor4nfv/stor4nfv-project.yaml b/jjb/stor4nfv/stor4nfv-project.yaml
deleted file mode 100644 (file)
index 6e796cf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
----
-- project:
-    name: stor4nfv
-
-    project: '{name}'
-
-    jobs:
-      - '{project}-verify-basic'
diff --git a/jjb/stor4nfv/stor4nfv-rtd-jobs.yaml b/jjb/stor4nfv/stor4nfv-rtd-jobs.yaml
deleted file mode 100644 (file)
index 0383c77..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
----
-- project:
-    name: stor4nfv-rtd
-    project: stor4nfv
-    project-name: stor4nfv
-
-    project-pattern: 'stor4nfv'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-stor4nfv/47394/'
-    rtd-token: '9c189b44cf08de75dc06253558cc86ed93982cbb'
-
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: false
-      - hunter: &hunter
-          branch: 'stable/{stream}'
-          gs-pathname: '/{stream}'
-          disabled: false
-      - gambia:
-          branch: 'stable/{stream}'
-          disabled: false
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/stor4nfv/stor4nfv-views.yaml b/jjb/stor4nfv/stor4nfv-views.yaml
deleted file mode 100644 (file)
index 74ddd2e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
-    name: stor4nfv-view
-    views:
-      - project-view
-    project-name: stor4nfv
diff --git a/jjb/xci/bifrost-cleanup-job.yaml b/jjb/xci/bifrost-cleanup-job.yaml
deleted file mode 100644 (file)
index d517761..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
----
-- project:
-    name: 'openstack-bifrost-cleanup'
-    # -------------------------------
-    # branches
-    # -------------------------------
-    stream:
-      - master:
-          branch: '{stream}'
-
-    # -------------------------------
-    # projects
-    # -------------------------------
-    project:
-      - 'openstack':
-          project-repo: 'https://git.openstack.org/openstack/bifrost'
-          clone-location: '/opt/bifrost'
-      - 'opnfv':
-          project-repo: 'https://gerrit.opnfv.org/gerrit/releng-xci'
-          clone-location: '/opt/releng-xci'
-
-    # -------------------------------
-    # jobs
-    # -------------------------------
-    jobs:
-      - '{project}-bifrost-cleanup-{stream}'
-
-- job-template:
-    name: '{project}-bifrost-cleanup-{stream}'
-
-    disabled: true
-    concurrent: false
-
-    node: bifrost-verify-virtual
-
-    # Make sure no verify job is running on any of the slaves since that would
-    # produce build logs after we wipe the destination directory.
-    properties:
-      - build-blocker:
-          blocking-jobs:
-            - '{project}-bifrost-verify-*'
-
-    parameters:
-      - string:
-          name: PROJECT
-          default: '{project}'
-
-    builders:
-      - shell: |
-          #!/bin/bash
-
-          set -eu
-
-          # DO NOT change this unless you know what you are doing.
-          BIFROST_GS_URL="gs://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/"
-
-          # This should never happen... even 'recheck' uses the last jobs'
-          # gerrit information. Better exit with error so we can investigate
-          [[ ! -n $GERRIT_NAME ]] || [[ ! -n $GERRIT_CHANGE_NUMBER ]] && exit 1
-
-          echo "Removing build artifacts for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER"
-
-          if ! [[ "$BIFROST_GS_URL" =~ "/cross-community-ci/openstack/bifrost/" ]]; then
-              echo "Oops! BIFROST_GS_URL=$BIFROST_GS_URL does not seem like a valid"
-              echo "bifrost location on the Google storage server. Please double-check"
-              echo "that it's set properly or fix this line if necessary."
-              echo "gsutil will not be executed until this is fixed!"
-              exit 1
-          fi
-          try_to_rm=1
-          while [[ $try_to_rm -lt 6 ]]; do
-              gsutil -m rm -r $BIFROST_GS_URL && _exitcode=$? && break
-              _exitcode=$?
-              echo "gsutil rm failed! Trying again... (attempt #$try_to_rm)"
-              let try_to_rm += 1
-              # Give it some time...
-              sleep 10
-          done
-          exit $_exitcode
-
-    triggers:
-      - '{project}-gerrit-trigger-cleanup':
-          branch: '{branch}'
-
-    publishers:
-      # yamllint disable rule:line-length
-      - email:
-          recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com zhang.jun3g@zte.com.cn
-      # yamllint enable rule:line-length
-      - email-jenkins-admins-on-failure
-# -------------------------------
-# trigger macros
-# -------------------------------
-- trigger:
-    name: 'openstack-gerrit-trigger-cleanup'
-    triggers:
-      - gerrit:
-          server-name: 'review.openstack.org'
-          escape-quotes: true
-          trigger-on:
-            # We only run this when the change is merged or
-            # abandoned since we don't need the logs anymore
-            - change-merged-event
-            - change-abandoned-event
-          # This is an OPNFV maintenance job. We don't want to provide
-          # feedback on Gerrit
-          silent: true
-          silent-start: true
-          projects:
-            - project-compare-type: 'PLAIN'
-              project-pattern: 'openstack/bifrost'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              disable-strict-forbidden-file-verification: 'true'
-              forbidden-file-paths:
-                - compare-type: ANT
-                  pattern: 'doc/**'
-                - compare-type: ANT
-                  pattern: 'releasenotes/**'
-          readable-message: true
-
-- trigger:
-    name: 'opnfv-gerrit-trigger-cleanup'
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            # We only run this when the change is merged or
-            # abandoned since we don't need the logs anymore
-            - change-merged-event
-            - change-abandoned-event
-          # This is an OPNFV maintenance job. We don't want to provide
-          # feedback on Gerrit
-          silent: true
-          silent-start: true
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'releng-xci'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              file-paths:
-                - compare-type: ANT
-                  pattern: 'bifrost/**'
-          readable-message: true
diff --git a/jjb/xci/bifrost-periodic-jobs.yaml b/jjb/xci/bifrost-periodic-jobs.yaml
deleted file mode 100644 (file)
index 4c61be1..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
----
-- project:
-    project: 'releng-xci'
-
-    name: 'bifrost-periodic'
-    # -------------------------------
-    # Branch Anchors
-    # -------------------------------
-    # the versions stated here default to branches which then later
-    # on used for checking out the branches, pulling in head of the branch.
-    master: &master
-      stream: master
-      openstack-bifrost-version: '{stream}'
-      opnfv-releng-version: 'master'
-      gs-pathname: ''
-    ocata: &ocata
-      stream: ocata
-      openstack-bifrost-version: 'stable/{stream}'
-      opnfv-releng-version: 'master'
-      gs-pathname: '/{stream}'
-    # -------------------------------
-    #        XCI PODs
-    # -------------------------------
-    pod:
-      - virtual:
-          <<: *master
-      - virtual:
-          <<: *ocata
-    # -------------------------------
-    # XCI PODs
-    # -------------------------------
-    # -------------------------------
-    # Supported Distros
-    # -------------------------------
-    distro:
-      - 'xenial':
-          disabled: false
-          slave-label: xci-xenial-virtual
-          dib-os-release: 'xenial'
-          dib-os-element: 'ubuntu-minimal'
-          # yamllint disable rule:line-length
-          dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptables'
-          # yamllint enable rule:line-length
-          extra-dib-elements: 'openssh-server'
-      - 'centos7':
-          disabled: true
-          slave-label: xci-centos7-virtual
-          dib-os-release: '7'
-          dib-os-element: 'centos7'
-          dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
-          extra-dib-elements: 'openssh-server'
-      - 'suse':
-          disabled: true
-          slave-label: xci-suse-virtual
-          dib-os-release: '42.3'
-          dib-os-element: 'opensuse-minimal'
-          dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
-          extra-dib-elements: 'openssh-server'
-
-    # -------------------------------
-    # jobs
-    # -------------------------------
-    jobs:
-      - 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
-
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
-    name: 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    properties:
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - '^xci-os.*'
-            - '^xci-deploy.*'
-            - '^xci-functest.*'
-            - '^bifrost-.*periodic.*'
-            - '^osa-.*periodic.*'
-          blocking-level: 'NODE'
-      - logrotate-default
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{opnfv-releng-version}'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-      - string:
-          name: XCI_FLAVOR
-          default: 'ha'
-      - string:
-          name: OPENSTACK_BIFROST_VERSION
-          default: '{openstack-bifrost-version}'
-      - string:
-          name: OPNFV_RELENG_VERSION
-          default: '{opnfv-releng-version}'
-      - string:
-          name: DISTRO
-          default: '{distro}'
-      - string:
-          name: DIB_OS_RELEASE
-          default: '{dib-os-release}'
-      - string:
-          name: DIB_OS_ELEMENT
-          default: '{dib-os-element}'
-      - string:
-          name: DIB_OS_PACKAGES
-          default: '{dib-os-packages}'
-      - string:
-          name: EXTRA_DIB_ELEMENTS
-          default: '{extra-dib-elements}'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - label:
-          name: SLAVE_LABEL
-          default: '{slave-label}'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: CI_LOOP
-          default: 'periodic'
-
-    wrappers:
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm
-
-    # trigger is disabled until we know which jobs we will have
-    # and adjust stuff accordingly
-    triggers:
-      - timed: ''  # '@midnight'
-
-    builders:
-      - description-setter:
-          description: "Built on $NODE_NAME - Flavor: $XCI_FLAVOR"
-      - 'bifrost-provision-builder'
-
-# --------------------------
-# builder macros
-# --------------------------
-- builder:
-    name: bifrost-provision-builder
-    builders:
-      - shell:
-          !include-raw: ./bifrost-provision.sh
diff --git a/jjb/xci/bifrost-provision.sh b/jjb/xci/bifrost-provision.sh
deleted file mode 100755 (executable)
index 4d646a6..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 Ericsson AB 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
-##############################################################################
-set -o errexit
-set -o nounset
-set -o pipefail
-
-trap cleanup_and_upload EXIT
-
-function fix_ownership() {
-    if [ -z "${JOB_URL+x}" ]; then
-        echo "Not running as part of Jenkins. Handle the logs manually."
-    else
-        # Make sure cache exists
-        [[ ! -d ${HOME}/.cache ]] && mkdir ${HOME}/.cache
-
-        sudo chown -R jenkins:jenkins $WORKSPACE
-        sudo chown -R jenkins:jenkins ${HOME}/.cache
-    fi
-}
-
-function cleanup_and_upload() {
-    original_exit=$?
-    fix_ownership
-    exit $original_exit
-}
-
-# check distro to see if we support it
-if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then
-    echo "Distro $DISTRO is not supported!"
-    exit 1
-fi
-
-# remove previously cloned repos
-sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/releng-xci /opt/functest
-
-# Fix up permissions
-fix_ownership
-
-# ensure the versions to checkout are set
-export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-master}
-export OPNFV_RELENG_VERSION=${OPNFV_RELENG_VERSION:-master}
-
-# log some info
-echo -e "\n"
-echo "***********************************************************************"
-echo "*                                                                     *"
-echo "*                      Provision OpenStack Nodes                      *"
-echo "*                                                                     *"
-echo "                       bifrost version: $OPENSTACK_BIFROST_VERSION"
-echo "                       releng version: $OPNFV_RELENG_VERSION"
-echo "*                                                                     *"
-echo "***********************************************************************"
-echo -e "\n"
-
-# clone the repos and checkout the versions
-sudo git clone --quiet https://git.openstack.org/openstack/bifrost /opt/bifrost
-cd /opt/bifrost && sudo git checkout --quiet $OPENSTACK_BIFROST_VERSION
-echo "xci: using bifrost commit"
-git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>'
-
-sudo git clone --quiet https://gerrit.opnfv.org/gerrit/releng-xci /opt/releng-xci
-cd /opt/releng-xci && sudo git checkout --quiet $OPNFV_RELENG_VERSION
-echo "xci: using releng commit"
-git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>'
-
-# source flavor vars
-source "$WORKSPACE/xci/config/${XCI_FLAVOR}-vars"
-
-# combine opnfv and upstream scripts/playbooks
-sudo /bin/cp -rf /opt/releng-xci/bifrost/* /opt/bifrost/
-
-# cleanup remnants of previous deployment
-cd /opt/bifrost
-sudo -E ./scripts/destroy-env.sh
-
-# provision VMs for the flavor
-cd /opt/bifrost
-./scripts/bifrost-provision.sh
-
-# list the provisioned VMs
-cd /opt/bifrost
-source env-vars
-ironic node-list
-sudo -H -E virsh list
-
-echo "OpenStack nodes are provisioned!"
-# here we have to do something in order to capture what was the working sha1
-# hardcoding stuff for the timebeing
-
-cd /opt/bifrost
-BIFROST_GIT_SHA1=$(git rev-parse HEAD)
-
-# log some info
-echo -e "\n"
-echo "***********************************************************************"
-echo "*                       BIFROST SHA1 TO PIN                           *"
-echo "*                                                                     *"
-echo "    $BIFROST_GIT_SHA1"
-echo "*                                                                     *"
-echo "***********************************************************************"
-
-echo -e "\n"
diff --git a/jjb/xci/bifrost-verify-jobs.yaml b/jjb/xci/bifrost-verify-jobs.yaml
deleted file mode 100644 (file)
index f895cf6..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
----
-- project:
-    name: 'openstack-bifrost-verify'
-    # -------------------------------
-    # branches
-    # -------------------------------
-    stream:
-      - master:
-          branch: '{stream}'
-    # -------------------------------
-    # distros
-    # -------------------------------
-    distro:
-      - 'xenial':
-          disabled: true
-          dib-os-release: 'xenial'
-          dib-os-element: 'ubuntu-minimal'
-          dib-os-packages: 'vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl'
-          extra-dib-elements: 'openssh-server'
-      - 'centos7':
-          disabled: true
-          dib-os-release: '7'
-          dib-os-element: 'centos-minimal'
-          dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
-          extra-dib-elements: 'openssh-server'
-      - 'opensuse423':
-          disabled: true
-          dib-os-release: '42.3'
-          dib-os-element: 'opensuse-minimal'
-          dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
-          extra-dib-elements: 'openssh-server'
-    # -------------------------------
-    # type
-    # -------------------------------
-    type:
-      - virtual
-    # -------------------------------
-    # jobs
-    # -------------------------------
-    jobs:
-      - 'openstack-bifrost-verify-{distro}-{type}-{stream}'
-
-# -------------------------------
-# VM defaults
-# -------------------------------
-- defaults:
-    name: verify_vm_defaults
-    test-vm-num-nodes: '3'
-    test-vm-node-names: 'opnfv controller00 compute00'
-    vm-domain-type: 'kvm'
-    vm-cpu: '2'
-    vm-disk: '30'
-    vm-memory-size: '4096'
-    vm-disk-cache: 'unsafe'
-
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
-    name: 'openstack-bifrost-verify-{distro}-{type}-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    defaults: verify_vm_defaults
-
-    concurrent: false
-
-    properties:
-      - logrotate-default
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'xci-verify-{distro}-.*'
-            - 'xci-.*-{distro}-merge-.*'
-            - '.*-bifrost-verify.*-{type}'
-      - throttle:
-          max-per-node: 2
-          max-total: 10
-          categories:
-            - xci-verify-virtual
-          option: category
-
-          blocking-level: 'NODE'
-
-    parameters:
-      - string:
-          name: PROJECT_REPO
-          default: 'https://git.openstack.org/openstack/bifrost'
-      - string:
-          name: DISTRO
-          default: '{distro}'
-      - string:
-          name: DIB_OS_RELEASE
-          default: '{dib-os-release}'
-      - string:
-          name: DIB_OS_ELEMENT
-          default: '{dib-os-element}'
-      - string:
-          name: EXTRA_DIB_ELEMENTS
-          default: '{extra-dib-elements}'
-      - string:
-          name: DIB_OS_PACKAGES
-          default: '{dib-os-packages}'
-      - string:
-          name: TEST_VM_NUM_NODES
-          default: '{test-vm-num-nodes}'
-      - string:
-          name: TEST_VM_NODE_NAMES
-          default: '{test-vm-node-names}'
-      - string:
-          name: VM_DOMAIN_TYPE
-          default: '{vm-domain-type}'
-      - string:
-          name: VM_CPU
-          default: '{vm-cpu}'
-      - string:
-          name: VM_DISK
-          default: '{vm-disk}'
-      - string:
-          name: VM_MEMORY_SIZE
-          default: '{vm-memory-size}'
-      - string:
-          name: VM_DISK_CACHE
-          default: '{vm-disk-cache}'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - label:
-          name: SLAVE_LABEL
-          default: 'xci-virtual'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: CI_LOOP
-          default: 'verify'
-
-    scm:
-      - git:
-          url: '$PROJECT_REPO'
-          refspec: '$GERRIT_REFSPEC'
-          branches:
-            - 'origin/$BRANCH'
-          skip-tag: true
-          choosing-strategy: 'gerrit'
-          timeout: 10
-          wipe-workspace: true
-
-    triggers:
-      - 'openstack-gerrit-trigger':
-          branch: '{branch}'
-
-    builders:
-      - bifrost-set-name
-      - bifrost-build
-
-    wrappers:
-      - fix-workspace-permissions
-      - build-timeout:
-          timeout: 180
-
-    publishers:
-      # yamllint disable rule:line-length
-      - email:
-          recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
-      # yamllint enable rule:line-length
-      - email-jenkins-admins-on-failure
-      - postbuildscript:
-          builders:
-            - role: BOTH
-              build-on:
-                - ABORTED
-                - FAILURE
-                - NOT_BUILT
-                - SUCCESS
-                - UNSTABLE
-              build-steps:
-                - shell: !include-raw: ./xci-cleanup.sh
-          mark-unstable-if-failed: true
-
-# -------------------------------
-# trigger macros
-# -------------------------------
-- trigger:
-    name: 'openstack-gerrit-trigger'
-    triggers:
-      - gerrit:
-          server-name: 'review.openstack.org'
-          escape-quotes: true
-          trigger-on:
-            - patchset-created-event:
-                exclude-drafts: 'false'
-                exclude-trivial-rebase: 'false'
-                exclude-no-code-change: 'false'
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-          silent-start: true
-          custom-url: '* $JOB_NAME $BUILD_URL'
-          projects:
-            - project-compare-type: 'PLAIN'
-              project-pattern: 'openstack/bifrost'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              disable-strict-forbidden-file-verification: 'true'
-              forbidden-file-paths:
-                - compare-type: ANT
-                  pattern: 'doc/**'
-                - compare-type: ANT
-                  pattern: 'releasenotes/**'
-          readable-message: true
-
-# --------------------------
-# builder macros
-# --------------------------
-- builder:
-    name: bifrost-set-name
-    builders:
-      - description-setter:
-          description: "Built on $NODE_NAME"
-
-- builder:
-    name: bifrost-build
-    builders:
-      - shell:
-          !include-raw: ./bifrost-verify.sh
diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh
deleted file mode 100755 (executable)
index c810212..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 Ericsson AB 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
-##############################################################################
-set -o errexit
-set -o nounset
-set -o pipefail
-
-git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE/releng-xci
-
-cd $WORKSPACE
-git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD
-
-# combine opnfv and upstream scripts/playbooks
-/bin/cp -rf $WORKSPACE/releng-xci/xci/infra/bifrost/* $WORKSPACE/
-
-cd $WORKSPACE/releng-xci
-cat > bifrost_test.sh<<EOF
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd ~/bifrost
-# set path for XCI repository
-export XCI_PATH=~/bifrost/releng-xci
-
-# provision 3 VMs; xcimaster, controller, and compute
-./scripts/bifrost-provision.sh | ts
-
-sudo -H -E virsh list
-EOF
-chmod a+x bifrost_test.sh
-
-# Fix up distros
-case ${DISTRO} in
-       xenial) VM_DISTRO=ubuntu ;;
-       centos7) VM_DISTRO=centos ;;
-       *suse*) VM_DISTRO=opensuse ;;
-esac
-
-export XCI_BUILD_CLEAN_VM_OS=false
-export XCI_UPDATE_CLEAN_VM_OS=true
-
-./xci/scripts/vm/start-new-vm.sh $VM_DISTRO
-
-rsync -a -e "ssh -F $HOME/.ssh/${VM_DISTRO}-xci-vm-config" $WORKSPACE/ ${VM_DISTRO}_xci_vm:~/bifrost
-
-ssh -F $HOME/.ssh/${VM_DISTRO}-xci-vm-config ${VM_DISTRO}_xci_vm "cd ~/bifrost/releng-xci && ./bifrost_test.sh"
diff --git a/jjb/xci/osa-periodic-jobs.yaml b/jjb/xci/osa-periodic-jobs.yaml
deleted file mode 100644 (file)
index b731bf5..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
----
-- project:
-    name: 'opnfv-osa-periodic'
-
-    project: openstack-ansible
-    # -------------------------------
-    # branches
-    # -------------------------------
-    stream:
-      - master:
-          branch: '{stream}'
-    # -------------------------------
-    # distros
-    # -------------------------------
-    distro:
-      - ubuntu:
-          disabled: false
-      - centos:
-          disabled: false
-      - opensuse:
-          disabled: false
-    # -------------------------------
-    # type
-    # -------------------------------
-    type:
-      - virtual
-    # -------------------------------
-    # periodic deploy & test phases
-    # -------------------------------
-    phase:
-      - 'deploy'
-      - 'healthcheck'
-    # -------------------------------
-    # jobs
-    # -------------------------------
-    jobs:
-      - 'xci-osa-periodic-{distro}-{type}-{stream}'
-      - 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}'
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
-    name: 'xci-osa-periodic-{distro}-{type}-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'xci-verify-{distro}-.*'
-            - 'bifrost-verify-{distro}-.*'
-            - 'bifrost-periodic-{distro}-.*'
-            - 'xci-osa-verify-{distro}-.*'
-            - 'xci-osa-periodic-{distro}-.*'
-          blocking-level: 'NODE'
-      - throttle:
-          max-per-node: 2
-          max-total: 10
-          categories:
-            - xci-verify-virtual
-          option: category
-
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm-openstack
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: 'xci-virtual'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: OPENSTACK_OSA_VERSION
-          default: 'master'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - string:
-          name: GIT_BASE
-          default: 'https://git.openstack.org/openstack/$PROJECT'
-          description: 'Git URL to use on this Jenkins Slave'
-
-    builders:
-      - description-setter:
-          description: "Built on $NODE_NAME"
-      - multijob:
-          name: deploy
-          condition: SUCCESSFUL
-          projects:
-            - name: 'xci-osa-periodic-{distro}-deploy-{type}-{stream}'
-              current-parameters: true
-              predefined-parameters: |
-                DISTRO={distro}
-                DEPLOY_SCENARIO=os-nosdn-nofeature-noha
-                OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                BRANCH=$BRANCH
-              node-parameters: true
-              kill-phase-on: FAILURE
-              abort-all-job: true
-              git-revision: true
-      - multijob:
-          name: healthcheck
-          condition: SUCCESSFUL
-          projects:
-            - name: 'xci-osa-periodic-{distro}-healthcheck-{type}-{stream}'
-              current-parameters: true
-              predefined-parameters: |
-                DISTRO={distro}
-                DEPLOY_SCENARIO=os-nosdn-nofeature-noha
-                OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                FUNCTEST_MODE=tier
-                FUNCTEST_TIER=healthcheck
-                BRANCH=$BRANCH
-              node-parameters: true
-              kill-phase-on: NEVER
-              abort-all-job: true
-
-- job-template:
-    name: 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}'
-
-    disabled: false
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - '.*-bifrost-verify-.*'
-            - '.*-bifrost-periodic-.*'
-          blocking-level: 'NODE'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - string:
-          name: DISTRO
-          default: 'ubuntu'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: 'os-nosdn-nofeature-noha'
-      - string:
-          name: OPENSTACK_OSA_VERSION
-          default: 'master'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'healthcheck'
-      - string:
-          name: XCI_FLAVOR
-          default: 'mini'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - string:
-          name: INSTALLER_TYPE
-          default: 'osa'
-      - string:
-          name: GIT_BASE
-          default: 'https://git.openstack.org/openstack/$PROJECT'
-          description: 'Git URL to use on this Jenkins Slave'
-
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm-openstack
-
-    builders:
-      - description-setter:
-          description: "Built on $NODE_NAME"
-      - 'xci-osa-periodic-{phase}-macro'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-- builder:
-    name: 'xci-osa-periodic-deploy-macro'
-    builders:
-      - shell: |
-          #!/bin/bash
-
-          cd $WORKSPACE
-
-          # The start-new-vm.sh script will copy the entire releng-xci directory
-          # so lets prepare the test script now so it can be copied by the script.
-          # Please do not move it elsewhere or you would have to move it to the VM
-          # yourself.
-          cat > xci_test.sh<<EOF
-          #!/bin/bash
-          export DISTRO=$DISTRO
-          export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-          export OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
-          export FUNCTEST_MODE=$FUNCTEST_MODE
-          export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-          export XCI_FLAVOR=$XCI_FLAVOR
-          export CORE_OPENSTACK_INSTALL=true
-          export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-          export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
-          export INSTALLER_TYPE=$INSTALLER_TYPE
-          export GIT_BASE=$GIT_BASE
-          export JENKINS_HOME=$JENKINS_HOME
-
-          cd xci
-          ./xci-deploy.sh
-          EOF
-          chmod a+x xci_test.sh
-
-          export XCI_BUILD_CLEAN_VM_OS=false
-          export XCI_UPDATE_CLEAN_VM_OS=true
-
-          ./xci/scripts/vm/start-new-vm.sh $DISTRO
-      - shell: |
-          #!/bin/bash
-
-          ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh"
-
-
-- builder:
-    name: 'xci-osa-periodic-healthcheck-macro'
-    builders:
-      - shell: |
-          #!/bin/bash
-
-          echo "Hello World!"
-      - shell: |
-          #!/bin/bash
-
-          sudo virsh destroy ${DISTRO}_xci_vm || true
-          sudo virsh undefine ${DISTRO}_xci_vm || true
-
-# this will be enabled once the xci is prepared
-# - builder:
-#    name: 'xci-verify-healthcheck-macro'
-#    builders:
-#        - shell:
-#            !include-raw: ../../utils/fetch_os_creds.sh
-#        - shell:
-#            !include-raw: ../functest/functest-alpine.sh
diff --git a/jjb/xci/xci-cleanup.sh b/jjb/xci/xci-cleanup.sh
deleted file mode 100755 (executable)
index 51a863d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-##############################################################################
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# Need to cover macros with and without parameters
-VM_NAME=$DISTRO
-VM_NAME+=_xci_vm
-
-# skip the deployment if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
-    echo "Skipping the deployment!"
-    exit 0
-fi
-
-sudo virsh destroy $VM_NAME || true
-sudo virsh undefine $VM_NAME || true
diff --git a/jjb/xci/xci-daily-jobs.yaml b/jjb/xci/xci-daily-jobs.yaml
deleted file mode 100644 (file)
index fe3da8b..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
----
-- project:
-    project: 'releng-xci'
-
-    name: 'xci-daily'
-
-    # -------------------------------
-    # Branch Anchors
-    # -------------------------------
-    master: &master
-      stream: master
-      opnfv-releng-version: master
-      gs-pathname: ''
-
-    # -------------------------------
-    # Scenarios
-    # -------------------------------
-    scenario:
-      - 'os-nosdn-nofeature-noha':
-          deploy-scenario: 'os-nosdn-nofeature'
-          installer-type: 'osa'
-          xci-flavor: 'noha'
-      - 'k8-calico-nofeature-noha':
-          deploy-scenario: 'k8-calico-nofeature'
-          installer-type: 'kubespray'
-          xci-flavor: 'noha'
-
-    # -------------------------------
-    # XCI PODs
-    # -------------------------------
-    pod:
-      - baremetal:
-          <<: *master
-
-    # -------------------------------
-    # Supported Distros
-    # -------------------------------
-    distro:
-      - 'ubuntu':
-          disabled: true
-          slave-label: xci-baremetal
-      - 'centos':
-          disabled: true
-          slave-label: xci-baremetal
-      - 'opensuse':
-          disabled: true
-          slave-label: xci-baremetal
-
-    # -------------------------------
-    #        Phases
-    # -------------------------------
-    phase:
-      - 'deploy'
-      - 'functest'
-      - 'yardstick'
-
-    # -------------------------------
-    # jobs
-    # -------------------------------
-    jobs:
-      - 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
-      - 'xci-{phase}-{pod}-{distro}-daily-{stream}'
-
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
-    name: 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    properties:
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - '^xci-verify.*'
-            - '^xci-merge.*'
-            - '^xci-os.*'
-            - '^xci-k8.*'
-            - '^xci-deploy.*'
-            - '^xci-functest.*'
-            - '^bifrost-.*periodic.*'
-            - '^osa-.*periodic.*'
-          blocking-level: 'NODE'
-      - logrotate-default
-
-    triggers:
-      - timed: '@midnight'
-
-    parameters:
-      - string:
-          name: DEPLOY_SCENARIO
-          default: '{deploy-scenario}'
-      - string:
-          name: INSTALLER_TYPE
-          default: '{installer-type}'
-      - string:
-          name: XCI_FLAVOR
-          default: '{xci-flavor}'
-      - label:
-          name: SLAVE_LABEL
-          default: '{slave-label}'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: XCI_DISTRO
-          default: '{distro}'
-      - string:
-          name: FUNCTEST_VERSION
-          default: 'hunter'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'smoke'
-      - string:
-          name: CI_LOOP
-          default: 'daily'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    builders:
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - trigger-builds:
-          - project: 'xci-deploy-{pod}-{distro}-daily-{stream}'
-            current-parameters: false
-            predefined-parameters: |
-              DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-              INSTALLER_TYPE=$INSTALLER_TYPE
-              XCI_FLAVOR=$XCI_FLAVOR
-              CI_LOOP=$CI_LOOP
-              XCI_DISTRO=$XCI_DISTRO
-              FUNCTEST_VERSION=$FUNCTEST_VERSION
-              FUNCTEST_MODE=$FUNCTEST_MODE
-              FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-            same-node: true
-            block: true
-      - trigger-builds:
-          - project: 'xci-functest-{pod}-{distro}-daily-{stream}'
-            current-parameters: false
-            predefined-parameters: |
-              DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-              INSTALLER_TYPE=$INSTALLER_TYPE
-              XCI_FLAVOR=$XCI_FLAVOR
-              CI_LOOP=$CI_LOOP
-              XCI_DISTRO=$XCI_DISTRO
-              FUNCTEST_VERSION=$FUNCTEST_VERSION
-              FUNCTEST_MODE=$FUNCTEST_MODE
-              FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-            same-node: true
-            block: true
-            block-thresholds:
-              build-step-failure-threshold: 'never'
-              failure-threshold: 'never'
-              unstable-threshold: 'FAILURE'
-      - trigger-builds:
-          - project: 'xci-yardstick-{pod}-{distro}-daily-{stream}'
-            current-parameters: false
-            predefined-parameters: |
-              DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-              INSTALLER_TYPE=$INSTALLER_TYPE
-              XCI_FLAVOR=$XCI_FLAVOR
-              CI_LOOP=$CI_LOOP
-              XCI_DISTRO=$XCI_DISTRO
-            same-node: true
-            block: true
-            block-thresholds:
-              build-step-failure-threshold: 'never'
-              failure-threshold: 'never'
-              unstable-threshold: 'FAILURE'
-
-    publishers:
-      # yamllint disable rule:line-length
-      # yamllint enable rule:line-length
-      - email-jenkins-admins-on-failure
-
-- job-template:
-    name: 'xci-{phase}-{pod}-{distro}-daily-{stream}'
-
-    disabled: false
-
-    concurrent: true
-
-    properties:
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - '^xci-verify.*'
-            - '^xci-merge.*'
-            - '^xci-deploy.*'
-            - '^xci-functest.*'
-            - '^bifrost-.*periodic.*'
-            - '^osa-.*periodic.*'
-          blocking-level: 'NODE'
-      - throttle:
-          enabled: true
-          max-per-node: 1
-          option: 'project'
-      - logrotate-default
-
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{opnfv-releng-version}'
-      - string:
-          name: DEPLOY_SCENARIO
-          default: 'os-nosdn-nofeature-noha'
-      - string:
-          name: INSTALLER_TYPE
-          default: 'osa'
-      - string:
-          name: XCI_FLAVOR
-          default: 'noha'
-      - string:
-          name: XCI_DISTRO
-          default: 'ubuntu'
-      - label:
-          name: SLAVE_LABEL
-          default: '{slave-label}'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: FUNCTEST_VERSION
-          default: 'hunter'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'smoke'
-      - string:
-          name: CI_LOOP
-          default: 'daily'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-
-    builders:
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - 'xci-daily-{phase}-macro'
-
-# --------------------------
-# builder macros
-# --------------------------
-# These need to be properly fixed once the basic deployment, functest, and
-# yardstick jobs are working outside of clean vm.
-# One of the ugly fixes is moving test  preparation step into the
-# deployment job itself since test preparation requires some of the
-# things from deployment job. With clean VM, this wasn't an issue
-# since everything was on clean VM. When we move things out of clean
-# VM, things are done in workspaces of the jobs that are different.
-#
-# Apart from these things, we will need to go through the scripts
-# used for verify jobs and make them updated in order to be able to
-# use them for jobs that don't use clean VM.
-- builder:
-    name: 'xci-daily-deploy-macro'
-    builders:
-      - shell: |
-          #!/bin/bash
-          set -o errexit
-          set -o pipefail
-
-          echo "Cleaning the leftovers from the earlier run"
-          echo "---------------------------------------------------------------------------------"
-          for vm in $(sudo virsh list --all --name | grep -v xci_vm); do
-              echo "Removing $vm"
-              sudo virsh destroy $vm > /dev/null 2>&1 || true
-              sudo virsh undefine $vm > /dev/null 2>&1 || true
-              sudo killall -r vbmc > /dev/null 2>&1 || true
-              sudo rm -rf /root/.vbmc > /dev/null 2>&1 || true
-          done
-          echo "---------------------------------------------------------------------------------"
-
-          # select the right PDF/IDF
-          export PDF=$WORKSPACE/xci/var/${NODE_NAME}-pdf.yml
-          export IDF=$WORKSPACE/xci/var/${NODE_NAME}-idf.yml
-          if [[ "$NODE_NAME" =~ "virtual" ]]; then
-              export PDF=$WORKSPACE/xci/var/pdf.yml
-              export IDF=$WORKSPACE/xci/var/idf.yml
-          fi
-
-          cd $WORKSPACE/xci && ./xci-deploy.sh -p $PDF -i $IDF
-
-          echo "Prepare OPNFV VM for Tests"
-          echo "---------------------------------------------------------------------------------"
-          export XCI_PATH=$WORKSPACE
-          export XCI_VENV=${XCI_PATH}/venv
-          source $XCI_VENV/bin/activate
-          while read var; do
-              declare -x "\${var}" 2>/dev/null
-              echo $var
-          done < ${XCI_PATH}/.cache/xci.env && cd ${XCI_PATH}/xci && \
-          ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml
-          ssh root@192.168.122.2 "/root/prepare-tests.sh"
-          echo "---------------------------------------------------------------------------------"
-
-- builder:
-    name: 'xci-daily-functest-macro'
-    builders:
-      - shell: |
-          #!/bin/bash
-          set -o pipefail
-
-          ssh root@192.168.122.2 "/root/run-functest.sh"
-          functest_exit=$?
-
-          case ${DEPLOY_SCENARIO[0]} in
-              os-*)
-                  FUNCTEST_LOG=/root/functest-results/functest.log
-                  ;;
-              k8-*)
-                  FUNCTEST_LOG=/root/functest-results/functest-kubernetes.log
-                  ;;
-              *)
-                  echo "Unable to determine the installer. Exiting!"
-                  exit $functest_exit
-                  ;;
-          esac
-
-          echo "Functest log"
-          echo "---------------------------------------------------------------------------------"
-          ssh root@192.168.122.2 "cat $FUNCTEST_LOG"
-          echo "---------------------------------------------------------------------------------"
-          exit ${functest_exit}
-- builder:
-    name: 'xci-daily-yardstick-macro'
-    builders:
-      - shell: |
-          #!/bin/bash
-          set -o errexit
-          set -o pipefail
-
-          ssh root@192.168.122.2 "/root/run-yardstick.sh"
diff --git a/jjb/xci/xci-deploy.sh b/jjb/xci/xci-deploy.sh
deleted file mode 100755 (executable)
index 71cf96d..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 Ericsson AB 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
-##############################################################################
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd $WORKSPACE/xci
-
-# for daily jobs, we want to use working versions
-# for periodic jobs, we will use whatever is set in the job, probably master
-if [[ "$CI_LOOP" == "daily" ]]; then
-    # source pinned-vars to get releng version
-    source ./config/pinned-versions
-
-    # checkout the version
-    git checkout -q $OPNFV_RELENG_VERSION
-    echo "Info: Using $OPNFV_RELENG_VERSION"
-elif [[ "$CI_LOOP" == "periodic" ]]; then
-    echo "Info: Using $OPNFV_RELENG_VERSION"
-fi
-
-# this is just an example to give the idea about what we need to do
-# so ignore this part for the timebeing as we need to adjust xci-deploy.sh
-# to take this into account while deploying anyways
-# clone openstack-ansible
-# stable/ocata already use pinned versions so this is only valid for master
-if [[ "$CI_LOOP" == "periodic" && "$OPENSTACK_OSA_VERSION" == "master" ]]; then
-    cd $WORKSPACE
-    # get the url to openstack-ansible git
-    source ./config/env-vars
-    echo "Info: Capture the ansible role requirement versions before doing anything"
-    git clone -q $OPENSTACK_OSA_GIT_URL
-    cd openstack-ansible
-    cat ansible-role-requirements.yml | while IFS= read -r line
-    do
-        if [[ $line =~ "src:" ]]; then
-            repo_url=$(echo $line | awk {'print $2'})
-            repo_sha1=$(git ls-remote $repo_url $OPENSTACK_OSA_VERSION | awk {'print $1'})
-        fi
-        echo "$line" | sed -e "s|master|$repo_sha1|" >> opnfv-ansible-role-requirements.yml
-    done
-    echo "Info: SHA1s of ansible role requirements"
-    echo "-------------------------------------------------------------------------"
-    cat opnfv-ansible-role-requirements.yml
-    echo "-------------------------------------------------------------------------"
-fi
-
-# proceed with the deployment
-cd $WORKSPACE/xci
-./xci-deploy.sh
-
-if [[ "$JOB_NAME" =~ "periodic" && "$OPENSTACK_OSA_VERSION" == "master" ]]; then
-    # if we arrived here without failing, it means we have something we can pin
-    # this is again here to show the intention
-    cd $WORKSPACE/openstack-ansible
-    OSA_GIT_SHA1=$(git rev-parse HEAD)
-
-    # log some info
-    echo -e "\n"
-    echo "***********************************************************************"
-    echo "*                          OSA SHA1 TO PIN                            *"
-    echo "*                                                                     *"
-    echo "    $OSA_GIT_SHA1"
-    echo "*                                                                     *"
-    echo "***********************************************************************"
-fi
-
-echo -e "\n"
diff --git a/jjb/xci/xci-merge-jobs.yaml b/jjb/xci/xci-merge-jobs.yaml
deleted file mode 100644 (file)
index 666ca96..0000000
+++ /dev/null
@@ -1,492 +0,0 @@
----
-- project:
-    name: 'opnfv-xci-merge'
-
-    project: releng-xci
-    # -------------------------------
-    # branches
-    # -------------------------------
-    stream:
-      - master:
-          branch: '{stream}'
-          disabled: true
-    # -------------------------------
-    # distros
-    # -------------------------------
-    distro:
-      - ubuntu:
-          disabled: true
-          kill-phase-on: FAILURE
-          abort-all-job: true
-      - centos:
-          disabled: true
-          kill-phase-on: NEVER
-          abort-all-job: false
-      - opensuse:
-          disabled: true
-          kill-phase-on: FAILURE
-          abort-all-job: true
-    # -------------------------------
-    # postmerge promotion phases
-    # -------------------------------
-    phase:
-      - 'deploy'
-      - 'healthcheck'
-    # -------------------------------
-    # jobs
-    # -------------------------------
-    jobs:
-      - 'xci-merge-virtual-{stream}'
-      - 'xci-merge-promote-virtual-{stream}'
-      - 'xci-merge-{distro}-virtual-{stream}'
-      - 'xci-merge-{distro}-{phase}-virtual-{stream}'
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
-    name: 'xci-merge-virtual-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    properties:
-      - logrotate-default
-
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - change-merged-event
-            - comment-added-contains-event:
-                comment-contains-value: 'remerge'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'releng-xci'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              disable-strict-forbidden-file-verification: 'false'
-              forbidden-file-paths:
-                - compare-type: ANT
-                  pattern: 'xci/scripts/vm/**'
-                - compare-type: ANT
-                  pattern: 'docs/**'
-                - compare-type: ANT
-                  pattern: 'prototypes/**'
-                - compare-type: ANT
-                  pattern: 'upstream/**'
-                - compare-type: ANT
-                  pattern: 'INFO.yaml'
-            - project-compare-type: 'REG_EXP'
-              project-pattern: 'sfc|sdnvpn|releng-xci-scenarios'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              disable-strict-forbidden-file-verification: 'true'
-              file-paths:
-                - compare-type: ANT
-                  pattern: 'scenarios/**'
-          readable-message: true
-          custom-url: '* $JOB_NAME $BUILD_URL'
-
-    parameters:
-      - project-parameter:
-          project: $GERRIT_PROJECT
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: 'xci-virtual'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: CI_LOOP
-          default: 'merge'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'healthcheck'
-      - string:
-          name: DISTRO
-          default: 'all'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-
-    builders:
-      - 'xci-merge-set-scenario-macro'
-      - inject:
-          properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - multijob:
-          name: deploy and test
-          condition: SUCCESSFUL
-          projects:
-            - name: 'xci-merge-opensuse-virtual-{stream}'
-              current-parameters: false
-              predefined-parameters: |
-                DISTRO=opensuse
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                GERRIT_PROJECT=$GERRIT_PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                CI_LOOP=$CI_LOOP
-                FUNCTEST_MODE=$FUNCTEST_MODE
-                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-              node-parameters: false
-              kill-phase-on: FAILURE
-              abort-all-job: true
-            - name: 'xci-merge-ubuntu-virtual-{stream}'
-              current-parameters: false
-              predefined-parameters: |
-                DISTRO=ubuntu
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                GERRIT_PROJECT=$GERRIT_PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                CI_LOOP=$CI_LOOP
-                FUNCTEST_MODE=$FUNCTEST_MODE
-                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-              node-parameters: false
-              kill-phase-on: FAILURE
-              abort-all-job: true
-            - name: 'xci-merge-centos-virtual-{stream}'
-              current-parameters: false
-              predefined-parameters: |
-                DISTRO=centos
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                GERRIT_PROJECT=$GERRIT_PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                CI_LOOP=$CI_LOOP
-                FUNCTEST_MODE=$FUNCTEST_MODE
-                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-              node-parameters: false
-              kill-phase-on: NEVER
-              abort-all-job: false
-      - inject:
-          properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
-      - multijob:
-          name: promote
-          condition: SUCCESSFUL
-          projects:
-            - name: 'xci-merge-promote-virtual-{stream}'
-              current-parameters: true
-              predefined-parameters: |
-                GERRIT_PROJECT=$GERRIT_PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                CI_LOOP=$CI_LOOP
-                FUNCTEST_MODE=$FUNCTEST_MODE
-                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-              node-parameters: true
-              kill-phase-on: NEVER
-              abort-all-job: true
-
-- job-template:
-    name: 'xci-merge-{distro}-virtual-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    concurrent: false
-
-    properties:
-      - logrotate-default
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'xci-verify-{distro}-.*'
-            - 'xci-merge-{distro}-.*'
-            - 'xci-os.*'
-            - 'xci-k8.*'
-            - 'openstack-bifrost-verify-{distro}-.*'
-            - 'xci-osa-verify-{distro}-.*'
-            - 'xci-osa-periodic-{distro}-.*'
-          blocking-level: 'NODE'
-      - throttle:
-          max-per-node: 1
-          max-total: 3
-          categories:
-            - xci-verify-virtual
-          option: category
-
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm-gerrit
-
-    parameters:
-      - project-parameter:
-          project: $GERRIT_PROJECT
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: 'xci-virtual'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: CI_LOOP
-          default: 'merge'
-      - string:
-          name: FUNCTEST_VERSION
-          default: 'hunter'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'healthcheck'
-      - string:
-          name: DISTRO
-          default: '{distro}'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-
-    builders:
-      - 'xci-merge-set-scenario-macro'
-      - inject:
-          properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - multijob:
-          name: deploy
-          condition: SUCCESSFUL
-          projects:
-            - name: 'xci-merge-{distro}-deploy-virtual-{stream}'
-              current-parameters: true
-              predefined-parameters: |
-                DISTRO={distro}
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                GERRIT_PROJECT=$GERRIT_PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                FUNCTEST_VERSION=$FUNCTEST_VERSION
-                FUNCTEST_MODE=$FUNCTEST_MODE
-                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-              node-parameters: true
-              kill-phase-on: '{kill-phase-on}'
-              abort-all-job: '{abort-all-job}'
-      - multijob:
-          name: healthcheck
-          condition: SUCCESSFUL
-          projects:
-            - name: 'xci-merge-{distro}-healthcheck-virtual-{stream}'
-              current-parameters: true
-              predefined-parameters: |
-                DISTRO={distro}
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                GERRIT_PROJECT=$GERRIT_PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                CI_LOOP=$CI_LOOP
-                FUNCTEST_VERSION=$FUNCTEST_VERSION
-                FUNCTEST_MODE=$FUNCTEST_MODE
-                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-              node-parameters: true
-              kill-phase-on: '{kill-phase-on}'
-              abort-all-job: '{abort-all-job}'
-
-    publishers:
-      - postbuildscript:
-          builders:
-            - role: BOTH
-              build-on:
-                - ABORTED
-                - FAILURE
-                - NOT_BUILT
-                - SUCCESS
-                - UNSTABLE
-              build-steps:
-                - shell: !include-raw: ./xci-cleanup.sh
-          mark-unstable-if-failed: true
-
-- job-template:
-    name: 'xci-merge-{distro}-{phase}-virtual-{stream}'
-
-    disabled: false
-
-    concurrent: false
-
-    properties:
-      - logrotate-default
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - '.*-bifrost-verify-.*'
-            - '.*-bifrost-periodic-.*'
-            - 'osa-verify-.*'
-            - 'osa-periodic-.*'
-          blocking-level: 'NODE'
-
-    parameters:
-      - string:
-          name: PROJECT
-          default: $GERRIT_PROJECT
-      - string:
-          name: DISTRO
-          default: 'ubuntu'
-      - string:
-          name: CI_LOOP
-          default: 'merge'
-      - string:
-          name: FUNCTEST_VERSION
-          default: 'hunter'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'healthcheck'
-      - string:
-          name: XCI_FLAVOR
-          default: 'mini'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - string:
-          name: OPNFV_RELENG_DEV_PATH
-          default: $WORKSPACE/
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-
-    wrappers:
-      - inject:
-          properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm-gerrit
-
-    builders:
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - 'xci-merge-{phase}-macro'
-
-- job-template:
-    name: 'xci-merge-promote-virtual-{stream}'
-
-    disabled: false
-
-    concurrent: false
-
-    properties:
-      - logrotate-default
-
-    parameters:
-      - string:
-          name: PROJECT
-          default: $GERRIT_PROJECT
-      - string:
-          name: CI_LOOP
-          default: 'merge'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'healthcheck'
-      - string:
-          name: DISTRO
-          default: 'all'
-      - string:
-          name: OPNFV_RELENG_DEV_PATH
-          default: $WORKSPACE/
-      - string:
-          name: LOCAL_PROMOTION_METADATA_FILE
-          default: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
-      - string:
-          name: REMOTE_PROMOTION_METADATA_FILE
-          default: "gs://artifacts.opnfv.org/xci/pipeline/merge/$DEPLOY_SCENARIO.properties"
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-
-    wrappers:
-      - inject:
-          properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    builders:
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - 'xci-merge-promote-macro'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-- builder:
-    name: 'xci-merge-set-scenario-macro'
-    builders:
-      - shell:
-          !include-raw: ./xci-set-scenario.sh
-
-- builder:
-    name: 'xci-merge-deploy-macro'
-    builders:
-      - shell:
-          !include-raw: ./xci-start-new-vm.sh
-
-      - shell:
-          !include-raw: ./xci-start-deployment.sh
-
-- builder:
-    name: 'xci-merge-healthcheck-macro'
-    builders:
-      - shell:
-          !include-raw: ./xci-run-functest.sh
-
-- builder:
-    name: 'xci-merge-promote-macro'
-    builders:
-      - shell:
-          !include-raw: ./xci-promote.sh
diff --git a/jjb/xci/xci-promote.sh b/jjb/xci/xci-promote.sh
deleted file mode 100755 (executable)
index d8d61be..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Ericsson 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
-##############################################################################
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# skip the healthcheck if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
-    echo "Skipping the healthcheck!"
-    exit 0
-fi
-
-# fail if promotion metadata file doesn't exist
-if [ ! -f $LOCAL_PROMOTION_METADATA_FILE ]; then
-    echo "Unable to find promotion metadata file $LOCAL_PROMOTION_METADATA_FILE"
-    echo "Skipping promotion!"
-    exit 1
-fi
-
-# put additional info into the metadata file so we can use that for displaying the information
-echo "PROMOTED_BY=$BUILD_URL" >> $LOCAL_PROMOTION_METADATA_FILE
-echo "PROMOTED_ON=$(date -u '+%F_%H:%M'UTC)" >> $LOCAL_PROMOTION_METADATA_FILE
-
-# upload promotion metadata file to OPNFV artifact repo
-echo "Storing promotion metadata as $REMOTE_PROMOTION_METADATA_FILE"
-gsutil cp $LOCAL_PROMOTION_METADATA_FILE $REMOTE_PROMOTION_METADATA_FILE > /dev/null 2>&1
-
-# update the file metadata on gs to prevent the use of cached version of the file
-gsutil -m setmeta -r -h "Content-Type:text/html" \
-    -h "Cache-Control:private, max-age=0, no-transform" \
-    $REMOTE_PROMOTION_METADATA_FILE > /dev/null 2>&1
-
-# log the metadata to console
-echo "Stored the metadata for $DEPLOY_SCENARIO"
-echo "---------------------------------------------------------------------------------"
-gsutil cat $REMOTE_PROMOTION_METADATA_FILE
-echo "---------------------------------------------------------------------------------"
-echo "Scenario $DEPLOY_SCENARIO has successfully been promoted!"
diff --git a/jjb/xci/xci-rtd-jobs.yaml b/jjb/xci/xci-rtd-jobs.yaml
deleted file mode 100644 (file)
index d21aad5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- project:
-    name: releng-xci-rtd
-    project: releng-xci
-    project-name: releng-xci
-
-    gerrit-skip-vote: true
-    project-pattern: 'releng-xci'
-    rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-releng-xci/47389/'
-    rtd-token: '7dbc774ea9a625296d2e973aff3e79af26b15d4d'
-
-    jobs:
-      - '{project-name}-rtd-jobs'
diff --git a/jjb/xci/xci-run-functest.sh b/jjb/xci/xci-run-functest.sh
deleted file mode 100755 (executable)
index 992194c..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-##############################################################################
-set -o nounset
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# skip the healthcheck if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
-    echo "Skipping the healthcheck!"
-    exit 0
-fi
-
-# if the scenario is external, we need to wipe WORKSPACE to place releng-xci there since
-# the project where the scenario is coming from is cloned and the patch checked out to the
-# xci/scenarios/$DEPLOY_SCENARIO to be synched on clean VM
-# apart from that, we need releng-xci stuff in WORKSPACE for things to function correctly on Jenkins.
-# if the change is coming to releng-xci, we don't need to do anything since the patch is checked
-# out to the WORKSPACE anyways
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
-    cd $HOME && /bin/rm -rf $WORKSPACE
-    git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE && cd $WORKSPACE
-    chmod -R go-rwx $WORKSPACE/xci/scripts/vm
-fi
-
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
-    echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
-    exit 0
-fi
-
-# set XCI_VENV for ansible
-export XCI_PATH=/home/devuser/releng-xci
-export XCI_VENV=${XCI_PATH}/venv
-
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; \
-    while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && \
-    cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml"
-echo "Prepare OPNFV VM for Tests"
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/prepare-tests.sh"
-echo "Running Functest"
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/run-functest.sh"
-# Record exit code
-functest_exit=$?
-
-case ${DEPLOY_SCENARIO[0]} in
-    os-*)
-        FUNCTEST_LOG=/root/functest-results/functest.log
-        ;;
-    k8-*)
-        FUNCTEST_LOG=/root/functest-results/functest-kubernetes.log
-        ;;
-    *)
-        echo "Unable to determine the installer. Exiting!"
-        exit 1
-        ;;
-esac
-
-echo "Functest log"
-echo "---------------------------------------------------------------------------------"
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "cat $FUNCTEST_LOG"
-echo "---------------------------------------------------------------------------------"
-exit ${functest_exit}
diff --git a/jjb/xci/xci-set-scenario.sh b/jjb/xci/xci-set-scenario.sh
deleted file mode 100755 (executable)
index ccea16f..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-##############################################################################
-set -o pipefail
-set -x
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# This function allows developers to specify the impacted scenario by adding
-# the info about installer and scenario into the commit message or using
-# the topic branch names. This results in either skipping the real verification
-# totally or skipping the determining the installer and scenario programmatically.
-# It is important to note that this feature is only available to generic scenarios
-# and only single installer/scenario pair is allowed.
-# The input in commit message should be placed at the end of the commit message body,
-# before the signed-off and change-id lines.
-#
-# Pattern to be searched in Commit Message
-#   deploy-scenario:<scenario-name>
-#   installer-type:<installer-type>
-# Examples:
-#   deploy-scenario:os-odl-nofeature
-#   installer-type:osa
-#
-#   deploy-scenario:k8-nosdn-nofeature
-#   installer-type:kubespray
-#
-# Patterns to be searched in topic branch name
-#   skip-verify
-#   skip-deployment
-#   force-verify
-function override_scenario() {
-    echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
-
-    # ensure the metadata we record is consistent for all types of patches including skipped ones
-    # extract releng-xci sha
-    XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD)
-
-    # extract scenario sha which is same as releng-xci sha for generic scenarios
-    SCENARIO_SHA=$XCI_SHA
-
-    # process topic branch names
-    if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment|force-verify ]]; then
-        [[ "$GERRIT_TOPIC" =~ force-verify ]] && echo "Forcing CI verification using default scenario and installer!"
-        [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]] && echo "Skipping verification!"
-        echo "INSTALLER_TYPE=osa" >> $WORK_DIRECTORY/scenario.properties
-        echo "DEPLOY_SCENARIO=os-nosdn-nofeature" >> $WORK_DIRECTORY/scenario.properties
-        echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
-        echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
-        echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
-        log_scenario_properties
-        exit 0
-    fi
-
-    # process commit message
-    if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "installer-type:" && "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "deploy-scenario:" ]]; then
-        INSTALLER_TYPE=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/installer-type:/' RS=" " | cut -d":" -f2)
-        DEPLOY_SCENARIO=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/deploy-scenario:/' RS=" " | cut -d":" -f2)
-
-        if [[ -z "$INSTALLER_TYPE" || -z "$DEPLOY_SCENARIO" ]]; then
-            echo "Installer type or deploy scenario is not specified. Falling back to programmatically determining them."
-        else
-            echo "Recording the installer '$INSTALLER_TYPE' and scenario '$DEPLOY_SCENARIO' for downstream jobs"
-            echo "INSTALLER_TYPE=$INSTALLER_TYPE" >> $WORK_DIRECTORY/scenario.properties
-            echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> $WORK_DIRECTORY/scenario.properties
-            echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
-            echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
-            echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
-            log_scenario_properties
-            exit 0
-        fi
-    else
-        echo "Installer type or deploy scenario is not specified. Falling back to programmatically determining them."
-    fi
-}
-
-# This function determines the default scenario for changes coming to releng-xci
-# by processing the Gerrit change and using diff to see what changed.
-#
-# The stuff in releng-xci is for the installer and other common things so the
-# determination is based on those.
-#
-# Pattern
-#   releng-xci/installer/<installer_type>/<impacted files>: <scenario>
-function determine_default_scenario() {
-    echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
-
-    # get the changeset
-    cd $WORKSPACE
-    # We need to set default scenario for changes that mess with installers
-    INSTALLERS=$(git diff HEAD^..HEAD --name-only -- 'xci/installer' | cut -d "/" -f 3 | uniq)
-    for CHANGED_INSTALLER in $INSTALLERS; do
-        case $CHANGED_INSTALLER in
-            kubespray)
-                DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]='k8-nosdn-nofeature'
-                ;;
-            # Default case (including OSA changes)
-            *)
-                DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]='os-nosdn-nofeature'
-                ;;
-        esac
-    done
-    # For all other changes, we only need to set a default scenario if it's not set already
-    if git diff HEAD^..HEAD --name-only | grep -q -v 'xci/installer'; then
-         [[ ${#DEPLOY_SCENARIO[@]} -eq 0 ]] && DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]='os-nosdn-nofeature'
-    fi
-
-    # extract releng-xci sha
-    XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD)
-
-    # TODO: we need to fix this so we actually extract the scenario sha by cloning releng-xci-scenarios
-    # for the determined scenario. it is crucial for promotion...
-    SCENARIO_SHA=$XCI_SHA
-}
-
-# This function determines the impacted scenario by processing the Gerrit
-# change and using diff to see what changed. If changed files belong to a scenario
-# its name gets recorded for deploying and testing the right scenario.
-#
-# Pattern
-#   <project-repo>/scenarios/<scenario>/<impacted files>: <scenario>
-function determine_scenario() {
-    echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
-
-    # remove the clone that is done via jenkins and place releng-xci there so the
-    # things continue functioning properly
-    cd $HOME && /bin/rm -rf $WORKSPACE
-    git clone -q https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE && cd $WORKSPACE
-
-    # fix the permissions so ssh doesn't complain due to having world-readable keyfiles
-    chmod -R go-rwx $WORKSPACE/xci/scripts/vm
-
-    # clone the project repo and fetch the patchset to process for further processing
-    git clone -q https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT $WORK_DIRECTORY/$GERRIT_PROJECT
-    cd $WORK_DIRECTORY/$GERRIT_PROJECT
-    git fetch -q https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT $GERRIT_REFSPEC && git checkout -q FETCH_HEAD
-
-    # process the diff to find out what scenario(s) are impacted - there should only be 1
-    DEPLOY_SCENARIO+=$(git diff HEAD^..HEAD --name-only | grep scenarios | awk -F '[/|/]' '{print $2}' | uniq)
-
-    # extract releng-xci sha
-    XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD)
-
-    # extract scenario sha
-    SCENARIO_SHA=$(cd $WORK_DIRECTORY/$GERRIT_PROJECT && git rev-parse HEAD)
-}
-
-# This function allows developers to specify the specific XCI flavor for the
-# impacted scenario by adding the XCI Flavor info about the specific scenario.
-# This results in either skipping the real verification
-# totally or skipping the determining the installer and scenario programmatically.
-# It is important to note that this feature is only available to generic scenarios
-# and only single installer/scenario pair is allowed.
-# The input in commit message should be placed at the end of the commit message body,
-# before the signed-off and change-id lines.
-#
-# Pattern to be searched in Commit Message
-#   xci-flavor:<xci-flavor>
-# Examples:
-#   xci-flavor:noha
-function override_xci_flavor() {
-    echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
-
-    # process commit message for XCI Flavor
-    if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "xci-flavor:" ]]; then
-        XCI_FLAVOR=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/xci-flavor:/' RS=" " | cut -d":" -f2)
-
-        if [[ -z "$XCI_FLAVOR" ]]; then
-            XCI_FLAVOR='mini'
-            echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
-            echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
-        else
-            echo "Recording the XCI flavor '$XCI_FLAVOR' for downstream jobs"
-            echo "XCI_FLAVOR=$XCI_FLAVOR" >> $WORK_DIRECTORY/scenario.properties
-        fi
-    else
-        XCI_FLAVOR='mini'
-        echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
-        echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
-    fi
-
-}
-
-function log_scenario_properties() {
-    echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
-    echo "-------------------------------------------------------------------------"
-    cat $WORK_DIRECTORY/scenario.properties
-    echo "-------------------------------------------------------------------------"
-}
-
-echo "Determining the impacted scenario"
-
-declare -a DEPLOY_SCENARIO
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# this directory is where the temporary clones and files are created
-# while extracting the impacted scenario
-WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO
-/bin/rm -rf $WORK_DIRECTORY && mkdir -p $WORK_DIRECTORY
-
-if [[ $GERRIT_PROJECT == "releng-xci" ]]; then
-    determine_default_scenario
-else
-    determine_scenario
-fi
-override_xci_flavor
-override_scenario
-
-# ensure single scenario is impacted
-    if [[ $(IFS=$'\n' echo ${DEPLOY_SCENARIO[@]} | wc -w) != 1 ]]; then
-    echo "Change impacts multiple scenarios!"
-    echo "XCI doesn't support testing of changes that impact multiple scenarios currently."
-    echo "Please split your change into multiple different/dependent changes, each modifying single scenario."
-    exit 1
-fi
-
-# set the installer
-case ${DEPLOY_SCENARIO[0]} in
-    os-*)
-        INSTALLER_TYPE=osa
-        ;;
-    k8-*)
-        INSTALLER_TYPE=kubespray
-        ;;
-    *)
-        echo "Unable to determine the installer. Exiting!"
-        exit 1
-        ;;
-esac
-
-# save the installer and scenario names into java properties file
-# so they can be injected to downstream jobs via envInject
-echo "Recording the installer '$INSTALLER_TYPE' and scenario '${DEPLOY_SCENARIO[0]}' and SHAs for downstream jobs"
-echo "INSTALLER_TYPE=$INSTALLER_TYPE" >> $WORK_DIRECTORY/scenario.properties
-echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> $WORK_DIRECTORY/scenario.properties
-echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
-echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
-echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
-
-# log scenario.properties to console to ease the troubleshooting when needed
-log_scenario_properties
-
-# skip scenario support check if the job is promotion job
-if [[ "$JOB_NAME" =~ (os|k8) ]]; then
-    exit 0
-fi
-
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: ${DEPLOY_SCENARIO[0]}$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
-    echo "# SKIPPED: Scenario ${DEPLOY_SCENARIO[0]} is NOT supported on $DISTRO"
-    exit 0
-fi
diff --git a/jjb/xci/xci-start-deployment.sh b/jjb/xci/xci-start-deployment.sh
deleted file mode 100755 (executable)
index 102ca41..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-##############################################################################
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# skip the deployment if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
-    echo "Skipping the deployment!"
-    exit 0
-fi
-
-# if the scenario is external, we need to wipe WORKSPACE to place releng-xci there since
-# the project where the scenario is coming from is cloned and the patch checked out to the
-# xci/scenarios/$DEPLOY_SCENARIO to be synched on clean VM
-# apart from that, we need releng-xci stuff in WORKSPACE for things to function correctly on Jenkins.
-# if the change is coming to releng-xci, we don't need to do anything since the patch is checked
-# out to the WORKSPACE anyways
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
-    cd $HOME && /bin/rm -rf $WORKSPACE
-    git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE && cd $WORKSPACE
-    chmod -R go-rwx $WORKSPACE/xci/scripts/vm
-fi
-
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
-    echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
-    exit 0
-fi
-
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh"
diff --git a/jjb/xci/xci-start-new-vm.sh b/jjb/xci/xci-start-new-vm.sh
deleted file mode 100755 (executable)
index 79b6a78..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-##############################################################################
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# skip the deployment if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
-    echo "Skipping the deployment!"
-    exit 0
-fi
-
-# if the scenario is external, we need to wipe WORKSPACE to place releng-xci there since
-# the project where the scenario is coming from is cloned and the patch checked out to the
-# xci/scenarios/$DEPLOY_SCENARIO to be synched on clean VM
-# apart from that, we need releng-xci stuff in WORKSPACE for things to function correctly on Jenkins.
-# if the change is coming to releng-xci, we don't need to do anything since the patch is checked
-# out to the WORKSPACE anyways
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
-    cd $HOME && /bin/rm -rf $WORKSPACE
-    git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE && cd $WORKSPACE
-    chmod -R go-rwx $WORKSPACE/xci/scripts/vm
-fi
-
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
-    echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
-    exit 0
-fi
-
-cd $WORKSPACE
-
-# The start-new-vm.sh script will copy the entire releng-xci directory
-# so lets prepare the test script now so it can be copied by the script.
-# Please do not move it elsewhere or you would have to move it to the VM
-# yourself.
-cat > xci_test.sh<<EOF
-#!/bin/bash
-set -o pipefail
-export DISTRO=$DISTRO
-export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-export FUNCTEST_MODE=$FUNCTEST_MODE
-export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-export XCI_FLAVOR=$XCI_FLAVOR
-export CORE_OPENSTACK_INSTALL=true
-export BIFROST_USE_PREBUILT_IMAGES=true
-export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
-export INSTALLER_TYPE=$INSTALLER_TYPE
-export GIT_BASE=$GIT_BASE
-export JENKINS_HOME=$JENKINS_HOME
-export CI_LOOP=$CI_LOOP
-export BUILD_TAG=$BUILD_TAG
-export NODE_NAME=$NODE_NAME
-
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
-    export XCI_ANSIBLE_PARAMS="-e @/home/devuser/releng-xci/scenario_overrides.yml"
-fi
-
-cd xci
-./xci-deploy.sh | ts
-EOF
-
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
-    cat > scenario_overrides.yml <<-EOF
----
-xci_scenarios_overrides:
-  - scenario: $DEPLOY_SCENARIO
-    version: $GERRIT_PATCHSET_REVISION
-    refspec: $GERRIT_REFSPEC
-EOF
-fi
-
-chmod a+x xci_test.sh
-
-export XCI_BUILD_CLEAN_VM_OS=false
-export XCI_UPDATE_CLEAN_VM_OS=true
-
-./xci/scripts/vm/start-new-vm.sh $DISTRO
diff --git a/jjb/xci/xci-verify-jobs.yaml b/jjb/xci/xci-verify-jobs.yaml
deleted file mode 100644 (file)
index 799ef6e..0000000
+++ /dev/null
@@ -1,327 +0,0 @@
----
-- project:
-    name: 'opnfv-xci-verify'
-
-    project: releng-xci
-    # -------------------------------
-    # branches
-    # -------------------------------
-    stream:
-      - master:
-          branch: '{stream}'
-    # -------------------------------
-    # distros
-    # -------------------------------
-    distro:
-      - ubuntu:
-          disabled: false
-          successful: false
-          failed: false
-          unstable: false
-          notbuilt: false
-      - centos:
-          disabled: true
-          successful: true
-          failed: true
-          unstable: true
-          notbuilt: true
-      - opensuse:
-          disabled: false
-          successful: true
-          failed: true
-          unstable: true
-          notbuilt: true
-    # -------------------------------
-    # type
-    # -------------------------------
-    type:
-      - virtual
-    # -------------------------------
-    # patch verification phases
-    # -------------------------------
-    phase:
-      - 'deploy'
-      - 'healthcheck'
-    # -------------------------------
-    # jobs
-    # -------------------------------
-    jobs:
-      - 'xci-verify-{distro}-{type}-{stream}'
-      - 'xci-verify-{distro}-{phase}-{type}-{stream}'
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
-    name: 'xci-verify-{distro}-{type}-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - 'xci-verify-{distro}-.*'
-            - 'xci-merge-{distro}-.*'
-            - 'xci-os-.*'
-            - 'xci-k8-.*'
-            - 'openstack-bifrost-verify-{distro}-.*'
-            - 'xci-osa-verify-{distro}-.*'
-            - 'xci-osa-periodic-{distro}-.*'
-          blocking-level: 'NODE'
-      - throttle:
-          max-per-node: 2
-          max-total: 10
-          categories:
-            - xci-verify-virtual
-          option: category
-
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event:
-                exclude-drafts: 'false'
-                exclude-trivial-rebase: 'false'
-                exclude-no-code-change: 'true'
-            - draft-published-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: 'releng-xci'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              disable-strict-forbidden-file-verification: 'false'
-              forbidden-file-paths:
-                - compare-type: ANT
-                  pattern: 'xci/scripts/vm/**'
-                - compare-type: ANT
-                  pattern: 'docs/**'
-                - compare-type: ANT
-                  pattern: 'upstream/**'
-            - project-compare-type: 'REG_EXP'
-              project-pattern: 'sfc|sdnvpn|releng-xci-scenarios'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              disable-strict-forbidden-file-verification: 'true'
-              file-paths:
-                - compare-type: ANT
-                  pattern: 'scenarios/**'
-          readable-message: true
-          custom-url: '* $JOB_NAME $BUILD_URL'
-          skip-vote:
-            successful: '{obj:successful}'
-            failed: '{obj:failed}'
-            unstable: '{obj:unstable}'
-            notbuilt: '{obj:notbuilt}'
-
-    parameters:
-      - project-parameter:
-          project: $GERRIT_PROJECT
-          branch: '{branch}'
-      - label:
-          name: SLAVE_LABEL
-          default: 'xci-virtual'
-          all-nodes: false
-          node-eligibility: 'ignore-offline'
-      - string:
-          name: DISTRO
-          default: '{distro}'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - string:
-          name: CI_LOOP
-          default: 'verify'
-      - string:
-          name: FUNCTEST_VERSION
-          default: 'hunter'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'healthcheck'
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-
-    builders:
-      - 'xci-verify-clean-vm-macro'
-      - 'xci-verify-set-scenario-macro'
-      - inject:
-          properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - multijob:
-          name: deploy
-          condition: SUCCESSFUL
-          projects:
-            - name: 'xci-verify-{distro}-deploy-{type}-{stream}'
-              current-parameters: true
-              predefined-parameters: |
-                DISTRO={distro}
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                GERRIT_PROJECT=$GERRIT_PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                CI_LOOP=$CI_LOOP
-                FUNCTEST_VERSION=$FUNCTEST_VERSION
-                FUNCTEST_MODE=$FUNCTEST_MODE
-                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-              node-parameters: true
-              kill-phase-on: FAILURE
-              abort-all-job: true
-      - multijob:
-          name: healthcheck
-          condition: SUCCESSFUL
-          projects:
-            - name: 'xci-verify-{distro}-healthcheck-{type}-{stream}'
-              current-parameters: true
-              predefined-parameters: |
-                DISTRO={distro}
-                CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-                GERRIT_PROJECT=$GERRIT_PROJECT
-                GERRIT_BRANCH=$GERRIT_BRANCH
-                GERRIT_REFSPEC=$GERRIT_REFSPEC
-                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                CI_LOOP=$CI_LOOP
-                FUNCTEST_VERSION=$FUNCTEST_VERSION
-                FUNCTEST_MODE=$FUNCTEST_MODE
-                FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-              node-parameters: true
-              kill-phase-on: NEVER
-              abort-all-job: true
-
-    publishers:
-      - postbuildscript:
-          builders:
-            - role: BOTH
-              build-on:
-                - ABORTED
-                - NOT_BUILT
-                - SUCCESS
-                - UNSTABLE
-              build-steps:
-                - shell: !include-raw: ./xci-cleanup.sh
-          mark-unstable-if-failed: true
-
-
-- job-template:
-    name: 'xci-verify-{distro}-{phase}-{type}-{stream}'
-
-    disabled: false
-
-    concurrent: true
-
-    properties:
-      - logrotate-default
-      - build-blocker:
-          use-build-blocker: true
-          blocking-jobs:
-            - '.*-bifrost-verify-.*'
-            - '.*-bifrost-periodic-.*'
-            - 'osa-verify-.*'
-            - 'osa-periodic-.*'
-          blocking-level: 'NODE'
-
-    parameters:
-      - string:
-          name: PROJECT
-          default: $GERRIT_PROJECT
-      - string:
-          name: DISTRO
-          default: 'ubuntu'
-      - string:
-          name: CI_LOOP
-          default: 'verify'
-      - string:
-          name: FUNCTEST_VERSION
-          default: 'hunter'
-      - string:
-          name: FUNCTEST_MODE
-          default: 'tier'
-      - string:
-          name: FUNCTEST_SUITE_NAME
-          default: 'healthcheck'
-      - string:
-          name: XCI_FLAVOR
-          default: 'mini'
-      - string:
-          name: CLEAN_DIB_IMAGES
-          default: 'true'
-      - string:
-          name: OPNFV_RELENG_DEV_PATH
-          default: $WORKSPACE/
-      - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: 'Git URL to use on this Jenkins Slave'
-
-    wrappers:
-      - inject:
-          properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 240
-      - fix-workspace-permissions
-
-    scm:
-      - git-scm-gerrit
-
-    builders:
-      - description-setter:
-          description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
-      - 'xci-verify-{phase}-macro'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-- builder:
-    name: 'xci-verify-clean-vm-macro'
-    builders:
-      - shell:
-          !include-raw: ./xci-cleanup.sh
-
-- builder:
-    name: 'xci-verify-set-scenario-macro'
-    builders:
-      - shell:
-          !include-raw: ./xci-set-scenario.sh
-
-- builder:
-    name: 'xci-verify-deploy-macro'
-    builders:
-      - shell:
-          !include-raw: ./xci-start-new-vm.sh
-
-      - shell:
-          !include-raw: ./xci-start-deployment.sh
-
-- builder:
-    name: 'xci-verify-healthcheck-macro'
-    builders:
-      - shell:
-          !include-raw: ./xci-run-functest.sh
diff --git a/jjb/xci/xci-views.yaml b/jjb/xci/xci-views.yaml
deleted file mode 100644 (file)
index ee1e53a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
-    name: xci-view
-    views:
-      - project-view
-    project-name: xci
index 665be34..a5d0c14 100644 (file)
@@ -3,6 +3,11 @@ project: opnfvdocs
 project-type: infra
 release-model: stable
 
+releases:
+  - version: opnfv-10.0.0
+    location:
+      opnfvdocs: 8ae4bb381bef8ad9f71bd0f46323799a90bb7deb
+
 branches:
   - name: stable/jerma
     location: