prise en charge de la suppression de machine dont l'IP n'est plus dans
le pool (préparation de nettoyage pour augmenter nos plages admins publiques)
This commit is contained in:
parent
6ea0620c8b
commit
a5864c0744
@ -790,7 +790,11 @@ class MachineDeleteController(AuthenticatedRestController):
|
||||
machine = Machine.get_machine_by_id(self.user, member.dn, machine_id)
|
||||
dns = Machine.get_dns_by_id(self.user, machine.dn)
|
||||
ip = IpReservation.get_ip(self.user, residence_dn, dns.dlzData.first())
|
||||
ip_machines = []
|
||||
#on vérifie si l'IP est bien dans le pool, et qu'elle n'est pas utilisée par plusieurs machines
|
||||
if ip is not None:
|
||||
ip_machines = Machine.get_dns_by_ip(self.user, residence_dn, ip.cn.first())
|
||||
#end if
|
||||
|
||||
# Si la machine existe effectivement, on la supprime
|
||||
if machine is not None:
|
||||
@ -799,7 +803,8 @@ class MachineDeleteController(AuthenticatedRestController):
|
||||
|
||||
self.user.ldap_bind.delete_entry_subtree(machine.dn)
|
||||
|
||||
if len(ip_machines) == 1:
|
||||
#si l'IP n'est pas null et qu'on a qu'une seule machine sur cette IP (la notre), alors on delete dans le pool
|
||||
if ip is not None and len(ip_machines) == 1:
|
||||
taken_attribute = IpReservation.taken_attr(ip.get("x-taken").first())
|
||||
self.user.ldap_bind.delete_attr(ip.dn, taken_attribute)
|
||||
#end if
|
||||
|
Loading…
Reference in New Issue
Block a user