Merge "Add DOCS_REQIREMENTS variable to RTD Gitlab job"
authorTrevor Bramwell <tbramwell@linuxfoundation.org>
Tue, 29 Jun 2021 17:19:26 +0000 (17:19 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Tue, 29 Jun 2021 17:19:26 +0000 (17:19 +0000)
gitlab-templates/RTD.gitlab-ci.yml
jjb/functest/functest-kubernetes-ng.yaml
jjb/functest/functest-kubernetes-pi.yaml
jjb/functest/functest-kubernetes.yaml
jjb/functest/functest-pi.yaml
jjb/functest/functest.yaml
jjb/functest/xtesting-ci.yaml
jjb/functest/xtesting-pi.yaml
jjb/functest/xtesting.yaml
releases/kali/kuberef.yaml [new file with mode: 0644]

index 5e2f55b..198ed5b 100644 (file)
@@ -60,7 +60,7 @@ docs-build:
       when: never
     - if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       changes:
-        - $DOCS_DIRECTORY/*
+        - $DOCS_DIRECTORY/**/*
 
 docs-link-check:
   stage: test
@@ -80,7 +80,7 @@ docs-link-check:
       when: never
     - if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       changes:
-        - $DOCS_DIRECTORY/*
+        - $DOCS_DIRECTORY/**/*
 
 pages:
   stage: deploy
@@ -96,4 +96,4 @@ pages:
       when: never
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
       changes:
-        - $DOCS_DIRECTORY/*
+        - $DOCS_DIRECTORY/**/*
index ae84749..b735e8b 100644 (file)
@@ -41,7 +41,6 @@
           name: slave
           default: '{slave}'
 
-
 - functest-kubernetes-ng-build-containers: &functest-kubernetes-ng-build-containers
     name: 'functest-kubernetes-ng-build-containers'
     <<: *functest-kubernetes-ng-containers
     jobs:
       - 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
 
-
 - builder:
     name: functest-kubernetes-ng-push-containers
     builders:
     jobs:
       - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
 
-
 - job-template:
     name: 'functest-kubernetes-ng-{tag}-docker'
     project-type: multijob
     parameters:
       - functest-kubernetes-ng-slave:
           slave: '{slave}'
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes-ng-{tag}-(daily|docker|review)$'
+          - ^functest-kubernetes-ng-{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove dependency
index 6c7803b..986ea58 100644 (file)
@@ -72,6 +72,8 @@
     <<: *functest-kubernetes-pi-containers
     test: '{test}'
     privileged: '{privileged}'
+    volumes: '{volumes}'
+    env: '{env}'
     network: '{network}'
 
 - builder:
@@ -93,6 +95,8 @@
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           docker run --rm \
             --privileged={privileged} \
             --network={network} \
+            $volumes \
+            $env \
             -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 \
             -e NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
-            -e E2E_TEST_OPTS=$E2E_TEST_OPTS \
-            -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
             $image run_tests -t {test} -p -r
 
 - builder:
       - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
 
 - job-template:
-    name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+    name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-{test}-run'
     parameters:
       - functest-kubernetes-pi-slave:
           slave: '{slave}'
 - project:
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck'
     <<: *functest-kubernetes-pi-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-healthcheck'
     test:
       - k8s_quick
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-{test}-run'
+    parameters:
+      - functest-kubernetes-pi-slave:
+          slave: '{slave}'
+      - functest-kubernetes-pi-build_tag:
+          build_tag: ''
+      - functest-kubernetes-pi-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+      - functest-kubernetes-pi-E2E_TEST_OPTS:
+          E2E_TEST_OPTS: container-runtime:containerd
+    builders:
+      - functest-kubernetes-pi-run-containers:
+          <<: *functest-kubernetes-pi-run-containers
 
 - project:
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke'
     <<: *functest-kubernetes-pi-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-smoke'
     test:
       - xrally_kubernetes
     privileged: 'false'
     network: bridge
     exclude:
-      - {'tag': 'latest', 'test': 'k8s_io'}
-      - {'tag': 'v1.21', 'test': 'k8s_io'}
-      - {'tag': 'jerma', 'test': 'k8s_io'}
-      - {'tag': 'arm-latest', 'test': 'k8s_io'}
-      - {'tag': 'arm-v1.21', 'test': 'k8s_io'}
-      - {'tag': 'arm64-latest', 'test': 'k8s_io'}
-      - {'tag': 'arm64-v1.21', 'test': 'k8s_io'}
+      - tag: latest
+        test: k8s_io
+      - tag: v1.21
+        test: k8s_io
+      - tag: jerma
+        test: k8s_io
+      - tag: arm-latest
+        test: k8s_io
+      - tag: arm-v1.21
+        test: k8s_io
+      - tag: arm64-latest
+        test: k8s_io
+      - tag: arm64-v1.21
+        test: k8s_io
     jobs:
-      - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-{test}-run'
+    parameters:
+      - functest-kubernetes-pi-slave:
+          slave: '{slave}'
+      - functest-kubernetes-pi-build_tag:
+          build_tag: ''
+      - functest-kubernetes-pi-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+      - functest-kubernetes-pi-E2E_TEST_OPTS:
+          E2E_TEST_OPTS: container-runtime:containerd
+    builders:
+      - functest-kubernetes-pi-run-containers:
+          <<: *functest-kubernetes-pi-run-containers
 
 - project:
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security'
     <<: *functest-kubernetes-pi-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-security'
     test:
       - kube_hunter
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-{test}-run'
+    parameters:
+      - functest-kubernetes-pi-slave:
+          slave: '{slave}'
+      - functest-kubernetes-pi-build_tag:
+          build_tag: ''
+      - functest-kubernetes-pi-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+      - functest-kubernetes-pi-E2E_TEST_OPTS:
+          E2E_TEST_OPTS: container-runtime:containerd
+    builders:
+      - functest-kubernetes-pi-run-containers:
+          <<: *functest-kubernetes-pi-run-containers
 
 - project:
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking'
     <<: *functest-kubernetes-pi-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-benchmarking'
     test:
       - xrally_kubernetes_full
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-{test}-run'
+    parameters:
+      - functest-kubernetes-pi-slave:
+          slave: '{slave}'
+      - functest-kubernetes-pi-build_tag:
+          build_tag: ''
+      - functest-kubernetes-pi-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+      - functest-kubernetes-pi-E2E_TEST_OPTS:
+          E2E_TEST_OPTS: container-runtime:containerd
+    builders:
+      - functest-kubernetes-pi-run-containers:
+          <<: *functest-kubernetes-pi-run-containers
 
 - project:
     name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf'
     <<: *functest-kubernetes-pi-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-cnf'
     test:
       - k8s_vims
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
-
+      - 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-{test}-run'
 
 - builder:
     name: functest-kubernetes-pi-zip
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
             image={repo}:{port}/{container}:{tag}
           fi
           docker run --rm \
+            $volumes \
+            $env \
             -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 \
             -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 E2E_TEST_OPTS=$E2E_TEST_OPTS \
-            -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
             $image zip_campaign
 
 - job-template:
     builders:
       - functest-kubernetes-pi-zip:
           <<: *functest-kubernetes-pi-containers
+          volumes: '{volumes}'
+          env: '{env}'
 
 - project:
     name: 'functest-kubernetes-pi-{tag}-zip'
     <<: *functest-kubernetes-pi-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-healthcheck'
     jobs:
       - 'functest-kubernetes-pi-{tag}-zip'
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
       - functest-kubernetes-pi-E2E_TEST_OPTS:
           E2E_TEST_OPTS: container-runtime:containerd
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes-pi-{tag}-(daily|docker|review)$'
+          - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
index 6abfaa3..a42784a 100644 (file)
@@ -72,6 +72,8 @@
     <<: *functest-kubernetes-containers
     test: '{test}'
     privileged: '{privileged}'
+    volumes: '{volumes}'
+    env: '{env}'
     network: '{network}'
 
 - builder:
@@ -93,6 +95,8 @@
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           docker run --rm \
             --privileged={privileged} \
             --network={network} \
+            $volumes \
+            $env \
             -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 \
             -e NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
-            -e E2E_TEST_OPTS=$E2E_TEST_OPTS \
-            -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
             $image run_tests -t {test} -p -r
 
 - builder:
       - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
 
 - job-template:
-    name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
     parameters:
       - functest-kubernetes-slave:
           slave: '{slave}'
 - project:
     name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
     <<: *functest-kubernetes-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-healthcheck'
     test:
       - k8s_quick
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
+      - functest-kubernetes-build_tag:
+          build_tag: ''
+      - functest-kubernetes-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+      - functest-kubernetes-E2E_TEST_OPTS:
+          E2E_TEST_OPTS: container-runtime:containerd
+    builders:
+      - functest-kubernetes-run-containers:
+          <<: *functest-kubernetes-run-containers
 
 - project:
     name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
     <<: *functest-kubernetes-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-smoke'
     test:
       - xrally_kubernetes
     privileged: 'false'
     network: bridge
     exclude:
-      - {'tag': 'latest', 'test': 'k8s_io'}
-      - {'tag': 'v1.21', 'test': 'k8s_io'}
+      - tag: latest
+        test: k8s_io
+      - tag: v1.21
+        test: k8s_io
     jobs:
-      - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
+      - functest-kubernetes-build_tag:
+          build_tag: ''
+      - functest-kubernetes-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+      - functest-kubernetes-E2E_TEST_OPTS:
+          E2E_TEST_OPTS: container-runtime:containerd
+    builders:
+      - functest-kubernetes-run-containers:
+          <<: *functest-kubernetes-run-containers
 
 - project:
     name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
     <<: *functest-kubernetes-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-security'
     test:
       - kube_hunter
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
+      - functest-kubernetes-build_tag:
+          build_tag: ''
+      - functest-kubernetes-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+      - functest-kubernetes-E2E_TEST_OPTS:
+          E2E_TEST_OPTS: container-runtime:containerd
+    builders:
+      - functest-kubernetes-run-containers:
+          <<: *functest-kubernetes-run-containers
 
 - project:
     name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
     <<: *functest-kubernetes-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-benchmarking'
     test:
       - xrally_kubernetes_full
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
+      - functest-kubernetes-build_tag:
+          build_tag: ''
+      - functest-kubernetes-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+      - functest-kubernetes-E2E_TEST_OPTS:
+          E2E_TEST_OPTS: container-runtime:containerd
+    builders:
+      - functest-kubernetes-run-containers:
+          <<: *functest-kubernetes-run-containers
 
 - project:
     name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
     <<: *functest-kubernetes-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-cnf'
     test:
       - k8s_vims
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
-
+      - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
 
 - builder:
     name: functest-kubernetes-zip
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
             image={repo}:{port}/{container}:{tag}
           fi
           docker run --rm \
+            $volumes \
+            $env \
             -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 \
             -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 E2E_TEST_OPTS=$E2E_TEST_OPTS \
-            -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
             $image zip_campaign
 
 - job-template:
     builders:
       - functest-kubernetes-zip:
           <<: *functest-kubernetes-containers
+          volumes: '{volumes}'
+          env: '{env}'
 
 - project:
     name: 'functest-kubernetes-{tag}-zip'
     <<: *functest-kubernetes-params
+    volumes:
+      - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+      - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-healthcheck'
     jobs:
       - 'functest-kubernetes-{tag}-zip'
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
       - functest-kubernetes-E2E_TEST_OPTS:
           E2E_TEST_OPTS: container-runtime:containerd
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes-{tag}-(daily|docker|review)$'
+          - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
 
-
 - trigger:
     name: functest-kubernetes-patchset-created
     triggers:
           DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
       - functest-kubernetes-E2E_TEST_OPTS:
           E2E_TEST_OPTS: container-runtime:containerd
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes-{tag}-(daily|docker|review)$'
+          - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-build'
 
-
 - job-template:
     name: 'functest-kubernetes-{tag}-docker'
     project-type: multijob
     parameters:
       - functest-kubernetes-slave:
           slave: '{slave}'
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-kubernetes-{tag}-(daily|docker|review)$'
+          - ^functest-kubernetes-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove dependency
index a52f28f..663810c 100644 (file)
       - string:
           name: EXTERNAL_NETWORK
           default: public
+
 - parameter:
     name: functest-pi-VOLUME_DEVICE_NAME
     parameters:
       - string:
           name: VOLUME_DEVICE_NAME
           default: sdb
+
 - parameter:
     name: functest-pi-IMAGE_PROPERTIES
     parameters:
     <<: *functest-pi-containers
     test: '{test}'
     privileged: '{privileged}'
+    volumes: '{volumes}'
+    env: '{env}'
     network: '{network}'
     DASHBOARD_URL: '{DASHBOARD_URL}'
 
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           sudo docker run --rm \
             --privileged={privileged} \
             --network={network} \
+            $volumes \
+            $env \
             -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 NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
-            -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
-            -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
             -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} -p -r
 
 - builder:
       - 'functest-pi-{repo}-{container}-{tag}-rmi'
 
 - job-template:
-    name: 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+    name: 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
     parameters:
       - functest-pi-slave:
           slave: '{slave}'
 - project:
     name: 'functest-pi-ollivier-functest-healthcheck'
     <<: *functest-pi-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-healthcheck'
     test:
       - connection_check
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
+    parameters:
+      - functest-pi-slave:
+          slave: '{slave}'
+      - functest-pi-build_tag:
+          build_tag: ''
+      - functest-pi-EXTERNAL_NETWORK:
+          EXTERNAL_NETWORK: public
+      - functest-pi-VOLUME_DEVICE_NAME:
+          VOLUME_DEVICE_NAME: sdb
+      - functest-pi-IMAGE_PROPERTIES:
+          IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+    builders:
+      - functest-pi-run-containers:
+          <<: *functest-pi-run-containers
 
 - project:
     name: 'functest-pi-ollivier-functest-smoke'
     <<: *functest-pi-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-smoke'
     test:
       - tempest_neutron
     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': 'wallaby', 'test': 'refstack_defcore'}
-      - {'tag': 'wallaby', 'test': 'networking-bgpvpn'}
-      - {'tag': 'wallaby', 'test': 'networking-sfc'}
-      - {'tag': 'wallaby', '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': 'arm-latest', 'test': 'refstack_defcore'}
-      - {'tag': 'arm-latest', 'test': 'networking-bgpvpn'}
-      - {'tag': 'arm-latest', 'test': 'networking-sfc'}
-      - {'tag': 'arm-latest', 'test': 'patrole'}
-      - {'tag': 'arm-wallaby', 'test': 'refstack_defcore'}
-      - {'tag': 'arm-wallaby', 'test': 'networking-bgpvpn'}
-      - {'tag': 'arm-wallaby', 'test': 'networking-sfc'}
-      - {'tag': 'arm-wallaby', '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': 'arm64-latest', 'test': 'refstack_defcore'}
-      - {'tag': 'arm64-latest', 'test': 'networking-bgpvpn'}
-      - {'tag': 'arm64-latest', 'test': 'networking-sfc'}
-      - {'tag': 'arm64-latest', 'test': 'patrole'}
-      - {'tag': 'arm64-wallaby', 'test': 'refstack_defcore'}
-      - {'tag': 'arm64-wallaby', 'test': 'networking-bgpvpn'}
-      - {'tag': 'arm64-wallaby', 'test': 'networking-sfc'}
-      - {'tag': 'arm64-wallaby', '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: latest
+        test: refstack_defcore
+      - tag: latest
+        test: networking-bgpvpn
+      - tag: latest
+        test: networking-sfc
+      - tag: latest
+        test: patrole
+      - tag: wallaby
+        test: refstack_defcore
+      - tag: wallaby
+        test: networking-bgpvpn
+      - tag: wallaby
+        test: networking-sfc
+      - tag: wallaby
+        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: arm-latest
+        test: refstack_defcore
+      - tag: arm-latest
+        test: networking-bgpvpn
+      - tag: arm-latest
+        test: networking-sfc
+      - tag: arm-latest
+        test: patrole
+      - tag: arm-wallaby
+        test: refstack_defcore
+      - tag: arm-wallaby
+        test: networking-bgpvpn
+      - tag: arm-wallaby
+        test: networking-sfc
+      - tag: arm-wallaby
+        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: arm64-latest
+        test: refstack_defcore
+      - tag: arm64-latest
+        test: networking-bgpvpn
+      - tag: arm64-latest
+        test: networking-sfc
+      - tag: arm64-latest
+        test: patrole
+      - tag: arm64-wallaby
+        test: refstack_defcore
+      - tag: arm64-wallaby
+        test: networking-bgpvpn
+      - tag: arm64-wallaby
+        test: networking-sfc
+      - tag: arm64-wallaby
+        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
     jobs:
-      - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
+    parameters:
+      - functest-pi-slave:
+          slave: '{slave}'
+      - functest-pi-build_tag:
+          build_tag: ''
+      - functest-pi-EXTERNAL_NETWORK:
+          EXTERNAL_NETWORK: public
+      - functest-pi-VOLUME_DEVICE_NAME:
+          VOLUME_DEVICE_NAME: sdb
+      - functest-pi-IMAGE_PROPERTIES:
+          IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+    builders:
+      - functest-pi-run-containers:
+          <<: *functest-pi-run-containers
 
 - project:
     name: 'functest-pi-ollivier-functest-smoke-cntt'
     <<: *functest-pi-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-smoke-cntt'
     test:
       - tempest_neutron_cntt
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
+    parameters:
+      - functest-pi-slave:
+          slave: '{slave}'
+      - functest-pi-build_tag:
+          build_tag: ''
+      - functest-pi-EXTERNAL_NETWORK:
+          EXTERNAL_NETWORK: public
+      - functest-pi-VOLUME_DEVICE_NAME:
+          VOLUME_DEVICE_NAME: sdb
+      - functest-pi-IMAGE_PROPERTIES:
+          IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+    builders:
+      - functest-pi-run-containers:
+          <<: *functest-pi-run-containers
 
 - project:
     name: 'functest-pi-ollivier-functest-benchmarking'
     <<: *functest-pi-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-benchmarking'
     test:
       - rally_full
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
+    parameters:
+      - functest-pi-slave:
+          slave: '{slave}'
+      - functest-pi-build_tag:
+          build_tag: ''
+      - functest-pi-EXTERNAL_NETWORK:
+          EXTERNAL_NETWORK: public
+      - functest-pi-VOLUME_DEVICE_NAME:
+          VOLUME_DEVICE_NAME: sdb
+      - functest-pi-IMAGE_PROPERTIES:
+          IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+    builders:
+      - functest-pi-run-containers:
+          <<: *functest-pi-run-containers
 
 - project:
     name: 'functest-pi-ollivier-functest-benchmarking-cntt'
     <<: *functest-pi-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-benchmarking-cntt'
     test:
       - rally_full_cntt
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
+    parameters:
+      - functest-pi-slave:
+          slave: '{slave}'
+      - functest-pi-build_tag:
+          build_tag: ''
+      - functest-pi-EXTERNAL_NETWORK:
+          EXTERNAL_NETWORK: public
+      - functest-pi-VOLUME_DEVICE_NAME:
+          VOLUME_DEVICE_NAME: sdb
+      - functest-pi-IMAGE_PROPERTIES:
+          IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+    builders:
+      - functest-pi-run-containers:
+          <<: *functest-pi-run-containers
 
 - project:
     name: 'functest-pi-ollivier-functest-vnf'
     <<: *functest-pi-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-vnf'
     test:
       - cloudify
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
-
+      - 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
 
 - builder:
     name: functest-pi-zip
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
             image={repo}:{port}/{container}:{tag}
           fi
           sudo docker run --rm \
+            $volumes \
+            $env \
             -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_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 EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
-            -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
-            -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
-            -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
-            -v /home/opnfv/functest/images:/home/opnfv/functest/images \
             $image zip_campaign
 
 - job-template:
     builders:
       - functest-pi-zip:
           <<: *functest-pi-containers
+          volumes: '{volumes}'
+          env: '{env}'
 
 - project:
     name: 'functest-pi-{tag}-zip'
     <<: *functest-pi-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-healthcheck'
     jobs:
       - 'functest-pi-{tag}-zip'
           VOLUME_DEVICE_NAME: sdb
       - functest-pi-IMAGE_PROPERTIES:
           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-pi-{tag}-(daily|docker|review)$'
+          - ^functest-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
index 2ae0995..e9086f0 100644 (file)
       - 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:
@@ -88,6 +90,8 @@
     <<: *functest-containers
     test: '{test}'
     privileged: '{privileged}'
+    volumes: '{volumes}'
+    env: '{env}'
     network: '{network}'
     DASHBOARD_URL: '{DASHBOARD_URL}'
 
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           sudo docker run --rm \
             --privileged={privileged} \
             --network={network} \
+            $volumes \
+            $env \
             -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 NODE_NAME=$slave \
             -e BUILD_TAG=$BUILD_TAG \
             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-            -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
-            -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
-            -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
             -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} -p -r
 
 - builder:
       - 'functest-{repo}-{container}-{tag}-rmi'
 
 - job-template:
-    name: 'functest-{repo}-{container}-{tag}-{test}-run'
+    name: 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
     parameters:
       - functest-slave:
           slave: '{slave}'
 - project:
     name: 'functest-opnfv-functest-healthcheck'
     <<: *functest-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-healthcheck'
     test:
       - connection_check
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-opnfv-functest-smoke-{tag}-{test}-run'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
+      - functest-build_tag:
+          build_tag: ''
+      - 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
+    builders:
+      - functest-run-containers:
+          <<: *functest-run-containers
 
 - project:
     name: 'functest-opnfv-functest-smoke'
     <<: *functest-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-smoke'
     test:
       - tempest_neutron
     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': 'wallaby', 'test': 'refstack_defcore'}
-      - {'tag': 'wallaby', 'test': 'networking-bgpvpn'}
-      - {'tag': 'wallaby', 'test': 'networking-sfc'}
-      - {'tag': 'wallaby', '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: latest
+        test: refstack_defcore
+      - tag: latest
+        test: networking-bgpvpn
+      - tag: latest
+        test: networking-sfc
+      - tag: latest
+        test: patrole
+      - tag: wallaby
+        test: refstack_defcore
+      - tag: wallaby
+        test: networking-bgpvpn
+      - tag: wallaby
+        test: networking-sfc
+      - tag: wallaby
+        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
     jobs:
-      - 'functest-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
+      - functest-build_tag:
+          build_tag: ''
+      - 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
+    builders:
+      - functest-run-containers:
+          <<: *functest-run-containers
 
 - project:
     name: 'functest-opnfv-functest-smoke-cntt'
     <<: *functest-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-smoke-cntt'
     test:
       - tempest_neutron_cntt
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
+      - functest-build_tag:
+          build_tag: ''
+      - 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
+    builders:
+      - functest-run-containers:
+          <<: *functest-run-containers
 
 - project:
     name: 'functest-opnfv-functest-benchmarking'
     <<: *functest-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-benchmarking'
     test:
       - rally_full
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
+      - functest-build_tag:
+          build_tag: ''
+      - 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
+    builders:
+      - functest-run-containers:
+          <<: *functest-run-containers
 
 - project:
     name: 'functest-opnfv-functest-benchmarking-cntt'
     <<: *functest-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-benchmarking-cntt'
     test:
       - rally_full_cntt
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-{repo}-{container}-{tag}-{test}-run'
+      - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
+
+- job-template:
+    name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
+    parameters:
+      - functest-slave:
+          slave: '{slave}'
+      - functest-build_tag:
+          build_tag: ''
+      - 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
+    builders:
+      - functest-run-containers:
+          <<: *functest-run-containers
 
 - project:
     name: 'functest-opnfv-functest-vnf'
     <<: *functest-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-vnf'
     test:
       - cloudify
     privileged: 'false'
     network: bridge
     jobs:
-      - 'functest-{repo}-{container}-{tag}-{test}-run'
-
+      - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
 
 - builder:
     name: functest-zip
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
             image={repo}:{port}/{container}:{tag}
           fi
           sudo docker run --rm \
+            $volumes \
+            $env \
             -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_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 EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
-            -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
-            -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
-            -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
-            -v /home/opnfv/functest/images:/home/opnfv/functest/images \
             $image zip_campaign
 
 - job-template:
     builders:
       - functest-zip:
           <<: *functest-containers
+          volumes: '{volumes}'
+          env: '{env}'
 
 - project:
     name: 'functest-{tag}-zip'
     <<: *functest-params
+    volumes:
+      - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+      - /home/opnfv/functest/images:/home/opnfv/functest/images
+    env:
+      - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+      - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+      - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
     container: 'functest-healthcheck'
     jobs:
       - 'functest-{tag}-zip'
           VOLUME_DEVICE_NAME: sdb
       - functest-IMAGE_PROPERTIES:
           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-{tag}-(daily|docker|review)$'
+          - ^functest-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
     jobs:
       - 'functest-{repo}-{container}-{tag}-gate'
 
-
 - trigger:
     name: functest-patchset-created
     triggers:
           VOLUME_DEVICE_NAME: sdb
       - functest-IMAGE_PROPERTIES:
           IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-{tag}-(daily|docker|review)$'
+          - ^functest-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
     jobs:
       - 'functest-{repo}-{container}-{tag}-build'
 
-
 - job-template:
     name: 'functest-{tag}-docker'
     project-type: multijob
     parameters:
       - functest-slave:
           slave: '{slave}'
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^functest-{tag}-(daily|docker|review)$'
+          - ^functest-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove dependency
index 57c62c4..4b8cadd 100644 (file)
@@ -28,6 +28,7 @@
 
 - job-template:
     name: 'xtesting-ci-tests-{playbook}'
+    disabled: true
     triggers:
       - timed: '@daily'
     parameters:
index 88ba748..7ecc02e 100644 (file)
       - random-string:
           name: build_tag
 
-
 - xtesting-pi-run-containers: &xtesting-pi-run-containers
     name: 'xtesting-pi-run-containers'
     <<: *xtesting-pi-containers
     test: '{test}'
     privileged: '{privileged}'
+    volumes: '{volumes}'
+    env: '{env}'
     network: '{network}'
 
 - builder:
@@ -86,6 +87,8 @@
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           sudo docker run --rm \
             --privileged={privileged} \
             --network={network} \
+            $volumes \
+            $env \
             -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 \
       - 'xtesting-pi-{repo}-{container}-{tag}-rmi'
 
 - job-template:
-    name: 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
+    name: 'xtesting-pi-ollivier-xtesting-{tag}-{test}-run'
     parameters:
       - xtesting-pi-slave:
           slave: '{slave}'
 - project:
     name: 'xtesting-pi-ollivier-xtesting'
     <<: *xtesting-pi-params
+    volumes:
+    env:
     container: 'xtesting'
     test:
       - first
     privileged: 'false'
     network: bridge
     exclude:
-      - {'tag': 'leguer', 'test': 'eighth'}
-      - {'tag': 'kali', 'test': 'eighth'}
-      - {'tag': 'jerma', 'test': 'eighth'}
-      - {'tag': 'arm-leguer', 'test': 'eighth'}
-      - {'tag': 'arm-kali', 'test': 'eighth'}
-      - {'tag': 'arm-jerma', 'test': 'eighth'}
-      - {'tag': 'arm64-leguer', 'test': 'eighth'}
-      - {'tag': 'arm64-kali', 'test': 'eighth'}
-      - {'tag': 'arm64-jerma', 'test': 'eighth'}
+      - tag: leguer
+        test: eighth
+      - tag: kali
+        test: eighth
+      - tag: jerma
+        test: eighth
+      - tag: arm-leguer
+        test: eighth
+      - tag: arm-kali
+        test: eighth
+      - tag: arm-jerma
+        test: eighth
+      - tag: arm64-leguer
+        test: eighth
+      - tag: arm64-kali
+        test: eighth
+      - tag: arm64-jerma
+        test: eighth
     jobs:
-      - 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
+      - 'xtesting-pi-ollivier-xtesting-{tag}-{test}-run'
+
+- job-template:
+    name: 'xtesting-pi-ollivier-xtesting-mts-{tag}-{test}-run'
+    parameters:
+      - xtesting-pi-slave:
+          slave: '{slave}'
+      - xtesting-pi-build_tag:
+          build_tag: ''
+    builders:
+      - xtesting-pi-run-containers:
+          <<: *xtesting-pi-run-containers
 
 - project:
     name: 'xtesting-pi-ollivier-xtesting-mts'
     <<: *xtesting-pi-params
+    volumes:
+    env:
     container: 'xtesting-mts'
     test:
       - seventh
     privileged: 'false'
     network: bridge
     jobs:
-      - 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
-
+      - 'xtesting-pi-ollivier-xtesting-mts-{tag}-{test}-run'
 
 - builder:
     name: xtesting-pi-zip
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
             image={repo}:{port}/{container}:{tag}
           fi
           sudo docker run --rm \
+            $volumes \
+            $env \
             -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 \
     builders:
       - xtesting-pi-zip:
           <<: *xtesting-pi-containers
+          volumes: '{volumes}'
+          env: '{env}'
 
 - project:
     name: 'xtesting-pi-{tag}-zip'
     <<: *xtesting-pi-params
+    volumes:
+    env:
     container: 'xtesting'
     jobs:
       - 'xtesting-pi-{tag}-zip'
           slave: '{slave}'
       - xtesting-pi-build_tag:
           build_tag: ''
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^xtesting-pi-{tag}-(daily|docker|review)$'
+          - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
index 1239ad0..389cfd0 100644 (file)
       - random-string:
           name: build_tag
 
-
 - xtesting-run-containers: &xtesting-run-containers
     name: 'xtesting-run-containers'
     <<: *xtesting-containers
     test: '{test}'
     privileged: '{privileged}'
+    volumes: '{volumes}'
+    env: '{env}'
     network: '{network}'
 
 - builder:
@@ -86,6 +87,8 @@
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
           sudo docker run --rm \
             --privileged={privileged} \
             --network={network} \
+            $volumes \
+            $env \
             -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 \
       - 'xtesting-{repo}-{container}-{tag}-rmi'
 
 - job-template:
-    name: 'xtesting-{repo}-{container}-{tag}-{test}-run'
+    name: 'xtesting-opnfv-xtesting-{tag}-{test}-run'
     parameters:
       - xtesting-slave:
           slave: '{slave}'
 - project:
     name: 'xtesting-opnfv-xtesting'
     <<: *xtesting-params
+    volumes:
+    env:
     container: 'xtesting'
     test:
       - first
     privileged: 'false'
     network: bridge
     exclude:
-      - {'tag': 'leguer', 'test': 'eighth'}
-      - {'tag': 'kali', 'test': 'eighth'}
-      - {'tag': 'jerma', 'test': 'eighth'}
+      - tag: leguer
+        test: eighth
+      - tag: kali
+        test: eighth
+      - tag: jerma
+        test: eighth
     jobs:
-      - 'xtesting-{repo}-{container}-{tag}-{test}-run'
+      - 'xtesting-opnfv-xtesting-{tag}-{test}-run'
+
+- job-template:
+    name: 'xtesting-opnfv-xtesting-mts-{tag}-{test}-run'
+    parameters:
+      - xtesting-slave:
+          slave: '{slave}'
+      - xtesting-build_tag:
+          build_tag: ''
+    builders:
+      - xtesting-run-containers:
+          <<: *xtesting-run-containers
 
 - project:
     name: 'xtesting-opnfv-xtesting-mts'
     <<: *xtesting-params
+    volumes:
+    env:
     container: 'xtesting-mts'
     test:
       - seventh
     privileged: 'false'
     network: bridge
     jobs:
-      - 'xtesting-{repo}-{container}-{tag}-{test}-run'
-
+      - 'xtesting-opnfv-xtesting-mts-{tag}-{test}-run'
 
 - builder:
     name: xtesting-zip
     builders:
       - shell: |
           set +x
+          volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
+          env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
           if [ "{repo}" = "_" ]; then
             image={container}:{tag}
             image={repo}:{port}/{container}:{tag}
           fi
           sudo docker run --rm \
+            $volumes \
+            $env \
             -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 \
     builders:
       - xtesting-zip:
           <<: *xtesting-containers
+          volumes: '{volumes}'
+          env: '{env}'
 
 - project:
     name: 'xtesting-{tag}-zip'
     <<: *xtesting-params
+    volumes:
+    env:
     container: 'xtesting'
     jobs:
       - 'xtesting-{tag}-zip'
           slave: '{slave}'
       - xtesting-build_tag:
           build_tag: ''
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^xtesting-{tag}-(daily|docker|review)$'
+          - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
     jobs:
       - 'xtesting-{repo}-{container}-{tag}-gate'
 
-
 - trigger:
     name: xtesting-patchset-created
     triggers:
           slave: '{slave}'
       - xtesting-build_tag:
           build_tag: ''
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^xtesting-{tag}-(daily|docker|review)$'
+          - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove former images
     jobs:
       - 'xtesting-{repo}-{container}-{tag}-build'
 
-
 - job-template:
     name: 'xtesting-{tag}-docker'
     project-type: multijob
     parameters:
       - xtesting-slave:
           slave: '{slave}'
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
     properties:
       - build-blocker:
-          use-build-blocker: true
-          blocking-level: 'NODE'
           blocking-jobs:
-            - '^xtesting-{tag}-(daily|docker|review)$'
+          - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
     builders:
       - multijob:
           name: remove dependency
diff --git a/releases/kali/kuberef.yaml b/releases/kali/kuberef.yaml
new file mode 100644 (file)
index 0000000..e4c826e
--- /dev/null
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: kuberef
+project-type: installer
+release-model: stable
+
+branches:
+  - name: stable/kali
+    location:
+      kuberef: e917625c424d33e892fa253cdd02da926b843325