def add_member_to_group()

in ad-joining/register-computer/ad/domain.py [0:0]


    def add_member_to_group(self, ou, group_name, computer_dn):
        retries = 0

        while retries < self.LDAP_OPERATION_RETRIES:
            try:
                self.__connection.modify(
                    "CN=%s,%s" % (group_name, ou),
                    {
                        'member': [(ldap3.MODIFY_ADD, [computer_dn])]
                    })
                break
            except ldap3.core.exceptions.LDAPBusyResult:
                logging.warn(f"LDAP endpoint is busy, retrying operation 'add_member_to_group' for '{computer_dn}'")
                retries += 1
                time.sleep(1)
            except ldap3.core.exceptions.LDAPEntryAlreadyExistsResult as e:
                logging.info(f"'{computer_dn}' already part of '{group_name}'")
                pass