diff --git a/prod_rmq_agents/group_member.py b/prod_rmq_agents/group_member.py index d09c0278e2774d0a4286be024c2912e6125ddff6..1ae50add641f3c56cfb57a713d4076ee01770827 100644 --- a/prod_rmq_agents/group_member.py +++ b/prod_rmq_agents/group_member.py @@ -3,7 +3,7 @@ import json import pika import shlex import rc_util -from subprocess import Popen,PIPE +from subprocess import Popen, PIPE from rc_rmq import RCRMQ import rabbit_config as rcfg @@ -22,73 +22,87 @@ def group_member(ch, method, properties, body): msg["task"] = task try: - if 'remove' in msg["groups"]: + if "remove" in msg["groups"]: for each_group in msg["groups"]["remove"]: - logger.debug(f'Removing user {username} from group {each_group}') + 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;"' + grp_remove_user_cmd = ( + '/cm/local/apps/cmd/bin/cmsh -n -c "group; removefrom' + f' {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 'add' in msg["groups"]: + grp_remove_user_cmd = ( + '/cm/local/apps/cmd/bin/cmsh -n -c "group; removefrom' + f' {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 "add" in msg["groups"]: 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}") if str(rcfg.bright_cm_version).split(".")[0] == "8": - grp_add_user_cmd = f'/cm/local/apps/cmd/bin/cmsh -n -c "group; append {each_group} groupmembers {username}; commit;"' + grp_add_user_cmd = ( + '/cm/local/apps/cmd/bin/cmsh -n -c "group; append' + f' {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}') - proc = Popen(shlex.split(grp_add_user_cmd), stdout=PIPE, stderr=PIPE) - out,err = proc.communicate() - logger.debug(f'Result: {err}') - logger.info(f'User {username} is added to {each_group} group') - + grp_add_user_cmd = ( + '/cm/local/apps/cmd/bin/cmsh -n -c "group; append' + f' {each_group} members {username}; commit;"' + ) + + 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() + logger.debug(f"Result: {err}") + logger.info(f"User {username} is added to {each_group} group") msg["success"] = True except Exception: msg["success"] = False - msg["errmsg"] = "Exception raised, while adding user to group {groupname}, check the logs for stack trace" + msg["errmsg"] = ( + "Exception raised, while adding user to group {groupname}, check" + " the logs for stack trace" + ) logger.error("", exc_info=True) - corr_id = properties.correlation_id reply_to = properties.reply_to - logger.debug(f'corr_id: {corr_id} \n reply_to: {reply_to}') + logger.debug(f"corr_id: {corr_id} \n reply_to: {reply_to}") # send response to the callback queue if reply_to: props = pika.BasicProperties(correlation_id=corr_id) logger.debug("Sending confirmation back to reply_to") rc_rmq.publish_msg( - { - "routing_key": reply_to, - "props": props, - "msg": msg - } + {"routing_key": reply_to, "props": props, "msg": msg} ) else: print("Error: no reply_to") - logger.debug(f'User {username} confirmation sent from {task}') + logger.debug(f"User {username} confirmation sent from {task}") ch.basic_ack(delivery_tag=method.delivery_tag) logger.info(f"Start listening to queue: {task}") -rc_rmq.bind_queue(queue=task, routing_key='group_member.*', durable=True) +rc_rmq.bind_queue(queue=task, routing_key="group_member.*", durable=True) -rc_rmq.start_consume( - {"queue": task, "cb": group_member} -) +rc_rmq.start_consume({"queue": task, "cb": group_member}) logger.info("Disconnected") -rc_rmq.disconnect() - +rc_rmq.disconnect()