|
@@ -9,12 +9,11 @@ logging.basicConfig(level=logging.INFO,
|
|
|
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
|
|
|
datefmt='%a, %d %b %Y %H:%M:%S')
|
|
|
|
|
|
-
|
|
|
-def server_restart(alb_client, instance_id, image_name):
|
|
|
+def server_restart(ecs_client, alb_client, instance_id, image_name):
|
|
|
try:
|
|
|
logging.info(f"Restarting instance: {instance_id}")
|
|
|
# 获取ip
|
|
|
- ip_address = utils.get_ip_address(alb_client=alb_client, instance_id=instance_id)
|
|
|
+ ip_address = utils.get_ip_address(ecs_client=ecs_client, instance_id=instance_id)
|
|
|
logging.info(f"IP address: {instance_id}/{ip_address}")
|
|
|
|
|
|
# 摘流量
|
|
@@ -31,7 +30,7 @@ def server_restart(alb_client, instance_id, image_name):
|
|
|
logging.info("Docker restart finished.")
|
|
|
|
|
|
# 探活
|
|
|
- server_health_check(alb_client, instance_id)
|
|
|
+ server_health_check(ecs_client, instance_id)
|
|
|
time.sleep(20)
|
|
|
logging.info("Health check finished.")
|
|
|
|
|
@@ -49,9 +48,14 @@ def server_restart(alb_client, instance_id, image_name):
|
|
|
|
|
|
def main():
|
|
|
try:
|
|
|
+ ecs_client = utils.connect_client(access_key_id=longvideoapi_config.ecs_client_params['access_key_id'],
|
|
|
+ access_key_secret=longvideoapi_config.ecs_client_params['access_key_secret'],
|
|
|
+ region_id=longvideoapi_config.ecs_client_params['region_id'])
|
|
|
+
|
|
|
alb_client = utils.connect_alb_client(
|
|
|
access_key_id=longvideoapi_config.alb_client_params['access_key_id'],
|
|
|
- access_key_secret=longvideoapi_config.alb_client_params['access_key_secret']
|
|
|
+ access_key_secret=longvideoapi_config.alb_client_params['access_key_secret'],
|
|
|
+ endpoint=longvideoapi_config.alb_client_params['endpoint']
|
|
|
)
|
|
|
|
|
|
# 获取 ALB 下所有机器
|
|
@@ -64,7 +68,7 @@ def main():
|
|
|
# 逐台重启
|
|
|
image_name = 'longvideoapi'
|
|
|
for i, instance_id in enumerate(online_instance_ids):
|
|
|
- server_restart(alb_client=alb_client, instance_id=instance_id, image_name=image_name)
|
|
|
+ server_restart(ecs_client=ecs_client, alb_client=alb_client, instance_id=instance_id, image_name=image_name)
|
|
|
logging.info(f"Restart progress: {i + 1}/{online_instance_count}")
|
|
|
logging.info("All servers restarted successfully!")
|
|
|
except Exception as e:
|