mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
408 lines
9.9 KiB
XML
408 lines
9.9 KiB
XML
<!--
|
|
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>
|