Skip to content

Commit 20eeb0b

Browse files
committed
调整成 pyproject 组织项目
1 parent 119da60 commit 20eeb0b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+489
-171
lines changed

bin/dbm-agent

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gp
99

1010

1111
import argparse
12-
from dbma.core.httpserver import start, stop
13-
from dbma.version import DBM_AGENT_VESION
12+
from dbmagent.core.httpserver import start, stop
13+
from dbmagent.version import DBM_AGENT_VESION
1414

1515

1616
def parser_cmd_args():

bin/dbm-monitor-gateway

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/usr/bin/evn python3
2+
# -*- coding: utf8 -*-
3+
4+
"""
5+
(c) 2019, LeXing Jinag <[email protected] [email protected] https://www.sqlpy.com/>
6+
Copyright: (c) 2019, dbm Project
7+
GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
8+
"""
9+
10+
11+
import argparse
12+
from dbmagent.core.httpserver import start, stop
13+
from dbmagent.version import DBM_AGENT_VESION
14+
15+
16+
def parser_cmd_args():
17+
parser = argparse.ArgumentParser(
18+
f"dbma-agent {DBM_AGENT_VESION}",
19+
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
20+
)
21+
parser.add_argument(
22+
"action",
23+
type=str,
24+
default="start",
25+
choices=("start", "stop", "version"),
26+
help="",
27+
)
28+
args = parser.parse_args()
29+
return args
30+
31+
32+
def main():
33+
args = parser_cmd_args()
34+
if args.action == "start":
35+
start()
36+
elif args.action == "version":
37+
print(f"dbma-agent {DBM_AGENT_VESION}")
38+
elif args.action == "stop":
39+
stop()
40+
41+
42+
if __name__ == "__main__":
43+
main()

bin/dbma-cli-init

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
"""
77

88
import argparse
9-
from dbma.bil.net import get_ip_by_card_name
10-
from dbma.core.agent.init import init
9+
from dbmagent.bil.net import get_ip_by_card_name
10+
from dbmagent.core.agent.init import init
1111

1212

1313
def parser_cmd_args():

bin/dbma-cli-mysql

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ import time
99
import logging
1010
import argparse
1111
from pathlib import Path
12-
from dbma.components.mysql.install import default_pkg
13-
from dbma.components.mysql.install import uninstall_mysql
14-
from dbma.components.mysql.source import install_mysql_source
15-
from dbma.components.mysql.replica import install_mysql_replica
16-
from dbma.components.mysql.commons import make_mysql_writable
12+
from dbmagent.components.mysql.install import default_pkg
13+
from dbmagent.components.mysql.install import uninstall_mysql
14+
from dbmagent.components.mysql.source import install_mysql_source
15+
from dbmagent.components.mysql.replica import install_mysql_replica
16+
from dbmagent.components.mysql.commons import make_mysql_writable
1717

1818

1919
def parser_cmd_args():

bin/dbma-cli-redis

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,20 @@ import time
1010
import logging
1111
import argparse
1212
from pathlib import Path
13-
from dbma.components.redis.install import install_resdis_master, install_redis_replica
14-
from dbma.components.redis.commons import default_redis_pkg, default_redis_port
13+
from dbmagent.components.redis.install import (
14+
install_resdis_master,
15+
install_redis_replica,
16+
)
17+
from dbmagent.components.redis.commons import default_redis_pkg, default_redis_port
1518

1619

1720
def parser_cmd_args():
1821
"""
1922
实现命令行参数的处理
2023
"""
21-
parser = argparse.ArgumentParser(__name__, formatter_class=argparse.ArgumentDefaultsHelpFormatter)
24+
parser = argparse.ArgumentParser(
25+
__name__, formatter_class=argparse.ArgumentDefaultsHelpFormatter
26+
)
2227
parser.add_argument(
2328
"--pkg", default=default_redis_pkg, help="redis install pkg", type=str
2429
)

dbma/static/cnfs/init-5.7.x.sql

Lines changed: 0 additions & 15 deletions
This file was deleted.

dbma/static/cnfs/init-8.0.x.sql

Lines changed: 0 additions & 29 deletions
This file was deleted.
File renamed without changes.
File renamed without changes.

dbma/bil/cmdexecutor.py renamed to dbmagent/bil/cmdexecutor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"""
66

77
import subprocess
8-
from dbma.bil.sudos import sudo
8+
from dbmagent.bil.sudos import sudo
99

1010

1111
def exe_shell_cmd(cmd: str):
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

dbma/bil/osuser.py renamed to dbmagent/bil/osuser.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import os
88
import pwd
99
import grp
10-
from dbma.bil.cmdexecutor import exe_shell_cmd
11-
from dbma.bil.sudos import sudo
10+
from dbmagent.bil.cmdexecutor import exe_shell_cmd
11+
from dbmagent.bil.sudos import sudo
1212

1313

1414
def is_root() -> bool:
File renamed without changes.
File renamed without changes.

dbmagent/clis/dbm_agent.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/usr/bin/evn python3
2+
# -*- coding: utf8 -*-
3+
4+
"""
5+
(c) 2019, LeXing Jinag <[email protected] [email protected] https://www.sqlpy.com/>
6+
Copyright: (c) 2019, dbm Project
7+
GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
8+
"""
9+
10+
11+
import argparse
12+
from dbmagent.core.httpserver import start, stop
13+
from dbmagent.version import DBM_AGENT_VESION
14+
15+
16+
def parser_cmd_args():
17+
parser = argparse.ArgumentParser(
18+
f"dbma-agent {DBM_AGENT_VESION}",
19+
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
20+
)
21+
parser.add_argument(
22+
"action",
23+
type=str,
24+
default="start",
25+
choices=("start", "stop", "version"),
26+
help="",
27+
)
28+
args = parser.parse_args()
29+
return args
30+
31+
32+
def main():
33+
args = parser_cmd_args()
34+
if args.action == "start":
35+
start()
36+
elif args.action == "version":
37+
print(f"dbma-agent {DBM_AGENT_VESION}")
38+
elif args.action == "stop":
39+
stop()
40+
41+
42+
if __name__ == "__main__":
43+
main()

dbmagent/clis/dbma_cli_init.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/evn python3
2+
# -*- coding: utf8 -*-
3+
4+
"""
5+
完成 dbm-agent 的初始化操作
6+
"""
7+
8+
import argparse
9+
from dbmagent.bil.net import get_ip_by_card_name
10+
from dbmagent.core.agent.init import init
11+
12+
13+
def parser_cmd_args():
14+
""" """
15+
parser = argparse.ArgumentParser(
16+
"dbma-cli-init", formatter_class=argparse.ArgumentDefaultsHelpFormatter
17+
)
18+
parser.add_argument("--net-card", default=None)
19+
parser.add_argument("--dbm-center-url-prefix", default="http://127.0.0.1:8080")
20+
return parser.parse_args()
21+
22+
23+
def main():
24+
args = parser_cmd_args()
25+
ip = get_ip_by_card_name(args.net_card)
26+
print("net-card {}'s ip = {}".format(args.net_card, ip))
27+
if ip is None:
28+
print("not find any ip on {}".format(args.net_card))
29+
return
30+
print("going to init ...")
31+
init(args.net_card, args.dbm_center_url_prefix)
32+
33+
34+
if __name__ == "__main__":
35+
main()

dbmagent/clis/dbma_cli_mysql.py

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf8 -*-
3+
4+
"""
5+
实例单实例架构下的 MySQL 安装与卸载
6+
"""
7+
8+
import time
9+
import logging
10+
import argparse
11+
from pathlib import Path
12+
from dbmagent.components.mysql.install import default_pkg
13+
from dbmagent.components.mysql.install import uninstall_mysql
14+
from dbmagent.components.mysql.source import install_mysql_source
15+
from dbmagent.components.mysql.replica import install_mysql_replica
16+
from dbmagent.components.mysql.commons import make_mysql_writable
17+
18+
19+
def parser_cmd_args():
20+
"""
21+
实现命令行参数的处理
22+
"""
23+
parser = argparse.ArgumentParser(
24+
__name__, formatter_class=argparse.ArgumentDefaultsHelpFormatter
25+
)
26+
parser.add_argument("--port", type=int, default=3306, help="instance port")
27+
parser.add_argument(
28+
"--pkg-name",
29+
type=str,
30+
default=default_pkg.name,
31+
help="mysql install package name ",
32+
)
33+
parser.add_argument(
34+
"--ibps",
35+
type=str,
36+
default="128M",
37+
help="innodb-buffer-pool-size et: 128M , 512M, 1G, 2G",
38+
)
39+
parser.add_argument(
40+
"--source",
41+
type=str,
42+
default="",
43+
help="mysql source instance. et: '127.0.0.1:3306' ",
44+
)
45+
parser.add_argument(
46+
"action",
47+
type=str,
48+
choices=["master", "slave", "source", "replica", "uninstall"],
49+
)
50+
args = parser.parse_args()
51+
return args
52+
53+
54+
def main():
55+
#
56+
args = parser_cmd_args()
57+
pkg = Path("/usr/local/dbm-agent/pkgs/") / args.pkg_name
58+
port = args.port
59+
innodb_buffer_pool_size = args.ibps
60+
source = args.source
61+
logging.basicConfig(
62+
level=logging.INFO,
63+
format="[%(asctime)s %(levelname)s] - [%(threadName)s] - [%(pathname)s %(lineno)d line] ~ %(message)s",
64+
)
65+
66+
if args.action in ("master", "source"):
67+
# 安装
68+
install_mysql_source(
69+
port=port, pkg=pkg, innodb_buffer_pool_size=innodb_buffer_pool_size
70+
)
71+
elif args.action in ("slave", "replica"):
72+
if source == "":
73+
logging.error(
74+
"--source is missing , can't find master|source mysql instance ."
75+
)
76+
return
77+
78+
if ":" not in source:
79+
logging.error("format error --source shuild be ip:port format. ")
80+
return
81+
82+
# 解析出 master 实例的地址
83+
source_ip, source_port = source.split(":")
84+
source_port = int(source_port)
85+
86+
# 配置 replica 实例
87+
install_mysql_replica(
88+
port, pkg, innodb_buffer_pool_size, source_ip, source_port
89+
)
90+
91+
elif args.action == "uninstall":
92+
uninstall_mysql(args.port)
93+
94+
95+
if __name__ == "__main__":
96+
main()
File renamed without changes.

dbma/components/mysql/asserts.py renamed to dbmagent/components/mysql/asserts.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"""
55

66
from pathlib import Path
7-
from dbma.core.configs import dbm_agent_config
8-
from dbma.components.mysql.exceptions import (
7+
from dbmagent.core.configs import dbm_agent_config
8+
from dbmagent.components.mysql.exceptions import (
99
MySQLPkgFileNotExistsException,
1010
MySQLDataDirectoryExists,
1111
MySQLSystemdFileExists,

dbma/components/mysql/backends/clears.py renamed to dbmagent/components/mysql/backends/clears.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
from datetime import datetime
2424
from collections import deque
2525
from dataclasses import dataclass
26-
from dbma.bil.fun import fname
27-
from dbma.bil.fs import truncate_or_delete_file, get_file_size
28-
from dbma.core import messages
29-
from dbma.core.configs import dbm_agent_config
30-
from dbma.core.threads.backends import threads, keep_threads_running
31-
from dbma.bil.osuser import sudo
26+
from dbmagent.bil.fun import fname
27+
from dbmagent.bil.fs import truncate_or_delete_file, get_file_size
28+
from dbmagent.core import messages
29+
from dbmagent.core.configs import dbm_agent_config
30+
from dbmagent.core.threads.backends import threads, keep_threads_running
31+
from dbmagent.bil.osuser import sudo
3232

3333

3434
clear_tasks = deque(maxlen=1024)

dbma/components/mysql/backups/cloneplugin.py renamed to dbmagent/components/mysql/backups/cloneplugin.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
import logging
1111
from pathlib import Path
1212
from datetime import datetime
13-
from dbma.core import messages
14-
from dbma.bil.fun import fname
15-
from dbma.bil.osuser import MySQLUser
16-
from dbma.core.configs import dbm_agent_config
17-
from dbma.components.mysql.commons import dbma_mysql_cnx
13+
from dbmagent.core import messages
14+
from dbmagent.bil.fun import fname
15+
from dbmagent.bil.osuser import MySQLUser
16+
from dbmagent.core.configs import dbm_agent_config
17+
from dbmagent.components.mysql.commons import dbma_mysql_cnx
1818

1919

2020
def backup_format(backup_type: str = None):

0 commit comments

Comments
 (0)