Leverage the right Functest Xena gates
[releng.git] / jjb / functest / functest-kubernetes-ng.yaml
index 3240eeb..ea3bb54 100644 (file)
     port:
     tag:
       - v1.20:
-          buildargs:
+          build_args:
           branch: stable/leguer
           slave: lf-virtual1
           dependency: 3.12
+          from: s/:leguer$/:v1.20/g
       - v1.19:
-          buildargs:
+          build_args:
           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
-      - v1.17:
-          buildargs:
-          branch: stable/jerma
-          slave: lf-virtual1
-          dependency: 3.10
-      - v1.16:
-          branch: stable/jerma
-          slave: lf-virtual1
-          dependency: 3.10
-          buildargs: --build-arg K8S_TAG=1.16
-      - v1.15:
-          buildargs:
-          branch: stable/iruya
-          slave: lf-virtual1
-          dependency: 3.9
-      - v1.14:
-          branch: stable/iruya
-          slave: lf-virtual1
-          dependency: 3.9
-          buildargs: --build-arg K8S_TAG=1.14
-      - v1.13:
-          buildargs:
-          branch: stable/hunter
-          slave: lf-virtual1
-          dependency: 3.9
+          build_args:
+            - K8S_TAG=1.18
+          from: s/:kali$/:v1.18/g
 
 - functest-kubernetes-ng-jobs: &functest-kubernetes-ng-jobs
     name: 'functest-kubernetes-ng-jobs'
           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}'
+    build_args: '{build_args}'
+    from: '{from}'
 
 - builder:
     name: functest-kubernetes-ng-build-containers
             image={repo}:{port}/{container}:{tag}
           fi
           build_args=""
-          if [ "{buildargs}" != "None" ]; then
-            build_args="{buildargs} "
+          if [ "{build_args}" != "None" ]; then
+            for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
+              do build_args="--build-arg $i $build_args"; done
           fi
           if [ "{ref_arg}" != "None" ]; then
-            build_args="--build-arg {ref_arg}={ref}"
+            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 .
           set +x
           if [ "_" = "_" ]; then
             image=alpine:{dependency}
-          elif [ "_" = "None" ]; then
+          elif [ "None" = "None" ]; then
             image=_/alpine:{dependency}
           else
-            image=_:/alpine{dependency}
+            image=_:/alpine:{dependency}
           fi
           sudo docker pull $image || true
 
           set +x
           if [ "_" = "_" ]; then
             image=alpine:{dependency}
-          elif [ "_" = "None" ]; then
+          elif [ "" = "None" ]; then
             image=_/alpine:{dependency}
           else
-            image=_:/alpine{dependency}
+            image=_:/alpine:{dependency}
           fi
           sudo docker rmi $image || true
 
     jobs:
       - 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
 
-
 - builder:
     name: functest-kubernetes-ng-push-containers
     builders:
       - functest-kubernetes-ng-build-containers:
           <<: *functest-kubernetes-ng-build-containers
           ref: '{branch}'
-          buildargs: '{buildargs}'
+          build_args: '{build_args}'
       - functest-kubernetes-ng-push-containers:
           <<: *functest-kubernetes-ng-build-containers
           ref: '{branch}'
     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
     name: functest-kubernetes-ng-trivy
     builders:
       - shell: |
-          sudo apt-get update && sudo apt-get install curl -y
+          sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive \
+          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}
           <<: *functest-kubernetes-ng-containers
 
 - project:
-    name: 'functest-kubernetes-ng-opnfv-xtesting-trivy'
+    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: 'xtesting'
+    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-xtesting-mts-trivy'
+    name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-trivy'
     <<: *functest-kubernetes-ng-params
-    container: 'xtesting-mts'
+    container: 'functest-kubernetes-benchmarking'
     jobs:
       - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'