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)
|
machine = Machine.get_machine_by_id(self.user, member.dn, machine_id)
|
||||||
dns = Machine.get_dns_by_id(self.user, machine.dn)
|
dns = Machine.get_dns_by_id(self.user, machine.dn)
|
||||||
ip = IpReservation.get_ip(self.user, residence_dn, dns.dlzData.first())
|
ip = IpReservation.get_ip(self.user, residence_dn, dns.dlzData.first())
|
||||||
ip_machines = Machine.get_dns_by_ip(self.user, residence_dn, ip.cn.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
|
# Si la machine existe effectivement, on la supprime
|
||||||
if machine is not None:
|
if machine is not None:
|
||||||
@ -799,7 +803,8 @@ class MachineDeleteController(AuthenticatedRestController):
|
|||||||
|
|
||||||
self.user.ldap_bind.delete_entry_subtree(machine.dn)
|
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())
|
taken_attribute = IpReservation.taken_attr(ip.get("x-taken").first())
|
||||||
self.user.ldap_bind.delete_attr(ip.dn, taken_attribute)
|
self.user.ldap_bind.delete_attr(ip.dn, taken_attribute)
|
||||||
#end if
|
#end if
|
||||||
|
Loading…
Reference in New Issue
Block a user