Skip to content
Snippets Groups Projects
Commit cfb17105 authored by Eesaan Atluri's avatar Eesaan Atluri
Browse files

Merge branch 'feat-group-membership-agent' into refactor-ssh-access-agent

parents e781343f 9cfd55ec
No related branches found
No related tags found
2 merge requests!147Merge previous default branch feat-cod-rmq into main,!137Refactor ssh access agent
...@@ -26,26 +26,34 @@ def group_member(ch, method, properties, body): ...@@ -26,26 +26,34 @@ def group_member(ch, method, properties, body):
state = msg["state"] state = msg["state"]
try: try:
if 'remove' in msg["groups"]:
for each_group in msg["groups"]["remove"]:
logger.debug(f'Removing user {username} from group {each_group}')
if str(rcfg.bright_cm_version).split(".")[0] == "8":
grp_remove_user_cmd = f'/cm/local/apps/cmd/bin/cmsh -n -c "group; removefrom {each_group} groupmembers {username}; commit;"'
else:
grp_remove_user_cmd = f'/cm/local/apps/cmd/bin/cmsh -n -c "group; removefrom {each_group} members {username}; commit;"'
logger.info(f'Running command: {grp_remove_user_cmd}')
proc = Popen(shlex.split(grp_remove_user_cmd), stdout=PIPE, stderr=PIPE)
out,err = proc.communicate()
logger.debug(f'Result: {err}')
logger.info(f'User {username} is removed from {each_group} group')
if action == 'add': if 'add' in msg["groups"]:
for each_group in msg["groupnames"]: for each_group in msg["groups"]["add"]:
logger.debug(f'Adding user {username} to group {each_group}') logger.debug(f'Adding user {username} to group {each_group}')
grp_add_user_cmd = f'/cm/local/apps/cmd/bin/cmsh -n -c "group; append {each_group} members {username}; commit;"' if str(rcfg.bright_cm_version).split(".")[0] == "8":
proc = Popen(shlex.split(grp_add_user_cmd), stdout=PIPE, stderr=PIPE) grp_add_user_cmd = f'/cm/local/apps/cmd/bin/cmsh -n -c "group; append {each_group} groupmembers {username}; commit;"'
else:
grp_add_user_cmd = f'/cm/local/apps/cmd/bin/cmsh -n -c "group; append {each_group} members {username}; commit;"'
logger.info(f'Running command: {grp_add_user_cmd}') logger.info(f'Running command: {grp_add_user_cmd}')
proc = Popen(shlex.split(grp_add_user_cmd), stdout=PIPE, stderr=PIPE)
out,err = proc.communicate() out,err = proc.communicate()
logger.debug(f'Result: {err}') logger.debug(f'Result: {err}')
logger.info(f'User {username} is added to {each_group} group') logger.info(f'User {username} is added to {each_group} group')
elif action == 'remove':
for each_group in msg["groupnames"]:
logger.debug(f'Removing user {username} from group {each_group}')
grp_remove_user_cmd = f'/cm/local/apps/cmd/bin/cmsh -n -c "group; removefrom {each_group} members {username}; commit;"'
proc = Popen(shlex.split(grp_remove_user_cmd), stdout=PIPE, stderr=PIPE)
out,err = proc.communicate()
logger.info(f'Running command: {grp_remove_user_cmd}')
logger.debug(f'Result: {err}')
logger.info(f'User {username} is removed from {each_group} group')
msg["success"] = True msg["success"] = True
...@@ -73,7 +81,7 @@ def group_member(ch, method, properties, body): ...@@ -73,7 +81,7 @@ def group_member(ch, method, properties, body):
else: else:
print("Error: no reply_to") print("Error: no reply_to")
logger.debug(f'User {username} confirmation sent for {action}ing {task}') logger.debug(f'User {username} confirmation sent from {task}')
ch.basic_ack(delivery_tag=method.delivery_tag) ch.basic_ack(delivery_tag=method.delivery_tag)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment