From 973277fa0b496136c68bd83de5080380e0422a1b Mon Sep 17 00:00:00 2001 From: Ricardo Silva <Ricardo.SILVA@ext.ec.europa.eu> Date: Thu, 16 Feb 2023 09:44:38 +0100 Subject: [PATCH] Bug fix in sid users, groups and leankit scripts refs #31854 --- bin/leankit_user.py | 28 ++++++++++++++++------------ bin/sid_groups.py | 2 +- bin/sid_user.py | 40 ++++++++++++++++++++++++++++++---------- 3 files changed, 47 insertions(+), 23 deletions(-) diff --git a/bin/leankit_user.py b/bin/leankit_user.py index d0e144c..3ec49e8 100755 --- a/bin/leankit_user.py +++ b/bin/leankit_user.py @@ -374,8 +374,11 @@ def main(): 'username': 'Mesut.YILDIRIM@ext.ec.europa.eu' } ''' - - leankit_inv_results = leankit.get_invitations() + try: + leankit_inv_results = leankit.get_invitations() + except Exception as e: + leankit_inv_results = None + logger.error(e) # print(pformat(leankit_inv_results)) ''' { @@ -412,17 +415,18 @@ def main(): continue leankit_account.append(duser['emailAddress']) - for duser in leankit_inv_results['invitations']: - # print(duser) - if 'isExpired' in duser and duser['isExpired'] is True: - continue - if 'isRevoked' in duser and duser['isRevoked'] is True: - continue + if leankit_inv_results is not None: + for duser in leankit_inv_results['invitations']: + # print(duser) + if 'isExpired' in duser and duser['isExpired'] is True: + continue + if 'isRevoked' in duser and duser['isRevoked'] is True: + continue - if duser['emailAddress'] not in snet_mail_index and duser['emailAddress'].lower() not in snet_mail_index_lc and duser['emailAddress'] not in donotdelete and duser['emailAddress'].lower() not in donotdelete and duser['emailAddress'].lower() not in extra_leankit_results_idx: - print('Leankit user ' + duser['emailAddress'] + ' should be deleted.') - continue - leankit_account.append(duser['emailAddress']) + if duser['emailAddress'] not in snet_mail_index and duser['emailAddress'].lower() not in snet_mail_index_lc and duser['emailAddress'] not in donotdelete and duser['emailAddress'].lower() not in donotdelete and duser['emailAddress'].lower() not in extra_leankit_results_idx: + print('Leankit user ' + duser['emailAddress'] + ' should be deleted.') + continue + leankit_account.append(duser['emailAddress']) for usermail in snet_mail_index: usermail_lc = usermail.lower() diff --git a/bin/sid_groups.py b/bin/sid_groups.py index 3537759..d1da025 100755 --- a/bin/sid_groups.py +++ b/bin/sid_groups.py @@ -209,7 +209,7 @@ def main(): to_print = pformat(block_to_update) for i in list(range(0, int(round(len(to_print) / 250)) + 1)): logger.info('scrat %s cmd: %s' % (str(i), to_print[250 * i:250 * (i + 1)])) - sys.exit(1) + sys.exit(0) if __name__ == '__main__': main() diff --git a/bin/sid_user.py b/bin/sid_user.py index bff03ef..209e4ee 100755 --- a/bin/sid_user.py +++ b/bin/sid_user.py @@ -232,7 +232,11 @@ def ec_ldap_get(): def sid_create_user(diego, dfqdn, res_rw_user, user, block_to_update, context_uid=666000002, verify=True, error_stop=False): scrat_inst = Scrat(res_rw_user, '', fqdn=dfqdn, version=2, verify=verify) - (scrat_json, scratres) = scrat_inst.scratQuery(block_to_update, Full=True) + try: + (scrat_json, scratres) = scrat_inst.scratQuery(block_to_update, Full=True) + except Exception as e: + scratres = '409' + scrat_json = e if str(scratres) != '200': '''Scrat just add the vlan to the trunked list''' @@ -261,7 +265,11 @@ def sid_update_user(diego, dfqdn, res_rw_user, user, block_to_update, context_ui ''' delete: need to check the line exist if not 409''' scrat_inst = Scrat(res_rw_user, '', fqdn=dfqdn, version=2, verify=verify) - (scrat_json, scratres) = scrat_inst.scratUpdate(block_to_update, overwrite_mode=True, Full=True) + try: + (scrat_json, scratres) = scrat_inst.scratUpdate(block_to_update, overwrite_mode=True, Full=True) + except Exception as e: + scratres = '409' + scrat_json = e if str(scratres) != '200': '''Scrat just add the vlan to the trunked list''' @@ -305,7 +313,11 @@ def sid_add_user_to_department(diego, dfqdn, res_rw_user, user, uid, department, ''' delete: need to check the line exist if not 409''' scrat_inst = Scrat(res_rw_user, '', fqdn=dfqdn, version=2, verify=verify) - (scrat_json, scratres) = scrat_inst.scratUpdate(block_to_update, overwrite_mode=False, line_only=False, Full=True) + try: + (scrat_json, scratres) = scrat_inst.scratUpdate(block_to_update, overwrite_mode=False, line_only=False, Full=True) + except Exception as e: + scrat_json = e + scratres = '409' if str(scratres) != '200': to_print = pformat(block_to_update) @@ -344,7 +356,11 @@ def sid_update_user_to_resigned(diego, dfqdn, res_rw_user, user, uid, context_ui ''' delete: need to check the line exist if not 409''' scrat_inst = Scrat(res_rw_user, '', fqdn=dfqdn, version=2, verify=verify) - (scrat_json, scratres) = scrat_inst.scratUpdate(block_to_update, overwrite_mode='exclusive', line_only=False, Full=True) + try: + (scrat_json, scratres) = scrat_inst.scratUpdate(block_to_update, overwrite_mode='exclusive', line_only=False, Full=True) + except Exception as e: + scrat_json = e + scratres = '409' if str(scratres) != '200': to_print = pformat(block_to_update) @@ -384,7 +400,10 @@ def sid_update_user_exlude_approver_scheduler_change_management(diego, dfqdn, re ''' delete: need to check the line exist if not 409''' scrat_inst = Scrat(res_rw_user, '', fqdn=dfqdn, version=2, verify=verify) - (scratres) = scrat_inst.deleteLine(block_to_update) + try: + (scratres) = scrat_inst.deleteLine(block_to_update) + except Exception as e: + scratres = '409' if str(scratres) != '200': print("not removed " + user + " from " + typeExclude) if error_stop is True: @@ -862,10 +881,10 @@ def main(): break if 'Security Policy' in block_to_update['properties']['has as role']: block_to_update['properties']['has as role'].remove('Security Policy') - if 'ISMS' not in block_to_update['properties']['has as role']: - block_to_update['properties']['has as role'].append('ISMS') - if 'SMPM' not in block_to_update['properties']['has as role']: - block_to_update['properties']['has as role'].append('SMPM') + #if 'ISMS' not in block_to_update['properties']['has as role']: + # block_to_update['properties']['has as role'].append('ISMS') + #if 'SMPM' not in block_to_update['properties']['has as role']: + # block_to_update['properties']['has as role'].append('SMPM') elif mb == 'dev': if need_to_update is False and need_to_create is True: if 'SNet SUP' not in block_to_update['properties']['belongs to']: @@ -1092,7 +1111,8 @@ def main(): for i in list(range(0, int(round(len(to_print) / 250)) + 1)): logger.info('scrat %s cmd: %s' % (str(i), to_print[250 * i:250 * (i + 1)])) - sys.exit(1) + logger.info('Finished Synchronization') + sys.exit(0) params = {} sid_s_results = diego.diego_run_dieget_by_name('sid_sheduler_check', params) -- GitLab