summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/Dockerfile5
-rw-r--r--docker/get_db_schema.py61
-rw-r--r--docs/testing/developer/testscope/index.rst363
-rw-r--r--docs/testing/user/testspecification/old_files/ipv6/ipv6_all_testcases.rst6
-rw-r--r--docs/testing/user/testspecification/old_files/ipv6/testspecification.rst5
-rw-r--r--dovetail/compliance/proposed_tests.yml8
-rw-r--r--dovetail/testcase/ipv6.tc002.yml2
-rw-r--r--dovetail/testcase/ipv6.tc003.yml1
-rw-r--r--dovetail/testcase/ipv6.tc004.yml2
-rw-r--r--dovetail/testcase/ipv6.tc005.yml2
-rw-r--r--dovetail/testcase/ipv6.tc018.yml2
-rw-r--r--dovetail/testcase/ipv6.tc019.yml2
-rw-r--r--dovetail/testcase/ipv6.tc020.yml2
-rw-r--r--dovetail/testcase/ipv6.tc021.yml2
-rw-r--r--dovetail/testcase/ipv6.tc022.yml2
-rw-r--r--dovetail/testcase/ipv6.tc023.yml2
-rw-r--r--dovetail/testcase/ipv6.tc024.yml2
-rw-r--r--dovetail/testcase/ipv6.tc025.yml2
-rw-r--r--dovetail/utils/dovetail_utils.py6
-rw-r--r--dovetail/utils/local_db/init_db.py (renamed from utils/init_db.py)30
-rwxr-xr-xdovetail/utils/local_db/launch_db.sh (renamed from utils/launch_db.sh)29
-rwxr-xr-xdovetail/utils/local_db/restart_db.sh (renamed from utils/restart_db.sh)0
22 files changed, 472 insertions, 64 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 7b3d99ed..499624f8 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -40,3 +40,8 @@ RUN \
pip install -e .
WORKDIR ${REPOS_DIR}/dovetail
+
+# get db schema from opnfv sites
+RUN mkdir -p ${REPOS_DIR}/dovetail/utils/local_db
+ADD get_db_schema.py ${REPOS_DIR}/dovetail/utils/local_db
+RUN cd ${REPOS_DIR}/dovetail/utils/local_db && python get_db_schema.py
diff --git a/docker/get_db_schema.py b/docker/get_db_schema.py
new file mode 100644
index 00000000..9a9d10d4
--- /dev/null
+++ b/docker/get_db_schema.py
@@ -0,0 +1,61 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+import requests
+import json
+
+
+source_url = 'http://testresults.opnfv.org/test/api/v1'
+
+
+def get(url):
+ try:
+ ret = requests.get(url)
+ return ret.json()
+ except:
+ return None
+
+
+def pod():
+ source = '{}/pods'.format(source_url)
+ try:
+ pods = get(source)['pods']
+ with open("pods.json", "w") as f:
+ f.write(json.dumps(pods, indent=4))
+ except:
+ return
+
+
+def project():
+ source = '{}/projects'.format(source_url)
+
+ try:
+ projects = get(source)['projects']
+ with open("projects.json", "w") as f:
+ f.write(json.dumps(projects, indent=4))
+ except:
+ return
+
+ for p in projects:
+ source = '{}/projects/{}/cases'.format(source_url, p['name'])
+ print(p['name'])
+ print(source)
+ try:
+ cases = get(source)
+ with open("cases.json", "a+") as f:
+ f.write(json.dumps(cases))
+ f.write('\n')
+ f.close()
+ except:
+ print("useless data")
+
+
+if __name__ == '__main__':
+ pod()
+ project()
diff --git a/docs/testing/developer/testscope/index.rst b/docs/testing/developer/testscope/index.rst
new file mode 100644
index 00000000..ffa91fd1
--- /dev/null
+++ b/docs/testing/developer/testscope/index.rst
@@ -0,0 +1,363 @@
+.. This work is lit_snapshots_list_details_with_paramsensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) Ericsson AB
+
+=======================================================
+Compliance and Verification program accepted test cases
+=======================================================
+
+.. toctree::
+ :maxdepth: 2
+
+
+Mandatory CVP Test Areas
+========================
+
+----------------------------------
+Test Area VIM Operations - Compute
+----------------------------------
+
+Image operations within the Compute API
+---------------------------------------
+tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image
+tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name
+
+
+Basic support Compute API for server actions such as reboot, rebuild, resize
+----------------------------------------------------------------------------
+tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_get_instance_action
+tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_list_instance_actions
+
+
+Generate, import, and delete SSH keys within Compute services
+-------------------------------------------------------------
+tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair
+
+
+List supported versions of the Compute API
+------------------------------------------
+tempest.api.compute.test_versions.TestVersions.test_list_api_versions
+
+
+Quotas management in Compute API
+--------------------------------
+tempest.api.compute.test_quotas.QuotasTestJSON.test_get_default_quotas
+tempest.api.compute.test_quotas.QuotasTestJSON.test_get_quotas
+
+
+Basic server operations in the Compute API
+------------------------------------------
+tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password
+tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_numeric_server_name
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_metadata_exceeds_length_limit
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_name_length_exceeds_256
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_flavor
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_image
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_network_uuid
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_id_exceeding_length_limit
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_negative_id
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_get_non_existent_server
+tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name
+tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_host_name_is_same_as_server_name
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_invalid_ip_v6_address
+tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers
+tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers_with_detail
+tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers
+tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers_with_detail
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_flavor
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_image
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_name
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_status
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_limit_results
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_flavor
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_image
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_status
+tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_greater_than_actual_count
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_negative_value
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_string
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_flavor
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_image
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_server_name
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_detail_server_is_deleted
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_status_non_existing
+tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_with_a_deleted_server
+tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_unlock_server
+tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item
+tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item
+tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata
+tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata
+tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item
+tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_server_name_blank
+tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_reboot_non_existent_server
+tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_deleted_server
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_non_existent_server
+tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_stop_non_existent_server
+tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_access_server_address
+tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_server_name
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_name_of_non_existent_server
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_name_length_exceeds_256
+tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_set_empty_name
+tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_created_server_vcpus
+tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_server_details
+tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_created_server_vcpus
+tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_server_details
+
+
+Retrieve volume information through the Compute API
+---------------------------------------------------
+tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_attach_detach_volume
+tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_list_get_volume_attachments
+
+
+
+-----------------------------------
+Test Area VIM Operations - Identity
+-----------------------------------
+
+API discovery operations within the Identity v3 API
+---------------------------------------------------
+tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types
+tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources
+tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_statuses
+
+
+Auth operations within the Identity API
+---------------------------------------
+tempest.api.identity.v3.test_tokens.TokensV3Test.test_create_token
+
+
+
+--------------------------------
+Test Area VIM Operations - Image
+--------------------------------
+
+Image deletion tests using the Glance v2 API
+--------------------------------------------
+tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_delete_image
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_image_null_id
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_non_existing_image
+tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_delete_non_existing_tag
+
+
+Image get tests using the Glance v2 API
+---------------------------------------
+tempest.api.image.v2.test_images.ListImagesTest.test_get_image_schema
+tempest.api.image.v2.test_images.ListImagesTest.test_get_images_schema
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_delete_deleted_image
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_image_null_id
+tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_non_existent_image
+
+
+CRUD image operations in Images API v2
+--------------------------------------
+tempest.api.image.v2.test_images.ListImagesTest.test_list_no_params
+
+
+Image list tests using the Glance v2 API
+----------------------------------------
+tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_container_format
+tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_disk_format
+tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_limit
+tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_min_max_size
+tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_size
+tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_status
+tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_visibility
+
+
+Image update tests using the Glance v2 API
+------------------------------------------
+tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_update_image
+tempest.api.image.v2.test_images_tags.ImagesTagsTest.test_update_delete_tags_for_image
+tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_update_tags_for_non_existing_image
+
+
+----------------------------------
+Test Area VIM Operations - Network
+----------------------------------
+
+Basic CRUD operations on L2 networks and L2 network ports
+---------------------------------------------------------
+
+tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_all_attributes
+tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_allocation_pools
+tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_dhcp_enabled
+tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_gw
+tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_gw_and_allocation_pools
+tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_host_routes_and_dns_nameservers
+tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_without_gateway
+tempest.api.network.test_networks.NetworksTest.test_create_update_delete_network_subnet
+tempest.api.network.test_networks.NetworksTest.test_delete_network_with_subnet
+tempest.api.network.test_networks.NetworksTest.test_list_networks
+tempest.api.network.test_networks.NetworksTest.test_list_networks_fields
+tempest.api.network.test_networks.NetworksTest.test_list_subnets
+tempest.api.network.test_networks.NetworksTest.test_list_subnets_fields
+tempest.api.network.test_networks.NetworksTest.test_show_network
+tempest.api.network.test_networks.NetworksTest.test_show_network_fields
+tempest.api.network.test_networks.NetworksTest.test_show_subnet
+tempest.api.network.test_networks.NetworksTest.test_show_subnet_fields
+tempest.api.network.test_networks.NetworksTest.test_update_subnet_gw_dns_host_routes_dhcp
+tempest.api.network.test_ports.PortsTestJSON.test_create_bulk_port
+tempest.api.network.test_ports.PortsTestJSON.test_create_port_in_allowed_allocation_pools
+tempest.api.network.test_ports.PortsTestJSON.test_create_update_delete_port
+tempest.api.network.test_ports.PortsTestJSON.test_list_ports
+tempest.api.network.test_ports.PortsTestJSON.test_list_ports_fields
+tempest.api.network.test_ports.PortsTestJSON.test_show_port
+tempest.api.network.test_ports.PortsTestJSON.test_show_port_fields
+tempest.api.network.test_ports.PortsTestJSON.test_update_port_with_security_group_and_extra_attributes
+tempest.api.network.test_ports.PortsTestJSON.test_update_port_with_two_security_groups_and_extra_attributes
+
+
+Basic CRUD operations on security groups
+----------------------------------------
+tempest.api.network.test_security_groups.SecGroupTest.test_create_list_update_show_delete_security_group
+tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_additional_args
+tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_icmp_type_code
+tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_protocol_integer_value
+tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_remote_group_id
+tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_remote_ip_prefix
+tempest.api.network.test_security_groups.SecGroupTest.test_create_show_delete_security_group_rule
+tempest.api.network.test_security_groups.SecGroupTest.test_list_security_groups
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_additional_default_security_group_fails
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_duplicate_security_group_rule_fails
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_bad_ethertype
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_bad_protocol
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_bad_remote_ip_prefix
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_invalid_ports
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_non_existent_remote_groupid
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_non_existent_security_group
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_delete_non_existent_security_group
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_show_non_existent_security_group
+tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_show_non_existent_security_group_rule
+
+
+---------------------------------
+Test Area VIM Operations - Volume
+---------------------------------
+
+Volume attach and detach operations with the Cinder v2 API
+----------------------------------------------------------
+tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_attach_detach_volume_to_instance
+tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_get_volume_attachment
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_attach_volumes_with_nonexistent_volume_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_detach_volumes_with_invalid_volume_id
+
+
+Volume service availability zone operations with the Cinder v2 API
+------------------------------------------------------------------
+tempest.api.volume.test_availability_zone.AvailabilityZoneV2TestJSON.test_get_availability_zone_list
+
+
+Volume cloning operations with the Cinder v2 API
+------------------------------------------------
+tempest.api.volume.test_volumes_get.VolumesV2GetTest.test_volume_create_get_update_delete_as_clone
+
+
+Image copy-to-volume operations with the Cinder v2 API
+------------------------------------------------------
+tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_volume_bootable
+tempest.api.volume.test_volumes_get.VolumesV2GetTest.test_volume_create_get_update_delete_from_image
+
+
+Volume creation and deletion operations with the Cinder v2 API
+--------------------------------------------------------------
+tempest.api.volume.test_volumes_get.VolumesV2GetTest.test_volume_create_get_update_delete
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_create_volume_with_invalid_size
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_create_volume_with_nonexistent_source_volid
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_create_volume_with_nonexistent_volume_type
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_create_volume_with_out_passing_size
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_create_volume_with_size_negative
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_create_volume_with_size_zero
+
+
+Volume service extension listing operations with the Cinder v2 API
+------------------------------------------------------------------
+tempest.api.volume.test_extensions.ExtensionsV2TestJSON.test_list_extensions
+
+
+Volume GET operations with the Cinder v2 API
+--------------------------------------------
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_get_invalid_volume_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_get_volume_without_passing_volume_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_volume_get_nonexistent_volume_id
+
+Volume listing operations with the Cinder v2 API
+------------------------------------------------
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volume_list
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_by_name
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_details_by_name
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_param_display_name_and_status
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_with_detail_param_display_name_and_status
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_with_detail_param_metadata
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_with_details
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_with_param_metadata
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volumes_list_by_availability_zone
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volumes_list_by_status
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volumes_list_details_by_availability_zone
+tempest.api.volume.test_volumes_list.VolumesV2ListTestJSON.test_volumes_list_details_by_status
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_list_volumes_detail_with_invalid_status
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_list_volumes_detail_with_nonexistent_name
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_list_volumes_with_invalid_status
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_list_volumes_with_nonexistent_name
+tempest.api.volume.v2.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_details_pagination
+tempest.api.volume.v2.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_details_with_multiple_params
+tempest.api.volume.v2.test_volumes_list.VolumesV2ListTestJSON.test_volume_list_pagination
+
+
+Volume metadata operations with the Cinder v2 API
+-------------------------------------------------
+
+tempest.api.volume.test_volume_metadata.VolumesV2MetadataTest.test_create_get_delete_volume_metadata
+tempest.api.volume.test_volume_metadata.VolumesV2MetadataTest.test_update_volume_metadata_item
+
+
+Verification of read-only status on volumes with the Cinder v2 API
+------------------------------------------------------------------
+tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_volume_readonly_update
+
+
+Volume reservation operations with the Cinder v2 API
+----------------------------------------------------
+tempest.api.volume.test_volumes_actions.VolumesV2ActionsTest.test_reserve_unreserve_volume
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_reserve_volume_with_negative_volume_status
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_reserve_volume_with_nonexistent_volume_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_unreserve_volume_with_nonexistent_volume_id
+
+
+Volume snapshot creation/deletion operations with the Cinder v2 API
+-------------------------------------------------------------------
+tempest.api.volume.test_snapshot_metadata.SnapshotV2MetadataTestJSON.test_create_get_delete_snapshot_metadata
+tempest.api.volume.test_snapshot_metadata.SnapshotV2MetadataTestJSON.test_update_snapshot_metadata_item
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_create_volume_with_nonexistent_snapshot_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_delete_invalid_volume_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_delete_volume_without_passing_volume_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_volume_delete_nonexistent_volume_id
+tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshot_create_get_list_update_delete
+tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_volume_from_snapshot
+tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_details_with_params
+tempest.api.volume.test_volumes_snapshots.VolumesV2SnapshotTestJSON.test_snapshots_list_with_params
+tempest.api.volume.test_volumes_snapshots_negative.VolumesV2SnapshotNegativeTestJSON.test_create_snapshot_with_nonexistent_volume_id
+tempest.api.volume.test_volumes_snapshots_negative.VolumesV2SnapshotNegativeTestJSON.test_create_snapshot_without_passing_volume_id
+
+
+Volume update operations with the Cinder v2 API
+-----------------------------------------------
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_update_volume_with_empty_volume_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_update_volume_with_invalid_volume_id
+tempest.api.volume.test_volumes_negative.VolumesV2NegativeTest.test_update_volume_with_nonexistent_volume_id
+
+
+
+Optional CVP Test Areas
+========================
+
diff --git a/docs/testing/user/testspecification/old_files/ipv6/ipv6_all_testcases.rst b/docs/testing/user/testspecification/old_files/ipv6/ipv6_all_testcases.rst
index 462219a8..02115ec3 100644
--- a/docs/testing/user/testspecification/old_files/ipv6/ipv6_all_testcases.rst
+++ b/docs/testing/user/testspecification/old_files/ipv6/ipv6_all_testcases.rst
@@ -31,7 +31,6 @@ Test Case 2: Create, Update and Delete an IPv6 Network and Subnet
.. code-block:: bash
tempest.api.network.test_networks.NetworksIpV6Test.test_create_update_delete_network_subnet
- tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_create_update_delete_network_subnet
----------------------------------------------
Test Case 3: Check External Network Visibility
@@ -40,7 +39,6 @@ Test Case 3: Check External Network Visibility
.. code-block:: bash
tempest.api.network.test_networks.NetworksIpV6Test.test_external_network_visibility
- tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_external_network_visibility
-------------------------------------------------------
Test Case 4: List IPv6 Networks and Subnets of a Tenant
@@ -50,8 +48,6 @@ Test Case 4: List IPv6 Networks and Subnets of a Tenant
tempest.api.network.test_networks.NetworksIpV6Test.test_list_networks
tempest.api.network.test_networks.NetworksIpV6Test.test_list_subnets
- tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_list_networks
- tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_list_subnets
-----------------------------------------------------------
Test Case 5: Show Information of an IPv6 Network and Subnet
@@ -61,8 +57,6 @@ Test Case 5: Show Information of an IPv6 Network and Subnet
tempest.api.network.test_networks.NetworksIpV6Test.test_show_network
tempest.api.network.test_networks.NetworksIpV6Test.test_show_subnet
- tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_show_network
- tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_show_subnet
------------------------------------------------------------
Test Case 6: Create an IPv6 Port in Allowed Allocation Pools
diff --git a/docs/testing/user/testspecification/old_files/ipv6/testspecification.rst b/docs/testing/user/testspecification/old_files/ipv6/testspecification.rst
index 6f7caba8..e51f2a5b 100644
--- a/docs/testing/user/testspecification/old_files/ipv6/testspecification.rst
+++ b/docs/testing/user/testspecification/old_files/ipv6/testspecification.rst
@@ -21,7 +21,10 @@ test case specification. It may be a good idea to reference the source documents
Environmental requirements
==========================
-TBD
+For ipv6 Test Case 18-25, those test cases are scenario tests, they need to boot virtual
+machines and ping6 in addition to test APIs, ping6 to vRouter is not supported by SDN controller
+yet, such as Opendaylight (Boron and previous releases), so they are scenario dependent,
+i.e., currently ipv6 Test Case 18-25 can only run on scenario os-nosdn-nofeature.
Preconditions and procedural requirements
=========================================
diff --git a/dovetail/compliance/proposed_tests.yml b/dovetail/compliance/proposed_tests.yml
index fa9c5b8a..aaaa2023 100644
--- a/dovetail/compliance/proposed_tests.yml
+++ b/dovetail/compliance/proposed_tests.yml
@@ -7,10 +7,10 @@ proposed_tests:
# - dovetail.defcore.tc002
# ipv6
- dovetail.ipv6.tc001
- # - dovetail.ipv6.tc002
- # - dovetail.ipv6.tc003
- # - dovetail.ipv6.tc004
- # - dovetail.ipv6.tc005
+ - dovetail.ipv6.tc002
+ - dovetail.ipv6.tc003
+ - dovetail.ipv6.tc004
+ - dovetail.ipv6.tc005
- dovetail.ipv6.tc006
- dovetail.ipv6.tc007
- dovetail.ipv6.tc008
diff --git a/dovetail/testcase/ipv6.tc002.yml b/dovetail/testcase/ipv6.tc002.yml
index 48aeafa3..c8254bb8 100644
--- a/dovetail/testcase/ipv6.tc002.yml
+++ b/dovetail/testcase/ipv6.tc002.yml
@@ -11,5 +11,3 @@ dovetail.ipv6.tc002:
report:
sub_testcase_list:
- tempest.api.network.test_networks.NetworksIpV6Test.test_create_update_delete_network_subnet[id-0e269138-0da6-4efc-a46d-578161e7b221,smoke]
- - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_create_update_delete_network_subnet
-
diff --git a/dovetail/testcase/ipv6.tc003.yml b/dovetail/testcase/ipv6.tc003.yml
index d9c93799..339d405b 100644
--- a/dovetail/testcase/ipv6.tc003.yml
+++ b/dovetail/testcase/ipv6.tc003.yml
@@ -11,4 +11,3 @@ dovetail.ipv6.tc003:
report:
sub_testcase_list:
- tempest.api.network.test_networks.NetworksIpV6Test.test_external_network_visibility[id-af774677-42a9-4e4b-bb58-16fe6a5bc1ec,smoke]
- - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_external_network_visibility
diff --git a/dovetail/testcase/ipv6.tc004.yml b/dovetail/testcase/ipv6.tc004.yml
index a69b9fcd..514a846e 100644
--- a/dovetail/testcase/ipv6.tc004.yml
+++ b/dovetail/testcase/ipv6.tc004.yml
@@ -12,5 +12,3 @@ dovetail.ipv6.tc004:
sub_testcase_list:
- tempest.api.network.test_networks.NetworksIpV6Test.test_list_networks[id-f7ffdeda-e200-4a7a-bcbe-05716e86bf43,smoke]
- tempest.api.network.test_networks.NetworksIpV6Test.test_list_subnets[id-db68ba48-f4ea-49e9-81d1-e367f6d0b20a,smoke]
- - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_list_networks
- - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_list_subnets
diff --git a/dovetail/testcase/ipv6.tc005.yml b/dovetail/testcase/ipv6.tc005.yml
index 52cae5f5..3dcca9b2 100644
--- a/dovetail/testcase/ipv6.tc005.yml
+++ b/dovetail/testcase/ipv6.tc005.yml
@@ -12,5 +12,3 @@ dovetail.ipv6.tc005:
sub_testcase_list:
- tempest.api.network.test_networks.NetworksIpV6Test.test_show_network[id-2bf13842-c93f-4a69-83ed-717d2ec3b44e,smoke]
- tempest.api.network.test_networks.NetworksIpV6Test.test_show_subnet[id-bd635d81-6030-4dd1-b3b9-31ba0cfdf6cc,smoke]
- - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_show_network
- - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_show_subnet
diff --git a/dovetail/testcase/ipv6.tc018.yml b/dovetail/testcase/ipv6.tc018.yml
index 93ae1235..406e02af 100644
--- a/dovetail/testcase/ipv6.tc018.yml
+++ b/dovetail/testcase/ipv6.tc018.yml
@@ -1,7 +1,7 @@
---
dovetail.ipv6.tc018:
name: dovetail.ipv6.tc018
- objective: VIM ipv6 operations, to show information of an IPv6 port
+ objective: VIM ipv6 operations, to show information of an IPv6 port, scenario os-nosdn-nofeature dependent
validate:
type: functest
testcase: tempest_custom
diff --git a/dovetail/testcase/ipv6.tc019.yml b/dovetail/testcase/ipv6.tc019.yml
index fab0acdb..1e3c171b 100644
--- a/dovetail/testcase/ipv6.tc019.yml
+++ b/dovetail/testcase/ipv6.tc019.yml
@@ -1,7 +1,7 @@
---
dovetail.ipv6.tc019:
name: dovetail.ipv6.tc019
- objective: VIM ipv6 operations, to do IPv6 address assignment - dual stack, DHCPv6 stateless
+ objective: VIM ipv6 operations, to do IPv6 address assignment - dual stack, DHCPv6 stateless, scenario os-nosdn-nofeature dependent
validate:
type: functest
testcase: tempest_custom
diff --git a/dovetail/testcase/ipv6.tc020.yml b/dovetail/testcase/ipv6.tc020.yml
index b31cd727..f7ab8b47 100644
--- a/dovetail/testcase/ipv6.tc020.yml
+++ b/dovetail/testcase/ipv6.tc020.yml
@@ -1,7 +1,7 @@
---
dovetail.ipv6.tc020:
name: dovetail.ipv6.tc020
- objective: VIM ipv6 operations, to do IPv6 Address Assignment - Multiple Prefixes, DHCPv6 Stateless
+ objective: VIM ipv6 operations, to do IPv6 Address Assignment - Multiple Prefixes, DHCPv6 Stateless, scenario os-nosdn-nofeature dependent
validate:
type: functest
testcase: tempest_custom
diff --git a/dovetail/testcase/ipv6.tc021.yml b/dovetail/testcase/ipv6.tc021.yml
index f8820f1d..466b75ca 100644
--- a/dovetail/testcase/ipv6.tc021.yml
+++ b/dovetail/testcase/ipv6.tc021.yml
@@ -1,7 +1,7 @@
---
dovetail.ipv6.tc021:
name: dovetail.ipv6.tc021
- objective: VIM ipv6 operations, to do IPv6 Address Assignment - Dual Stack, Multiple Prefixes, DHCPv6 Stateless
+ objective: VIM ipv6 operations, to do IPv6 Address Assignment - Dual Stack, Multiple Prefixes, DHCPv6 Stateless, scenario os-nosdn-nofeature dependent
validate:
type: functest
testcase: tempest_custom
diff --git a/dovetail/testcase/ipv6.tc022.yml b/dovetail/testcase/ipv6.tc022.yml
index 6c61702e..c1d371d6 100644
--- a/dovetail/testcase/ipv6.tc022.yml
+++ b/dovetail/testcase/ipv6.tc022.yml
@@ -1,7 +1,7 @@
---
dovetail.ipv6.tc022:
name: dovetail.ipv6.tc022
- objective: VIM ipv6 operations, to do IPv6 Address Assignment - SLAAC
+ objective: VIM ipv6 operations, to do IPv6 Address Assignment - SLAAC, scenario os-nosdn-nofeature dependent
validate:
type: functest
testcase: tempest_custom
diff --git a/dovetail/testcase/ipv6.tc023.yml b/dovetail/testcase/ipv6.tc023.yml
index 25193708..aea1a12b 100644
--- a/dovetail/testcase/ipv6.tc023.yml
+++ b/dovetail/testcase/ipv6.tc023.yml
@@ -1,7 +1,7 @@
---
dovetail.ipv6.tc023:
name: dovetail.ipv6.tc023
- objective: VIM ipv6 operations, to do IPv6 Address Assignment - Dual Stack, SLAAC
+ objective: VIM ipv6 operations, to do IPv6 Address Assignment - Dual Stack, SLAAC, scenario os-nosdn-nofeature dependent
validate:
type: functest
testcase: tempest_custom
diff --git a/dovetail/testcase/ipv6.tc024.yml b/dovetail/testcase/ipv6.tc024.yml
index 9a5f331e..8d248901 100644
--- a/dovetail/testcase/ipv6.tc024.yml
+++ b/dovetail/testcase/ipv6.tc024.yml
@@ -1,7 +1,7 @@
---
dovetail.ipv6.tc024:
name: dovetail.ipv6.tc024
- objective: VIM ipv6 operations, to do IPv6 address assignment - multiple prefixes, SLAAC
+ objective: VIM ipv6 operations, to do IPv6 address assignment - multiple prefixes, SLAAC, scenario os-nosdn-nofeature dependent
validate:
type: functest
testcase: tempest_custom
diff --git a/dovetail/testcase/ipv6.tc025.yml b/dovetail/testcase/ipv6.tc025.yml
index 4cf3a005..35ef78c7 100644
--- a/dovetail/testcase/ipv6.tc025.yml
+++ b/dovetail/testcase/ipv6.tc025.yml
@@ -1,7 +1,7 @@
---
dovetail.ipv6.tc025:
name: dovetail.ipv6.tc025
- objective: VIM ipv6 operations, to do IPv6 address assignment - dual stack, multiple prefixes, SLAAC
+ objective: VIM ipv6 operations, to do IPv6 address assignment - dual stack, multiple prefixes, SLAAC, scenario os-nosdn-nofeature dependent
validate:
type: functest
testcase: tempest_custom
diff --git a/dovetail/utils/dovetail_utils.py b/dovetail/utils/dovetail_utils.py
index 7b613488..83390e9d 100644
--- a/dovetail/utils/dovetail_utils.py
+++ b/dovetail/utils/dovetail_utils.py
@@ -169,11 +169,11 @@ def show_progress_bar(length):
def check_docker_version(logger=None):
- ret, server_ver = exec_cmd("docker version -f'{{.Server.Version}}'",
+ ret, server_ver = exec_cmd("sudo docker version -f'{{.Server.Version}}'",
logger=logger)
- ret, client_ver = exec_cmd("docker version -f'{{.Client.Version}}'",
+ ret, client_ver = exec_cmd("sudo docker version -f'{{.Client.Version}}'",
logger=logger)
- logger.info("\ndocker version: \nclient:%s\nservr:%s", client_ver,
+ logger.info("\ndocker version: \nclient:%s\nserver:%s", client_ver,
server_ver)
if(LooseVersion(client_ver) <= LooseVersion('1.8.0') or
LooseVersion(server_ver) <= LooseVersion('1.8.0')):
diff --git a/utils/init_db.py b/dovetail/utils/local_db/init_db.py
index 129c61f8..246139c4 100644
--- a/utils/init_db.py
+++ b/dovetail/utils/local_db/init_db.py
@@ -14,7 +14,6 @@ import sys
db_host_ip = sys.argv[1]
testapi_port = sys.argv[2]
-source_url = 'http://testresults.opnfv.org/test/api/v1'
target_url = 'http://{}:{}/api/v1'.format(db_host_ip, testapi_port)
print(target_url)
@@ -30,10 +29,10 @@ def post(url, data):
def pod():
- source = '{}/pods'.format(source_url)
target = '{}/pods'.format(target_url)
- pods = get(source)['pods']
+ with open('pods.json', 'r') as f:
+ pods = json.load(f)
for p in pods:
post(target, p)
@@ -42,24 +41,25 @@ def pod():
def project():
- source = '{}/projects'.format(source_url)
target = '{}/projects'.format(target_url)
-
- projects = get(source)['projects']
+ with open('projects.json', 'r') as f:
+ projects = json.load(f)
for p in projects:
post(target, p)
def cases():
- project_list = ['yardstick', 'functest', 'dovetail']
-
- for p in project_list:
- source = '{}/projects/{}/cases'.format(source_url, p)
- target = '{}/projects/{}/cases'.format(target_url, p)
-
- cases = get(source)['testcases']
- for c in cases:
- post(target, c)
+ with open('cases.json', 'r') as f:
+ for line in f:
+ try:
+ cases = json.loads(line)
+ for c in cases["testcases"]:
+ target = '{}/projects/{}/cases'.format(target_url,
+ c['project_name'])
+ print(target)
+ post(target, c)
+ except:
+ print("useless data")
def add_pod(name, mode):
diff --git a/utils/launch_db.sh b/dovetail/utils/local_db/launch_db.sh
index f3681665..77646713 100755
--- a/utils/launch_db.sh
+++ b/dovetail/utils/local_db/launch_db.sh
@@ -29,10 +29,12 @@ echo "==================="
echo "Create the mongodb."
echo "==================="
+set +e
# pull image kkltcjk/mongodb:reporting
mongodb_img="kkltcjk/mongodb:reporting"
echo "Step1: pull the image $mongodb_img."
-sudo docker pull $mongodb_img > /dev/null
+sudo docker pull $mongodb_img
+set -e
container_name='mongodb'
@@ -56,10 +58,12 @@ echo "=========================="
echo "Create the testapi service."
echo "=========================="
+set +e
# pull image kkltcjk/testapi:reporting
testapi_img="kkltcjk/testapi:reporting"
echo "Step1: pull the image $testapi_img."
-sudo docker pull $testapi_img > /dev/null
+sudo docker pull $testapi_img
+set -e
container_name='testapi'
@@ -76,32 +80,17 @@ cmd="sudo docker run -itd -p ${testapi_port}:8000 --name ${container_name} -e mo
echo $cmd
${cmd}
-echo "Successfully create the testapi service."
+echo "Wait for testapi to work..."
+sleep 10
echo "================================="
echo "Upload default project info to DB"
echo "================================="
-# For Ubuntu, there is file /etc/lsb-release
-# For Centos and redhat, there is file /etc/redhat-release
-if [ -f /etc/lsb-release ]; then
- sudo apt-get update > /dev/null
- sudo apt-get install -y python-pip > /dev/null
-elif [ -f /etc/redhat-release ]; then
- sudo yum -y update > /dev/null
- sudo yum -y install epel-release > /dev/null
- sudo yum -y install python-pip > /dev/null
-else
- echo "This operating system is not currently supported."
- exit 1
-fi
-
-pip install requests > /dev/null
-
echo "Init DB info..."
cmd="python ./init_db.py ${db_host_ip} ${testapi_port}"
echo ${cmd}
-${cmd} > /dev/null
+${cmd}
echo "Successfully load DB info."
diff --git a/utils/restart_db.sh b/dovetail/utils/local_db/restart_db.sh
index 39b60e05..39b60e05 100755
--- a/utils/restart_db.sh
+++ b/dovetail/utils/local_db/restart_db.sh