9
9
from lib .pool import Pool
10
10
from lib .vdi import VDI
11
11
12
- from data import NETWORKS
12
+ from data import ISO_IMAGES , NETWORKS
13
13
assert "MGMT" in NETWORKS
14
14
15
15
# Requirements:
@@ -41,8 +41,9 @@ def helper_vm_with_plugged_disk(running_vm, create_vms):
41
41
@pytest .mark .dependency ()
42
42
class TestNested :
43
43
@pytest .mark .parametrize ("local_sr" , ("nosr" , "ext" , "lvm" ))
44
+ @pytest .mark .parametrize ("package_source" , ("iso" , "net" ))
44
45
@pytest .mark .parametrize ("iso_version" , (
45
- "83nightly" ,
46
+ "83nightly" , "83rcnet" ,
46
47
"83rc1" , "83b2" , "83b1" ,
47
48
"821.1" ,
48
49
"81" , "80" , "76" , "75" ,
@@ -75,24 +76,28 @@ class TestNested:
75
76
vifs = [dict (index = 0 , network_name = NETWORKS ["MGMT" ])],
76
77
))
77
78
@pytest .mark .answerfile (
78
- lambda install_disk , local_sr : AnswerFile ("INSTALL" )
79
+ lambda install_disk , local_sr , package_source , iso_version : AnswerFile ("INSTALL" )
79
80
.top_setattr ({} if local_sr == "nosr" else {"sr-type" : local_sr })
80
81
.top_append (
81
- {"TAG" : "source" , "type" : "local" },
82
+ {"TAG" : "source" , "type" : "local" } if package_source == "iso"
83
+ else {"TAG" : "source" , "type" : "url" ,
84
+ "CONTENTS" : ISO_IMAGES [iso_version ]['net-url' ]} if package_source == "net"
85
+ else {},
82
86
{"TAG" : "primary-disk" ,
83
87
"guest-storage" : "no" if local_sr == "nosr" else "yes" ,
84
88
"CONTENTS" : install_disk },
85
89
))
86
90
def test_install (self , vm_booted_with_installer , install_disk ,
87
- firmware , iso_version , local_sr ):
91
+ firmware , iso_version , package_source , local_sr ):
88
92
host_vm = vm_booted_with_installer
89
93
installer .monitor_install (ip = host_vm .ip )
90
94
91
95
@pytest .mark .usefixtures ("xcpng_chained" )
92
96
@pytest .mark .parametrize ("local_sr" , ("nosr" , "ext" , "lvm" ))
97
+ @pytest .mark .parametrize ("package_source" , ("iso" , "net" ))
93
98
@pytest .mark .parametrize ("machine" , ("host1" , "host2" ))
94
99
@pytest .mark .parametrize ("version" , (
95
- "83nightly" ,
100
+ "83nightly" , "83rcnet" ,
96
101
"83rc1" , "83b2" , "83b1" ,
97
102
"821.1" ,
98
103
"81" , "80" ,
@@ -102,12 +107,12 @@ def test_install(self, vm_booted_with_installer, install_disk,
102
107
))
103
108
@pytest .mark .parametrize ("firmware" , ("uefi" , "bios" ))
104
109
@pytest .mark .continuation_of (
105
- lambda version , firmware , local_sr : [dict (
110
+ lambda version , firmware , local_sr , package_source : [dict (
106
111
vm = "vm1" ,
107
- image_test = f"TestNested::test_install[{ firmware } -{ version } -{ local_sr } ]" )])
112
+ image_test = f"TestNested::test_install[{ firmware } -{ version } -{ package_source } - { local_sr } ]" )])
108
113
@pytest .mark .small_vm
109
114
def test_tune_firstboot (self , create_vms , helper_vm_with_plugged_disk ,
110
- firmware , version , machine , local_sr ):
115
+ firmware , version , machine , local_sr , package_source ):
111
116
helper_vm = helper_vm_with_plugged_disk
112
117
113
118
helper_vm .ssh (["mount /dev/xvdb1 /mnt" ])
@@ -151,6 +156,7 @@ def _test_firstboot(self, create_vms, mode, *, machine='DEFAULT', is_restore=Fal
151
156
"83b1" : "8.3.0" ,
152
157
"83b2" : "8.3.0" ,
153
158
"83rc1" : "8.3.0" ,
159
+ "83rcnet" : "8.3.0" ,
154
160
"83nightly" : "8.3.0" ,
155
161
}[expected_rel_id ]
156
162
@@ -278,9 +284,10 @@ def _test_firstboot(self, create_vms, mode, *, machine='DEFAULT', is_restore=Fal
278
284
279
285
@pytest .mark .usefixtures ("xcpng_chained" )
280
286
@pytest .mark .parametrize ("local_sr" , ("nosr" , "ext" , "lvm" ))
287
+ @pytest .mark .parametrize ("package_source" , ("iso" , "net" ))
281
288
@pytest .mark .parametrize ("machine" , ("host1" , "host2" ))
282
289
@pytest .mark .parametrize ("version" , (
283
- "83nightly" ,
290
+ "83nightly" , "83rcnet" ,
284
291
"83rc1" , "83b2" , "83b1" ,
285
292
"821.1" ,
286
293
"81" , "80" ,
@@ -290,15 +297,17 @@ def _test_firstboot(self, create_vms, mode, *, machine='DEFAULT', is_restore=Fal
290
297
))
291
298
@pytest .mark .parametrize ("firmware" , ("uefi" , "bios" ))
292
299
@pytest .mark .continuation_of (
293
- lambda firmware , version , machine , local_sr : [
300
+ lambda firmware , version , machine , local_sr , package_source : [
294
301
dict (vm = "vm1" ,
295
- image_test = f"TestNested::test_tune_firstboot[None-{ firmware } -{ version } -{ machine } -{ local_sr } ]" )])
302
+ image_test = ("TestNested::test_tune_firstboot"
303
+ f"[None-{ firmware } -{ version } -{ machine } -{ package_source } -{ local_sr } ]" ))])
296
304
def test_boot_inst (self , create_vms ,
297
- firmware , version , machine , local_sr ):
305
+ firmware , version , machine , package_source , local_sr ):
298
306
self ._test_firstboot (create_vms , version , machine = machine )
299
307
300
308
@pytest .mark .usefixtures ("xcpng_chained" )
301
309
@pytest .mark .parametrize ("local_sr" , ("nosr" , "ext" , "lvm" ))
310
+ @pytest .mark .parametrize ("package_source" , ("iso" , "net" ))
302
311
@pytest .mark .parametrize ("machine" , ("host1" , "host2" ))
303
312
@pytest .mark .parametrize ("mode" , (
304
313
"83nightly-83nightly" ,
@@ -310,19 +319,21 @@ def test_boot_inst(self, create_vms,
310
319
"80-83nightly" ,
311
320
"xs8-83nightly" ,
312
321
"ch821.1-83nightly" ,
322
+ "83rcnet-83rcnet" ,
313
323
"821.1-821.1" ,
314
324
))
315
325
@pytest .mark .parametrize ("firmware" , ("uefi" , "bios" ))
316
326
@pytest .mark .continuation_of (
317
- lambda firmware , mode , machine , local_sr : [dict (
327
+ lambda firmware , mode , machine , package_source , local_sr : [dict (
318
328
vm = "vm1" ,
319
- image_test = (f"TestNested::test_upgrade[{ firmware } -{ mode } -{ machine } -{ local_sr } ]" ))])
329
+ image_test = (f"TestNested::test_upgrade[{ firmware } -{ mode } -{ machine } -{ package_source } - { local_sr } ]" ))])
320
330
def test_boot_upg (self , create_vms ,
321
- firmware , mode , machine , local_sr ):
331
+ firmware , mode , machine , package_source , local_sr ):
322
332
self ._test_firstboot (create_vms , mode , machine = machine )
323
333
324
334
@pytest .mark .usefixtures ("xcpng_chained" )
325
335
@pytest .mark .parametrize ("local_sr" , ("nosr" , "ext" , "lvm" ))
336
+ @pytest .mark .parametrize ("package_source" , ("iso" , "net" ))
326
337
@pytest .mark .parametrize ("mode" , (
327
338
"83nightly-83nightly-83nightly" ,
328
339
"83rc1-83nightly-83nightly" ,
@@ -333,19 +344,21 @@ def test_boot_upg(self, create_vms,
333
344
"80-83nightly-83nightly" ,
334
345
"xs8-83nightly-83nightly" ,
335
346
"ch821.1-83nightly-83nightly" ,
347
+ "83rcnet-83rcnet-83rcnet" , # FIXME
336
348
"821.1-821.1-821.1" ,
337
349
))
338
350
@pytest .mark .parametrize ("firmware" , ("uefi" , "bios" ))
339
351
@pytest .mark .continuation_of (
340
- lambda firmware , mode , local_sr : [dict (
352
+ lambda firmware , mode , package_source , local_sr : [dict (
341
353
vm = "vm1" ,
342
- image_test = (f"TestNested::test_restore[{ firmware } -{ mode } -{ local_sr } ]" ))])
354
+ image_test = (f"TestNested::test_restore[{ firmware } -{ mode } -{ package_source } - { local_sr } ]" ))])
343
355
def test_boot_rst (self , create_vms ,
344
- firmware , mode , local_sr ):
356
+ firmware , mode , package_source , local_sr ):
345
357
self ._test_firstboot (create_vms , mode , is_restore = True )
346
358
347
359
@pytest .mark .usefixtures ("xcpng_chained" )
348
360
@pytest .mark .parametrize ("local_sr" , ("nosr" , "ext" , "lvm" ))
361
+ @pytest .mark .parametrize ("package_source" , ("iso" , "net" ))
349
362
@pytest .mark .parametrize ("machine" , ("host1" , "host2" ))
350
363
@pytest .mark .parametrize (("orig_version" , "iso_version" ), [
351
364
("83nightly" , "83nightly" ),
@@ -357,26 +370,31 @@ def test_boot_rst(self, create_vms,
357
370
("80" , "83nightly" ),
358
371
("xs8" , "83nightly" ),
359
372
("ch821.1" , "83nightly" ),
373
+ ("83rcnet" , "83rcnet" ), # FIXME
360
374
("821.1" , "821.1" ),
361
375
])
362
376
@pytest .mark .parametrize ("firmware" , ("uefi" , "bios" ))
363
377
@pytest .mark .continuation_of (
364
- lambda firmware , orig_version , machine , local_sr : [dict (
378
+ lambda firmware , orig_version , machine , package_source , local_sr : [dict (
365
379
vm = "vm1" ,
366
- image_test = f"TestNested::test_boot_inst[{ firmware } -{ orig_version } -{ machine } -{ local_sr } ]" )])
380
+ image_test = f"TestNested::test_boot_inst[{ firmware } -{ orig_version } -{ machine } -{ package_source } - { local_sr } ]" )])
367
381
@pytest .mark .answerfile (
368
- lambda install_disk : AnswerFile ("UPGRADE" ).top_append (
369
- {"TAG" : "source" , "type" : "local" },
382
+ lambda install_disk , package_source , iso_version : AnswerFile ("UPGRADE" ).top_append (
383
+ {"TAG" : "source" , "type" : "local" } if package_source == "iso"
384
+ else {"TAG" : "source" , "type" : "url" ,
385
+ "CONTENTS" : ISO_IMAGES [iso_version ]['net-url' ]} if package_source == "net"
386
+ else {},
370
387
{"TAG" : "existing-installation" ,
371
388
"CONTENTS" : install_disk },
372
389
))
373
390
def test_upgrade (self , vm_booted_with_installer , install_disk ,
374
- firmware , orig_version , iso_version , machine , local_sr ):
391
+ firmware , orig_version , iso_version , machine , package_source , local_sr ):
375
392
host_vm = vm_booted_with_installer
376
393
installer .monitor_upgrade (ip = host_vm .ip )
377
394
378
395
@pytest .mark .usefixtures ("xcpng_chained" )
379
396
@pytest .mark .parametrize ("local_sr" , ("nosr" , "ext" , "lvm" ))
397
+ @pytest .mark .parametrize ("package_source" , ("iso" , "net" ))
380
398
@pytest .mark .parametrize (("orig_version" , "iso_version" ), [
381
399
("83nightly-83nightly" , "83nightly" ),
382
400
("83rc1-83nightly" , "83nightly" ),
@@ -387,19 +405,20 @@ def test_upgrade(self, vm_booted_with_installer, install_disk,
387
405
("80-83nightly" , "83nightly" ),
388
406
("xs8-83nightly" , "83nightly" ),
389
407
("ch821.1-83nightly" , "83nightly" ),
408
+ ("83rcnet-83rcnet" , "83rcnet" ), # FIXME
390
409
("821.1-821.1" , "821.1" ),
391
410
])
392
411
@pytest .mark .parametrize ("firmware" , ("uefi" , "bios" ))
393
412
@pytest .mark .continuation_of (
394
- lambda firmware , orig_version , local_sr : [dict (
413
+ lambda firmware , orig_version , local_sr , package_source : [dict (
395
414
vm = "vm1" ,
396
- image_test = f"TestNested::test_boot_upg[{ firmware } -{ orig_version } -host1-{ local_sr } ]" )])
415
+ image_test = f"TestNested::test_boot_upg[{ firmware } -{ orig_version } -host1-{ package_source } - { local_sr } ]" )])
397
416
@pytest .mark .answerfile (
398
417
lambda install_disk : AnswerFile ("RESTORE" ).top_append (
399
418
{"TAG" : "backup-disk" ,
400
419
"CONTENTS" : install_disk },
401
420
))
402
421
def test_restore (self , vm_booted_with_installer , install_disk ,
403
- firmware , orig_version , iso_version , local_sr ):
422
+ firmware , orig_version , iso_version , package_source , local_sr ):
404
423
host_vm = vm_booted_with_installer
405
424
installer .monitor_restore (ip = host_vm .ip )
0 commit comments