|
@@ -1,6 +1,6 @@
|
|
import sys
|
|
import sys
|
|
import time
|
|
import time
|
|
-import utils_alb
|
|
|
|
|
|
+import alb_utils
|
|
import gateway_config
|
|
import gateway_config
|
|
import logging
|
|
import logging
|
|
|
|
|
|
@@ -21,7 +21,7 @@ def remove_instances(ecs_client, alb_client, instance_ids, port):
|
|
# 1. 摘除流量
|
|
# 1. 摘除流量
|
|
weight_list = [(0, 20)] # 设置权重为0,等待20秒
|
|
weight_list = [(0, 20)] # 设置权重为0,等待20秒
|
|
try:
|
|
try:
|
|
- utils_alb.update_server_group_servers_attribute(alb_client,
|
|
|
|
|
|
+ alb_utils.update_server_group_servers_attribute(alb_client,
|
|
gateway_config.server_group_id_list,
|
|
gateway_config.server_group_id_list,
|
|
instance_id_list=instance_ids,
|
|
instance_id_list=instance_ids,
|
|
weight_list=weight_list,
|
|
weight_list=weight_list,
|
|
@@ -36,7 +36,7 @@ def remove_instances(ecs_client, alb_client, instance_ids, port):
|
|
# 2. 从 ALB 服务器组中移除实例
|
|
# 2. 从 ALB 服务器组中移除实例
|
|
# for server_group_id in gateway_config.server_group_id_list:
|
|
# for server_group_id in gateway_config.server_group_id_list:
|
|
try:
|
|
try:
|
|
- utils_alb.remove_servers_from_server_group(alb_client=alb_client,
|
|
|
|
|
|
+ alb_utils.remove_servers_from_server_group(alb_client=alb_client,
|
|
server_group_id_list=gateway_config.server_group_id_list,
|
|
server_group_id_list=gateway_config.server_group_id_list,
|
|
instance_ids=instance_ids, port=port)
|
|
instance_ids=instance_ids, port=port)
|
|
logging.info(
|
|
logging.info(
|
|
@@ -48,8 +48,8 @@ def remove_instances(ecs_client, alb_client, instance_ids, port):
|
|
logging.info(f"Remove from ALB finished, count:{len(instance_ids)} instances: {instance_ids}")
|
|
logging.info(f"Remove from ALB finished, count:{len(instance_ids)} instances: {instance_ids}")
|
|
|
|
|
|
# 3. 停止机器
|
|
# 3. 停止机器
|
|
- utils_alb.stop_instances(ecs_client=ecs_client, instance_ids=instance_ids)
|
|
|
|
- # stop_response = utils_alb.stop_instances(ecs_client=ecs_client, instance_ids=instance_ids)
|
|
|
|
|
|
+ alb_utils.stop_instances(ecs_client=ecs_client, instance_ids=instance_ids)
|
|
|
|
+ # stop_response = alb_utils.stop_instances(ecs_client=ecs_client, instance_ids=instance_ids)
|
|
# if stop_response.get('Code') is None:
|
|
# if stop_response.get('Code') is None:
|
|
# logging.info(f"Instances stop finished, instances: {instance_ids}")
|
|
# logging.info(f"Instances stop finished, instances: {instance_ids}")
|
|
# else:
|
|
# else:
|
|
@@ -57,9 +57,9 @@ def remove_instances(ecs_client, alb_client, instance_ids, port):
|
|
# sys.exit()
|
|
# sys.exit()
|
|
|
|
|
|
# 4. 判断机器运行状态是否为 Stopped
|
|
# 4. 判断机器运行状态是否为 Stopped
|
|
- stopped_instances = utils_alb.get_instances_status(ecs_client=ecs_client, instance_ids=instance_ids)
|
|
|
|
|
|
+ stopped_instances = alb_utils.get_instances_status(ecs_client=ecs_client, instance_ids=instance_ids)
|
|
# while True:
|
|
# while True:
|
|
- # response = utils_alb.get_instances_status(ecs_client=ecs_client, instance_ids=instance_ids)
|
|
|
|
|
|
+ # response = alb_utils.get_instances_status(ecs_client=ecs_client, instance_ids=instance_ids)
|
|
# if response.get('Code') is None:
|
|
# if response.get('Code') is None:
|
|
# instances_list = response.get('InstanceStatuses').get('InstanceStatus')
|
|
# instances_list = response.get('InstanceStatuses').get('InstanceStatus')
|
|
# stopped_instances = [instance.get('InstanceId') for instance in instances_list if
|
|
# stopped_instances = [instance.get('InstanceId') for instance in instances_list if
|
|
@@ -75,8 +75,8 @@ def remove_instances(ecs_client, alb_client, instance_ids, port):
|
|
# sys.exit()
|
|
# sys.exit()
|
|
|
|
|
|
# 5. 释放机器
|
|
# 5. 释放机器
|
|
- utils_alb.release_instances(ecs_client=ecs_client, instance_ids=stopped_instances)
|
|
|
|
- # release_response = utils_alb.release_instances(ecs_client=ecs_client, instance_ids=stopped_instances)
|
|
|
|
|
|
+ alb_utils.release_instances(ecs_client=ecs_client, instance_ids=stopped_instances)
|
|
|
|
+ # release_response = alb_utils.release_instances(ecs_client=ecs_client, instance_ids=stopped_instances)
|
|
# if release_response.get('Code') is None:
|
|
# if release_response.get('Code') is None:
|
|
# logging.info(f"Release instances finished, instances: {stopped_instances}")
|
|
# logging.info(f"Release instances finished, instances: {stopped_instances}")
|
|
# else:
|
|
# else:
|
|
@@ -86,13 +86,13 @@ def remove_instances(ecs_client, alb_client, instance_ids, port):
|
|
|
|
|
|
def main():
|
|
def main():
|
|
try:
|
|
try:
|
|
- alb_client = utils_alb.connect_alb_client(
|
|
|
|
|
|
+ alb_client = alb_utils.connect_alb_client(
|
|
access_key_id=gateway_config.alb_client_params['access_key_id'],
|
|
access_key_id=gateway_config.alb_client_params['access_key_id'],
|
|
access_key_secret=gateway_config.alb_client_params['access_key_secret'],
|
|
access_key_secret=gateway_config.alb_client_params['access_key_secret'],
|
|
endpoint=gateway_config.alb_client_params['endpoint']
|
|
endpoint=gateway_config.alb_client_params['endpoint']
|
|
)
|
|
)
|
|
|
|
|
|
- ecs_client = utils_alb.connect_client(
|
|
|
|
|
|
+ ecs_client = alb_utils.connect_client(
|
|
access_key_id=gateway_config.ecs_client_params['access_key_id'],
|
|
access_key_id=gateway_config.ecs_client_params['access_key_id'],
|
|
access_key_secret=gateway_config.ecs_client_params['access_key_secret'],
|
|
access_key_secret=gateway_config.ecs_client_params['access_key_secret'],
|
|
region_id=gateway_config.ecs_client_params['region_id']
|
|
region_id=gateway_config.ecs_client_params['region_id']
|
|
@@ -103,7 +103,7 @@ def main():
|
|
logging.info(f"reduce_count: {reduce_count}")
|
|
logging.info(f"reduce_count: {reduce_count}")
|
|
|
|
|
|
# 获取 ALB 下所有机器
|
|
# 获取 ALB 下所有机器
|
|
- online_instance_ids = utils_alb.list_server_group_servers(alb_client=alb_client,
|
|
|
|
|
|
+ online_instance_ids = alb_utils.list_server_group_servers(alb_client=alb_client,
|
|
server_group_id=gateway_config.server_group_id_list[
|
|
server_group_id=gateway_config.server_group_id_list[
|
|
0])
|
|
0])
|
|
online_instance_count = len(online_instance_ids)
|
|
online_instance_count = len(online_instance_ids)
|