| <!-- |
| 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> |