2 Documentation Test suite to verify live Migaration of VM instance also verify the connectivity
3 ... of VM instance while Migrating the instance,
5 Library OperatingSystem
6 Library RequestsLibrary
8 Resource ../../../libraries/DevstackUtils.robot
9 Resource ../../../libraries/KarafKeywords.robot
10 Resource ../../../libraries/LiveMigration.robot
11 Resource ../../../libraries/OpenStackOperations.robot
12 Resource ../../../libraries/RemoteBash.robot
13 Resource ../../../libraries/SetupUtils.robot
14 Resource ../../../libraries/Utils.robot
16 Suite Setup Suite Setup
17 Suite Teardown LiveMigration.Live Migration Suite Teardown
18 Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
19 Test Teardown OpenStackOperations.Get Test Teardown Debugs
23 ${SECURITY_GROUP} migration_sg
24 @{NETWORKS} migration_net_1
25 @{SUBNETS} migration_sub_1
26 @{NET_1_VMS} migration_net_1_vm_1 migration_net_1_vm_2
27 @{SUBNETS_RANGE} 130.0.0.0/24
31 Migrate Instance And Verify Connectivity While Migration And After
32 [Documentation] migrate the server to different host.
33 ... and check the connectivity during Migration
34 ... with a ping test from DHCP NS.
35 ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0]
36 ${devstack_conn_id} = OpenStackOperations.Get ControlNode Connection
37 SSHLibrary.Switch Connection ${devstack_conn_id}
38 ${output} = SSHLibrary.Write sudo ip netns exec qdhcp-${net_id} ping ${NET1_VM_IPS}[0]
39 ${vm_host_before_migration} = OpenStackOperations.Get Hypervisor Host Of Vm ${NET_1_VMS}[0]
40 OpenStackOperations.Server Live Migrate ${NET_1_VMS}[0]
41 ${vm_list} = BuiltIn.Create List ${NET_1_VMS}[0]
42 FOR ${vm} IN @{vm_list}
43 BuiltIn.Wait Until Keyword Succeeds 6x 20s OpenStackOperations.Check If Migration Is Complete ${vm}
45 ${vm_host_after_migration} = OpenStackOperations.Get Hypervisor Host Of Vm ${NET_1_VMS}[0]
46 IF "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp"
47 BuiltIn.Should Match ${vm_host_after_migration} ${vm_host_before_migration}
49 BuiltIn.Should Not Match ${vm_host_after_migration} ${vm_host_before_migration}
51 SSHLibrary.Switch Connection ${devstack_conn_id}
52 RemoteBash.Write_Bare_Ctrl_C
53 ${output} = SSHLibrary.Read Until packet loss
54 BuiltIn.Should Contain ${output} 64 bytes
55 ${output} = DevstackUtils.Write Commands Until Prompt
56 ... sudo ip netns exec qdhcp-${net_id} ping -c 10 ${NET1_VM_IPS}[0]
57 BuiltIn.Should Contain ${output} 64 bytes
62 LiveMigration.Live Migration Suite Setup
63 OpenstackOperations.Create Network ${NETWORKS}[0]
64 OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNETS_RANGE}[0]
65 OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP}
66 OpenStackOperations.Create Vm Instance On Compute Node
69 ... ${OS_CMP1_HOSTNAME}
70 ... sg=${SECURITY_GROUP}
71 OpenStackOperations.Create Vm Instance On Compute Node
74 ... ${OS_CMP2_HOSTNAME}
75 ... sg=${SECURITY_GROUP}
76 @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
77 BuiltIn.Set Suite Variable @{NET_1_VM_IPS}
78 BuiltIn.Should Not Contain ${NET_1_VM_IPS} None
79 BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None
80 OpenStackOperations.Show Debugs @{NET_1_VMS}
81 OpenStackOperations.Get Suite Debugs