kaqing 2.0.8__tar.gz → 2.0.9__tar.gz

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.
Files changed (171) hide show
  1. {kaqing-2.0.8 → kaqing-2.0.9}/PKG-INFO +1 -1
  2. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/deploy_pod.py +20 -9
  3. kaqing-2.0.9/adam/commands/deploy/deploy_utils.py +39 -0
  4. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/undeploy_pod.py +5 -20
  5. {kaqing-2.0.8 → kaqing-2.0.9}/adam/utils.py +2 -2
  6. kaqing-2.0.9/adam/version.py +5 -0
  7. {kaqing-2.0.8 → kaqing-2.0.9}/kaqing.egg-info/PKG-INFO +1 -1
  8. {kaqing-2.0.8 → kaqing-2.0.9}/setup.py +1 -1
  9. kaqing-2.0.8/adam/commands/deploy/deploy_utils.py +0 -24
  10. kaqing-2.0.8/adam/version.py +0 -5
  11. {kaqing-2.0.8 → kaqing-2.0.9}/README +0 -0
  12. {kaqing-2.0.8 → kaqing-2.0.9}/adam/__init__.py +0 -0
  13. {kaqing-2.0.8 → kaqing-2.0.9}/adam/app_session.py +0 -0
  14. {kaqing-2.0.8 → kaqing-2.0.9}/adam/apps.py +0 -0
  15. {kaqing-2.0.8 → kaqing-2.0.9}/adam/batch.py +0 -0
  16. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/__init__.py +0 -0
  17. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/check.py +0 -0
  18. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/check_context.py +0 -0
  19. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/check_result.py +0 -0
  20. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/check_utils.py +0 -0
  21. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/compactionstats.py +0 -0
  22. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/cpu.py +0 -0
  23. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/disk.py +0 -0
  24. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/gossip.py +0 -0
  25. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/issue.py +0 -0
  26. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/memory.py +0 -0
  27. {kaqing-2.0.8 → kaqing-2.0.9}/adam/checks/status.py +0 -0
  28. {kaqing-2.0.8 → kaqing-2.0.9}/adam/cli.py +0 -0
  29. {kaqing-2.0.8 → kaqing-2.0.9}/adam/cli_group.py +0 -0
  30. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/__init__.py +0 -0
  31. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/column.py +0 -0
  32. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/columns.py +0 -0
  33. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/compactions.py +0 -0
  34. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/cpu.py +0 -0
  35. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/dir_data.py +0 -0
  36. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/dir_snapshots.py +0 -0
  37. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/gossip.py +0 -0
  38. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/host_id.py +0 -0
  39. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/memory.py +0 -0
  40. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/node_address.py +0 -0
  41. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/node_load.py +0 -0
  42. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/node_owns.py +0 -0
  43. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/node_status.py +0 -0
  44. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/node_tokens.py +0 -0
  45. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/node_utils.py +0 -0
  46. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/pod_name.py +0 -0
  47. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/volume_cassandra.py +0 -0
  48. {kaqing-2.0.8 → kaqing-2.0.9}/adam/columns/volume_root.py +0 -0
  49. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/__init__.py +0 -0
  50. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/app.py +0 -0
  51. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/app_ping.py +0 -0
  52. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/bash.py +0 -0
  53. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/cd.py +0 -0
  54. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/check.py +0 -0
  55. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/cli_commands.py +0 -0
  56. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/command.py +0 -0
  57. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/command_helpers.py +0 -0
  58. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/commands_utils.py +0 -0
  59. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/cp.py +0 -0
  60. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/cql_utils.py +0 -0
  61. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/cqlsh.py +0 -0
  62. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/__init__.py +0 -0
  63. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/code_start.py +0 -0
  64. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/code_stop.py +0 -0
  65. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/code_utils.py +0 -0
  66. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/deploy.py +0 -0
  67. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/deploy_frontend.py +0 -0
  68. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/undeploy.py +0 -0
  69. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/deploy/undeploy_frontend.py +0 -0
  70. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/devices.py +0 -0
  71. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/exit.py +0 -0
  72. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/help.py +0 -0
  73. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/issues.py +0 -0
  74. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/login.py +0 -0
  75. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/logs.py +0 -0
  76. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/ls.py +0 -0
  77. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/medusa/__init__.py +0 -0
  78. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/medusa/medusa.py +0 -0
  79. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/medusa/medusa_backup.py +0 -0
  80. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/medusa/medusa_restore.py +0 -0
  81. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/medusa/medusa_show_backupjobs.py +0 -0
  82. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/medusa/medusa_show_restorejobs.py +0 -0
  83. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/nodetool.py +0 -0
  84. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/nodetool_commands.py +0 -0
  85. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/param_get.py +0 -0
  86. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/param_set.py +0 -0
  87. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/postgres/__init__.py +0 -0
  88. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/postgres/postgres.py +0 -0
  89. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/postgres/postgres_ls.py +0 -0
  90. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/postgres/postgres_preview.py +0 -0
  91. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/postgres/postgres_session.py +0 -0
  92. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/preview_table.py +0 -0
  93. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/pwd.py +0 -0
  94. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/__init__.py +0 -0
  95. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper.py +0 -0
  96. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_forward.py +0 -0
  97. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_forward_stop.py +0 -0
  98. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_restart.py +0 -0
  99. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_run_abort.py +0 -0
  100. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_runs.py +0 -0
  101. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_runs_abort.py +0 -0
  102. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_schedule_activate.py +0 -0
  103. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_schedule_start.py +0 -0
  104. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_schedule_stop.py +0 -0
  105. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_schedules.py +0 -0
  106. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_session.py +0 -0
  107. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/reaper/reaper_status.py +0 -0
  108. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/repair/__init__.py +0 -0
  109. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/repair/repair.py +0 -0
  110. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/repair/repair_log.py +0 -0
  111. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/repair/repair_run.py +0 -0
  112. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/repair/repair_scan.py +0 -0
  113. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/repair/repair_stop.py +0 -0
  114. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/report.py +0 -0
  115. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/restart.py +0 -0
  116. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/rollout.py +0 -0
  117. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/shell.py +0 -0
  118. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/__init__.py +0 -0
  119. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show.py +0 -0
  120. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_adam.py +0 -0
  121. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_app_actions.py +0 -0
  122. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_app_id.py +0 -0
  123. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_app_queues.py +0 -0
  124. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_cassandra_status.py +0 -0
  125. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_cassandra_version.py +0 -0
  126. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_commands.py +0 -0
  127. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_login.py +0 -0
  128. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_params.py +0 -0
  129. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_processes.py +0 -0
  130. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_repairs.py +0 -0
  131. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/show/show_storage.py +0 -0
  132. {kaqing-2.0.8 → kaqing-2.0.9}/adam/commands/watch.py +0 -0
  133. {kaqing-2.0.8 → kaqing-2.0.9}/adam/config.py +0 -0
  134. {kaqing-2.0.8 → kaqing-2.0.9}/adam/embedded_apps.py +0 -0
  135. {kaqing-2.0.8 → kaqing-2.0.9}/adam/embedded_params.py +0 -0
  136. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/__init__.py +0 -0
  137. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/cassandra_clusters.py +0 -0
  138. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/cassandra_nodes.py +0 -0
  139. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/config_maps.py +0 -0
  140. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/custom_resources.py +0 -0
  141. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/deployment.py +0 -0
  142. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/ingresses.py +0 -0
  143. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/jobs.py +0 -0
  144. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/kube_context.py +0 -0
  145. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/pods.py +0 -0
  146. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/secrets.py +0 -0
  147. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/service_accounts.py +0 -0
  148. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/services.py +0 -0
  149. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/statefulsets.py +0 -0
  150. {kaqing-2.0.8 → kaqing-2.0.9}/adam/k8s_utils/volumes.py +0 -0
  151. {kaqing-2.0.8 → kaqing-2.0.9}/adam/log.py +0 -0
  152. {kaqing-2.0.8 → kaqing-2.0.9}/adam/pod_exec_result.py +0 -0
  153. {kaqing-2.0.8 → kaqing-2.0.9}/adam/repl.py +0 -0
  154. {kaqing-2.0.8 → kaqing-2.0.9}/adam/repl_commands.py +0 -0
  155. {kaqing-2.0.8 → kaqing-2.0.9}/adam/repl_session.py +0 -0
  156. {kaqing-2.0.8 → kaqing-2.0.9}/adam/repl_state.py +0 -0
  157. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/__init__.py +0 -0
  158. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/authenticator.py +0 -0
  159. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/authn_ad.py +0 -0
  160. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/authn_okta.py +0 -0
  161. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/cred_cache.py +0 -0
  162. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/id_token.py +0 -0
  163. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/idp.py +0 -0
  164. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/idp_login.py +0 -0
  165. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/idp_session.py +0 -0
  166. {kaqing-2.0.8 → kaqing-2.0.9}/adam/sso/sso_config.py +0 -0
  167. {kaqing-2.0.8 → kaqing-2.0.9}/kaqing.egg-info/SOURCES.txt +0 -0
  168. {kaqing-2.0.8 → kaqing-2.0.9}/kaqing.egg-info/dependency_links.txt +0 -0
  169. {kaqing-2.0.8 → kaqing-2.0.9}/kaqing.egg-info/entry_points.txt +0 -0
  170. {kaqing-2.0.8 → kaqing-2.0.9}/kaqing.egg-info/top_level.txt +0 -0
  171. {kaqing-2.0.8 → kaqing-2.0.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kaqing
3
- Version: 2.0.8
3
+ Version: 2.0.9
4
4
  Summary: UNKNOWN
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -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
- ServiceAccounts.replicate(sa_name, state.namespace, sa_proto, labels=labels, add_cluster_roles=additional_cluster_roles)
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
- ConfigMaps.create(cm_name, state.namespace, {
75
+ map_data = {
72
76
  settings_filename : settings_data
73
- }, labels=labels)
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, pod_name, image,
83
- env={'NAMESPACE': state.namespace},
84
- container_security_context=security_context,
85
- labels=labels, sa_name=sa_name,
86
- config_map_mount=ConfigMapMount(cm_name, settings_filename, settings_path))
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
 
@@ -0,0 +1,39 @@
1
+ from typing import Callable
2
+ from adam.app_session import AppSession
3
+ from adam.k8s_utils.ingresses import Ingresses
4
+ from adam.k8s_utils.services import Services
5
+ from adam.utils import log2
6
+
7
+ def deploy_frontend(name: str, namespace: str, label_selector: str):
8
+ app_session: AppSession = AppSession.create('c3', 'c3', namespace)
9
+ port = 7678
10
+ labels = gen_labels(label_selector)
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={
13
+ 'kubernetes.io/ingress.class': 'nginx',
14
+ 'nginx.ingress.kubernetes.io/use-regex': 'true',
15
+ 'nginx.ingress.kubernetes.io/rewrite-target': '/'
16
+ }, labels=labels))
17
+
18
+ return f'https://{app_session.host}/c3/c3/ops'
19
+
20
+ def undeploy_frontend(namespace: str, label_selector: str):
21
+ deleting('ingress', lambda: Ingresses.delete_ingresses(namespace, label_selector=label_selector))
22
+ deleting('service', lambda: Services.delete_services(namespace, label_selector=label_selector))
23
+
24
+ def gen_labels(label_selector: str):
25
+ kv = label_selector.split('=')
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
- try:
40
- ServiceAccounts.delete(state.namespace, label_selector=label_selector)
41
- except Exception as e:
42
- log2(e)
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
@@ -76,9 +76,9 @@ def log(s = None):
76
76
  else:
77
77
  click.echo(s)
78
78
 
79
- def log2(s = None):
79
+ def log2(s = None, nl = True):
80
80
  if s:
81
- click.echo(s, err=True)
81
+ click.echo(s, err=True, nl=nl)
82
82
  else:
83
83
  print(file=sys.stderr)
84
84
 
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ __version__ = "2.0.9" #: the working version
5
+ __release__ = "1.0.0" #: the release version
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kaqing
3
- Version: 2.0.8
3
+ Version: 2.0.9
4
4
  Summary: UNKNOWN
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='kaqing',
5
- version='2.0.8',
5
+ version='2.0.9',
6
6
  packages=find_packages(),
7
7
  entry_points={
8
8
  'console_scripts': [
@@ -1,24 +0,0 @@
1
- from adam.app_session import AppSession
2
- from adam.k8s_utils.ingresses import Ingresses
3
- from adam.k8s_utils.services import Services
4
-
5
- def deploy_frontend(name: str, namespace: str, label_selector: str):
6
- app_session: AppSession = AppSession.create('c3', 'c3', namespace)
7
- port = 7678
8
- 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
- 'kubernetes.io/ingress.class': 'nginx',
12
- 'nginx.ingress.kubernetes.io/use-regex': 'true',
13
- 'nginx.ingress.kubernetes.io/rewrite-target': '/'
14
- }, labels=labels)
15
-
16
- return f'https://{app_session.host}/c3/c3/ops'
17
-
18
- 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
-
22
- def gen_labels(label_selector: str):
23
- kv = label_selector.split('=')
24
- return {kv[0]: kv[1]}
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- __version__ = "2.0.8" #: the working version
5
- __release__ = "1.0.0" #: the release version
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes