|
@@ -413,16 +413,22 @@ def add_backend_servers_with_slbs(client, slb_id_list, instances):
|
|
|
:return:
|
|
|
"""
|
|
|
try:
|
|
|
- for slb_id in slb_id_list:
|
|
|
- request = AddBackendServersRequest()
|
|
|
- request.set_accept_format('json')
|
|
|
- request.set_LoadBalancerId(slb_id)
|
|
|
- backend_servers = [
|
|
|
- {"ServerId": instance_id, "Weight": "0", "Type": "ecs", "ServerIp": ip_address}
|
|
|
- for instance_id, ip_address in instances]
|
|
|
- request.set_BackendServers(backend_servers)
|
|
|
- response = client.do_action_with_exception(request)
|
|
|
- logging.info(f"slb: {slb_id} add backend servers finished!")
|
|
|
+ for i in range(len(instances)//20 + 1):
|
|
|
+ instances_list = instances[i*20:(i+1)*20]
|
|
|
+ if len(instances_list) == 0:
|
|
|
+ return
|
|
|
+ for slb_id in slb_id_list:
|
|
|
+ request = AddBackendServersRequest()
|
|
|
+ request.set_accept_format('json')
|
|
|
+ request.set_LoadBalancerId(slb_id)
|
|
|
+ backend_servers = [
|
|
|
+ {"ServerId": instance_id, "Weight": "0", "Type": "ecs", "ServerIp": ip_address}
|
|
|
+ for instance_id, ip_address in instances_list]
|
|
|
+ request.set_BackendServers(backend_servers)
|
|
|
+ response = client.do_action_with_exception(request)
|
|
|
+ logging.info(f"slb: {slb_id} add backend servers finished!")
|
|
|
+ logging.info(f"i: {i}, count: {len(instances_list)}, instances: {instances_list} "
|
|
|
+ f"add backend servers finished!")
|
|
|
except Exception as e:
|
|
|
logging.error(e)
|
|
|
sys.exit()
|
|
@@ -437,16 +443,22 @@ def remove_backend_servers_with_slbs(client, slb_id_list, instances):
|
|
|
:return:
|
|
|
"""
|
|
|
try:
|
|
|
- for slb_id in slb_id_list:
|
|
|
- request = RemoveBackendServersRequest()
|
|
|
- request.set_accept_format('json')
|
|
|
- request.set_LoadBalancerId(slb_id)
|
|
|
- backend_servers = [
|
|
|
- {"ServerId": instance_id, "Weight": "0", "Type": "ecs"}
|
|
|
- for instance_id in instances]
|
|
|
- request.set_BackendServers(backend_servers)
|
|
|
- response = client.do_action_with_exception(request)
|
|
|
- logging.info(f"slb: {slb_id} remove backend servers finished!")
|
|
|
+ for i in range(len(instances)//20 + 1):
|
|
|
+ instances_list = instances[i*20:(i+1)*20]
|
|
|
+ if len(instances_list) == 0:
|
|
|
+ return
|
|
|
+ for slb_id in slb_id_list:
|
|
|
+ request = RemoveBackendServersRequest()
|
|
|
+ request.set_accept_format('json')
|
|
|
+ request.set_LoadBalancerId(slb_id)
|
|
|
+ backend_servers = [
|
|
|
+ {"ServerId": instance_id, "Weight": "0", "Type": "ecs"}
|
|
|
+ for instance_id in instances_list]
|
|
|
+ request.set_BackendServers(backend_servers)
|
|
|
+ response = client.do_action_with_exception(request)
|
|
|
+ logging.info(f"slb: {slb_id} remove backend servers finished!")
|
|
|
+ logging.info(f"i: {i}, count: {len(instances_list)}, instances: {instances_list} "
|
|
|
+ f"remove backend servers finished!")
|
|
|
except Exception as e:
|
|
|
logging.error(e)
|
|
|
sys.exit()
|