kaqing 2.0.200__py3-none-any.whl → 2.0.213__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kaqing might be problematic. Click here for more details.
- adam/batch.py +1 -1
- adam/commands/app/utils_app.py +1 -1
- adam/commands/cql/completions_c.py +1 -1
- adam/commands/cql/utils_cql.py +14 -13
- adam/commands/devices/device.py +1 -1
- adam/commands/download_cassandra_log.py +2 -2
- adam/commands/export/export_databases.py +13 -8
- adam/commands/export/export_sessions.py +12 -11
- adam/commands/export/exporter.py +140 -53
- adam/commands/export/import_session.py +0 -4
- adam/commands/export/importer.py +11 -11
- adam/commands/export/importer_athena.py +15 -6
- adam/commands/export/importer_sqlite.py +19 -8
- adam/commands/export/utils_export.py +37 -15
- adam/commands/fs/__init__.py +0 -0
- adam/commands/{os/cat.py → fs/cat_local.py} +15 -9
- adam/commands/{os → fs}/download_file.py +1 -1
- adam/commands/{os → fs}/find_files.py +4 -4
- adam/commands/{shell.py → fs/ls_local.py} +12 -13
- adam/commands/fs/rm.py +18 -0
- adam/commands/fs/rm_downloads.py +39 -0
- adam/commands/fs/rm_logs.py +38 -0
- adam/commands/postgres/postgres_databases.py +1 -1
- adam/commands/postgres/postgres_ls.py +1 -1
- adam/commands/postgres/utils_postgres.py +2 -1
- adam/commands/show/show_cassandra_status.py +3 -10
- adam/commands/show/show_processes.py +1 -1
- adam/commands/show/show_storage.py +2 -1
- adam/embedded_params.py +1 -1
- adam/repl_commands.py +16 -13
- adam/sso/cred_cache.py +2 -5
- adam/utils.py +122 -71
- adam/utils_k8s/app_clusters.py +10 -3
- adam/utils_k8s/app_pods.py +9 -3
- adam/utils_k8s/cassandra_clusters.py +4 -4
- adam/utils_k8s/cassandra_nodes.py +13 -7
- adam/{pod_exec_result.py → utils_k8s/pod_exec_result.py} +8 -2
- adam/utils_k8s/pods.py +34 -29
- adam/utils_local.py +78 -2
- adam/utils_repl/repl_completer.py +6 -2
- adam/utils_sqlite.py +3 -8
- adam/version.py +1 -1
- {kaqing-2.0.200.dist-info → kaqing-2.0.213.dist-info}/METADATA +1 -1
- {kaqing-2.0.200.dist-info → kaqing-2.0.213.dist-info}/RECORD +53 -61
- adam/commands/alter_tables.py +0 -66
- adam/commands/cassandra/download_cassandra_log.py +0 -45
- adam/commands/cassandra/nodetool.py +0 -64
- adam/commands/cassandra/nodetool_commands.py +0 -120
- adam/commands/cassandra/restart_cluster.py +0 -47
- adam/commands/cassandra/restart_node.py +0 -51
- adam/commands/cassandra/restart_nodes.py +0 -47
- adam/commands/cassandra/rollout.py +0 -88
- adam/commands/download_file.py +0 -47
- adam/commands/find_files.py +0 -51
- adam/commands/os/find_processes.py +0 -76
- adam/commands/os/head.py +0 -36
- /adam/commands/{cat.py → fs/cat.py} +0 -0
- /adam/commands/{cd.py → fs/cd.py} +0 -0
- /adam/commands/{find_processes.py → fs/find_processes.py} +0 -0
- /adam/commands/{head.py → fs/head.py} +0 -0
- /adam/commands/{ls.py → fs/ls.py} +0 -0
- /adam/commands/{os → fs}/shell.py +0 -0
- {kaqing-2.0.200.dist-info → kaqing-2.0.213.dist-info}/WHEEL +0 -0
- {kaqing-2.0.200.dist-info → kaqing-2.0.213.dist-info}/entry_points.txt +0 -0
- {kaqing-2.0.200.dist-info → kaqing-2.0.213.dist-info}/top_level.txt +0 -0
adam/utils_k8s/pods.py
CHANGED
|
@@ -13,9 +13,9 @@ from kubernetes.stream.ws_client import ERROR_CHANNEL, WSClient
|
|
|
13
13
|
from adam.config import Config
|
|
14
14
|
from adam.repl_session import ReplSession
|
|
15
15
|
from adam.utils_k8s.volumes import ConfigMapMount
|
|
16
|
-
from adam.pod_exec_result import PodExecResult
|
|
17
|
-
from adam.utils import GeneratorStream, ParallelMapHandler, log2, debug, log_exc
|
|
18
|
-
from adam.utils_local import
|
|
16
|
+
from adam.utils_k8s.pod_exec_result import PodExecResult
|
|
17
|
+
from adam.utils import GeneratorStream, ParallelMapHandler, log2, debug, log_dir, log_exc
|
|
18
|
+
from adam.utils_local import local_downloads_dir
|
|
19
19
|
from .kube_context import KubeContext
|
|
20
20
|
|
|
21
21
|
from websocket._core import WebSocket
|
|
@@ -63,14 +63,13 @@ class Pods:
|
|
|
63
63
|
backgrounded = False,
|
|
64
64
|
log_file = None,
|
|
65
65
|
interaction: Callable[[any, list[str]], any] = None,
|
|
66
|
-
env_prefix: str = None
|
|
67
|
-
via_sh = True):
|
|
66
|
+
env_prefix: str = None):
|
|
68
67
|
if _TEST_POD_EXEC_OUTS:
|
|
69
68
|
return _TEST_POD_EXEC_OUTS
|
|
70
69
|
|
|
71
70
|
show_out = KubeContext.show_out(show_out)
|
|
72
71
|
|
|
73
|
-
if
|
|
72
|
+
if backgrounded or command.endswith(' &'):
|
|
74
73
|
command = command.strip(' &')
|
|
75
74
|
|
|
76
75
|
log_all_file = None
|
|
@@ -82,11 +81,17 @@ class Pods:
|
|
|
82
81
|
else:
|
|
83
82
|
log_pod_file = Pods.log_file(command, pod_name=pod_name)
|
|
84
83
|
|
|
84
|
+
if env_prefix:
|
|
85
|
+
command = f'{env_prefix} {command}'
|
|
86
|
+
|
|
85
87
|
command = command.replace('"', '\\"')
|
|
86
88
|
cmd = f'nohup kubectl exec {pod_name} -c {container} -- {shell} -c "{command} &" > {log_pod_file} 2>&1 &'
|
|
87
89
|
if log_all_file:
|
|
88
90
|
cmd = f'{cmd} >> {log_all_file}'
|
|
89
91
|
|
|
92
|
+
if show_out:
|
|
93
|
+
log2(cmd)
|
|
94
|
+
|
|
90
95
|
result = subprocess.run(cmd, capture_output=True, text=True, shell=True)
|
|
91
96
|
|
|
92
97
|
return PodExecResult(result.stdout, result.stderr, cmd, None, pod=pod_name, log_file=log_pod_file)
|
|
@@ -98,22 +103,22 @@ class Pods:
|
|
|
98
103
|
if env_prefix:
|
|
99
104
|
exec_command = [shell, '-c', f'{env_prefix} {command}']
|
|
100
105
|
|
|
101
|
-
if backgrounded or command.endswith(' &'):
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
106
|
+
# if backgrounded or command.endswith(' &'):
|
|
107
|
+
# # should be false for starting a background process
|
|
108
|
+
# tty = False
|
|
109
|
+
|
|
110
|
+
# if Config().get('repl.background-process.auto-nohup', True):
|
|
111
|
+
# command = command.strip(' &')
|
|
112
|
+
# cmd_name = ''
|
|
113
|
+
# if command.startswith('nodetool '):
|
|
114
|
+
# cmd_name = f".{'_'.join(command.split(' ')[5:])}"
|
|
115
|
+
|
|
116
|
+
# if not log_file:
|
|
117
|
+
# log_file = f'{log_prefix()}-{datetime.now().strftime("%d%H%M%S")}{cmd_name}.log'
|
|
118
|
+
# command = f"nohup {command} > {log_file} 2>&1 &"
|
|
119
|
+
# if env_prefix:
|
|
120
|
+
# command = f'{env_prefix} {command}'
|
|
121
|
+
# exec_command = [shell, '-c', command]
|
|
117
122
|
|
|
118
123
|
k_command = f'kubectl exec {pod_name} -c {container} -n {namespace} -- {shell} -c "{command}"'
|
|
119
124
|
debug(k_command)
|
|
@@ -178,10 +183,13 @@ class Pods:
|
|
|
178
183
|
if groups := re.match(r'.*-(.*)', pod_name):
|
|
179
184
|
pod_suffix = f'-{groups[1]}'
|
|
180
185
|
|
|
186
|
+
return f'{log_dir()}/{Pods.job_id()}{cmd_name}{pod_suffix}.log'
|
|
187
|
+
|
|
188
|
+
def job_id(dt: datetime = None):
|
|
181
189
|
if not dt:
|
|
182
190
|
dt = datetime.now()
|
|
183
191
|
|
|
184
|
-
return
|
|
192
|
+
return dt.strftime("%d%H%M%S")
|
|
185
193
|
|
|
186
194
|
def log_file_from_template(log_file: str, pod_name: str):
|
|
187
195
|
pod_suffix = pod_name
|
|
@@ -227,14 +235,14 @@ class Pods:
|
|
|
227
235
|
|
|
228
236
|
def download_file(pod_name: str, container: str, namespace: str, from_path: str, to_path: str = None):
|
|
229
237
|
if not to_path:
|
|
230
|
-
to_path = f'{
|
|
238
|
+
to_path = f'{local_downloads_dir()}/{os.path.basename(from_path)}'
|
|
231
239
|
|
|
232
240
|
bytes = Pods.read_file(pod_name, container, namespace, from_path)
|
|
233
241
|
with open(to_path, 'wb') as f:
|
|
234
242
|
for item in GeneratorStream(bytes):
|
|
235
243
|
f.write(item)
|
|
236
244
|
|
|
237
|
-
ReplSession().append_history(f':
|
|
245
|
+
ReplSession().append_history(f':cat {to_path}')
|
|
238
246
|
|
|
239
247
|
return to_path
|
|
240
248
|
|
|
@@ -346,7 +354,4 @@ class Pods:
|
|
|
346
354
|
log2(' Timed Out')
|
|
347
355
|
|
|
348
356
|
def completed(namespace: str, pod_name: str):
|
|
349
|
-
return Pods.get(namespace, pod_name).status.phase in ['Succeeded', 'Failed']
|
|
350
|
-
|
|
351
|
-
def log_prefix():
|
|
352
|
-
return Config().get('log-prefix', '/tmp/qing')
|
|
357
|
+
return Pods.get(namespace, pod_name).status.phase in ['Succeeded', 'Failed']
|
adam/utils_local.py
CHANGED
|
@@ -1,4 +1,80 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import subprocess
|
|
3
|
+
import traceback
|
|
4
|
+
|
|
1
5
|
from adam.config import Config
|
|
6
|
+
from adam.utils import ExecResult, creating_dir, debug
|
|
7
|
+
|
|
8
|
+
def local_qing_dir():
|
|
9
|
+
return creating_dir(Config().get('local-qing-dir', '/tmp/qing-db/q'))
|
|
10
|
+
|
|
11
|
+
def local_downloads_dir():
|
|
12
|
+
return creating_dir(Config().get('local-downloads-dir', '/tmp/qing-db/q/downloads'))
|
|
13
|
+
|
|
14
|
+
class LocalExecResult(ExecResult):
|
|
15
|
+
def __init__(self, stdout: str, stderr: str, command: str = None, code = 0, log_file: str = None):
|
|
16
|
+
self.stdout: str = stdout
|
|
17
|
+
self.stderr: str = stderr
|
|
18
|
+
self.command: str = command
|
|
19
|
+
self.code = code
|
|
20
|
+
self.pod = 'local'
|
|
21
|
+
self.log_file = log_file
|
|
22
|
+
|
|
23
|
+
def exit_code(self) -> int:
|
|
24
|
+
return self.code
|
|
25
|
+
|
|
26
|
+
def cat_log_file_cmd(self):
|
|
27
|
+
if self.log_file:
|
|
28
|
+
return f':cat {self.log_file}'
|
|
29
|
+
|
|
30
|
+
return None
|
|
31
|
+
|
|
32
|
+
def __str__(self):
|
|
33
|
+
return f'{"OK" if self.exit_code() == 0 else self.exit_code()} {self.command}'
|
|
34
|
+
|
|
35
|
+
def __audit_extra__(self):
|
|
36
|
+
return self.log_file if self.log_file else None
|
|
37
|
+
|
|
38
|
+
def local_exec(cmd: list[str], shell=False, show_out=False):
|
|
39
|
+
stdout = ''
|
|
40
|
+
stderr = ''
|
|
41
|
+
returncode = 0
|
|
42
|
+
|
|
43
|
+
try:
|
|
44
|
+
if show_out:
|
|
45
|
+
debug(' '.join(cmd))
|
|
46
|
+
|
|
47
|
+
r = subprocess.run(cmd, capture_output=True, text=True, shell=shell)
|
|
48
|
+
stdout = r.stdout
|
|
49
|
+
stderr = r.stderr
|
|
50
|
+
returncode = r.returncode
|
|
51
|
+
except FileNotFoundError as e:
|
|
52
|
+
pass
|
|
53
|
+
|
|
54
|
+
return LocalExecResult(stdout, stderr, ' '.join(cmd), returncode)
|
|
55
|
+
|
|
56
|
+
def find_local_files(pattern: str = f'{local_qing_dir()}/*', file_type: str = None, max_depth = 0, mmin: int = 0):
|
|
57
|
+
# find . -maxdepth 1 -type f -name '*'
|
|
58
|
+
log_files = []
|
|
59
|
+
try:
|
|
60
|
+
dir = os.path.dirname(pattern)
|
|
61
|
+
base = os.path.basename(pattern)
|
|
62
|
+
cmd = ['find', dir]
|
|
63
|
+
if file_type:
|
|
64
|
+
cmd += ['-type', file_type]
|
|
65
|
+
if max_depth:
|
|
66
|
+
cmd += ['-maxdepth', str(max_depth)]
|
|
67
|
+
if mmin:
|
|
68
|
+
cmd += ['-mmin', f'-{mmin}']
|
|
69
|
+
cmd += ['-name', base]
|
|
70
|
+
|
|
71
|
+
stdout = local_exec(cmd, show_out=Config().is_debug()).stdout
|
|
72
|
+
|
|
73
|
+
for line in stdout.split('\n'):
|
|
74
|
+
line = line.strip(' \r')
|
|
75
|
+
if line:
|
|
76
|
+
log_files.append(line)
|
|
77
|
+
except:
|
|
78
|
+
traceback.print_exc()
|
|
2
79
|
|
|
3
|
-
|
|
4
|
-
return Config().get('local-tmp-dir', '/tmp/qing-db')
|
|
80
|
+
return log_files
|
|
@@ -76,8 +76,12 @@ class ReplCompleter(NestedCompleter):
|
|
|
76
76
|
cursor_position=document.cursor_position - move_cursor,
|
|
77
77
|
)
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
try:
|
|
80
|
+
# potential thread racing
|
|
81
|
+
for c in completer.get_completions(new_document, complete_event):
|
|
82
|
+
yield c
|
|
83
|
+
except:
|
|
84
|
+
pass
|
|
81
85
|
|
|
82
86
|
# No space in the input: behave exactly like `WordCompleter`.
|
|
83
87
|
else:
|
adam/utils_sqlite.py
CHANGED
|
@@ -7,7 +7,7 @@ import sqlite3
|
|
|
7
7
|
import pandas
|
|
8
8
|
|
|
9
9
|
from adam.config import Config
|
|
10
|
-
from adam.utils import tabulize, log, wait_log
|
|
10
|
+
from adam.utils import creating_dir, tabulize, log, wait_log
|
|
11
11
|
|
|
12
12
|
class CursorHandler:
|
|
13
13
|
def __init__(self, conn: sqlite3.Connection):
|
|
@@ -53,7 +53,7 @@ class SQLite:
|
|
|
53
53
|
return CursorHandler(conn)
|
|
54
54
|
|
|
55
55
|
def local_db_dir():
|
|
56
|
-
return Config().get('export.sqlite.local-db-dir', '/tmp/qing-db')
|
|
56
|
+
return creating_dir(Config().get('export.sqlite.local-db-dir', '/tmp/qing-db/q/export/db'))
|
|
57
57
|
|
|
58
58
|
def keyspace(database: str):
|
|
59
59
|
return '_'.join(database.replace(".db", "").split('_')[1:])
|
|
@@ -95,8 +95,6 @@ class SQLite:
|
|
|
95
95
|
conn.close()
|
|
96
96
|
|
|
97
97
|
def connect(database: str, keyspace: str = None):
|
|
98
|
-
os.makedirs(SQLite.local_db_dir(), exist_ok=True)
|
|
99
|
-
|
|
100
98
|
if keyspace:
|
|
101
99
|
return sqlite3.connect(f'{SQLite.local_db_dir()}/{database}_{keyspace}.db')
|
|
102
100
|
else:
|
|
@@ -131,7 +129,4 @@ class SQLite:
|
|
|
131
129
|
return len(lines), log_file
|
|
132
130
|
|
|
133
131
|
def query(conn, sql: str) -> tuple[str, str, list]:
|
|
134
|
-
return pandas.read_sql_query(sql, conn)
|
|
135
|
-
|
|
136
|
-
def log_prefix():
|
|
137
|
-
return Config().get('export.log-prefix', '/tmp/qing')
|
|
132
|
+
return pandas.read_sql_query(sql, conn)
|
adam/version.py
CHANGED
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
adam/__init__.py,sha256=is7iqn2nhRzPymhTEajITEFVyvROZ9GWfNsZX3L5g_o,45
|
|
2
2
|
adam/app_session.py,sha256=I2EX7eNRCP6T9u1BTVLs-5SB1ypyhSwNvVmi4nwoU-0,6836
|
|
3
3
|
adam/apps.py,sha256=f1qsIOYjn4fdpCvMfOBns5YEiA5fMm7yZu3cQrK6z2M,7049
|
|
4
|
-
adam/batch.py,sha256=
|
|
4
|
+
adam/batch.py,sha256=EHo97iZn8ZC-QOq9pSGQy-shXCh0XGWDx7DYpXOQxfM,24135
|
|
5
5
|
adam/cli.py,sha256=03pIZdomAu7IL-GSP6Eun_PKwwISShRAmfx6eVRPGC0,458
|
|
6
6
|
adam/cli_group.py,sha256=W3zy1BghCtVcEXizq8fBH-93ZRVVwgAyGPzy0sHno1Y,593
|
|
7
7
|
adam/config.py,sha256=ra2pm1NsHWLUXhhn-ES_tI5MCZx44x2eBoHAjnCd1JA,2642
|
|
8
8
|
adam/embedded_apps.py,sha256=lKPx63mKzJbNmwz0rgL4gF76M9fDGxraYTtNAIGnZ_s,419
|
|
9
|
-
adam/embedded_params.py,sha256=
|
|
9
|
+
adam/embedded_params.py,sha256=LDI2ph8YRoB-t_rSR9B3JqsnXsk_AvNyT6CgFAly4is,6505
|
|
10
10
|
adam/log.py,sha256=vcJ1Q8LLnt3NSXqpVcKjAI2OZE6KaD3PEi1kfu_D8qs,1156
|
|
11
|
-
adam/pod_exec_result.py,sha256=85jy_5dS6TEEk5ijU0B62YfUycxmD3dG8mhIHFPipc8,1260
|
|
12
11
|
adam/repl.py,sha256=V5q0AfFnFKPyOZNPdy9WZGJCH6_jyOTCxa3WS9jU9Ro,7623
|
|
13
|
-
adam/repl_commands.py,sha256=
|
|
12
|
+
adam/repl_commands.py,sha256=VyeqLr2lTwtgc0sBgEMRKUQgmqVcyb3FNoSz4qb77cg,7512
|
|
14
13
|
adam/repl_session.py,sha256=BWjPJq3lHrK6I5wxMqgKyv9_k98yEScn1-WHqsEk0k8,823
|
|
15
14
|
adam/repl_state.py,sha256=jdW56D2gjIEM40ttYtsr2MyIC8oW4KpxuhfQLUgTWZA,16168
|
|
16
|
-
adam/utils.py,sha256=
|
|
15
|
+
adam/utils.py,sha256=AV32tqeGjDrk29oJqDTwY80WI9hgkQYUIJYitCbpvdw,26440
|
|
17
16
|
adam/utils_athena.py,sha256=13ZtBlOIDhIvZYRGRLtDrKrEcn4VIq87IZVrIkM1mAM,5389
|
|
18
17
|
adam/utils_audits.py,sha256=lZ2U1AcROxLB4652auG091QFTPs_YNzbtdXBiK6bY_Y,4063
|
|
19
18
|
adam/utils_issues.py,sha256=nWhzUXmD2IfbT8MzjdyvuvpKrtUoieF74O2joaWFpUU,1438
|
|
20
|
-
adam/utils_local.py,sha256=
|
|
19
|
+
adam/utils_local.py,sha256=Q4jqAenWQYvL6VLb0BlAJ4Z4VoWQIZBrrfyEDCS9qAw,2308
|
|
21
20
|
adam/utils_net.py,sha256=byEtNVr8iG9UaD7dM77dN2WEBClB7YNKult7LKFTCOc,428
|
|
22
|
-
adam/utils_sqlite.py,sha256=
|
|
23
|
-
adam/version.py,sha256=
|
|
21
|
+
adam/utils_sqlite.py,sha256=NexOm1Fxq99dLvBn7XhxCh1SinwBtVUzadbyS7lorkU,4233
|
|
22
|
+
adam/version.py,sha256=wI4AqD_6M7TmYRXPM9JZKFB0q3f5AvvnlIBpd-OjXJM,140
|
|
24
23
|
adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
24
|
adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
|
|
26
25
|
adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
|
|
@@ -55,9 +54,6 @@ adam/columns/pod_name.py,sha256=IYw0ZKA7Fb9LaGXENqzZTiTgL98tahwFRtfy0KkKh2Q,280
|
|
|
55
54
|
adam/columns/volume_cassandra.py,sha256=9KRNOzjNYganI9avN6zaA5_-7yxD4rV-KNxro9CSUg4,753
|
|
56
55
|
adam/columns/volume_root.py,sha256=29ujLoCAf9LO75u62LxEaPD58s6ihV-tcK17OeLSOM0,556
|
|
57
56
|
adam/commands/__init__.py,sha256=xMC9cRhdshstKEgmu5-euiAE53vvWItKqUzlKhTteAg,1302
|
|
58
|
-
adam/commands/alter_tables.py,sha256=yNqIYDoZd2xZEl3hc8E6V1Br6_BEM3X7DCnXFGuR1pQ,3216
|
|
59
|
-
adam/commands/cat.py,sha256=_h8V1g57zKCeSeE7MVuqCC3k90_q3fd19FvdvCP8Q9g,1278
|
|
60
|
-
adam/commands/cd.py,sha256=bvFgqzd0b4BROExcCaN_y-_tnyUUDEuoQk3dXest9l0,1330
|
|
61
57
|
adam/commands/check.py,sha256=5aa4DAIMB24HNY-zYwHGthQM_9qwB-vlKpzeaq65HBs,2314
|
|
62
58
|
adam/commands/cli_commands.py,sha256=sbGi1AoSlZsgUmaZ1p5Jk5gQ0VlkET9czUWq-Ars93w,3765
|
|
63
59
|
adam/commands/clipboard_copy.py,sha256=2FOBPbrb59D3unNUaKJhkEPJQ7f09O0JQkqqP567_a4,3171
|
|
@@ -65,19 +61,14 @@ adam/commands/code.py,sha256=q95MN9Ts7xjCAUZB50Q8MJYNPzny-4FeI2LdwMBzozQ,1890
|
|
|
65
61
|
adam/commands/command.py,sha256=W9ynh5kIy7h3r-ksHFP2CbU9ZrukxfMr_LpRir2qzqc,9820
|
|
66
62
|
adam/commands/command_helpers.py,sha256=leOJJK1UXczNTJHN9TGMCbIpUpmpreULvQ-TvnsYS7w,1134
|
|
67
63
|
adam/commands/commands_utils.py,sha256=NmNQD_m6kcXp1aW4SuLssk4V6zOWzmcqzWOGXAsTQ5g,2948
|
|
68
|
-
adam/commands/download_cassandra_log.py,sha256=
|
|
69
|
-
adam/commands/download_file.py,sha256=xY5-o1cKhIvToVFz8iT3kcU5zBuIiOdPcGQz3oENnak,1839
|
|
64
|
+
adam/commands/download_cassandra_log.py,sha256=GXn4pqimt8zK5_7HqkFM_9Qir-ktkpY4Dw_JZcfpaZ8,1651
|
|
70
65
|
adam/commands/exit.py,sha256=T7bCEShd6MXQ8rXak7vGZTvqEOejPOUPtbdfy7d8WWA,753
|
|
71
|
-
adam/commands/find_files.py,sha256=2yx-RhOHvok0y0wxYf-OChWghEQc_pnp3B_nASt33zk,1480
|
|
72
|
-
adam/commands/find_processes.py,sha256=Ta1l5zddaazoWjaKZb8LRa4sfemr8HbOAdlLXNWBGrM,2908
|
|
73
66
|
adam/commands/generate_report.py,sha256=KNFnRxwKDfXi1kfoqQQBGd0NH0AathgyQwUMGJMDGM4,1743
|
|
74
|
-
adam/commands/head.py,sha256=NeR1xRpmbyUQI5IgRE-zdWyyjs9C-C8E-g0WNulZ2Ck,1284
|
|
75
67
|
adam/commands/help.py,sha256=SYaJL-7mApfSlfkDvY2uKl7onyr54ntDmMSQ18sfaZw,1886
|
|
76
68
|
adam/commands/intermediate_command.py,sha256=vT802djwMyMgcidZufa98GnFiWHgmNKU1XFp7Y_ovhU,1784
|
|
77
69
|
adam/commands/issues.py,sha256=5evrVBzc4sCMHwQ9LmuGAgoPBINr-OCa9FZMJVJDwH8,1431
|
|
78
70
|
adam/commands/kubectl.py,sha256=kCXIl_9vNDW6CBirCeowQjJ2UhidlCEDBP8XOVIloF8,993
|
|
79
71
|
adam/commands/login.py,sha256=rY8P3wpWZOBN-68QRZfDfBvd0wjLUkwbTNPduqAOoVA,2073
|
|
80
|
-
adam/commands/ls.py,sha256=vUQrOaptKcC9HHzQaL_82h9bWoUxwGu0YSg8YKOwrBI,1282
|
|
81
72
|
adam/commands/nodetool.py,sha256=3z55UTx7ZKPLwrgZXAUL9nFTKZtEx-jxH6y_gCJdue0,2024
|
|
82
73
|
adam/commands/nodetool_commands.py,sha256=5IgWC3rmeDD1cgwqQjiiWzi-wJpJ3n_8pAzz_9phXuk,2635
|
|
83
74
|
adam/commands/param_get.py,sha256=3IpAn4_T-_NlSkEXyv0jkBJ_aHE-e9hdY5YVaZlIKBI,1357
|
|
@@ -88,7 +79,6 @@ adam/commands/restart_cluster.py,sha256=uY7z5lRsNR7lWyoXSwqUwYPVmTpZfsYiu9dkz2Tx
|
|
|
88
79
|
adam/commands/restart_node.py,sha256=TDykeAxNT4avVcrrAisFKly9ZvP0kV2Nhev0II_7Tec,1598
|
|
89
80
|
adam/commands/restart_nodes.py,sha256=PIbTPDBF1jY9Rk7QL_-IfNhOZaUrdNmCLhhIOPxAE28,1653
|
|
90
81
|
adam/commands/rollout.py,sha256=BmlvnVffPGCERfXxdJJFnxtU3yDILp5016N7C-EWCOE,3032
|
|
91
|
-
adam/commands/shell.py,sha256=UQs4TEIDiZOjJrVsZJ_O9DDtn_k3K7-ifg1ZBsJFnsU,1155
|
|
92
82
|
adam/commands/watch.py,sha256=q3kJd6YSO_ZxQ107EeIWZsW8m2X7YIGT3QPXjKloTIo,2459
|
|
93
83
|
adam/commands/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
84
|
adam/commands/app/app.py,sha256=4N1bkXItOkuw_uXQNyB24eZ7vqUIbafbKRnf1DociSw,1152
|
|
@@ -96,7 +86,7 @@ adam/commands/app/app_ping.py,sha256=VOPaWE2DQjAXlN1uonH2chNItiTUt7HqltQDA2LkwrU
|
|
|
96
86
|
adam/commands/app/show_app_actions.py,sha256=A2voQ4cKZatQLNaTCf05Z0I7U77UPmtzoxeCaURiiYU,1731
|
|
97
87
|
adam/commands/app/show_app_id.py,sha256=4Y4uTZa7J5NJI6W8OTqtS5ynCoflYiPVz98c-h3hNBo,1359
|
|
98
88
|
adam/commands/app/show_app_queues.py,sha256=F6qFqnUqiNocvWROj8oXQmmLYU9e8S51N8ao6P0wp-Y,1234
|
|
99
|
-
adam/commands/app/utils_app.py,sha256=
|
|
89
|
+
adam/commands/app/utils_app.py,sha256=DTfRNmowCiYTR36R9MgjRCpR_ug4wtPMqlc2FeR9IGM,3345
|
|
100
90
|
adam/commands/audit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
91
|
adam/commands/audit/audit.py,sha256=ifo7A9h5H_nQASQVdAH9lg0WugSgd6Nt6x1gRqaMN38,2442
|
|
102
92
|
adam/commands/audit/audit_repair_tables.py,sha256=m2GKLoGw2TuwPmfMQxN0t9h1V3q-RHylVpPafQjUNkk,2577
|
|
@@ -111,18 +101,11 @@ adam/commands/bash/bash.py,sha256=wha8gxFoxZGnNoQjpAJzaoOYUWuz0neEKCFOKsrOYKo,12
|
|
|
111
101
|
adam/commands/bash/bash_completer.py,sha256=IStUg5LLTqc3vjupw33WtXUG9zRQ37BctjDYGDyYEXU,3883
|
|
112
102
|
adam/commands/bash/utils_bash.py,sha256=Wsz0TdALDNTfgqWa7nRqh00kALvA67OqV3NdYMYy7_Q,429
|
|
113
103
|
adam/commands/cassandra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
114
|
-
adam/commands/cassandra/download_cassandra_log.py,sha256=U7pojvjdZ5YB_qW34V6GvthB4JLRAU7CxXwG0kM_vZU,1643
|
|
115
|
-
adam/commands/cassandra/nodetool.py,sha256=bM3VSA66TLhbFOqUV9wKeaonqumFtkxrRHGooWtl278,2034
|
|
116
|
-
adam/commands/cassandra/nodetool_commands.py,sha256=5IgWC3rmeDD1cgwqQjiiWzi-wJpJ3n_8pAzz_9phXuk,2635
|
|
117
|
-
adam/commands/cassandra/restart_cluster.py,sha256=uY7z5lRsNR7lWyoXSwqUwYPVmTpZfsYiu9dkz2Txaas,1609
|
|
118
|
-
adam/commands/cassandra/restart_node.py,sha256=TDykeAxNT4avVcrrAisFKly9ZvP0kV2Nhev0II_7Tec,1598
|
|
119
|
-
adam/commands/cassandra/restart_nodes.py,sha256=PIbTPDBF1jY9Rk7QL_-IfNhOZaUrdNmCLhhIOPxAE28,1653
|
|
120
|
-
adam/commands/cassandra/rollout.py,sha256=BmlvnVffPGCERfXxdJJFnxtU3yDILp5016N7C-EWCOE,3032
|
|
121
104
|
adam/commands/cql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
122
105
|
adam/commands/cql/alter_tables.py,sha256=igFeIhvanSTUSRZOtZxdR7E4a8G4Mi_h7vTnUS5aiuA,3217
|
|
123
|
-
adam/commands/cql/completions_c.py,sha256=
|
|
106
|
+
adam/commands/cql/completions_c.py,sha256=S5euGPerY6LlQXf4O0OWFc8z3dzeahB9mALdQB4pQgE,1646
|
|
124
107
|
adam/commands/cql/cqlsh.py,sha256=UpMQlCabsRwICebd37S655lRlPekHuv_dlXExlqNJ4k,2164
|
|
125
|
-
adam/commands/cql/utils_cql.py,sha256=
|
|
108
|
+
adam/commands/cql/utils_cql.py,sha256=zIBRa_nqZniqkR5iwx58RSfADxC70wnX20YWlz4dpus,11855
|
|
126
109
|
adam/commands/debug/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
110
|
adam/commands/debug/debug.py,sha256=q2RtMKZ0OH-O3suY6rrSmiRXn_6nyGBNk49G2Y9vW4I,685
|
|
128
111
|
adam/commands/debug/debug_completes.py,sha256=jn1KxwF88YV8S0DUHSTFdhww091GfIxV9Qmp98uU7Zs,1161
|
|
@@ -141,7 +124,7 @@ adam/commands/deploy/undeploy_frontend.py,sha256=khgxZ94bXlQ8c737B_J-gE0pNBA0GaI
|
|
|
141
124
|
adam/commands/deploy/undeploy_pg_agent.py,sha256=X73_0dadpn_DFW1rQMQssE3NQbmovllEXkxFDAunPms,1259
|
|
142
125
|
adam/commands/deploy/undeploy_pod.py,sha256=Pc5xpU4z5_CHrtz3cAzReT4Qxyks2kQ-uWSRUnAYiJ4,1907
|
|
143
126
|
adam/commands/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
144
|
-
adam/commands/devices/device.py,sha256=
|
|
127
|
+
adam/commands/devices/device.py,sha256=uSff7S57MtTHhWEyheTqaLD9QidloDyjScrtg5tm1Cs,4382
|
|
145
128
|
adam/commands/devices/device_app.py,sha256=ib32_a4qK3BOu2jCzedG5IZFua1OvZmXdVj_aforoxE,6373
|
|
146
129
|
adam/commands/devices/device_auit_log.py,sha256=kOP5QwDixwVPupd1A0PG2RY0fq_aeEdx4MRWegnj2Ow,1560
|
|
147
130
|
adam/commands/devices/device_cass.py,sha256=45tEDKETZF20Bj3lPyFLkcJ7VDmGVB8mVtBWq8YGcps,6754
|
|
@@ -156,22 +139,36 @@ adam/commands/export/download_export_session.py,sha256=hy8WJZZJhdaZta6VCUZicdCEc
|
|
|
156
139
|
adam/commands/export/drop_export_database.py,sha256=3S6yj0OuMknPZ1MpPad7eCm1V6BdDn6enHcjRC_fjek,1232
|
|
157
140
|
adam/commands/export/drop_export_databases.py,sha256=WzOm4Ykf1O_ZRjF8oZn_PaKTuIzxFeRJhqWfsENCstg,1095
|
|
158
141
|
adam/commands/export/export.py,sha256=MaEPS_QKmI9SGnLbwJRNKguk4ODx-YsbAziUYjf0_Dw,1293
|
|
159
|
-
adam/commands/export/export_databases.py,sha256=
|
|
142
|
+
adam/commands/export/export_databases.py,sha256=jrWGZiladBldht9mqcYJLSud4EbItR6fSXT_5pJpCdc,8513
|
|
160
143
|
adam/commands/export/export_select.py,sha256=tfy6JYEobbJ86-HRd5I02OnRqB_xEVtSIQaPYK6UThQ,984
|
|
161
|
-
adam/commands/export/export_sessions.py,sha256=
|
|
144
|
+
adam/commands/export/export_sessions.py,sha256=bk8cXJ4HRUu3RraFfEaRGI3acjhv9NwTV5Ota-b70_0,7386
|
|
162
145
|
adam/commands/export/export_use.py,sha256=H7F43ub944sCPxwd2Z0KpDiUhACg049BBak3uhQcT68,1412
|
|
163
146
|
adam/commands/export/export_x_select.py,sha256=kHDOd_RIz3JucXE-RGNpX9eBVaaBzwefEok5pdcroAM,1656
|
|
164
|
-
adam/commands/export/exporter.py,sha256=
|
|
147
|
+
adam/commands/export/exporter.py,sha256=YGsPNJ2R_YQ_13fg0SK8QXQpGfPCDdaU0V0NPLwzJnU,19159
|
|
165
148
|
adam/commands/export/import_files.py,sha256=nSgez-i1tO8sPQV4mlfplFy-cRBC3ETCJi-oU_EBnaY,1629
|
|
166
|
-
adam/commands/export/import_session.py,sha256=
|
|
167
|
-
adam/commands/export/importer.py,sha256=
|
|
168
|
-
adam/commands/export/importer_athena.py,sha256=
|
|
169
|
-
adam/commands/export/importer_sqlite.py,sha256=
|
|
149
|
+
adam/commands/export/import_session.py,sha256=Z2L26DHJzvXy4DtXs2E9cXl2cLFMeKbfqDPVwdK0t7s,1418
|
|
150
|
+
adam/commands/export/importer.py,sha256=y8Rg8hUKfWalL6pvDgcBhgH_njbiOzFjgElNDo0n_yI,2694
|
|
151
|
+
adam/commands/export/importer_athena.py,sha256=5tlwAPVikxYc3u9b6KjtjQOh6j8-oeO9MBwvfrmowHk,6640
|
|
152
|
+
adam/commands/export/importer_sqlite.py,sha256=7PLuuO1-xRAt1m0qu7wHMkbnqk4qtvHPExbOzBAt5J8,3113
|
|
170
153
|
adam/commands/export/show_column_counts.py,sha256=3kvS0tO2A-FOG2IM2N55mkOdUdxLucDcjGNbBikljJ4,1855
|
|
171
154
|
adam/commands/export/show_export_databases.py,sha256=zSjZ8tuMXj1dZ6iIXwFVqVk7hokH1hbnYwkXLZE7Sjk,1277
|
|
172
155
|
adam/commands/export/show_export_session.py,sha256=hrUJFIaycnCpcv5wZ8bxCbYtzvdRm-JIswm_gvjzk4g,1291
|
|
173
156
|
adam/commands/export/show_export_sessions.py,sha256=s5m9oGlrJe3NWE-TQZszis0WGbKBs4T6C_NeihfYdxs,1130
|
|
174
|
-
adam/commands/export/utils_export.py,sha256=
|
|
157
|
+
adam/commands/export/utils_export.py,sha256=_j9cW_NAkTAC2kIAa3g9aFKkaunYHVivYIVyDrgTLA4,12968
|
|
158
|
+
adam/commands/fs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
159
|
+
adam/commands/fs/cat.py,sha256=_h8V1g57zKCeSeE7MVuqCC3k90_q3fd19FvdvCP8Q9g,1278
|
|
160
|
+
adam/commands/fs/cat_local.py,sha256=sTzt80NWELfgMtyDj3UQeQ1kx-Jr8xylnTTfUxOCOzA,1334
|
|
161
|
+
adam/commands/fs/cd.py,sha256=bvFgqzd0b4BROExcCaN_y-_tnyUUDEuoQk3dXest9l0,1330
|
|
162
|
+
adam/commands/fs/download_file.py,sha256=SmR6lq309dg6TOQUt0CqtC32T0RYEhSTut8qjV_KnOg,1849
|
|
163
|
+
adam/commands/fs/find_files.py,sha256=KvY2CREhhf6xr1KshG7dXBpKEi2mqWy8Gwpyc8YsfGA,1483
|
|
164
|
+
adam/commands/fs/find_processes.py,sha256=Ta1l5zddaazoWjaKZb8LRa4sfemr8HbOAdlLXNWBGrM,2908
|
|
165
|
+
adam/commands/fs/head.py,sha256=NeR1xRpmbyUQI5IgRE-zdWyyjs9C-C8E-g0WNulZ2Ck,1284
|
|
166
|
+
adam/commands/fs/ls.py,sha256=vUQrOaptKcC9HHzQaL_82h9bWoUxwGu0YSg8YKOwrBI,1282
|
|
167
|
+
adam/commands/fs/ls_local.py,sha256=FIajyaR-rcrDnMEk7COcO7KI8PAfkTXDI7nS7vBPTB8,1092
|
|
168
|
+
adam/commands/fs/rm.py,sha256=LxeSD6pTgU4090buVeVTKWJ0G3T9-0a_oar4MLEfrzk,528
|
|
169
|
+
adam/commands/fs/rm_downloads.py,sha256=4zvyKUDtcHTj5UzP7R047jzGm9RclZO8mE7w9c9Y26A,1119
|
|
170
|
+
adam/commands/fs/rm_logs.py,sha256=oHxV-g6qgna5LEVeeGlOwxN7A3cgxv8BpS7ASL5kCBY,1029
|
|
171
|
+
adam/commands/fs/shell.py,sha256=UQs4TEIDiZOjJrVsZJ_O9DDtn_k3K7-ifg1ZBsJFnsU,1155
|
|
175
172
|
adam/commands/medusa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
176
173
|
adam/commands/medusa/medusa.py,sha256=Ey2kJpoKqPFP6m623B3ciMoLur5SVcHEBYsvW7G7aAY,958
|
|
177
174
|
adam/commands/medusa/medusa_backup.py,sha256=n-caJjd3WObm2tplVKUG-GahWoOwDS2pk_MZKQl0S7Q,1812
|
|
@@ -180,19 +177,13 @@ adam/commands/medusa/medusa_show_backupjobs.py,sha256=rYP5r_NXAQcWrsstv4UngAb4gb
|
|
|
180
177
|
adam/commands/medusa/medusa_show_restorejobs.py,sha256=rgNg-fy0EbTBd2PghOM-w16PrtqL9QCE0Z0vhIcK8CE,1584
|
|
181
178
|
adam/commands/medusa/utils_medusa.py,sha256=7uwIFJDGYBATnl46coO24tGw4a-07mVLB82Os4pTkKo,594
|
|
182
179
|
adam/commands/os/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
183
|
-
adam/commands/os/cat.py,sha256=_h8V1g57zKCeSeE7MVuqCC3k90_q3fd19FvdvCP8Q9g,1278
|
|
184
|
-
adam/commands/os/download_file.py,sha256=xY5-o1cKhIvToVFz8iT3kcU5zBuIiOdPcGQz3oENnak,1839
|
|
185
|
-
adam/commands/os/find_files.py,sha256=2yx-RhOHvok0y0wxYf-OChWghEQc_pnp3B_nASt33zk,1480
|
|
186
|
-
adam/commands/os/find_processes.py,sha256=Ta1l5zddaazoWjaKZb8LRa4sfemr8HbOAdlLXNWBGrM,2908
|
|
187
|
-
adam/commands/os/head.py,sha256=NeR1xRpmbyUQI5IgRE-zdWyyjs9C-C8E-g0WNulZ2Ck,1284
|
|
188
|
-
adam/commands/os/shell.py,sha256=UQs4TEIDiZOjJrVsZJ_O9DDtn_k3K7-ifg1ZBsJFnsU,1155
|
|
189
180
|
adam/commands/postgres/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
190
181
|
adam/commands/postgres/completions_p.py,sha256=I4E88nKBzSegm0EY0qRcQq4pkz4iEQnS48CFXK9AXYU,727
|
|
191
182
|
adam/commands/postgres/postgres.py,sha256=kfqFYdcEdev8p9yjAxYXsTzC3hKrazge2zPBXHF37uw,3311
|
|
192
|
-
adam/commands/postgres/postgres_databases.py,sha256=
|
|
193
|
-
adam/commands/postgres/postgres_ls.py,sha256=
|
|
183
|
+
adam/commands/postgres/postgres_databases.py,sha256=DbDUJS3cVfkgyeSn5WoQte-Vb8SjjnwQP6M8zAXU7cI,11297
|
|
184
|
+
adam/commands/postgres/postgres_ls.py,sha256=ZnET7KfFZ9gxqsmji11dcU3SRci-_T7VsAnv77c3Vik,1114
|
|
194
185
|
adam/commands/postgres/postgres_preview.py,sha256=Bmw3YC98tFdjUx2CRHOakcvLHCOLtEiKxvNDjlDoRo0,1174
|
|
195
|
-
adam/commands/postgres/utils_postgres.py,sha256=
|
|
186
|
+
adam/commands/postgres/utils_postgres.py,sha256=0CAHiNlTuZFj1LrjcrRMenAwzBdGww1qSkpMZtYsPbg,2495
|
|
196
187
|
adam/commands/reaper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
197
188
|
adam/commands/reaper/reaper.py,sha256=Xrfjvqtn5txnaMwofBb77yEsmSYLO_-Bi43ABq2ZmaQ,1398
|
|
198
189
|
adam/commands/reaper/reaper_forward.py,sha256=O5L4SnZdeFMtJqc5SHYVCYQcfkQ2-JnDN9rEX7u_8Xg,3307
|
|
@@ -218,14 +209,14 @@ adam/commands/show/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
218
209
|
adam/commands/show/show.py,sha256=h8AAGyiilZ_Wc_SJvR1gT8Ie8RKQprZfNa07zy2e2lg,1728
|
|
219
210
|
adam/commands/show/show_adam.py,sha256=zmzgIvWo9hg0v6YyA26N-xGZipVome22AtrZ9iI6oSw,1298
|
|
220
211
|
adam/commands/show/show_cassandra_repairs.py,sha256=ygdUkiFgvaYxTEoJaJEONfpDOEzZLOPMXz1n_VZaiwc,1306
|
|
221
|
-
adam/commands/show/show_cassandra_status.py,sha256=
|
|
212
|
+
adam/commands/show/show_cassandra_status.py,sha256=8g035RwaWHrzu2VIX6Rit5lboAdilhyNej3aYXlXOqs,5177
|
|
222
213
|
adam/commands/show/show_cassandra_version.py,sha256=O-vTwnK5mSyhFNRDGQ2c-3YNAbW0TZo1pndvD6kMRMo,1144
|
|
223
214
|
adam/commands/show/show_cli_commands.py,sha256=G3yT2UcreR05aT9OgU_BZnwZQ5S5mX8wyCLmNf_W77o,1894
|
|
224
215
|
adam/commands/show/show_host.py,sha256=b7UrC_n9qRp9jHuQqint1YDEmBbC2dZUjHr59Wff-nM,868
|
|
225
216
|
adam/commands/show/show_login.py,sha256=l5vwFvNQ9WcppSJU_f6xVKGznz32OYd76EImFdR0xEo,1816
|
|
226
217
|
adam/commands/show/show_params.py,sha256=6rM9IgHusa5MrqLdHOBzBMOh1mOnlkFDbZeFGdXLnKk,939
|
|
227
|
-
adam/commands/show/show_processes.py,sha256=
|
|
228
|
-
adam/commands/show/show_storage.py,sha256=
|
|
218
|
+
adam/commands/show/show_processes.py,sha256=92DUh_-Z6Z1vCKIXX6MdgDGtW9RAXokmz7zIuUWdVzo,2404
|
|
219
|
+
adam/commands/show/show_storage.py,sha256=gk9E5zOlvL6ugIeqO_UPwMJ94ZgnIgZCOkLTIDctEqk,1785
|
|
229
220
|
adam/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
230
221
|
adam/sql/async_executor.py,sha256=-nf-ESyhJ9MMWZF7YtSeyvv_e7jVTGi6Ui3DK5bAC9Y,1681
|
|
231
222
|
adam/sql/lark_completer.py,sha256=_6L8Y_IqTd02tbR4wmlxlXCDPe_167wGvnyHFaVMhog,12659
|
|
@@ -238,17 +229,17 @@ adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
238
229
|
adam/sso/authenticator.py,sha256=BCm16L9zf5aLU47-sTCnudn2zLPwd8M2wwRminJfsqw,615
|
|
239
230
|
adam/sso/authn_ad.py,sha256=FQbOJOT_goH7YSr2iqnHh8Ao-WL0jPaE3KyIe3T7g7Y,5786
|
|
240
231
|
adam/sso/authn_okta.py,sha256=e4DjNvCDw646L0SM0aWt_lT2q69MqtzTJiYQpo_EuAQ,4505
|
|
241
|
-
adam/sso/cred_cache.py,sha256=
|
|
232
|
+
adam/sso/cred_cache.py,sha256=dh8orKM_BzVxIf33-M7_2cCEZYFnUppcEhuU73MWvX0,1936
|
|
242
233
|
adam/sso/id_token.py,sha256=wmVZ8S0sjScnOxmSvOKlIEKgnvdWqhsgq9XjFe355O4,744
|
|
243
234
|
adam/sso/idp.py,sha256=Fml1IwP2n3e-j3SFtH3uqL8h9dhQ62J3oM4d37svIu8,5775
|
|
244
235
|
adam/sso/idp_login.py,sha256=QAtCUeDTVWliJy40RK_oac8Vgybr13xH8wzeBoxPaa8,1754
|
|
245
236
|
adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
|
|
246
237
|
adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
|
|
247
238
|
adam/utils_k8s/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
248
|
-
adam/utils_k8s/app_clusters.py,sha256=
|
|
249
|
-
adam/utils_k8s/app_pods.py,sha256=
|
|
250
|
-
adam/utils_k8s/cassandra_clusters.py,sha256=
|
|
251
|
-
adam/utils_k8s/cassandra_nodes.py,sha256=
|
|
239
|
+
adam/utils_k8s/app_clusters.py,sha256=RFR9YADapYfEG7t8UJ8B_VPrC9utki20ntAuHFBFbbs,1304
|
|
240
|
+
adam/utils_k8s/app_pods.py,sha256=JzhxkcDjpbS_x50646dxFrf582rzWnB9d4JoGy7_HMU,1484
|
|
241
|
+
adam/utils_k8s/cassandra_clusters.py,sha256=Izt30TKA6gCiY93zPvFpmT4d60INwbFfY5xtcyd1ZCI,1826
|
|
242
|
+
adam/utils_k8s/cassandra_nodes.py,sha256=Ovrv76iRL3bMYXFjQCWV-JV0GsfE9aLXBTLEZdAcgZo,1582
|
|
252
243
|
adam/utils_k8s/config_maps.py,sha256=vc9A-2D1-1mindCMFL1wuysDOXb0RCl4BdjC6B6usXI,1194
|
|
253
244
|
adam/utils_k8s/custom_resources.py,sha256=95zVZchFtFWGZ_P-jLaSMl6WYTObn7PqeTLxZ_HKoEo,7599
|
|
254
245
|
adam/utils_k8s/deployment.py,sha256=SLhnMm5GMXwEldj2OupSFBUsvNjynwSNrv5tIDvLMrc,2921
|
|
@@ -256,7 +247,8 @@ adam/utils_k8s/ingresses.py,sha256=q8nJTIoxa_dVrGMl1HS5yTS_11jLNBAnWlc2ZishMEE,3
|
|
|
256
247
|
adam/utils_k8s/jobs.py,sha256=HbUBNXcKcuXaNzc8NmqR_Sq35yHQ_qeQtiQFFM-J2QY,2534
|
|
257
248
|
adam/utils_k8s/k8s.py,sha256=5LpIGIZH1-lrkS275zgjY6i_HEA5ZXmK_pcCoqMWK6g,3577
|
|
258
249
|
adam/utils_k8s/kube_context.py,sha256=SEaRhlLNniEflHtMjYS_7lArvOQJUGPe-d4KTCxzD9U,3204
|
|
259
|
-
adam/utils_k8s/
|
|
250
|
+
adam/utils_k8s/pod_exec_result.py,sha256=_kVEAzPtBU-BP5yyF50RzmsVChlzqStuGaCKpGIcsDg,1431
|
|
251
|
+
adam/utils_k8s/pods.py,sha256=BvkWL2OHQ30vTwGabBQNEv5mSlLArbh9S72OIvcvDms,13588
|
|
260
252
|
adam/utils_k8s/secrets.py,sha256=xnqRSumCIcPaASDcErzxjx1BCE-qJkPoG5wIP7YHzIo,2430
|
|
261
253
|
adam/utils_k8s/service_accounts.py,sha256=OF1-UwWupUAvn_rqNNTWsF3BWYgaLiGTJfinn8sreog,6342
|
|
262
254
|
adam/utils_k8s/services.py,sha256=7K6CxvYntbCsRjTZVcuYiBb5WPH7A5CTWTlUGvaVDRg,3154
|
|
@@ -265,13 +257,13 @@ adam/utils_k8s/volumes.py,sha256=RIBmlOSWM3V3QVXLCFT0owVOyh4rGG1ETp521a-6ndo,113
|
|
|
265
257
|
adam/utils_repl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
266
258
|
adam/utils_repl/appendable_completer.py,sha256=byLO9pZXExi13i6-fKY6gNzK-v0RtxIQtFYHdwdUbLE,158
|
|
267
259
|
adam/utils_repl/automata_completer.py,sha256=LJP_2WHHR7AtjX00MJ59VGQEL3t0XS-qYnDmMaZe-Tk,1641
|
|
268
|
-
adam/utils_repl/repl_completer.py,sha256
|
|
260
|
+
adam/utils_repl/repl_completer.py,sha256=mTqkDSAB2eKgF1jcKLQrW0NWebqRRfEFpVlusfxj50Y,3516
|
|
269
261
|
adam/utils_repl/state_machine.py,sha256=kO4_oSi_M53f3QQjINzzb2VFptjbnqX3KRC0G8LqqeA,5426
|
|
270
262
|
teddy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
271
263
|
teddy/lark_parser.py,sha256=1ZasiCM94C0nOA4HFJX7uMj0h2TReCMqLd1Wx9C50uA,14701
|
|
272
264
|
teddy/lark_parser2.py,sha256=tXM6D8BimgG4FK5ANYS2K8MoATdcYed5QOKXivbPQHw,21499
|
|
273
|
-
kaqing-2.0.
|
|
274
|
-
kaqing-2.0.
|
|
275
|
-
kaqing-2.0.
|
|
276
|
-
kaqing-2.0.
|
|
277
|
-
kaqing-2.0.
|
|
265
|
+
kaqing-2.0.213.dist-info/METADATA,sha256=Jsuyj2bMnVhgMfFfzxa6xvBrGZ2qFUI1g4PY0syyGCI,133
|
|
266
|
+
kaqing-2.0.213.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
267
|
+
kaqing-2.0.213.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
|
|
268
|
+
kaqing-2.0.213.dist-info/top_level.txt,sha256=spQlE6mz0lPv3DfQLw8FenXyU0O-P8pi_FUCjdI2H9s,11
|
|
269
|
+
kaqing-2.0.213.dist-info/RECORD,,
|
adam/commands/alter_tables.py
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
from adam.commands import extract_options, validate_args
|
|
2
|
-
from adam.commands.command import Command
|
|
3
|
-
from adam.commands.cql.utils_cql import cassandra, cassandra_tables as get_tables
|
|
4
|
-
from adam.config import Config
|
|
5
|
-
from adam.repl_state import ReplState, RequiredState
|
|
6
|
-
from adam.utils import log2, log_exc
|
|
7
|
-
|
|
8
|
-
class AlterTables(Command):
|
|
9
|
-
COMMAND = 'alter tables with'
|
|
10
|
-
|
|
11
|
-
# the singleton pattern
|
|
12
|
-
def __new__(cls, *args, **kwargs):
|
|
13
|
-
if not hasattr(cls, 'instance'): cls.instance = super(AlterTables, cls).__new__(cls)
|
|
14
|
-
|
|
15
|
-
return cls.instance
|
|
16
|
-
|
|
17
|
-
def __init__(self, successor: Command=None):
|
|
18
|
-
super().__init__(successor)
|
|
19
|
-
|
|
20
|
-
def required(self):
|
|
21
|
-
return RequiredState.CLUSTER
|
|
22
|
-
|
|
23
|
-
def command(self):
|
|
24
|
-
return AlterTables.COMMAND
|
|
25
|
-
|
|
26
|
-
def run(self, cmd: str, state: ReplState):
|
|
27
|
-
if not(args := self.args(cmd)):
|
|
28
|
-
return super().run(cmd, state)
|
|
29
|
-
|
|
30
|
-
with self.validate(args, state) as (args, state):
|
|
31
|
-
with extract_options(args, '--include-reaper') as (args, include_reaper):
|
|
32
|
-
with validate_args(args, state, name='gc grace in seconds') as arg_str:
|
|
33
|
-
excludes = [e.strip(' \r\n') for e in Config().get(
|
|
34
|
-
'cql.alter-tables.excludes',
|
|
35
|
-
'system_auth,system_traces,reaper_db,system_distributed,system_views,system,system_schema,system_virtual_schema').split(',')]
|
|
36
|
-
batching = Config().get('cql.alter-tables.batching', True)
|
|
37
|
-
tables = get_tables(state, on_any=True)
|
|
38
|
-
for k, v in tables.items():
|
|
39
|
-
if k not in excludes or k == 'reaper_db' and include_reaper:
|
|
40
|
-
if batching:
|
|
41
|
-
# alter table <table_name> with GC_GRACE_SECONDS = <timeout>;
|
|
42
|
-
cql = ';\n'.join([f'alter table {k}.{t} with {arg_str}' for t in v])
|
|
43
|
-
with log_exc(True):
|
|
44
|
-
with cassandra(state) as pods:
|
|
45
|
-
pods.cql(cql, show_out=Config().is_debug(), show_query=not Config().is_debug(), on_any=True)
|
|
46
|
-
continue
|
|
47
|
-
else:
|
|
48
|
-
for t in v:
|
|
49
|
-
with log_exc(True):
|
|
50
|
-
# alter table <table_name> with GC_GRACE_SECONDS = <timeout>;
|
|
51
|
-
cql = f'alter table {k}.{t} with {arg_str}'
|
|
52
|
-
with cassandra(state) as pods:
|
|
53
|
-
pods.cql(show_out=Config().is_debug(), show_query=not Config().is_debug(), on_any=True)
|
|
54
|
-
continue
|
|
55
|
-
|
|
56
|
-
log2(f'{len(v)} tables altered in {k}.')
|
|
57
|
-
|
|
58
|
-
# do not continue to cql route
|
|
59
|
-
return state
|
|
60
|
-
|
|
61
|
-
def completion(self, _: ReplState) -> dict[str, any]:
|
|
62
|
-
# auto completion is taken care of by sql completer
|
|
63
|
-
return {}
|
|
64
|
-
|
|
65
|
-
def help(self, _: ReplState) -> str:
|
|
66
|
-
return f'{AlterTables.COMMAND} <param = value> [--include-reaper] \t alter schema on all tables'
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
from adam.commands.command import Command
|
|
2
|
-
from adam.commands.devices.devices import Devices
|
|
3
|
-
from adam.config import Config
|
|
4
|
-
from adam.pod_exec_result import PodExecResult
|
|
5
|
-
from adam.utils import log2
|
|
6
|
-
from adam.utils_k8s.cassandra_nodes import CassandraNodes
|
|
7
|
-
from adam.repl_state import ReplState, RequiredState
|
|
8
|
-
from adam.utils_k8s.pods import Pods
|
|
9
|
-
|
|
10
|
-
class DownloadCassandraLog(Command):
|
|
11
|
-
COMMAND = 'download cassandra log'
|
|
12
|
-
|
|
13
|
-
# the singleton pattern
|
|
14
|
-
def __new__(cls, *args, **kwargs):
|
|
15
|
-
if not hasattr(cls, 'instance'): cls.instance = super(DownloadCassandraLog, cls).__new__(cls)
|
|
16
|
-
|
|
17
|
-
return cls.instance
|
|
18
|
-
|
|
19
|
-
def __init__(self, successor: Command=None):
|
|
20
|
-
super().__init__(successor)
|
|
21
|
-
|
|
22
|
-
def command(self):
|
|
23
|
-
return DownloadCassandraLog.COMMAND
|
|
24
|
-
|
|
25
|
-
def required(self):
|
|
26
|
-
return RequiredState.POD
|
|
27
|
-
|
|
28
|
-
def run(self, cmd: str, state: ReplState):
|
|
29
|
-
if not(args := self.args(cmd)):
|
|
30
|
-
return super().run(cmd, state)
|
|
31
|
-
|
|
32
|
-
with self.validate(args, state) as (args, state):
|
|
33
|
-
path = Config().get('logs.path', '/c3/cassandra/logs/system.log')
|
|
34
|
-
r: PodExecResult = CassandraNodes.exec(state.pod, state.namespace, f'cat {path}', backgrounded=True, no_history=True)
|
|
35
|
-
|
|
36
|
-
to_file = Pods.download_file(state.pod, 'cassandra', state.namespace, path)
|
|
37
|
-
log2(f'Downloaded to {to_file}.')
|
|
38
|
-
|
|
39
|
-
return r
|
|
40
|
-
|
|
41
|
-
def completion(self, state: ReplState):
|
|
42
|
-
return super().completion(state, pods=Devices.of(state).pods(state, '-'), auto='jit')
|
|
43
|
-
|
|
44
|
-
def help(self, _: ReplState):
|
|
45
|
-
return f'{DownloadCassandraLog.COMMAND}\t download cassandra system log'
|