From 4b5e58609954bd9b7e560aac33e08259a56de4f4 Mon Sep 17 00:00:00 2001 From: John Walstra Date: Wed, 7 Aug 2024 10:30:41 -0500 Subject: [PATCH] DR-667 Fix problem with item count and now automatically remove finished jobs. The old item count was broken, a quick last momemnt addtion. Fix it so current number is correct. When the customer finishes processing a discovery job, it will automatically remove the job. If the discovery results in nothing to discover, it will automatically remove the job. Make sure all wheel files are update to date. --- .../commands/discover/result_process.py | 25 +++++++++++++--- keepercommander/commands/pam_debug/graph.py | 27 +++++++++++------- libs/discovery_common-1.0.10-py3-none-any.whl | Bin 36980 -> 36960 bytes libs/keeper_dag-1.0.10-py3-none-any.whl | Bin 40201 -> 40202 bytes 4 files changed, 38 insertions(+), 14 deletions(-) diff --git a/keepercommander/commands/discover/result_process.py b/keepercommander/commands/discover/result_process.py index d9445ae0d..43de931b5 100644 --- a/keepercommander/commands/discover/result_process.py +++ b/keepercommander/commands/discover/result_process.py @@ -20,7 +20,7 @@ if TYPE_CHECKING: from ...params import KeeperParams - from ...vault import TypedRecord + from ...vault import TypedRecord, KeeperRecord from keeper_dag.vertex import DAGVertex from discovery_common.record_link import RecordLink @@ -443,6 +443,8 @@ def _prompt(self, break elif command == "i": + + print(f"{pad}{bcolors.OKBLUE}Creating an ignore rule for record.{bcolors.ENDC}") return PromptResult( action=PromptActionEnum.IGNORE, acl=acl, @@ -450,7 +452,7 @@ def _prompt(self, ) elif command == "s": - print(f"{pad}{bcolors.OKBLUE}Skipping record{bcolors.ENDC}") + print(f"{pad}{bcolors.OKBLUE}Skipping record.{bcolors.ENDC}") return PromptResult( action=PromptActionEnum.SKIP, @@ -654,7 +656,7 @@ def _handle_admin_record_from_record(record: TypedRecord, content: DiscoveryObje shared_folders = gateway_context.get_shared_folders(params) if len(shared_folders) == 0: while True: - yn = input(f"Create a PAM User record from {record.title}? [Y/N]>").lower() + yn = input(f"Create a PAM User record from {record.title}? [Y/N]> ").lower() if yn == "": continue elif yn[0] == "n": @@ -669,7 +671,7 @@ def _handle_admin_record_from_record(record: TypedRecord, content: DiscoveryObje while True: afq = input(f"({_b('A')})dd user to {folder_name}, " f"Add user to ({_b('F')})older, " - f"({_b('Q')})uit >").lower() + f"({_b('Q')})uit > ").lower() if afq == "": continue if afq[0] == "a": @@ -1068,6 +1070,17 @@ def _get_directory_info(domain: str, return directory_info + @staticmethod + def remove_job(params: KeeperParams, configuration_record: KeeperRecord, job_id: str): + + try: + jobs = Jobs(record=configuration_record, params=params) + jobs.cancel(job_id) + print(f"{bcolors.OKGREEN}No items left to process. Removing completed discovery job.{bcolors.ENDC}") + except Exception as err: + logging.error(err) + print(f"{bcolors.FAIL}No items left to process. Failed to remove discovery job.{bcolors.ENDC}") + def execute(self, params: KeeperParams, **kwargs): if not hasattr(params, 'pam_controllers'): @@ -1178,11 +1191,15 @@ def execute(self, params: KeeperParams, **kwargs): f"failure{'s' if results.failure_count != 1 else ''}.{bcolors.ENDC}") for fail in results.failure: print(f" * {fail.title}: {fail.error}") + + if process.no_items_left is True: + self.remove_job(params=params, configuration_record=configuration_record, job_id=job_id) else: print(f"{bcolors.FAIL}No records have been added.{bcolors.ENDC}") except NoDiscoveryDataException: print(f"{bcolors.OKGREEN}All items have been added for this discovery job.{bcolors.ENDC}") + self.remove_job(params=params, configuration_record=configuration_record, job_id=job_id) except Exception as err: print(f"{bcolors.FAIL}Could not process discovery: {err}{bcolors.ENDC}") diff --git a/keepercommander/commands/pam_debug/graph.py b/keepercommander/commands/pam_debug/graph.py index 1bbf69785..51de17e06 100644 --- a/keepercommander/commands/pam_debug/graph.py +++ b/keepercommander/commands/pam_debug/graph.py @@ -28,7 +28,6 @@ from ...params import KeeperParams - class PAMDebugGraphCommand(PAMGatewayActionDiscoverCommandBase): parser = argparse.ArgumentParser(prog='dr-pam-command-debug') @@ -72,11 +71,14 @@ def _do_text_list_infra(self, params: KeeperParams, gateway_context: GatewayCont infra = Infrastructure(record=gateway_context.configuration, params=params, logger=logging, debug_level=debug_level) + infra.load(sync_point=0) try: configuration = infra.get_root.has_vertices()[0] except (Exception,): - print(f"{bcolors.FAIL}Could not find the configuration in the infrastructure graph.{bcolors.ENDC}") + print(f"{bcolors.FAIL}Could not find the configuration in the infrastructure graph. " + f"Has discovery been run for this gateway?{bcolors.ENDC}") + return line_start = { @@ -104,15 +106,20 @@ def _handle(current_vertex: DAGVertex, indent: int = 0, last_record_type: Option ls = line_start.get(indent, " ") cf = color_func.get(indent, self._p) - current_content = DiscoveryObject.get_discovery_object(current_vertex) - if current_content.record_uid is None: - text += f"{pad}{ls}{current_content.title} does not have a record." + if current_vertex.corrupt is False: + current_content = DiscoveryObject.get_discovery_object(current_vertex) + if current_content.record_uid is None: + text += f"{pad}{ls}{current_content.title} does not have a record." + else: + record = vault.KeeperRecord.load(params, current_content.record_uid) # type: Optional[TypedRecord] + if record is not None: + text += f"{pad}{ls}" + cf(f"{record.title}; {record.record_uid}") + else: + text += f"{pad}{ls}" + cf(f"{current_content.title}; " + + self._f("have record uid, record does not exists, " + "might have to sync.")) else: - record = vault.KeeperRecord.load(params, current_content.record_uid) # type: Optional[TypedRecord] - text += f"{pad}{ls}" + cf(f"{record.title}; {record.record_uid}") - - if current_vertex.active is False: - text += " " + self._f("Inactive") + text += f"{pad}{current_vertex.uid} " + self._f("(Corrupt)") print(text) diff --git a/libs/discovery_common-1.0.10-py3-none-any.whl b/libs/discovery_common-1.0.10-py3-none-any.whl index 4fe6de40230c6dd377c1103cf96b0bfe762ddb9b..a00aa3f00427f4be4d1e9e06208face5ec2b5196 100644 GIT binary patch delta 25449 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 aP*89FjnEK!@`ph8dRig@LTSvOlK%qv@!nkk diff --git a/libs/keeper_dag-1.0.10-py3-none-any.whl b/libs/keeper_dag-1.0.10-py3-none-any.whl index a9f6cce748242a6fb59a5a697bfe0b3f85ec6c14..26ddcaba03caa6829efdd51668235ac090743293 100644 GIT binary patch delta 973 zcmV;;12X)Hx&n&20 zlu!w&dk0zd258z+lUtN8f620U zI=B&C)r;JI@t-{BuORGTA7ydzGm6T##8LFsEyQq-8D9A7T^&dLEr!0tdg#PcL5L6V zp+ZlLC0YoaJn&jcV$7p`AUNqqwZ>ksA4=4I^Yqwp?*W^sZ&tO1f7o&O8~2QP7HIeJ zzI_~Ny4zJgLRu&h47>Kye(5k;QHky^bUnMv#=a_cWVamq&f82jZ>q(UbVqs&o+Grg z6GYGwBdoE{TS98D5uAsfk$`uZdd2Ywuqp=Sz-utA@Ka+<&`t?O7IFS?hH3hQ* zt}L+S(e4167<9aKe~+ez8r=55SSZT#(t|RZU##WLH)wGKApr(_qvjNL`157M3aks` zK$YZT?mT-_-V*Db`f_TN6sd>`j$BobbqS zRHaNibzOaMX{)zSktYVr12!IuVS>e;aqiWxckN@xok9@Ic)CaVDAQ(K6$F>z~11sT~>V zVLH7^-FHH>`rHP!raq^J;k>d;wTb!Jjg4b0PO@mE%giiF{$|u?I=Lx!HYf1*&gO2M z2nGn^w_qu1e_NRTvxxtygxD>~iw%-jrbIS3xfxqzp|qSQTIcsxJLamR6l}NE$>KAz zB>hHCQPae22K)79E}7bqWY40e+@;%Ew)8#wBq>7#ulq8L)-6*it%^W55gf(RzoDz4 zS)tP5e=l>N5LuD>4O*i#u2*bs9QN69 zLQ2vd%R;{&Ly3MFv`$OH%*12Dxst$E&MP0T1Pv&#J|mL;qP}SAD=P;~mTiuH9yXq= z$)5a6KkJQF6^$Dw{sQVJmqWkfP>w2AreQtlePX4oGoQ48B4|qDgg@#RbF&fE05oIZv9qkrD0&RHXfAAbY0*_Yk}1gU!mS(Ce) vP6(-c2U+|MdrOlMoJRzydk0yQT%1!0se1=m^#*9#Qj@rxO9tAP00000#ns0!0#0lUtN8f48!uNE8O(e4YjF;Gu&JFal%%Nf;p|6s9r4G{Ok;^s5bK zi(9ob8+7{BfBKxigs_EOkc8RKASjw*2!gM6!TLO;SnjX2Jdf(i`>sGc=)w}7KN#>S zLx&FqlJl(8a~eUQ^s{MTjPRq}VsF^>1!}%|YG~QHMz>ad;z2AtrvGoJD?2}sqR8nv%T!hyJQAt!_aHmB%=P1k1S5MxI+zdfDUGa zFjAnnE%tdEiL-X?Ao`QdDQi*MoMGwLW;{G=)3Aq=i<|5#dYYqK-9(Jx8IIjjFv;M? z0(%x63{Z!lWsi9f8&gOmrRn9YSY<23`=qs zd7c+zX<{4KsUud>lF}$I7{#;S#vO;E+FH?gqwYF*A|`)caVmH=)Hpx7mv@pXOGK(4 zPwzr?EnhD`w?S;FV?-dMU^hwN;J+BxJWk=Np7rWPq(Dftyoc05?S3s{}2ei$c= z0v!J>Sd5wmf5!hT;=d}vw@dVq07GB zpwlfupqADAO*V7@z!f~(L09HMUr&2UZ?xFN#NCBq1=|AN8BQ+ns*VsJM7} zz@D3nRYC0N?3@%U0dBHcPlc`+q4q&w^^)iq8QA}%9#9)p@C~c4VIKZ1Y^Z?l?)i`* z(tgwi#Y0?Y9&Nwbg(~3InUGO4@8kP&`4sk#{&go?R|Ug<{0+0(m)-*eL8t#%lf0Ww u2tlX+SZ|fGG?NmXM+8Bq|5%es0!0#0lewHr2HBSY0001e9@P2(