<!-- | |
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. | |
--> | |
<vmsynctest> | |
<!-- 1. Deploy two VMs, One HA enabled, One HA disabled --> | |
<!-- 1.1 Deploy HA enabled VM --> | |
<command> | |
<name>deployVirtualMachine</name> <!--deploy vm 1--> | |
<testcase>deploy HA enabled VM test case</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>diskofferingid</name> | |
<param>globaldiskofferingid</param> | |
</item> | |
<item getparam="true"> | |
<name>serviceofferingid</name> | |
<param>globalserviceofferingid</param> | |
</item> | |
<item getparam="true"> | |
<name>templateid</name> | |
<param>globaltemplateid</param> | |
</item> | |
<item getparam="true"> | |
<name>zoneid</name> | |
<param>globalzoneid</param> | |
</item> | |
<item> | |
<name>displayname</name> | |
<value>HAenabledVM</value> | |
</item> | |
<item> | |
<name>account</name> | |
<value>admin</value> | |
</item> | |
<item> | |
<name>domainid</name> | |
<value>1</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_en</param> | |
</item> | |
<item setparam="true"> | |
<name>name</name> | |
<param>vmname_en</param> | |
</item> | |
<item setparam="true"> | |
<name>hostid</name> | |
<param>hostid_en</param> | |
</item> | |
</returnvalue> | |
</command> | |
<!-- 1.2 Deploy the HA disabled VM --> | |
<command> | |
<name>deployVirtualMachine</name> <!--deploy vm 1--> | |
<testcase>deploy HA disabled VM test case</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>diskofferingid</name> | |
<param>globaldiskofferingid</param> | |
</item> | |
<item getparam="true"> | |
<name>serviceofferingid</name> | |
<param>globalserviceofferingid</param> | |
</item> | |
<item getparam="true"> | |
<name>templateid</name> | |
<param>globaltemplateid</param> | |
</item> | |
<item getparam="true"> | |
<name>zoneid</name> | |
<param>globalzoneid</param> | |
</item> | |
<item> | |
<name>displayname</name> | |
<value>HAdisabledVM</value> | |
</item> | |
<item> | |
<name>account</name> | |
<value>admin</value> | |
</item> | |
<item> | |
<name>domainid</name> | |
<value>1</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_db</param> | |
</item> | |
<item setparam="true"> | |
<name>name</name> | |
<param>vmname_db</param> | |
</item> | |
<item setparam="true"> | |
<name>hostid</name> | |
<param>hostid_db</param> | |
</item> | |
</returnvalue> | |
</command> | |
<!-- 2. Enable and disable HA on the VMs respectively --> | |
<!-- 2.1 Enable HA --> | |
<command> | |
<name>updateVirtualMachine</name> | |
<testcase>HA enable virtual machine</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>vmid_en</param> | |
</item> | |
<item> | |
<name>displayname</name> | |
<value>HAenabledVirtualMachine</value> | |
</item> | |
<item> | |
<name>haenable</name> | |
<value>true</value> | |
</item> | |
</parameters> | |
</command> | |
<!-- 2.2 Disable HA --> | |
<command> | |
<name>updateVirtualMachine</name> | |
<testcase>HA disable virtual machine</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>vmid_db</param> | |
</item> | |
<item> | |
<name>displayname</name> | |
<value>HAdisabledVirtualMachine</value> | |
</item> | |
<item> | |
<name>haenable</name> | |
<value>false</value> | |
</item> | |
</parameters> | |
</command> | |
<!-- 3. Obtain the Host IP addresses for the Hosts accommodating the VMs --> | |
<!-- 3.1 Obtains the Host IP address of the HA enabled VM's Host machine --> | |
<command> | |
<name>listHosts</name> | |
<testcase>Obtain IP address of ha disabled VM's Host Test Case</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>hostid_db</param> | |
</item> | |
</parameters> | |
<returnvalue> | |
<item setparam="true"> | |
<name>ipaddress</name> | |
<param>ipaddress_db</param> | |
</item> | |
</returnvalue> | |
</command> | |
<!-- 3.2 Obtains the Host IP address of the HA disabled VM's Host machine --> | |
<command> | |
<name>listHosts</name> | |
<testcase>Obtain IP address of ha enabled VM's Host Test Case</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>hostid_en</param> | |
</item> | |
</parameters> | |
<returnvalue> | |
<item setparam="true"> | |
<name>ipaddress</name> | |
<param>ipaddress_en</param> | |
</item> | |
</returnvalue> | |
</command> | |
<!-- 4. Get VM instance name of the VMs from the db --> | |
<command> | |
<name>select instance_name from vm_instance</name> | |
<mysql>true</mysql> | |
<testcase>Obtaining the internal instance name for the ha disabled VM Test Case</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>vmid_db</param> | |
</item> | |
</parameters> | |
<returnvalue> | |
<item setparam="true"> | |
<name>instance_name</name> | |
<param>instance_name_db</param> | |
</item> | |
</returnvalue> | |
</command> | |
<command> | |
<name>select instance_name from vm_instance</name> | |
<mysql>true</mysql> | |
<testcase>Obtaining the internal instance name for the ha enabled VM Test Case</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>vmid_en</param> | |
</item> | |
</parameters> | |
<returnvalue> | |
<item setparam="true"> | |
<name>instance_name</name> | |
<param>instance_name_en</param> | |
</item> | |
</returnvalue> | |
</command> | |
<!-- 5. Kill the two VMs --> | |
<command> | |
<name>killvm.sh</name> | |
<testcase>Kill the HA enabled VM</testcase> | |
<script>true</script> | |
<parameters> | |
<item getparam="true"> | |
<name>n</name> | |
<param>instance_name_en</param> | |
</item> | |
<item getparam="true"> | |
<name>h</name> | |
<param>ipaddress_en</param> | |
</item> | |
</parameters> | |
</command> | |
<command> | |
<name>killvm.sh</name> | |
<testcase>Kill the HA disabled VM</testcase> | |
<script>true</script> | |
<parameters> | |
<item getparam="true"> | |
<name>n</name> | |
<param>instance_name_db</param> | |
</item> | |
<item getparam="true"> | |
<name>h</name> | |
<param>ipaddress_db</param> | |
</item> | |
</parameters> | |
</command> | |
<!--6. Wait for some time for the management server to respond --> | |
<command> | |
<name>sleep.sh</name> | |
<script>true</script> | |
<testcase>Sleep for some time</testcase> | |
<parameters> | |
<item> | |
<name>s</name> | |
<value>300</value> | |
</item> | |
</parameters> | |
</command> | |
<!-- Check that States of the vms at the database and at the agents - verify both api and backend --> | |
<!-- 7. Check the Management Server Database for the states of the killed VMs --> | |
<command> | |
<name>listVirtualMachines</name> | |
<testcase>List virtual machine with ha disabled</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>vmid_db</param> | |
</item> | |
</parameters> | |
<returnvalue> | |
<item> | |
<name>state</name> | |
<value>Stopped</value> | |
</item> | |
</returnvalue> | |
</command> | |
<command> | |
<name>listVirtualMachines</name> | |
<testcase>List virtual machine with ha enabled</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>vmid_en</param> | |
</item> | |
</parameters> | |
<returnvalue> | |
<item> | |
<name>state</name> | |
<value>Running</value> | |
</item> | |
<item setparam="true"> <!-- HA enabled VM may be restarted on any hosts --> | |
<name>hostid</name> | |
<param>hostid_en</param> | |
</item> | |
</returnvalue> | |
</command> | |
<!-- 9. Find the host IP address of the ha enabled VM --> | |
<command> | |
<name>listHosts</name> | |
<testcase>List host with ha enabled machine</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>hostid_en</param> | |
</item> | |
</parameters> | |
<returnvalue> | |
<item setparam="true"> | |
<name>ipaddress</name> | |
<param>ipaddress_en</param> | |
</item> | |
</returnvalue> | |
</command> | |
<!-- 10. Verify whether the HA enabled VM is actually running on the host --> | |
<command> | |
<name>listvm.sh</name> | |
<script>true</script> | |
<testcase>List ha enabled machine</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>h</name> | |
<param>ipaddress_en</param> | |
</item> | |
<item getparam="true"> | |
<name>n</name> | |
<param>instance_name_en</param> | |
</item> | |
</parameters> | |
</command> | |
<!-- Cleanup section --> | |
<!-- 11. Destroy VMs--> | |
<command> | |
<name>destroyVirtualMachine</name> | |
<testcase>Destroy ha disabled vm as a part of cleanup</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>vmid_db</param> | |
</item> | |
</parameters> | |
</command> | |
<command> | |
<name>destroyVirtualMachine</name> | |
<testcase>Destroy ha enabled vm as a part of cleanup</testcase> | |
<parameters> | |
<item getparam="true"> | |
<name>id</name> | |
<param>vmid_en</param> | |
</item> | |
</parameters> | |
</command> | |
</vmsynctest> |