@@ -744,13 +744,13 @@ def manage_dns_entries(self, op, vm, auth_data, extra_args=None):
744
744
for entry in dns_entries :
745
745
hostname , domain , ip = entry
746
746
try :
747
- if op == "add" :
747
+ if op == "add" and entry not in vm . dns_entries :
748
748
success = self .add_dns_entry (hostname , domain , ip , auth_data , extra_args )
749
- if success and entry not in vm . dns_entries :
749
+ if success :
750
750
vm .dns_entries .append (entry )
751
751
elif op == "del" :
752
- self .del_dns_entry (hostname , domain , ip , auth_data , extra_args )
753
- if entry in vm .dns_entries :
752
+ success = self .del_dns_entry (hostname , domain , ip , auth_data , extra_args )
753
+ if success and entry in vm .dns_entries :
754
754
vm .dns_entries .remove (entry )
755
755
else :
756
756
raise Exception ("Invalid DNS operation." )
@@ -759,9 +759,9 @@ def manage_dns_entries(self, op, vm, auth_data, extra_args=None):
759
759
im_auth = auth_data .getAuthInfo ("InfrastructureManager" )
760
760
if im_auth and im_auth [0 ].get ("token" ) or (hostname .startswith ("dydns:" ) and "@" in hostname ):
761
761
from IM .connectors .EGI import EGICloudConnector
762
- if op == "add" :
762
+ if op == "add" and entry not in vm . dns_entries :
763
763
success = EGICloudConnector .add_dns_entry (self , hostname , domain , ip , auth_data )
764
- if success and entry not in vm . dns_entries :
764
+ if success :
765
765
vm .dns_entries .append (entry )
766
766
elif op == "del" :
767
767
success = EGICloudConnector .del_dns_entry (self , hostname , domain , ip , auth_data )
0 commit comments