diff options
Diffstat (limited to 'docs/testing/user/testspecification/vimoperationscompute/index.rst')
-rw-r--r-- | docs/testing/user/testspecification/vimoperationscompute/index.rst | 693 |
1 files changed, 0 insertions, 693 deletions
diff --git a/docs/testing/user/testspecification/vimoperationscompute/index.rst b/docs/testing/user/testspecification/vimoperationscompute/index.rst deleted file mode 100644 index 64f4356b..00000000 --- a/docs/testing/user/testspecification/vimoperationscompute/index.rst +++ /dev/null @@ -1,693 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Ericsson AB, Huawei Technologies Co.,Ltd - -========================================= -VIM compute operations test specification -========================================= - -.. toctree:: - :maxdepth: 2 - -Scope -===== - -The VIM compute operations test area evaluates the ability of the system under -test to support VIM compute operations. The test cases documented here are the -compute API test cases in the OpenStack Interop guideline 2016.8 as implemented -by the RefStack client. These test cases will evaluate basic OpenStack (as a VIM) -compute operations, including: - -- Image management operations -- Basic support operations -- API version support operations -- Quotas management operations -- Basic server operations -- Volume management operations - -References -================ - -- OpenStack Governance/Interop - - - https://wiki.openstack.org/wiki/Governance/InteropWG - -- OpenStack Interoperability guidelines (version 2016.08) - - - https://github.com/openstack/interop/blob/master/2016.08.json - -- Refstack client - - - https://github.com/openstack/refstack-client - -Definitions and abbreviations -============================= - -The following terms and abbreviations are used in conjunction with this test area - -- API - Application Programming Interface -- NFVi - Network Functions Virtualization infrastructure -- SUT - System Under Test -- UUID - Universally Unique Identifier -- VIM - Virtual Infrastructure Manager -- VM - Virtual Machine - -System Under Test (SUT) -======================= - -The system under test is assumed to be the NFVi and VIM deployed with a Pharos compliant infrastructure. - -Test Area Structure -==================== - -The test area is structured based on VIM compute API operations. Each test case is -able to run independently, i.e. irrelevant of the state created by a previous test. -Specifically, every test performs clean-up operations which return the system to -the same state as before the test. - -For brevity, the test cases in this test area are summarized together based on -the operations they are testing. - -All these test cases are included in the test case dovetail.osinterop.tc001 of -OVP test suite. - -Test Descriptions -================= - -API Used and Reference ----------------------- - -Servers: https://developer.openstack.org/api-ref/compute/ - -- create server -- delete server -- list servers -- start server -- stop server -- update server -- get server action -- set server metadata -- update server metadata -- rebuild server - -- create image -- delete image - -- create keypair -- delete keypair - -Block storage: https://developer.openstack.org/api-ref/block-storage - -- create volume -- delete volume -- attach volume to server -- detach volume from server - ------------------------------------------------------ -Test Case 1 - Image operations within the Compute API ------------------------------------------------------ - -Test case specification ------------------------ - -tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image -tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name - -Test preconditions ------------------- - -* Compute server extension API - -Basic test flow execution description and pass/fail criteria ------------------------------------------------------------- - -Test execution -'''''''''''''' - -* Test action 1: Create a server VM1 with an image IMG1 and wait for VM1 to reach 'ACTIVE' status -* Test action 2: Create a new server image IMG2 from VM1, specifying image name - and image metadata. Wait for IMG2 to reach 'ACTIVE' status, and then delete IMG2 -* **Test assertion 1:** Verify IMG2 is created with correct image name and image - metadata; verify IMG1's 'minRam' equals to IMG2's 'minRam' and IMG2's 'minDisk' equals - to IMG1's 'minDisk' or VM1's flavor disk size -* **Test assertion 2:** Verify IMG2 is deleted correctly -* Test action 3: Create another server IMG3 from VM1, specifying image name - with a 3 byte utf-8 character -* **Test assertion 3:** Verify IMG3 is created correctly -* Test action 4: Delete VM1, IMG1 and IMG3 - -Pass / fail criteria -'''''''''''''''''''' - -This test evaluates the Compute API ability of creating image from server, -deleting image, creating server image with multi-byte character name. -Specifically, the test verifies that: - -* Compute server create image and delete image APIs work correctly. -* Compute server image can be created with multi-byte character name. - -In order to pass this test, all test assertions listed in the test execution above need to pass. - -Post conditions ---------------- - -N/A - ------------------------------------------------------ -Test Case 2 - Action operation within the Compute API ------------------------------------------------------ - -Test case specification ------------------------ - -tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_get_instance_action -tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_list_instance_actions - -Test preconditions ------------------- - -* Compute server extension API - -Basic test flow execution description and pass/fail criteria ------------------------------------------------------------- - -Test execution -'''''''''''''' - -* Test action 1: Create a server VM1 and wait for VM1 to reach 'ACTIVE' status -* Test action 2: Get the action details ACT_DTL of VM1 -* **Test assertion 1:** Verify ACT_DTL's 'instance_uuid' matches VM1's ID and - ACT_DTL's 'action' matched 'create' -* Test action 3: Create a server VM2 and wait for VM2 to reach 'ACTIVE' status -* Test action 4: Delete server VM2 and wait for VM2 to reach termination -* Test action 5: Get the action list ACT_LST of VM2 -* **Test assertion 2:** Verify ACT_LST's length is 2 and two actions are 'create' and 'delete' -* Test action 6: Delete VM1 - -Pass / fail criteria -'''''''''''''''''''' - -This test evaluates the Compute API ability of getting the action details -of a provided server and getting the action list of a deleted server. -Specifically, the test verifies that: - -* Get the details of the action in a specified server. -* List the actions that were performed on the specified server. - -In order to pass this test, all test assertions listed in the test execution above need to pass. - -Post conditions ---------------- - -N/A - --------------------------------------------------------------------------- -Test Case 3 - Generate, import and delete SSH keys within Compute services --------------------------------------------------------------------------- - -Test case specification ------------------------ - -tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair - -Test preconditions ------------------- - -* Compute server extension API - -Basic test flow execution description and pass/fail criteria ------------------------------------------------------------- - -Test execution -'''''''''''''' - -* Test action 1: Create a keypair KEYP1 and list all existing keypairs -* Test action 2: Create a server VM1 with KEYP1 and wait for VM1 to reach 'ACTIVE' status -* Test action 3: Show details of VM1 -* **Test assertion 1:** Verify value of 'key_name' in the details equals to the name of KEYP1 -* Test action 4: Delete KEYP1 and VM1 - -Pass / fail criteria -'''''''''''''''''''' - -This test evaluates the Compute API ability of creating a keypair, listing -keypairs and creating a server with a provided keypair. -Specifically, the test verifies that: - -* Compute create keypair and list keypair APIs work correctly. -* While creating a server, keypair can be specified. - -In order to pass this test, all test assertions listed in the test execution above need to pass. - -Post conditions ---------------- - -N/A - --------------------------------------------------------- -Test Case 4 - List supported versions of the Compute API --------------------------------------------------------- - -Test case specification ------------------------ - -tempest.api.compute.test_versions.TestVersions.test_list_api_versions - -Test preconditions ------------------- - -* Compute versions extension API - -Basic test flow execution description and pass/fail criteria ------------------------------------------------------------- - -Test execution -'''''''''''''' - -* Test action 1: Get a List of versioned endpoints in the SUT -* **Test assertion 1:** Verify endpoints versions start at 'v2.0' - -Pass / fail criteria -'''''''''''''''''''' - -This test evaluates the functionality of listing all available APIs to API consumers. -Specifically, the test verifies that: - -* Compute list API versions API works correctly. - -In order to pass this test, all test assertions listed in the test execution above need to pass. - -Post conditions ---------------- - -N/A - ----------------------------------------------- -Test Case 5 - Quotas management in Compute API ----------------------------------------------- - -Test case specification ------------------------ - -tempest.api.compute.test_quotas.QuotasTestJSON.test_get_default_quotas -tempest.api.compute.test_quotas.QuotasTestJSON.test_get_quotas - -Test preconditions ------------------- - -* Compute quotas extension API - -Basic test flow execution description and pass/fail criteria ------------------------------------------------------------- - -Test execution -'''''''''''''' -* Test action 1: Get the default quota set using the tenant ID -* **Test assertion 1:** Verify the default quota set ID matches tenant ID and - the default quota set is complete -* Test action 2: Get the quota set using the tenant ID -* **Test assertion 2:** Verify the quota set ID matches tenant ID and the quota - set is complete -* Test action 3: Get the quota set using the user ID -* **Test assertion 3:** Verify the quota set ID matches tenant ID and the quota - set is complete - -Pass / fail criteria -'''''''''''''''''''' - -This test evaluates the functionality of getting quota set. -Specifically, the test verifies that: - -* User can get the default quota set for its tenant. -* User can get the quota set for its tenant. -* User can get the quota set using user ID. - -In order to pass this test, all test assertions listed in the test execution above need to pass. - -Post conditions ---------------- - -N/A - --------------------------------------------------------- -Test Case 6 - Basic server operations in the Compute API --------------------------------------------------------- - -Test case specification ------------------------ - -This test case evaluates the Compute API ability of basic server operations, including: - -- Create a server with admin password -- Create a server with a name that already exists -- Create a server with a numeric name -- Create a server with a really long metadata -- Create a server with a name whose length exceeding 255 characters -- Create a server with an unknown flavor -- Create a server with an unknown image ID -- Create a server with an invalid network UUID -- Delete a server using a server ID that exceeds length limit -- Delete a server using a negative server ID -- Get a nonexistent server details -- Verify the instance host name is the same as the server name -- Create a server with an invalid access IPv6 address -- List all existent servers -- Filter the (detailed) list of servers by flavor, image, server name, server status or limit -- Lock a server and try server stop, unlock and retry -- Get and delete metadata from a server -- List and set metadata for a server -- Reboot, rebuild, stop and start a server -- Update a server's access addresses and server name - -The reference is, - -tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password -tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_numeric_server_name -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_metadata_exceeds_length_limit -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_name_length_exceeds_256 -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_flavor -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_image -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_network_uuid -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_id_exceeding_length_limit -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_negative_id -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_get_non_existent_server -tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name -tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_host_name_is_same_as_server_name -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_invalid_ip_v6_address -tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers -tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers_with_detail -tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers -tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers_with_detail -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_flavor -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_image -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_name -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_status -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_limit_results -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_flavor -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_image -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_active_status -tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_greater_than_actual_count -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_negative_value -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_string -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_flavor -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_image -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_server_name -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_detail_server_is_deleted -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_status_non_existing -tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_with_a_deleted_server -tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_unlock_server -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item -tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_server_name_blank -tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_reboot_non_existent_server -tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_deleted_server -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_non_existent_server -tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_stop_non_existent_server -tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_access_server_address -tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_server_name -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_name_of_non_existent_server -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_name_length_exceeds_256 -tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_set_empty_name -tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_created_server_vcpus -tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_server_details -tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_created_server_vcpus -tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_server_details - -Test preconditions ------------------- - -* Compute quotas extension API - -Basic test flow execution description and pass/fail criteria ------------------------------------------------------------- - -Test execution -'''''''''''''' - -* Test action 1: Create a server VM1 with a admin password 'testpassword' -* **Test assertion 1:** Verify the password returned in the response equals to 'testpassword' -* Test action 2: Generate a VM name VM_NAME -* Test action 3: Create 2 servers VM2 and VM3 both with name VM_NAME -* **Test assertion 2:** Verify VM2's ID is not equal to VM3's ID, and VM2's name equal to VM3's name -* Test action 4: Create a server VM4 with a numeric name '12345' -* **Test assertion 3:** Verify creating VM4 failed -* Test action 5: Create a server VM5 with a long metadata '{'a': 'b' * 260}' -* **Test assertion 4:** Verify creating VM5 failed -* Test action 6: Create a server VM6 with name length exceeding 255 characters -* **Test assertion 5:** Verify creating VM6 failed -* Test action 7: Create a server VM7 with an unknown flavor '-1' -* **Test assertion 6:** Verify creating VM7 failed -* Test action 8: Create a server VM8 with an unknown image ID '-1' -* **Test assertion 7:** Verify creating VM8 failed -* Test action 9: Create a server VM9 with an invalid network UUID 'a-b-c-d-e-f-g-h-i-j' -* **Test assertion 8:** Verify creating VM9 failed -* Test action 10: Delete a server using a server ID that exceeds system's max integer limit -* **Test assertion 9:** Verify deleting server failed -* Test action 11: Delete a server using a server ID '-1' -* **Test assertion 10:** Verify deleting server failed -* Test action 12: Get a nonexistent server by using a random generated server ID -* **Test assertion 11:** Verify get server failed -* Test action 13: SSH into a provided server and get server's hostname -* **Test assertion 12:** Verify server's host name is the same as the server name -* Test action 14: SSH into a provided server and get server's hostname (manual disk configuration) -* **Test assertion 13:** Verify server's host name is the same as the server name (manual disk configuration) -* Test action 15: Create a server with an invalid access IPv6 address -* **Test assertion 14:** Verify creating server failed, a bad request error is returned in response -* Test action 16: List all existent servers -* **Test assertion 15:** Verify a provided server is in the server list -* Test action 17: List all existent servers in detail -* **Test assertion 16:** Verify a provided server is in the detailed server list -* Test action 18: List all existent servers (manual disk configuration) -* **Test assertion 17:** Verify a provided server is in the server list (manual disk configuration) -* Test action 19: List all existent servers in detail (manual disk configuration) -* **Test assertion 18:** Verify a provided server is in the detailed server list (manual disk configuration) -* Test action 20: List all existent servers in detail and filter the server list by flavor -* **Test assertion 19:** Verify the filtered server list is correct -* Test action 21: List all existent servers in detail and filter the server list by image -* **Test assertion 20:** Verify the filtered server list is correct -* Test action 22: List all existent servers in detail and filter the server list by server name -* **Test assertion 21:** Verify the filtered server list is correct -* Test action 23: List all existent servers in detail and filter the server list by server status -* **Test assertion 22:** Verify the filtered server list is correct -* Test action 24: List all existent servers in detail and filter the server list by display limit '1' -* **Test assertion 23:** Verify the length of filtered server list is 1 -* Test action 25: List all existent servers and filter the server list by flavor -* **Test assertion 24:** Verify the filtered server list is correct -* Test action 26: List all existent servers and filter the server list by image -* **Test assertion 25:** Verify the filtered server list is correct -* Test action 27: List all existent servers and filter the server list by display limit '1' -* **Test assertion 26:** Verify the length of filtered server list is 1 -* Test action 28: List all existent servers and filter the server list by server name -* **Test assertion 27:** Verify the filtered server list is correct -* Test action 29: List all existent servers and filter the server list by server status -* **Test assertion 28:** Verify the filtered server list is correct -* Test action 30: List all existent servers and filter the server list by server name wildcard -* **Test assertion 29:** Verify the filtered server list is correct -* Test action 31: List all existent servers and filter the server list by part of server name -* **Test assertion 30:** Verify the filtered server list is correct -* Test action 32: List all existent servers and filter the server list by a future change-since date -* **Test assertion 31:** Verify the filtered server list is empty -* Test action 33: List all existent servers and filter the server list by a invalid change-since date format -* **Test assertion 32:** Verify a bad request error is returned in the response -* Test action 34: List all existent servers and filter the server list by display limit '1' -* **Test assertion 33:** Verify the length of filtered server list is 1 -* Test action 35: List all existent servers and filter the server list by a - display limit value greater than the length of the server list -* **Test assertion 34:** Verify the length of filtered server list equals to the length of server list -* Test action 36: List all existent servers and filter the server list by display limit '-1' -* **Test assertion 35:** Verify a bad request error is returned in the response -* Test action 37: List all existent servers and filter the server list by a string type limit value 'testing' -* **Test assertion 36:** Verify a bad request error is returned in the response -* Test action 38: List all existent servers and filter the server list by a nonexistent flavor -* **Test assertion 37:** Verify the filtered server list is empty -* Test action 39: List all existent servers and filter the server list by a nonexistent image -* **Test assertion 38:** Verify the filtered server list is empty -* Test action 40: List all existent servers and filter the server list by a nonexistent server name -* **Test assertion 39:** Verify the filtered server list is empty -* Test action 41: List all existent servers in detail and search the server list for a deleted server -* **Test assertion 40:** Verify the deleted server is not in the server list -* Test action 42: List all existent servers and filter the server list by a nonexistent server status -* **Test assertion 41:** Verify the filtered server list is empty -* Test action 43: List all existent servers in detail -* **Test assertion 42:** Verify a provided deleted server's id is not in the server list -* Test action 44: Lock a provided server VM10 and retrieve the server's status -* **Test assertion 43:** Verify VM10 is in 'ACTIVE' status -* Test action 45: Stop VM10 -* **Test assertion 44:** Verify stop VM10 failed -* Test action 46: Unlock VM10 and stop VM10 again -* **Test assertion 45:** Verify VM10 is stopped and in 'SHUTOFF' status -* Test action 47: Start VM10 -* **Test assertion 46:** Verify VM10 is in 'ACTIVE' status -* Test action 48: Delete metadata item 'key1' from a provided server -* **Test assertion 47:** Verify the metadata item is removed -* Test action 49: Get metadata item 'key2' from a provided server -* **Test assertion 48:** Verify the metadata item is correct -* Test action 50: List all metadata key/value pair for a provided server -* **Test assertion 49:** Verify all metadata are retrieved correctly -* Test action 51: Set metadata {'meta2': 'data2', 'meta3': 'data3'} for a provided server -* **Test assertion 50:** Verify server's metadata are replaced correctly -* Test action 52: Set metadata item nova's value to 'alt' for a provided server -* **Test assertion 51:** Verify server's metadata are set correctly -* Test action 53: Update metadata {'key1': 'alt1', 'key3': 'value3'} for a provided server -* **Test assertion 52:** Verify server's metadata are updated correctly -* Test action 54: Create a server with empty name parameter -* **Test assertion 53:** Verify create server failed -* Test action 55: Hard reboot a provided server -* **Test assertion 54:** Verify server is rebooted successfully -* Test action 56: Soft reboot a nonexistent server -* **Test assertion 55:** Verify reboot failed, an error is returned in the response -* Test action 57: Rebuild a provided server with new image, new server name and metadata -* **Test assertion 56:** Verify server is rebuilt successfully, server image, name and metadata are correct -* Test action 58: Create a server VM11 -* Test action 59: Delete VM11 and wait for VM11 to reach termination -* Test action 60: Rebuild VM11 with another image -* **Test assertion 57:** Verify rebuild server failed, an error is returned in the response -* Test action 61: Rebuild a nonexistent server -* **Test assertion 58:** Verify rebuild server failed, an error is returned in the response -* Test action 62: Stop a provided server -* **Test assertion 59:** Verify server reaches 'SHUTOFF' status -* Test action 63: Start the stopped server -* **Test assertion 60:** Verify server reaches 'ACTIVE' status -* Test action 64: Stop a provided server -* **Test assertion 61:** Verify stop server failed, an error is returned in the response -* Test action 65: Create a server VM12 and wait it to reach 'ACTIVE' status -* Test action 66: Update VM12's IPv4 and IPv6 access addresses -* **Test assertion 62:** Verify VM12's access addresses have been updated correctly -* Test action 67: Create a server VM13 and wait it to reach 'ACTIVE' status -* Test action 68: Update VM13's server name with non-ASCII characters '\u00CD\u00F1st\u00E1\u00F1c\u00E9' -* **Test assertion 63:** Verify VM13's server name has been updated correctly -* Test action 69: Update the server name of a nonexistent server -* **Test assertion 64:** Verify update server name failed, an 'object not found' error is returned in the response -* Test action 70: Update a provided server's name with a 256-character long name -* **Test assertion 65:** Verify update server name failed, a bad request is returned in the response -* Test action 71: Update a provided server's server name with an empty string -* **Test assertion 66:** Verify update server name failed, a bad request error is returned in the response -* Test action 72: Get the number of vcpus of a provided server -* Test action 73: Get the number of vcpus stated by the server's flavor -* **Test assertion 67:** Verify that the number of vcpus reported by the server - matches the amount stated by the server's flavor -* Test action 74: Create a server VM14 -* **Test assertion 68:** Verify VM14's server attributes are set correctly -* Test action 75: Get the number of vcpus of a provided server (manual disk configuration) -* Test action 76: Get the number of vcpus stated by the server's flavor (manual disk configuration) -* **Test assertion 69:** Verify that the number of vcpus reported by the server - matches the amount stated by the server's flavor (manual disk configuration) -* Test action 77: Create a server VM15 (manual disk configuration) -* **Test assertion 70:** Verify VM15's server attributes are set correctly (manual disk configuration) -* Test action 78: Delete all VMs created - -Pass / fail criteria -'''''''''''''''''''' - -This test evaluates the functionality of basic server operations. -Specifically, the test verifies that: - -* If an admin password is provided on server creation, the server's root password should be set to that password -* Create a server with a name that already exists is allowed -* Create a server with a numeric name or a name that exceeds the length limit is not allowed -* Create a server with a metadata that exceeds the length limit is not allowed -* Create a server with an invalid flavor, an invalid image or an invalid network UUID is not allowed -* Delete a server with a server ID that exceeds the length limit or a nonexistent server ID is not allowed -* A provided server's host name is the same as the server name -* Create a server with an invalid IPv6 access address is not allowed -* A created server is in the (detailed) list of servers -* Filter the (detailed) list of servers by flavor, image, server name, server status, - and display limit, respectively. -* Filter the list of servers by a future date -* Filter the list of servers by an invalid date format, a negative display limit or a string type - display limit value is not allowed -* Filter the list of servers by a nonexistent flavor, image, server name or server status is not allowed -* Deleted servers are not in the list of servers -* Deleted servers do not show by default in list of servers -* Locked server is not allowed to be stopped by non-admin user -* Can get and delete metadata from servers -* Can list, set and update server metadata -* Create a server with name parameter empty is not allowed -* Hard reboot a server and the server should be power cycled -* Reboot, rebuild and stop a nonexistent server is not allowed -* Rebuild a server using the provided image and metadata -* Stop and restart a server -* A server's name and access addresses can be updated -* Update the name of a nonexistent server is not allowed -* Update name of a server to a name that exceeds the name length limit is not allowed -* Update name of a server to an empty string is not allowed -* The number of vcpus reported by the server matches the amount stated by the server's flavor -* The specified server attributes are set correctly - -In order to pass this test, all test assertions listed in the test execution above need to pass. - -Post conditions ---------------- - -N/A - ------------------------------------------------------------------ -Test Case 7 - Retrieve volume information through the Compute API ------------------------------------------------------------------ - -Test case specification ------------------------ - -This test case evaluates the Compute API ability of attaching volume to a -specific server and retrieve volume information, the reference is, - -tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_attach_detach_volume -tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_list_get_volume_attachments - -Test preconditions ------------------- - -* Compute volume extension API - -Basic test flow execution description and pass/fail criteria ------------------------------------------------------------- - -Test execution -'''''''''''''' - -* Test action 1: Create a server VM1 and a volume VOL1 -* Test action 2: Attach VOL1 to VM1 -* **Test assertion 1:** Stop VM1 successfully and wait VM1 to reach 'SHUTOFF' status -* **Test assertion 2:** Start VM1 successfully and wait VM1 to reach 'ACTIVE' status -* **Test assertion 3:** SSH into VM1 and verify VOL1 is in VM1's root disk devices -* Test action 3: Detach VOL1 from VM1 -* **Test assertion 4:** Stop VM1 successfully and wait VM1 to reach 'SHUTOFF' status -* **Test assertion 5:** Start VM1 successfully and wait VM1 to reach 'ACTIVE' status -* **Test assertion 6:** SSH into VM1 and verify VOL1 is not in VM1's root disk devices -* Test action 4: Create a server VM2 and a volume VOL2 -* Test action 5: Attach VOL2 to VM2 -* Test action 6: List VM2's volume attachments -* **Test assertion 7:** Verify the length of the list is 1 and VOL2 attachment is in the list -* Test action 7: Retrieve VM2's volume information -* **Test assertion 8:** Verify volume information is correct -* Test action 8: Delete VM1, VM2, VOL1 and VOL2 - -Pass / fail criteria -'''''''''''''''''''' - -This test evaluates the functionality of retrieving volume information. -Specifically, the test verifies that: - -* Stop and start a server with an attached volume work correctly. -* Retrieve a server's volume information correctly. - -In order to pass this test, all test assertions listed in the test execution above need to pass. - -Post conditions ---------------- - -N/A |