Bind daemon to local Pacemaker node identity

This commit is contained in:
Lyncoln
2026-09-17 16:03:03 -04:00
parent 338fe2ecac
commit 64cdc024b0
2 changed files with 113 additions and 0 deletions
+70
View File
@@ -0,0 +1,70 @@
#!/usr/bin/env python3
import sys
sys.path.insert(0, "daemon")
import server
from registry import RegistryError
def require(condition, message):
if not condition:
raise SystemExit("FAIL: " + message)
def require_error(environment, message):
try:
server.load_pacemaker_node_name(environment)
except RegistryError:
return
raise SystemExit("FAIL: " + message)
print("===== PACEMAKER NODE IDENTITY =====")
require_error(
{},
"missing node identity was accepted",
)
print("missing_identity rejected")
require_error(
{"PACEMAKER_NODE_NAME": " "},
"empty node identity was accepted",
)
print("empty_identity rejected")
require_error(
{"PACEMAKER_NODE_NAME": "david prodesk"},
"whitespace node identity was accepted",
)
print("whitespace_identity rejected")
node_name = server.load_pacemaker_node_name({
"PACEMAKER_NODE_NAME": " DAVID-PRODESK ",
})
require(
node_name == "david-prodesk",
"node identity was not normalized",
)
print("valid_identity normalized")
server.pacemaker_node_name = node_name
ping = server.protocol_response({
"ok": True,
"daemon": "managed-containerd",
"pacemaker_node": server.pacemaker_node_name,
})
require(
ping["pacemaker_node"] == "david-prodesk",
"node identity was not reportable",
)
print("reported_identity accepted")
print()
print("NODE_IDENTITY_TEST_PASS=1")