Fix .boto location
[releng.git] / jjb / functest / functest-kubernetes.yaml
index 169d1b2..91c93e6 100644 (file)
@@ -87,6 +87,8 @@
     volumes: '{volumes}'
     env: '{env}'
     network: '{network}'
+    uid: '{uid}'
+    gid: '{gid}'
 
 - builder:
     name: functest-kubernetes-pull-containers
           else
             image={repo}:{port}/{container}:{tag}
           fi
+          mkdir -p $WORKSPACE/results
+          chown {uid}:{gid} $WORKSPACE/results
           docker run --rm \
             --privileged={privileged} \
             --network={network} \
             -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 \
+            -v /home/opnfv/functest-kubernetes/.boto:/etc/boto.cfg \
             -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 \
       - k8s_smoke
     privileged: 'false'
     network: bridge
+    uid: 1000
+    gid: 1000
     jobs:
       - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
 
       - sig_storage_serial
     privileged: 'false'
     network: bridge
+    uid: 1000
+    gid: 1000
     exclude:
       - tag: latest
         test: k8s_io
       - kube_bench_node
     privileged: 'false'
     network: bridge
+    uid: 1000
+    gid: 1000
     jobs:
       - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
 
       - netperf
     privileged: 'false'
     network: bridge
+    uid: 1000
+    gid: 1000
     jobs:
       - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
 
       - cnf_testsuite
     privileged: 'false'
     network: bridge
+    uid: 1000
+    gid: 1000
     jobs:
       - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
 
           else
             image={repo}:{port}/{container}:{tag}
           fi
+          mkdir -p $WORKSPACE/results
+          chown {uid}:{gid} $WORKSPACE/results
           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 \
-            -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
+            -v /home/opnfv/functest-kubernetes/.boto:/etc/boto.cfg \
             -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 \
           <<: *functest-kubernetes-containers
           volumes: '{volumes}'
           env: '{env}'
+          uid: '{uid}'
+          gid: '{gid}'
 
 - project:
     name: 'functest-kubernetes-{tag}-zip'
       - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
       - E2E_TEST_OPTS=$E2E_TEST_OPTS
     container: 'functest-kubernetes-healthcheck'
+    uid: 1000
+    gid: 1000
     jobs:
       - 'functest-kubernetes-{tag}-zip'
 
             - name: 'functest-kubernetes-{tag}-zip'
               <<: *functest-kubernetes-jobs
     publishers:
-      - email:
+      - email-ext:
+          failure: false
+          first-failure: true
+          fixed: true
           recipients: cedric.ollivier@orange.com
 
 - project:
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
               <<: *functest-kubernetes-jobs
     publishers:
-      - email:
+      - email-ext:
+          failure: false
+          first-failure: true
+          fixed: true
           recipients: cedric.ollivier@orange.com
 
 - project:
             - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
               <<: *functest-kubernetes-jobs
     publishers:
-      - email:
+      - email-ext:
+          failure: false
+          first-failure: true
+          fixed: true
           recipients: cedric.ollivier@orange.com
 
 - builder:
       - functest-kubernetes-trivy:
           <<: *functest-kubernetes-containers
     publishers:
-      - email:
+      - email-ext:
+          failure: false
+          first-failure: true
+          fixed: true
           recipients: cedric.ollivier@orange.com
 
 - project:
     jobs:
       - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
 
+- builder:
+    name: functest-kubernetes-grype
+    builders:
+      - shell: |
+          apt-get -o DPkg::Lock::Timeout=300 update && \
+          DEBIAN_FRONTEND=noninteractive apt-get \
+            -o DPkg::Lock::Timeout=300 install curl -y
+
+          curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/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
+          ./grype -q $image
+
+- job-template:
+    name: 'functest-kubernetes-{repo}-{container}-{tag}-grype'
+    triggers:
+      - timed: '@weekly'
+    parameters:
+      - functest-kubernetes-slave:
+          slave: '{slave}'
+    builders:
+      - functest-kubernetes-grype:
+          <<: *functest-kubernetes-containers
+    publishers:
+      - email-ext:
+          failure: false
+          first-failure: true
+          fixed: true
+          recipients: cedric.ollivier@orange.com
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-core-grype'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-core'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-grype'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-grype'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-healthcheck'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-grype'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-grype'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-cnf'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-grype'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-security-grype'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-security'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-grype'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-grype'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-smoke'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-grype'
+
+- project:
+    name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-grype'
+    <<: *functest-kubernetes-params
+    container: 'functest-kubernetes-benchmarking'
+    jobs:
+      - 'functest-kubernetes-{repo}-{container}-{tag}-grype'
+
 - project:
     name: 'functest-kubernetes'
     <<: *functest-kubernetes-params
       - last-failure
       - last-duration
     regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$
+
+- view:
+    name: functest-kubernetes-grype
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-grype$