71 lines
1.4 KiB
Python
Executable File
71 lines
1.4 KiB
Python
Executable File
#!/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")
|