kaqing 2.0.8__py3-none-any.whl → 2.0.10__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.
- adam/commands/deploy/deploy_pod.py +20 -9
- adam/commands/deploy/deploy_utils.py +21 -6
- adam/commands/deploy/undeploy_pod.py +5 -20
- adam/utils.py +2 -2
- adam/version.py +1 -1
- {kaqing-2.0.8.dist-info → kaqing-2.0.10.dist-info}/METADATA +1 -1
- {kaqing-2.0.8.dist-info → kaqing-2.0.10.dist-info}/RECORD +10 -10
- {kaqing-2.0.8.dist-info → kaqing-2.0.10.dist-info}/WHEEL +0 -0
- {kaqing-2.0.8.dist-info → kaqing-2.0.10.dist-info}/entry_points.txt +0 -0
- {kaqing-2.0.8.dist-info → kaqing-2.0.10.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@ from kubernetes import client
|
|
2
2
|
import yaml
|
3
3
|
|
4
4
|
from adam.commands.command import Command
|
5
|
-
from adam.commands.deploy.deploy_utils import deploy_frontend, gen_labels
|
5
|
+
from adam.commands.deploy.deploy_utils import creating, deploy_frontend, gen_labels
|
6
6
|
from adam.config import Config
|
7
7
|
from adam.k8s_utils.config_maps import ConfigMaps
|
8
8
|
from adam.k8s_utils.deployment import Deployments
|
@@ -48,7 +48,11 @@ class DeployPod(Command):
|
|
48
48
|
additional_cluster_roles = Config().get('pod.sa.additional-cluster-roles', 'c3aiops-k8ssandra-operator').split(',')
|
49
49
|
label_selector = Config().get('pod.label-selector', 'run=ops')
|
50
50
|
labels = gen_labels(label_selector)
|
51
|
-
|
51
|
+
|
52
|
+
creating('service account', lambda: ServiceAccounts.replicate(sa_name,
|
53
|
+
state.namespace,
|
54
|
+
sa_proto, labels=labels,
|
55
|
+
add_cluster_roles=additional_cluster_roles))
|
52
56
|
|
53
57
|
settings_filename = 'settings.yaml'
|
54
58
|
settings_path = f'/kaqing/{settings_filename}'
|
@@ -68,9 +72,13 @@ class DeployPod(Command):
|
|
68
72
|
return state
|
69
73
|
|
70
74
|
cm_name = Config().get('pod.cm.name', 'ops')
|
71
|
-
|
75
|
+
map_data = {
|
72
76
|
settings_filename : settings_data
|
73
|
-
}
|
77
|
+
}
|
78
|
+
creating('config map', lambda: ConfigMaps.create(cm_name,
|
79
|
+
state.namespace,
|
80
|
+
map_data,
|
81
|
+
labels=labels))
|
74
82
|
|
75
83
|
pod_name = Config().get('pod.name', 'ops')
|
76
84
|
image = Config().get('pod.image', 'seanahnsf/kaqing')
|
@@ -79,11 +87,14 @@ class DeployPod(Command):
|
|
79
87
|
add=["SYS_PTRACE"]
|
80
88
|
)
|
81
89
|
)
|
82
|
-
Deployments.create(state.namespace,
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
90
|
+
creating('deployment', lambda: Deployments.create(state.namespace,
|
91
|
+
pod_name,
|
92
|
+
image,
|
93
|
+
env={'NAMESPACE': state.namespace},
|
94
|
+
container_security_context=security_context,
|
95
|
+
labels=labels,
|
96
|
+
sa_name=sa_name,
|
97
|
+
config_map_mount=ConfigMapMount(cm_name, settings_filename, settings_path)))
|
87
98
|
|
88
99
|
uri = deploy_frontend(pod_name, state.namespace, label_selector)
|
89
100
|
|
@@ -1,24 +1,39 @@
|
|
1
|
+
from typing import Callable
|
1
2
|
from adam.app_session import AppSession
|
2
3
|
from adam.k8s_utils.ingresses import Ingresses
|
3
4
|
from adam.k8s_utils.services import Services
|
5
|
+
from adam.utils import log2
|
4
6
|
|
5
7
|
def deploy_frontend(name: str, namespace: str, label_selector: str):
|
6
8
|
app_session: AppSession = AppSession.create('c3', 'c3', namespace)
|
7
9
|
port = 7678
|
8
10
|
labels = gen_labels(label_selector)
|
9
|
-
Services.create_service(name, namespace, port, labels, labels=labels)
|
10
|
-
Ingresses.create_ingress(name, namespace, app_session.host, '/c3/c3/ops($|/)', port, annotations={
|
11
|
+
creating('service', lambda: Services.create_service(name, namespace, port, labels, labels=labels))
|
12
|
+
creating('ingress', lambda: Ingresses.create_ingress(name, namespace, app_session.host, '/c3/c3/ops($|/)', port, annotations={
|
11
13
|
'kubernetes.io/ingress.class': 'nginx',
|
12
14
|
'nginx.ingress.kubernetes.io/use-regex': 'true',
|
13
15
|
'nginx.ingress.kubernetes.io/rewrite-target': '/'
|
14
|
-
}, labels=labels)
|
16
|
+
}, labels=labels))
|
15
17
|
|
16
18
|
return f'https://{app_session.host}/c3/c3/ops'
|
17
19
|
|
18
20
|
def undeploy_frontend(namespace: str, label_selector: str):
|
19
|
-
Ingresses.delete_ingresses(namespace, label_selector=label_selector)
|
20
|
-
Services.delete_services(namespace, label_selector=label_selector)
|
21
|
+
deleting('ingress', lambda: Ingresses.delete_ingresses(namespace, label_selector=label_selector))
|
22
|
+
deleting('service', lambda: Services.delete_services(namespace, label_selector=label_selector))
|
21
23
|
|
22
24
|
def gen_labels(label_selector: str):
|
23
25
|
kv = label_selector.split('=')
|
24
|
-
return {kv[0]: kv[1]}
|
26
|
+
return {kv[0]: kv[1]}
|
27
|
+
|
28
|
+
def creating(name: str, body: Callable[[], None]):
|
29
|
+
log2(f'Creating {name}...', nl=False)
|
30
|
+
body()
|
31
|
+
log2(' OK')
|
32
|
+
|
33
|
+
def deleting(name: str, body: Callable[[], None]):
|
34
|
+
try:
|
35
|
+
log2(f'Deleting {name}...', nl=False)
|
36
|
+
body()
|
37
|
+
log2(' OK')
|
38
|
+
except Exception as e:
|
39
|
+
log2(e)
|
@@ -1,13 +1,11 @@
|
|
1
1
|
from adam.commands.command import Command
|
2
|
-
from adam.commands.deploy.deploy_utils import undeploy_frontend
|
2
|
+
from adam.commands.deploy.deploy_utils import undeploy_frontend, deleting
|
3
3
|
from adam.config import Config
|
4
4
|
from adam.k8s_utils.config_maps import ConfigMaps
|
5
5
|
from adam.k8s_utils.deployment import Deployments
|
6
|
-
from adam.k8s_utils.kube_context import KubeContext
|
7
6
|
from adam.k8s_utils.pods import Pods
|
8
7
|
from adam.k8s_utils.service_accounts import ServiceAccounts
|
9
8
|
from adam.repl_state import ReplState, RequiredState
|
10
|
-
from adam.utils import log2
|
11
9
|
|
12
10
|
class UndeployPod(Command):
|
13
11
|
COMMAND = 'undeploy pod'
|
@@ -36,23 +34,10 @@ class UndeployPod(Command):
|
|
36
34
|
return state
|
37
35
|
|
38
36
|
label_selector = Config().get('pod.label-selector', 'run=ops')
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
try:
|
44
|
-
ConfigMaps.delete_with_selector(state.namespace, label_selector)
|
45
|
-
except Exception as e:
|
46
|
-
log2(e)
|
47
|
-
try:
|
48
|
-
Deployments.delete_with_selector(state.namespace, label_selector, grace_period_seconds=0)
|
49
|
-
except Exception as e:
|
50
|
-
log2(e)
|
51
|
-
# instantly destroy the pod
|
52
|
-
try:
|
53
|
-
Pods.delete_with_selector(state.namespace, label_selector, grace_period_seconds=0)
|
54
|
-
except Exception as e:
|
55
|
-
log2(e)
|
37
|
+
deleting('service account', lambda: ServiceAccounts.delete(state.namespace, label_selector=label_selector))
|
38
|
+
deleting('config map', lambda: ConfigMaps.delete_with_selector(state.namespace, label_selector))
|
39
|
+
deleting('deployment', lambda: Deployments.delete_with_selector(state.namespace, label_selector, grace_period_seconds=0))
|
40
|
+
deleting('pod', lambda: Pods.delete_with_selector(state.namespace, label_selector, grace_period_seconds=0))
|
56
41
|
undeploy_frontend(state.namespace, label_selector)
|
57
42
|
|
58
43
|
return state
|
adam/utils.py
CHANGED
adam/version.py
CHANGED
@@ -13,8 +13,8 @@ adam/repl.py,sha256=5uGsu24qVAfATHIRdLJ4er44_9uUnVZ14pr-VXCILI0,7224
|
|
13
13
|
adam/repl_commands.py,sha256=ionPWjPhzrzm59zbhO1WsGGcLVba3bnPl6uPjvQ4C34,4093
|
14
14
|
adam/repl_session.py,sha256=uIogcvWBh7wd8QQ-p_JgLsyJ8YJgINw5vOd6JIsd7Vo,472
|
15
15
|
adam/repl_state.py,sha256=QarrUAwYWOz3YTemtaf2opbHLa5a3LEsyuonNwhvOhk,7131
|
16
|
-
adam/utils.py,sha256
|
17
|
-
adam/version.py,sha256=
|
16
|
+
adam/utils.py,sha256=-O47UmVG8S5N2LHAOE-UTMBHJOS_mXufU8ncupeNCHc,7043
|
17
|
+
adam/version.py,sha256=mdh9nkCtfE5P1TzFCTOQm8r-WNZbAQ4HdoCY0lVpGQY,139
|
18
18
|
adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
19
|
adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
|
20
20
|
adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
|
@@ -83,11 +83,11 @@ adam/commands/deploy/code_stop.py,sha256=ch7ZMgosvTHsGaIcDwQY5XYh_5HYrUjBkZFOI-d
|
|
83
83
|
adam/commands/deploy/code_utils.py,sha256=5Gp4U8HzKpPkbkHDU7whlvGOK-wWaAbCIIGzVoN9hio,3296
|
84
84
|
adam/commands/deploy/deploy.py,sha256=_y_pSBHIEVMTgjDqEZwvmGfLQBirHBH4sCnsl0CKOM8,1792
|
85
85
|
adam/commands/deploy/deploy_frontend.py,sha256=TSvMTy6uUfOBIV96hKFy-M1hNCE6OeRW9M_dj1ZJsv0,1700
|
86
|
-
adam/commands/deploy/deploy_pod.py,sha256=
|
87
|
-
adam/commands/deploy/deploy_utils.py,sha256
|
86
|
+
adam/commands/deploy/deploy_pod.py,sha256=epK2FSnO4jqm7VHNID6gETvlhOs9CWVlTj1I_htDA_g,4403
|
87
|
+
adam/commands/deploy/deploy_utils.py,sha256=daJhX2kCg5aGt4ZLQdz5AbR-AS7q2y-bZNVxHzP708c,1524
|
88
88
|
adam/commands/deploy/undeploy.py,sha256=CNgbB00TR1YRgX0xGgdGAT8YNPlcLssMsRX-pSby-Ao,1842
|
89
89
|
adam/commands/deploy/undeploy_frontend.py,sha256=mbHlWb5UHUVpR1trfflCS_TDip7eAqxqoZ47RzRZcno,1257
|
90
|
-
adam/commands/deploy/undeploy_pod.py,sha256=
|
90
|
+
adam/commands/deploy/undeploy_pod.py,sha256=k4O0JuVsY4h2jT_mZPM6Q8GqfSz02VAQLAYmd0FCVT8,1901
|
91
91
|
adam/commands/medusa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
92
92
|
adam/commands/medusa/medusa.py,sha256=Y_yyOZRb6u45wfTVBRp3kuklyYDTSlaAJQdAiymP_8M,2185
|
93
93
|
adam/commands/medusa/medusa_backup.py,sha256=j4DTVWFT-4rzs4gG_pBvjE-JuPsVCJIsnyQjIzJ4EbA,1801
|
@@ -158,8 +158,8 @@ adam/sso/idp.py,sha256=fvcwUw_URTgsO6ySaqTIw0zQT2qRO1IPSGhf6rPtybo,5804
|
|
158
158
|
adam/sso/idp_login.py,sha256=QAtCUeDTVWliJy40RK_oac8Vgybr13xH8wzeBoxPaa8,1754
|
159
159
|
adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
|
160
160
|
adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
|
161
|
-
kaqing-2.0.
|
162
|
-
kaqing-2.0.
|
163
|
-
kaqing-2.0.
|
164
|
-
kaqing-2.0.
|
165
|
-
kaqing-2.0.
|
161
|
+
kaqing-2.0.10.dist-info/METADATA,sha256=cyvtgygs4hoOrrjd_CvFT7NvAJKxu0F6G_taMWsdcv4,132
|
162
|
+
kaqing-2.0.10.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
163
|
+
kaqing-2.0.10.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
|
164
|
+
kaqing-2.0.10.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
|
165
|
+
kaqing-2.0.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|