in footmark/slb/vserver_group.py [0:0]
def modify(self, backend_servers):
'''
modify backend servers
'''
changed = False
old = []
new = []
if backend_servers and self.backend_servers['backend_server']:
for o in self.backend_servers['backend_server']:
for n in backend_servers:
if o['server_id'] == n['server_id']:
for key in list(o.keys()):
if key in n and str(o[key]) != str(n[key]):
old.append(o)
new.append(n)
break
if old and new:
params = {'vserver_group_id': self.vserver_group_id}
for index in range(0, len(old), 20):
params['old_backend_servers'] = self.format_backend_servers(old[index:index+20])
params['new_backend_servers'] = self.format_backend_servers(new[index:index+20])
if self.connection.modify_vserver_group_backend_servers(**params):
changed = True
return changed