kaqing 2.0.56__tar.gz → 2.0.58__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.

Potentially problematic release.


This version of kaqing might be problematic. Click here for more details.

Files changed (188) hide show
  1. {kaqing-2.0.56 → kaqing-2.0.58}/PKG-INFO +1 -1
  2. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cd.py +2 -1
  3. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/ls.py +1 -1
  4. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/secrets.py +2 -0
  5. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/statefulsets.py +2 -2
  6. {kaqing-2.0.56 → kaqing-2.0.58}/adam/repl.py +16 -12
  7. {kaqing-2.0.56 → kaqing-2.0.58}/adam/repl_state.py +25 -2
  8. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sql/sql_completer.py +370 -231
  9. kaqing-2.0.58/adam/version.py +5 -0
  10. {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/PKG-INFO +1 -1
  11. {kaqing-2.0.56 → kaqing-2.0.58}/setup.py +1 -1
  12. kaqing-2.0.56/adam/version.py +0 -5
  13. {kaqing-2.0.56 → kaqing-2.0.58}/README +0 -0
  14. {kaqing-2.0.56 → kaqing-2.0.58}/adam/__init__.py +0 -0
  15. {kaqing-2.0.56 → kaqing-2.0.58}/adam/app_session.py +0 -0
  16. {kaqing-2.0.56 → kaqing-2.0.58}/adam/apps.py +0 -0
  17. {kaqing-2.0.56 → kaqing-2.0.58}/adam/batch.py +0 -0
  18. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/__init__.py +0 -0
  19. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/check.py +0 -0
  20. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/check_context.py +0 -0
  21. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/check_result.py +0 -0
  22. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/check_utils.py +0 -0
  23. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/compactionstats.py +0 -0
  24. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/cpu.py +0 -0
  25. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/disk.py +0 -0
  26. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/gossip.py +0 -0
  27. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/issue.py +0 -0
  28. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/memory.py +0 -0
  29. {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/status.py +0 -0
  30. {kaqing-2.0.56 → kaqing-2.0.58}/adam/cli.py +0 -0
  31. {kaqing-2.0.56 → kaqing-2.0.58}/adam/cli_group.py +0 -0
  32. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/__init__.py +0 -0
  33. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/column.py +0 -0
  34. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/columns.py +0 -0
  35. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/compactions.py +0 -0
  36. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/cpu.py +0 -0
  37. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/dir_data.py +0 -0
  38. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/dir_snapshots.py +0 -0
  39. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/gossip.py +0 -0
  40. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/host_id.py +0 -0
  41. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/memory.py +0 -0
  42. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_address.py +0 -0
  43. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_load.py +0 -0
  44. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_owns.py +0 -0
  45. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_status.py +0 -0
  46. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_tokens.py +0 -0
  47. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_utils.py +0 -0
  48. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/pod_name.py +0 -0
  49. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/volume_cassandra.py +0 -0
  50. {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/volume_root.py +0 -0
  51. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/__init__.py +0 -0
  52. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/alter_tables.py +0 -0
  53. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/app.py +0 -0
  54. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/app_ping.py +0 -0
  55. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/bash.py +0 -0
  56. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/check.py +0 -0
  57. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cli_commands.py +0 -0
  58. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/command.py +0 -0
  59. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/command_helpers.py +0 -0
  60. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/commands_utils.py +0 -0
  61. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cp.py +0 -0
  62. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/__init__.py +0 -0
  63. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/cql_completions.py +0 -0
  64. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/cql_table_completer.py +0 -0
  65. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/cql_utils.py +0 -0
  66. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/cqlsh.py +0 -0
  67. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/__init__.py +0 -0
  68. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/code_start.py +0 -0
  69. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/code_stop.py +0 -0
  70. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/code_utils.py +0 -0
  71. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy.py +0 -0
  72. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy_frontend.py +0 -0
  73. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy_pg_agent.py +0 -0
  74. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy_pod.py +0 -0
  75. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy_utils.py +0 -0
  76. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/undeploy.py +0 -0
  77. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/undeploy_frontend.py +0 -0
  78. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/undeploy_pg_agent.py +0 -0
  79. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/undeploy_pod.py +0 -0
  80. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/__init__.py +0 -0
  81. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe.py +0 -0
  82. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe_keyspace.py +0 -0
  83. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe_keyspaces.py +0 -0
  84. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe_table.py +0 -0
  85. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe_tables.py +0 -0
  86. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/devices.py +0 -0
  87. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/exit.py +0 -0
  88. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/help.py +0 -0
  89. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/issues.py +0 -0
  90. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/login.py +0 -0
  91. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/logs.py +0 -0
  92. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/__init__.py +0 -0
  93. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa.py +0 -0
  94. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa_backup.py +0 -0
  95. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa_restore.py +0 -0
  96. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa_show_backupjobs.py +0 -0
  97. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa_show_restorejobs.py +0 -0
  98. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/nodetool.py +0 -0
  99. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/nodetool_commands.py +0 -0
  100. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/param_get.py +0 -0
  101. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/param_set.py +0 -0
  102. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/__init__.py +0 -0
  103. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres.py +0 -0
  104. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres_ls.py +0 -0
  105. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres_preview.py +0 -0
  106. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres_session.py +0 -0
  107. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres_utils.py +0 -0
  108. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/psql_completions.py +0 -0
  109. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/psql_table_completer.py +0 -0
  110. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/preview_table.py +0 -0
  111. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/pwd.py +0 -0
  112. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/__init__.py +0 -0
  113. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper.py +0 -0
  114. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_forward.py +0 -0
  115. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_forward_stop.py +0 -0
  116. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_restart.py +0 -0
  117. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_run_abort.py +0 -0
  118. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_runs.py +0 -0
  119. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_runs_abort.py +0 -0
  120. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_schedule_activate.py +0 -0
  121. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_schedule_start.py +0 -0
  122. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_schedule_stop.py +0 -0
  123. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_schedules.py +0 -0
  124. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_session.py +0 -0
  125. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_status.py +0 -0
  126. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/__init__.py +0 -0
  127. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair.py +0 -0
  128. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair_log.py +0 -0
  129. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair_run.py +0 -0
  130. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair_scan.py +0 -0
  131. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair_stop.py +0 -0
  132. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/report.py +0 -0
  133. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/restart.py +0 -0
  134. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/rollout.py +0 -0
  135. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/shell.py +0 -0
  136. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/__init__.py +0 -0
  137. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show.py +0 -0
  138. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_adam.py +0 -0
  139. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_app_actions.py +0 -0
  140. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_app_id.py +0 -0
  141. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_app_queues.py +0 -0
  142. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_cassandra_status.py +0 -0
  143. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_cassandra_version.py +0 -0
  144. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_commands.py +0 -0
  145. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_login.py +0 -0
  146. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_params.py +0 -0
  147. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_processes.py +0 -0
  148. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_repairs.py +0 -0
  149. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_storage.py +0 -0
  150. {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/watch.py +0 -0
  151. {kaqing-2.0.56 → kaqing-2.0.58}/adam/config.py +0 -0
  152. {kaqing-2.0.56 → kaqing-2.0.58}/adam/embedded_apps.py +0 -0
  153. {kaqing-2.0.56 → kaqing-2.0.58}/adam/embedded_params.py +0 -0
  154. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/__init__.py +0 -0
  155. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/cassandra_clusters.py +0 -0
  156. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/cassandra_nodes.py +0 -0
  157. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/config_maps.py +0 -0
  158. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/custom_resources.py +0 -0
  159. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/deployment.py +0 -0
  160. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/ingresses.py +0 -0
  161. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/jobs.py +0 -0
  162. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/kube_context.py +0 -0
  163. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/pods.py +0 -0
  164. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/service_accounts.py +0 -0
  165. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/services.py +0 -0
  166. {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/volumes.py +0 -0
  167. {kaqing-2.0.56 → kaqing-2.0.58}/adam/log.py +0 -0
  168. {kaqing-2.0.56 → kaqing-2.0.58}/adam/pod_exec_result.py +0 -0
  169. {kaqing-2.0.56 → kaqing-2.0.58}/adam/repl_commands.py +0 -0
  170. {kaqing-2.0.56 → kaqing-2.0.58}/adam/repl_session.py +0 -0
  171. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sql/__init__.py +0 -0
  172. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sql/term_completer.py +0 -0
  173. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/__init__.py +0 -0
  174. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/authenticator.py +0 -0
  175. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/authn_ad.py +0 -0
  176. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/authn_okta.py +0 -0
  177. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/cred_cache.py +0 -0
  178. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/id_token.py +0 -0
  179. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/idp.py +0 -0
  180. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/idp_login.py +0 -0
  181. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/idp_session.py +0 -0
  182. {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/sso_config.py +0 -0
  183. {kaqing-2.0.56 → kaqing-2.0.58}/adam/utils.py +0 -0
  184. {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/SOURCES.txt +0 -0
  185. {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/dependency_links.txt +0 -0
  186. {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/entry_points.txt +0 -0
  187. {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/top_level.txt +0 -0
  188. {kaqing-2.0.56 → kaqing-2.0.58}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kaqing
3
- Version: 2.0.56
3
+ Version: 2.0.58
4
4
  Summary: UNKNOWN
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -72,7 +72,8 @@ class Cd(Command):
72
72
  if not state.sts:
73
73
  ss_and_ns = dir.split('@')
74
74
  state.sts = ss_and_ns[0]
75
- state.namespace = ss_and_ns[1]
75
+ if len(ss_and_ns) > 1:
76
+ state.namespace = ss_and_ns[1]
76
77
  elif not state.pod:
77
78
  p, _ = KubeContext.is_pod_name(dir)
78
79
  if p:
@@ -86,7 +86,7 @@ class Ls(Command):
86
86
  return state
87
87
 
88
88
  def show_statefulsets(self):
89
- ss = StatefulSets.list_sts_names(show_namespace=not KubeContext.in_cluster_namespace())
89
+ ss = StatefulSets.list_sts_names()
90
90
  if len(ss) == 0:
91
91
  log2('No cassandra statefulsets found.')
92
92
  return
@@ -10,6 +10,8 @@ from adam.utils import log2
10
10
  # utility collection on secrets; methods are all static
11
11
  class Secrets:
12
12
  def list_secrets(namespace: str = None, name_pattern: str = None):
13
+ Config().wait_log('Inspecting Cassandra Instances...')
14
+
13
15
  secrets_names = []
14
16
 
15
17
  v1 = client.CoreV1Api()
@@ -28,8 +28,8 @@ class StatefulSets:
28
28
  def list_sts_name_and_ns():
29
29
  return [(statefulset.metadata.name, statefulset.metadata.namespace) for statefulset in StatefulSets.list_sts()]
30
30
 
31
- def list_sts_names(show_namespace = True):
32
- if show_namespace:
31
+ def list_sts_names():
32
+ if not KubeContext.in_cluster_namespace():
33
33
  return [f"{sts}@{ns}" for sts, ns in StatefulSets.list_sts_name_and_ns()]
34
34
  else:
35
35
  return [f"{sts}" for sts, _ in StatefulSets.list_sts_name_and_ns()]
@@ -61,26 +61,30 @@ def enter_repl(state: ReplState):
61
61
  return f"{msg}$ " if state.bash_session else f"{msg}> "
62
62
 
63
63
  Log.log2(f'kaqing {__version__}')
64
- ss = StatefulSets.list_sts_name_and_ns()
65
64
 
66
65
  if state.device == ReplState.C:
66
+ ss = StatefulSets.list_sts_name_and_ns()
67
67
  if not ss:
68
68
  raise Exception("no Cassandra clusters found")
69
- elif len(ss) == 1 and Config().get('repl.auto-enter-only-cluster', True):
69
+ elif not state.sts and len(ss) == 1 and Config().get('repl.auto-enter-only-cluster', True):
70
70
  cluster = ss[0]
71
71
  state.sts = cluster[0]
72
72
  state.namespace = cluster[1]
73
- Config().wait_log(f'Moving to the only Cassandra cluster: {state.sts}@{state.namespace}...')
73
+ if KubeContext().in_cluster_namespace:
74
+ Config().wait_log(f'Moving to the only Cassandra cluster: {state.sts}...')
75
+ else:
76
+ Config().wait_log(f'Moving to the only Cassandra cluster: {state.sts}@{state.namespace}...')
74
77
  elif state.device == ReplState.A:
75
- if app := Config().get('repl.auto-enter-app', 'c3/c3'):
76
- if app != 'no':
77
- ea = app.split('/')
78
- state.app_env = ea[0]
79
- if len(ea) > 1:
80
- state.app_app = ea[1]
81
- Config().wait_log(f'Moving to {state.app_env}/{state.app_app}...')
82
- else:
83
- Config().wait_log(f'Moving to {state.app_env}...')
78
+ if not state.app_env:
79
+ if app := Config().get('repl.auto-enter-app', 'c3/c3'):
80
+ if app != 'no':
81
+ ea = app.split('/')
82
+ state.app_env = ea[0]
83
+ if len(ea) > 1:
84
+ state.app_app = ea[1]
85
+ Config().wait_log(f'Moving to {state.app_env}/{state.app_app}...')
86
+ else:
87
+ Config().wait_log(f'Moving to {state.app_env}...')
84
88
 
85
89
  kb = KeyBindings()
86
90
 
@@ -1,5 +1,6 @@
1
1
  import copy
2
2
  from enum import Enum
3
+ import re
3
4
 
4
5
  from adam.commands.postgres.postgres_session import PostgresSession
5
6
  from adam.k8s_utils.cassandra_clusters import CassandraClusters
@@ -128,8 +129,30 @@ class ReplState:
128
129
  if index < 6:
129
130
  state = copy.copy(state)
130
131
 
131
- if arg in [f'{ReplState.A}:', f'{ReplState.C}:', f'{ReplState.P}:']:
132
- state.device = arg.strip(':')
132
+ groups = re.match(r'^([a|c|p]):(.*)$', arg)
133
+ if groups:
134
+ if groups[1] == 'p':
135
+ state.device = 'p'
136
+ state.pg_path = groups[2]
137
+ elif groups[1] == 'c':
138
+ state.device = 'c'
139
+ if path := groups[2]:
140
+ p_and_ns = path.split('@')
141
+ sts_and_pod = p_and_ns[0].split('/')
142
+ state.sts = sts_and_pod[0]
143
+ if len(sts_and_pod) > 1:
144
+ state.pod = sts_and_pod[1]
145
+ if len(p_and_ns) > 1:
146
+ state.namespace = p_and_ns[1]
147
+ elif ns := KubeContext.in_cluster_namespace():
148
+ state.namespace = ns
149
+ else:
150
+ state.device = 'a'
151
+ if path := groups[2]:
152
+ env_and_app = path.split('/')
153
+ state.app_env = env_and_app[0]
154
+ if len(env_and_app) > 1:
155
+ state.app_app = env_and_app[1]
133
156
  else:
134
157
  new_args.append(arg)
135
158
  else: