|
11 | 11 | @pytest.mark.dependency()
|
12 | 12 | class TestNested:
|
13 | 13 | @pytest.mark.parametrize("iso_version", (
|
| 14 | + "80", "81", |
14 | 15 | "ch821.1", "xs8",
|
15 | 16 | "821.1", "83b2",
|
16 | 17 | ))
|
@@ -38,6 +39,8 @@ class TestNested:
|
38 | 39 | param_mapping={"firmware": "firmware"})
|
39 | 40 | @pytest.mark.installer_iso(
|
40 | 41 | lambda version: {
|
| 42 | + "80": "xcpng-8.0", |
| 43 | + "81": "xcpng-8.1", |
41 | 44 | "821.1": "xcpng-8.2.1-2023",
|
42 | 45 | "83b2": "xcpng-8.3-beta2",
|
43 | 46 | "ch821.1": "ch-8.2.1-23",
|
@@ -134,10 +137,13 @@ def test_install(self, request, firmware, iso_remaster, create_vms, iso_version)
|
134 | 137 | #"83b2-83b2", # 8.3b2 disabled the upgrade from 8.3
|
135 | 138 | "821.1-83b2",
|
136 | 139 | "821.1-83b2-83b2",
|
| 140 | + "81-83b2", "81-83b2-83b2", |
| 141 | + "80-83b2", "80-83b2-83b2", |
137 | 142 | "ch821.1-83b2",
|
138 | 143 | "ch821.1-83b2-83b2",
|
139 | 144 | "821.1",
|
140 | 145 | "821.1-821.1",
|
| 146 | + "81", "80", |
141 | 147 | "ch821.1", "xs8",
|
142 | 148 | ))
|
143 | 149 | @pytest.mark.parametrize("firmware", ("uefi", "bios"))
|
@@ -174,6 +180,8 @@ def test_firstboot(self, firmware, request, create_vms, mode):
|
174 | 180 | expected_rel = {
|
175 | 181 | "ch821.1": "8.2.1",
|
176 | 182 | "xs8": "8.4.0",
|
| 183 | + "80": "8.0.0", |
| 184 | + "81": "8.1.0", |
177 | 185 | "821.1": "8.2.1",
|
178 | 186 | "83b2": "8.3.0",
|
179 | 187 | }[expected_rel_id]
|
@@ -227,21 +235,45 @@ def test_firstboot(self, firmware, request, create_vms, mode):
|
227 | 235 | # wait for XAPI
|
228 | 236 | wait_for(pool.master.is_enabled, "Wait for XAPI to be ready", timeout_secs=30 * 60)
|
229 | 237 |
|
230 |
| - # check for firstboot issues |
231 |
| - # FIXME: flaky, must check logs extraction on failure |
232 |
| - for service in ["control-domain-params-init", |
| 238 | + if lsb_rel in ["8.2.1", "8.3.0", "8.4.0"]: |
| 239 | + SERVICES =["control-domain-params-init", |
233 | 240 | "network-init",
|
234 | 241 | "storage-init",
|
235 | 242 | "generate-iscsi-iqn",
|
236 | 243 | "create-guest-templates",
|
237 |
| - ]: |
238 |
| - try: |
239 |
| - wait_for(lambda: pool.master.ssh(["test", "-e", f"/var/lib/misc/ran-{service}"], |
| 244 | + ] |
| 245 | + STAMPS_DIR = "/var/lib/misc" |
| 246 | + STAMPS = [f"ran-{service}" for service in SERVICES] |
| 247 | + elif lsb_rel in ["8.0.0", "8.1.0"]: |
| 248 | + SERVICES = ["xs-firstboot"] |
| 249 | + STAMPS_DIR = "/etc/firstboot.d/state" |
| 250 | + STAMPS = [ |
| 251 | + "05-prepare-networking", |
| 252 | + "10-prepare-storage", |
| 253 | + "15-set-default-storage", |
| 254 | + "20-udev-storage", |
| 255 | + "25-multipath", |
| 256 | + "40-generate-iscsi-iqn", |
| 257 | + "50-prepare-control-domain-params", |
| 258 | + "60-import-keys", |
| 259 | + "60-upgrade-likewise-to-pbis", |
| 260 | + "62-create-guest-templates", |
| 261 | + "80-common-criteria", |
| 262 | + "90-flush-pool-db", |
| 263 | + "95-legacy-logrotate", |
| 264 | + "99-remove-firstboot-flag", |
| 265 | + ] |
| 266 | + # check for firstboot issues |
| 267 | + # FIXME: flaky, must check logs extraction on failure |
| 268 | + try: |
| 269 | + for stamp in STAMPS: |
| 270 | + wait_for(lambda: pool.master.ssh(["test", "-e", f"{STAMPS_DIR}/{stamp}"], |
240 | 271 | check=False, simple_output=False,
|
241 | 272 | ).returncode == 0,
|
242 |
| - f"Wait for ran-{service} stamp") |
243 |
| - except TimeoutError: |
244 |
| - logging.warning("investigating lack of ran-{service} stamp") |
| 273 | + f"Wait for {stamp} stamp") |
| 274 | + except TimeoutError: |
| 275 | + logging.warning("investigating lack of {stamp} service stamp") |
| 276 | + for service in SERVICES: |
245 | 277 | out = pool.master.ssh(["systemctl", "status", service], check=False)
|
246 | 278 | logging.warning("service status: %s", out)
|
247 | 279 | out = pool.master.ssh(["grep", "-r", service, "/var/log"], check=False)
|
@@ -277,6 +309,8 @@ def test_firstboot(self, firmware, request, create_vms, mode):
|
277 | 309 | @pytest.mark.usefixtures("xcpng_chained")
|
278 | 310 | @pytest.mark.parametrize(("orig_version", "iso_version"), [
|
279 | 311 | ("821.1", "821.1"),
|
| 312 | + ("80", "83b2"), |
| 313 | + ("81", "83b2"), |
280 | 314 | ("ch821.1", "83b2"),
|
281 | 315 | ("821.1", "83b2"),
|
282 | 316 | #("83b2", "83b2"), # 8.3b2 disabled the upgrade from 8.3
|
@@ -380,6 +414,8 @@ def test_upgrade(self, firmware, iso_remaster, create_vms, orig_version, iso_ver
|
380 | 414 | @pytest.mark.usefixtures("xcpng_chained")
|
381 | 415 | @pytest.mark.parametrize(("orig_version", "iso_version"), [
|
382 | 416 | ("821.1-83b2", "83b2"),
|
| 417 | + ("80-83b2", "83b2"), |
| 418 | + ("81-83b2", "83b2"), |
383 | 419 | ("ch821.1-83b2", "83b2"),
|
384 | 420 | ])
|
385 | 421 | @pytest.mark.parametrize("firmware", ("uefi", "bios"))
|
|
0 commit comments