#
# Scheduled builds can be enabled when creating a schedule job and
# specifying DOCS_SCHEDULE = "true" in build variables
+#
+# If extra dependencies are needed for builds they will be installed
+# from the $DOCS_REQUIREMENTS location.
---
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
DOCS_DIRECTORY: "docs"
+ DOCS_REQUIREMENTS: "$DOCS_DIRECTORY/requirements.txt"
.docs-cache: &docs-cache
paths:
- source venv/bin/activate
- pip install Sphinx
- |
- if [ -f "$DOCS_DIRECTORY/requirements.txt" ]; then
- pip install -r "$DOCS_DIRECTORY/requirements.txt"
+ if [ -f "$DOCS_REQUIREMENTS" ]; then
+ pip install -r "$DOCS_REQUIREMENTS"
fi
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
when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
changes:
- - $DOCS_DIRECTORY/*
+ - $DOCS_DIRECTORY/**/*
pages:
stage: deploy
when: never
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
changes:
- - $DOCS_DIRECTORY/*
+ - $DOCS_DIRECTORY/**/*
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
<<: *functest-kubernetes-pi-containers
test: '{test}'
privileged: '{privileged}'
+ volumes: '{volumes}'
+ env: '{env}'
network: '{network}'
- builder:
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
<<: *functest-kubernetes-containers
test: '{test}'
privileged: '{privileged}'
+ volumes: '{volumes}'
+ env: '{env}'
network: '{network}'
- builder:
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
- 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
- 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:
<<: *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
- job-template:
name: 'xtesting-ci-tests-{playbook}'
+ disabled: true
triggers:
- timed: '@daily'
parameters:
- 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:
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker pull $image
+ docker pull $image
- builder:
name: xtesting-pi-run-containers
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
+ 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}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker run --rm \
+ 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 \
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker rmi $image || true
+ docker rmi $image || true
- job-template:
name: 'xtesting-pi-{repo}-{container}-{tag}-pull'
- '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
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
+ 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}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker run --rm \
+ 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
- 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:
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker pull $image
+ docker pull $image
- builder:
name: xtesting-run-containers
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
+ 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}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker run --rm \
+ 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 \
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker rmi $image || true
+ docker rmi $image || true
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-pull'
- '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
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
+ 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}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker run --rm \
+ 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
if [ "{from}" != "None" ]; then
sed -i {from} Dockerfile
fi
- sudo docker build $build_args \
+ docker build $build_args \
--pull=false --no-cache --force-rm=true \
-t $image .
else
image=_:/alpine:{dependency}
fi
- sudo docker pull $image || true
+ docker pull $image || true
- builder:
name: xtesting-remove-dep-images
else
image=_:/alpine:{dependency}
fi
- sudo docker rmi $image || true
+ docker rmi $image || true
- job-template:
name: 'xtesting-{repo}-{tag}-dep-pull'
builders:
- shell: |
set +x
- sudo apt-get update && sudo apt-get install \
+ apt-get update && 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 \
+ 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
- sudo pip3 install tox tox-pip-version
+ pip3 install tox tox-pip-version
tox
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
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker push $image
+ docker push $image
- trigger:
name: xtesting-commit
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
name: xtesting-trivy
builders:
- shell: |
- sudo apt-get update && sudo apt-get install curl -y
+ apt-get update && apt-get install curl -y
- curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
+ 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
--- /dev/null
+# 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