|
17 | 17 | @pytest.mark.dependency()
|
18 | 18 | class TestNested:
|
19 | 19 | @pytest.mark.parametrize("iso_version", (
|
| 20 | + "80", "81", |
20 | 21 | "ch821.1", "xs8",
|
21 | 22 | "821.1", "83b2",
|
22 | 23 | ))
|
23 | 24 | @pytest.mark.parametrize("firmware", ("uefi", "bios"))
|
24 | 25 | @pytest.mark.installer_iso(
|
25 | 26 | lambda version: {
|
| 27 | + "80": "xcpng-8.0", |
| 28 | + "81": "xcpng-8.1", |
26 | 29 | "821.1": "xcpng-8.2.1-2023",
|
27 | 30 | "83b2": "xcpng-8.3-beta2",
|
28 | 31 | "ch821.1": "ch-8.2.1-23",
|
@@ -144,11 +147,13 @@ def test_install(self, request, firmware, iso_version, iso_remaster, create_vms)
|
144 | 147 | @pytest.mark.usefixtures("xcpng_chained")
|
145 | 148 | # FIXME take "uefi" outa here and allow "bios"
|
146 | 149 | @pytest.mark.parametrize("mode", [
|
| 150 | + "80", "81", |
147 | 151 | "ch821.1", "xs8",
|
148 | 152 | "821.1",
|
149 | 153 | "821.1-821.1",
|
150 | 154 | "83b2",
|
151 | 155 | "821.1-83b2",
|
| 156 | + "81-83b2", "80-83b2", |
152 | 157 | "ch821.1-83b2",
|
153 | 158 | #"83b2-83b2", # 8.3b2 disabled the upgrade from 8.3
|
154 | 159 | "821.1-83b2-83b2",
|
@@ -188,6 +193,8 @@ def test_firstboot(self, firmware, request, create_vms, mode):
|
188 | 193 | expected_rel = {
|
189 | 194 | "ch821.1": "8.2.1",
|
190 | 195 | "xs8": "8.4.0",
|
| 196 | + "80": "8.0.0", |
| 197 | + "81": "8.1.0", |
191 | 198 | "821.1": "8.2.1",
|
192 | 199 | "83b2": "8.3.0",
|
193 | 200 | }[expected_rel_id]
|
@@ -241,21 +248,45 @@ def test_firstboot(self, firmware, request, create_vms, mode):
|
241 | 248 | # wait for XAPI
|
242 | 249 | wait_for(pool.master.is_enabled, "Wait for XAPI to be ready", timeout_secs=30 * 60)
|
243 | 250 |
|
244 |
| - # check for firstboot issues |
245 |
| - # FIXME: flaky, must check logs extraction on failure |
246 |
| - for service in ["control-domain-params-init", |
| 251 | + if lsb_rel in ["8.2.1", "8.3.0", "8.4.0"]: |
| 252 | + SERVICES =["control-domain-params-init", |
247 | 253 | "network-init",
|
248 | 254 | "storage-init",
|
249 | 255 | "generate-iscsi-iqn",
|
250 | 256 | "create-guest-templates",
|
251 |
| - ]: |
252 |
| - try: |
253 |
| - wait_for(lambda: pool.master.ssh(["test", "-e", f"/var/lib/misc/ran-{service}"], |
| 257 | + ] |
| 258 | + STAMPS_DIR = "/var/lib/misc" |
| 259 | + STAMPS = [f"ran-{service}" for service in SERVICES] |
| 260 | + elif lsb_rel in ["8.0.0", "8.1.0"]: |
| 261 | + SERVICES = ["xs-firstboot"] |
| 262 | + STAMPS_DIR = "/etc/firstboot.d/state" |
| 263 | + STAMPS = [ |
| 264 | + "05-prepare-networking", |
| 265 | + "10-prepare-storage", |
| 266 | + "15-set-default-storage", |
| 267 | + "20-udev-storage", |
| 268 | + "25-multipath", |
| 269 | + "40-generate-iscsi-iqn", |
| 270 | + "50-prepare-control-domain-params", |
| 271 | + "60-import-keys", |
| 272 | + "60-upgrade-likewise-to-pbis", |
| 273 | + "62-create-guest-templates", |
| 274 | + "80-common-criteria", |
| 275 | + "90-flush-pool-db", |
| 276 | + "95-legacy-logrotate", |
| 277 | + "99-remove-firstboot-flag", |
| 278 | + ] |
| 279 | + # check for firstboot issues |
| 280 | + # FIXME: flaky, must check logs extraction on failure |
| 281 | + try: |
| 282 | + for stamp in STAMPS: |
| 283 | + wait_for(lambda: pool.master.ssh(["test", "-e", f"{STAMPS_DIR}/{stamp}"], |
254 | 284 | check=False, simple_output=False,
|
255 | 285 | ).returncode == 0,
|
256 |
| - f"Wait for ran-{service} stamp") |
257 |
| - except TimeoutError: |
258 |
| - logging.warning("investigating lack of ran-{service} stamp") |
| 286 | + f"Wait for {stamp} stamp") |
| 287 | + except TimeoutError: |
| 288 | + logging.warning("investigating lack of {stamp} service stamp") |
| 289 | + for service in SERVICES: |
259 | 290 | out = pool.master.ssh(["systemctl", "status", service], check=False)
|
260 | 291 | logging.warning("service status: %s", out)
|
261 | 292 | out = pool.master.ssh(["grep", "-r", service, "/var/log"], check=False)
|
@@ -298,6 +329,8 @@ def test_firstboot(self, firmware, request, create_vms, mode):
|
298 | 329 | @pytest.mark.usefixtures("xcpng_chained")
|
299 | 330 | @pytest.mark.parametrize(("orig_version", "iso_version"), [
|
300 | 331 | ("821.1", "821.1"),
|
| 332 | + ("80", "83b2"), |
| 333 | + ("81", "83b2"), |
301 | 334 | ("ch821.1", "83b2"),
|
302 | 335 | ("821.1", "83b2"),
|
303 | 336 | #("83b2", "83b2"), # 8.3b2 disabled the upgrade from 8.3
|
|
0 commit comments