|
@@ -347,15 +347,19 @@ def add_backend_servers(client, slb_id, instances):
|
|
:return:
|
|
:return:
|
|
"""
|
|
"""
|
|
try:
|
|
try:
|
|
- 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)
|
|
|
|
- return response
|
|
|
|
|
|
+ for i in range(len(instances) // 20 + 1):
|
|
|
|
+ instances_list = instances[i * 20:(i + 1) * 20]
|
|
|
|
+ if len(instances_list) == 0:
|
|
|
|
+ return
|
|
|
|
+ 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)
|
|
|
|
+ return response
|
|
except Exception as e:
|
|
except Exception as e:
|
|
logging.error(e)
|
|
logging.error(e)
|
|
sys.exit()
|
|
sys.exit()
|
|
@@ -366,18 +370,26 @@ def remove_backend_servers(client, slb_id, instances):
|
|
服务器从负载均衡移除(一次调用最多可以移除20个后端服务器)
|
|
服务器从负载均衡移除(一次调用最多可以移除20个后端服务器)
|
|
:param client:
|
|
:param client:
|
|
:param slb_id:
|
|
:param slb_id:
|
|
- :param instances: 实例列表 [(instance_id, ip), ...]
|
|
|
|
|
|
+ :param instances: 实例列表 [instance_id, ...]
|
|
:return:
|
|
:return:
|
|
"""
|
|
"""
|
|
- 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)
|
|
|
|
- return response
|
|
|
|
|
|
+ try:
|
|
|
|
+ for i in range(len(instances) // 20 + 1):
|
|
|
|
+ instances_list = instances[i * 20:(i + 1) * 20]
|
|
|
|
+ if len(instances_list) == 0:
|
|
|
|
+ return
|
|
|
|
+ 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)
|
|
|
|
+ return response
|
|
|
|
+ except Exception as e:
|
|
|
|
+ logging.error(e)
|
|
|
|
+ sys.exit()
|
|
|
|
|
|
|
|
|
|
def set_instance_weight_process_with_slbs(client, slb_id_list, instance_id_list, weight_list):
|
|
def set_instance_weight_process_with_slbs(client, slb_id_list, instance_id_list, weight_list):
|
|
@@ -439,7 +451,7 @@ def remove_backend_servers_with_slbs(client, slb_id_list, instances):
|
|
服务器从负载均衡移除(一次调用最多可以移除20个后端服务器)
|
|
服务器从负载均衡移除(一次调用最多可以移除20个后端服务器)
|
|
:param client:
|
|
:param client:
|
|
:param slb_id_list:
|
|
:param slb_id_list:
|
|
- :param instances: 实例列表 [(instance_id, ip), ...]
|
|
|
|
|
|
+ :param instances: 实例列表 [instance_id, ...]
|
|
:return:
|
|
:return:
|
|
"""
|
|
"""
|
|
try:
|
|
try:
|