32 lines
1.5 KiB
Python
32 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
"""termix_xff_install.py LABEL — install Termix from the drill on 9202 through the product, make the first account (the
|
|
fixture's own sign-up: it lifts the setup gate), run termix_xff.py LABEL, remove the app through the product."""
|
|
import os, runpy, sys
|
|
sys.path.insert(0, "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts")
|
|
import box_walk as w
|
|
import upgrade_fixtures_box28 as f28
|
|
w.login()
|
|
try:
|
|
if w.stack("termix").get("deployed"):
|
|
w.remove("termix")
|
|
w.refresh_box_mirror(); w.sync_rescan()
|
|
if not w.deploy("termix", "termix"):
|
|
print("install failed"); sys.exit(1)
|
|
t = f28.FIXTURES28["termix"].seed(w, "termix", w.say)
|
|
print("seed:", bool(t))
|
|
# 2.9.2 dropped its route for a while right after the first install (502, then 404 — 2026-10-28): wait until the
|
|
# container is healthy and stays so for 60 s before the test
|
|
import time
|
|
for _ in range(40):
|
|
if w.guest("docker inspect -f '{{.State.Health.Status}}' termix").strip() == "healthy":
|
|
break
|
|
time.sleep(10)
|
|
time.sleep(60)
|
|
print("health before the test:", w.guest("docker inspect -f '{{.State.Health.Status}} {{.RestartCount}}' termix").strip())
|
|
sys.argv = ["termix_xff.py", sys.argv[1]]
|
|
runpy.run_path(os.path.join(os.path.dirname(os.path.abspath(__file__)), "termix_xff.py"), run_name="__main__")
|
|
finally:
|
|
if w.stack("termix").get("deployed"):
|
|
w.remove("termix")
|
|
print("\n".join(w.LOG[-3:]))
|