Example#
这个脚本是用来对单台服务器进行管理的脚本. 可以方便的执行 server operation 或是 workflow.
debug/manage_server.py
1# -*- coding: utf-8 -*-
2
3"""
4这个脚本是用来对单台服务器进行管理的脚本. 可以方便的执行
5`server operation 或是 workflow <https://acore-server.readthedocs.io/en/latest/search.html?q=Operation+and+Workflow&check_keywords=yes&area=default>`_
6"""
7
8from acore_server.api import Manager
9
10
11# ------------------------------------------------------------------------------
12# PLEASE DOUBLE CHECK TO MAKE SURE YOU ARE WORKING ON THE RIGHT SERVER
13# ------------------------------------------------------------------------------
14env_name = "sbx"
15manager = Manager(aws_profile="bmt_app_dev_us_east_1", env_name=env_name)
16server = manager.blue
17
18# server.show_server_config()
19# server.show_server_status()
20# server.show_aws_link(bsm=manager.bsm)
21
22# server.associate_eip_address(bsm=manager.bsm, allow_reassociation=True)
23# server.update_db_master_password(bsm=manager.bsm)
24
25# server.create_ssh_tunnel(bsm=manager.bsm)
26# server.list_ssh_tunnel(bsm=manager.bsm)
27# server.kill_ssh_tunnel(bsm=manager.bsm)
28# server.test_ssh_tunnel()
29
30# ------------------------------------------------------------------------------
31# Create Cloned Server
32# ------------------------------------------------------------------------------
33# workflow_id = "create_cloned_server-2024-06-19-04-27-00"
34# server.create_cloned_server(
35# bsm=manager.bsm,
36# workflow_id=workflow_id,
37# s3path_workflow=manager.s3dir_env_workflow.joinpath(
38# server.server_name, f"{workflow_id}.json"
39# ),
40# new_server_id="sbx-blue",
41# stack_exports=manager.stack_exports,
42# skip_reboot=True,
43# delete_ami_afterwards=True,
44# delete_snapshot_afterwards=True,
45# )
46
47
48# ------------------------------------------------------------------------------
49# Create Updated Server
50# ------------------------------------------------------------------------------
51# workflow_id = "create_cloned_server-2024-06-21-07-42-00"
52# server.create_updated_server(
53# bsm=manager.bsm,
54# workflow_id=workflow_id,
55# s3path_workflow=manager.s3dir_env_workflow.joinpath(
56# server.env_name, f"{workflow_id}.json"
57# ),
58# new_server_id="sbx-blue",
59# ami_id="ami-0452e5248cdce53f2",
60# stack_exports=manager.stack_exports,
61# snapshot_id="rds:sbx-green-2024-06-19-04-50",
62# delete_snapshot_afterwards=False,
63# )
64
65
66# ------------------------------------------------------------------------------
67# Delete Server
68# ------------------------------------------------------------------------------
69# workflow_id = "delete_server-2024-06-20-04-19-00"
70# server.delete_server(
71# bsm=manager.bsm,
72# workflow_id=workflow_id,
73# s3path_workflow=manager.s3dir_env_workflow.joinpath(
74# server.server_name, f"{workflow_id}.json"
75# ),
76# skip_reboot=True,
77# create_backup_ec2_ami=False,
78# create_backup_db_snapshot=False,
79# )
80
81
82# ------------------------------------------------------------------------------
83# Stop Server
84# ------------------------------------------------------------------------------
85# server.stop_server(bsm=manager.bsm)
86
87
88# ------------------------------------------------------------------------------
89# Start Server
90# ------------------------------------------------------------------------------
91# server.start_server(bsm=manager.bsm)