diff options
Diffstat (limited to 'docker')
23 files changed, 1178 insertions, 240 deletions
diff --git a/docker/benchmarking-cntt/Dockerfile b/docker/benchmarking-cntt/Dockerfile new file mode 100644 index 000000000..46acaa036 --- /dev/null +++ b/docker/benchmarking-cntt/Dockerfile @@ -0,0 +1,5 @@ +FROM opnfv/functest-benchmarking + +COPY testcases.yaml /etc/xtesting/testcases.yaml +COPY blacklist.yaml /src/functest/functest/opnfv_tests/openstack/rally/blacklist.yaml +CMD ["run_tests", "-t", "all"] diff --git a/docker/benchmarking-cntt/blacklist.yaml b/docker/benchmarking-cntt/blacklist.yaml new file mode 100644 index 000000000..7ef906df6 --- /dev/null +++ b/docker/benchmarking-cntt/blacklist.yaml @@ -0,0 +1,48 @@ +--- +scenario: + - + scenarios: + - '^os-' + tests: + - 'NeutronNetworks.associate_and_dissociate_floating_ips' + - 'NeutronNetworks.create_and_bind_ports' + - 'NeutronNetworks.create_and_delete_floating_ips' + - 'NeutronNetworks.create_and_list_floating_ips' + - 'NeutronSecurityGroup.create_and_delete_security_group_rule' + - 'NeutronSecurityGroup.create_and_delete_security_groups' + - 'NeutronSecurityGroup.create_and_list_security_group_rules' + - 'NeutronSecurityGroup.create_and_list_security_groups' + - 'NeutronSecurityGroup.create_and_show_security_group' + - 'NeutronSecurityGroup.create_and_show_security_group_rule' + - 'NeutronSecurityGroup.create_and_update_security_groups' + - 'NovaServers.boot_and_delete_server' + +functionality: + - + functions: + - block_migration + tests: + - NovaServers.boot_server_from_volume_and_live_migrate + - + functions: + - no_migration + tests: + - NovaServers.boot_and_live_migrate_server + - NovaServers.boot_server_attach_created_volume_and_live_migrate + - NovaServers.boot_server_from_volume_and_live_migrate + - NovaServers.boot_and_migrate_server + - + functions: + - no_net_trunk_service + tests: + - '^NeutronTrunk' + - + functions: + - no_floating_ip + tests: + - HeatStacks.create_and_delete_stack + - NovaServers.boot_and_associate_floating_ip + - NovaServers.boot_server_associate_and_dissociate_floating_ip + - NeutronNetworks.create_and_delete_floating_ips + - NeutronNetworks.create_and_list_floating_ips + - NeutronNetworks.associate_and_dissociate_floating_ips diff --git a/docker/benchmarking-cntt/testcases.yaml b/docker/benchmarking-cntt/testcases.yaml new file mode 100644 index 000000000..30eb3e631 --- /dev/null +++ b/docker/benchmarking-cntt/testcases.yaml @@ -0,0 +1,67 @@ +--- +tiers: + - + name: benchmarking_cntt + description: >- + Run several OpenStack performance tools + https://docs.openstack.org/performance-docs/latest/methodologies/tools.html + testcases: + - + case_name: rally_full_cntt + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs the full suite of scenarios of the + OpenStack Rally suite using several threads and iterations. + run: + name: rally_full + args: + tests: + - 'authenticate' + - 'glance' + - 'cinder' + - 'heat' + - 'keystone' + - 'neutron' + - 'nova' + - 'quotas' + - 'swift' + + - + case_name: rally_jobs_cntt + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs a group of Rally jobs used in + OpenStack gating + run: + name: rally_jobs + args: + tests: + - 'neutron' + - + 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 + 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/benchmarking/Dockerfile b/docker/benchmarking/Dockerfile index a282886f2..d0957f6b8 100644 --- a/docker/benchmarking/Dockerfile +++ b/docker/benchmarking/Dockerfile @@ -1,34 +1,30 @@ FROM opnfv/functest-core -ARG BRANCH=master -ARG OPENSTACK_TAG=master -ARG VMTP_TAG=master +ARG VMTP_TAG=34a82c9f3598ec7f5d8de0a6d5139b92931db4cc +ARG NEUTRON_TAG=master RUN apk --no-cache add --update libxml2 libxslt && \ apk --no-cache add --virtual .build-deps --update \ python3-dev build-base linux-headers libffi-dev \ openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \ - wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \ - sed -i -E /^tempest==+.*$/d upper-constraints.txt && \ - case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt ;; esac && \ - wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH > upper-constraints.opnfv.txt && \ - sed -i -E /#egg=functest/d upper-constraints.opnfv.txt && \ - case $(uname -m) in aarch*|arm*) CFLAGS="-O0" pip3 install --no-cache-dir -cupper-constraints.txt -cupper-constraints.opnfv.txt lxml ;; esac && \ + case $(uname -m) in aarch*|arm*) CFLAGS="-O0" \ + pip3 install --use-deprecated=legacy-resolver --no-cache-dir -c/src/requirements/upper-constraints.txt \ + -c/src/functest/upper-constraints.txt lxml ;; esac && \ git init /src/vmtp && \ (cd /src/vmtp && \ git fetch --tags https://review.opendev.org/x/vmtp.git $VMTP_TAG && \ git checkout FETCH_HEAD) && \ - update-requirements -s --source /src/openstack-requirements /src/vmtp/ && \ - sed -i -E s/^tempest==+.*$/-e\ git+https:\\/\\/opendev.org\\/openstack\\/tempest#egg=tempest/ upper-constraints.txt && \ - pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ + update-requirements -s --source /src/requirements /src/vmtp/ && \ + pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/requirements/upper-constraints.txt \ + -c/src/functest/upper-constraints.txt \ /src/vmtp && \ - mkdir -p /home/opnfv/functest/data/rally/neutron && \ + mkdir -p /home/opnfv/functest/data/rally/neutron/rally-jobs && \ git init /src/neutron && \ (cd /src/neutron && \ - git fetch --tags https://opendev.org/openstack/neutron.git $OPENSTACK_TAG && \ + git fetch --tags https://opendev.org/openstack/neutron.git $NEUTRON_TAG && \ git checkout FETCH_HEAD) && \ - cp -r /src/neutron/rally-jobs /home/opnfv/functest/data/rally/neutron/rally-jobs && \ - rm -r upper-constraints.txt upper-constraints.opnfv.txt /src/vmtp /src/neutron && \ + cp /src/neutron/rally-jobs/task-neutron.yaml /home/opnfv/functest/data/rally/neutron/rally-jobs/ && \ + rm -r /src/vmtp /src/neutron && \ apk del .build-deps -COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml +COPY testcases.yaml /etc/xtesting/testcases.yaml CMD ["run_tests", "-t", "all"] diff --git a/docker/benchmarking/hooks/post_checkout b/docker/benchmarking/hooks/post_checkout index 8d0e98124..c347524ea 100644 --- a/docker/benchmarking/hooks/post_checkout +++ b/docker/benchmarking/hooks/post_checkout @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}" sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile diff --git a/docker/benchmarking/testcases.yaml b/docker/benchmarking/testcases.yaml index 45a4a3576..c84d3a00f 100644 --- a/docker/benchmarking/testcases.yaml +++ b/docker/benchmarking/testcases.yaml @@ -2,7 +2,6 @@ tiers: - name: benchmarking - order: 2 description: >- Run several OpenStack performance tools https://docs.openstack.org/performance-docs/latest/methodologies/tools.html @@ -30,6 +29,8 @@ tiers: description: >- This test case runs a group of Rally jobs used in OpenStack gating + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: rally_jobs args: @@ -46,7 +47,7 @@ tiers: perform ping connectivity, round trip time measurement (latency) and TCP/UDP throughput dependencies: - - POD_ARCH: '^(?!aarch64$)' + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: vmtp @@ -60,5 +61,7 @@ tiers: like iperf, iperf3 and netperf (with help of flent). Shaker is able to deploy OpenStack instances and networks in different topologies. + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: shaker diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile index 3b1189fd6..2715cce39 100644 --- a/docker/core/Dockerfile +++ b/docker/core/Dockerfile @@ -1,36 +1,49 @@ -FROM alpine:3.10 +FROM alpine:3.16 ARG BRANCH=master ARG OPENSTACK_TAG=master -RUN apk --no-cache add --update \ - python3 libffi openssl libjpeg-turbo py3-pip bash \ - grep sed wget ca-certificates git openssh-client qemu-img iputils && \ +COPY Switch-to-threading.Thread-for-Rally-tasks.patch /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch +RUN apk -U upgrade && \ + apk --no-cache add --update \ + python3 py3-wheel libffi openssl libjpeg-turbo py3-pip bash \ + grep sed wget ca-certificates git openssh-client qemu-img iputils coreutils mailcap libstdc++ \ + libxml2 libxslt && \ apk --no-cache add --virtual .build-deps --update \ python3-dev build-base linux-headers libffi-dev \ - openssl-dev libjpeg-turbo-dev && \ - wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \ - case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt && apk add --no-cache py3-pynacl ;; esac && \ - wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH > upper-constraints.opnfv.txt && \ - sed -i -E /#egg=functest/d upper-constraints.opnfv.txt && \ - sed -i -E /^tempest==+.*$/d upper-constraints.txt && \ - sed -i -E s/^ujson==+.*$/-e\ git+https:\\/\\/github.com\\/esnme\\/ultrajson@$UJSON_TAG#egg=ujson/ upper-constraints.txt && \ - pip3 install --no-cache-dir --src /src -cupper-constraints.opnfv.txt -cupper-constraints.txt \ - -e git+https://opendev.org/openstack/requirements@$OPENSTACK_TAG#egg=openstack_requirements && \ + openssl-dev libjpeg-turbo-dev rust cargo \ + libxml2-dev libxslt-dev && \ + git init /src/requirements && \ + (cd /src/requirements && \ + git fetch --tags https://review.opendev.org/openstack/requirements $OPENSTACK_TAG && \ + git checkout FETCH_HEAD) && \ git init /src/functest && \ (cd /src/functest && \ git fetch --tags https://gerrit.opnfv.org/gerrit/functest $BRANCH && \ git checkout FETCH_HEAD) && \ - update-requirements -s --source /src/openstack-requirements /src/functest && \ - pip3 install --no-cache-dir --src /src -cupper-constraints.opnfv.txt -cupper-constraints.txt \ - /src/functest && \ - rm -r upper-constraints.txt upper-constraints.opnfv.txt /src/functest && \ - cp /usr/lib/python3.7/site-packages/functest/ci/logging.ini /usr/lib/python3.7/site-packages/xtesting/ci/ && \ - cp /usr/lib/python3.7/site-packages/functest/ci/logging.debug.ini /usr/lib/python3.7/site-packages/xtesting/ci/ && \ - bash -c "mkdir -p /var/lib/xtesting /home/opnfv" && \ + sed -i -E /^tempest==+.*$/d /src/requirements/upper-constraints.txt && \ + sed -i -E /^packaging==+.*$/d /src/requirements/upper-constraints.txt && \ + case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d /src/requirements/upper-constraints.txt && apk add --no-cache py3-pynacl ;; esac && \ + sed -i -E /#egg=functest/d /src/functest/upper-constraints.txt && \ + pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/functest/upper-constraints.txt -c/src/requirements/upper-constraints.txt \ + -e /src/requirements && \ + update-requirements -s --source /src/requirements /src/functest && \ + pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/functest/upper-constraints.txt -c/src/requirements/upper-constraints.txt \ + -e /src/functest && \ + (cd /src/rally && patch -p1 < /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch) && \ + sed -i -E /#egg=rally/d /src/functest/upper-constraints.txt && \ + sed -i -E /#egg=tempest/d /src/functest/upper-constraints.txt && \ + rm -r /src/requirements/.git /src/functest/.git \ + /tmp/Switch-to-threading.Thread-for-Rally-tasks.patch && \ + mkdir -p /etc/xtesting && \ + cp /src/functest/functest/ci/logging.ini /etc/xtesting/ && \ + cp /src/functest/functest/ci/logging.debug.ini /etc/xtesting/ && \ + sh -c "mkdir -p /var/lib/xtesting /home/opnfv" && \ ln -s /var/lib/xtesting /home/opnfv/functest && \ - bash -c "mkdir -p /home/opnfv/functest{/conf,/data,/images,/results} /home/opnfv/repos/vnfs" && \ + sh -c "mkdir -p /home/opnfv/functest/conf /home/opnfv/functest/conf/data /home/opnfv/functest/conf/images /home/opnfv/functest/conf/results && \ + mkdir -p /home/opnfv/repos/vnfs" && \ mkdir -p /etc/rally && \ - printf "[database]\nconnection = 'sqlite:////var/lib/rally/database/rally.sqlite'" > /etc/rally/rally.conf && \ + printf "[database]\nconnection = 'sqlite:////var/lib/rally/database/rally.sqlite'\n" > /etc/rally/rally.conf && \ + printf "\n[openstack]\nneutron_bind_l2_agent_types = Open vSwitch agent,Linux bridge agent,OVN Controller Gateway agent\n" >> /etc/rally/rally.conf && \ mkdir -p /var/lib/rally/database && rally db create && \ apk del .build-deps diff --git a/docker/core/Switch-to-threading.Thread-for-Rally-tasks.patch b/docker/core/Switch-to-threading.Thread-for-Rally-tasks.patch new file mode 100644 index 000000000..a6d012730 --- /dev/null +++ b/docker/core/Switch-to-threading.Thread-for-Rally-tasks.patch @@ -0,0 +1,49 @@ +From 0d0ca00e56024a9919c150dbed62050d4c70b0c8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Ollivier?= <cedric.ollivier@orange.com> +Date: Wed, 3 Jun 2020 15:23:59 +0200 +Subject: [PATCH] Switch to threading.Thread() for Rally tasks +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +multiprocessing.Process() often fails due to thread crashes [1]. +It looks similar to gsutil release notes [2]. + +[1] https://build.opnfv.org/ci/job/functest-opnfv-functest-benchmarking-cntt-latest-rally_full_cntt-run/35/console +[2] https://github.com/GoogleCloudPlatform/gsutil/issues/548 +[3] https://github.com/GoogleCloudPlatform/gsutil/blob/master/CHANGES.md + +Change-Id: I582933832e23d188c7fa5999e713dd5d7e82d2da +Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> +--- + rally/task/runner.py | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/rally/task/runner.py b/rally/task/runner.py +index 3397e1193..5edebb406 100644 +--- a/rally/task/runner.py ++++ b/rally/task/runner.py +@@ -17,6 +17,7 @@ import abc + import collections + import copy + import multiprocessing ++import threading + import time + + from rally.common import logging +@@ -186,9 +187,9 @@ class ScenarioRunner(plugin.Plugin, validation.ValidatablePluginMixin, + for i in range(processes_to_start): + kwrgs = {"processes_to_start": processes_to_start, + "processes_counter": i} +- process = multiprocessing.Process(target=worker_process, +- args=next(worker_args_gen), +- kwargs={"info": kwrgs}) ++ process = threading.Thread(target=worker_process, ++ args=next(worker_args_gen), ++ kwargs={"info": kwrgs}) + process.start() + process_pool.append(process) + +-- +2.26.2 + diff --git a/docker/healthcheck/Dockerfile b/docker/healthcheck/Dockerfile index 451115cad..404ff2d58 100644 --- a/docker/healthcheck/Dockerfile +++ b/docker/healthcheck/Dockerfile @@ -1,25 +1,15 @@ FROM opnfv/functest-core -ARG BRANCH=master -ARG OPENSTACK_TAG=master -ARG ODL_TAG=85448c9d97b89989488e675b29b38ac42d8674e4 +ARG ODL_TAG=89b88a0a23561f0bda62338b394ec41655679b2d COPY thirdparty-requirements.txt thirdparty-requirements.txt RUN apk --no-cache add --virtual .build-deps --update \ python3-dev build-base linux-headers libffi-dev openssl-dev && \ - wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \ - sed -i -E /^tempest==+.*$/d upper-constraints.txt && \ - case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt ;; esac && \ - wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH > upper-constraints.opnfv.txt && \ - sed -i -E /#egg=functest/d upper-constraints.opnfv.txt && \ - pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ - -rthirdparty-requirements.txt && \ git init /src/odl_test && \ (cd /src/odl_test && \ git fetch --tags https://git.opendaylight.org/gerrit/integration/test $ODL_TAG && \ git checkout FETCH_HEAD) && \ - rm -r /src/odl_test/.git thirdparty-requirements.txt upper-constraints.txt \ - upper-constraints.opnfv.txt && \ + rm -r /src/odl_test/.git thirdparty-requirements.txt && \ apk del .build-deps -COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml +COPY testcases.yaml /etc/xtesting/testcases.yaml CMD ["run_tests", "-t", "all"] diff --git a/docker/healthcheck/testcases.yaml b/docker/healthcheck/testcases.yaml index 5aac7010e..7b6b2a108 100644 --- a/docker/healthcheck/testcases.yaml +++ b/docker/healthcheck/testcases.yaml @@ -2,7 +2,6 @@ tiers: - name: healthcheck - order: 0 description: >- First tier to be executed to verify the basic operations in the VIM. @@ -28,6 +27,8 @@ tiers: It creates and configures all tenant network ressources required by advanced testcases (subnet, network and router). + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: tenantnetwork1 @@ -40,6 +41,8 @@ tiers: It creates new user/project before creating and configuring all tenant network ressources required by a testcase (subnet, network and router). + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: tenantnetwork2 @@ -162,3 +165,18 @@ tiers: mode: '(?=.*\[.*\bsmoke\b.*\])(^tempest\.api)' option: - '--concurrency=4' + + - + case_name: tempest_horizon + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs the Tempest suite proposed by the + Horizon project. + dependencies: + - DASHBOARD_URL: '^(?!\s*$).+' + run: + name: tempest_common + args: + mode: '^tempest.scenario.test_dashboard_basic_ops.' diff --git a/docker/smoke-cntt/Dockerfile b/docker/smoke-cntt/Dockerfile new file mode 100644 index 000000000..a8e8a6f75 --- /dev/null +++ b/docker/smoke-cntt/Dockerfile @@ -0,0 +1,5 @@ +FROM opnfv/functest-smoke + +COPY testcases.yaml /etc/xtesting/testcases.yaml +COPY tempest_conf.yaml /src/functest/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml +CMD ["run_tests", "-t", "all"] diff --git a/docker/smoke-cntt/tempest_conf.yaml b/docker/smoke-cntt/tempest_conf.yaml new file mode 100644 index 000000000..d9f878992 --- /dev/null +++ b/docker/smoke-cntt/tempest_conf.yaml @@ -0,0 +1,104 @@ +--- +compute: + min_microversion: 2.44 + max_microversion: 2.88 +compute-feature-enabled: + attach_encrypted_volume: false + block_migration_for_live_migration: false + block_migrate_cinder_iscsi: false + change_password: false + cold_migration: true + config_drive: true + console_output: true + disk_config: true + enable_instance_password: true + hostname_fqdn_sanitization: false + interface_attach: true + live_migration: true + live_migrate_back_and_forth: false + metadata_service: true + pause: true + personality: false + rdp_console: false + rescue: true + resize: true + scheduler_available_filters: "AvailabilityZoneFilter,ComputeFilter,\ + ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,\ + ServerGroupAffinityFilter,SameHostFilter,DifferentHostFilter" + serial_console: false + shelve: true + snapshot: true + spice_console: false + suspend: true + swap_volume: false + vnc_console: true + volume_backed_live_migration: false + volume_multiattach: false +identity: + auth_version: v3 + user_unique_last_password_count: 2 + user_lockout_duration: 10 + user_lockout_failure_attempts: 2 +identity-feature-enabled: + trust: true + api_v2: false + api_v2_admin: false + security_compliance: true + federation: false + external_idp: false + project_tags: true + application_credentials: true + access_rules: true +image-feature-enabled: + api_v2: true + api_v1: false + import_image: false +network-feature-enabled: + port_admin_state_change: true + port_security: true +placement: + max_microversion: 1.36 +validation: + image_ssh_user: cirros + ssh_timeout: 196 + ip_version_for_ssh: 4 + run_validation: true +volume: + max_microversion: 3.64 + storage_protocol: ceph + manage_volume_ref: source-name,volume-%s + manage_snapshot_ref: source-name,snapshot-%s +volume-feature-enabled: + multi_backend: false + backup: true + snapshot: true + clone: true + manage_snapshot: true + manage_volume: true + extend_attached_volume: true + extend_attached_encrypted_volume: false + consistency_group: false + volume_revert: true +load_balancer: + test_with_ipv6: false +neutron_plugin_options: + agent_availability_zone: nova + available_type_drivers: flat,geneve,vlan,gre,local,vxlan + provider_vlans: public, + create_shared_resources: true +object-storage-feature-enabled: + discoverable_apis: "account_quotas,formpost,bulk_upload,bulk_delete,\ + tempurl,crossdomain,container_quotas,staticweb,account_quotas,slo" + object_versioning: true + discoverability: true + tempurl_digest_hashlib: sha1 +heat_plugin: + skip_functional_test_list: EncryptionVolTypeTest + skip_scenario_test_list: "AodhAlarmTest,SoftwareConfigIntegrationTest,\ + VolumeBackupRestoreIntegrationTest,CfnInitIntegrationTest,\ + LoadBalancerTest" + auth_version: 3 +heat_features_enabled: + multi_cloud: false +rbac: + enable_rbac: true diff --git a/docker/smoke-cntt/testcases.yaml b/docker/smoke-cntt/testcases.yaml new file mode 100644 index 000000000..1d2aec38b --- /dev/null +++ b/docker/smoke-cntt/testcases.yaml @@ -0,0 +1,321 @@ +--- +tiers: + - + name: smoke_cntt + description: >- + Set of basic Functional tests to validate the OPNFV scenarios. + testcases: + - + case_name: tempest_neutron_cntt + project_name: functest + criteria: 100 + blocking: false + deny_skipping: true + tests_count: 564 + description: >- + This test case runs the Tempest suite proposed by the + Neutron project. The list of test cases is generated by + Tempest automatically and depends on the parameters of + the OpenStack deployment. + run: + name: tempest_common + args: + mode: "(?!.*admin.test_agent_availability_zone)\ + (?!.*admin.test_dhcp_agent_scheduler)\ + (?!.*admin.test_l3_agent_scheduler)\ + (?!.*admin.test_logging)\ + (?!.*admin.test_logging_negative)\ + (?!.*admin.test_network_segment_range)\ + (?!.*admin.test_ports.PortTestCasesAdmin.test_regenerate_mac_address)\ + (?!.*admin.test_ports.PortTestCasesResourceRequest)\ + (?!.*admin.test_routers_dvr)\ + (?!.*admin.test_routers_flavors)\ + (?!.*admin.test_routers_ha)\ + (?!.*test_conntrack_helper)\ + (?!.*test_floating_ips.FloatingIPPoolTestJSON)\ + (?!.*test_floating_ips.FloatingIPTestJSON.test_create_update_floatingip_port_details)\ + (?!.*test_local_ip)\ + (?!.*test_metering_extensions)\ + (?!.*test_metering_negative)\ + (?!.*test_networks.NetworksSearchCriteriaTest.test_list_validation_filters)\ + (?!.*test_networks.NetworksTestAdmin.test_create_tenant_network_vxlan)\ + (?!.*test_networks.NetworksTestJSON.test_create_update_network_dns_domain)\ + (?!.*test_port_forwarding_negative)\ + (?!.*test_port_forwardings)\ + (?!.*test_ports.PortsTaggingOnCreation)\ + (?!.*test_ports.PortsTestJSON.test_create_port_with_propagate_uplink_status)\ + (?!.*test_ports.PortsTestJSON.test_create_port_without_propagate_uplink_status)\ + (?!.*test_ports.PortsTestJSON.test_create_update_port_with_dns_domain)\ + (?!.*test_ports.PortsTestJSON.test_create_update_port_with_dns_name)\ + (?!.*test_ports.PortsTestJSON.test_create_update_port_with_no_dns_name)\ + (?!.*test_qos.QosMinimumBandwidthRuleTestJSON)\ + (?!.*test_revisions.TestRevisions.test_update_dns_domain_bumps_revision)\ + (?!.*test_revisions.TestRevisions.test_update_router_extra_attributes_bumps_revision)\ + (?!.*test_router_interface_fip)\ + (?!.*test_routers.DvrRoutersTest)\ + (?!.*test_routers.HaRoutersTest)\ + (?!.*test_routers.RoutersIpV6Test.test_extra_routes_atomic)\ + (?!.*test_routers.RoutersTest.test_extra_routes_atomic)\ + (?!.*test_routers_negative.DvrRoutersNegativeTest)\ + (?!.*test_routers_negative.DvrRoutersNegativeTestExtended)\ + (?!.*test_routers_negative.HaRoutersNegativeTest)\ + (?!.*test_security_groups.RbacSharedSecurityGroupTest)\ + (?!.*test_subnetpool_prefix_ops)\ + (?!.*test_subnetpools.RbacSubnetPoolTest)\ + (?!.*test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_validation_filters)\ + (?!.*test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_tenant_create_subnetpool_associate_shared_address_scope)\ + (?!.*test_subnets.SubnetsSearchCriteriaTest.test_list_validation_filters)\ + (?!.*test_timestamp.TestTimeStamp.test_segment_with_timestamp)\ + (?!.*test_trunk.TrunkTestInheritJSONBase.test_add_subport)\ + (?!.*test_trunk.TrunkTestMtusJSON)\ + (?!.*test_trunk_negative.TrunkTestJSON.test_create_subport_invalid_inherit_network_segmentation_type)\ + (?!.*test_trunk_negative.TrunkTestMtusJSON)\ + (^neutron_tempest_plugin.api)" + option: + - '--concurrency=4' + + - + case_name: tempest_cinder_cntt + project_name: functest + criteria: 100 + blocking: false + deny_skipping: true + tests_count: 10 + description: >- + This test case runs the Tempest suite proposed by the + Cinder project. + run: + name: tempest_common + args: + mode: "(?!.*test_incremental_backup)\ + (?!.*test_consistencygroups)\ + (?!.*test_backup_crossproject_admin_negative)\ + (?!.*test_backup_crossproject_user_negative)\ + (?!.*test_volume_encrypted.TestEncryptedCinderVolumes)\ + (?!.*rbac)\ + (^cinder_tempest_plugin.)" + option: + - '--concurrency=4' + + - + case_name: tempest_keystone_cntt + project_name: functest + criteria: 100 + blocking: false + deny_skipping: true + tests_count: 27 + description: >- + This test case runs the Tempest suite proposed by the + Keystone project. + run: + name: tempest_common + args: + mode: "(?!.*api.identity.v3.test_oauth1_tokens)\ + (?!.*rbac)\ + (?!.*scenario.test_federated_authentication)\ + keystone_tempest_plugin." + option: + - '--concurrency=4' + + - + case_name: tempest_heat_cntt + project_name: functest + criteria: 100 + blocking: false + deny_skipping: true + tests_count: 124 + description: >- + This test case runs the Tempest suite proposed by the + Heat project. + run: + name: tempest_heat + args: + mode: "(?!.*functional.test_lbaasv2)\ + (?!.*functional.test_encryption_vol_type)\ + (?!.*functional.test_event_sinks)\ + (?!.*functional.test_software_config.ZaqarSignalTransportTest)\ + (?!.*functional.test_stack_events)\ + (?!.*functional.test_waitcondition)\ + (?!.*RemoteStackTest.test_stack_create_with_cloud_credential)\ + (?!.*scenario.test_aodh_alarm)\ + (?!.*tests.scenario.test_autoscaling_lb)\ + (?!.*scenario.test_autoscaling_lbv2)\ + (?!.*scenario.test_server_software_config)\ + (?!.*test_volumes.VolumeBackupRestoreIntegrationTest)\ + (?!.*scenario.test_octavia_lbaas)\ + (?!.*scenario.test_server_cfn_init)\ + ^heat_tempest_plugin.tests" + option: + - '--concurrency=1' + + - + case_name: rally_sanity_cntt + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs a sub group of tests of the OpenStack + Rally suite in smoke mode. + run: + name: rally_sanity + args: + tests: + - 'authenticate' + - 'glance' + - 'cinder' + - 'heat' + - 'keystone' + - 'neutron' + - 'nova' + - 'quotas' + - 'swift' + + - + case_name: tempest_full_cntt + project_name: functest + criteria: 100 + blocking: false + deny_skipping: true + tests_count: 1271 + description: >- + The list of test cases is generated by + Tempest automatically and depends on the parameters of + the OpenStack deployment. + https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L83 + run: + name: tempest_common + args: + mode: "(?!.*admin.test_agents)(?!.*test_fixed_ips)\ + (?!.*test_fixed_ips_negative)\ + (?!.*test_auto_allocate_network)(?!.*test_floating_ips_bulk)\ + (?!.*test_flavors_microversions.FlavorsV255TestJSON)\ + (?!.*test_flavors_microversions.FlavorsV261TestJSON)\ + (?!.*test_live_migration.LiveAutoBlockMigrationV225Test.test_iscsi_volume)\ + (?!.*test_live_migration.LiveAutoBlockMigrationV225Test.test_live_block_migration)\ + (?!.*test_live_migration.LiveAutoBlockMigrationV225Test.test_live_block_migration_paused)\ + (?!.*test_live_migration.LiveAutoBlockMigrationV225Test.test_volume_backed_live_migration)\ + (?!.*test_live_migration.LiveMigrationTest.test_iscsi_volume)\ + (?!.*test_live_migration.LiveMigrationTest.test_live_block_migration)\ + (?!.*test_live_migration.LiveMigrationTest.test_live_block_migration_paused)\ + (?!.*test_live_migration.LiveMigrationTest.test_volume_backed_live_migration)\ + (?!.*test_live_migration.LiveMigrationRemoteConsolesV26Test)\ + (?!.*test_quotas.QuotasAdminTestV257)\ + (?!.*test_servers.ServersAdminTestJSON.test_reset_network_inject_network_info)\ + (?!.*certificates.test_certificates)\ + (?!.*test_quotas_negative.QuotasSecurityGroupAdminNegativeTest)\ + (?!.*test_novnc)(?!.*test_server_personality)\ + (?!.*test_servers.ServerShowV263Test.test_show_update_rebuild_list_server)\ + (?!.*test_servers_microversions.ServerShowV254Test)\ + (?!.*test_servers_microversions.ServerShowV257Test)\ + (?!.*test_servers_negative.ServersNegativeTestJSON.test_personality_file_contents_not_encoded)\ + (?!.*servers.test_virtual_interfaces)\ + (?!.*test_server_actions.ServerActionsTestJSON.test_change_server_password)\ + (?!.*test_server_actions.ServerActionsTestJSON.test_get_vnc_console)\ + (?!.*test_server_actions.ServerActionsTestJSON.test_reboot_server_soft)\ + (?!.*test_server_rescue.ServerBootFromVolumeStableRescueTest)\ + (?!.*test_server_rescue.ServerStableDeviceRescueTest)\ + (?!.*test_security_group_default_rules)\ + (?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_security_group_create_with_duplicate_name)\ + (?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_security_group_create_with_invalid_group_description)\ + (?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_security_group_create_with_invalid_group_name)\ + (?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_security_group_with_invalid_sg_des)\ + (?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_security_group_with_invalid_sg_id)\ + (?!.*test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_security_group_with_invalid_sg_name)\ + (?!.*test_create_server.ServersTestFqdnHostnames.test_create_server_with_fqdn_name)\ + (?!.*test_server_metadata.ServerMetadataTestJSON)\ + (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_delete_metadata_non_existent_server)\ + (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_metadata_items_limit)\ + (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_set_metadata_invalid_key)\ + (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_set_metadata_non_existent_server)\ + (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_set_server_metadata_blank_key)\ + (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_set_server_metadata_missing_metadata)\ + (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_update_metadata_non_existent_server)\ + (?!.*test_server_metadata_negative.ServerMetadataNegativeTestJSON.test_update_metadata_with_blank_key)\ + (?!.*test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex)\ + (?!.*compute.test_virtual_interfaces)(?!.*compute.test_virtual_interfaces_negative)\ + (?!.*compute.test_networks)\ + (?!.*test_attach_volume.AttachVolumeMultiAttach)\ + (?!.*identity.admin.v2)(?!.*identity.v2)\ + (?!.*identity.v3.test_access_rules)\ + (?!.*identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_access_rules)\ + (?!.*image.v1)\ + (?!.*image.v2.admin.test_images.ImportCopyImagesTest)\ + (?!.*image.v2.test_images_negative.ImagesNegativeTest.test_create_image_reserved_property)\ + (?!.*image.v2.test_images_negative.ImagesNegativeTest.test_update_image_reserved_property)\ + (?!.*image.v2.test_images_negative.ImportImagesNegativeTest.test_image_web_download_import_with_bad_url)\ + (?!.*image.v2.test_images.ImportImagesTest)\ + (?!.*image.v2.test_images.MultiStoresImportImages)\ + (?!.*admin.test_dhcp_agent_scheduler)\ + (?!.*admin.test_routers_dvr)\ + (?!.*test_metering_extensions)(?!.*network.test_tags)\ + (?!.*test_routers_negative.DvrRoutersNegativeTest)\ + (?!.*test_routers.RoutersIpV6Test.test_create_router_set_gateway_with_fixed_ip)\ + (?!.*test_routers.RoutersTest.test_create_router_set_gateway_with_fixed_ip)\ + (?!.*test_object_services.ObjectTest.test_create_object_with_transfer_encoding)\ + (?!.*test_encrypted_volumes_extend)\ + (?!.*test_group_snapshots.GroupSnapshotsV319Test.test_reset_group_snapshot_status)\ + (?!.*test_multi_backend)\ + (?!.*test_volume_retype.VolumeRetypeWithMigrationTest)\ + (?!.*test_volume_delete_cascade.VolumesDeleteCascade.test_volume_from_snapshot_cascade_delete)\ + (?!.*test_volumes_backup.VolumesBackupsTest.test_volume_backup_create_get_detailed_list_restore_delete)\ + (?!.*test_volumes_negative.UpdateMultiattachVolumeNegativeTest.test_multiattach_rw_volume_update_failure)\ + (?!.*test_volumes_extend.VolumesExtendAttachedTest.test_extend_attached_volume)\ + (?!.*\\[.*\\bslow\\b.*\\])(^tempest.api)" + option: + - '--concurrency=4' + + - + case_name: tempest_scenario_cntt + project_name: functest + criteria: 100 + blocking: false + deny_skipping: true + tests_count: 13 + description: >- + The list of test cases is generated by + Tempest automatically and depends on the parameters of + the OpenStack deployment. + https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L84 + run: + name: tempest_common + args: + mode: "\ + (?!.*test_compute_unified_limits)\ + (?!.*test_minbw_allocation_placement)\ + (?!.*test_network_qos_placement)\ + (?!.*test_unified_limits.ImageQuotaTest.test_image_count_uploading_quota)\ + (?!.*test_unified_limits.ImageQuotaTest.test_image_stage_quota)\ + (?!.*test_volume_boot_pattern.TestVolumeBootPattern.test_boot_server_from_encrypted_volume_luks)\ + (?!.*\\[.*\\bslow\\b.*\\])(^tempest.scenario)" + option: + - '--concurrency=1' + + - + case_name: tempest_slow_cntt + project_name: functest + criteria: 100 + blocking: false + deny_skipping: true + tests_count: 43 + description: >- + The list of test cases is generated by + Tempest automatically and depends on the parameters of + the OpenStack deployment. + https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L84 + run: + name: tempest_common + args: + mode: "(?!.*test_volume_swap)\ + (?!.*test_server_personality)\ + (?!.*test_server_rescue.ServerBootFromVolumeStableRescueTest)\ + (?!.*test_container_sync.ContainerSyncTest.test_container_synchronization)\ + (?!.*test_container_sync_middleware.ContainerSyncMiddlewareTest.test_container_synchronization)\ + (?!.*test_encrypted_cinder_volumes)\ + (?!.*test_minbw_allocation_placement)\ + (?!.*test_network_basic_ops.TestNetworkBasicOps.test_router_rescheduling)\ + (?!.*test_shelve_instance.TestShelveInstance.test_cold_migrate_unshelved_instance)\ + (?!.*test_volume_migrate_attached)\ + (?!.*test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_cold_migration_revert)\ + (?=.*\\[.*\\bslow\\b.*\\])(^tempest.)" + option: + - '--concurrency=1' diff --git a/docker/smoke/Dockerfile b/docker/smoke/Dockerfile index 1de3ff696..da42ef9b4 100644 --- a/docker/smoke/Dockerfile +++ b/docker/smoke/Dockerfile @@ -1,58 +1,94 @@ FROM opnfv/functest-core -ARG BRANCH=master -ARG OPENSTACK_TAG=master -ARG REFSTACK_TARGET=2018.11 ARG PATROLE_TAG=master ARG NEUTRON_TEMPEST_TAG=master +ARG CINDER_TEMPEST_TAG=master +ARG KEYSTONE_TEMPEST_TAG=master +ARG NEUTRON_TAG=master +ARG GLANCE_TAG=master +ARG NOVA_TAG=master +ARG KEYSTONE_TAG=master +ARG CINDER_TAG=master ARG BARBICAN_TAG=master ARG OCTAVIA_TAG=master +ARG HEAT_TEMPEST_TAG=master +ARG TELEMETRY_TEMPEST_TAG=master +ARG CYBORG_TEMPEST_TAG=master -RUN apk --no-cache add --virtual .build-deps --update \ +RUN apk --no-cache add --update libxml2 libxslt && \ + apk --no-cache add --virtual .build-deps --update \ python3-dev build-base linux-headers libffi-dev \ openssl-dev libjpeg-turbo-dev libxml2-dev libxslt-dev && \ - wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \ - sed -i -E /^tempest==+.*$/d upper-constraints.txt && \ - case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt ;; esac && \ - wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH > upper-constraints.opnfv.txt && \ - sed -i -E /#egg=functest/d upper-constraints.opnfv.txt && \ + case $(uname -m) in aarch*|arm*) CFLAGS="-O0" \ + pip3 install --use-deprecated=legacy-resolver --no-cache-dir -c/src/requirements/upper-constraints.txt \ + -c/src/functest/upper-constraints.txt lxml && \ + sed -i -E /^numpy=/d /src/requirements/upper-constraints.txt && apk add py3-numpy ;; esac && \ git init /src/patrole && \ (cd /src/patrole && \ git fetch --tags https://opendev.org/openstack/patrole.git $PATROLE_TAG && \ git checkout FETCH_HEAD) && \ - update-requirements -s --source /src/openstack-requirements /src/patrole/ && \ + update-requirements -s --source /src/requirements /src/patrole/ && \ git init /src/neutron-tempest-plugin && \ (cd /src/neutron-tempest-plugin && \ - git fetch --tags https://git.openstack.org/openstack/neutron-tempest-plugin.git $NEUTRON_TEMPEST_TAG && \ + git fetch --tags https://opendev.org/openstack/neutron-tempest-plugin.git $NEUTRON_TEMPEST_TAG && \ git checkout FETCH_HEAD) && \ - update-requirements -s --source /src/openstack-requirements /src/neutron-tempest-plugin && \ + update-requirements -s --source /src/requirements /src/neutron-tempest-plugin && \ + git init /src/cinder-tempest-plugin && \ + (cd /src/cinder-tempest-plugin && \ + git fetch --tags https://opendev.org/openstack/cinder-tempest-plugin.git $CINDER_TEMPEST_TAG && \ + git checkout FETCH_HEAD) && \ + update-requirements -s --source /src/requirements /src/cinder-tempest-plugin && \ + git init /src/keystone-tempest-plugin && \ + (cd /src/keystone-tempest-plugin && \ + git fetch --tags https://opendev.org/openstack/keystone-tempest-plugin.git $KEYSTONE_TEMPEST_TAG && \ + git checkout FETCH_HEAD) && \ + update-requirements -s --source /src/requirements /src/keystone-tempest-plugin && \ git init /src/barbican-tempest-plugin && \ (cd /src/barbican-tempest-plugin && \ git fetch --tags https://opendev.org/openstack/barbican-tempest-plugin.git $BARBICAN_TAG && \ git checkout FETCH_HEAD) && \ - update-requirements -s --source /src/openstack-requirements /src/barbican-tempest-plugin/ && \ + update-requirements -s --source /src/requirements /src/barbican-tempest-plugin/ && \ git init /src/octavia-tempest-plugin && \ (cd /src/octavia-tempest-plugin && \ - git fetch --tags https://git.openstack.org/openstack/octavia-tempest-plugin.git $OCTAVIA_TAG && \ + git fetch --tags https://opendev.org/openstack/octavia-tempest-plugin.git $OCTAVIA_TAG && \ + git checkout FETCH_HEAD) && \ + update-requirements -s --source /src/requirements /src/octavia-tempest-plugin && \ + git init /src/heat-tempest-plugin && \ + (cd /src/heat-tempest-plugin && \ + git fetch --tags https://opendev.org/openstack/heat-tempest-plugin.git $HEAT_TEMPEST_TAG && \ git checkout FETCH_HEAD) && \ - update-requirements -s --source /src/openstack-requirements /src/octavia-tempest-plugin && \ - pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ + update-requirements -s --source /src/requirements /src/heat-tempest-plugin && \ + git init /src/telemetry-tempest-plugin && \ + (cd /src/telemetry-tempest-plugin && \ + git fetch --tags https://opendev.org/openstack/telemetry-tempest-plugin.git $TELEMETRY_TEMPEST_TAG && \ + git checkout FETCH_HEAD) && \ + update-requirements -s --source /src/requirements /src/telemetry-tempest-plugin && \ + git init /src/cyborg-tempest-plugin && \ + (cd /src/cyborg-tempest-plugin && \ + git fetch --tags https://opendev.org/openstack/cyborg-tempest-plugin.git $CYBORG_TEMPEST_TAG && \ + git checkout FETCH_HEAD) && \ + update-requirements -s --source /src/requirements /src/cyborg-tempest-plugin && \ + pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/requirements/upper-constraints.txt \ + -c/src/functest/upper-constraints.txt \ /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \ - /src/octavia-tempest-plugin && \ + /src/cinder-tempest-plugin /src/keystone-tempest-plugin \ + /src/octavia-tempest-plugin /src/heat-tempest-plugin /src/telemetry-tempest-plugin \ + /src/cyborg-tempest-plugin && \ mkdir -p /home/opnfv/functest/data/refstack && \ - mkdir -p /etc/neutron /etc/cinder /etc/glance /etc/keystone /etc/nova && \ - wget -q -O /etc/glance/policy.json https://opendev.org/openstack/glance/raw/branch/$OPENSTACK_TAG/etc/policy.json && \ - virtualenv --no-pip --no-setuptools --no-wheel oslo && . oslo/bin/activate && \ - pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ - oslo.policy -e git+https://opendev.org/openstack/neutron.git@$OPENSTACK_TAG#egg=neutron && \ - oslopolicy-sample-generator --format json --output-file /etc/neutron/policy.json --namespace neutron && \ - deactivate && \ - rm -r oslo upper-constraints.txt upper-constraints.opnfv.txt \ - /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \ - /src/octavia-tempest-plugin /src/neutron && \ + pip3 install --use-deprecated=legacy-resolver --no-cache-dir --src /src -c/src/requirements/upper-constraints.txt \ + -c/src/functest/upper-constraints.txt \ + git+https://opendev.org/openstack/neutron.git@$NEUTRON_TAG#egg=neutron \ + git+https://opendev.org/openstack/glance.git@$GLANCE_TAG#egg=glance \ + git+https://opendev.org/openstack/nova.git@$NOVA_TAG#egg=nova \ + git+https://opendev.org/openstack/keystone.git@$KEYSTONE_TAG#egg=keystone \ + git+https://opendev.org/openstack/cinder.git@$CINDER_TAG#egg=cinder && \ + rm -r /src/patrole /src/barbican-tempest-plugin /src/neutron-tempest-plugin \ + /src/cinder-tempest-plugin /src/keystone-tempest-plugin \ + /src/octavia-tempest-plugin /src/heat-tempest-plugin \ + /src/telemetry-tempest-plugin /src/cyborg-tempest-plugin && \ apk del .build-deps COPY compute.txt /home/opnfv/functest/data/refstack/compute.txt COPY object.txt /home/opnfv/functest/data/refstack/object.txt COPY platform.txt /home/opnfv/functest/data/refstack/platform.txt -COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml +COPY testcases.yaml /etc/xtesting/testcases.yaml CMD ["run_tests", "-t", "all"] diff --git a/docker/smoke/compute.txt b/docker/smoke/compute.txt index af86645b5..7a642a703 100644 --- a/docker/smoke/compute.txt +++ b/docker/smoke/compute.txt @@ -3,6 +3,16 @@ tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_wit tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image[id-3731d080-d4c5-4872-b41a-64d0d0021314] tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name[id-3b7c6fe4-dfe7-477c-9243-b06359db51e6] tempest.api.compute.keypairs.test_keypairs_v22.KeyPairsV22TestJSON.test_keypairsv22_create_list_show_with_type[id-89d59d43-f735-441a-abcf-0601727f47b6] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_list_security_groups_by_server[id-79517d60-535a-438f-af3d-e6feab1cbea7] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_group_create_get_delete[id-ecc0da4a-2117-48af-91af-993cca39a615] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_groups_create_list_delete[id-eb2b087d-633d-4d0d-a7bd-9e6ba35b32de] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_server_security_groups[id-fe4abc0d-83f5-4c50-ad11-57a1127297a2] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_update_security_groups[id-7d4e1d3c-3209-4d6d-b020-986304ebad1f] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_nonexistent_security_group[id-6727c00b-214c-4f9e-9a52-017ac3e98411] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_security_group_without_passing_id[id-1438f330-8fa4-4aeb-8a94-37c250106d7f] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_the_default_security_group[id-36a1629f-c6da-4a26-b8b8-55e7e5d5cd58] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_security_group_get_nonexistent_group[id-673eaec1-9b3e-48ed-bdf1-2786c1b9661c] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_non_existent_security_group[id-27edee9c-873d-4da6-a68a-3c256efebe8f] tempest.api.compute.servers.test_availability_zone.AZV2TestJSON.test_get_availability_zone_list_with_non_admin_user[id-a8333aa2-205c-449f-a828-d38c2489bf25] tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name[id-ac1ad47f-984b-4441-9274-c9079b7a0666] tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f] @@ -28,6 +38,7 @@ tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.t tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit[id-614cdfc1-d557-4bac-915b-3e67b48eee76] tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name[id-9b067a7b-7fee-4f6a-b29c-be43fe18fc5a] tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_status[id-ca78e20e-fddb-4ce6-b7f7-bcbf8605e66e] +tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex[id-a905e287-c35e-42f2-b132-d02b09f3654a] tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard[id-e9f624ee-92af-4562-8bec-437945a18dcb] tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date[id-74745ad8-b346-45b5-b9b8-509d7447fc1f] tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date[id-87d12517-e20a-4c9c-97b6-dd1628d6d6c9] @@ -40,16 +51,15 @@ tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJS tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_detail_server_is_deleted[id-93055106-2d34-46fe-af68-d9ddbf7ee570] tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_status_non_existing[id-fcdf192d-0f74-4d89-911f-1ec002b822c4] tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_with_a_deleted_server[id-24a26f1a-1ddc-4eea-b0d7-a90cc874ad8f] +tempest.api.compute.servers.test_multiple_create.MultipleCreateTestJSON.test_multiple_create[id-61e03386-89c3-449c-9bb1-a06f423fd9d1] tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_unlock_server[id-80a8094c-211e-440a-ab88-9e59d556c7ee] tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard[id-2cb1baf6-ac8d-4429-bf0d-ba8a0ba53e32] tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server[id-aaa6cdf3-55a7-461a-add9-1c8596b9a07c] tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server[id-af8eafd4-38a7-4a4b-bdbc-75145a580560] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item[id-127642d6-4c7b-4486-b7cd-07265a378658] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item[id-3043c57d-7e0e-49a6-9a96-ad569c265e6a] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata[id-479da087-92b3-4dcf-aeb3-fd293b2d14ce] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata[id-211021f6-21de-4657-a68f-908878cfe251] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item[id-58c02d4f-5c67-40be-8744-d3fa5982eb1c] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata[id-344d981e-0c33-4997-8a5d-6c1d803e4134] +tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_check_tag_existence[id-81279a66-61c3-4759-b830-a2dbe64cbe08] +tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_create_delete_tag[id-8d95abe2-c658-4c42-9a44-c0258500306b] +tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_delete_all_tags[id-a63b2a74-e918-4b7c-bcab-10c855f3a57e] +tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_update_all_tags[id-a2c1af8c-127d-417d-974b-8115f7e3d831] tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password[id-b92d5ec7-b1dd-44a2-87e4-45e888c46ef0] tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair[id-f9e15296-d7f9-4e62-b53f-a04e89160833] tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name[id-8fea6be7-065e-47cf-89b8-496e6f96c699] @@ -85,10 +95,20 @@ tempest.api.identity.v3.TestApiDiscovery.test_api_version_statuses[id-8879a470-a tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types[id-657c1970-4722-4189-8831-7325f3bc4265] tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources[id-b9232f5e-d9e5-4d97-b96c-28d3db4de1bd] tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_statuses[id-8879a470-abfb-47bb-bb8d-5a7fd279ad1e] +tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions[id-721f480f-35b6-46c7-846e-047e6acea0dc] +tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential[id-8080c75c-eddc-4786-941a-c2da7039ae61] +tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_expires[id-852daf0c-42b5-4239-8466-d193d0543ed3] +tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_list_application_credentials[id-ff0cd457-6224-46e7-b79e-0ada4964a8a6] +tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_query_application_credentials[id-9bb5e5cc-5250-493a-8869-8b665f6aa5f6] tempest.api.identity.v3.test_catalog.IdentityCatalogTest.test_catalog_standardization[id-56b57ced-22b8-4127-9b8a-565dfb0207e2] +tempest.api.identity.v3.test_domains.DefaultDomainTestJSON.test_default_domain_exists[id-17a5de24-e6a0-4e4a-a9ee-d85b6e5612b5] tempest.api.identity.v3.test_tokens.TokensV3Test.test_create_token[id-6f8e4436-fc96-4282-8122-e41df57197a9] +tempest.api.identity.v3.test_tokens.TokensV3Test.test_token_auth_creation_existence_deletion[id-0f9f5a5f-d5cd-4a86-8a5b-c5ded151f212] tempest.api.identity.v3.test_tokens.TokensV3Test.test_validate_token[id-a9512ac3-3909-48a4-b395-11f438e16260] +tempest.api.identity.v3.test_users.IdentityV3UsersTest.test_password_history_check_self_service_api[id-941784ee-5342-4571-959b-b80dd2cea516] +tempest.api.identity.v3.test_users.IdentityV3UsersTest.test_user_account_lockout[id-a7ad8bbf-2cff-4520-8c1d-96332e151658] tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_delete_image[id-f848bb94-1c6e-45a4-8726-39e3a5b23535] +tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_register_upload_get_image_file[id-139b765e-7f3d-4b3d-8b37-3ca3876ee318] tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_update_image[id-f66891a7-a35c-41a8-b590-a065c2a1caa6] tempest.api.image.v2.test_images.ListImagesTest.test_get_image_schema[id-622b925c-479f-4736-860d-adeaf13bc371] tempest.api.image.v2.test_images.ListImagesTest.test_get_images_schema[id-25c8d7b2-df21-460f-87ac-93130bcdc684] @@ -116,9 +136,29 @@ tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_non_exi tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_delete_deleted_image[id-e57fc127-7ba0-4693-92d7-1d8a05ebcba9] tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_image_null_id[id-ef45000d-0a72-4781-866d-4cb7bf2562ad] tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_non_existent_image[id-668743d5-08ad-4480-b2b8-15da34f81d9f] +tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_container_format[id-292bd310-369b-41c7-a7a3-10276ef76753] +tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_disk_format[id-70c6040c-5a97-4111-9e13-e73665264ce1] tempest.api.image.v2.test_images_tags.ImagesTagsTest.test_update_delete_tags_for_image[id-10407036-6059-4f95-a2cd-cbbbee7ed329] tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_delete_non_existing_tag[id-39c023a2-325a-433a-9eea-649bf1414b19] tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_update_tags_for_non_existing_image[id-8cd30f82-6f9a-4c6e-8034-c1b51fba43d9] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful[id-4ab211a0-276f-4552-9070-51e27f58fecf] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips[id-51a5e97f-f02e-4e4e-9a17-a69811d300e3] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_duplicate[id-57b8302b-cba9-4fbb-8835-9168df029051] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_outrange[id-98244d88-d990-4570-91d4-6b25d70d08af] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_router[id-e98f65db-68f4-4330-9fea-abd8c5192d4d] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_64_subnets[id-4256c61d-c538-41ea-9147-3c450c36669e] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_invalid_options[id-81f18ef6-95b5-4584-9966-10d480b7496a] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_eui64[id-e5517e62-6f16-430d-a672-f80875493d4c] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_no_ra[id-ae2f4a5d-03ff-4c42-a3b0-ce2fcb7ea832] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_no_ra_no_dhcp[id-21635b6f-165a-4d42-bf49-7d195e47342f] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_two_subnets[id-4544adf7-bb5f-4bdc-b769-b3e77026cef2] +tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_floating_ip_specifying_a_fixed_ip_address[id-36de4bd0-f09c-43e3-a8e1-1decc1ffd3a5] +tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_update_floatingip_with_port_multiple_ip_address[id-45c4c683-ea97-41ef-9c51-5e9802f2f3d7] +tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_floating_ip_delete_port[id-e1f6bffd-442f-4668-b30e-df13f2705e77] +tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_floating_ip_update_different_router[id-1bb2f731-fe5a-4b8c-8409-799ade1bed4d] +tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_associate_floatingip_port_ext_net_unreachable[id-6b3b8797-6d43-4191-985c-c48b773eb429] +tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_create_floatingip_in_private_network[id-50b9aeb4-9f0b-48ee-aa31-fa955a48ff54] +tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_create_floatingip_with_port_ext_net_unreachable[id-22996ea8-4a81-4b27-b6e1-fa5df92fa5e8] tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_all_attributes[id-a4d9ec4c-0306-4111-a75c-db01a709030b] tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_allocation_pools[id-bec949c4-3147-4ba6-af5f-cd2306118404] tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_dhcp_enabled[id-94ce038d-ff0a-4a4c-a56b-09da3ca0b55d] @@ -169,6 +209,7 @@ tempest.api.network.test_routers.RoutersTest.test_add_multiple_router_interfaces tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_port_id[id-2b7d2f37-6748-4d78-92e5-1d590234f0d5] tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_subnet_id[id-b42e6e39-2e37-49cc-a6f4-8467e940900a] tempest.api.network.test_routers.RoutersTest.test_create_show_list_update_delete_router[id-f64403e2-8483-4b34-8ccd-b09a87bcc68c] +tempest.api.network.test_routers.RoutersTest.test_router_interface_port_update_with_fixed_ip[id-96522edf-b4b5-45d9-8443-fa11c26e6eff] tempest.api.network.test_routers.RoutersTest.test_update_delete_extra_route[id-c86ac3a8-50bd-4b00-a6b8-62af84a0765c] tempest.api.network.test_routers.RoutersTest.test_update_extra_route[id-c86ac3a8-50bd-4b00-a6b8-62af84a0765c] tempest.api.network.test_routers.RoutersTest.test_update_router_admin_state[id-a8902683-c788-4246-95c7-ad9c6d63a4d9] @@ -219,8 +260,10 @@ tempest.api.volume.test_volume_metadata.VolumesV2MetadataTest.test_create_get_de tempest.api.volume.test_volume_metadata.VolumesV2MetadataTest.test_update_volume_metadata_item[id-862261c5-8df4-475a-8c21-946e50e36a20] tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_bootable[id-63e21b4c-0a0c-41f6-bfc3-7c2816815599] tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_readonly_update[id-fff74e1e-5bd3-4b33-9ea9-24c103bc3f59] +tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_upload[id-d8f1ca95-3d5b-44a3-b8ca-909691c9532d] tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_volume_bootable[id-63e21b4c-0a0c-41f6-bfc3-7c2816815599] tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_volume_readonly_update[id-fff74e1e-5bd3-4b33-9ea9-24c103bc3f59] +tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_volume_upload[id-d8f1ca95-3d5b-44a3-b8ca-909691c9532d] tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete[id-27fb0e9f-fb64-41dd-8bdb-1ffa762f0d51] tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete_as_clone[id-3f591b4a-7dc6-444c-bd51-77469506b3a1] tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete_from_image[id-54a01030-c7fc-447c-86ee-c1182beae638] @@ -301,6 +344,17 @@ tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapsho tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2] tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_with_params[id-59f41f43-aebf-48a9-ab5d-d76340fab32b] tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_volume_from_snapshot[id-677863d1-3142-456d-b6ac-9924f667a7f4] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit[id-db4d8e0a-7a2e-41cc-a712-961f6844e896] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit_equals_infinite[id-a1427f61-420e-48a5-b6e3-0b394fa95400] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit_equals_zero[id-e3b44b7f-ae87-45b5-8a8c-66110eb24d0a] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_marker[id-05489dde-44bc-4961-a1f5-3ce7ee7824f7] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_offset[id-ca96d551-17c6-4e11-b0e8-52d3bb8a63c7] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_created_at_asc[id-4052c3a0-2415-440a-a8cc-305a875331b0] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_created_at_desc[id-dcbbe24a-f3c0-4ec8-9274-55d48db8d1cf] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_id_asc[id-c5513ada-64c1-4d28-83b9-af3307ec1388] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_id_desc[id-8a7fe058-0b41-402a-8afd-2dbc5a4a718b] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_name_asc[id-d58b5fed-0c37-42d3-8c5d-39014ac13c00] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_name_desc[id-96ba6f4d-1f18-47e1-b4bc-76edc6c21250] tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2] tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_with_params[id-59f41f43-aebf-48a9-ab5d-d76340fab32b] tempest.api.volume.test_volumes_snapshots_list.VolumesV2SnapshotListTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2] diff --git a/docker/smoke/hooks/post_checkout b/docker/smoke/hooks/post_checkout index 3e5670b4a..b23f6f449 100644 --- a/docker/smoke/hooks/post_checkout +++ b/docker/smoke/hooks/post_checkout @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh from="${DOCKER_REPO%/*}/functest-tempest:${DOCKER_TAG}" sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile diff --git a/docker/smoke/object.txt b/docker/smoke/object.txt index 1c0feb2a5..720532e2a 100644 --- a/docker/smoke/object.txt +++ b/docker/smoke/object.txt @@ -1,4 +1,7 @@ tempest.api.identity.v3.test_tokens.TokensV3Test.test_create_token[id-6f8e4436-fc96-4282-8122-e41df57197a9] +tempest.api.identity.v3.test_tokens.TokensV3Test.test_token_auth_creation_existence_deletion[id-0f9f5a5f-d5cd-4a86-8a5b-c5ded151f212] +tempest.api.object_storage.test_account_bulk.BulkTest.test_bulk_delete[id-c075e682-0d2a-43b2-808d-4116200d736d] +tempest.api.object_storage.test_account_bulk.BulkTest.test_extract_archive[id-a407de51-1983-47cc-9f14-47c2b059413c] tempest.api.object_storage.test_account_quotas.AccountQuotasTest.test_upload_valid_object[id-a22ef352-a342-4587-8f47-3bbdb5b039c4] tempest.api.object_storage.test_account_quotas_negative.AccountQuotasNegativeTest.test_user_modify_quota[id-d1dc5076-555e-4e6d-9697-28f1fe976324] tempest.api.object_storage.test_account_services.AccountTest.test_list_containers[id-3499406a-ae53-4f8c-b43a-133d4dc6fe3f] @@ -14,6 +17,9 @@ tempest.api.object_storage.test_account_services.AccountTest.test_list_extension tempest.api.object_storage.test_account_services.AccountTest.test_list_extensions[id-6eb04a6a-4860-4e31-ba91-ea3347d76b58] tempest.api.object_storage.test_account_services.AccountTest.test_list_no_account_metadata[id-b904c2e3-24c2-4dba-ad7d-04e90a761be5] tempest.api.object_storage.test_account_services.AccountTest.test_list_no_containers[id-884ec421-fbad-4fcc-916b-0580f2699565] +tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_create_metadata_key[id-64fd53f3-adbd-4639-af54-436e4982dbfb] +tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_delete_metadata[id-9f60348d-c46f-4465-ae06-d51dbd470953] +tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_delete_metadata_key[id-d4d884d3-4696-4b85-bc98-4f57c4dd2bf1] tempest.api.object_storage.test_container_acl.ObjectTestACLs.test_read_object_with_rights[id-a3270f3f-7640-4944-8448-c7ea783ea5b6] tempest.api.object_storage.test_container_acl.ObjectTestACLs.test_write_object_with_rights[id-aa58bfa5-40d9-4bc3-82b4-d07f4a9e392a] tempest.api.object_storage.test_container_quotas.ContainerQuotasTest.test_upload_large_object[id-22eeeb2b-3668-4160-baef-44790f65a5a0] diff --git a/docker/smoke/platform.txt b/docker/smoke/platform.txt index f1424d288..4eca58790 100644 --- a/docker/smoke/platform.txt +++ b/docker/smoke/platform.txt @@ -3,6 +3,16 @@ tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_wit tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image[id-3731d080-d4c5-4872-b41a-64d0d0021314] tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name[id-3b7c6fe4-dfe7-477c-9243-b06359db51e6] tempest.api.compute.keypairs.test_keypairs_v22.KeyPairsV22TestJSON.test_keypairsv22_create_list_show_with_type[id-89d59d43-f735-441a-abcf-0601727f47b6] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_list_security_groups_by_server[id-79517d60-535a-438f-af3d-e6feab1cbea7] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_group_create_get_delete[id-ecc0da4a-2117-48af-91af-993cca39a615] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_groups_create_list_delete[id-eb2b087d-633d-4d0d-a7bd-9e6ba35b32de] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_server_security_groups[id-fe4abc0d-83f5-4c50-ad11-57a1127297a2] +tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_update_security_groups[id-7d4e1d3c-3209-4d6d-b020-986304ebad1f] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_nonexistent_security_group[id-6727c00b-214c-4f9e-9a52-017ac3e98411] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_security_group_without_passing_id[id-1438f330-8fa4-4aeb-8a94-37c250106d7f] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_delete_the_default_security_group[id-36a1629f-c6da-4a26-b8b8-55e7e5d5cd58] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_security_group_get_nonexistent_group[id-673eaec1-9b3e-48ed-bdf1-2786c1b9661c] +tempest.api.compute.security_groups.test_security_groups_negative.SecurityGroupsNegativeTestJSON.test_update_non_existent_security_group[id-27edee9c-873d-4da6-a68a-3c256efebe8f] tempest.api.compute.servers.test_availability_zone.AZV2TestJSON.test_get_availability_zone_list_with_non_admin_user[id-a8333aa2-205c-449f-a828-d38c2489bf25] tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name[id-ac1ad47f-984b-4441-9274-c9079b7a0666] tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f] @@ -28,6 +38,7 @@ tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.t tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit[id-614cdfc1-d557-4bac-915b-3e67b48eee76] tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name[id-9b067a7b-7fee-4f6a-b29c-be43fe18fc5a] tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_status[id-ca78e20e-fddb-4ce6-b7f7-bcbf8605e66e] +tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex[id-a905e287-c35e-42f2-b132-d02b09f3654a] tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard[id-e9f624ee-92af-4562-8bec-437945a18dcb] tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date[id-74745ad8-b346-45b5-b9b8-509d7447fc1f] tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date[id-87d12517-e20a-4c9c-97b6-dd1628d6d6c9] @@ -40,16 +51,15 @@ tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJS tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_detail_server_is_deleted[id-93055106-2d34-46fe-af68-d9ddbf7ee570] tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_status_non_existing[id-fcdf192d-0f74-4d89-911f-1ec002b822c4] tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_with_a_deleted_server[id-24a26f1a-1ddc-4eea-b0d7-a90cc874ad8f] +tempest.api.compute.servers.test_multiple_create.MultipleCreateTestJSON.test_multiple_create[id-61e03386-89c3-449c-9bb1-a06f423fd9d1] tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_unlock_server[id-80a8094c-211e-440a-ab88-9e59d556c7ee] tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard[id-2cb1baf6-ac8d-4429-bf0d-ba8a0ba53e32] tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server[id-aaa6cdf3-55a7-461a-add9-1c8596b9a07c] tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server[id-af8eafd4-38a7-4a4b-bdbc-75145a580560] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item[id-127642d6-4c7b-4486-b7cd-07265a378658] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item[id-3043c57d-7e0e-49a6-9a96-ad569c265e6a] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata[id-479da087-92b3-4dcf-aeb3-fd293b2d14ce] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata[id-211021f6-21de-4657-a68f-908878cfe251] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item[id-58c02d4f-5c67-40be-8744-d3fa5982eb1c] -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata[id-344d981e-0c33-4997-8a5d-6c1d803e4134] +tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_check_tag_existence[id-81279a66-61c3-4759-b830-a2dbe64cbe08] +tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_create_delete_tag[id-8d95abe2-c658-4c42-9a44-c0258500306b] +tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_delete_all_tags[id-a63b2a74-e918-4b7c-bcab-10c855f3a57e] +tempest.api.compute.servers.test_server_tags.ServerTagsTestJSON.test_update_all_tags[id-a2c1af8c-127d-417d-974b-8115f7e3d831] tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password[id-b92d5ec7-b1dd-44a2-87e4-45e888c46ef0] tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair[id-f9e15296-d7f9-4e62-b53f-a04e89160833] tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name[id-8fea6be7-065e-47cf-89b8-496e6f96c699] @@ -85,10 +95,20 @@ tempest.api.identity.v3.TestApiDiscovery.test_api_version_statuses[id-8879a470-a tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types[id-657c1970-4722-4189-8831-7325f3bc4265] tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources[id-b9232f5e-d9e5-4d97-b96c-28d3db4de1bd] tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_statuses[id-8879a470-abfb-47bb-bb8d-5a7fd279ad1e] +tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions[id-721f480f-35b6-46c7-846e-047e6acea0dc] +tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential[id-8080c75c-eddc-4786-941a-c2da7039ae61] +tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_expires[id-852daf0c-42b5-4239-8466-d193d0543ed3] +tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_list_application_credentials[id-ff0cd457-6224-46e7-b79e-0ada4964a8a6] +tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_query_application_credentials[id-9bb5e5cc-5250-493a-8869-8b665f6aa5f6] tempest.api.identity.v3.test_catalog.IdentityCatalogTest.test_catalog_standardization[id-56b57ced-22b8-4127-9b8a-565dfb0207e2] +tempest.api.identity.v3.test_domains.DefaultDomainTestJSON.test_default_domain_exists[id-17a5de24-e6a0-4e4a-a9ee-d85b6e5612b5] tempest.api.identity.v3.test_tokens.TokensV3Test.test_create_token[id-6f8e4436-fc96-4282-8122-e41df57197a9] +tempest.api.identity.v3.test_tokens.TokensV3Test.test_token_auth_creation_existence_deletion[id-0f9f5a5f-d5cd-4a86-8a5b-c5ded151f212] tempest.api.identity.v3.test_tokens.TokensV3Test.test_validate_token[id-a9512ac3-3909-48a4-b395-11f438e16260] +tempest.api.identity.v3.test_users.IdentityV3UsersTest.test_password_history_check_self_service_api[id-941784ee-5342-4571-959b-b80dd2cea516] +tempest.api.identity.v3.test_users.IdentityV3UsersTest.test_user_account_lockout[id-a7ad8bbf-2cff-4520-8c1d-96332e151658] tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_delete_image[id-f848bb94-1c6e-45a4-8726-39e3a5b23535] +tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_register_upload_get_image_file[id-139b765e-7f3d-4b3d-8b37-3ca3876ee318] tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_update_image[id-f66891a7-a35c-41a8-b590-a065c2a1caa6] tempest.api.image.v2.test_images.ListImagesTest.test_get_image_schema[id-622b925c-479f-4736-860d-adeaf13bc371] tempest.api.image.v2.test_images.ListImagesTest.test_get_images_schema[id-25c8d7b2-df21-460f-87ac-93130bcdc684] @@ -116,9 +136,29 @@ tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_non_exi tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_delete_deleted_image[id-e57fc127-7ba0-4693-92d7-1d8a05ebcba9] tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_image_null_id[id-ef45000d-0a72-4781-866d-4cb7bf2562ad] tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_non_existent_image[id-668743d5-08ad-4480-b2b8-15da34f81d9f] +tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_container_format[id-292bd310-369b-41c7-a7a3-10276ef76753] +tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_disk_format[id-70c6040c-5a97-4111-9e13-e73665264ce1] tempest.api.image.v2.test_images_tags.ImagesTagsTest.test_update_delete_tags_for_image[id-10407036-6059-4f95-a2cd-cbbbee7ed329] tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_delete_non_existing_tag[id-39c023a2-325a-433a-9eea-649bf1414b19] tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_update_tags_for_non_existing_image[id-8cd30f82-6f9a-4c6e-8034-c1b51fba43d9] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful[id-4ab211a0-276f-4552-9070-51e27f58fecf] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips[id-51a5e97f-f02e-4e4e-9a17-a69811d300e3] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_duplicate[id-57b8302b-cba9-4fbb-8835-9168df029051] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_outrange[id-98244d88-d990-4570-91d4-6b25d70d08af] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_router[id-e98f65db-68f4-4330-9fea-abd8c5192d4d] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_64_subnets[id-4256c61d-c538-41ea-9147-3c450c36669e] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_invalid_options[id-81f18ef6-95b5-4584-9966-10d480b7496a] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_eui64[id-e5517e62-6f16-430d-a672-f80875493d4c] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_no_ra[id-ae2f4a5d-03ff-4c42-a3b0-ce2fcb7ea832] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_stateless_no_ra_no_dhcp[id-21635b6f-165a-4d42-bf49-7d195e47342f] +tempest.api.network.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcpv6_two_subnets[id-4544adf7-bb5f-4bdc-b769-b3e77026cef2] +tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_floating_ip_specifying_a_fixed_ip_address[id-36de4bd0-f09c-43e3-a8e1-1decc1ffd3a5] +tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_update_floatingip_with_port_multiple_ip_address[id-45c4c683-ea97-41ef-9c51-5e9802f2f3d7] +tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_floating_ip_delete_port[id-e1f6bffd-442f-4668-b30e-df13f2705e77] +tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_floating_ip_update_different_router[id-1bb2f731-fe5a-4b8c-8409-799ade1bed4d] +tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_associate_floatingip_port_ext_net_unreachable[id-6b3b8797-6d43-4191-985c-c48b773eb429] +tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_create_floatingip_in_private_network[id-50b9aeb4-9f0b-48ee-aa31-fa955a48ff54] +tempest.api.network.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_create_floatingip_with_port_ext_net_unreachable[id-22996ea8-4a81-4b27-b6e1-fa5df92fa5e8] tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_all_attributes[id-a4d9ec4c-0306-4111-a75c-db01a709030b] tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_allocation_pools[id-bec949c4-3147-4ba6-af5f-cd2306118404] tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_dhcp_enabled[id-94ce038d-ff0a-4a4c-a56b-09da3ca0b55d] @@ -169,6 +209,7 @@ tempest.api.network.test_routers.RoutersTest.test_add_multiple_router_interfaces tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_port_id[id-2b7d2f37-6748-4d78-92e5-1d590234f0d5] tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_subnet_id[id-b42e6e39-2e37-49cc-a6f4-8467e940900a] tempest.api.network.test_routers.RoutersTest.test_create_show_list_update_delete_router[id-f64403e2-8483-4b34-8ccd-b09a87bcc68c] +tempest.api.network.test_routers.RoutersTest.test_router_interface_port_update_with_fixed_ip[id-96522edf-b4b5-45d9-8443-fa11c26e6eff] tempest.api.network.test_routers.RoutersTest.test_update_delete_extra_route[id-c86ac3a8-50bd-4b00-a6b8-62af84a0765c] tempest.api.network.test_routers.RoutersTest.test_update_extra_route[id-c86ac3a8-50bd-4b00-a6b8-62af84a0765c] tempest.api.network.test_routers.RoutersTest.test_update_router_admin_state[id-a8902683-c788-4246-95c7-ad9c6d63a4d9] @@ -200,6 +241,8 @@ tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_show tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_show_non_existent_security_group_rule[id-4c094c09-000b-4e41-8100-9617600c02a6] tempest.api.network.test_subnetpools_extensions.SubnetPoolsTestJSON.test_create_list_show_update_delete_subnetpools[id-62595970-ab1c-4b7f-8fcc-fddfe55e9811] tempest.api.network.test_versions.NetworksApiDiscovery.test_api_version_resources[id-cac8a836-c2e0-4304-b556-cd299c7281d1] +tempest.api.object_storage.test_account_bulk.BulkTest.test_bulk_delete[id-c075e682-0d2a-43b2-808d-4116200d736d] +tempest.api.object_storage.test_account_bulk.BulkTest.test_extract_archive[id-a407de51-1983-47cc-9f14-47c2b059413c] tempest.api.object_storage.test_account_quotas.AccountQuotasTest.test_upload_valid_object[id-a22ef352-a342-4587-8f47-3bbdb5b039c4] tempest.api.object_storage.test_account_quotas_negative.AccountQuotasNegativeTest.test_user_modify_quota[id-d1dc5076-555e-4e6d-9697-28f1fe976324] tempest.api.object_storage.test_account_services.AccountTest.test_list_containers[id-3499406a-ae53-4f8c-b43a-133d4dc6fe3f] @@ -215,6 +258,9 @@ tempest.api.object_storage.test_account_services.AccountTest.test_list_extension tempest.api.object_storage.test_account_services.AccountTest.test_list_extensions[id-6eb04a6a-4860-4e31-ba91-ea3347d76b58] tempest.api.object_storage.test_account_services.AccountTest.test_list_no_account_metadata[id-b904c2e3-24c2-4dba-ad7d-04e90a761be5] tempest.api.object_storage.test_account_services.AccountTest.test_list_no_containers[id-884ec421-fbad-4fcc-916b-0580f2699565] +tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_create_metadata_key[id-64fd53f3-adbd-4639-af54-436e4982dbfb] +tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_delete_metadata[id-9f60348d-c46f-4465-ae06-d51dbd470953] +tempest.api.object_storage.test_account_services.AccountTest.test_update_account_metadata_with_delete_metadata_key[id-d4d884d3-4696-4b85-bc98-4f57c4dd2bf1] tempest.api.object_storage.test_container_acl.ObjectTestACLs.test_read_object_with_rights[id-a3270f3f-7640-4944-8448-c7ea783ea5b6] tempest.api.object_storage.test_container_acl.ObjectTestACLs.test_write_object_with_rights[id-aa58bfa5-40d9-4bc3-82b4-d07f4a9e392a] tempest.api.object_storage.test_container_quotas.ContainerQuotasTest.test_upload_large_object[id-22eeeb2b-3668-4160-baef-44790f65a5a0] @@ -278,8 +324,10 @@ tempest.api.volume.test_volume_metadata.VolumesV2MetadataTest.test_create_get_de tempest.api.volume.test_volume_metadata.VolumesV2MetadataTest.test_update_volume_metadata_item[id-862261c5-8df4-475a-8c21-946e50e36a20] tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_bootable[id-63e21b4c-0a0c-41f6-bfc3-7c2816815599] tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_readonly_update[id-fff74e1e-5bd3-4b33-9ea9-24c103bc3f59] +tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_upload[id-d8f1ca95-3d5b-44a3-b8ca-909691c9532d] tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_volume_bootable[id-63e21b4c-0a0c-41f6-bfc3-7c2816815599] tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_volume_readonly_update[id-fff74e1e-5bd3-4b33-9ea9-24c103bc3f59] +tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_volume_upload[id-d8f1ca95-3d5b-44a3-b8ca-909691c9532d] tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete[id-27fb0e9f-fb64-41dd-8bdb-1ffa762f0d51] tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete_as_clone[id-3f591b4a-7dc6-444c-bd51-77469506b3a1] tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete_from_image[id-54a01030-c7fc-447c-86ee-c1182beae638] @@ -360,6 +408,17 @@ tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapsho tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2] tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_with_params[id-59f41f43-aebf-48a9-ab5d-d76340fab32b] tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_volume_from_snapshot[id-677863d1-3142-456d-b6ac-9924f667a7f4] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit[id-db4d8e0a-7a2e-41cc-a712-961f6844e896] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit_equals_infinite[id-a1427f61-420e-48a5-b6e3-0b394fa95400] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_limit_equals_zero[id-e3b44b7f-ae87-45b5-8a8c-66110eb24d0a] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_marker[id-05489dde-44bc-4961-a1f5-3ce7ee7824f7] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_offset[id-ca96d551-17c6-4e11-b0e8-52d3bb8a63c7] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_created_at_asc[id-4052c3a0-2415-440a-a8cc-305a875331b0] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_created_at_desc[id-dcbbe24a-f3c0-4ec8-9274-55d48db8d1cf] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_id_asc[id-c5513ada-64c1-4d28-83b9-af3307ec1388] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_id_desc[id-8a7fe058-0b41-402a-8afd-2dbc5a4a718b] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_name_asc[id-d58b5fed-0c37-42d3-8c5d-39014ac13c00] +tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshot_list_param_sort_name_desc[id-96ba6f4d-1f18-47e1-b4bc-76edc6c21250] tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2] tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_with_params[id-59f41f43-aebf-48a9-ab5d-d76340fab32b] tempest.api.volume.test_volumes_snapshots_list.VolumesV2SnapshotListTestJSON.test_snapshots_list_details_with_params[id-220a1022-1fcd-4a74-a7bd-6b859156cda2] diff --git a/docker/smoke/testcases.yaml b/docker/smoke/testcases.yaml index 00930a5bc..77bee5704 100644 --- a/docker/smoke/testcases.yaml +++ b/docker/smoke/testcases.yaml @@ -2,12 +2,11 @@ tiers: - name: smoke - order: 1 description: >- Set of basic Functional tests to validate the OPNFV scenarios. testcases: - - case_name: neutron-tempest-plugin-api + case_name: tempest_neutron project_name: functest criteria: 100 blocking: false @@ -24,6 +23,74 @@ tiers: - '--concurrency=4' - + case_name: tempest_cinder + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs the Tempest suite proposed by the + Cinder project. + run: + name: tempest_common + args: + mode: "(?!.*test_incremental_backup)\ + (?!.*test_backup_crossproject_admin_negative)\ + (?!.*test_backup_crossproject_user_negative)\ + (^cinder_tempest_plugin.)" + option: + - '--concurrency=4' + + - + case_name: tempest_keystone + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs the Tempest suite proposed by the + Keystone project. + run: + name: tempest_common + args: + mode: 'keystone_tempest_plugin.' + option: + - '--concurrency=4' + + - + case_name: tempest_heat + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs the Tempest suite proposed by the + Heat project. + run: + name: tempest_heat + args: + mode: '^heat_tempest_plugin.tests' + option: + - '--concurrency=1' + + - + case_name: tempest_telemetry + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs the Tempest suite proposed by the + Telemetry project. + run: + name: tempest_common + args: + mode: "(?!.*test_autoscaling)(?!.*test_live)\ + (^telemetry_tempest_plugin)" + services: + - aodh + - gnocchi + - panko + option: + - '--concurrency=4' + + - case_name: rally_sanity project_name: functest criteria: 100 @@ -43,10 +110,11 @@ tiers: project_name: functest criteria: 100 blocking: false - deny_skipping: true description: >- This test case runs a sub group of tests of the OpenStack Compute testcases. + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: refstack args: @@ -59,7 +127,6 @@ tiers: project_name: functest criteria: 100 blocking: false - deny_skipping: true description: >- This test case runs a sub group of tests of the OpenStack Object testcases. @@ -75,10 +142,11 @@ tiers: project_name: functest criteria: 100 blocking: false - deny_skipping: true description: >- This test case runs a sub group of tests of the OpenStack Platform testcases. + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: refstack args: @@ -114,7 +182,7 @@ tiers: the OpenStack deployment. https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L84 run: - name: tempest_scenario + name: tempest_common args: mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' option: @@ -135,10 +203,10 @@ tiers: args: mode: '(?=.*\[.*\bslow\b.*\])(^tempest\.)' option: - - '--concurrency=2' + - '--concurrency=1' - - case_name: patrole + case_name: patrole_admin project_name: functest criteria: 100 blocking: false @@ -147,106 +215,186 @@ tiers: run: name: patrole args: - role: 'admin' - includes: - - 'image' - - 'network' - excludes: - - 'network.test_flavors_rbac' - - 'network.test_network_ip_availability_rbac' - - 'test_networks_multiprovider_rbac' - - 'test_auto_allocated_topology_rbac' - - 'test_create_network_provider_segmentation_id' - - 'test_update_network_provider_physical_network' - - 'test_update_network_provider_segmentation_id' - - 'network.test_agents_rbac' - - 'test_list_metadef_namespaces' + roles: 'admin' + mode: "(?!.*test_unmanage_snapshot_rbac)\ + (?!.*test_show_auto_allocated_topology)\ + (?!.*test_delete_auto_allocated_topology)\ + (?!.*test_create_network_provider_segmentation_id)\ + (?!.*compute.test_floating_ips_rbac)\ + (?!.*test_reset_network)\ + (?!.*test_create_image_from_volume_backed_server)\ + (?!.*test_network_ip_availability_rbac.NetworkIpAvailabilityExtRbacTest.test_get_network_ip_availabilities)\ + (?!.*test_policy_bandwidth_limit_rule_rbac)\ + (?!.*test_policy_minimum_bandwidth_rule_rbac)\ + (?!.*test_group_type_specs)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_create_group_type)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_delete_group_type)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_update_group_type)\ + (?!.*test_group_snapshots_rbac)\ + (?!.*test_groups_rbac)\ + (?!.*test_quota_classes_rbac)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_create_interface)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_delete_interface)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_show_interface)\ + (?!.*test_user_messages_rbac)\ + (?!.*test_volume_actions_rbac.VolumesActionsV310RbacTest)\ + (?!.*test_volume_actions_rbac.VolumesActionsV312RbacTest)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_delete_volume_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_list_volumes_details_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_show_volume_details_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_update_volume_image_metadata)\ + (?!.*test_volumes_backup_rbac.VolumesBackupsV318RbacTest)\ + (?!.*test_volumes_backup_rbac.VolumesBackupsV39RbacTest)\ + (?!.*test_volume_types_rbac)\ + (?=.*[.*\bslow\b.*])\ + (^patrole_tempest_plugin.tests.api.(compute|image|network|volume))" + option: + - '--concurrency=4' - - case_name: neutron_trunk + case_name: patrole_member project_name: functest criteria: 100 blocking: false description: >- - This test case runs the neutron trunk subtest of the - OpenStack Tempest suite. The list of test cases is - generated by Tempest having as input the relevant - testcase list file. + Test suite from Patrole project. run: - name: tempest_common + name: patrole args: - mode: 'neutron_tempest_plugin.(api|scenario).test_trunk' - neutron_extensions: - - trunk - - trunk-details + roles: 'member' + mode: "(?!.*test_unmanage_snapshot_rbac)\ + (?!.*test_show_auto_allocated_topology)\ + (?!.*test_delete_auto_allocated_topology)\ + (?!.*test_create_network_provider_segmentation_id)\ + (?!.*compute.test_floating_ips_rbac)\ + (?!.*test_reset_network)\ + (?!.*test_create_image_from_volume_backed_server)\ + (?!.*test_network_ip_availability_rbac.NetworkIpAvailabilityExtRbacTest.test_get_network_ip_availabilities)\ + (?!.*test_policy_bandwidth_limit_rule_rbac)\ + (?!.*test_policy_minimum_bandwidth_rule_rbac)\ + (?!.*test_group_type_specs)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_create_group_type)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_delete_group_type)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_update_group_type)\ + (?!.*test_group_snapshots_rbac)\ + (?!.*test_groups_rbac)\ + (?!.*test_quota_classes_rbac)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_create_interface)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_delete_interface)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_show_interface)\ + (?!.*test_user_messages_rbac)\ + (?!.*test_volume_actions_rbac.VolumesActionsV310RbacTest)\ + (?!.*test_volume_actions_rbac.VolumesActionsV312RbacTest)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_delete_volume_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_list_volumes_details_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_show_volume_details_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_update_volume_image_metadata)\ + (?!.*test_volumes_backup_rbac.VolumesBackupsV318RbacTest)\ + (?!.*test_volumes_backup_rbac.VolumesBackupsV39RbacTest)\ + (?!.*test_volume_types_rbac)\ + (?=.*[.*\bslow\b.*])\ + (^patrole_tempest_plugin.tests.api.(compute|image|network|volume))" + option: + - '--concurrency=4' - - case_name: networking-bgpvpn + case_name: patrole_reader project_name: functest criteria: 100 blocking: false description: >- - This test case runs OpenStack networking-bgpvpn Tempest - suite. The list of test cases is generated by Tempest - having as input the relevant regex. + Test suite from Patrole project. run: - name: tempest_common + name: patrole args: - mode: '^neutron_tempest_plugin.bgpvpn.api\.' - neutron_extensions: - - bgpvpn + roles: 'reader' + mode: "(?!.*test_unmanage_snapshot_rbac)\ + (?!.*test_show_auto_allocated_topology)\ + (?!.*test_delete_auto_allocated_topology)\ + (?!.*test_create_network_provider_segmentation_id)\ + (?!.*compute.test_floating_ips_rbac)\ + (?!.*test_reset_network)\ + (?!.*test_create_image_from_volume_backed_server)\ + (?!.*test_network_ip_availability_rbac.NetworkIpAvailabilityExtRbacTest.test_get_network_ip_availabilities)\ + (?!.*test_policy_bandwidth_limit_rule_rbac)\ + (?!.*test_policy_minimum_bandwidth_rule_rbac)\ + (?!.*test_group_type_specs)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_create_group_type)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_delete_group_type)\ + (?!.*test_groups_rbac.GroupTypesV3RbacTest.test_update_group_type)\ + (?!.*test_group_snapshots_rbac)\ + (?!.*test_groups_rbac)\ + (?!.*test_quota_classes_rbac)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_create_interface)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_delete_interface)\ + (?!.*test_server_misc_policy_actions_rbac.MiscPolicyActionsNetworkRbacTest.test_show_interface)\ + (?!.*test_user_messages_rbac)\ + (?!.*test_volume_actions_rbac.VolumesActionsV310RbacTest)\ + (?!.*test_volume_actions_rbac.VolumesActionsV312RbacTest)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_delete_volume_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_list_volumes_details_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_show_volume_details_image_metadata)\ + (?!.*test_volume_metadata_rbac.VolumeMetadataV3RbacTest.test_update_volume_image_metadata)\ + (?!.*test_volumes_backup_rbac.VolumesBackupsV318RbacTest)\ + (?!.*test_volumes_backup_rbac.VolumesBackupsV39RbacTest)\ + (?!.*test_volume_types_rbac)\ + (?=.*[.*\bslow\b.*])\ + (^patrole_tempest_plugin.tests.api.(compute|image|network|volume))" option: - '--concurrency=4' - - case_name: networking-sfc + case_name: tempest_barbican project_name: functest criteria: 100 blocking: false description: >- - This test case runs OpenStack networking-sfc Tempest - suite. The list of test cases is generated by Tempest - having as input the relevant regex. + It leverages on the tempest plugin containing tests used to + verify the functionality of a barbican installation. run: - name: tempest_common + name: barbican args: mode: - '^(?:neutron_tempest_plugin\.sfc\.tests\.api).*$' - neutron_extensions: - - sfc + '^barbican_tempest_plugin.((?!test_signed_image_upload_boot_failure).)*$' + services: + - barbican option: - - '--concurrency=0' + - '--concurrency=4' - - case_name: barbican + case_name: tempest_octavia project_name: functest criteria: 100 blocking: false description: >- It leverages on the tempest plugin containing tests used to - verify the functionality of a barbican installation. + verify the functionality of an octavia installation. run: - name: barbican + name: tempest_common args: - mode: - '^barbican_tempest_plugin.((?!test_signed_image_upload_boot_failure).)*$' + mode: "(?!.*api.v2.test_availability_zone)\ + (?!.*api.v2.test_availability_zone_profile)\ + (?!.*api.v2.test_member.MemberAPITest.test_member_ipv4_create)\ + (?!.*api.v2.test_member.MemberAPITest.test_member_ipv6_create)\ + (^octavia_tempest_plugin.tests.(api|scenario))" services: - - barbican + - octavia + option: + - '--concurrency=2' - - case_name: octavia + case_name: tempest_cyborg project_name: functest criteria: 100 blocking: false description: >- It leverages on the tempest plugin containing tests used to - verify the functionality of an octavia installation. + verify the functionality of a cyborg installation. run: name: tempest_common args: - mode: - '^octavia_tempest_plugin.tests.api.v2' + mode: '^cyborg_tempest_plugin' services: - - octavia + - cyborg option: - - '--concurrency=2' + - '--concurrency=4' diff --git a/docker/vnf/Dockerfile b/docker/vnf/Dockerfile index cf67c8a77..99f848fcd 100644 --- a/docker/vnf/Dockerfile +++ b/docker/vnf/Dockerfile @@ -1,34 +1,23 @@ FROM opnfv/functest-core -ARG BRANCH=master -ARG OPENSTACK_TAG=master ARG VIMS_TEST_TAG=release-130 ARG QUAFF_TAG=59213d6d8ee29433552bb75f505cdc96b0b18909 ARG CLOUDIFY_VIMS_TAG=gambia ARG HEAT_VIMS_TAG=release-130 ARG VROUTER_TAG=fraser ARG VROUTER_BP_TAG=9b76d46a388d32d4985797620e67c2ed3315b3e4 -ARG JUJU_TAG=tags/juju-2.3.9 -ARG JUJU_WAIT_TAG=2.6.4 ARG ABOT_CHARM=opnfv-fraser -ARG GODEPS_TAG=404a7e748cd352bb0d7449dedc645546eebbfc6e - -ENV GOPATH /src/epc-requirements/go -ENV GOBIN /src/epc-requirements/go/bin -ENV PATH $GOBIN:$PATH COPY clearwater-heat-singlenet-deps.patch /tmp/clearwater-heat-singlenet-deps.patch RUN apk --no-cache add --update \ ruby ruby-bundler ruby-irb ruby-rdoc \ - procps libxslt libxml2 zlib libffi go musl-dev && \ + procps libxslt libxml2 zlib libffi musl-dev && \ apk --no-cache add --virtual .build-deps --update \ - ruby-dev g++ make libxslt-dev libxml2-dev zlib-dev libffi-dev g++ make && \ - wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \ - sed -i -E /^tempest==+.*$/d upper-constraints.txt && \ - case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt ;; esac && \ - wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH > upper-constraints.opnfv.txt && \ - sed -i -E /#egg=functest/d upper-constraints.opnfv.txt && \ - git clone --depth 1 -b $VIMS_TEST_TAG https://github.com/Metaswitch/clearwater-live-test /src/vims-test && \ + ruby-dev g++ make libxslt-dev libxml2-dev zlib-dev libffi-dev patch && \ + git init /src/vims-test && \ + (cd /src/vims-test && \ + git fetch --tags https://github.com/Metaswitch/clearwater-live-test $VIMS_TEST_TAG && \ + git checkout FETCH_HEAD) && \ sed -i s/unf_ext\ \(.*\)/unf_ext\ \(0.0.7.4\)/g /src/vims-test/Gemfile.lock && \ git init /src/vims-test/quaff && \ (cd /src/vims-test/quaff && \ @@ -56,26 +45,14 @@ RUN apk --no-cache add --update \ (cd /home/opnfv/functest/data/router/opnfv-vnf-data && \ git fetch --tags https://github.com/oolorg/opnfv-vnf-data.git $VROUTER_TAG && \ git checkout FETCH_HEAD) && \ - case "$(uname -m)" in \ - "armv7l" | "aarch64") ;; \ - *) \ - git init /src/epc-requirements/abot_charm && \ - (cd /src/epc-requirements/abot_charm && \ - git fetch --tags https://github.com/RebacaInc/abot_charm.git $ABOT_CHARM && \ - git checkout FETCH_HEAD) && \ - pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ - juju-wait==$JUJU_WAIT_TAG && \ - go get -d github.com/rogpeppe/godeps && \ - (cd $GOPATH/src/github.com/rogpeppe/godeps && git checkout $GODEPS_TAG && go install -v github.com/rogpeppe/godeps) && \ - go get -d -v github.com/juju/juju/... || true && \ - (cd $GOPATH/src/github.com/juju/juju && git checkout $JUJU_TAG && godeps -u dependencies.tsv) && \ - go install -v github.com/juju/juju/... && \ - rm -r $GOPATH/src/ $GOPATH/pkg /src/epc-requirements/abot_charm/.git /root/.cache/go-build;; \ - esac && \ + git init /src/epc-requirements/abot_charm && \ + (cd /src/epc-requirements/abot_charm && \ + git fetch --tags https://github.com/collivier/abot_charm.git $ABOT_CHARM && \ + git checkout FETCH_HEAD) && \ (cd /src/vims-test && bundle config build.nokogiri --use-system-libraries && bundle install --system && bundle update rest-client) && \ - rm -r upper-constraints.txt upper-constraints.opnfv.txt /src/vims-test/.git /src/cloudify_vims/.git /src/heat_vims/.git /src/vims-test/quaff/.git \ + rm -r /src/vims-test/.git /src/cloudify_vims/.git /src/heat_vims/.git /src/vims-test/quaff/.git \ /src/vims-test/build-infra/.git /src/opnfv-vnf-vyos-blueprint/.git \ /tmp/clearwater-heat-singlenet-deps.patch && \ apk del .build-deps -COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml +COPY testcases.yaml /etc/xtesting/testcases.yaml CMD ["run_tests", "-t", "all"] diff --git a/docker/vnf/clearwater-heat-singlenet-deps.patch b/docker/vnf/clearwater-heat-singlenet-deps.patch index a1bc3db7b..0e075f9f8 100644 --- a/docker/vnf/clearwater-heat-singlenet-deps.patch +++ b/docker/vnf/clearwater-heat-singlenet-deps.patch @@ -1,5 +1,5 @@ diff --git a/bono.yaml b/bono.yaml -index f0189cd..7566338 100644 +index f0189cd..cc03838 100644 --- a/bono.yaml +++ b/bono.yaml @@ -23,26 +23,6 @@ parameters: @@ -101,7 +101,7 @@ index f0189cd..7566338 100644 template: | #!/bin/bash -@@ -159,33 +124,6 @@ resources: +@@ -159,36 +124,8 @@ resources: exec > >(tee -a /var/log/clearwater-heat-bono.log) 2>&1 set -x @@ -133,9 +133,13 @@ index f0189cd..7566338 100644 - /etc/init.d/signaling_namespace - # Configure the APT software source. - echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list - curl -L http://repo.cw-ngv.com/repo_key | apt-key add - -@@ -196,11 +134,8 @@ resources: +- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list +- curl -L http://repo.cw-ngv.com/repo_key | apt-key add - ++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list + apt-get update + + # Configure /etc/clearwater/local_config. +@@ -196,11 +133,8 @@ resources: etcd_ip=__etcd_ip__ [ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__ cat > /etc/clearwater/local_config << EOF @@ -149,7 +153,7 @@ index f0189cd..7566338 100644 public_hostname=__index__.bono.__zone__ etcd_cluster=$etcd_ip EOF -@@ -223,8 +158,8 @@ resources: +@@ -223,8 +157,8 @@ resources: while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF server __dns_mgmt_ip__ update add bono-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__) @@ -160,7 +164,7 @@ index f0189cd..7566338 100644 update add __zone__. 30 NAPTR 0 0 "s" "SIP+D2T" "" _sip._tcp.__zone__. update add __zone__. 30 NAPTR 0 0 "s" "SIP+D2U" "" _sip._udp.__zone__. update add _sip._tcp.__zone__. 30 SRV 0 0 5060 __index__.bono.__zone__. -@@ -241,10 +176,19 @@ resources: +@@ -241,10 +175,19 @@ resources: # Use the DNS server. echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq @@ -182,7 +186,7 @@ index f0189cd..7566338 100644 outputs: public_mgmt_ip: description: IP address in public management network -@@ -252,9 +196,3 @@ outputs: +@@ -252,9 +195,3 @@ outputs: private_mgmt_ip: description: IP address in private management network value: { get_attr: [ mgmt_port, fixed_ips, 0, ip_address ] } @@ -428,7 +432,7 @@ index a155c60..dd90cb7 100644 etcd_ip: { get_attr: [ ellis, private_mgmt_ip ] } index: __index__ diff --git a/dime.yaml b/dime.yaml -index 642f19d..6ae2676 100644 +index 642f19d..d2b8b92 100644 --- a/dime.yaml +++ b/dime.yaml @@ -23,26 +23,6 @@ parameters: @@ -535,7 +539,7 @@ index 642f19d..6ae2676 100644 template: | #!/bin/bash -@@ -156,33 +124,6 @@ resources: +@@ -156,36 +124,8 @@ resources: exec > >(tee -a /var/log/clearwater-heat-dime.log) 2>&1 set -x @@ -567,9 +571,13 @@ index 642f19d..6ae2676 100644 - /etc/init.d/signaling_namespace - # Configure the APT software source. - echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list - curl -L http://repo.cw-ngv.com/repo_key | apt-key add - -@@ -193,11 +134,8 @@ resources: +- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list +- curl -L http://repo.cw-ngv.com/repo_key | apt-key add - ++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list + apt-get update + + # Configure /etc/clearwater/local_config. +@@ -193,11 +133,8 @@ resources: etcd_ip=__etcd_ip__ [ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__ cat > /etc/clearwater/local_config << EOF @@ -583,7 +591,7 @@ index 642f19d..6ae2676 100644 public_hostname=dime-__index__.__zone__ etcd_cluster=$etcd_ip EOF -@@ -220,9 +158,9 @@ resources: +@@ -220,9 +157,9 @@ resources: while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF server __dns_mgmt_ip__ update add dime-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__) @@ -596,7 +604,7 @@ index 642f19d..6ae2676 100644 send EOF } && [ $retries -lt 10 ] -@@ -235,17 +173,22 @@ resources: +@@ -235,17 +172,22 @@ resources: # Use the DNS server. echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq @@ -769,7 +777,7 @@ index 825ede1..f98ffa3 100644 description: DNS zone value: { get_param: zone } diff --git a/ellis.yaml b/ellis.yaml -index 963352d..ff59895 100644 +index 963352d..2bd0730 100644 --- a/ellis.yaml +++ b/ellis.yaml @@ -44,9 +44,6 @@ parameters: @@ -815,7 +823,17 @@ index 963352d..ff59895 100644 template: | #!/bin/bash -@@ -176,7 +183,7 @@ resources: +@@ -134,8 +141,7 @@ resources: + set -x + + # Configure the APT software source. +- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list +- curl -L http://repo.cw-ngv.com/repo_key | apt-key add - ++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list + apt-get update + + # Configure /etc/clearwater/local_config. Add xdms_hostname here to use Homer's management +@@ -176,7 +182,7 @@ resources: chronos_hostname=vellum.__zone__ ralf_session_store=vellum.__zone__ @@ -824,7 +842,7 @@ index 963352d..ff59895 100644 # Email server configuration smtp_smarthost=localhost -@@ -189,6 +196,8 @@ resources: +@@ -189,6 +195,8 @@ resources: turn_workaround=secret ellis_api_key=secret ellis_cookie_key=secret @@ -833,7 +851,7 @@ index 963352d..ff59895 100644 EOF /usr/share/clearwater/clearwater-config-manager/scripts/cw-config upload shared_config --autoconfirm --dir /tmp -@@ -197,7 +206,6 @@ resources: +@@ -197,7 +205,6 @@ resources: # local_settings.py runs to pick up the configuration changes. service clearwater-infrastructure restart service ellis stop @@ -841,7 +859,7 @@ index 963352d..ff59895 100644 # Function to give DNS record type and IP address for specified IP address ip2rr() { -@@ -228,6 +236,18 @@ resources: +@@ -228,6 +235,18 @@ resources: echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq service dnsmasq force-reload @@ -861,7 +879,7 @@ index 963352d..ff59895 100644 public_mgmt_ip: description: IP address in public management network diff --git a/homer.yaml b/homer.yaml -index 4337984..9a93cfb 100644 +index 4337984..d23adb5 100644 --- a/homer.yaml +++ b/homer.yaml @@ -23,26 +23,6 @@ parameters: @@ -974,7 +992,7 @@ index 4337984..9a93cfb 100644 template: | #!/bin/bash -@@ -163,33 +124,6 @@ resources: +@@ -163,36 +124,8 @@ resources: exec > >(tee -a /var/log/clearwater-heat-homer.log) 2>&1 set -x @@ -1006,9 +1024,13 @@ index 4337984..9a93cfb 100644 - /etc/init.d/signaling_namespace - # Configure the APT software source. - echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list - curl -L http://repo.cw-ngv.com/repo_key | apt-key add - -@@ -200,11 +134,8 @@ resources: +- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list +- curl -L http://repo.cw-ngv.com/repo_key | apt-key add - ++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list + apt-get update + + # Configure /etc/clearwater/local_config. +@@ -200,11 +133,8 @@ resources: etcd_ip=__etcd_ip__ [ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__ cat > /etc/clearwater/local_config << EOF @@ -1022,7 +1044,7 @@ index 4337984..9a93cfb 100644 public_hostname=homer-__index__.__zone__ etcd_cluster=$etcd_ip EOF -@@ -227,7 +158,7 @@ resources: +@@ -227,7 +157,7 @@ resources: while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF server __dns_mgmt_ip__ update add homer-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__) @@ -1031,11 +1053,12 @@ index 4337984..9a93cfb 100644 send EOF } && [ $retries -lt 10 ] -@@ -238,13 +169,21 @@ resources: +@@ -237,14 +167,22 @@ resources: + sleep 5 done - # Use the DNS server. - # Use the DNS server. + # Use the DNS server. echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq - mkdir -p /etc/netns/signaling @@ -1056,7 +1079,7 @@ index 4337984..9a93cfb 100644 outputs: public_mgmt_ip: description: IP address in public management network -@@ -252,9 +191,3 @@ outputs: +@@ -252,9 +190,3 @@ outputs: private_mgmt_ip: description: IP address in private management network value: { get_attr: [ mgmt_port, fixed_ips, 0, ip_address ] } @@ -1416,7 +1439,7 @@ index 5921d32..c73fe2b 100644 - value: { get_resource: vellum_sig_inbound } + value: { get_resource: base_mgmt } diff --git a/sprout.yaml b/sprout.yaml -index 9c533b7..2649e11 100644 +index 9c533b7..b51750b 100644 --- a/sprout.yaml +++ b/sprout.yaml @@ -23,26 +23,6 @@ parameters: @@ -1516,7 +1539,7 @@ index 9c533b7..2649e11 100644 template: | #!/bin/bash -@@ -156,33 +124,6 @@ resources: +@@ -156,36 +124,8 @@ resources: exec > >(tee -a /var/log/clearwater-heat-sprout.log) 2>&1 set -x @@ -1548,9 +1571,13 @@ index 9c533b7..2649e11 100644 - /etc/init.d/signaling_namespace - # Configure the APT software source. - echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list - curl -L http://repo.cw-ngv.com/repo_key | apt-key add - -@@ -193,11 +134,8 @@ resources: +- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list +- curl -L http://repo.cw-ngv.com/repo_key | apt-key add - ++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list + apt-get update + + # Configure /etc/clearwater/local_config. +@@ -193,11 +133,8 @@ resources: etcd_ip=__etcd_ip__ [ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__ cat > /etc/clearwater/local_config << EOF @@ -1564,7 +1591,7 @@ index 9c533b7..2649e11 100644 public_hostname=__index__.sprout.__zone__ etcd_cluster=$etcd_ip EOF -@@ -220,10 +158,10 @@ resources: +@@ -220,10 +157,10 @@ resources: while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF server __dns_mgmt_ip__ update add sprout-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__) @@ -1579,7 +1606,7 @@ index 9c533b7..2649e11 100644 update add sprout.__zone__. 30 NAPTR 0 0 "s" "SIP+D2T" "" _sip._tcp.sprout.__zone__. update add _sip._tcp.sprout.__zone__. 30 SRV 0 0 5054 __index__.sprout.__zone__. update add icscf.sprout.__zone__. 30 NAPTR 0 0 "s" "SIP+D2T" "" _sip._tcp.icscf.sprout.__zone__. -@@ -242,17 +180,23 @@ resources: +@@ -242,17 +179,23 @@ resources: # Use the DNS server. echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq @@ -1610,7 +1637,7 @@ index 9c533b7..2649e11 100644 - description: IP address in private signaling network - value: { get_attr: [ sig_port, fixed_ips, 0, ip_address ] } diff --git a/vellum.yaml b/vellum.yaml -index aab71f9..375b3d8 100644 +index aab71f9..de15fcf 100644 --- a/vellum.yaml +++ b/vellum.yaml @@ -23,26 +23,6 @@ parameters: @@ -1694,7 +1721,7 @@ index aab71f9..375b3d8 100644 user_data_format: RAW user_data: str_replace: -@@ -141,47 +112,19 @@ resources: +@@ -141,51 +112,22 @@ resources: __zone__: { get_param: zone } __public_mgmt_ip__: { get_attr: [ mgmt_floating_ip, floating_ip_address ] } __private_mgmt_ip__: { get_attr: [ mgmt_port, fixed_ips, 0, ip_address ] } @@ -1744,8 +1771,13 @@ index aab71f9..375b3d8 100644 + sysctl -w net.ipv6.conf.lo.disable_ipv6=0 # Configure the APT software source. - echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list -@@ -193,11 +136,8 @@ resources: +- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list +- curl -L http://repo.cw-ngv.com/repo_key | apt-key add - ++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list + apt-get update + + # Configure /etc/clearwater/local_config. +@@ -193,11 +135,8 @@ resources: etcd_ip=__etcd_ip__ [ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__ cat > /etc/clearwater/local_config << EOF @@ -1759,7 +1791,7 @@ index aab71f9..375b3d8 100644 public_hostname=__index__.vellum.__zone__ etcd_cluster=$etcd_ip EOF -@@ -206,7 +146,7 @@ resources: +@@ -206,7 +145,7 @@ resources: mkdir -p /etc/chronos cat > /etc/chronos/chronos.conf << EOF [http] @@ -1768,7 +1800,7 @@ index aab71f9..375b3d8 100644 bind-port = 7253 threads = 50 -@@ -218,7 +158,7 @@ resources: +@@ -218,7 +157,7 @@ resources: enabled = true [dns] @@ -1777,7 +1809,7 @@ index aab71f9..375b3d8 100644 EOF # Now install the software. -@@ -239,7 +179,7 @@ resources: +@@ -239,7 +178,7 @@ resources: while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF server __dns_mgmt_ip__ update add vellum-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__) @@ -1786,7 +1818,7 @@ index aab71f9..375b3d8 100644 send EOF } && [ $retries -lt 10 ] -@@ -252,10 +192,19 @@ resources: +@@ -252,10 +191,19 @@ resources: # Use the DNS server. echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq @@ -1808,7 +1840,7 @@ index aab71f9..375b3d8 100644 outputs: public_mgmt_ip: description: IP address in public management network -@@ -263,6 +212,3 @@ outputs: +@@ -263,6 +211,3 @@ outputs: private_mgmt_ip: description: IP address in private management network value: { get_attr: [ mgmt_port, fixed_ips, 0, ip_address ] } diff --git a/docker/vnf/hooks/post_checkout b/docker/vnf/hooks/post_checkout index 8d0e98124..c347524ea 100644 --- a/docker/vnf/hooks/post_checkout +++ b/docker/vnf/hooks/post_checkout @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}" sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml index 7d5548b38..6b483af6a 100644 --- a/docker/vnf/testcases.yaml +++ b/docker/vnf/testcases.yaml @@ -2,7 +2,6 @@ tiers: - name: vnf - order: 4 description: >- Collection of VNF test cases. testcases: @@ -24,6 +23,8 @@ tiers: This test case deploys an OpenSource vIMS solution from Clearwater using the Cloudify orchestrator. It also runs some signaling traffic. + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: cloudify_ims @@ -36,6 +37,8 @@ tiers: This test case deploys an OpenSource vIMS solution from Clearwater using the OpenStack Heat orchestrator. It also runs some signaling traffic. + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: heat_ims @@ -46,6 +49,8 @@ tiers: blocking: false description: >- This test case is vRouter testing. + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: vyos_vrouter @@ -57,5 +62,7 @@ tiers: description: >- vEPC validation with Juju as VNF manager and ABoT as test executor. + dependencies: + - NO_TENANT_NETWORK: '^(?![tT]rue$)' run: name: juju_epc |