Merge "Testing live migration using qemu"
[yardstick.git] / tests / opnfv / test_cases / opnfv_yardstick_tc023.yaml
1 ##############################################################################
2 # Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
3 #
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9 ---
10
11 schema: "yardstick:task:0.1"
12
13 {% set file = file or "etc/yardstick/nodes/compass_sclab_virtual/pod.yaml" %}
14 {% set cpu_set = cpu_set or "0,1,2,3" %}
15 {% set memory_load = memory_load or 0 %}
16
17 {% set flavor = flavor or "yardstick-migrate-flavor" %}
18 {% set ram = ram or "2048" %}
19 {% set vcpus = vcpus or "2" %}
20 {% set disk = disk or "3" %}
21
22 scenarios:
23 -
24   type: GetServer
25
26   output: status server
27
28   host: server.migrate
29
30   runner:
31     type: Iteration
32     iteration: 1
33 -
34   type: GetNumaInfo
35
36   options:
37     server: $server
38     file: {{ file }}
39
40   output: origin_numa_info
41
42   host: server.migrate
43
44   runner:
45     type: Iteration
46     iteration: 1
47 -
48   type: GetMigrateTargetHost
49
50   options:
51     server: $server
52   output: target_host
53
54   runner:
55     type: Iteration
56     iteration: 1
57 -
58   type: GetServerIp
59
60   options:
61     server: $server
62
63   output: server_ip
64
65   runner:
66     type: Iteration
67     iteration: 1
68 -
69   type: AddMemoryLoad
70
71   options:
72     memory_load: {{ memory_load }}
73
74   host: server.migrate
75
76   runner:
77     type: Iteration
78     iteration: 1
79 -
80   type: Migrate
81
82   options:
83     server: $server
84     host: $target_host
85     server_ip: $server_ip
86
87   output: status migrate_time1 downtime1
88
89   runner:
90     type: Iteration
91     iteration: 1
92 -
93   type: CheckValue
94
95   options:
96     value1: $status
97     value2: 0
98     operator: eq
99
100   runner:
101     type: Iteration
102     iteration: 1
103 -
104   type: GetServer
105
106   output: status server
107
108   host: server.migrate
109
110   runner:
111     type: Iteration
112     iteration: 1
113 -
114   type: GetNumaInfo
115
116   options:
117     server: $server
118     file: {{ file }}
119
120   output: new_numa_info
121
122   host: server.migrate
123
124   runner:
125     type: Iteration
126     iteration: 1
127 -
128   type: CheckNumaInfo
129
130   options:
131     info1: $origin_numa_info
132     info2: $new_numa_info
133     cpu_set: {{ cpu_set }}
134
135   output: status
136
137   runner:
138     type: Iteration
139     iteration: 1
140 -
141   type: CheckValue
142
143   options:
144     value1: $status
145     value2: true
146     operator: eq
147
148   runner:
149     type: Iteration
150     iteration: 1
151
152
153 contexts:
154 -
155   type: Node
156   name: env-prepare
157   file: {{ file }}
158
159   env:
160     type: ansible
161     setup: migrate_pinning_setup.yaml -e "flavor={{ flavor }} ram={{ ram }} vcpus={{ vcpus }} disk={{ disk }} cpu_set={{ cpu_set }}"
162     teardown: migrate_pinning_teardown.yaml -e "flavor={{ flavor }}"
163
164 -
165   name: migrate
166   image: yardstick-image
167   flavor: {{ flavor }}
168   user: ubuntu
169
170   servers:
171     server:
172       floating_ip: true
173
174   networks:
175     test:
176       cidr: '10.0.1.0/24'