diff options
-rw-r--r-- | .travis.yml | 5 | ||||
-rw-r--r-- | build.sh | 1 | ||||
-rw-r--r-- | ci/daily.yaml | 3 | ||||
-rw-r--r-- | ci/gate.yaml | 4 | ||||
-rw-r--r-- | ci/run.yaml | 28 | ||||
-rw-r--r-- | docker/benchmarking/Dockerfile | 24 | ||||
-rw-r--r-- | docker/benchmarking/hooks/post_checkout | 6 | ||||
-rw-r--r-- | docker/benchmarking/testcases.yaml | 35 | ||||
-rw-r--r-- | docker/components/testcases.yaml | 2 | ||||
-rw-r--r-- | docker/core/Dockerfile | 4 | ||||
-rw-r--r-- | docker/features/hooks/post_checkout | 2 | ||||
-rw-r--r-- | docker/features/testcases.yaml | 2 | ||||
-rw-r--r-- | docker/smoke/Dockerfile | 13 | ||||
-rw-r--r-- | docker/smoke/hooks/post_checkout | 2 | ||||
-rw-r--r-- | docker/tempest/Dockerfile | 2 | ||||
-rw-r--r-- | docker/vnf/testcases.yaml | 2 | ||||
-rw-r--r-- | functest/ci/testcases.yaml | 67 |
17 files changed, 152 insertions, 50 deletions
diff --git a/.travis.yml b/.travis.yml index ea13625e3..e4060757f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,6 +52,11 @@ jobs: - script: sudo -E bash build.sh env: - REPO="${DOCKER_USERNAME}" + - amd64_dirs="docker/benchmarking" + - arm64_dirs="" + - script: sudo -E bash build.sh + env: + - REPO="${DOCKER_USERNAME}" - amd64_dirs="docker/features" - arm64_dirs="" - script: sudo -E bash build.sh @@ -8,6 +8,7 @@ docker/core \ docker/tempest \ docker/healthcheck \ docker/smoke \ +docker/benchmarking \ docker/features \ docker/components \ docker/vnf"} diff --git a/ci/daily.yaml b/ci/daily.yaml index 2ae1b68c2..89b404f77 100644 --- a/ci/daily.yaml +++ b/ci/daily.yaml @@ -9,6 +9,7 @@ container: - healthcheck - smoke + - benchmarking - components - vnf - features @@ -24,6 +25,7 @@ projects: - name: '{repo}-functest-healthcheck-{tag}-pull' - name: '{repo}-functest-smoke-{tag}-pull' + - name: '{repo}-functest-benchmarking-{tag}-pull' - name: '{repo}-functest-components-{tag}-pull' - name: '{repo}-functest-vnf-{tag}-pull' - name: '{repo}-functest-features-{tag}-pull' @@ -49,6 +51,7 @@ name: advanced tests projects: - name: '{repo}-functest-smoke-{tag}-run' + - name: '{repo}-functest-benchmarking-{tag}-run' - name: '{repo}-functest-components-{tag}-run' - name: '{repo}-functest-vnf-{tag}-run' - name: '{repo}-functest-features-{tag}-run' diff --git a/ci/gate.yaml b/ci/gate.yaml index ea0c76e09..1abfc67ac 100644 --- a/ci/gate.yaml +++ b/ci/gate.yaml @@ -39,6 +39,7 @@ - tempest - healthcheck - smoke + - benchmarking - components - vnf - features @@ -67,6 +68,8 @@ <<: *functest-projectparameters - name: '{repo}-functest-smoke-{tag}-build' <<: *functest-projectparameters + - name: '{repo}-functest-benchmarking-{tag}-build' + <<: *functest-projectparameters - name: '{repo}-functest-components-{tag}-build' <<: *functest-projectparameters - name: '{repo}-functest-vnf-{tag}-build' @@ -97,6 +100,7 @@ name: advanced tests projects: - name: '{repo}-functest-smoke-{tag}-run' + - name: '{repo}-functest-benchmarking-{tag}-run' - name: '{repo}-functest-components-{tag}-run' - name: '{repo}-functest-vnf-{tag}-run' - name: '{repo}-functest-features-{tag}-run' diff --git a/ci/run.yaml b/ci/run.yaml index 558956f6f..9cc374c0c 100644 --- a/ci/run.yaml +++ b/ci/run.yaml @@ -68,8 +68,6 @@ - rally_sanity - refstack_defcore - patrole - - vmtp - - shaker - snaps_smoke - neutron_trunk - networking-bgpvpn @@ -90,8 +88,6 @@ - name: '{repo}-functest-smoke-rally_sanity-{tag}-run' - name: '{repo}-functest-smoke-refstack_defcore-{tag}-run' - name: '{repo}-functest-smoke-patrole-{tag}-run' - - name: '{repo}-functest-smoke-vmtp-{tag}-run' - - name: '{repo}-functest-smoke-shaker-{tag}-run' - name: '{repo}-functest-smoke-snaps_smoke-{tag}-run' - name: '{repo}-functest-smoke-neutron_trunk-{tag}-run' - name: '{repo}-functest-smoke-networking-bgpvpn-{tag}-run' @@ -104,6 +100,30 @@ - '{repo}-functest-smoke-{tag}-run' - project: + name: '{repo}-functest-benchmarking-{test}-{tag}-run' + container: benchmarking + test: + - vmtp + - shaker + jobs: + - '{repo}-functest-{container}-{test}-{tag}-run' + +- job-template: + name: '{repo}-functest-benchmarking-{tag}-run' + project-type: multijob + builders: + - multijob: + name: smoke + projects: + - name: '{repo}-functest-benchmarking-vmtp-{tag}-run' + - name: '{repo}-functest-benchmarking-shaker-{tag}-run' + +- project: + name: '{repo}-functest-benchmarking-{tag}-run' + jobs: + - '{repo}-functest-benchmarking-{tag}-run' + +- project: name: '{repo}-functest-components-{test}-{tag}-run' container: components test: diff --git a/docker/benchmarking/Dockerfile b/docker/benchmarking/Dockerfile new file mode 100644 index 000000000..3afa5c483 --- /dev/null +++ b/docker/benchmarking/Dockerfile @@ -0,0 +1,24 @@ +FROM opnfv/functest-core + +ARG BRANCH=master +ARG OPENSTACK_TAG=stable/queens +ARG VMTP_TAG=99b261ccccc2f8a08ee2d8fca9f54ef9d69899d7 + +RUN apk --no-cache add --update libxml2 libxslt && \ + apk --no-cache add --virtual .build-deps --update \ + python-dev build-base linux-headers libffi-dev \ + openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \ + wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \ + sed -E s/^tempest==+\(.*\)$/-e\ git+https:\\/\\/git.openstack.org\\/openstack\\/tempest@\\1#egg=tempest/ \ + > upper-constraints.txt && \ + wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH | \ + sed -E /#egg=functest/d > upper-constraints.opnfv.txt && \ + git clone https://git.openstack.org/openstack/vmtp.git /src/vmtp && \ + (cd /src/vmtp && git fetch origin --tags $VMTP_TAG && git checkout FETCH_HEAD) && \ + update-requirements -s --source /src/openstack-requirements /src/vmtp/ && \ + pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ + /src/vmtp && \ + rm -r upper-constraints.txt upper-constraints.opnfv.txt src/vmtp && \ + apk del .build-deps +COPY testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml +CMD ["run_tests", "-t", "all"] diff --git a/docker/benchmarking/hooks/post_checkout b/docker/benchmarking/hooks/post_checkout new file mode 100644 index 000000000..8d0e98124 --- /dev/null +++ b/docker/benchmarking/hooks/post_checkout @@ -0,0 +1,6 @@ +#!/bin/bash + +from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}" +sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile + +exit $? diff --git a/docker/benchmarking/testcases.yaml b/docker/benchmarking/testcases.yaml new file mode 100644 index 000000000..0c4372679 --- /dev/null +++ b/docker/benchmarking/testcases.yaml @@ -0,0 +1,35 @@ +--- +tiers: + - + name: benchmarking + order: 2 + description: >- + Run several OpenStack performance tools + https://docs.openstack.org/performance-docs/latest/methodologies/tools.html + testcases: + - + case_name: vmtp + project_name: functest + criteria: 100 + blocking: false + description: >- + VMTP is a small python application that will automatically + perform ping connectivity, round trip time measurement + (latency) and TCP/UDP throughput + dependencies: + - POD_ARCH: '^(?!aarch64$)' + run: + name: vmtp + + - + case_name: shaker + project_name: functest + criteria: 100 + blocking: false + description: >- + Shaker wraps around popular system network testing tools + like iperf, iperf3 and netperf (with help of flent). Shaker + is able to deploy OpenStack instances and networks in + different topologies. + run: + name: shaker diff --git a/docker/components/testcases.yaml b/docker/components/testcases.yaml index 150d097c9..73a88aeb7 100644 --- a/docker/components/testcases.yaml +++ b/docker/components/testcases.yaml @@ -2,7 +2,7 @@ tiers: - name: components - order: 3 + order: 4 description: >- Extensive testing of OpenStack API. testcases: diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile index 97e4b17e8..8f744db67 100644 --- a/docker/core/Dockerfile +++ b/docker/core/Dockerfile @@ -15,8 +15,12 @@ RUN apk --no-cache add --update \ pip install --no-cache-dir --src /src -cupper-constraints.txt \ -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \ pip==$PIP_TAG && \ + pip install --no-cache-dir --src /src -cupper-constraints.txt \ + -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \ + -e git+https://git.openstack.org/openstack/requirements@$OPENSTACK_TAG#egg=openstack_requirements && \ git clone --depth 1 https://gerrit.opnfv.org/gerrit/functest /src/functest && \ (cd /src/functest && git fetch --depth 1 --tags origin $BRANCH && git checkout FETCH_HEAD) && \ + update-requirements -s --source /src/openstack-requirements /src/functest && \ pip install --no-cache-dir --src /src -cupper-constraints.txt \ -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \ /src/functest && \ diff --git a/docker/features/hooks/post_checkout b/docker/features/hooks/post_checkout index 8d0e98124..3e5670b4a 100644 --- a/docker/features/hooks/post_checkout +++ b/docker/features/hooks/post_checkout @@ -1,6 +1,6 @@ #!/bin/bash -from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}" +from="${DOCKER_REPO%/*}/functest-tempest:${DOCKER_TAG}" sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile exit $? diff --git a/docker/features/testcases.yaml b/docker/features/testcases.yaml index 74c420bc7..a2f71f8c1 100644 --- a/docker/features/testcases.yaml +++ b/docker/features/testcases.yaml @@ -2,7 +2,7 @@ tiers: - name: features - order: 2 + order: 3 description: >- Test suites from feature projects integrated in functest diff --git a/docker/smoke/Dockerfile b/docker/smoke/Dockerfile index 7e4939a41..fcddb8451 100644 --- a/docker/smoke/Dockerfile +++ b/docker/smoke/Dockerfile @@ -4,14 +4,12 @@ ARG BRANCH=master ARG OPENSTACK_TAG=stable/queens ARG REFSTACK_TARGET=2018.02 ARG PATROLE_TAG=0.3.0 -ARG VMTP_TAG=99b261ccccc2f8a08ee2d8fca9f54ef9d69899d7 ARG NEUTRON_TAG=d307f5635d4015e7842a4a177f66c76ba4bd818a ARG BARBICAN_TAG=b8bf147bdcdd33f3ad276ca8815fd253ec9b24af -RUN apk --no-cache add --update libxml2 libxslt && \ - apk --no-cache add --virtual .build-deps --update \ +RUN apk --no-cache add --virtual .build-deps --update \ python-dev build-base linux-headers libffi-dev \ - openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \ + openssl-dev libjpeg-turbo-dev && \ wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \ sed -E s/^tempest==+\(.*\)$/-e\ git+https:\\/\\/git.openstack.org\\/openstack\\/tempest@\\1#egg=tempest/ \ > upper-constraints.txt && \ @@ -20,9 +18,6 @@ RUN apk --no-cache add --update libxml2 libxslt && \ git clone --depth 1 https://git.openstack.org/openstack/patrole.git /src/patrole && \ (cd /src/patrole && git fetch --tags origin $PATROLE_TAG && git checkout FETCH_HEAD) && \ update-requirements -s --source /src/openstack-requirements /src/patrole/ && \ - git clone https://git.openstack.org/openstack/vmtp.git /src/vmtp && \ - (cd /src/vmtp && git fetch origin --tags $VMTP_TAG && git checkout FETCH_HEAD) && \ - update-requirements -s --source /src/openstack-requirements /src/vmtp/ && \ git clone https://git.openstack.org/openstack/neutron-tempest-plugin.git /src/neutron-tempest-plugin && \ (cd /src/neutron-tempest-plugin && git fetch --tags origin $NEUTRON_TAG && git checkout FETCH_HEAD) && \ update-requirements -s --source /src/openstack-requirements /src/neutron-tempest-plugin && \ @@ -31,9 +26,9 @@ RUN apk --no-cache add --update libxml2 libxslt && \ update-requirements -s --source /src/openstack-requirements /src/barbican-tempest-plugin/ && \ pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \ - networking-bgpvpn networking-sfc /src/vmtp && \ + networking-bgpvpn networking-sfc && \ rm -r upper-constraints.txt upper-constraints.opnfv.txt \ - /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin /src/vmtp && \ + /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin && \ mkdir -p /home/opnfv/functest/data/refstack && \ wget "https://refstack.openstack.org/api/v1/guidelines/${REFSTACK_TARGET}/tests?target=compute&type=required&alias=true&flag=false" \ -O /home/opnfv/functest/data/refstack/defcore.txt && \ diff --git a/docker/smoke/hooks/post_checkout b/docker/smoke/hooks/post_checkout index 8d0e98124..3e5670b4a 100644 --- a/docker/smoke/hooks/post_checkout +++ b/docker/smoke/hooks/post_checkout @@ -1,6 +1,6 @@ #!/bin/bash -from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}" +from="${DOCKER_REPO%/*}/functest-tempest:${DOCKER_TAG}" sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile exit $? diff --git a/docker/tempest/Dockerfile b/docker/tempest/Dockerfile index 3c30bae5a..d53457913 100644 --- a/docker/tempest/Dockerfile +++ b/docker/tempest/Dockerfile @@ -21,8 +21,6 @@ RUN apk --no-cache add --virtual .build-deps --update \ esac && \ wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH | \ sed -E /#egg=functest/d > upper-constraints.opnfv.txt && \ - pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ - -e git+https://git.openstack.org/openstack/requirements@$OPENSTACK_TAG#egg=openstack_requirements && \ git clone --depth 1 https://git.openstack.org/openstack/os-faults.git /src/os-faults && \ (cd /src/os-faults && git fetch --depth 1 --tags origin $OS_FAULTS_TAG && git checkout FETCH_HEAD) && \ update-requirements -s --source /src/openstack-requirements /src/os-faults/ && \ diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml index 04d4000b9..170eed0e5 100644 --- a/docker/vnf/testcases.yaml +++ b/docker/vnf/testcases.yaml @@ -2,7 +2,7 @@ tiers: - name: vnf - order: 4 + order: 5 description: >- Collection of VNF test cases. testcases: diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index 23f0620ec..20dc865d1 100644 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -256,33 +256,6 @@ tiers: - 'test_networks_multiprovider_rbac' - - case_name: vmtp - project_name: functest - criteria: 100 - blocking: false - description: >- - VMTP is a small python application that will automatically - perform ping connectivity, round trip time measurement - (latency) and TCP/UDP throughput - dependencies: - - POD_ARCH: '^(?!aarch64$)' - run: - name: vmtp - - - - case_name: shaker - project_name: functest - criteria: 100 - blocking: false - description: >- - Shaker wraps around popular system network testing tools - like iperf, iperf3 and netperf (with help of flent). Shaker - is able to deploy OpenStack instances and networks in - different topologies. - run: - name: shaker - - - case_name: snaps_smoke project_name: functest criteria: 100 @@ -370,9 +343,43 @@ tiers: - barbican - - name: features + name: benchmarking order: 2 description: >- + Run several OpenStack performance tools + https://docs.openstack.org/performance-docs/latest/methodologies/tools.html + testcases: + - + case_name: vmtp + project_name: functest + criteria: 100 + blocking: false + description: >- + VMTP is a small python application that will automatically + perform ping connectivity, round trip time measurement + (latency) and TCP/UDP throughput + dependencies: + - POD_ARCH: '^(?!aarch64$)' + run: + name: vmtp + + - + case_name: shaker + project_name: functest + criteria: 100 + blocking: false + description: >- + Shaker wraps around popular system network testing tools + like iperf, iperf3 and netperf (with help of flent). Shaker + is able to deploy OpenStack instances and networks in + different topologies. + run: + name: shaker + + - + name: features + order: 3 + description: >- Test suites from feature projects integrated in functest testcases: @@ -473,7 +480,7 @@ tiers: - name: components - order: 3 + order: 4 description: >- Extensive testing of OpenStack API. testcases: @@ -524,7 +531,7 @@ tiers: - name: vnf - order: 4 + order: 5 description: >- Collection of VNF test cases. testcases: |