blob: ff2e05e9fa255342802d0cf8b5249b7a3c23f46d [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<vmapi>
<!--
KEEP IN MIND: EXPUNGE INTERVAL, PASSWORD ENABLED TEMPLATE
STEPS/TEST CASES COVERED:
1. Deploy a Virtual Machine in admin account
2. Destroy the Virtual Machine
3. List the Destroyed Virtual Machine
4. Check that the Destroyed VM cannot be started
5. Check that a non-existing VM cannot be listed (Id doesnt exist)
6. Create the Account and a User for the account (List VM for a Removed User exercise BEGIN)
7. List the Created User
8. Creating default network
9. Deploy Virtual Machine in the New Account
10. Delete User
11. Delete Account
12. Check that no VMs present under the Account(List VM for a Removed User exercise END)
13. updateVirtualMachine api: should deny to update Destroyed vms
14. Verify that one can't enable HA for non-existing vm
15. Recover the Destroyed VM
16. Verify that one can reset password for VM in stopped state
17. Verify that one can enable HA for VM in stopped state
18. Start Virtual Machine (reset password for VM in running state exercise BEGIN)
19. Verify that one can reset password for VM in running state
20. Verify that one can disable HA for VM in running state
21. Destroy Virtual Machine (reset password on a destroyed VM exercise BEGIN)
22. Verify that one can't reset password for VM in destroyed state
23. Verify that one can't reboot destroyed VM
24. Deploy Virtual Machine to test reset password negative case
25. Check whether password can be reset on virtual machine made from password disabled VM
26. Try to change service offering for VM in running state
27. Stop the Virtual machine to change its Service Offering
28. Try to change service offering to the one that VM already has -ve case
29. Try to reboot stopped virtual machine - Negative case
30. Try to recover stopped virtual machine
31. Start the Virtual Machine
32. Try to recover running virtual machine
33. Try to deploy vm and assign it to non-existing account -ve case
34. Try to deploy vm and assign it to removed account -ve case
35. Try to send destroy command for non-existing vm -ve case
36. Try to send reboot command for non-existing vm -ve case
37. Try to send start command for non-existing vm -ve case
38. Destroy Virtual Machine as part of Clean up
-->
<!-- Test case #72 - verify that listVm command doesn't display VM in expunging state but displays a VM in destroyed state -->
<command>
<name>deployVirtualMachine</name>
<testcase> [Deploy Virtual Machine in Admin Account]</testcase>
<parameters>
<item getparam="true">
<name>zoneid</name>
<param>globalzoneid</param>
</item>
<item getparam="true">
<name>serviceofferingid</name>
<param>globalserviceofferingid</param>
</item>
<item getparam="true">
<name>diskofferingid</name>
<param>globaldiskofferingid</param>
</item>
<item getparam="true">
<name>templateid</name>
<param>globaltemplateid</param>
</item>
<item>
<name>account</name>
<value>admin</value>
</item>
<item>
<name>domainid</name>
<value>1</value>
</item>
<item>
<name>displayname</name>
<value>VMapis-VM</value>
</item>
<item>
<name>group</name>
<value>group1</value>
</item>
<item getparam="true">
<name>networkids</name>
<param>globalnetworkid</param>
</item>
</parameters>
<returnvalue>
<item setparam="true">
<name>id</name>
<param>vmid</param>
</item>
<item setparam="true">
<name>name</name>
<param>vmname</param>
</item>
<item setparam="true">
<name>ipaddress</name>
<param>vmipaddress</param>
</item>
</returnvalue>
</command>
<command>
<name>destroyVirtualMachine</name>
<testcase> [Destroy Virtual Machine]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<command>
<name>listVirtualMachines</name>
<testcase>72 [List the Destroyed Virutal Machine]</testcase>
<parameters>
<item>
<name>account</name>
<value>admin</value>
</item>
<item getparam="true">
<name>name</name>
<param>vmname</param>
</item>
</parameters>
</command>
<!-- Test case #92 - verify that you can't start destroyed virtual machine -->
<command>
<name>startVirtualMachine</name>
<testcase>92 [Check that the Destroyed VM cannot be started]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<!-- Test case #73 - verify that listVm returns nothing when id of non-existing VM is specified -->
<command>
<name>listVirtualMachines</name>
<testcase>73 [Check that a non-existing VM cannot be listed (Id doesnt exist)]</testcase>
<parameters>
<item>
<name>account</name>
<value>admin</value>
</item>
<item>
<name>id</name>
<value>100000000</value>
</item>
</parameters>
</command>
<!-- Test case #74 - verify that listVm returns empty response when account=removedAccount is specified -->
<command>
<name>createAccount</name>
<testcase> [Create the Account and a User for the account (List VM for a Removed User exercise BEGIN)]</testcase>
<parameters>
<item setparam="true" random="true">
<name>account</name>
<param>accountname</param>
</item>
<item>
<name>accounttype</name>
<value>0</value>
</item>
<item>
<name>domainid</name>
<value>1</value>
</item>
<item>
<name>email</name>
<value>testcase74@gmail.com</value>
</item>
<item>
<name>firstname</name>
<value>testcase74</value>
</item>
<item>
<name>lastname</name>
<value>testcase74lastname</value>
</item>
<item random="true">
<name>username</name>
</item>
<item>
<name>password</name>
<value>password</value>
</item>
</parameters>
<returnvalue>
<item setparam="true">
<name>id</name>
<param>accountid</param>
</item>
<item getparam="true">
<name>name</name>
<param>accountname</param>
</item>
</returnvalue>
</command>
<!-- Test case #5 - listUsers command -->
<command>
<name>listUsers</name>
<testcase> [List the Created User]</testcase>
<parameters>
<item getparam="true">
<name>account</name>
<param>accountname</param>
</item>
</parameters>
<returnvalue>
<item setparam="true">
<name>id</name>
<param>userid</param>
</item>
<item setparam="true">
<name>username</name>
<param>usernameparam</param>
</item>
</returnvalue>
</command>
<!--
<command>
<name>createUser</name>
<parameters>
<item random="true">
<name>username</name>
</item>
<item>
<name>password</name>
<value>testcase74</value>
</item>
<item>
<name>firstname</name>
<value>testcase74</value>
</item>
<item>
<name>lastname</name>
<value>testcase74</value>
</item>
<item>
<name>email</name>
<value>testcase74@gmail.com</value>
</item>
<item>
<name>accounttype</name>
<value>0</value>
</item>
</parameters>
<returnvalue>
<item verify="false" setparam="true">
<name>account</name>
<param>accountname</param>
</item>
<item verify="false" setparam="true">
<name>id</name>
<param>userid</param>
</item>
</returnvalue>
</command>
-->
<command>
<name>createNetwork</name>
<testcase> [Creating default network for the account]</testcase>
<parameters>
<item getparam="true">
<name>zoneid</name>
<param>globalzoneid</param>
</item>
<item getparam="true">
<name>networkOfferingId</name>
<param>globalnetworkofferingid</param>
</item>
<item getparam="true">
<name>account</name>
<param>accountname</param>
</item>
<item>
<name>domainid</name>
<value>1</value>
</item>
<item>
<name>name</name>
<value>vmapi_network</value>
</item>
<item>
<name>displaytext</name>
<value>vmapi_network</value>
</item>
</parameters>
<returnvalue>
<item setparam="true">
<name>id</name>
<param>networkid</param>
</item>
</returnvalue>
</command>
<command>
<name>deployVirtualMachine</name>
<testcase> [Deploy Virtual Machine in the new Account]</testcase>
<parameters>
<item getparam="true">
<name>zoneid</name>
<param>globalzoneid</param>
</item>
<item getparam="true">
<name>serviceofferingid</name>
<param>globalserviceofferingid</param>
</item>
<item getparam="true">
<name>diskofferingid</name>
<param>globaldiskofferingid</param>
</item>
<item getparam="true">
<name>templateid</name>
<param>globaltemplateid</param>
</item>
<item getparam="true">
<name>account</name>
<param>accountname</param>
</item>
<item>
<name>domainid</name>
<value>1</value>
</item>
<item>
<name>displayname</name>
<value>VMapis-VM-2</value>
</item>
<item>
<name>group</name>
<value>group1</value>
</item>
<item getparam="true">
<name>networkids</name>
<param>networkid</param>
</item>
</parameters>
<returnvalue>
<item setparam="true">
<name>id</name>
<param>vmid2</param>
</item>
<item setparam="true">
<name>name</name>
<param>vmname</param>
</item>
<item setparam="true">
<name>ipaddress</name>
<param>vmipaddress</param>
</item>
</returnvalue>
</command>
<command>
<name>deleteUser</name>
<testcase> [Delete User]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>userid</param>
</item>
</parameters>
</command>
<command>
<name>deleteAccount</name>
<testcase> [Delete Account]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>accountid</param>
</item>
</parameters>
</command>
<command>
<name>listVirtualMachines</name>
<testcase>74 [Check that no VMs present under the Account(List VM for a Removed User exercise END)]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>account</name>
<param>accountname</param>
</item>
<item>
<name>domainid</name>
<value>1</value>
</item>
</parameters>
</command>
<!-- Test case #77 - verify that you can't enable HA for VM in destroyed state -->
<command>
<name>updateVirtualMachine</name>
<testcase>77 - Bug 3237 [updateVirtualMachine api: should deny to update Destroyed vms]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
<item>
<name>haenable</name>
<value>true</value>
</item>
</parameters>
</command>
<!-- Test case #592 - verify that you can't enable HA for non-existing vm -->
<command>
<name>updateVirtualMachine</name>
<testcase>592 [Verify that you can't enable HA for non-existing vm]</testcase>
<error>true</error>
<parameters>
<item>
<name>id</name>
<value>1000000</value>
</item>
<item>
<name>haenable</name>
<value>true</value>
</item>
</parameters>
</command>
<!-- Test case #79 - verify that you can reset password for VM in stopped state -->
<command>
<name>recoverVirtualMachine</name>
<testcase> [Recover the Destroyed VM]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<command>
<name>resetPasswordForVirtualMachine</name>
<testcase>79-1 [Verify that one can reset password for VM in stopped state]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<!-- Test case #76 - verify that you can enable HA for VM in stopped state -->
<command>
<name>updateVirtualMachine</name>
<testcase>76 [Verify that one can enable HA for VM in stopped state]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
<item>
<name>haenable</name>
<value>true</value>
</item>
</parameters>
</command>
<!-- Test case #79 - verify that you can reset password for VM in running state -->
<command>
<name>startVirtualMachine</name>
<testcase> [Start Virtual Machine (reset password for VM in running state exercise BEGIN)]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<command>
<name>resetPasswordForVirtualMachine</name>
<testcase>79-2 [Verify that one can reset password for VM in running state]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<!-- Test case #76 - verify that you can disable HA for VM in running state -->
<command>
<name>updateVirtualMachine</name>
<testcase>76 [Verify that one can disable HA for VM in running state]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
<item>
<name>haenable</name>
<value>false</value>
</item>
</parameters>
</command>
<!-- Test case #80 - verify that you can't reset password for VM in destroyed state -->
<command>
<name>destroyVirtualMachine</name>
<testcase> [Destroy Virtual Machine (reset password on a destroyed VM exercise BEGIN)]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<command>
<name>resetPasswordForVirtualMachine</name>
<testcase>80 [Verify that one can't reset password for VM in destroyed state]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<!-- Test case #89 - verify that you can't reboot destroyed VM -->
<command>
<name>rebootVirtualMachine</name>
<testcase>89 [Verify that one can't reboot destroyed VM]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>vmid</param>
</item>
</parameters>
</command>
<!-- Test case #81 - resetpassword for virtual machine which was made of template with password disabled - Negative case -->
<command>
<name>deployVirtualMachine</name>
<testcase> [Deploy Virtual Machine to test reset password negative case]</testcase>
<parameters>
<item getparam="true">
<name>zoneid</name>
<param>globalzoneid</param>
</item>
<item getparam="true">
<name>serviceofferingid</name>
<param>globalserviceofferingid</param>
</item>
<item getparam="true">
<name>diskofferingid</name>
<param>globaldiskofferingid</param>
</item>
<item getparam="true">
<name>templateid</name>
<param>globaltemplateid</param>
</item>
<item>
<name>account</name>
<value>admin</value>
</item>
<item>
<name>domainid</name>
<value>1</value>
</item>
<item>
<name>displayname</name>
<value>VMapis-VM-3</value>
</item>
<item>
<name>group</name>
<value>group1</value>
</item>
<item getparam="true">
<name>networkids</name>
<param>networkid</param>
</item>
</parameters>
<returnvalue>
<item setparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
<item setparam="true">
<name>name</name>
<param>windowsvmname</param>
</item>
<item setparam="true">
<name>ipaddress</name>
<param>windowsvmipaddress</param>
</item>
</returnvalue>
</command>
<command>
<name>resetPasswordForVirtualMachine</name>
<testcase>81 [Check whether password can be reset on virtual machine made from password disabled VM]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
</parameters>
</command>
<!-- Test case #82 - try to change service offering for VM in running state - should fail - Negative case -->
<command>
<name>changeServiceForVirtualMachine</name>
<testcase>82 [Try to change service offering for VM in running state]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
<item getparam="true">
<name>serviceofferingid</name>
<param>mediumglobalserviceofferingid</param>
</item>
</parameters>
</command>
<!-- Test case #83 - try to change service offering to the one that VM already has - should fail - Negative case -->
<command>
<name>stopVirtualMachine</name>
<testcase> [Stop the Virtual machine to change its Service Offering]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
</parameters>
</command>
<command>
<name>changeServiceForVirtualMachine</name>
<testcase>83 [Try to change service offering to the one that VM already has -ve case]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
<item getparam="true">
<name>serviceofferingid</name>
<value>globalserviceofferingid</value>
</item>
</parameters>
</command>
<!-- Test case #90 - try to reboot stopped vitrual machine - should fail - Negative case -->
<command>
<name>rebootVirtualMachine</name>
<testcase>90 [Try to reboot stopped vitrual machine - Negative case]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
</parameters>
</command>
<!-- Test case #95 - try to recover stopped/running virtual machine - should fail -->
<command>
<name>recoverVirtualMachine</name>
<testcase>813 [Try to recover stopped virtual machine]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
</parameters>
</command>
<command>
<name>startVirtualMachine</name>
<testcase> [Start virtual machine]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
</parameters>
</command>
<command>
<name>recoverVirtualMachine</name>
<testcase>813 [Try to recover running virtual machine]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
</parameters>
</command>
<!-- Test case #84 - try to deploy vm and assign it to non-existing account - should fail - Negative case -->
<command>
<name>deployVirtualMachine</name>
<testcase>84 [Try to deploy vm and assign it to non-existing account -ve case]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>zoneid</name>
<param>globalzoneid</param>
</item>
<item getparam="true">
<name>serviceofferingid</name>
<param>globalserviceofferingid</param>
</item>
<item getparam="true">
<name>diskofferingid</name>
<param>globaldiskofferingid</param>
</item>
<item getparam="true">
<name>templateid</name>
<param>globaltemplateid</param>
</item>
<item>
<name>account</name>
<value>blahblah-invaliduser</value>
</item>
<item>
<name>domainid</name>
<value>1</value>
</item>
<item>
<name>displayname</name>
<value>VMapis-VM-4</value>
</item>
<item>
<name>group</name>
<value>group1</value>
</item>
<item getparam="true">
<name>networkids</name>
<param>globalnetworkid</param>
</item>
</parameters>
</command>
<!-- Test case #85 - try to deploy vm and assign it to removed account - should fail - Negative case -->
<command>
<name>deployVirtualMachine</name>
<testcase>85 [Try to deploy vm and assign it to removed account -ve case]</testcase>
<error>true</error>
<parameters>
<item getparam="true">
<name>zoneid</name>
<param>globalzoneid</param>
</item>
<item getparam="true">
<name>serviceofferingid</name>
<param>globalserviceofferingid</param>
</item>
<item getparam="true">
<name>diskofferingid</name>
<param>globaldiskofferingid</param>
</item>
<item getparam="true">
<name>templateid</name>
<param>globaltemplateid</param>
</item>
<item getparam="true">
<name>account</name>
<param>accountname</param>
</item>
<item>
<name>domainid</name>
<value>1</value>
</item>
<item>
<name>displayname</name>
<value>VMapis-VM-5</value>
</item>
<item>
<name>group</name>
<value>group1</value>
</item>
<item getparam="true">
<name>networkids</name>
<param>networkid</param>
</item>
</parameters>
</command>
<!-- Test case #87 - try to send destroy command for non-existing vm - should fail - Negative case -->
<command>
<name>destroyVirtualMachine</name>
<testcase>87 [Try to send destroy command for non-existing vm -ve case]</testcase>
<error>true</error>
<parameters>
<item>
<name>id</name>
<value>100000</value>
</item>
</parameters>
</command>
<!-- Test case #88 - try to send reboot command for non-existing vm - should fail - Negative case -->
<command>
<name>rebootVirtualMachine</name>
<testcase>88 [Try to send reboot command for non-existing vm -ve case]</testcase>
<error>true</error>
<parameters>
<item>
<name>id</name>
<value>100000</value>
</item>
</parameters>
</command>
<!-- Test case #91 - try to send start command for non-existing vm - should fail - Negative case -->
<command>
<name>startVirtualMachine</name>
<testcase>88 [Try to send start command for non-existing vm -ve case]</testcase>
<error>true</error>
<parameters>
<item>
<name>id</name>
<value>100000</value>
</item>
</parameters>
</command>
<!-- Execute cleanup - destroy the VM-->
<command>
<name>destroyVirtualMachine</name>
<testcase> [Destroy Virtual Machine as part of Clean up]</testcase>
<parameters>
<item getparam="true">
<name>id</name>
<param>windowsvmid</param>
</item>
</parameters>
</command>
</vmapi>