Skip to content
Snippets Groups Projects

WIP: Add AUP support for agent

Closed Bo-Chun Chen requested to merge github/fork/diedpigs/feat-add-aup into feat-cod-rmq
1 file
+ 20
4
Compare changes
  • Side-by-side
  • Inline
@@ -29,6 +29,7 @@ record = {
"last_update": datetime.now(),
"errmsg": None,
"waiting": set(),
"accept_use_policy": None,
"request": {"create_account": None},
"verify": {
"git_commit": None,
@@ -67,6 +68,7 @@ def notify_admin(username, user_record):
message += f""" \n
User Creation Report for user {username}
uid: {user_record["uid"]}, gid: {user_record["gid"]}
aup: {user_record["aup"]}
Tasks:
'create_account': {user_record["request"]["create_account"]}
'git_commit': {user_record["verify"]["git_commit"]}
@@ -110,6 +112,7 @@ def insert_db(username, msg):
"email": msg.get("email", ""),
"reason": msg.get("reason", ""),
"fullname": msg.get("fullname", ""),
"accept_use_policy": msg.get("aup", False),
"create_account": None,
"git_commit": None,
"dir_verify": None,
@@ -134,6 +137,7 @@ def task_manager(ch, method, properties, body):
username = msg["username"]
task_name = msg["task"]
success = msg["success"]
aup = msg.get("aup", False)
send = completed = terminated = False
routing_key = ""
@@ -155,6 +159,9 @@ def task_manager(ch, method, properties, body):
current["fullname"] = (
user_db["fullname"] if user_db else msg["fullname"]
)
current["accept_use_policy"] = (
user_db["accept_use_policy"] if user_db else None
)
if user_db:
# Restore task status
@@ -185,10 +192,11 @@ def task_manager(ch, method, properties, body):
current["last_update"] = datetime.now()
# Update Database
update_db(
username,
{task_name: success, "last_update": current["last_update"]},
)
if task_name != "accept_user_policy":
update_db(
username,
{task_name: success, "last_update": current["last_update"]},
)
# Save error message if the task was failed
if not success:
@@ -268,6 +276,14 @@ def task_manager(ch, method, properties, body):
logger.debug(f"Trigger message '{routing_key}' sent")
# Send aup message
if current["accept_use_policy"] is None:
rc_rmq.publish_msg(
{"routing_key": "aup." + queuename, "msg": message}
)
current["accept_user_policy"] = aup
logger.debug(f"Trigger message 'aup.{queuename}' sent")
logger.debug("Previous level messages acknowledged")
# Send report to admin
Loading