diff --git a/README.rst b/README.rst index 9b51b889..d4d40a7a 100644 --- a/README.rst +++ b/README.rst @@ -1,27 +1,79 @@ -================================== -DefCore Managed Files -================================== +================================================= +Understanding the DefCore JSON Schema +================================================= This folder contains DefCore committee managed files that provide trusted guidance for the OpenStack community. Assets for each release are tracked in dedicated subdirectories so JSON schema may change per release if needed. -NOTE: Changes to files in these subdirectories requires approval of the Defcore committee chair(s). +NOTE: Changes to file requires approval of the DefCore committee chair(s). ----------------------------------- -Havana Release ----------------------------------- -## coretests.json +DefCore Process Flow +==================== -Contains the list of tests that are considered must-pass for the Havana Core. +See: https://wiki.openstack.org/w/images/6/68/DefCoreProcessFlow.pdf -## capabilities.json +Terminology +==================== -Contains a grouping map between Capabilities and tests. This file should contain all tests, not just the core ones. +See: https://wiki.openstack.org/wiki/Governance/DefCoreLexicon -## drivers.json +The JSON files have a specific schema to support + +.. code-block:: json + + { "release": "havana", + "schema": "1.0", + "criteria" : { + "atomic" : { "Description" : "blah blah blah", + "name" : "Atomic", + "weight": 8 + }, + "capabilities": { + "example-cap" : { "achievements" : [ "deployed", + "future", + "complete"], + "admin" : true, + "core" : false, + "description" : "Helpful Description", + "flagged" : [ ], + "name" : "Friendly Short Name", + "tests" : [ "tempest.api.project.file.class.test_name" ] + }, + +Schema Explanation: +------------------- + +* release: provides the release described in the JSON file +* schema: version of the schema +* criteria: block describing the scoring criteria for the release + * criteria/[id]: block for a specific criteria (using an ID) + * criteria/[id]/name: friendly name for the criteria + * criteria/[id]/description: longer description for the criteria + * criteria/[id]/weight: weight applied. All criteria together should = 100 +* capabilities: block describing all the capabilities identified for the release + * capabilities/[id]: block for a specific capability (using an ID) + * capabilities/[id]/name: friend name for the capability + * capabilities/[id]/description: longer description for the capability + * capabilities/[id]/core: boolean set by Board if capability is required + * capabilities/[id]/admin: boolean set by PTL if capability is for admin use + * capabilities/[id]/achievements: list of criteria passed for this capability (set by Board) + * capabilities/[id]/tests: list of tests included in the capability (set by PTL) + * capabilities/[id]/flagged: tests that have been excluded for this capability (set by Board) + +Ownership for Changes +===================== + +TC/PTL +--------------------- +1. Capabilities Description +1. Capabilities Test List + +DefCore +--------------------- +1. Flagged Tests +1. Capabilities "Score +1. Criteria Names and Descriptions -Contains the list of OpenStack drivers and their qualified status. -NOTE: Changes to the drivers list requires involvement of the parties impacted by that change via +1 vote. \ No newline at end of file diff --git a/drafts/havanacore.json b/drafts/havanacore.json new file mode 100644 index 00000000..fa46d325 --- /dev/null +++ b/drafts/havanacore.json @@ -0,0 +1,1633 @@ +{ "release" : "havana", + "schema" : "1.0", + "criteria" : { "atomic" : { "Description" : "Capabilities is unique and cannot be built out of other must-pass capabilities", + "name" : "Atomic", + "weight" : 8 + }, + "clients" : { "Description" : "Candidates are widely used capabilities: Should be included if part of common libraries (Fog, Apache jclouds, etc)", + "name" : "Used by Clients", + "weight" : 8 + }, + "complete" : { "Description" : "Where the code being tested has a designated area of alternate implementation (extension framework) as per the Core Principles, there should be parity in capability tested across extension implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.", + "name" : "Complete", + "weight" : 8 + }, + "deployed" : { "Description" : "Candidates are widely deployed capabilities. We favor capabilities that are supported by multiple public cloud providers and private cloud products.", + "name" : "Widely Deployed", + "weight" : 8 + }, + "discover" : { "Description" : "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection)", + "name" : "Discoverable", + "weight" : 8 + }, + "doc" : { "Description" : "Should be well documented, particularly the expected behavior. This can be a very subjective measure and we expect to refine this definition over time.", + "name" : "Documented", + "weight" : 8 + }, + "foundation" : { "Description" : "Test capabilities that are required by other must-pass tests and/or depended on by many other capabilities", + "name" : "Foundation", + "weight" : 8 + }, + "future" : { "Description" : "Should reflect future technical direction (from the project technical teams and the TC) and help manage deprecated capabilities.", + "name" : "Future Direction", + "weight" : 9 + }, + "proximity" : { "Description" : "Sometimes called a Test Cluster, selects for Capabilities that are related to Core Capabilities. This helps ensure that related capabilities are managed together.", + "name" : "Proximity", + "weight" : 8 + }, + "stable" : { "Description" : "Test is required stable for >2 releases because we don't want core capabilities that do not have dependable APIs.", + "name" : "Stable", + "weight" : 9 + }, + "sticky" : { "Description" : "A test that is a must-pass test should stay a must-pass test. This make makes core capabilities sticky release per release. Leaving Core is disruptive to the ecosystem", + "name" : "Core in Last Release", + "weight" : 9 + }, + "tools" : { "Description" : "Candidates are widely used capabilities:Should be included if supported by common tools (RightScale, Scalr, CloudForms, ...)", + "name" : "Used by Tools", + "weight" : 9 + } + }, + "capabilities" : { "compute-admin-aggregates" : { "achievements" : [ "deployed", + "future", + "complete", + "stable", + "doc", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-aggregates description missing", + "flagged" : [ ], + "name" : "compute-admin-aggregates", + "tests" : [ "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_delete_server_pass_id_exceeding_length_limit" ] + }, + "compute-admin-avail-zone" : { "achievements" : [ "deployed", + "tools", + "clients", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-avail-zone description missing", + "flagged" : [ ], + "name" : "compute-admin-avail-zone", + "tests" : [ "tempest.api.compute.admin/test_availalbility_zone.PublicObjectTest.test_get_availability_zone_list", + "tempest.api.compute.admin/test_availalbility_zone.PublicObjectTest.test_get_availability_zone_list_detail", + "tempest.api.compute.admin/test_availalbility_zone.PublicObjectTest.test_get_availability_zone_list_with_non_admin_user", + "tempest.api.compute.admin/test_availalbility_zone.PublicObjectTest.test_get_availability_zone_list_detail_with_non_admin_user" + ] + }, + "compute-admin-fixed-ips" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-fixed-ips description missing", + "flagged" : [ ], + "name" : "compute-admin-fixed-ips", + "tests" : [ "tempest.api.compute.admin/test_fixed_ips.PublicObjectTest.test_list_fixed_ip_details", + "tempest.api.compute.admin/test_fixed_ips.PublicObjectTest.test_list_fixed_ip_details_with_non_admin_user", + "tempest.api.compute.admin/test_fixed_ips.PublicObjectTest.test_set_reserve", + "tempest.api.compute.admin/test_fixed_ips.PublicObjectTest.test_set_unreserve", + "tempest.api.compute.admin/test_fixed_ips.PublicObjectTest.test_set_reserve_with_non_admin_user", + "tempest.api.compute.admin/test_fixed_ips.PublicObjectTest.test_set_unreserve_with_non_admin_user", + "tempest.api.compute.admin/test_fixed_ips.PublicObjectTest.test_set_reserve_with_invalid_ip", + "tempest.api.compute.admin/test_fixed_ips.PublicObjectTest.test_fixed_ip_with_invalid_action" + ] + }, + "compute-admin-flavors" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-flavors description missing", + "flagged" : [ ], + "name" : "compute-admin-flavors", + "tests" : [ "tempest.api.compute.admin/test_flavors_access.PublicObjectTest.test_flavor_access_add_remove", + "tempest.api.compute.admin/test_flavors_access.PublicObjectTest.test_flavor_non_admin_add", + "tempest.api.compute.admin/test_flavors_access.PublicObjectTest.test_flavor_non_admin_remove", + "tempest.api.compute.admin/test_flavors_access.PublicObjectTest.test_add_flavor_access_duplicate", + "tempest.api.compute.admin/test_flavors_access.PublicObjectTest.test_remove_flavor_access_not_found", + "tempest.api.compute.admin/test_flavors_extra_specs.PublicObjectTest.test_flavor_set_get_unset_keys", + "tempest.api.compute.admin/test_flavors_extra_specs.PublicObjectTest.test_flavor_non_admin_set_keys", + "tempest.api.compute.admin/test_flavors_extra_specs.PublicObjectTest.test_flavor_non_admin_get_keys", + "tempest.api.compute.admin/test_flavors_extra_specs.PublicObjectTest.test_flavor_non_admin_unset_keys", + "tempest.api.compute.admin/test_flavors_extra_specs.PublicObjectTest.test_flavor_unset_nonexistent_key", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_create_flavor", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_create_flavor_verify_entry_in_list_details", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_get_flavor_details_for_deleted_flavor", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_create_list_flavor_without_extra_data", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_list_non_public_flavor", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_create_server_with_non_public_flavor", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_list_public_flavor_with_other_user", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_is_public_string_variations", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_create_flavor_using_string_ram", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_invalid_is_public_string", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_create_flavor_as_user", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_delete_flavor_as_user", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_create_flavor_using_invalid_ram", + "tempest.api.compute.admin/test_flavors.PublicObjectTest.test_create_flavor_using_invalid_vcpus" + ] + }, + "compute-admin-hosts" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-hosts description missing", + "flagged" : [ ], + "name" : "compute-admin-hosts", + "tests" : [ "tempest.api.compute.admin/test_hosts.PublicObjectTest.test_list_hosts", + "tempest.api.compute.admin/test_hosts.PublicObjectTest.test_list_hosts_with_zone", + "tempest.api.compute.admin/test_hosts.PublicObjectTest.test_list_hosts_with_non_existent_zone", + "tempest.api.compute.admin/test_hosts.PublicObjectTest.test_list_hosts_with_a_blank_zone", + "tempest.api.compute.admin/test_hosts.PublicObjectTest.test_list_hosts_with_non_admin_user", + "tempest.api.compute.admin/test_hosts.PublicObjectTest.test_show_host_detail", + "tempest.api.compute.admin/test_hosts.PublicObjectTest.test_show_host_detail_with_nonexist_hostname" + ] + }, + "compute-admin-hypervisor" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-hypervisor description missing", + "flagged" : [ ], + "name" : "compute-admin-hypervisor", + "tests" : [ "tempest.api.compute.admin/test_hypervisor.PublicObjectTest.test_get_hypervisor_list", + "tempest.api.compute.admin/test_hypervisor.PublicObjectTest.test_get_hypervisor_list_details", + "tempest.api.compute.admin/test_hypervisor.PublicObjectTest.test_get_hypervisor_show_details", + "tempest.api.compute.admin/test_hypervisor.PublicObjectTest.test_get_hypervisor_show_servers", + "tempest.api.compute.admin/test_hypervisor.PublicObjectTest.test_get_hypervisor_stats", + "tempest.api.compute.admin/test_hypervisor.PublicObjectTest.test_get_hypervisor_uptime", + "tempest.api.compute.admin/test_hypervisor.PublicObjectTest.test_get_hypervisor_list_with_non_admin_user", + "tempest.api.compute.admin/test_hypervisor.PublicObjectTest.test_get_hypervisor_list_details_with_non_admin_user" + ] + }, + "compute-admin-quota" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-quota description missing", + "flagged" : [ ], + "name" : "compute-admin-quota", + "tests" : [ "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_get_default_quotas", + "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_update_all_quota_resources_for_tenant", + "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_get_updated_quotas", + "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_create_server_when_cpu_quota_is_full", + "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_create_server_when_memory_quota_is_full", + "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_update_quota_normal_user", + "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_create_server_when_instances_quota_is_full", + "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_security_groups_exceed_limit", + "tempest.api.compute.admin/test_quotas.PublicObjectTest.test_security_groups_rules_exceed_limit" + ] + }, + "compute-admin-server" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-server description missing", + "flagged" : [ ], + "name" : "compute-admin-server", + "tests" : [ "tempest.api.compute.admin/test_servers.PublicObjectTest.test_list_servers_by_admin", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_list_servers_by_admin_with_all_tenants", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_admin_delete_servers_of_others", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_resize_server_using_overlimit_ram", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_resize_server_using_overlimit_vcpus", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_invalid_state", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_invalid_type", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_nonexistent_server", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_get_server_diagnostics_by_admin", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_get_server_diagnostics_by_non_admin" + ] + }, + "compute-admin-servers-pause" : { "achievements" : [ "deployed", + "tools", + "future", + "complete", + "stable", + "discover", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-servers-pause description missing", + "flagged" : [ ], + "name" : "compute-admin-servers-pause", + "tests" : [ "tempest.api.compute.admin/test_servers.PublicObjectTest.test_list_servers_by_admin", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_list_servers_by_admin_with_all_tenants", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_admin_delete_servers_of_others", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_resize_server_using_overlimit_ram", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_resize_server_using_overlimit_vcpus", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_invalid_state", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_invalid_type", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_nonexistent_server", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_get_server_diagnostics_by_admin", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_get_server_diagnostics_by_non_admin" + ] + }, + "compute-admin-servers-suspend" : { "achievements" : [ "deployed", + "tools", + "future", + "complete", + "stable", + "discover", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-servers-suspend description missing", + "flagged" : [ ], + "name" : "compute-admin-servers-suspend", + "tests" : [ "tempest.api.compute.admin/test_servers.PublicObjectTest.test_list_servers_by_admin", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_list_servers_by_admin_with_all_tenants", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_admin_delete_servers_of_others", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_resize_server_using_overlimit_ram", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_resize_server_using_overlimit_vcpus", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_invalid_state", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_invalid_type", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_reset_state_server_nonexistent_server", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_get_server_diagnostics_by_admin", + "tempest.api.compute.admin/test_servers.PublicObjectTest.test_get_server_diagnostics_by_non_admin" + ] + }, + "compute-admin-services" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "compute-admin-services description missing", + "flagged" : [ ], + "name" : "compute-admin-services", + "tests" : [ "tempest.api.compute.admin/test_services.PublicObjectTest.test_list_services", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_list_services_with_non_admin_user", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_service_binary_name", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_host_name", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_invalid_params", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_service_and_host_name", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_invalid_service_and_valid_host", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_with_valid_service_and_invalid_host", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_service_enable_disable" + ] + }, + "compute-attach-interface" : { "achievements" : [ "discover", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "compute-attach-interface description missing", + "flagged" : [ ], + "name" : "compute-attach-interface", + "tests" : [ "tempest.api.compute.admin/test_services.PublicObjectTest.test_list_services", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_list_services_with_non_admin_user", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_service_binary_name", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_host_name", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_invalid_params", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_service_and_host_name", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_by_invalid_service_and_valid_host", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_get_service_with_valid_service_and_invalid_host", + "tempest.api.compute.admin/test_services.PublicObjectTest.test_service_enable_disable" + ] + }, + "compute-auth" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "compute-auth description missing", + "flagged" : [ ], + "name" : "compute-auth", + "tests" : [ "tempest.api.compute.test_authorization.PublicObjectTest.test_get_metadata_of_alt_account_server_fails" ] + }, + "compute-auth-v3" : { "achievements" : [ "future" ], + "admin" : false, + "core" : false, + "description" : "compute-auth-v3 description missing", + "flagged" : [ ], + "name" : "compute-auth-v3", + "tests" : [ "tempest.api.compute.test_auth_token.PublicObjectTest.test_v3_token" ] + }, + "compute-console-log" : { "achievements" : [ "future", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "compute-console-log description missing", + "flagged" : [ ], + "name" : "compute-console-log", + "tests" : [ "tempest.api.compute.test_auth_token.PublicObjectTest.test_v3_token" ] + }, + "compute-ext-disk-config" : { "achievements" : [ "deployed", + "clients", + "complete", + "discover", + "doc", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "compute-ext-disk-config description missing", + "flagged" : [ ], + "name" : "compute-ext-disk-config", + "tests" : [ "tempest.api.compute.servers/test_disk_config.PublicObjectTest.test_rebuild_server_with_manual_disk_config", + "tempest.api.compute.servers/test_disk_config.PublicObjectTest.test_rebuild_server_with_auto_disk_config", + "tempest.api.compute.servers/test_disk_config.PublicObjectTest.test_resize_server_from_manual_to_auto", + "tempest.api.compute.servers/test_disk_config.PublicObjectTest.test_resize_server_from_auto_to_manual" + ] + }, + "compute-flavors" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "compute-flavors description missing", + "flagged" : [ ], + "name" : "compute-flavors", + "tests" : [ "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_with_detail", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_flavor", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_non_existant_flavor", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_limit_results", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_limit_results", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_using_marker", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_using_marker", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_filter_by_min_disk", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_filter_by_min_ram", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_filter_by_min_disk", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_filter_by_min_ram", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_invalid_minRam_filter", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_invalid_minDisk_filter", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_flavor_details_for_invalid_flavor_id" + ] + }, + "compute-floating-ips" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "compute-floating-ips description missing", + "flagged" : [ ], + "name" : "compute-floating-ips", + "tests" : [ "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_with_detail", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_flavor", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_non_existant_flavor", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_limit_results", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_limit_results", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_using_marker", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_using_marker", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_filter_by_min_disk", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_filter_by_min_ram", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_filter_by_min_disk", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_filter_by_min_ram", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_invalid_minRam_filter", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_invalid_minDisk_filter", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_flavor_details_for_invalid_flavor_id" + ] + }, + "compute-image-metadata" : { "achievements" : [ "deployed", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "compute-image-metadata description missing", + "flagged" : [ ], + "name" : "compute-image-metadata", + "tests" : [ "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_with_detail", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_flavor", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_non_existant_flavor", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_limit_results", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_limit_results", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_using_marker", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_using_marker", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_filter_by_min_disk", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_detailed_filter_by_min_ram", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_filter_by_min_disk", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_list_flavors_filter_by_min_ram", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_invalid_minRam_filter", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_invalid_minDisk_filter", + "tempest.api.compute.flavors/test_flavors.PublicObjectTest.test_get_flavor_details_for_invalid_flavor_id" + ] + }, + "compute-images" : { "achievements" : [ "tools", + "clients", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "compute-images description missing", + "flagged" : [ ], + "name" : "compute-images", + "tests" : [ "tempest.api.compute.test_authorization.PublicObjectTest.test_delete_image_for_alt_account_fails" ] + }, + "compute-instance-actions" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "foundation", + "atomic" + ], + "admin" : false, + "core" : true, + "description" : "compute-instance-actions description missing", + "flagged" : [ ], + "name" : "compute-instance-actions", + "tests" : [ "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_list_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_set_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_update_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_get_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_set_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_delete_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_list_nonexistant_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_update_nonexistant_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_get_nonexistant_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_set_nonexistant_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_set_nonexistant_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_delete_nonexistant_image_metadata_item" + ] + }, + "compute-keypairs" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic" + ], + "admin" : false, + "core" : true, + "description" : "compute-keypairs description missing", + "flagged" : [ ], + "name" : "compute-keypairs", + "tests" : [ "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_list_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_set_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_update_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_get_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_set_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_delete_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_list_nonexistant_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_update_nonexistant_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_get_nonexistant_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_set_nonexistant_image_metadata", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_set_nonexistant_image_metadata_item", + "tempest.api.compute.images/test_image_metadata.PublicObjectTest.test_delete_nonexistant_image_metadata_item" + ] + }, + "compute-limits" : { "achievements" : [ "deployed", + "tools", + "future", + "complete", + "stable", + "discover", + "doc" + ], + "admin" : false, + "core" : false, + "description" : "compute-limits description missing", + "flagged" : [ ], + "name" : "compute-limits", + "tests" : [ "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_absLimits_get", + "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_max_image_meta_exceed_limit" + ] + }, + "compute-live-migration" : { "achievements" : [ "future", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "compute-live-migration description missing", + "flagged" : [ ], + "name" : "compute-live-migration", + "tests" : [ "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_absLimits_get", + "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_max_image_meta_exceed_limit" + ] + }, + "compute-multiple-create" : { "achievements" : [ "future", + "complete", + "stable", + "discover", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "compute-multiple-create description missing", + "flagged" : [ ], + "name" : "compute-multiple-create", + "tests" : [ "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_absLimits_get", + "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_max_image_meta_exceed_limit" + ] + }, + "compute-quotas" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "compute-quotas description missing", + "flagged" : [ ], + "name" : "compute-quotas", + "tests" : [ "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_absLimits_get", + "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_max_image_meta_exceed_limit" + ] + }, + "compute-security-groups" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "doc", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "compute-security-groups description missing", + "flagged" : [ ], + "name" : "compute-security-groups", + "tests" : [ "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_absLimits_get", + "tempest.api.compute.limits/test_absolute_limits.PublicObjectTest.test_max_image_meta_exceed_limit" + ] + }, + "compute-servers" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "compute-servers description missing", + "flagged" : [ ], + "name" : "compute-servers", + "tests" : [ "tempest.api.compute.test_quotas.PublicObjectTest.test_get_quotas", + "tempest.api.compute.test_quotas.PublicObjectTest.test_get_default_quotas" + ] + }, + "compute-servers-metadata" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation" + ], + "admin" : false, + "core" : true, + "description" : "compute-servers-metadata description missing", + "flagged" : [ ], + "name" : "compute-servers-metadata", + "tests" : [ "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_invalid_access_ip_v4_address" ] + }, + "compute-servers-personality" : { "achievements" : [ "deployed", + "complete", + "stable", + "discover", + "doc" + ], + "admin" : false, + "core" : false, + "description" : "compute-servers-personality description missing", + "flagged" : [ ], + "name" : "compute-servers-personality", + "tests" : [ "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_pause_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_unpause_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_unpause_server_invalid_state" + ] + }, + "compute-usage" : { "achievements" : [ "tools", + "complete", + "stable", + "discover", + "doc", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "compute-usage description missing", + "flagged" : [ ], + "name" : "compute-usage", + "tests" : [ "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_server_invalid_state", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_server_invalid_state" + ] + }, + "compute-virtual-interfaces" : { "achievements" : [ "tools", + "clients", + "future", + "complete", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "compute-virtual-interfaces description missing", + "flagged" : [ ], + "name" : "compute-virtual-interfaces", + "tests" : [ "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_server_invalid_state", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_server_invalid_state" + ] + }, + "compute-volume" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "compute-volume description missing", + "flagged" : [ ], + "name" : "compute-volume", + "tests" : [ "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_server_invalid_state", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_server_invalid_state" + ] + }, + "compute-volume-ebs" : { "achievements" : [ ], + "admin" : false, + "core" : false, + "description" : "compute-volume-ebs description missing", + "flagged" : [ ], + "name" : "compute-volume-ebs", + "tests" : [ "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_server_invalid_state", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_server_invalid_state" + ] + }, + "compute-volume-proxy" : { "achievements" : [ ], + "admin" : false, + "core" : false, + "description" : "compute-volume-proxy description missing", + "flagged" : [ ], + "name" : "compute-volume-proxy", + "tests" : [ "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_suspend_server_invalid_state", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_non_existent_server", + "tempest.api.compute.servers/test_servers_negative.PublicObjectTest.test_resume_server_invalid_state" + ] + }, + "identity-admin-roles" : { "achievements" : [ "future", + "complete", + "stable", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-roles description missing", + "flagged" : [ ], + "name" : "identity-admin-roles", + "tests" : [ "tempest.api.identity.admin/test_roles.PublicObjectTest.test_list_roles", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_list_roles_by_unauthorized_user", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_list_roles_request_without_token", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_role_create_delete", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_role_create_blank_name", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_role_create_duplicate", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_assign_user_role", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_assign_user_role_by_unauthorized_user", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_assign_user_role_request_without_token", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_assign_user_role_for_non_existent_user", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_assign_user_role_for_non_existent_role", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_assign_user_role_for_non_existent_tenant", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_assign_duplicate_user_role", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_remove_user_role", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_remove_user_role_by_unauthorized_user", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_remove_user_role_request_without_token", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_remove_user_role_non_existant_user", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_remove_user_role_non_existant_role", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_remove_user_role_non_existant_tenant", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_list_user_roles", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_list_user_roles_by_unauthorized_user", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_list_user_roles_request_without_token", + "tempest.api.identity.admin/test_roles.PublicObjectTest.test_list_user_roles_for_non_existent_user" + ] + }, + "identity-admin-services" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-services description missing", + "flagged" : [ ], + "name" : "identity-admin-services", + "tests" : [ "tempest.api.identity.admin/test_services.PublicObjectTest.test_create_get_delete_service", + "tempest.api.identity.admin/test_services.PublicObjectTest.test_list_services" + ] + }, + "identity-admin-tenants" : { "achievements" : [ "deployed", + "tools", + "clients", + "complete", + "discover", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-tenants description missing", + "flagged" : [ ], + "name" : "identity-admin-tenants", + "tests" : [ "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_list_tenants_by_unauthorized_user", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_list_tenant_request_without_token", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_tenant_delete_by_unauthorized_user", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_tenant_delete_request_without_token", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_delete_non_existent_tenant", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_tenant_create_duplicate", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_create_tenant_by_unauthorized_user", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_create_tenant_request_without_token", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_create_tenant_with_empty_name", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_create_tenants_name_length_over_64", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_update_non_existent_tenant", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_tenant_update_by_unauthorized_user", + "tempest.api.identity.admin/test_tenant_negative.PublicObjectTest.test_tenant_update_request_without_token", + "tempest.api.identity.admin/test_tenants.PublicObjectTest.test_tenant_list_delete", + "tempest.api.identity.admin/test_tenants.PublicObjectTest.test_tenant_create_with_description", + "tempest.api.identity.admin/test_tenants.PublicObjectTest.test_tenant_create_enabled", + "tempest.api.identity.admin/test_tenants.PublicObjectTest.test_tenant_create_not_enabled", + "tempest.api.identity.admin/test_tenants.PublicObjectTest.test_tenant_update_name", + "tempest.api.identity.admin/test_tenants.PublicObjectTest.test_tenant_update_desc", + "tempest.api.identity.admin/test_tenants.PublicObjectTest.test_tenant_update_enable" + ] + }, + "identity-admin-users" : { "achievements" : [ "deployed", + "complete", + "stable", + "discover", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-users description missing", + "flagged" : [ ], + "name" : "identity-admin-users", + "tests" : [ "tempest.api.identity.admin/test_users.PublicObjectTest.test_create_user", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_create_user_by_unauthorized_user", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_create_user_with_empty_name", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_create_user_with_name_length_over_255", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_create_user_with_duplicate_name", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_create_user_for_non_existant_tenant", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_create_user_request_without_a_token", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_create_user_with_enabled_non_bool", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_update_user_for_non_existant_user", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_update_user_request_without_a_token", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_update_user_by_unauthorized_user", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_delete_users_by_unauthorized_user", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_delete_non_existant_user", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_delete_user_request_without_a_token", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_authentication_for_disabled_user", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_authentication_when_tenant_is_disabled", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_authentication_with_invalid_tenant", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_authentication_with_invalid_username", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_authentication_with_invalid_password", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_get_users_by_unauthorized_user", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_get_users_request_without_token", + "tempest.api.identity.admin/test_users_negative.PublicObjectTest.test_list_users_with_invalid_tenant", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_create_user", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_create_user_with_enabled", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_update_user", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_delete_user", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_user_authentication", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_authentication_request_without_token", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_get_users", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_list_users_for_tenant", + "tempest.api.identity.admin/test_users.PublicObjectTest.test_list_users_with_roles_for_tenant" + ] + }, + "identity-admin-v3-credentials" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-credentials description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-credentials", + "tests" : [ "tempest.api.identity.admin/v3/test_endpoints.PublicObjectTest.test_list_endpoints", + "tempest.api.identity.admin/v3/test_endpoints.PublicObjectTest.test_create_list_delete_endpoint", + "tempest.api.identity.admin/v3/test_endpoints.PublicObjectTest.test_update_endpoint" + ] + }, + "identity-admin-v3-domains" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-domains description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-domains", + "tests" : [ "tempest.api.identity.admin/v3/test_domains.PublicObjectTest.test_list_domains", + "tempest.api.identity.admin/v3/test_domains.PublicObjectTest.test_create_update_delete_domain" + ] + }, + "identity-admin-v3-endpoints" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-endpoints description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-endpoints", + "tests" : [ "tempest.api.identity.admin/v3/test_domains.PublicObjectTest.test_list_domains", + "tempest.api.identity.admin/v3/test_domains.PublicObjectTest.test_create_update_delete_domain" + ] + }, + "identity-admin-v3-policies" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-policies description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-policies", + "tests" : [ "tempest.api.identity.admin/v3/test_policies.PublicObjectTest.test_list_policies", + "tempest.api.identity.admin/v3/test_policies.PublicObjectTest.test_create_update_delete_policy" + ] + }, + "identity-admin-v3-projects" : { "achievements" : [ "future", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-projects description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-projects", + "tests" : [ "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_list_delete", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_create_with_description", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_create_enabled", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_create_not_enabled", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_update_name", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_update_desc", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_update_enable", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_associate_user_to_project", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_list_projects_by_unauthorized_user", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_create_duplicate", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_create_project_by_unauthorized_user", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_create_project_with_empty_name", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_create_projects_name_length_over_64", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_project_delete_by_unauthorized_user", + "tempest.api.identity.admin/v3/test_projects.PublicObjectTest.test_delete_non_existent_project" + ] + }, + "identity-admin-v3-roles" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-roles description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-roles", + "tests" : [ "tempest.api.identity.admin/v3/test_users.PublicObjectTest.test_list_user_projects" ] + }, + "identity-admin-v3-services" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-services description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-services", + "tests" : [ "tempest.api.identity.admin/v3/test_users.PublicObjectTest.test_list_user_projects" ] + }, + "identity-admin-v3-tokens" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-tokens description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-tokens", + "tests" : [ "tempest.api.identity.admin/v3/test_users.PublicObjectTest.test_list_user_projects" ] + }, + "identity-admin-v3-users" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "identity-admin-v3-users description missing", + "flagged" : [ ], + "name" : "identity-admin-v3-users", + "tests" : [ "tempest.api.identity.admin/v3/test_tokens.PublicObjectTest.test_tokens", + "tempest.api.identity.admin/v3/test_users.PublicObjectTest.test_user_update" + ] + }, + "identity-non-admin-roles" : { "achievements" : [ "deployed", + "future", + "complete", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "identity-non-admin-roles description missing", + "flagged" : [ ], + "name" : "identity-non-admin-roles", + "tests" : [ "tempest.api.identity.admin/v3/test_tokens.PublicObjectTest.test_tokens", + "tempest.api.identity.admin/v3/test_users.PublicObjectTest.test_user_update" + ] + }, + "images-v1" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "images-v1 description missing", + "flagged" : [ ], + "name" : "images-v1", + "tests" : [ "tempest.api.image.v1/test_images.PublicObjectTest.test_register_with_invalid_container_format", + "tempest.api.image.v1/test_images.PublicObjectTest.test_register_with_invalid_disk_format", + "tempest.api.image.v1/test_images.PublicObjectTest.test_register_then_upload", + "tempest.api.image.v1/test_images.PublicObjectTest.test_register_remote_image", + "tempest.api.image.v1/test_images.PublicObjectTest.test_register_http_image", + "tempest.api.image.v1/test_images.PublicObjectTest.test_register_image_with_min_ram", + "tempest.api.image.v1/test_images.PublicObjectTest.test_index_no_params", + "tempest.api.image.v1/test_images.PublicObjectTest.test_index_disk_format", + "tempest.api.image.v1/test_images.PublicObjectTest.test_index_container_format", + "tempest.api.image.v1/test_images.PublicObjectTest.test_index_max_size", + "tempest.api.image.v1/test_images.PublicObjectTest.test_index_min_size", + "tempest.api.image.v1/test_images.PublicObjectTest.test_index_status_active_detail", + "tempest.api.image.v1/test_images.PublicObjectTest.test_index_name" + ] + }, + "images-v2" : { "achievements" : [ "future", + "complete", + "stable", + "discover", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "images-v2 description missing", + "flagged" : [ ], + "name" : "images-v2", + "tests" : [ "tempest.api.image.v2/test_images.PublicObjectTest.test_register_with_invalid_container_format", + "tempest.api.image.v2/test_images.PublicObjectTest.test_register_with_invalid_disk_format", + "tempest.api.image.v2/test_images.PublicObjectTest.test_register_then_upload", + "tempest.api.image.v2/test_images.PublicObjectTest.test_index_no_params", + "tempest.api.image.v2/test_images.PublicObjectTest.test_get_image_meta_by_null_id" + ] + }, + "networks-extensions" : { "achievements" : [ "future", + "complete", + "stable", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "networks-extensions description missing", + "flagged" : [ ], + "name" : "networks-extensions", + "tests" : [ "tempest.api.network.test_networks.PublicObjectTest.test_create_update_delete_network_subnet", + "tempest.api.network.test_networks.PublicObjectTest.test_show_network", + "tempest.api.network.test_networks.PublicObjectTest.test_list_networks", + "tempest.api.network.test_networks.PublicObjectTest.test_show_subnet", + "tempest.api.network.test_networks.PublicObjectTest.test_list_subnets", + "tempest.api.network.test_networks.PublicObjectTest.test_create_update_delete_port", + "tempest.api.network.test_networks.PublicObjectTest.test_show_port", + "tempest.api.network.test_networks.PublicObjectTest.test_list_ports", + "tempest.api.network.test_networks.PublicObjectTest.test_show_non_existent_network", + "tempest.api.network.test_networks.PublicObjectTest.test_show_non_existent_subnet", + "tempest.api.network.test_networks.PublicObjectTest.test_show_non_existent_port", + "tempest.api.network.test_networks.PublicObjectTest.test_bulk_create_delete_network", + "tempest.api.network.test_networks.PublicObjectTest.test_bulk_create_delete_subnet", + "tempest.api.network.test_networks.PublicObjectTest.test_bulk_create_delete_port" + ] + }, + "networks-floating-ips" : { "achievements" : [ "future", + "discover", + "doc", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "networks-floating-ips description missing", + "flagged" : [ ], + "name" : "networks-floating-ips", + "tests" : [ "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_list_vpn_services", + "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_create_update_delete_vpn_service", + "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_show_vpn_service" + ] + }, + "networks-l2" : { "achievements" : [ "future", + "discover", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "networks-l2 description missing", + "flagged" : [ ], + "name" : "networks-l2", + "tests" : [ "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_list_vpn_services", + "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_create_update_delete_vpn_service", + "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_show_vpn_service" + ] + }, + "networks-l3" : { "achievements" : [ "future", + "discover", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "networks-l3 description missing", + "flagged" : [ ], + "name" : "networks-l3", + "tests" : [ "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_list_vpn_services", + "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_create_update_delete_vpn_service", + "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_show_vpn_service" + ] + }, + "networks-lbaas" : { "achievements" : [ "future", + "discover", + "doc" + ], + "admin" : false, + "core" : false, + "description" : "networks-lbaas description missing", + "flagged" : [ ], + "name" : "networks-lbaas", + "tests" : [ "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_list_vpn_services", + "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_create_update_delete_vpn_service", + "tempest.api.network.test_vpnaas_extensions.PublicObjectTest.test_show_vpn_service" + ] + }, + "networks-quotas" : { "achievements" : [ "future", + "discover" + ], + "admin" : false, + "core" : false, + "description" : "networks-quotas description missing", + "flagged" : [ ], + "name" : "networks-quotas", + "tests" : [ "tempest.api.network.test_quotas.PublicObjectTest.test_quotas" ] + }, + "networks-security-groups" : { "achievements" : [ "future", + "discover", + "doc", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "networks-security-groups description missing", + "flagged" : [ ], + "name" : "networks-security-groups", + "tests" : [ "tempest.api.network.test_quotas.PublicObjectTest.test_quotas" ] + }, + "networks-vpn" : { "achievements" : [ "future", + "discover" + ], + "admin" : false, + "core" : false, + "description" : "networks-vpn description missing", + "flagged" : [ ], + "name" : "networks-vpn", + "tests" : [ "tempest.api.network.test_quotas.PublicObjectTest.test_quotas" ] + }, + "objectstore-acct-services" : { "achievements" : [ "deployed", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "objectstore-acct-services description missing", + "flagged" : [ ], + "name" : "objectstore-acct-services", + "tests" : [ "tempest.api.object_storage.test_account_services.PublicObjectTest.test_list_containers", + "tempest.api.object_storage.test_account_services.PublicObjectTest.test_list_containers_with_limit", + "tempest.api.object_storage.test_account_services.PublicObjectTest.test_list_containers_with_marker", + "tempest.api.object_storage.test_account_services.PublicObjectTest.test_list_containers_with_end_marker", + "tempest.api.object_storage.test_account_services.PublicObjectTest.test_list_containers_with_limit_and_marker", + "tempest.api.object_storage.test_account_services.PublicObjectTest.test_list_account_metadata", + "tempest.api.object_storage.test_account_services.PublicObjectTest.test_create_and_delete_account_metadata", + "tempest.api.object_storage.test_account_services.PublicObjectTest.test_list_containers_with_non_authorized_user" + ] + }, + "objectstore-container" : { "achievements" : [ "tools", + "clients", + "future", + "complete", + "stable", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "objectstore-container description missing", + "flagged" : [ ], + "name" : "objectstore-container", + "tests" : [ "tempest.api.object_storage.test_container_sync.PublicObjectTest.test_container_synchronization" ] + }, + "objectstore-container-acl" : { "achievements" : [ "deployed", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "objectstore-container-acl description missing", + "flagged" : [ ], + "name" : "objectstore-container-acl", + "tests" : [ "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_write_object_without_using_creds", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_delete_object_without_using_creds", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_write_object_with_non_authorized_user", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_read_object_with_non_authorized_user", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_delete_object_with_non_authorized_user", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_read_object_without_rights", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_write_object_without_rights", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_read_object_with_rights", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_write_object_with_rights", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_write_object_without_write_rights", + "tempest.api.object_storage.test_container_acl.PublicObjectTest.test_delete_object_without_write_rights" + ] + }, + "objectstore-container-quota" : { "achievements" : [ "deployed", + "future", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "objectstore-container-quota description missing", + "flagged" : [ ], + "name" : "objectstore-container-quota", + "tests" : [ "tempest.api.object_storage.test_container_quotas.PublicObjectTest.test_upload_valid_object", + "tempest.api.object_storage.test_container_quotas.PublicObjectTest.test_upload_large_object", + "tempest.api.object_storage.test_container_quotas.PublicObjectTest.test_upload_too_many_objects" + ] + }, + "objectstore-container-staticweb" : { "achievements" : [ "deployed", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "objectstore-container-staticweb description missing", + "flagged" : [ ], + "name" : "objectstore-container-staticweb", + "tests" : [ "tempest.api.object_storage.test_container_staticweb.PublicObjectTest.test_web_index", + "tempest.api.object_storage.test_container_staticweb.PublicObjectTest.test_web_listing" + ] + }, + "objectstore-object" : { "achievements" : [ "tools", + "clients", + "future", + "complete", + "stable", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "objectstore-object description missing", + "flagged" : [ ], + "name" : "objectstore-object", + "tests" : [ "tempest.api.object_storage.test_object_expiry.PublicObjectTest.test_get_object_after_expiry_time", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_create_object", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_delete_object", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_object_metadata", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_get_object", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_copy_object_in_same_container", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_copy_object_to_itself", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_copy_object_2d_way", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_copy_object_across_containers", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_object_upload_in_segments", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_get_object_if_different", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_access_public_container_object_without_using_creds", + "tempest.api.object_storage.test_object_services.PublicObjectTest.test_access_public_object_with_another_user_creds", + "tempest.api.object_storage.test_object_temp_url.PublicObjectTest.test_get_object_using_temp_url", + "tempest.api.object_storage.test_object_temp_url.PublicObjectTest.test_put_object_using_temp_url", + "tempest.api.object_storage.test_object_temp_url.PublicObjectTest.test_get_object_after_expiration_time", + "tempest.api.object_storage.test_object_version.PublicObjectTest.test_versioned_container" + ] + }, + "objectstore-quotas" : { "achievements" : [ "deployed", + "future", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "objectstore-quotas description missing", + "flagged" : [ ], + "name" : "objectstore-quotas", + "tests" : [ "tempest.api.object_storage.test_account_quotas.PublicObjectTest.test_upload_valid_object", + "tempest.api.object_storage.test_account_quotas.PublicObjectTest.test_upload_large_object", + "tempest.api.object_storage.test_account_quotas.PublicObjectTest.test_admin_modify_quota", + "tempest.api.object_storage.test_account_quotas.PublicObjectTest.test_user_modify_quota" + ] + }, + "orch-stacks" : { "achievements" : [ "doc", + "foundation" + ], + "admin" : false, + "core" : false, + "description" : "orch-stacks description missing", + "flagged" : [ ], + "name" : "orch-stacks", + "tests" : [ "tempest.api.orchestration.stacks/test_limits.PublicObjectTest.test_exceed_max_template_size_fails", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_resources", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_network", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_subnet", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_router_interface", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_server", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_list", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_show", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_resources", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_resource", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_resource_metadata", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_events", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_event", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_can_log_into_created_server", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_stack_wait_condition_data", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_list_responds", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_crud_no_resources", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_show_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template_url" + ] + }, + "volume" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "volume description missing", + "flagged" : [ ], + "name" : "volume", + "tests" : [ "tempest.api.orchestration.stacks/test_limits.PublicObjectTest.test_exceed_max_template_size_fails", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_resources", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_network", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_subnet", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_router_interface", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_server", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_list", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_show", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_resources", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_resource", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_resource_metadata", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_events", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_event", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_can_log_into_created_server", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_stack_wait_condition_data", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_list_responds", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_crud_no_resources", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_show_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template_url" + ] + }, + "volume-extra-specs" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "volume-extra-specs description missing", + "flagged" : [ ], + "name" : "volume-extra-specs", + "tests" : [ "tempest.api.orchestration.stacks/test_limits.PublicObjectTest.test_exceed_max_template_size_fails", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_resources", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_network", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_subnet", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_router_interface", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_server", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_list", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_show", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_resources", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_resource", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_resource_metadata", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_events", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_event", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_can_log_into_created_server", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_stack_wait_condition_data", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_list_responds", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_crud_no_resources", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_show_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template_url" + ] + }, + "volume-multi-backend" : { "achievements" : [ "future", + "complete", + "stable", + "doc", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "volume-multi-backend description missing", + "flagged" : [ ], + "name" : "volume-multi-backend", + "tests" : [ "tempest.api.orchestration.stacks/test_limits.PublicObjectTest.test_exceed_max_template_size_fails", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_resources", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_network", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_subnet", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_router_interface", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_server", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_list", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_show", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_resources", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_resource", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_resource_metadata", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_events", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_event", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_can_log_into_created_server", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_stack_wait_condition_data", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_list_responds", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_crud_no_resources", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_show_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template_url" + ] + }, + "volume-snapshots" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "volume-snapshots description missing", + "flagged" : [ ], + "name" : "volume-snapshots", + "tests" : [ "tempest.api.orchestration.stacks/test_limits.PublicObjectTest.test_exceed_max_template_size_fails", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_resources", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_network", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_subnet", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_router_interface", + "tempest.api.orchestration.stacks/test_neutron_resources.PublicObjectTest.test_created_server", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_list", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_stack_show", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_resources", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_resource", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_resource_metadata", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_list_events", + "tempest.api.orchestration.stacks/test_non_empty_stack.PublicObjectTest.test_show_event", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_can_log_into_created_server", + "tempest.api.orchestration.stacks/test_server_cfn_init.PublicObjectTest.test_stack_wait_condition_data", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_list_responds", + "tempest.api.orchestration.stacks/test_stacks.PublicObjectTest.test_stack_crud_no_resources", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_show_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template", + "tempest.api.orchestration.stacks/test_templates.PublicObjectTest.test_validate_template_url" + ] + } + } +} \ No newline at end of file diff --git a/havana/capabilities.json b/havana/capabilities.json deleted file mode 100644 index d2af05d6..00000000 --- a/havana/capabilities.json +++ /dev/null @@ -1,856 +0,0 @@ -{ "block" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "volume", - "tests" : [ "test_volume_type_extra_spec_create_get_delete", - "test_create_with_nonexistent_volume_type", - "test_create_with_empty_name", - "test_get_nonexistent_type_id", - "test_delete_nonexistent_type_id", - "test_volume_type_list", - "test_create_get_delete_volume_with_volume_type_and_extra_specs", - "test_volume_type_create_delete", - "test_volume_type_create_get", - "test_attach_detach_volume_to_instance", - "test_get_volume_attachment", - "test_volume_upload", - "test_volume_get_metadata_none", - "test_volume_create_get_update_delete", - "test_volume_create_get_update_delete_from_image", - "test_volume_create_get_update_delete_as_clone", - "test_volume_list", - "test_volume_list_with_details", - "test_volume_list_by_name", - "test_volume_list_details_by_name", - "test_volumes_list_by_status", - "test_volumes_list_details_by_status", - "test_volumes_list_by_availability_zone", - "test_volumes_list_details_by_availability_zone", - "test_volume_get_nonexistant_volume_id", - "test_volume_delete_nonexistant_volume_id", - "test_create_volume_with_invalid_size", - "test_create_volume_with_out_passing_size", - "test_create_volume_with_size_zero", - "test_create_volume_with_size_negative", - "test_update_volume_with_nonexistant_volume_id", - "test_update_volume_with_invalid_volume_id", - "test_update_volume_with_empty_volume_id", - "test_get_invalid_volume_id", - "test_get_volume_without_passing_volume_id", - "test_delete_invalid_volume_id", - "test_delete_volume_without_passing_volume_id", - "test_attach_volumes_with_nonexistent_volume_id", - "test_detach_volumes_with_invalid_volume_id" - ] - }, - "block-ext-multi-backend" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "volume", - "tests" : [ "test_backend_name_reporting", - "test_backend_name_distinction" - ] - }, - "block-ext-volume-extra-specs" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "volume", - "tests" : [ "test_update_no_body", - "test_update_nonexistent_extra_spec_id", - "test_update_none_extra_spec_id", - "test_update_multiple_extra_spec", - "test_create_nonexistent_type_id", - "test_create_none_body", - "test_create_invalid_body", - "test_delete_nonexistent_volume_type_id", - "test_list_nonexistent_volume_type_id", - "test_get_nonexistent_volume_type_id", - "test_get_nonexistent_extra_spec_id", - "test_volume_type_extra_specs_list", - "test_volume_type_extra_specs_update" - ] - }, - "block-snapshots" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "volume", - "tests" : [ "test_snapshot_create_get_list_update_delete", - "test_volume_from_snapshot" - ] - }, - "compute-admin-aggregates" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_delete_server_pass_id_exceeding_length_limit" ] - }, - "compute-admin-avail-zone" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_get_availability_zone_list", - "test_get_availability_zone_list_detail", - "test_get_availability_zone_list_with_non_admin_user", - "test_get_availability_zone_list_detail_with_non_admin_user" - ] - }, - "compute-admin-fixed-ips" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_fixed_ip_details", - "test_list_fixed_ip_details_with_non_admin_user", - "test_set_reserve", - "test_set_unreserve", - "test_set_reserve_with_non_admin_user", - "test_set_unreserve_with_non_admin_user", - "test_set_reserve_with_invalid_ip", - "test_fixed_ip_with_invalid_action" - ] - }, - "compute-admin-flavors" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_flavor_access_add_remove", - "test_flavor_non_admin_add", - "test_flavor_non_admin_remove", - "test_add_flavor_access_duplicate", - "test_remove_flavor_access_not_found", - "test_flavor_set_get_unset_keys", - "test_flavor_non_admin_set_keys", - "test_flavor_non_admin_get_keys", - "test_flavor_non_admin_unset_keys", - "test_flavor_unset_nonexistent_key", - "test_create_flavor", - "test_create_flavor_verify_entry_in_list_details", - "test_get_flavor_details_for_deleted_flavor", - "test_create_list_flavor_without_extra_data", - "test_list_non_public_flavor", - "test_create_server_with_non_public_flavor", - "test_list_public_flavor_with_other_user", - "test_is_public_string_variations", - "test_create_flavor_using_string_ram", - "test_invalid_is_public_string", - "test_create_flavor_as_user", - "test_delete_flavor_as_user", - "test_create_flavor_using_invalid_ram", - "test_create_flavor_using_invalid_vcpus" - ] - }, - "compute-admin-hosts" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_hosts", - "test_list_hosts_with_zone", - "test_list_hosts_with_non_existent_zone", - "test_list_hosts_with_a_blank_zone", - "test_list_hosts_with_non_admin_user", - "test_show_host_detail", - "test_show_host_detail_with_nonexist_hostname" - ] - }, - "compute-admin-hypervisor" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_get_hypervisor_list", - "test_get_hypervisor_list_details", - "test_get_hypervisor_show_details", - "test_get_hypervisor_show_servers", - "test_get_hypervisor_stats", - "test_get_hypervisor_uptime", - "test_get_hypervisor_list_with_non_admin_user", - "test_get_hypervisor_list_details_with_non_admin_user" - ] - }, - "compute-admin-quota" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_get_default_quotas", - "test_update_all_quota_resources_for_tenant", - "test_get_updated_quotas", - "test_create_server_when_cpu_quota_is_full", - "test_create_server_when_memory_quota_is_full", - "test_update_quota_normal_user", - "test_create_server_when_instances_quota_is_full", - "test_security_groups_exceed_limit", - "test_security_groups_rules_exceed_limit" - ] - }, - "compute-admin-server" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_servers_by_admin", - "test_list_servers_by_admin_with_all_tenants", - "test_admin_delete_servers_of_others", - "test_resize_server_using_overlimit_ram", - "test_resize_server_using_overlimit_vcpus", - "test_reset_state_server", - "test_reset_state_server_invalid_state", - "test_reset_state_server_invalid_type", - "test_reset_state_server_nonexistent_server", - "test_get_server_diagnostics_by_admin", - "test_get_server_diagnostics_by_non_admin" - ] - }, - "compute-admin-services" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_services", - "test_list_services_with_non_admin_user", - "test_get_service_by_service_binary_name", - "test_get_service_by_host_name", - "test_get_service_by_invalid_params", - "test_get_service_by_service_and_host_name", - "test_get_service_by_invalid_service_and_valid_host", - "test_get_service_with_valid_service_and_invalid_host", - "test_service_enable_disable" - ] - }, - "compute-auth" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_get_metadata_of_alt_account_server_fails" ] - }, - "compute-auth-alt-account" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_delete_metadata_of_alt_account_server_fails", - "test_delete_metadata_of_alt_account_image_fails" - ] - }, - "compute-auth-v3" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_v3_token" ] - }, - "compute-ext-attach-interface" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_create_list_show_delete_interfaces" ] - }, - "compute-ext-console-log" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_get_console_output_of_alt_account_server_fails" ] - }, - "compute-ext-disk-config" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_rebuild_server_with_manual_disk_config", - "test_rebuild_server_with_auto_disk_config", - "test_resize_server_from_manual_to_auto", - "test_resize_server_from_auto_to_manual" - ] - }, - "compute-ext-floating-ips" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_allocate_floating_ip", - "test_allocate_floating_ip_from_nonexistent_pool", - "test_delete_floating_ip", - "test_associate_disassociate_floating_ip", - "test_delete_nonexistant_floating_ip", - "test_associate_nonexistant_floating_ip", - "test_dissociate_nonexistant_floating_ip", - "test_associate_already_associated_floating_ip", - "test_associate_ip_to_server_without_passing_floating_ip", - "test_list_floating_ips", - "test_get_floating_ip_details", - "test_get_nonexistant_floating_ip_details", - "test_list_floating_ip_pools" - ] - }, - "compute-ext-image-metadata" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_get_metadata_of_alt_account_image_fails" ] - }, - "compute-ext-instance-actions" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_instance_actions", - "test_get_instance_action", - "test_list_instance_actions_invalid_server", - "test_get_instance_action_invalid_request" - ] - }, - "compute-ext-keypairs" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_create_keypair_in_analt_user_tenant", - "test_get_keypair_of_alt_account_fails" - ] - }, - "compute-ext-live-migration" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_live_block_migration", - "test_invalid_host_for_migration", - "test_iscsi_volume" - ] - }, - "compute-ext-multiple-create" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_multiple_create", - "test_min_count_less_than_one", - "test_min_count_non_integer", - "test_max_count_less_than_one", - "test_max_count_non_integer", - "test_max_count_less_than_min_count", - "test_multiple_create_with_reservation_return" - ] - }, - "compute-ext-personality" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_personality_file_contents_not_encoded" ] - }, - "compute-ext-rescue" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_rescued_vm_reboot", - "test_rescue_non_existent_server" - ] - }, - "compute-ext-rescue-floating-ips" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_rescued_vm_associate_dissociate_floating_ip" ] - }, - "compute-ext-rescue-pause" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_rescue_paused_instance" ] - }, - "compute-ext-rescue-sec-groups" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_rescued_vm_add_remove_security_group" ] - }, - "compute-ext-rescue-volume" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_rescued_vm_rebuild", - "test_rescued_vm_attach_volume", - "test_rescued_vm_detach_volume" - ] - }, - "compute-ext-security-groups" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_delete_image_for_alt_account_fails", - "test_create_security_group_in_analt_user_tenant", - "test_get_security_group_of_alt_account_fails", - "test_delete_security_group_of_alt_account_fails", - "test_create_security_group_rule_in_analt_user_tenant", - "test_delete_security_group_rule_of_alt_account_fails" - ] - }, - "compute-ext-simple-tenant-usage" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_usage_all_tenants", - "test_get_usage_tenant", - "test_get_usage_tenant_with_non_admin_user", - "test_get_usage_tenant_with_empty_tenant_id", - "test_get_usage_tenant_with_invalid_date", - "test_list_usage_all_tenants_with_non_admin_user" - ] - }, - "compute-ext-virtual-interfaces" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_virtual_interfaces", - "test_list_virtual_interfaces_invalid_server_id" - ] - }, - "compute-ext-volume" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_get_invalid_volume_id", - "test_get_volume_without_passing_volume_id" - ] - }, - "compute-ext-volume-proxy" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_delete_invalid_volume_id", - "test_delete_volume_without_passing_volume_id" - ] - }, - "compute-flavors" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_flavors", - "test_list_flavors_with_detail", - "test_get_flavor", - "test_get_non_existant_flavor", - "test_list_flavors_limit_results", - "test_list_flavors_detailed_limit_results", - "test_list_flavors_using_marker", - "test_list_flavors_detailed_using_marker", - "test_list_flavors_detailed_filter_by_min_disk", - "test_list_flavors_detailed_filter_by_min_ram", - "test_list_flavors_filter_by_min_disk", - "test_list_flavors_filter_by_min_ram", - "test_invalid_minRam_filter", - "test_invalid_minDisk_filter", - "test_get_flavor_details_for_invalid_flavor_id" - ] - }, - "compute-images" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_create_image_specify_multibyte_character_image_name", - "test_create_image_specify_invalid_metadata", - "test_create_image_specify_metadata_over_limits", - "test_create_delete_image", - "test_create_second_image_when_first_image_is_being_saved", - "test_create_image_specify_name_over_256_chars", - "test_delete_image_that_is_not_yet_active", - "test_create_image_from_deleted_server", - "test_create_image_from_invalid_server", - "test_create_image_from_stopped_server", - "test_delete_saving_image", - "test_create_image_specify_uuid_35_characters_or_less", - "test_create_image_specify_uuid_37_characters_or_more", - "test_delete_image_with_invalid_image_id", - "test_delete_non_existent_image", - "test_delete_image_blank_id", - "test_delete_image_non_hex_string_id", - "test_delete_image_negative_image_id", - "test_delete_image_id_is_over_35_character_limit", - "test_get_image_not_existing", - "test_list_images_filter_by_status", - "test_list_images_filter_by_name", - "test_list_images_filter_by_server_id", - "test_list_images_filter_by_server_ref", - "test_list_images_filter_by_type", - "test_list_images_limit_results", - "test_list_images_filter_by_changes_since", - "test_list_images_with_detail_filter_by_status", - "test_list_images_with_detail_filter_by_name", - "test_list_images_with_detail_limit_results", - "test_list_images_with_detail_filter_by_server_ref", - "test_list_images_with_detail_filter_by_type", - "test_list_images_with_detail_filter_by_changes_since", - "test_get_nonexistant_image", - "test_get_image", - "test_list_images", - "test_list_images_with_detail" - ] - }, - "compute-images-metadata" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_list_image_metadata", - "test_set_image_metadata", - "test_update_image_metadata", - "test_get_image_metadata_item", - "test_set_image_metadata_item", - "test_delete_image_metadata_item", - "test_list_nonexistant_image_metadata", - "test_update_nonexistant_image_metadata", - "test_get_nonexistant_image_metadata_item", - "test_set_nonexistant_image_metadata", - "test_set_nonexistant_image_metadata_item", - "test_delete_nonexistant_image_metadata_item" - ] - }, - "compute-limits" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_absLimits_get", - "test_max_image_meta_exceed_limit" - ] - }, - "compute-servers" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_get_quotas", - "test_get_default_quotas" - ] - }, - "compute-servers-access-ip" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_invalid_access_ip_v4_address" ] - }, - "compute-servers-pause" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_pause_non_existent_server", - "test_unpause_non_existent_server", - "test_unpause_server_invalid_state" - ] - }, - "compute-servers-suspend" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "compute", - "tests" : [ "test_suspend_non_existent_server", - "test_suspend_server_invalid_state", - "test_resume_non_existent_server", - "test_resume_server_invalid_state" - ] - }, - "identity-admin-roles" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_list_roles", - "test_list_roles_by_unauthorized_user", - "test_list_roles_request_without_token", - "test_role_create_delete", - "test_role_create_blank_name", - "test_role_create_duplicate", - "test_assign_user_role", - "test_assign_user_role_by_unauthorized_user", - "test_assign_user_role_request_without_token", - "test_assign_user_role_for_non_existent_user", - "test_assign_user_role_for_non_existent_role", - "test_assign_user_role_for_non_existent_tenant", - "test_assign_duplicate_user_role", - "test_remove_user_role", - "test_remove_user_role_by_unauthorized_user", - "test_remove_user_role_request_without_token", - "test_remove_user_role_non_existant_user", - "test_remove_user_role_non_existant_role", - "test_remove_user_role_non_existant_tenant", - "test_list_user_roles", - "test_list_user_roles_by_unauthorized_user", - "test_list_user_roles_request_without_token", - "test_list_user_roles_for_non_existent_user" - ] - }, - "identity-admin-services" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_create_get_delete_service", - "test_list_services" - ] - }, - "identity-admin-tenants" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_list_tenants_by_unauthorized_user", - "test_list_tenant_request_without_token", - "test_tenant_delete_by_unauthorized_user", - "test_tenant_delete_request_without_token", - "test_delete_non_existent_tenant", - "test_tenant_create_duplicate", - "test_create_tenant_by_unauthorized_user", - "test_create_tenant_request_without_token", - "test_create_tenant_with_empty_name", - "test_create_tenants_name_length_over_64", - "test_update_non_existent_tenant", - "test_tenant_update_by_unauthorized_user", - "test_tenant_update_request_without_token", - "test_tenant_list_delete", - "test_tenant_create_with_description", - "test_tenant_create_enabled", - "test_tenant_create_not_enabled", - "test_tenant_update_name", - "test_tenant_update_desc", - "test_tenant_update_enable" - ] - }, - "identity-admin-users" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_create_user", - "test_create_user_by_unauthorized_user", - "test_create_user_with_empty_name", - "test_create_user_with_name_length_over_255", - "test_create_user_with_duplicate_name", - "test_create_user_for_non_existant_tenant", - "test_create_user_request_without_a_token", - "test_create_user_with_enabled_non_bool", - "test_update_user_for_non_existant_user", - "test_update_user_request_without_a_token", - "test_update_user_by_unauthorized_user", - "test_delete_users_by_unauthorized_user", - "test_delete_non_existant_user", - "test_delete_user_request_without_a_token", - "test_authentication_for_disabled_user", - "test_authentication_when_tenant_is_disabled", - "test_authentication_with_invalid_tenant", - "test_authentication_with_invalid_username", - "test_authentication_with_invalid_password", - "test_get_users_by_unauthorized_user", - "test_get_users_request_without_token", - "test_list_users_with_invalid_tenant", - "test_create_user", - "test_create_user_with_enabled", - "test_update_user", - "test_delete_user", - "test_user_authentication", - "test_authentication_request_without_token", - "test_get_users", - "test_list_users_for_tenant", - "test_list_users_with_roles_for_tenant" - ] - }, - "identity-admin-v3" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_list_endpoints", - "test_create_list_delete_endpoint", - "test_update_endpoint" - ] - }, - "identity-admin-v3-domains" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_list_domains", - "test_create_update_delete_domain" - ] - }, - "identity-admin-v3-policies" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_list_policies", - "test_create_update_delete_policy" - ] - }, - "identity-admin-v3-projects" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_project_list_delete", - "test_project_create_with_description", - "test_project_create_enabled", - "test_project_create_not_enabled", - "test_project_update_name", - "test_project_update_desc", - "test_project_update_enable", - "test_associate_user_to_project", - "test_list_projects_by_unauthorized_user", - "test_project_create_duplicate", - "test_create_project_by_unauthorized_user", - "test_create_project_with_empty_name", - "test_create_projects_name_length_over_64", - "test_project_delete_by_unauthorized_user", - "test_delete_non_existent_project" - ] - }, - "identity-admin-v3-roles" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_list_user_projects" ] - }, - "identity-admin-v3-users" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "identity", - "tests" : [ "test_tokens", - "test_user_update" - ] - }, - "images-v1" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "image", - "tests" : [ "test_register_with_invalid_container_format", - "test_register_with_invalid_disk_format", - "test_register_then_upload", - "test_register_remote_image", - "test_register_http_image", - "test_register_image_with_min_ram", - "test_index_no_params", - "test_index_disk_format", - "test_index_container_format", - "test_index_max_size", - "test_index_min_size", - "test_index_status_active_detail", - "test_index_name" - ] - }, - "images-v1-shared-images" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "image", - "tests" : [ "test_add_image_member", - "test_get_shared_images", - "test_remove_member", - "test_add_member_with_non_existing_image", - "test_delete_member_with_non_existing_image", - "test_delete_member_with_non_existing_tenant" - ] - }, - "images-v2" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "image", - "tests" : [ "test_register_with_invalid_container_format", - "test_register_with_invalid_disk_format", - "test_register_then_upload", - "test_index_no_params", - "test_get_image_meta_by_null_id" - ] - }, - "networks" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "network", - "tests" : [ "test_create_update_delete_network_subnet", - "test_show_network", - "test_list_networks", - "test_show_subnet", - "test_list_subnets", - "test_create_update_delete_port", - "test_show_port", - "test_list_ports", - "test_show_non_existent_network", - "test_show_non_existent_subnet", - "test_show_non_existent_port", - "test_bulk_create_delete_network", - "test_bulk_create_delete_subnet", - "test_bulk_create_delete_port" - ] - }, - "networks-ext-floating-ips" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "network", - "tests" : [ "test_create_list_show_update_delete_floating_ip" ] - }, - "networks-ext-lbaas" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "network", - "tests" : [ "test_list_vips", - "test_create_update_delete_pool_vip", - "test_show_vip", - "test_show_pool", - "test_list_pools", - "test_list_members", - "test_create_update_delete_member", - "test_show_member", - "test_list_health_monitors", - "test_create_update_delete_health_monitor", - "test_show_health_monitor", - "test_associate_disassociate_health_monitor_with_pool" - ] - }, - "networks-ext-router" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "network", - "tests" : [ "test_create_show_list_update_delete_router", - "test_add_remove_router_interface_with_subnet_id", - "test_add_remove_router_interface_with_port_id" - ] - }, - "networks-ext-security-groups" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "network", - "tests" : [ "test_show_non_existent_security_group", - "test_show_non_existent_security_group_rule", - "test_list_security_groups", - "test_create_show_delete_security_group", - "test_create_show_delete_security_group_rule" - ] - }, - "networks-ext-vpn" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "network", - "tests" : [ "test_list_vpn_services", - "test_create_update_delete_vpn_service", - "test_show_vpn_service" - ] - }, - "networks-quotas" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "network", - "tests" : [ "test_quotas" ] - }, - "objectstore-acct-services" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "object_storage", - "tests" : [ "test_list_containers", - "test_list_containers_with_limit", - "test_list_containers_with_marker", - "test_list_containers_with_end_marker", - "test_list_containers_with_limit_and_marker", - "test_list_account_metadata", - "test_create_and_delete_account_metadata", - "test_list_containers_with_non_authorized_user" - ] - }, - "objectstore-container" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "object_storage", - "tests" : [ "test_container_synchronization" ] - }, - "objectstore-container-acl" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "object_storage", - "tests" : [ "test_write_object_without_using_creds", - "test_delete_object_without_using_creds", - "test_write_object_with_non_authorized_user", - "test_read_object_with_non_authorized_user", - "test_delete_object_with_non_authorized_user", - "test_read_object_without_rights", - "test_write_object_without_rights", - "test_read_object_with_rights", - "test_write_object_with_rights", - "test_write_object_without_write_rights", - "test_delete_object_without_write_rights" - ] - }, - "objectstore-container-quota" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "object_storage", - "tests" : [ "test_upload_valid_object", - "test_upload_large_object", - "test_upload_too_many_objects" - ] - }, - "objectstore-container-staticweb" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "object_storage", - "tests" : [ "test_web_index", - "test_web_listing" - ] - }, - "objectstore-object" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "object_storage", - "tests" : [ "test_get_object_after_expiry_time", - "test_create_object", - "test_delete_object", - "test_object_metadata", - "test_get_object", - "test_copy_object_in_same_container", - "test_copy_object_to_itself", - "test_copy_object_2d_way", - "test_copy_object_across_containers", - "test_object_upload_in_segments", - "test_get_object_if_different", - "test_access_public_container_object_without_using_creds", - "test_access_public_object_with_another_user_creds", - "test_get_object_using_temp_url", - "test_put_object_using_temp_url", - "test_get_object_after_expiration_time", - "test_versioned_container" - ] - }, - "objectstore-quotas" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "object_storage", - "tests" : [ "test_upload_valid_object", - "test_upload_large_object", - "test_admin_modify_quota", - "test_user_modify_quota" - ] - }, - "orchestration" : { "core_test_count" : 0, - "description" : "TBD", - "domain" : "orchestration", - "tests" : [ "test_exceed_max_template_size_fails", - "test_created_resources", - "test_created_network", - "test_created_subnet", - "test_created_router_interface", - "test_created_server", - "test_stack_list", - "test_stack_show", - "test_list_resources", - "test_show_resource", - "test_resource_metadata", - "test_list_events", - "test_show_event", - "test_can_log_into_created_server", - "test_stack_wait_condition_data", - "test_stack_list_responds", - "test_stack_crud_no_resources", - "test_show_template", - "test_validate_template", - "test_validate_template_url" - ] - } -} \ No newline at end of file diff --git a/havana/coretests.json b/havana/coretests.json deleted file mode 100644 index dbbfa624..00000000 --- a/havana/coretests.json +++ /dev/null @@ -1,372 +0,0 @@ -{ "criteria" : { "atomic" : { "Description" : "Capabilities is unique and cannot be built out of other must-pass capabilities", - "name" : "Atomic" - }, - "clients" : { "Description" : "Candidates are widely used capabilities: Should be included if part of common libraries (Fog, Apache jclouds, etc)", - "name" : "Used by Clients" - }, - "complete" : { "Description" : "Where the code being tested has a designated area of alternate implementation (extension framework) as per the Core Principles, there should be parity in capability tested across extension implementations. This also implies that the capability test is not configuration specific or locked to non-open technology.", - "name" : "Complete" - }, - "core" : { "Description" : "A test that is a must-pass test should stay a must-pass test. This make makes core capabilities sticky release per release. Leaving Core is disruptive to the ecosystem", - "name" : "Core in Last Release" - }, - "deployed" : { "Description" : "Candidates are widely deployed capabilities. We favor capabilities that are supported by multiple public cloud providers and private cloud products.", - "name" : "Widely Deployed" - }, - "discover" : { "Description" : "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection)", - "name" : "Discoverable" - }, - "doc" : { "Description" : "Should be well documented, particularly the expected behavior. This can be a very subjective measure and we expect to refine this definition over time.", - "name" : "Documented" - }, - "foundation" : { "Description" : "Test capabilities that are required by other must-pass tests and/or depended on by many other capabilities", - "name" : "Foundation" - }, - "future" : { "Description" : "Should reflect future technical direction (from the project technical teams and the TC) and help manage deprecated capabilities.", - "name" : "Future Direction" - }, - "proximity" : { "Description" : "Sometimes called a Test Cluster, selects for Capabilities that are related to Core Capabilities. This helps ensure that related capabilities are managed together.", - "name" : "Proximity" - }, - "stable" : { "Description" : "Test is required stable for >2 releases because we don't want core capabilities that do not have dependable APIs.", - "name" : "Stable" - }, - "tools" : { "Description" : "Candidates are widely used capabilities:Should be included if supported by common tools (RightScale, Scalr, CloudForms, ...)", - "name" : "Used by Tools" - } - }, - "tests" : { "test_access_public_container_object_without_using_creds" : { "file" : "test_object_services.py" }, - "test_access_public_object_with_another_user_creds" : { "file" : "test_object_services.py" }, - "test_add_image_member" : { "file" : "v1/test_image_members.py" }, - "test_add_member_with_non_existing_image" : { "file" : "v1/test_image_members.py" }, - "test_add_remove_router_interface_with_port_id" : { "file" : "test_routers.py" }, - "test_add_remove_router_interface_with_subnet_id" : { "file" : "test_routers.py" }, - "test_admin_modify_quota" : { "file" : "test_account_quotas.py" }, - "test_assign_duplicate_user_role" : { "file" : "admin/test_roles.py" }, - "test_assign_user_role" : { "file" : "admin/test_roles.py" }, - "test_assign_user_role_by_unauthorized_user" : { "file" : "admin/test_roles.py" }, - "test_assign_user_role_for_non_existent_role" : { "file" : "admin/test_roles.py" }, - "test_assign_user_role_for_non_existent_tenant" : { "file" : "admin/test_roles.py" }, - "test_assign_user_role_for_non_existent_user" : { "file" : "admin/test_roles.py" }, - "test_assign_user_role_request_without_token" : { "file" : "admin/test_roles.py" }, - "test_associate_disassociate_health_monitor_with_pool" : { "file" : "test_load_balancer.py" }, - "test_associate_user_to_project" : { "file" : "admin/v3/test_projects.py" }, - "test_authentication_for_disabled_user" : { "file" : "admin/test_users_negative.py" }, - "test_authentication_request_without_token" : { "file" : "admin/test_users.py" }, - "test_authentication_when_tenant_is_disabled" : { "file" : "admin/test_users_negative.py" }, - "test_authentication_with_invalid_password" : { "file" : "admin/test_users_negative.py" }, - "test_authentication_with_invalid_tenant" : { "file" : "admin/test_users_negative.py" }, - "test_authentication_with_invalid_username" : { "file" : "admin/test_users_negative.py" }, - "test_bulk_create_delete_network" : { "file" : "test_networks.py" }, - "test_bulk_create_delete_port" : { "file" : "test_networks.py" }, - "test_bulk_create_delete_subnet" : { "file" : "test_networks.py" }, - "test_can_log_into_created_server" : { "file" : "stacks/test_server_cfn_init.py" }, - "test_change_server_password" : { "file" : "servers/test_server_actions.py" }, - "test_container_metadata" : { "file" : "test_container_services.py" }, - "test_container_synchronization" : { "file" : "test_container_sync.py" }, - "test_copy_object_2d_way" : { "file" : "test_object_services.py" }, - "test_copy_object_across_containers" : { "file" : "test_object_services.py" }, - "test_copy_object_in_same_container" : { "file" : "test_object_services.py" }, - "test_copy_object_to_itself" : { "file" : "test_object_services.py" }, - "test_create_and_delete_account_metadata" : { "file" : "test_account_services.py" }, - "test_create_container" : { "file" : "test_container_services.py" }, - "test_create_get_delete_service" : { "file" : "admin/test_services.py" }, - "test_create_list_delete_endpoint" : { "file" : "admin/v3/test_endpoints.py" }, - "test_create_list_show_update_delete_floating_ip" : { "file" : "test_floating_ips.py" }, - "test_create_numeric_server_name" : { "file" : "servers/test_servers_negative.py" }, - "test_create_object" : { "file" : "test_object_services.py" }, - "test_create_project_by_unauthorized_user" : { "file" : "admin/v3/test_projects.py" }, - "test_create_project_with_empty_name" : { "file" : "admin/v3/test_projects.py" }, - "test_create_projects_name_length_over_64" : { "file" : "admin/v3/test_projects.py" }, - "test_create_server_metadata_exceeds_length_limit" : { "file" : "servers/test_servers_negative.py" }, - "test_create_server_name_length_exceeds_256" : { "file" : "servers/test_servers_negative.py" }, - "test_create_server_response" : { "file" : "servers/test_create_server.py" }, - "test_create_server_with_admin_password" : { "file" : "servers/test_servers.py" }, - "test_create_show_delete_security_group" : { "file" : "test_security_groups.py" }, - "test_create_show_delete_security_group_rule" : { "file" : "test_security_groups.py" }, - "test_create_show_list_update_delete_router" : { "file" : "test_routers.py" }, - "test_create_tenant_by_unauthorized_user" : { "file" : "admin/test_tenant_negative.py" }, - "test_create_tenant_request_without_token" : { "file" : "admin/test_tenant_negative.py" }, - "test_create_tenant_with_empty_name" : { "file" : "admin/test_tenant_negative.py" }, - "test_create_tenants_name_length_over_64" : { "file" : "admin/test_tenant_negative.py" }, - "test_create_update_delete_domain" : { "file" : "admin/v3/test_domains.py" }, - "test_create_update_delete_health_monitor" : { "file" : "test_load_balancer.py" }, - "test_create_update_delete_member" : { "file" : "test_load_balancer.py" }, - "test_create_update_delete_network_subnet" : { "file" : "test_networks.py" }, - "test_create_update_delete_policy" : { "file" : "admin/v3/test_policies.py" }, - "test_create_update_delete_pool_vip" : { "file" : "test_load_balancer.py" }, - "test_create_update_delete_port" : { "file" : "test_networks.py" }, - "test_create_update_delete_vpn_service" : { "file" : "test_vpnaas_extensions.py" }, - "test_create_user" : { "file" : "admin/test_users.py" }, - "test_create_user_by_unauthorized_user" : { "file" : "admin/test_users_negative.py" }, - "test_create_user_for_non_existant_tenant" : { "file" : "admin/test_users_negative.py" }, - "test_create_user_request_without_a_token" : { "file" : "admin/test_users_negative.py" }, - "test_create_user_with_duplicate_name" : { "file" : "admin/test_users_negative.py" }, - "test_create_user_with_empty_name" : { "file" : "admin/test_users_negative.py" }, - "test_create_user_with_enabled" : { "file" : "admin/test_users.py" }, - "test_create_user_with_enabled_non_bool" : { "file" : "admin/test_users_negative.py" }, - "test_create_user_with_name_length_over_255" : { "file" : "admin/test_users_negative.py" }, - "test_create_with_existing_server_name" : { "file" : "servers/test_servers.py" }, - "test_create_with_invalid_flavor" : { "file" : "servers/test_servers_negative.py" }, - "test_create_with_invalid_image" : { "file" : "servers/test_servers_negative.py" }, - "test_create_with_invalid_network_uuid" : { "file" : "servers/test_servers_negative.py" }, - "test_created_network" : { "file" : "stacks/test_neutron_resources.py" }, - "test_created_resources" : { "file" : "stacks/test_neutron_resources.py" }, - "test_created_router_interface" : { "file" : "stacks/test_neutron_resources.py" }, - "test_created_server" : { "file" : "stacks/test_neutron_resources.py" }, - "test_created_subnet" : { "file" : "stacks/test_neutron_resources.py" }, - "test_credentials_create_get_update_delete" : { "file" : "admin/v3/test_credentials.py" }, - "test_credentials_list_delete" : { "file" : "admin/v3/test_credentials.py" }, - "test_delete_a_server_of_another_tenant" : { "file" : "servers/test_servers_negative.py" }, - "test_delete_active_server" : { "file" : "servers/test_servers.py" }, - "test_delete_container" : { "file" : "test_container_services.py" }, - "test_delete_member_with_non_existing_image" : { "file" : "v1/test_image_members.py" }, - "test_delete_member_with_non_existing_tenant" : { "file" : "v1/test_image_members.py" }, - "test_delete_non_existant_user" : { "file" : "admin/test_users_negative.py" }, - "test_delete_non_existent_project" : { "file" : "admin/v3/test_projects.py" }, - "test_delete_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_delete_non_existent_tenant" : { "file" : "admin/test_tenant_negative.py" }, - "test_delete_object" : { "file" : "test_object_services.py" }, - "test_delete_object_with_non_authorized_user" : { "file" : "test_container_acl.py" }, - "test_delete_object_without_using_creds" : { "file" : "test_container_acl.py" }, - "test_delete_object_without_write_rights" : { "file" : "test_container_acl.py" }, - "test_delete_server_metadata_item" : { "file" : "servers/test_server_metadata.py" }, - "test_delete_server_pass_negative_id" : { "file" : "servers/test_servers_negative.py" }, - "test_delete_server_while_in_building_state" : { "file" : "servers/test_servers.py" }, - "test_delete_user" : { "file" : "admin/test_users.py" }, - "test_delete_user_request_without_a_token" : { "file" : "admin/test_users_negative.py" }, - "test_delete_users_by_unauthorized_user" : { "file" : "admin/test_users_negative.py" }, - "test_exceed_max_template_size_fails" : { "file" : "stacks/test_limits.py" }, - "test_get_console_output" : { "file" : "servers/test_server_actions.py" }, - "test_get_console_output_server_id_in_reboot_status" : { "file" : "servers/test_server_actions.py" }, - "test_get_default_quotas" : { "file" : "test_quotas.py" }, - "test_get_image_meta_by_null_id" : { "file" : "v2/test_images.py" }, - "test_get_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_get_object" : { "file" : "test_object_services.py" }, - "test_get_object_after_expiration_time" : { "file" : "test_object_temp_url.py" }, - "test_get_object_after_expiry_time" : { "file" : "test_object_expiry.py" }, - "test_get_object_if_different" : { "file" : "test_object_services.py" }, - "test_get_object_using_temp_url" : { "file" : "test_object_temp_url.py" }, - "test_get_quotas" : { "file" : "test_quotas.py" }, - "test_get_server_metadata_item" : { "file" : "servers/test_server_metadata.py" }, - "test_get_shared_images" : { "file" : "v1/test_image_members.py" }, - "test_get_users" : { "file" : "admin/test_users.py" }, - "test_get_users_by_unauthorized_user" : { "file" : "admin/test_users_negative.py" }, - "test_get_users_request_without_token" : { "file" : "admin/test_users_negative.py" }, - "test_grant_list_revoke_role_to_group_on_domain" : { "file" : "admin/v3/test_roles.py" }, - "test_grant_list_revoke_role_to_group_on_project" : { "file" : "admin/v3/test_roles.py" }, - "test_grant_list_revoke_role_to_user_on_domain" : { "file" : "admin/v3/test_roles.py" }, - "test_grant_list_revoke_role_to_user_on_project" : { "file" : "admin/v3/test_roles.py" }, - "test_host_name_is_same_as_server_name" : { "file" : "servers/test_create_server.py" }, - "test_index_container_format" : { "file" : "v1/test_images.py" }, - "test_index_disk_format" : { "file" : "v1/test_images.py" }, - "test_index_max_size" : { "file" : "v1/test_images.py" }, - "test_index_min_size" : { "file" : "v1/test_images.py" }, - "test_index_name" : { "file" : "v1/test_images.py" }, - "test_index_no_params" : { "file" : "v2/test_images.py" }, - "test_index_status_active_detail" : { "file" : "v1/test_images.py" }, - "test_invalid_access_ip_v4_address" : { "file" : "servers/test_servers_negative.py" }, - "test_invalid_ip_v6_address" : { "file" : "servers/test_servers_negative.py" }, - "test_list_account_metadata" : { "file" : "test_account_services.py" }, - "test_list_container_contents_json" : { "file" : "test_container_services.py" }, - "test_list_containers" : { "file" : "test_account_services.py" }, - "test_list_containers_with_end_marker" : { "file" : "test_account_services.py" }, - "test_list_containers_with_limit" : { "file" : "test_account_services.py" }, - "test_list_containers_with_limit_and_marker" : { "file" : "test_account_services.py" }, - "test_list_containers_with_marker" : { "file" : "test_account_services.py" }, - "test_list_containers_with_non_authorized_user" : { "file" : "test_account_services.py" }, - "test_list_domains" : { "file" : "admin/v3/test_domains.py" }, - "test_list_endpoints" : { "file" : "admin/v3/test_endpoints.py" }, - "test_list_events" : { "file" : "stacks/test_non_empty_stack.py" }, - "test_list_extensions" : { "file" : "test_extensions.py" }, - "test_list_health_monitors" : { "file" : "test_load_balancer.py" }, - "test_list_members" : { "file" : "test_load_balancer.py" }, - "test_list_networks" : { "file" : "test_networks.py" }, - "test_list_policies" : { "file" : "admin/v3/test_policies.py" }, - "test_list_pools" : { "file" : "test_load_balancer.py" }, - "test_list_ports" : { "file" : "test_networks.py" }, - "test_list_projects_by_unauthorized_user" : { "file" : "admin/v3/test_projects.py" }, - "test_list_resources" : { "file" : "stacks/test_non_empty_stack.py" }, - "test_list_roles" : { "file" : "admin/test_roles.py" }, - "test_list_roles_by_unauthorized_user" : { "file" : "admin/test_roles.py" }, - "test_list_roles_request_without_token" : { "file" : "admin/test_roles.py" }, - "test_list_security_groups" : { "file" : "test_security_groups.py" }, - "test_list_server_addresses" : { "file" : "servers/test_server_addresses.py" }, - "test_list_server_addresses_by_network" : { "file" : "servers/test_server_addresses.py" }, - "test_list_server_addresses_by_network_neg" : { "file" : "servers/test_server_addresses.py" }, - "test_list_server_addresses_invalid_server_id" : { "file" : "servers/test_server_addresses.py" }, - "test_list_server_metadata" : { "file" : "servers/test_server_metadata.py" }, - "test_list_servers" : { "file" : "servers/test_create_server.py" }, - "test_list_servers_by_changes_since" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_changes_since_future_date" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_changes_since_invalid_date" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_limits" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_limits_greater_than_actual_count" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_limits_pass_negative_value" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_limits_pass_string" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_non_existing_flavor" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_non_existing_image" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_by_non_existing_server_name" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_detail_server_is_deleted" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_detailed_filter_by_flavor" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_detailed_filter_by_image" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_detailed_filter_by_server_name" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_detailed_filter_by_server_status" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_detailed_limit_results" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_filter_by_flavor" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_filter_by_image" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_filter_by_limit" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_filter_by_server_name" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_filter_by_server_status" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_filtered_by_ip" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_filtered_by_ip_regex" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_filtered_by_name_wildcard" : { "file" : "servers/test_list_server_filters.py" }, - "test_list_servers_status_non_existing" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_with_a_deleted_server" : { "file" : "servers/test_list_servers_negative.py" }, - "test_list_servers_with_detail" : { "file" : "servers/test_create_server.py" }, - "test_list_services" : { "file" : "admin/test_services.py" }, - "test_list_show_extensions" : { "file" : "test_extensions.py" }, - "test_list_subnets" : { "file" : "test_networks.py" }, - "test_list_tenant_request_without_token" : { "file" : "admin/test_tenant_negative.py" }, - "test_list_tenants_by_unauthorized_user" : { "file" : "admin/test_tenant_negative.py" }, - "test_list_user_projects" : { "file" : "admin/v3/test_users.py" }, - "test_list_user_roles" : { "file" : "admin/test_roles.py" }, - "test_list_user_roles_by_unauthorized_user" : { "file" : "admin/test_roles.py" }, - "test_list_user_roles_for_non_existent_user" : { "file" : "admin/test_roles.py" }, - "test_list_user_roles_request_without_token" : { "file" : "admin/test_roles.py" }, - "test_list_users_for_tenant" : { "file" : "admin/test_users.py" }, - "test_list_users_with_invalid_tenant" : { "file" : "admin/test_users_negative.py" }, - "test_list_users_with_roles_for_tenant" : { "file" : "admin/test_users.py" }, - "test_list_vips" : { "file" : "test_load_balancer.py" }, - "test_list_vpn_services" : { "file" : "test_vpnaas_extensions.py" }, - "test_lock_unlock_server" : { "file" : "servers/test_server_actions.py" }, - "test_object_metadata" : { "file" : "test_object_services.py" }, - "test_object_upload_in_segments" : { "file" : "test_object_services.py" }, - "test_pause_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_pause_paused_server" : { "file" : "servers/test_servers_negative.py" }, - "test_pause_unpause_server" : { "file" : "servers/test_server_actions.py" }, - "test_project_create_duplicate" : { "file" : "admin/v3/test_projects.py" }, - "test_project_create_enabled" : { "file" : "admin/v3/test_projects.py" }, - "test_project_create_not_enabled" : { "file" : "admin/v3/test_projects.py" }, - "test_project_create_with_description" : { "file" : "admin/v3/test_projects.py" }, - "test_project_delete_by_unauthorized_user" : { "file" : "admin/v3/test_projects.py" }, - "test_project_list_delete" : { "file" : "admin/v3/test_projects.py" }, - "test_project_update_desc" : { "file" : "admin/v3/test_projects.py" }, - "test_project_update_enable" : { "file" : "admin/v3/test_projects.py" }, - "test_project_update_name" : { "file" : "admin/v3/test_projects.py" }, - "test_put_object_using_temp_url" : { "file" : "test_object_temp_url.py" }, - "test_quotas" : { "file" : "test_quotas.py" }, - "test_read_object_with_non_authorized_user" : { "file" : "test_container_acl.py" }, - "test_read_object_with_rights" : { "file" : "test_container_acl.py" }, - "test_read_object_without_rights" : { "file" : "test_container_acl.py" }, - "test_reboot_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_reboot_server_hard" : { "file" : "servers/test_server_actions.py" }, - "test_reboot_server_soft" : { "file" : "servers/test_server_actions.py" }, - "test_rebuild_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_rebuild_reboot_deleted_server" : { "file" : "servers/test_servers_negative.py" }, - "test_rebuild_server" : { "file" : "servers/test_server_actions.py" }, - "test_register_http_image" : { "file" : "v1/test_images.py" }, - "test_register_image_with_min_ram" : { "file" : "v1/test_images.py" }, - "test_register_remote_image" : { "file" : "v1/test_images.py" }, - "test_register_then_upload" : { "file" : "v2/test_images.py" }, - "test_register_with_invalid_container_format" : { "file" : "v2/test_images.py" }, - "test_register_with_invalid_disk_format" : { "file" : "v2/test_images.py" }, - "test_remove_member" : { "file" : "v1/test_image_members.py" }, - "test_remove_user_role" : { "file" : "admin/test_roles.py" }, - "test_remove_user_role_by_unauthorized_user" : { "file" : "admin/test_roles.py" }, - "test_remove_user_role_non_existant_role" : { "file" : "admin/test_roles.py" }, - "test_remove_user_role_non_existant_tenant" : { "file" : "admin/test_roles.py" }, - "test_remove_user_role_non_existant_user" : { "file" : "admin/test_roles.py" }, - "test_remove_user_role_request_without_token" : { "file" : "admin/test_roles.py" }, - "test_resize_server_confirm" : { "file" : "servers/test_server_actions.py" }, - "test_resize_server_revert" : { "file" : "servers/test_server_actions.py" }, - "test_resize_server_with_non_existent_flavor" : { "file" : "servers/test_servers_negative.py" }, - "test_resize_server_with_null_flavor" : { "file" : "servers/test_servers_negative.py" }, - "test_resource_metadata" : { "file" : "stacks/test_non_empty_stack.py" }, - "test_resume_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_resume_server_invalid_state" : { "file" : "servers/test_servers_negative.py" }, - "test_role_create_blank_name" : { "file" : "admin/test_roles.py" }, - "test_role_create_delete" : { "file" : "admin/test_roles.py" }, - "test_role_create_duplicate" : { "file" : "admin/test_roles.py" }, - "test_role_create_update_get" : { "file" : "admin/v3/test_roles.py" }, - "test_server_create_metadata_key_too_long" : { "file" : "servers/test_server_metadata.py" }, - "test_server_metadata_negative" : { "file" : "servers/test_server_metadata.py" }, - "test_server_name_blank" : { "file" : "servers/test_servers_negative.py" }, - "test_set_server_metadata" : { "file" : "servers/test_server_metadata.py" }, - "test_set_server_metadata_item" : { "file" : "servers/test_server_metadata.py" }, - "test_show_event" : { "file" : "stacks/test_non_empty_stack.py" }, - "test_show_health_monitor" : { "file" : "test_load_balancer.py" }, - "test_show_member" : { "file" : "test_load_balancer.py" }, - "test_show_network" : { "file" : "test_networks.py" }, - "test_show_non_existent_network" : { "file" : "test_networks.py" }, - "test_show_non_existent_port" : { "file" : "test_networks.py" }, - "test_show_non_existent_security_group" : { "file" : "test_security_groups_negative.py" }, - "test_show_non_existent_security_group_rule" : { "file" : "test_security_groups_negative.py" }, - "test_show_non_existent_subnet" : { "file" : "test_networks.py" }, - "test_show_pool" : { "file" : "test_load_balancer.py" }, - "test_show_port" : { "file" : "test_networks.py" }, - "test_show_resource" : { "file" : "stacks/test_non_empty_stack.py" }, - "test_show_subnet" : { "file" : "test_networks.py" }, - "test_show_template" : { "file" : "stacks/test_templates.py" }, - "test_show_vip" : { "file" : "test_load_balancer.py" }, - "test_show_vpn_service" : { "file" : "test_vpnaas_extensions.py" }, - "test_stack_crud_no_resources" : { "file" : "stacks/test_stacks.py" }, - "test_stack_list" : { "file" : "stacks/test_non_empty_stack.py" }, - "test_stack_list_responds" : { "file" : "stacks/test_stacks.py" }, - "test_stack_show" : { "file" : "stacks/test_non_empty_stack.py" }, - "test_stack_wait_condition_data" : { "file" : "stacks/test_server_cfn_init.py" }, - "test_stop_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_stop_start_server" : { "file" : "servers/test_server_actions.py" }, - "test_suspend_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_suspend_resume_server" : { "file" : "servers/test_server_actions.py" }, - "test_suspend_server_invalid_state" : { "file" : "servers/test_servers_negative.py" }, - "test_tenant_create_duplicate" : { "file" : "admin/test_tenant_negative.py" }, - "test_tenant_create_enabled" : { "file" : "admin/test_tenants.py" }, - "test_tenant_create_not_enabled" : { "file" : "admin/test_tenants.py" }, - "test_tenant_create_with_description" : { "file" : "admin/test_tenants.py" }, - "test_tenant_delete_by_unauthorized_user" : { "file" : "admin/test_tenant_negative.py" }, - "test_tenant_delete_request_without_token" : { "file" : "admin/test_tenant_negative.py" }, - "test_tenant_list_delete" : { "file" : "admin/test_tenants.py" }, - "test_tenant_update_by_unauthorized_user" : { "file" : "admin/test_tenant_negative.py" }, - "test_tenant_update_desc" : { "file" : "admin/test_tenants.py" }, - "test_tenant_update_enable" : { "file" : "admin/test_tenants.py" }, - "test_tenant_update_name" : { "file" : "admin/test_tenants.py" }, - "test_tenant_update_request_without_token" : { "file" : "admin/test_tenant_negative.py" }, - "test_tokens" : { "file" : "admin/v3/test_tokens.py" }, - "test_unpause_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_unpause_server_invalid_state" : { "file" : "servers/test_servers_negative.py" }, - "test_update_access_server_address" : { "file" : "servers/test_servers.py" }, - "test_update_endpoint" : { "file" : "admin/v3/test_endpoints.py" }, - "test_update_metadata_empty_body" : { "file" : "servers/test_server_metadata.py" }, - "test_update_name_of_non_existent_server" : { "file" : "servers/test_servers_negative.py" }, - "test_update_non_existent_tenant" : { "file" : "admin/test_tenant_negative.py" }, - "test_update_server_metadata" : { "file" : "servers/test_server_metadata.py" }, - "test_update_server_name" : { "file" : "servers/test_servers.py" }, - "test_update_server_name_length_exceeds_256" : { "file" : "servers/test_servers_negative.py" }, - "test_update_server_of_another_tenant" : { "file" : "servers/test_servers_negative.py" }, - "test_update_server_set_empty_name" : { "file" : "servers/test_servers_negative.py" }, - "test_update_service" : { "file" : "admin/v3/test_services.py" }, - "test_update_user" : { "file" : "admin/test_users.py" }, - "test_update_user_by_unauthorized_user" : { "file" : "admin/test_users_negative.py" }, - "test_update_user_for_non_existant_user" : { "file" : "admin/test_users_negative.py" }, - "test_update_user_request_without_a_token" : { "file" : "admin/test_users_negative.py" }, - "test_upload_large_object" : { "file" : "test_container_quotas.py" }, - "test_upload_too_many_objects" : { "file" : "test_container_quotas.py" }, - "test_upload_valid_object" : { "file" : "test_container_quotas.py" }, - "test_user_authentication" : { "file" : "admin/test_users.py" }, - "test_user_modify_quota" : { "file" : "test_account_quotas.py" }, - "test_user_update" : { "file" : "admin/v3/test_users.py" }, - "test_validate_template" : { "file" : "stacks/test_templates.py" }, - "test_validate_template_url" : { "file" : "stacks/test_templates.py" }, - "test_verify_created_server_vcpus" : { "file" : "servers/test_create_server.py" }, - "test_verify_server_details" : { "file" : "servers/test_create_server.py" }, - "test_versioned_container" : { "file" : "test_object_version.py" }, - "test_web_index" : { "file" : "test_container_staticweb.py" }, - "test_web_listing" : { "file" : "test_container_staticweb.py" }, - "test_write_object_with_non_authorized_user" : { "file" : "test_container_acl.py" }, - "test_write_object_with_rights" : { "file" : "test_container_acl.py" }, - "test_write_object_without_rights" : { "file" : "test_container_acl.py" }, - "test_write_object_without_using_creds" : { "file" : "test_container_acl.py" }, - "test_write_object_without_write_rights" : { "file" : "test_container_acl.py" } - } -} \ No newline at end of file diff --git a/havana/drivers.json b/havana/drivers.json deleted file mode 100644 index c7aba224..00000000 --- a/havana/drivers.json +++ /dev/null @@ -1 +0,0 @@ -{ "placeholder":true } \ No newline at end of file diff --git a/havanacore.json b/havanacore.json new file mode 100644 index 00000000..a6f56c04 --- /dev/null +++ b/havanacore.json @@ -0,0 +1,1121 @@ +{ "release" : "havana", + "schema" : "1.0", + "criteria" : { "atomic" : { "Description" : "Capabilities is unique and cannot be built out of other must-pass capabilities", + "name" : "Atomic", + "weight" : 8 + }, + "clients" : { "Description" : "Candidates are widely used capabilities: Should be included if part of common libraries (Fog, Apache jclouds, etc)", + "name" : "Used by Clients", + "weight" : 8 + }, + "complete" : { "Description" : "Where the code being tested has a designated area of alternate implementation (extension framework) as per the Core Principles, there should be parity in capability tested across extension implementations. This also implies that the capability test is not configuration specific or locked to non-open technology", + "name" : "Complete", + "weight" : 8 + }, + "deployed" : { "Description" : "Candidates are widely deployed capabilities. We favor capabilities that are supported by multiple public cloud providers and private cloud products", + "name" : "Widely Deployed", + "weight" : 8 + }, + "discover" : { "Description" : "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection)", + "name" : "Discoverable", + "weight" : 8 + }, + "doc" : { "Description" : "Should be well documented, particularly the expected behavior. This can be a very subjective measure and we expect to refine this definition over time", + "name" : "Documented", + "weight" : 8 + }, + "foundation" : { "Description" : "Test capabilities that are required by other must-pass tests and/or depended on by many other capabilities", + "name" : "Foundation", + "weight" : 8 + }, + "future" : { "Description" : "Should reflect future technical direction (from the project technical teams and the TC) and help manage deprecated capabilities", + "name" : "Future Direction", + "weight" : 9 + }, + "proximity" : { "Description" : "Sometimes called a Test Cluster, selects for Capabilities that are related to Core Capabilities. This helps ensure that related capabilities are managed together", + "name" : "Proximity", + "weight" : 8 + }, + "stable" : { "Description" : "Test is required stable for >2 releases because we don't want core capabilities that do not have dependable APIs", + "name" : "Stable", + "weight" : 9 + }, + "sticky" : { "Description" : "A test that is a must-pass test should stay a must-pass test. This makes core capabilities sticky release per release. Leaving Core is disruptive to the ecosystem", + "name" : "Core in Last Release", + "weight" : 9 + }, + "tools" : { "Description" : "Candidates are widely used capabilities:Should be included if supported by common tools (RightScale, Scalr, CloudForms, ...)", + "name" : "Used by Tools", + "weight" : 9 + } + }, + "capabilities" : { "compute-admin-aggregates" : { "achievements" : [ "deployed", + "future", + "complete", + "stable", + "doc", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Retrieving information about host aggregation using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin aggregates", + "tests" : [ ] + }, + "compute-admin-avail-zone" : { "achievements" : [ "deployed", + "tools", + "clients", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : " Retrieving information about availability zones using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin avail-zone", + "tests" : [ ] + }, + "compute-admin-fixed-ips" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Tests of managing fixed ip reservations using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin fixed-ips", + "tests" : [ ] + }, + "compute-admin-flavors" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Managing flavor definitions and parameters using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin flavors", + "tests" : [ ] + }, + "compute-admin-hosts" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Retrieving host information using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin hosts", + "tests" : [ ] + }, + "compute-admin-hypervisor" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Retrieving hypervisor information using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin hypervisor", + "tests" : [ ] + }, + "compute-admin-quota" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Tests for managing quotas in compute nodes using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin quota", + "tests" : [ ] + }, + "compute-admin-server" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Managing servers including state resets, deletions and 'all-tenant' actions using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin server", + "tests" : [ ] + }, + "compute-admin-servers-pause" : { "achievements" : [ "deployed", + "tools", + "future", + "complete", + "stable", + "discover", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Managing servers pause state using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin Servers Pause", + "tests" : [ ] + }, + "compute-admin-servers-suspend" : { "achievements" : [ "deployed", + "tools", + "future", + "complete", + "stable", + "discover", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Managing servers suspend state using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin Servers Suspend", + "tests" : [ ] + }, + "compute-admin-services" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "List, enable, and disable Compute services in all hosts using Compute API admin endpoint", + "flagged" : [ ], + "name" : "Compute Admin services", + "tests" : [ ] + }, + "compute-attach-interface" : { "achievements" : [ "discover", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "Create, list and attach port interfaces using Compute API endpoint", + "flagged" : [ ], + "name" : "Compute Attach Interface", + "tests" : [ ] + }, + "compute-auth" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Auth related tests using Compute API", + "flagged" : [ ], + "name" : "compute-auth", + "tests" : [ ] + }, + "compute-auth-v3" : { "achievements" : [ "future" ], + "admin" : false, + "core" : false, + "description" : "Support for the Auth V3 API through the Compute API", + "flagged" : [ ], + "name" : "compute-auth-v3", + "tests" : [ ] + }, + "compute-console-log" : { "achievements" : [ "future", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "Retrieve console log information through the Compute API", + "flagged" : [ ], + "name" : "compute-console-log", + "tests" : [ ] + }, + "compute-ext-disk-config" : { "achievements" : [ "deployed", + "clients", + "complete", + "discover", + "doc", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "Ability to manage the disk config (manual or automatic) through the Compute API", + "flagged" : [ ], + "name" : "compute-ext-disk-config", + "tests" : [ ] + }, + "compute-flavors" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Flavor operations in the Compute API", + "flagged" : [ ], + "name" : "compute-flavors", + "tests" : [ ] + }, + "compute-floating-ips" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Manage floating IPs through the Compute API", + "flagged" : [ ], + "name" : "compute-floating-ips", + "tests" : [ ] + }, + "compute-image-metadata" : { "achievements" : [ "deployed", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "Support for additional metadata operations beyond the base ops in Compute API", + "flagged" : [ ], + "name" : "compute-image-metadata", + "tests" : [ ] + }, + "compute-images" : { "achievements" : [ "tools", + "clients", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Image operations within the Compute API", + "flagged" : [ ], + "name" : "compute-images", + "tests" : [ ] + }, + "compute-instance-actions" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "foundation", + "atomic" + ], + "admin" : false, + "core" : true, + "description" : "Basic support Compute API for server actions such as reboot, rebuild, resize", + "flagged" : [ ], + "name" : "compute-instance-actions", + "tests" : [ ] + }, + "compute-keypairs" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "atomic" + ], + "admin" : false, + "core" : true, + "description" : "Generate, import, and delete SSH keys within Compute services", + "flagged" : [ ], + "name" : "compute-keypairs", + "tests" : [ ] + }, + "compute-limits" : { "achievements" : [ "deployed", + "tools", + "future", + "complete", + "stable", + "discover", + "doc" + ], + "admin" : false, + "core" : false, + "description" : "Manage absolute limits within Compute services", + "flagged" : [ ], + "name" : "compute-limits", + "tests" : [ ] + }, + "compute-live-migration" : { "achievements" : [ "future", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "Live migration operations through the Compute API", + "flagged" : [ ], + "name" : "compute-live-migration", + "tests" : [ ] + }, + "compute-multiple-create" : { "achievements" : [ "future", + "complete", + "stable", + "discover", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "Create one or more servers with an optional reservation ID through the Compute API", + "flagged" : [ ], + "name" : "compute-multiple-create", + "tests" : [ ] + }, + "compute-quotas" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Quotas management in Compute API", + "flagged" : [ ], + "name" : "compute-quotas", + "tests" : [ ] + }, + "compute-security-groups" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "doc", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Manage security groups using Compute API", + "flagged" : [ ], + "name" : "compute-security-groups", + "tests" : [ ] + }, + "compute-servers" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Basic server operations in the Compute API", + "flagged" : [ ], + "name" : "compute-servers", + "tests" : [ ] + }, + "compute-servers-metadata" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation" + ], + "admin" : false, + "core" : true, + "description" : "Manage the access to ip extended attribute for servers through the Compute API", + "flagged" : [ ], + "name" : "compute-servers-metadata", + "tests" : [ ] + }, + "compute-servers-personality" : { "achievements" : [ "deployed", + "complete", + "stable", + "discover", + "doc" + ], + "admin" : false, + "core" : false, + "description" : "Compute API personality extension to enable the injection of data at create time", + "flagged" : [ ], + "name" : "compute-servers-personality", + "tests" : [ ] + }, + "compute-usage" : { "achievements" : [ "tools", + "complete", + "stable", + "discover", + "doc", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "Report usage statistics on compute and storage resources through Compute API", + "flagged" : [ ], + "name" : "compute-usage", + "tests" : [ ] + }, + "compute-virtual-interfaces" : { "achievements" : [ "tools", + "clients", + "future", + "complete", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "List the virtual interfaces for a specified server instance through Compute API", + "flagged" : [ ], + "name" : "compute-virtual-interfaces", + "tests" : [ ] + }, + "compute-volume" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Retrieve volume information through the Compute API", + "flagged" : [ ], + "name" : "compute-volume", + "tests" : [ ] + }, + "compute-volume-ebs" : { "achievements" : [ ], + "admin" : false, + "core" : false, + "description" : "compute-volume-ebs description missing", + "flagged" : [ ], + "name" : "compute-volume-ebs", + "tests" : [ ] + }, + "compute-volume-proxy" : { "achievements" : [ ], + "admin" : false, + "core" : false, + "description" : "Extended volume API operations through the Compute API", + "flagged" : [ ], + "name" : "compute-volume-proxy", + "tests" : [ ] + }, + "identity-admin-roles" : { "achievements" : [ "future", + "complete", + "stable", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "Administration roles in Identity API", + "flagged" : [ ], + "name" : "Identity admin-roles", + "tests" : [ ] + }, + "identity-admin-services" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "CRUD operations for services in Identity API", + "flagged" : [ ], + "name" : "Identity admin-services", + "tests" : [ ] + }, + "identity-admin-tenants" : { "achievements" : [ "deployed", + "tools", + "clients", + "complete", + "discover", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Administer tenants in the Identity API", + "flagged" : [ ], + "name" : "Identity admin-tenants", + "tests" : [ ] + }, + "identity-admin-users" : { "achievements" : [ "deployed", + "complete", + "stable", + "discover", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Administer users in the Identity API", + "flagged" : [ ], + "name" : "Identity admin-users", + "tests" : [ ] + }, + "identity-admin-v3-credentials" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "Basic auth operations using Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-credentials", + "tests" : [ ] + }, + "identity-admin-v3-domains" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "CRUD operations for domains in Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-domains", + "tests" : [ ] + }, + "identity-admin-v3-endpoints" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "CRUD operations for endpoints in Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-endpoints", + "tests" : [ ] + }, + "identity-admin-v3-policies" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "CRUD operations on policies in Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-policies", + "tests" : [ ] + }, + "identity-admin-v3-projects" : { "achievements" : [ "future", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Basic management of projects in Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-projects", + "tests" : [ ] + }, + "identity-admin-v3-roles" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "Management of roles in Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-roles", + "tests" : [ ] + }, + "identity-admin-v3-services" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "CRUD operations for services in Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-services", + "tests" : [ ] + }, + "identity-admin-v3-tokens" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "Tokens management in Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-tokens", + "tests" : [ ] + }, + "identity-admin-v3-users" : { "achievements" : [ "future", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "CRUD operations for users in Identity API v3", + "flagged" : [ ], + "name" : "Identity admin-v3-users", + "tests" : [ ] + }, + "identity-non-admin-roles" : { "achievements" : [ "deployed", + "future", + "complete", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "Non-admin operations in Identity API", + "flagged" : [ ], + "name" : "Identity Non Admin Roles", + "tests" : [ ] + }, + "images-v1" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Basic image management in the Images API v1", + "flagged" : [ ], + "name" : "images-v1", + "tests" : [ ] + }, + "images-v2" : { "achievements" : [ "future", + "complete", + "stable", + "discover", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "CRUD image operations in Images API v2", + "flagged" : [ ], + "name" : "images-v2", + "tests" : [ ] + }, + "networks-extensions" : { "achievements" : [ "future", + "complete", + "stable", + "discover", + "doc", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "List available network extensions using Network API", + "flagged" : [ ], + "name" : "networks-extensions", + "tests" : [ ] + }, + "networks-floating-ips" : { "achievements" : [ "future", + "discover", + "doc", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "Floating IPs management using Network API", + "flagged" : [ ], + "name" : "networks-floating-ips", + "tests" : [ ] + }, + "networks-l2" : { "achievements" : [ "future", + "discover", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "Network layer2 CRUD operations in Network API", + "flagged" : [ ], + "name" : "networks-l2", + "tests" : [ ] + }, + "networks-l3" : { "achievements" : [ "future", + "discover", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "Network layer3 CRUD operations in Network API", + "flagged" : [ ], + "name" : "networks-l3", + "tests" : [ ] + }, + "networks-lbaas" : { "achievements" : [ "future", + "discover", + "doc" + ], + "admin" : false, + "core" : false, + "description" : "Create and manage load balancers, listeners, pools, members, and health monitors using Network API", + "flagged" : [ ], + "name" : "networks-lbaas", + "tests" : [ ] + }, + "networks-quotas" : { "achievements" : [ "future", + "discover" + ], + "admin" : false, + "core" : false, + "description" : "Networks quotas management using Network API", + "flagged" : [ ], + "name" : "networks-quotas", + "tests" : [ ] + }, + "networks-security-groups" : { "achievements" : [ "future", + "discover", + "doc", + "proximity" + ], + "admin" : false, + "core" : false, + "description" : "Networks security groups management using Network API", + "flagged" : [ ], + "name" : "networks-security-groups", + "tests" : [ ] + }, + "networks-vpn" : { "achievements" : [ "future", + "discover" + ], + "admin" : false, + "core" : false, + "description" : "VPN CRUD operations in Networks API", + "flagged" : [ ], + "name" : "networks-vpn", + "tests" : [ ] + }, + "objectstore-acct-services" : { "achievements" : [ "deployed", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "Basic account services in Object Storage API", + "flagged" : [ ], + "name" : "objectstore-acct-services", + "tests" : [ ] + }, + "objectstore-container" : { "achievements" : [ "tools", + "clients", + "future", + "complete", + "stable", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Basic container operations in Object Store API", + "flagged" : [ ], + "name" : "objectstore-container", + "tests" : [ ] + }, + "objectstore-container-acl" : { "achievements" : [ "deployed", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "ACL support in Object Storage API", + "flagged" : [ ], + "name" : "objectstore-container-acl", + "tests" : [ ] + }, + "objectstore-container-quota" : { "achievements" : [ "deployed", + "future", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "Container quotas support in Object Storage API", + "flagged" : [ ], + "name" : "objectstore-container-quota", + "tests" : [ ] + }, + "objectstore-container-staticweb" : { "achievements" : [ "deployed", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : false, + "core" : false, + "description" : "Static web support in Object Storage API", + "flagged" : [ ], + "name" : "objectstore-container-staticweb", + "tests" : [ ] + }, + "objectstore-object" : { "achievements" : [ "tools", + "clients", + "future", + "complete", + "stable", + "doc", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Basic object operations in Object Storage API", + "flagged" : [ ], + "name" : "objectstore-object", + "tests" : [ ] + }, + "objectstore-quotas" : { "achievements" : [ "deployed", + "future", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "General quotas support in Object Storage API", + "flagged" : [ ], + "name" : "objectstore-quotas", + "tests" : [ ] + }, + "orch-stacks" : { "achievements" : [ "doc", + "foundation" + ], + "admin" : false, + "core" : false, + "description" : "Orchestration CRUD operations in Orchestration API", + "flagged" : [ ], + "name" : "Orchestration Stacks", + "tests" : [ ] + }, + "volume" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "CRUD operations for volumes management in Block Storage API", + "flagged" : [ ], + "name" : "volume", + "tests" : [ ] + }, + "volume-extra-specs" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "doc", + "sticky", + "foundation", + "atomic", + "proximity" + ], + "admin" : true, + "core" : false, + "description" : "Block Storage API extension to support additional specs", + "flagged" : [ ], + "name" : "volume-extra-specs", + "tests" : [ ] + }, + "volume-multi-backend" : { "achievements" : [ "future", + "complete", + "stable", + "doc", + "atomic" + ], + "admin" : true, + "core" : false, + "description" : "Block Storage API extension for multi-backends", + "flagged" : [ ], + "name" : "volume-multi-backend", + "tests" : [ ] + }, + "volume-snapshots" : { "achievements" : [ "deployed", + "tools", + "clients", + "future", + "complete", + "stable", + "discover", + "doc", + "sticky", + "proximity" + ], + "admin" : false, + "core" : true, + "description" : "Snapshot support for Block Storage API", + "flagged" : [ ], + "name" : "volume-snapshots", + "tests" : [ ] + } + } +} \ No newline at end of file