Publish curated Unraid-AppOps-Gateway source from d013be0be977c530311fae02934026709d8a952f
This commit is contained in:
1 parent
f37a7b8b42
commit
3edb084a91
3 files changed
+47
-4
No files matched your search
@@ -1,3 +1,3 @@
|
|||||||
# Public source export
|
# Public source export
|
||||||
|
|
||||||
This source snapshot was generated from the private canonical repository at revision `df9538cc820b70cece4f17eb9034739917560f96`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
|
This source snapshot was generated from the private canonical repository at revision `d013be0be977c530311fae02934026709d8a952f`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"schemaVersion": 1,
|
"schemaVersion": 1,
|
||||||
"sourceRevision": "df9538cc820b70cece4f17eb9034739917560f96",
|
"sourceRevision": "d013be0be977c530311fae02934026709d8a952f",
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"path": ".dockerignore",
|
"path": ".dockerignore",
|
||||||
@@ -1619,8 +1619,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "backend/tests/test_runner_build_launcher_refresh.py",
|
"path": "backend/tests/test_runner_build_launcher_refresh.py",
|
||||||
"sha256": "cf05c9a595b126cdd140f1803c37913157104a9c5ef0c8295a258961ad413f97",
|
"sha256": "887c1efb5a51e4c63eecd09a7927dfa4048e66a0dce4ceaf77b11f49f59eae5c",
|
||||||
"bytes": 20307
|
"bytes": 22199
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "backend/tests/test_runner_capacity_controller.py",
|
"path": "backend/tests/test_runner_capacity_controller.py",
|
||||||
|
|||||||
@@ -172,6 +172,12 @@ def launcher(monkeypatch, tmp_path):
|
|||||||
original = copy.deepcopy(containers["itworx-ci-build"])
|
original = copy.deepcopy(containers["itworx-ci-build"])
|
||||||
|
|
||||||
def docker(args, **_k):
|
def docker(args, **_k):
|
||||||
|
if args[:2] == ["docker", "exec"]:
|
||||||
|
assert args == [
|
||||||
|
"docker", "exec", "-e", "DOCKER_HOST=" + module._DIND_DOCKER_HOST,
|
||||||
|
module.DIND_NAME, "docker", "ps", "-a", "-q",
|
||||||
|
]
|
||||||
|
return ""
|
||||||
if args[:3] == ["docker", "image", "inspect"]:
|
if args[:3] == ["docker", "image", "inspect"]:
|
||||||
return json.dumps([{"Id": args[-1]}])
|
return json.dumps([{"Id": args[-1]}])
|
||||||
if args[:2] == ["docker", "inspect"]:
|
if args[:2] == ["docker", "inspect"]:
|
||||||
@@ -426,6 +432,43 @@ class Interrupted(BaseException):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("operation", ["refresh", "recovery"])
|
||||||
|
@pytest.mark.parametrize("inventory", ["stopped_container", "connection_failure"])
|
||||||
|
def test_launcher_inventory_uses_trusted_socket_and_fails_closed(
|
||||||
|
launcher, monkeypatch, operation, inventory
|
||||||
|
):
|
||||||
|
module, containers, rows, _, effects, _ = launcher
|
||||||
|
if operation == "recovery":
|
||||||
|
preflight = module._build_launcher_preflight("refresh")
|
||||||
|
module._apply_build_launcher("refresh", preflight["preflightSha256"])
|
||||||
|
receipt = module._build_launcher_receipt()
|
||||||
|
receipt["status"] = "created"
|
||||||
|
module._write_private_atomic(module._build_launcher_receipt_path(), module._canonical_bytes(receipt))
|
||||||
|
before = copy.deepcopy(containers), copy.deepcopy(rows)
|
||||||
|
effects.clear()
|
||||||
|
original = module._run
|
||||||
|
|
||||||
|
def inventory_result(args, **kwargs):
|
||||||
|
if args[:2] == ["docker", "exec"]:
|
||||||
|
assert args == [
|
||||||
|
"docker", "exec", "-e", "DOCKER_HOST=" + module._DIND_DOCKER_HOST,
|
||||||
|
module.DIND_NAME, "docker", "ps", "-a", "-q",
|
||||||
|
]
|
||||||
|
if inventory == "connection_failure":
|
||||||
|
raise module.RunnerFleetSpecializeError("runner_fleet_specialization_command_failed")
|
||||||
|
return "f" * 64
|
||||||
|
return original(args, **kwargs)
|
||||||
|
|
||||||
|
monkeypatch.setattr(module, "_run", inventory_result)
|
||||||
|
with pytest.raises(module.RunnerFleetSpecializeError):
|
||||||
|
if operation == "recovery":
|
||||||
|
module._build_launcher_recovery_preflight()
|
||||||
|
else:
|
||||||
|
module._build_launcher_preflight("refresh")
|
||||||
|
assert effects == []
|
||||||
|
assert (containers, rows) == before
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"point",
|
"point",
|
||||||
["backup", "prepared", "rename", "create", "created", "before_applied", "applied"],
|
["backup", "prepared", "rename", "create", "created", "before_applied", "applied"],
|
||||||
|
|||||||
Reference in new issue
Block a user