Revision c294f84e
b/Makefile.am | ||
---|---|---|
1095 | 1095 |
test/data/cert1.pem \ |
1096 | 1096 |
test/data/cert2.pem \ |
1097 | 1097 |
test/data/cluster_config_2.7.json \ |
1098 |
test/data/cluster_config_downgraded_2.7.json \
|
|
1098 |
test/data/cluster_config_2.8.json \
|
|
1099 | 1099 |
test/data/instance-minor-pairing.txt \ |
1100 | 1100 |
test/data/ip-addr-show-dummy0.txt \ |
1101 | 1101 |
test/data/ip-addr-show-lo-ipv4.txt \ |
b/test/data/cluster_config_2.8.json | ||
---|---|---|
1 |
{ |
|
2 |
"cluster": { |
|
3 |
"beparams": { |
|
4 |
"default": { |
|
5 |
"always_failover": false, |
|
6 |
"auto_balance": true, |
|
7 |
"maxmem": 128, |
|
8 |
"minmem": 128, |
|
9 |
"spindle_use": 1, |
|
10 |
"vcpus": 1 |
|
11 |
} |
|
12 |
}, |
|
13 |
"blacklisted_os": [], |
|
14 |
"candidate_pool_size": 10, |
|
15 |
"cluster_name": "cluster.name.example.com", |
|
16 |
"ctime": 1343869045.604884, |
|
17 |
"default_iallocator": "hail", |
|
18 |
"disk_state_static": {}, |
|
19 |
"diskparams": { |
|
20 |
"blockdev": {}, |
|
21 |
"diskless": {}, |
|
22 |
"drbd": { |
|
23 |
"c-delay-target": 1, |
|
24 |
"c-fill-target": 200, |
|
25 |
"c-max-rate": 2048, |
|
26 |
"c-min-rate": 1024, |
|
27 |
"c-plan-ahead": 1, |
|
28 |
"data-stripes": 2, |
|
29 |
"disk-barriers": "bf", |
|
30 |
"disk-custom": "", |
|
31 |
"dynamic-resync": false, |
|
32 |
"meta-barriers": true, |
|
33 |
"meta-stripes": 2, |
|
34 |
"metavg": "xenvg", |
|
35 |
"net-custom": "", |
|
36 |
"resync-rate": 1024 |
|
37 |
}, |
|
38 |
"ext": {}, |
|
39 |
"file": {}, |
|
40 |
"plain": { |
|
41 |
"stripes": 2 |
|
42 |
}, |
|
43 |
"rbd": { |
|
44 |
"pool": "rbd" |
|
45 |
}, |
|
46 |
"sharedfile": {} |
|
47 |
}, |
|
48 |
"drbd_usermode_helper": "/bin/true", |
|
49 |
"enabled_disk_templates": [ |
|
50 |
"drbd", |
|
51 |
"plain", |
|
52 |
"file", |
|
53 |
"sharedfile" |
|
54 |
], |
|
55 |
"enabled_hypervisors": [ |
|
56 |
"xen-pvm" |
|
57 |
], |
|
58 |
"file_storage_dir": "", |
|
59 |
"hidden_os": [], |
|
60 |
"highest_used_port": 32105, |
|
61 |
"hv_state_static": { |
|
62 |
"xen-pvm": { |
|
63 |
"cpu_node": 1, |
|
64 |
"cpu_total": 1, |
|
65 |
"mem_hv": 0, |
|
66 |
"mem_node": 0, |
|
67 |
"mem_total": 0 |
|
68 |
} |
|
69 |
}, |
|
70 |
"hvparams": { |
|
71 |
"chroot": { |
|
72 |
"init_script": "/ganeti-chroot" |
|
73 |
}, |
|
74 |
"fake": {}, |
|
75 |
"kvm": { |
|
76 |
"acpi": true, |
|
77 |
"boot_order": "disk", |
|
78 |
"cdrom2_image_path": "", |
|
79 |
"cdrom_disk_type": "", |
|
80 |
"cdrom_image_path": "", |
|
81 |
"cpu_cores": 0, |
|
82 |
"cpu_mask": "all", |
|
83 |
"cpu_sockets": 0, |
|
84 |
"cpu_threads": 0, |
|
85 |
"cpu_type": "", |
|
86 |
"disk_cache": "default", |
|
87 |
"disk_type": "paravirtual", |
|
88 |
"floppy_image_path": "", |
|
89 |
"initrd_path": "", |
|
90 |
"kernel_args": "ro", |
|
91 |
"kernel_path": "/boot/vmlinuz-kvmU", |
|
92 |
"keymap": "", |
|
93 |
"kvm_extra": "", |
|
94 |
"kvm_flag": "", |
|
95 |
"kvm_path": "/usr/bin/kvm", |
|
96 |
"machine_version": "", |
|
97 |
"mem_path": "", |
|
98 |
"migration_bandwidth": 4, |
|
99 |
"migration_downtime": 30, |
|
100 |
"migration_mode": "live", |
|
101 |
"migration_port": 4041, |
|
102 |
"nic_type": "paravirtual", |
|
103 |
"reboot_behavior": "reboot", |
|
104 |
"root_path": "/dev/vda1", |
|
105 |
"security_domain": "", |
|
106 |
"security_model": "none", |
|
107 |
"serial_console": true, |
|
108 |
"serial_speed": 38400, |
|
109 |
"soundhw": "", |
|
110 |
"spice_bind": "", |
|
111 |
"spice_image_compression": "", |
|
112 |
"spice_ip_version": 0, |
|
113 |
"spice_jpeg_wan_compression": "", |
|
114 |
"spice_password_file": "", |
|
115 |
"spice_playback_compression": true, |
|
116 |
"spice_streaming_video": "", |
|
117 |
"spice_tls_ciphers": "HIGH:-DES:-3DES:-EXPORT:-ADH", |
|
118 |
"spice_use_tls": false, |
|
119 |
"spice_use_vdagent": true, |
|
120 |
"spice_zlib_glz_wan_compression": "", |
|
121 |
"usb_devices": "", |
|
122 |
"usb_mouse": "", |
|
123 |
"use_chroot": false, |
|
124 |
"use_localtime": false, |
|
125 |
"vga": "", |
|
126 |
"vhost_net": false, |
|
127 |
"vnc_bind_address": "", |
|
128 |
"vnc_password_file": "", |
|
129 |
"vnc_tls": false, |
|
130 |
"vnc_x509_path": "", |
|
131 |
"vnc_x509_verify": false |
|
132 |
}, |
|
133 |
"lxc": { |
|
134 |
"cpu_mask": "" |
|
135 |
}, |
|
136 |
"xen-hvm": { |
|
137 |
"acpi": true, |
|
138 |
"blockdev_prefix": "hd", |
|
139 |
"boot_order": "cd", |
|
140 |
"cdrom_image_path": "", |
|
141 |
"cpu_cap": 0, |
|
142 |
"cpu_mask": "all", |
|
143 |
"cpu_weight": 256, |
|
144 |
"device_model": "/usr/lib/xen/bin/qemu-dm", |
|
145 |
"disk_type": "paravirtual", |
|
146 |
"kernel_path": "/usr/lib/xen/boot/hvmloader", |
|
147 |
"migration_mode": "non-live", |
|
148 |
"migration_port": 8082, |
|
149 |
"nic_type": "rtl8139", |
|
150 |
"pae": true, |
|
151 |
"pci_pass": "", |
|
152 |
"reboot_behavior": "reboot", |
|
153 |
"use_localtime": false, |
|
154 |
"vnc_bind_address": "0.0.0.0", |
|
155 |
"vnc_password_file": "/your/vnc-cluster-password" |
|
156 |
}, |
|
157 |
"xen-pvm": { |
|
158 |
"blockdev_prefix": "sd", |
|
159 |
"bootloader_args": "", |
|
160 |
"bootloader_path": "", |
|
161 |
"cpu_cap": 0, |
|
162 |
"cpu_mask": "all", |
|
163 |
"cpu_weight": 256, |
|
164 |
"initrd_path": "", |
|
165 |
"kernel_args": "ro", |
|
166 |
"kernel_path": "/boot/vmlinuz-xenU", |
|
167 |
"migration_mode": "live", |
|
168 |
"migration_port": 8082, |
|
169 |
"reboot_behavior": "reboot", |
|
170 |
"root_path": "/dev/xvda1", |
|
171 |
"use_bootloader": false |
|
172 |
} |
|
173 |
}, |
|
174 |
"ipolicy": { |
|
175 |
"disk-templates": [ |
|
176 |
"sharedfile", |
|
177 |
"diskless", |
|
178 |
"plain", |
|
179 |
"blockdev", |
|
180 |
"drbd", |
|
181 |
"file", |
|
182 |
"rbd" |
|
183 |
], |
|
184 |
"minmax": [ |
|
185 |
{ |
|
186 |
"max": { |
|
187 |
"cpu-count": 8, |
|
188 |
"disk-count": 16, |
|
189 |
"disk-size": 1048576, |
|
190 |
"memory-size": 32768, |
|
191 |
"nic-count": 8, |
|
192 |
"spindle-use": 12 |
|
193 |
}, |
|
194 |
"min": { |
|
195 |
"cpu-count": 1, |
|
196 |
"disk-count": 1, |
|
197 |
"disk-size": 1024, |
|
198 |
"memory-size": 128, |
|
199 |
"nic-count": 1, |
|
200 |
"spindle-use": 1 |
|
201 |
} |
|
202 |
} |
|
203 |
], |
|
204 |
"spindle-ratio": 32.0, |
|
205 |
"std": { |
|
206 |
"cpu-count": 1, |
|
207 |
"disk-count": 1, |
|
208 |
"disk-size": 1024, |
|
209 |
"memory-size": 128, |
|
210 |
"nic-count": 1, |
|
211 |
"spindle-use": 1 |
|
212 |
}, |
|
213 |
"vcpu-ratio": 1.0 |
|
214 |
}, |
|
215 |
"mac_prefix": "aa:bb:cc", |
|
216 |
"maintain_node_health": false, |
|
217 |
"master_ip": "192.0.2.87", |
|
218 |
"master_netdev": "eth0", |
|
219 |
"master_netmask": 32, |
|
220 |
"master_node": "node1.example.com", |
|
221 |
"modify_etc_hosts": true, |
|
222 |
"modify_ssh_setup": true, |
|
223 |
"mtime": 1361964122.79471, |
|
224 |
"ndparams": { |
|
225 |
"exclusive_storage": false, |
|
226 |
"oob_program": "", |
|
227 |
"spindle_count": 1 |
|
228 |
}, |
|
229 |
"nicparams": { |
|
230 |
"default": { |
|
231 |
"link": "br974", |
|
232 |
"mode": "bridged" |
|
233 |
} |
|
234 |
}, |
|
235 |
"os_hvp": { |
|
236 |
"TEMP-Ganeti-QA-OS": { |
|
237 |
"xen-hvm": { |
|
238 |
"acpi": false, |
|
239 |
"pae": true |
|
240 |
}, |
|
241 |
"xen-pvm": { |
|
242 |
"root_path": "/dev/sda5" |
|
243 |
} |
|
244 |
} |
|
245 |
}, |
|
246 |
"osparams": {}, |
|
247 |
"prealloc_wipe_disks": false, |
|
248 |
"primary_ip_family": 2, |
|
249 |
"reserved_lvs": [], |
|
250 |
"rsahostkeypub": "YOURKEY", |
|
251 |
"serial_no": 3189, |
|
252 |
"shared_file_storage_dir": "/srv/ganeti/shared-file-storage", |
|
253 |
"tags": [ |
|
254 |
"mytag" |
|
255 |
], |
|
256 |
"tcpudp_port_pool": [ |
|
257 |
32101, |
|
258 |
32102, |
|
259 |
32103, |
|
260 |
32104, |
|
261 |
32105 |
|
262 |
], |
|
263 |
"uid_pool": [], |
|
264 |
"use_external_mip_script": false, |
|
265 |
"uuid": "dddf8c12-f2d8-4718-a35b-7804daf12a3f", |
|
266 |
"volume_group_name": "xenvg" |
|
267 |
}, |
|
268 |
"ctime": 1343869045.605523, |
|
269 |
"instances": { |
|
270 |
"instance1.example.com": { |
|
271 |
"admin_state": "up", |
|
272 |
"beparams": {}, |
|
273 |
"ctime": 1363620258.608976, |
|
274 |
"disk_template": "drbd", |
|
275 |
"disks": [ |
|
276 |
{ |
|
277 |
"children": [ |
|
278 |
{ |
|
279 |
"dev_type": "lvm", |
|
280 |
"logical_id": [ |
|
281 |
"xenvg", |
|
282 |
"5c390722-6a7a-4bb4-9cef-98d896a8e6b1.disk0_data" |
|
283 |
], |
|
284 |
"params": {}, |
|
285 |
"physical_id": [ |
|
286 |
"xenvg", |
|
287 |
"5c390722-6a7a-4bb4-9cef-98d896a8e6b1.disk0_data" |
|
288 |
], |
|
289 |
"size": 1024 |
|
290 |
}, |
|
291 |
{ |
|
292 |
"dev_type": "lvm", |
|
293 |
"logical_id": [ |
|
294 |
"xenvg", |
|
295 |
"5c390722-6a7a-4bb4-9cef-98d896a8e6b1.disk0_meta" |
|
296 |
], |
|
297 |
"params": {}, |
|
298 |
"physical_id": [ |
|
299 |
"xenvg", |
|
300 |
"5c390722-6a7a-4bb4-9cef-98d896a8e6b1.disk0_meta" |
|
301 |
], |
|
302 |
"size": 128 |
|
303 |
} |
|
304 |
], |
|
305 |
"dev_type": "drbd8", |
|
306 |
"iv_name": "disk/0", |
|
307 |
"logical_id": [ |
|
308 |
"node1.example.com", |
|
309 |
"node3.example.com", |
|
310 |
32100, |
|
311 |
0, |
|
312 |
0, |
|
313 |
"d3c3fd475fcbaf5fd177fb245ac43b71247ada38" |
|
314 |
], |
|
315 |
"mode": "rw", |
|
316 |
"params": {}, |
|
317 |
"physical_id": [ |
|
318 |
"198.51.100.82", |
|
319 |
32100, |
|
320 |
"198.51.100.84", |
|
321 |
32100, |
|
322 |
0, |
|
323 |
"d3c3fd475fcbaf5fd177fb245ac43b71247ada38" |
|
324 |
], |
|
325 |
"size": 1024, |
|
326 |
"uuid": "77ced3a5-6756-49ae-8d1f-274e27664c05" |
|
327 |
} |
|
328 |
], |
|
329 |
"hvparams": {}, |
|
330 |
"hypervisor": "xen-pvm", |
|
331 |
"mtime": 1363620320.874901, |
|
332 |
"name": "instance1.example.com", |
|
333 |
"nics": [ |
|
334 |
{ |
|
335 |
"mac": "aa:bb:cc:b2:6e:0b", |
|
336 |
"nicparams": {}, |
|
337 |
"uuid": "2c953d72-fac4-4aa9-a225-4131bb271791" |
|
338 |
} |
|
339 |
], |
|
340 |
"os": "busybox", |
|
341 |
"osparams": {}, |
|
342 |
"primary_node": "node1.example.com", |
|
343 |
"serial_no": 2, |
|
344 |
"uuid": "6c078d22-3eb6-4780-857d-81772e09eef1" |
|
345 |
}, |
|
346 |
"instance2.example.com": { |
|
347 |
"admin_state": "up", |
|
348 |
"beparams": {}, |
|
349 |
"ctime": 1355186880.451181, |
|
350 |
"disk_template": "plain", |
|
351 |
"disks": [ |
|
352 |
{ |
|
353 |
"dev_type": "lvm", |
|
354 |
"iv_name": "disk/0", |
|
355 |
"logical_id": [ |
|
356 |
"xenvg", |
|
357 |
"3e559cd7-1024-4294-a923-a9fd13182b2f.disk0" |
|
358 |
], |
|
359 |
"mode": "rw", |
|
360 |
"params": {}, |
|
361 |
"physical_id": [ |
|
362 |
"xenvg", |
|
363 |
"3e559cd7-1024-4294-a923-a9fd13182b2f.disk0" |
|
364 |
], |
|
365 |
"size": 102400, |
|
366 |
"uuid": "79acf611-be58-4334-9fe4-4f2b73ae8abb" |
|
367 |
} |
|
368 |
], |
|
369 |
"hvparams": {}, |
|
370 |
"hypervisor": "xen-pvm", |
|
371 |
"mtime": 1355186898.307642, |
|
372 |
"name": "instance2.example.com", |
|
373 |
"nics": [ |
|
374 |
{ |
|
375 |
"mac": "aa:bb:cc:56:83:fb", |
|
376 |
"nicparams": {}, |
|
377 |
"uuid": "1cf95562-e676-4fd0-8214-e8b84a2f7bd1" |
|
378 |
} |
|
379 |
], |
|
380 |
"os": "debian-image", |
|
381 |
"osparams": {}, |
|
382 |
"primary_node": "node3.example.com", |
|
383 |
"serial_no": 2, |
|
384 |
"tags": [], |
|
385 |
"uuid": "8fde9f6d-e1f1-4850-9e9c-154966f622f5" |
|
386 |
}, |
|
387 |
"instance3.example.com": { |
|
388 |
"admin_state": "up", |
|
389 |
"beparams": {}, |
|
390 |
"ctime": 1354038435.343601, |
|
391 |
"disk_template": "plain", |
|
392 |
"disks": [ |
|
393 |
{ |
|
394 |
"dev_type": "lvm", |
|
395 |
"iv_name": "disk/0", |
|
396 |
"logical_id": [ |
|
397 |
"xenvg", |
|
398 |
"b27a576a-13f7-4f07-885c-63fcad4fdfcc.disk0" |
|
399 |
], |
|
400 |
"mode": "rw", |
|
401 |
"params": {}, |
|
402 |
"physical_id": [ |
|
403 |
"xenvg", |
|
404 |
"b27a576a-13f7-4f07-885c-63fcad4fdfcc.disk0" |
|
405 |
], |
|
406 |
"size": 1280, |
|
407 |
"uuid": "150bd154-8e23-44d1-b762-5065ae5a507b" |
|
408 |
} |
|
409 |
], |
|
410 |
"hvparams": {}, |
|
411 |
"hypervisor": "xen-pvm", |
|
412 |
"mtime": 1354224585.700732, |
|
413 |
"name": "instance3.example.com", |
|
414 |
"nics": [ |
|
415 |
{ |
|
416 |
"mac": "aa:bb:cc:5e:5c:75", |
|
417 |
"nicparams": {}, |
|
418 |
"uuid": "1ab090c1-e017-406c-afb4-fc285cb43e31" |
|
419 |
} |
|
420 |
], |
|
421 |
"os": "debian-image", |
|
422 |
"osparams": {}, |
|
423 |
"primary_node": "node2.example.com", |
|
424 |
"serial_no": 4, |
|
425 |
"tags": [], |
|
426 |
"uuid": "4e091bdc-e205-4ed7-8a47-0c9130a6619f" |
|
427 |
} |
|
428 |
}, |
|
429 |
"mtime": 1367352404.758083, |
|
430 |
"networks": { |
|
431 |
"99f0128a-1c84-44da-90b9-9581ea00c075": { |
|
432 |
"ext_reservations": "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", |
|
433 |
"name": "a network", |
|
434 |
"network": "203.0.113.0/24", |
|
435 |
"reservations": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", |
|
436 |
"serial_no": 1, |
|
437 |
"uuid": "99f0128a-1c84-44da-90b9-9581ea00c075" |
|
438 |
} |
|
439 |
}, |
|
440 |
"nodegroups": { |
|
441 |
"5244a46d-7506-4e14-922d-02b58153dde1": { |
|
442 |
"alloc_policy": "preferred", |
|
443 |
"diskparams": {}, |
|
444 |
"ipolicy": {}, |
|
445 |
"mtime": 1361963775.575009, |
|
446 |
"name": "default", |
|
447 |
"ndparams": {}, |
|
448 |
"networks": {}, |
|
449 |
"serial_no": 125, |
|
450 |
"tags": [], |
|
451 |
"uuid": "5244a46d-7506-4e14-922d-02b58153dde1" |
|
452 |
}, |
|
453 |
"6c0a8916-b719-45ad-95dd-82192b1e473f": { |
|
454 |
"alloc_policy": "preferred", |
|
455 |
"diskparams": {}, |
|
456 |
"ipolicy": { |
|
457 |
"disk-templates": [ |
|
458 |
"plain" |
|
459 |
], |
|
460 |
"minmax": [ |
|
461 |
{ |
|
462 |
"max": { |
|
463 |
"cpu-count": 8, |
|
464 |
"disk-count": 16, |
|
465 |
"disk-size": 1048576, |
|
466 |
"memory-size": 32768, |
|
467 |
"nic-count": 18, |
|
468 |
"spindle-use": 14 |
|
469 |
}, |
|
470 |
"min": { |
|
471 |
"cpu-count": 2, |
|
472 |
"disk-count": 2, |
|
473 |
"disk-size": 1024, |
|
474 |
"memory-size": 128, |
|
475 |
"nic-count": 1, |
|
476 |
"spindle-use": 1 |
|
477 |
} |
|
478 |
} |
|
479 |
], |
|
480 |
"spindle-ratio": 5.2, |
|
481 |
"vcpu-ratio": 3.14 |
|
482 |
}, |
|
483 |
"mtime": 1361963775.575009, |
|
484 |
"name": "another", |
|
485 |
"ndparams": { |
|
486 |
"exclusive_storage": true |
|
487 |
}, |
|
488 |
"networks": {}, |
|
489 |
"serial_no": 125, |
|
490 |
"tags": [], |
|
491 |
"uuid": "6c0a8916-b719-45ad-95dd-82192b1e473f" |
|
492 |
} |
|
493 |
}, |
|
494 |
"nodes": { |
|
495 |
"node1.example.com": { |
|
496 |
"ctime": 1349722460.022264, |
|
497 |
"drained": false, |
|
498 |
"group": "5244a46d-7506-4e14-922d-02b58153dde1", |
|
499 |
"master_candidate": true, |
|
500 |
"master_capable": true, |
|
501 |
"mtime": 1359986533.353329, |
|
502 |
"name": "node1.example.com", |
|
503 |
"ndparams": {}, |
|
504 |
"offline": false, |
|
505 |
"powered": true, |
|
506 |
"primary_ip": "192.0.2.82", |
|
507 |
"secondary_ip": "198.51.100.82", |
|
508 |
"serial_no": 197, |
|
509 |
"tags": [], |
|
510 |
"uuid": "9a12d554-75c0-4cb1-8064-103365145db0", |
|
511 |
"vm_capable": true |
|
512 |
}, |
|
513 |
"node2.example.com": { |
|
514 |
"ctime": 1343869045.604884, |
|
515 |
"drained": false, |
|
516 |
"group": "5244a46d-7506-4e14-922d-02b58153dde1", |
|
517 |
"master_candidate": true, |
|
518 |
"master_capable": true, |
|
519 |
"mtime": 1358348755.779906, |
|
520 |
"name": "node2.example.com", |
|
521 |
"ndparams": {}, |
|
522 |
"offline": false, |
|
523 |
"powered": true, |
|
524 |
"primary_ip": "192.0.2.83", |
|
525 |
"secondary_ip": "198.51.100.83", |
|
526 |
"serial_no": 6, |
|
527 |
"tags": [], |
|
528 |
"uuid": "2ae3d962-2dad-44f2-bdb1-85f77107f907", |
|
529 |
"vm_capable": true |
|
530 |
}, |
|
531 |
"node3.example.com": { |
|
532 |
"ctime": 1343869205.934807, |
|
533 |
"drained": false, |
|
534 |
"group": "5244a46d-7506-4e14-922d-02b58153dde1", |
|
535 |
"master_candidate": true, |
|
536 |
"master_capable": true, |
|
537 |
"mtime": 1353019704.885368, |
|
538 |
"name": "node3.example.com", |
|
539 |
"ndparams": {}, |
|
540 |
"offline": false, |
|
541 |
"powered": true, |
|
542 |
"primary_ip": "192.0.2.84", |
|
543 |
"secondary_ip": "198.51.100.84", |
|
544 |
"serial_no": 2, |
|
545 |
"tags": [], |
|
546 |
"uuid": "41f9c238-173c-4120-9e41-04ad379b647a", |
|
547 |
"vm_capable": true |
|
548 |
} |
|
549 |
}, |
|
550 |
"serial_no": 7625, |
|
551 |
"version": 2070000 |
|
552 |
} |
/dev/null | ||
---|---|---|
1 |
{ |
|
2 |
"cluster": { |
|
3 |
"beparams": { |
|
4 |
"default": { |
|
5 |
"always_failover": false, |
|
6 |
"auto_balance": true, |
|
7 |
"maxmem": 128, |
|
8 |
"minmem": 128, |
|
9 |
"spindle_use": 1, |
|
10 |
"vcpus": 1 |
|
11 |
} |
|
12 |
}, |
|
13 |
"blacklisted_os": [], |
|
14 |
"candidate_pool_size": 10, |
|
15 |
"cluster_name": "cluster.name.example.com", |
|
16 |
"ctime": 1343869045.604884, |
|
17 |
"default_iallocator": "hail", |
|
18 |
"disk_state_static": {}, |
|
19 |
"diskparams": { |
|
20 |
"blockdev": {}, |
|
21 |
"diskless": {}, |
|
22 |
"drbd": { |
|
23 |
"c-delay-target": 1, |
|
24 |
"c-fill-target": 200, |
|
25 |
"c-max-rate": 2048, |
|
26 |
"c-min-rate": 1024, |
|
27 |
"c-plan-ahead": 1, |
|
28 |
"data-stripes": 2, |
|
29 |
"disk-barriers": "bf", |
|
30 |
"disk-custom": "", |
|
31 |
"dynamic-resync": false, |
|
32 |
"meta-barriers": true, |
|
33 |
"meta-stripes": 2, |
|
34 |
"metavg": "xenvg", |
|
35 |
"net-custom": "", |
|
36 |
"resync-rate": 1024 |
|
37 |
}, |
|
38 |
"ext": {}, |
|
39 |
"file": {}, |
|
40 |
"plain": { |
|
41 |
"stripes": 2 |
|
42 |
}, |
|
43 |
"rbd": { |
|
44 |
"pool": "rbd" |
|
45 |
}, |
|
46 |
"sharedfile": {} |
|
47 |
}, |
|
48 |
"drbd_usermode_helper": "/bin/true", |
|
49 |
"enabled_hypervisors": [ |
|
50 |
"xen-pvm" |
|
51 |
], |
|
52 |
"file_storage_dir": "", |
|
53 |
"hidden_os": [], |
|
54 |
"highest_used_port": 32105, |
|
55 |
"hv_state_static": { |
|
56 |
"xen-pvm": { |
|
57 |
"cpu_node": 1, |
|
58 |
"cpu_total": 1, |
|
59 |
"mem_hv": 0, |
|
60 |
"mem_node": 0, |
|
61 |
"mem_total": 0 |
|
62 |
} |
|
63 |
}, |
|
64 |
"hvparams": { |
|
65 |
"chroot": { |
|
66 |
"init_script": "/ganeti-chroot" |
|
67 |
}, |
|
68 |
"fake": {}, |
|
69 |
"kvm": { |
|
70 |
"acpi": true, |
|
71 |
"boot_order": "disk", |
|
72 |
"cdrom2_image_path": "", |
|
73 |
"cdrom_disk_type": "", |
|
74 |
"cdrom_image_path": "", |
|
75 |
"cpu_cores": 0, |
|
76 |
"cpu_mask": "all", |
|
77 |
"cpu_sockets": 0, |
|
78 |
"cpu_threads": 0, |
|
79 |
"cpu_type": "", |
|
80 |
"disk_cache": "default", |
|
81 |
"disk_type": "paravirtual", |
|
82 |
"floppy_image_path": "", |
|
83 |
"initrd_path": "", |
|
84 |
"kernel_args": "ro", |
|
85 |
"kernel_path": "/boot/vmlinuz-kvmU", |
|
86 |
"keymap": "", |
|
87 |
"kvm_extra": "", |
|
88 |
"kvm_flag": "", |
|
89 |
"kvm_path": "/usr/bin/kvm", |
|
90 |
"machine_version": "", |
|
91 |
"mem_path": "", |
|
92 |
"migration_bandwidth": 4, |
|
93 |
"migration_downtime": 30, |
|
94 |
"migration_mode": "live", |
|
95 |
"migration_port": 4041, |
|
96 |
"nic_type": "paravirtual", |
|
97 |
"reboot_behavior": "reboot", |
|
98 |
"root_path": "/dev/vda1", |
|
99 |
"security_domain": "", |
|
100 |
"security_model": "none", |
|
101 |
"serial_console": true, |
|
102 |
"serial_speed": 38400, |
|
103 |
"soundhw": "", |
|
104 |
"spice_bind": "", |
|
105 |
"spice_image_compression": "", |
|
106 |
"spice_ip_version": 0, |
|
107 |
"spice_jpeg_wan_compression": "", |
|
108 |
"spice_password_file": "", |
|
109 |
"spice_playback_compression": true, |
|
110 |
"spice_streaming_video": "", |
|
111 |
"spice_tls_ciphers": "HIGH:-DES:-3DES:-EXPORT:-ADH", |
|
112 |
"spice_use_tls": false, |
|
113 |
"spice_use_vdagent": true, |
|
114 |
"spice_zlib_glz_wan_compression": "", |
|
115 |
"usb_devices": "", |
|
116 |
"usb_mouse": "", |
|
117 |
"use_chroot": false, |
|
118 |
"use_localtime": false, |
|
119 |
"vga": "", |
|
120 |
"vhost_net": false, |
|
121 |
"vnc_bind_address": "", |
|
122 |
"vnc_password_file": "", |
|
123 |
"vnc_tls": false, |
|
124 |
"vnc_x509_path": "", |
|
125 |
"vnc_x509_verify": false |
|
126 |
}, |
|
127 |
"lxc": { |
|
128 |
"cpu_mask": "" |
|
129 |
}, |
|
130 |
"xen-hvm": { |
|
131 |
"acpi": true, |
|
132 |
"blockdev_prefix": "hd", |
|
133 |
"boot_order": "cd", |
|
134 |
"cdrom_image_path": "", |
|
135 |
"cpu_cap": 0, |
|
136 |
"cpu_mask": "all", |
|
137 |
"cpu_weight": 256, |
|
138 |
"device_model": "/usr/lib/xen/bin/qemu-dm", |
|
139 |
"disk_type": "paravirtual", |
|
140 |
"kernel_path": "/usr/lib/xen/boot/hvmloader", |
|
141 |
"migration_mode": "non-live", |
|
142 |
"migration_port": 8082, |
|
143 |
"nic_type": "rtl8139", |
|
144 |
"pae": true, |
|
145 |
"pci_pass": "", |
|
146 |
"reboot_behavior": "reboot", |
|
147 |
"use_localtime": false, |
|
148 |
"vnc_bind_address": "0.0.0.0", |
|
149 |
"vnc_password_file": "/your/vnc-cluster-password" |
|
150 |
}, |
|
151 |
"xen-pvm": { |
|
152 |
"blockdev_prefix": "sd", |
|
153 |
"bootloader_args": "", |
|
154 |
"bootloader_path": "", |
|
155 |
"cpu_cap": 0, |
|
156 |
"cpu_mask": "all", |
|
157 |
"cpu_weight": 256, |
|
158 |
"initrd_path": "", |
|
159 |
"kernel_args": "ro", |
|
160 |
"kernel_path": "/boot/vmlinuz-xenU", |
|
161 |
"migration_mode": "live", |
|
162 |
"migration_port": 8082, |
|
163 |
"reboot_behavior": "reboot", |
|
164 |
"root_path": "/dev/xvda1", |
|
165 |
"use_bootloader": false |
|
166 |
} |
|
167 |
}, |
|
168 |
"ipolicy": { |
|
169 |
"disk-templates": [ |
|
170 |
"sharedfile", |
|
171 |
"diskless", |
|
172 |
"plain", |
|
173 |
"blockdev", |
|
174 |
"drbd", |
|
175 |
"file", |
|
176 |
"rbd" |
|
177 |
], |
|
178 |
"max": { |
|
179 |
"cpu-count": 8, |
|
180 |
"disk-count": 16, |
|
181 |
"disk-size": 1048576, |
|
182 |
"memory-size": 32768, |
|
183 |
"nic-count": 8, |
|
184 |
"spindle-use": 12 |
|
185 |
}, |
|
186 |
"min": { |
|
187 |
"cpu-count": 1, |
|
188 |
"disk-count": 1, |
|
189 |
"disk-size": 1024, |
|
190 |
"memory-size": 128, |
|
191 |
"nic-count": 1, |
|
192 |
"spindle-use": 1 |
|
193 |
}, |
|
194 |
"spindle-ratio": 32.0, |
|
195 |
"std": { |
|
196 |
"cpu-count": 1, |
|
197 |
"disk-count": 1, |
|
198 |
"disk-size": 1024, |
|
199 |
"memory-size": 128, |
|
200 |
"nic-count": 1, |
|
201 |
"spindle-use": 1 |
|
202 |
}, |
|
203 |
"vcpu-ratio": 1.0 |
|
204 |
}, |
|
205 |
"mac_prefix": "aa:bb:cc", |
|
206 |
"maintain_node_health": false, |
|
207 |
"master_ip": "192.0.2.87", |
|
208 |
"master_netdev": "eth0", |
|
209 |
"master_netmask": 32, |
|
210 |
"master_node": "node1.example.com", |
|
211 |
"modify_etc_hosts": true, |
|
212 |
"modify_ssh_setup": true, |
|
213 |
"mtime": 1361964122.79471, |
|
214 |
"ndparams": { |
|
215 |
"exclusive_storage": false, |
|
216 |
"oob_program": "", |
|
217 |
"spindle_count": 1 |
|
218 |
}, |
|
219 |
"nicparams": { |
|
220 |
"default": { |
|
221 |
"link": "br974", |
|
222 |
"mode": "bridged" |
|
223 |
} |
|
224 |
}, |
|
225 |
"os_hvp": { |
|
226 |
"TEMP-Ganeti-QA-OS": { |
|
227 |
"xen-hvm": { |
|
228 |
"acpi": false, |
|
229 |
"pae": true |
|
230 |
}, |
|
231 |
"xen-pvm": { |
|
232 |
"root_path": "/dev/sda5" |
|
233 |
} |
|
234 |
} |
|
235 |
}, |
|
236 |
"osparams": {}, |
|
237 |
"prealloc_wipe_disks": false, |
|
238 |
"primary_ip_family": 2, |
|
239 |
"reserved_lvs": [], |
|
240 |
"rsahostkeypub": "YOURKEY", |
|
241 |
"serial_no": 3189, |
|
242 |
"shared_file_storage_dir": "/srv/ganeti/shared-file-storage", |
|
243 |
"tags": [ |
|
244 |
"mytag" |
|
245 |
], |
|
246 |
"tcpudp_port_pool": [ |
|
247 |
32101, |
|
248 |
32102, |
|
249 |
32103, |
|
250 |
32104, |
|
251 |
32105 |
|
252 |
], |
|
253 |
"uid_pool": [], |
|
254 |
"use_external_mip_script": false, |
|
255 |
"uuid": "dddf8c12-f2d8-4718-a35b-7804daf12a3f", |
|
256 |
"volume_group_name": "xenvg" |
|
257 |
}, |
|
258 |
"ctime": 1343869045.605523, |
|
259 |
"instances": { |
|
260 |
"instance1.example.com": { |
|
261 |
"admin_state": "up", |
|
262 |
"beparams": {}, |
|
263 |
"ctime": 1363620258.608976, |
|
264 |
"disk_template": "drbd", |
|
265 |
"disks": [ |
|
266 |
{ |
|
267 |
"children": [ |
|
268 |
{ |
|
269 |
"dev_type": "lvm", |
|
270 |
"logical_id": [ |
|
271 |
"xenvg", |
|
272 |
"5c390722-6a7a-4bb4-9cef-98d896a8e6b1.disk0_data" |
|
273 |
], |
|
274 |
"params": {}, |
|
275 |
"physical_id": [ |
|
276 |
"xenvg", |
|
277 |
"5c390722-6a7a-4bb4-9cef-98d896a8e6b1.disk0_data" |
|
278 |
], |
|
279 |
"size": 1024 |
|
280 |
}, |
|
281 |
{ |
|
282 |
"dev_type": "lvm", |
|
283 |
"logical_id": [ |
|
284 |
"xenvg", |
|
285 |
"5c390722-6a7a-4bb4-9cef-98d896a8e6b1.disk0_meta" |
|
286 |
], |
|
287 |
"params": {}, |
|
288 |
"physical_id": [ |
|
289 |
"xenvg", |
|
290 |
"5c390722-6a7a-4bb4-9cef-98d896a8e6b1.disk0_meta" |
|
291 |
], |
|
292 |
"size": 128 |
|
293 |
} |
|
294 |
], |
|
295 |
"dev_type": "drbd8", |
|
296 |
"iv_name": "disk/0", |
|
297 |
"logical_id": [ |
|
298 |
"node1.example.com", |
|
299 |
"node3.example.com", |
|
300 |
32100, |
|
301 |
0, |
|
302 |
0, |
|
303 |
"d3c3fd475fcbaf5fd177fb245ac43b71247ada38" |
|
304 |
], |
|
305 |
"mode": "rw", |
|
306 |
"params": {}, |
|
307 |
"physical_id": [ |
|
308 |
"198.51.100.82", |
|
309 |
32100, |
|
310 |
"198.51.100.84", |
|
311 |
32100, |
|
312 |
0, |
|
313 |
"d3c3fd475fcbaf5fd177fb245ac43b71247ada38" |
|
314 |
], |
|
315 |
"size": 1024 |
|
316 |
} |
|
317 |
], |
|
318 |
"hvparams": {}, |
|
319 |
"hypervisor": "xen-pvm", |
|
320 |
"mtime": 1363620320.874901, |
|
321 |
"name": "instance1.example.com", |
|
322 |
"nics": [ |
|
323 |
{ |
|
324 |
"mac": "aa:bb:cc:b2:6e:0b", |
|
325 |
"nicparams": {} |
|
326 |
} |
|
327 |
], |
|
328 |
"os": "busybox", |
|
329 |
"osparams": {}, |
|
330 |
"primary_node": "node1.example.com", |
|
331 |
"serial_no": 2, |
|
332 |
"uuid": "6c078d22-3eb6-4780-857d-81772e09eef1" |
|
333 |
}, |
|
334 |
"instance2.example.com": { |
|
335 |
"admin_state": "up", |
|
336 |
"beparams": {}, |
|
337 |
"ctime": 1355186880.451181, |
|
338 |
"disk_template": "plain", |
|
339 |
"disks": [ |
|
340 |
{ |
|
341 |
"dev_type": "lvm", |
|
342 |
"iv_name": "disk/0", |
|
343 |
"logical_id": [ |
|
344 |
"xenvg", |
|
345 |
"3e559cd7-1024-4294-a923-a9fd13182b2f.disk0" |
|
346 |
], |
|
347 |
"mode": "rw", |
|
348 |
"params": {}, |
|
349 |
"physical_id": [ |
|
350 |
"xenvg", |
|
351 |
"3e559cd7-1024-4294-a923-a9fd13182b2f.disk0" |
|
352 |
], |
|
353 |
"size": 102400 |
|
354 |
} |
|
355 |
], |
|
356 |
"hvparams": {}, |
|
357 |
"hypervisor": "xen-pvm", |
|
358 |
"mtime": 1355186898.307642, |
|
359 |
"name": "instance2.example.com", |
|
360 |
"nics": [ |
|
361 |
{ |
|
362 |
"mac": "aa:bb:cc:56:83:fb", |
|
363 |
"nicparams": {} |
|
364 |
} |
|
365 |
], |
|
366 |
"os": "debian-image", |
|
367 |
"osparams": {}, |
|
368 |
"primary_node": "node3.example.com", |
|
369 |
"serial_no": 2, |
|
370 |
"tags": [], |
|
371 |
"uuid": "8fde9f6d-e1f1-4850-9e9c-154966f622f5" |
|
372 |
}, |
|
373 |
"instance3.example.com": { |
|
374 |
"admin_state": "up", |
|
375 |
"beparams": {}, |
|
376 |
"ctime": 1354038435.343601, |
|
377 |
"disk_template": "plain", |
|
378 |
"disks": [ |
|
379 |
{ |
|
380 |
"dev_type": "lvm", |
|
381 |
"iv_name": "disk/0", |
|
382 |
"logical_id": [ |
|
383 |
"xenvg", |
|
384 |
"b27a576a-13f7-4f07-885c-63fcad4fdfcc.disk0" |
|
385 |
], |
|
386 |
"mode": "rw", |
|
387 |
"params": {}, |
|
388 |
"physical_id": [ |
|
389 |
"xenvg", |
|
390 |
"b27a576a-13f7-4f07-885c-63fcad4fdfcc.disk0" |
|
391 |
], |
|
392 |
"size": 1280 |
|
393 |
} |
|
394 |
], |
|
395 |
"hvparams": {}, |
|
396 |
"hypervisor": "xen-pvm", |
|
397 |
"mtime": 1354224585.700732, |
|
398 |
"name": "instance3.example.com", |
|
399 |
"nics": [ |
|
400 |
{ |
|
401 |
"mac": "aa:bb:cc:5e:5c:75", |
|
402 |
"nicparams": {} |
|
403 |
} |
|
404 |
], |
|
405 |
"os": "debian-image", |
|
406 |
"osparams": {}, |
|
407 |
"primary_node": "node2.example.com", |
|
408 |
"serial_no": 4, |
|
409 |
"tags": [], |
|
410 |
"uuid": "4e091bdc-e205-4ed7-8a47-0c9130a6619f" |
|
411 |
} |
|
412 |
}, |
|
413 |
"mtime": 1361984633.373014, |
|
414 |
"networks": { |
|
415 |
"99f0128a-1c84-44da-90b9-9581ea00c075": { |
|
416 |
"ext_reservations": "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", |
|
417 |
"name": "a network", |
|
418 |
"network": "203.0.113.0/24", |
|
419 |
"reservations": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", |
|
420 |
"serial_no": 1, |
|
421 |
"uuid": "99f0128a-1c84-44da-90b9-9581ea00c075" |
|
422 |
} |
|
423 |
}, |
|
424 |
"nodegroups": { |
|
425 |
"5244a46d-7506-4e14-922d-02b58153dde1": { |
|
426 |
"alloc_policy": "preferred", |
|
427 |
"diskparams": {}, |
|
428 |
"ipolicy": { |
|
429 |
"max": {}, |
|
430 |
"min": {}, |
|
431 |
"std": {} |
|
432 |
}, |
|
433 |
"mtime": 1361963775.575009, |
|
434 |
"name": "default", |
|
435 |
"ndparams": {}, |
|
436 |
"networks": {}, |
|
437 |
"serial_no": 125, |
|
438 |
"tags": [], |
|
439 |
"uuid": "5244a46d-7506-4e14-922d-02b58153dde1" |
|
440 |
}, |
|
441 |
"6c0a8916-b719-45ad-95dd-82192b1e473f": { |
|
442 |
"alloc_policy": "preferred", |
|
443 |
"diskparams": {}, |
|
444 |
"ipolicy": { |
|
445 |
"disk-templates": [ |
|
446 |
"plain" |
|
447 |
], |
|
448 |
"max": {}, |
|
449 |
"min": {}, |
|
450 |
"spindle-ratio": 5.2, |
|
451 |
"std": {}, |
|
452 |
"vcpu-ratio": 3.14 |
|
453 |
}, |
|
454 |
"mtime": 1361963775.575009, |
|
455 |
"name": "another", |
|
456 |
"ndparams": { |
|
457 |
"exclusive_storage": true |
|
458 |
}, |
|
459 |
"networks": {}, |
|
460 |
"serial_no": 125, |
|
461 |
"tags": [], |
|
462 |
"uuid": "6c0a8916-b719-45ad-95dd-82192b1e473f" |
|
463 |
} |
|
464 |
}, |
|
465 |
"nodes": { |
|
466 |
"node1.example.com": { |
|
467 |
"ctime": 1349722460.022264, |
|
468 |
"drained": false, |
|
469 |
"group": "5244a46d-7506-4e14-922d-02b58153dde1", |
|
470 |
"master_candidate": true, |
|
471 |
"master_capable": true, |
|
472 |
"mtime": 1359986533.353329, |
|
473 |
"name": "node1.example.com", |
|
474 |
"ndparams": {}, |
|
475 |
"offline": false, |
|
476 |
"powered": true, |
|
477 |
"primary_ip": "192.0.2.82", |
|
478 |
"secondary_ip": "198.51.100.82", |
|
479 |
"serial_no": 197, |
|
480 |
"tags": [], |
|
481 |
"uuid": "9a12d554-75c0-4cb1-8064-103365145db0", |
|
482 |
"vm_capable": true |
|
483 |
}, |
|
484 |
"node2.example.com": { |
|
485 |
"ctime": 1343869045.604884, |
|
486 |
"drained": false, |
|
487 |
"group": "5244a46d-7506-4e14-922d-02b58153dde1", |
|
488 |
"master_candidate": true, |
|
489 |
"master_capable": true, |
|
490 |
"mtime": 1358348755.779906, |
|
491 |
"name": "node2.example.com", |
|
492 |
"ndparams": {}, |
|
493 |
"offline": false, |
|
494 |
"powered": true, |
|
495 |
"primary_ip": "192.0.2.83", |
|
496 |
"secondary_ip": "198.51.100.83", |
|
497 |
"serial_no": 6, |
|
498 |
"tags": [], |
|
499 |
"uuid": "2ae3d962-2dad-44f2-bdb1-85f77107f907", |
|
500 |
"vm_capable": true |
|
501 |
}, |
|
502 |
"node3.example.com": { |
|
503 |
"ctime": 1343869205.934807, |
|
504 |
"drained": false, |
|
505 |
"group": "5244a46d-7506-4e14-922d-02b58153dde1", |
|
506 |
"master_candidate": true, |
|
507 |
"master_capable": true, |
|
508 |
"mtime": 1353019704.885368, |
|
509 |
"name": "node3.example.com", |
|
510 |
"ndparams": {}, |
|
511 |
"offline": false, |
|
512 |
"powered": true, |
|
513 |
"primary_ip": "192.0.2.84", |
|
514 |
"secondary_ip": "198.51.100.84", |
|
515 |
"serial_no": 2, |
|
516 |
"tags": [], |
|
517 |
"uuid": "41f9c238-173c-4120-9e41-04ad379b647a", |
|
518 |
"vm_capable": true |
|
519 |
} |
|
520 |
}, |
|
521 |
"serial_no": 7624, |
|
522 |
"version": 2070000 |
|
523 |
} |
b/test/py/cfgupgrade_unittest.py | ||
---|---|---|
365 | 365 |
def testUpgradeFullConfigFrom_2_7(self): |
366 | 366 |
self._TestUpgradeFromFile("cluster_config_2.7.json", False) |
367 | 367 |
|
368 |
def testUpgradeFullConfigFrom_2_8(self): |
|
369 |
self._TestUpgradeFromFile("cluster_config_2.8.json", False) |
|
370 |
|
|
368 | 371 |
def testUpgradeCurrent(self): |
369 | 372 |
self._TestSimpleUpgrade(constants.CONFIG_VERSION, False) |
370 | 373 |
|
... | ... | |
382 | 385 |
def testDowngradeFullConfig(self): |
383 | 386 |
"""Test for upgrade + downgrade combination.""" |
384 | 387 |
# This test can work only with the previous version of a configuration! |
385 |
# For 2.7, downgrading returns the original file only if group policies |
|
386 |
# don't override instance specs, so we need to use an ad-hoc configuration. |
|
387 |
oldconfname = "cluster_config_downgraded_2.7.json" |
|
388 |
oldconfname = "cluster_config_2.8.json" |
|
388 | 389 |
self._TestUpgradeFromFile(oldconfname, False) |
389 | 390 |
_RunUpgrade(self.tmpdir, False, True, downgrade=True) |
390 | 391 |
oldconf = self._LoadTestDataConfig(oldconfname) |
b/tools/cfgupgrade | ||
---|---|---|
260 | 260 |
UpgradeInstances(config_data) |
261 | 261 |
|
262 | 262 |
|
263 |
def DowngradeIPolicy(ipolicy, owner): |
|
264 |
# Downgrade IPolicy to 2.7 (stable) |
|
265 |
minmax_keys = ["min", "max"] |
|
266 |
specs_is_split = any((k in ipolicy) for k in minmax_keys) |
|
267 |
if not specs_is_split: |
|
268 |
if "minmax" in ipolicy: |
|
269 |
if type(ipolicy["minmax"]) is not list: |
|
270 |
raise Error("Invalid minmax type in %s ipolicy: %s" % |
|
271 |
(owner, type(ipolicy["minmax"]))) |
|
272 |
if len(ipolicy["minmax"]) > 1: |
|
273 |
logging.warning("Discarding some limit specs values from %s policy", |
|
274 |
owner) |
|
275 |
minmax = ipolicy["minmax"][0] |
|
276 |
del ipolicy["minmax"] |
|
277 |
else: |
|
278 |
minmax = {} |
|
279 |
for key in minmax_keys: |
|
280 |
spec = minmax.get(key, {}) |
|
281 |
ipolicy[key] = spec |
|
282 |
if "std" not in ipolicy: |
|
283 |
ipolicy["std"] = {} |
|
284 |
|
|
285 |
|
|
286 |
def DowngradeGroups(config_data): |
|
287 |
for group in config_data["nodegroups"].values(): |
|
288 |
ipolicy = group.get("ipolicy", None) |
|
289 |
if ipolicy is not None: |
|
290 |
DowngradeIPolicy(ipolicy, "group \"%s\"" % group.get("name")) |
|
291 |
|
|
292 |
|
|
293 |
def DowngradeEnabledTemplates(cluster): |
|
294 |
# Remove enabled disk templates to downgrade to 2.7 |
|
295 |
edt_key = "enabled_disk_templates" |
|
296 |
if edt_key in cluster: |
|
297 |
logging.warning("Removing cluster's enabled disk templates; value = %s", |
|
298 |
utils.CommaJoin(cluster[edt_key])) |
|
299 |
del cluster[edt_key] |
|
300 |
|
|
301 |
|
|
302 |
def DowngradeCluster(config_data): |
|
303 |
cluster = config_data.get("cluster", None) |
|
304 |
if cluster is None: |
|
305 |
raise Error("Cannot find cluster") |
|
306 |
DowngradeEnabledTemplates(cluster) |
|
307 |
ipolicy = cluster.get("ipolicy", None) |
|
308 |
if ipolicy: |
|
309 |
DowngradeIPolicy(ipolicy, "cluster") |
|
310 |
|
|
311 |
|
|
312 | 263 |
def DowngradeAll(config_data): |
264 |
# Unused arguments, pylint: disable=W0613 |
|
313 | 265 |
# Any code specific to a particular version should be labeled that way, so |
314 | 266 |
# it can be removed when updating to the next version. |
315 |
DowngradeCluster(config_data) |
|
316 |
DowngradeGroups(config_data) |
|
267 |
pass |
|
317 | 268 |
|
318 | 269 |
|
319 | 270 |
def main(): |
Also available in: Unified diff