paasta-tools 1.29.0__py3-none-any.whl → 1.30.0__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.
Files changed (61) hide show
  1. paasta_tools/__init__.py +1 -1
  2. paasta_tools/cli/cmds/remote_run.py +120 -9
  3. paasta_tools/kubernetes/remote_run.py +42 -20
  4. {paasta_tools-1.29.0.dist-info → paasta_tools-1.30.0.dist-info}/METADATA +1 -1
  5. {paasta_tools-1.29.0.dist-info → paasta_tools-1.30.0.dist-info}/RECORD +61 -61
  6. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/apply_external_resources.py +0 -0
  7. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/bounce_log_latency_parser.py +0 -0
  8. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_autoscaler_max_instances.py +0 -0
  9. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_cassandracluster_services_replication.py +0 -0
  10. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_flink_services_health.py +0 -0
  11. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_kubernetes_api.py +0 -0
  12. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_kubernetes_services_replication.py +0 -0
  13. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_manual_oapi_changes.sh +0 -0
  14. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_oom_events.py +0 -0
  15. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_orphans.py +0 -0
  16. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/check_spark_jobs.py +0 -0
  17. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/cleanup_kubernetes_cr.py +0 -0
  18. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/cleanup_kubernetes_crd.py +0 -0
  19. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/cleanup_kubernetes_jobs.py +0 -0
  20. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/create_dynamodb_table.py +0 -0
  21. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/create_paasta_playground.py +0 -0
  22. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/delete_kubernetes_deployments.py +0 -0
  23. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/emit_allocated_cpu_metrics.py +0 -0
  24. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/generate_all_deployments +0 -0
  25. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/generate_authenticating_services.py +0 -0
  26. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/generate_deployments_for_service.py +0 -0
  27. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/generate_services_file.py +0 -0
  28. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/generate_services_yaml.py +0 -0
  29. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/get_running_task_allocation.py +0 -0
  30. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/habitat_fixer.py +0 -0
  31. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/ide_helper.py +0 -0
  32. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/is_pod_healthy_in_proxy.py +0 -0
  33. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/is_pod_healthy_in_smartstack.py +0 -0
  34. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/kill_bad_containers.py +0 -0
  35. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/kubernetes_remove_evicted_pods.py +0 -0
  36. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/mass-deploy-tag.sh +0 -0
  37. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/mock_patch_checker.py +0 -0
  38. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/paasta_cleanup_remote_run_resources.py +0 -0
  39. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/paasta_cleanup_stale_nodes.py +0 -0
  40. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/paasta_deploy_tron_jobs +0 -0
  41. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/paasta_execute_docker_command.py +0 -0
  42. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/paasta_secrets_sync.py +0 -0
  43. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/paasta_tabcomplete.sh +0 -0
  44. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/paasta_update_soa_memcpu.py +0 -0
  45. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/render_template.py +0 -0
  46. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/rightsizer_soaconfigs_update.py +0 -0
  47. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/service_shard_remove.py +0 -0
  48. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/service_shard_update.py +0 -0
  49. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/setup_istio_mesh.py +0 -0
  50. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/setup_kubernetes_cr.py +0 -0
  51. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/setup_kubernetes_crd.py +0 -0
  52. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/setup_kubernetes_internal_crd.py +0 -0
  53. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/setup_kubernetes_job.py +0 -0
  54. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/setup_prometheus_adapter_config.py +0 -0
  55. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/shared_ip_check.py +0 -0
  56. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/synapse_srv_namespaces_fact.py +0 -0
  57. {paasta_tools-1.29.0.data → paasta_tools-1.30.0.data}/scripts/timeouts_metrics_prom.py +0 -0
  58. {paasta_tools-1.29.0.dist-info → paasta_tools-1.30.0.dist-info}/WHEEL +0 -0
  59. {paasta_tools-1.29.0.dist-info → paasta_tools-1.30.0.dist-info}/entry_points.txt +0 -0
  60. {paasta_tools-1.29.0.dist-info → paasta_tools-1.30.0.dist-info}/licenses/LICENSE +0 -0
  61. {paasta_tools-1.29.0.dist-info → paasta_tools-1.30.0.dist-info}/top_level.txt +0 -0
paasta_tools/__init__.py CHANGED
@@ -17,4 +17,4 @@
17
17
  # setup phase, the dependencies may not exist on disk yet.
18
18
  #
19
19
  # Don't bump version manually. See `make release` docs in ./Makefile
20
- __version__ = "1.29.0"
20
+ __version__ = "1.30.0"
@@ -14,6 +14,7 @@
14
14
  # limitations under the License.
15
15
  import argparse
16
16
  import json
17
+ import os
17
18
  import shutil
18
19
  import subprocess
19
20
  import sys
@@ -24,6 +25,8 @@ from paasta_tools.cli.utils import get_paasta_oapi_api_clustername
24
25
  from paasta_tools.cli.utils import get_paasta_oapi_client_with_auth
25
26
  from paasta_tools.cli.utils import lazy_choices_completer
26
27
  from paasta_tools.cli.utils import run_interactive_cli
28
+ from paasta_tools.kubernetes.remote_run import format_remote_run_job_name
29
+ from paasta_tools.kubernetes.remote_run import load_eks_or_adhoc_deployment_config
27
30
  from paasta_tools.kubernetes.remote_run import TOOLBOX_MOCK_SERVICE
28
31
  from paasta_tools.paastaapi.exceptions import ApiException
29
32
  from paasta_tools.paastaapi.model.remote_run_start import RemoteRunStart
@@ -39,12 +42,15 @@ from paasta_tools.utils import SystemPaastaConfig
39
42
  KUBECTL_EXEC_CMD_TEMPLATE = (
40
43
  "{kubectl_wrapper} --token {token} exec -it -n {namespace} {pod} -- /bin/bash"
41
44
  )
45
+ KUBECTL_CP_TO_CMD_TEMPLATE = (
46
+ "{kubectl_wrapper} --token {token} -n {namespace} cp {source} {pod}:{dest}"
47
+ )
48
+ KUBECTL_CP_FROM_CMD_TEMPLATE = (
49
+ "{kubectl_wrapper} --token {token} -n {namespace} cp {pod}:{source} {dest}"
50
+ )
42
51
  KUBECTL_LOGS_CMD_TEMPLATE = (
43
52
  "{kubectl_wrapper} --token {token} logs -n {namespace} -f {pod}"
44
53
  )
45
- KUBECTL_CP_CMD_TEMPLATE = (
46
- "{kubectl_wrapper} --token {token} -n {namespace} cp {filename} {pod}:/tmp/"
47
- )
48
54
 
49
55
 
50
56
  def _list_services_and_toolboxes() -> List[str]:
@@ -62,6 +68,13 @@ def _list_services_and_toolboxes() -> List[str]:
62
68
  )
63
69
 
64
70
 
71
+ def _get_kubectl_wrapper(cluster: str) -> str:
72
+ kubectl_wrapper = f"kubectl-eks-{cluster}"
73
+ if not shutil.which(kubectl_wrapper):
74
+ kubectl_wrapper = f"kubectl-{cluster}"
75
+ return kubectl_wrapper
76
+
77
+
65
78
  def parse_error(body: str) -> str:
66
79
  try:
67
80
  body_object = json.loads(body)
@@ -74,6 +87,81 @@ def parse_error(body: str) -> str:
74
87
  )
75
88
 
76
89
 
90
+ def paasta_remote_run_copy(
91
+ args: argparse.Namespace,
92
+ system_paasta_config: SystemPaastaConfig,
93
+ ) -> int:
94
+ client = get_paasta_oapi_client_with_auth(
95
+ cluster=get_paasta_oapi_api_clustername(cluster=args.cluster, is_eks=True),
96
+ system_paasta_config=system_paasta_config,
97
+ )
98
+ if not client:
99
+ print("Cannot get a paasta-api client")
100
+ return 1
101
+
102
+ # Create the config and extract the job name
103
+ user = get_username()
104
+ deployment_config = load_eks_or_adhoc_deployment_config(
105
+ args.service, args.instance, args.cluster, args.is_toolbox, user
106
+ )
107
+ deployment_name = deployment_config.get_sanitised_deployment_name()
108
+ job_name = format_remote_run_job_name(deployment_name, user)
109
+
110
+ poll_response = client.remote_run.remote_run_poll(
111
+ service=args.service,
112
+ instance=args.instance,
113
+ job_name=job_name,
114
+ user=user,
115
+ toolbox=args.toolbox,
116
+ )
117
+ if poll_response.status != 200:
118
+ print(
119
+ f"Unable to find running remote-run pod: have you started one with `paasta remote-run start`?"
120
+ )
121
+ return 1
122
+
123
+ if args.to_pod:
124
+ # Create the toolbox copy command
125
+ exec_command = f"scp -A {args.copy_file_source} {poll_response.pod_address}:{args.copy_file_dest}"
126
+ # Pick the correct template and force /tmp/ for non-toolbox
127
+ kubectl_cp_template = KUBECTL_CP_TO_CMD_TEMPLATE
128
+ if not args.copy_file_dest.startswith("/tmp") and not args.toolbox:
129
+ args.copy_file_dest = os.path.join("/tmp/", args.copy_file_dest)
130
+ else:
131
+ exec_command = f"scp -A {poll_response.pod_address}:{args.copy_file_source} {args.copy_file_dest}"
132
+ kubectl_cp_template = KUBECTL_CP_FROM_CMD_TEMPLATE
133
+
134
+ # Kubectl cp doesnt like directories as a destination
135
+ if os.path.isdir(args.copy_file_dest):
136
+ args.copy_file_dest = os.path.join(
137
+ args.copy_file_dest, os.path.basename(args.copy_file_source)
138
+ )
139
+
140
+ if args.toolbox:
141
+ cp_command = exec_command.split(" ")
142
+ else:
143
+ token_response = client.remote_run.remote_run_token(
144
+ args.service, args.instance, user
145
+ )
146
+ kubectl_wrapper = _get_kubectl_wrapper(args.cluster)
147
+ cp_command = kubectl_cp_template.format(
148
+ kubectl_wrapper=kubectl_wrapper,
149
+ namespace=poll_response.namespace,
150
+ pod=poll_response.pod_name,
151
+ source=args.copy_file_source,
152
+ dest=args.copy_file_dest,
153
+ token=token_response.token,
154
+ ).split(" ")
155
+ call = subprocess.run(cp_command, capture_output=True)
156
+ if call.returncode != 0:
157
+ print("Error copying file from remote-run pod: ", file=sys.stderr)
158
+ print(call.stderr.decode("utf-8"), file=sys.stderr)
159
+ return 1
160
+ print(f"{args.copy_file_source} successfully copied to {args.copy_file_dest}")
161
+
162
+ return 0
163
+
164
+
77
165
  def paasta_remote_run_start(
78
166
  args: argparse.Namespace,
79
167
  system_paasta_config: SystemPaastaConfig,
@@ -87,7 +175,6 @@ def paasta_remote_run_start(
87
175
  if not client:
88
176
  print("Cannot get a paasta-api client")
89
177
  return 1
90
-
91
178
  user = get_username()
92
179
  try:
93
180
  start_response = client.remote_run.remote_run_start(
@@ -152,9 +239,7 @@ def paasta_remote_run_start(
152
239
  token_response = client.remote_run.remote_run_token(
153
240
  args.service, args.instance, user
154
241
  )
155
- kubectl_wrapper = f"kubectl-eks-{args.cluster}"
156
- if not shutil.which(kubectl_wrapper):
157
- kubectl_wrapper = f"kubectl-{args.cluster}"
242
+ kubectl_wrapper = _get_kubectl_wrapper(args.cluster)
158
243
  exec_command = (
159
244
  KUBECTL_LOGS_CMD_TEMPLATE if args.follow else KUBECTL_EXEC_CMD_TEMPLATE
160
245
  ).format(
@@ -166,11 +251,12 @@ def paasta_remote_run_start(
166
251
 
167
252
  if args.copy_file:
168
253
  for filename in args.copy_file:
169
- cp_command = KUBECTL_CP_CMD_TEMPLATE.format(
254
+ cp_command = KUBECTL_CP_TO_CMD_TEMPLATE.format(
170
255
  kubectl_wrapper=kubectl_wrapper,
171
256
  namespace=poll_response.namespace,
172
257
  pod=poll_response.pod_name,
173
- filename=filename,
258
+ source=filename,
259
+ dest=os.path.join("/tmp", filename),
174
260
  token=token_response.token,
175
261
  ).split(" ")
176
262
  call = subprocess.run(cp_command, capture_output=True)
@@ -318,8 +404,31 @@ def add_subparser(subparsers: argparse._SubParsersAction) -> None:
318
404
  description="Stop your remote-run job if it exists",
319
405
  formatter_class=argparse.ArgumentDefaultsHelpFormatter,
320
406
  )
407
+ copy_parser = subparsers.add_parser(
408
+ "copy",
409
+ help="Copy a file from a running remote-run job",
410
+ description="Copy a file from a running remote-run job",
411
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
412
+ )
413
+ copy_parser.add_argument(
414
+ "copy_file_source",
415
+ help="Location of the file within the pod",
416
+ type=str,
417
+ )
418
+ copy_parser.add_argument(
419
+ "copy_file_dest",
420
+ help="Location on the local host to copy the file to",
421
+ type=str,
422
+ )
423
+ copy_parser.add_argument(
424
+ "--to-pod",
425
+ help="Copy a file to the pod instead of from the pod",
426
+ action="store_true",
427
+ default=False,
428
+ )
321
429
  add_common_args_to_parser(start_parser)
322
430
  add_common_args_to_parser(stop_parser)
431
+ add_common_args_to_parser(copy_parser)
323
432
  remote_run_parser.set_defaults(command=paasta_remote_run)
324
433
 
325
434
 
@@ -329,4 +438,6 @@ def paasta_remote_run(args: argparse.Namespace) -> int:
329
438
  return paasta_remote_run_start(args, system_paasta_config)
330
439
  elif args.remote_run_command == "stop":
331
440
  return paasta_remote_run_stop(args, system_paasta_config)
441
+ elif args.remote_run_command == "copy":
442
+ return paasta_remote_run_copy(args, system_paasta_config)
332
443
  raise ValueError(f"Unsupported subcommand: {args.remote_run_command}")
@@ -44,7 +44,7 @@ from paasta_tools.kubernetes_tools import KubeClient
44
44
  from paasta_tools.kubernetes_tools import limit_size_with_hash
45
45
  from paasta_tools.kubernetes_tools import paasta_prefixed
46
46
  from paasta_tools.utils import load_system_paasta_config
47
-
47
+ from paasta_tools.utils import NoConfigurationForServiceError
48
48
 
49
49
  logger = logging.getLogger(__name__)
50
50
  REMOTE_RUN_JOB_LABEL = "remote-run"
@@ -66,8 +66,8 @@ class RemoteRunOutcome(TypedDict, total=False):
66
66
  namespace: str
67
67
 
68
68
 
69
- def _format_remote_run_job_name(
70
- job: V1Job,
69
+ def format_remote_run_job_name(
70
+ job_name: str,
71
71
  user: str,
72
72
  ) -> str:
73
73
  """Format name for remote run job
@@ -76,7 +76,35 @@ def _format_remote_run_job_name(
76
76
  :param str user: the user requesting the remote-run
77
77
  :return: job name
78
78
  """
79
- return limit_size_with_hash(f"remote-run-{user}-{job.metadata.name}")
79
+ return limit_size_with_hash(f"remote-run-{user}-{job_name}")
80
+
81
+
82
+ def load_eks_or_adhoc_deployment_config(
83
+ service: str,
84
+ instance: str,
85
+ cluster: str,
86
+ is_toolbox: bool = False,
87
+ user: Optional[str] = None,
88
+ ) -> EksDeploymentConfig:
89
+ assert user or not is_toolbox, "User required for toolbox deployment"
90
+ try:
91
+ deployment_config = (
92
+ generate_toolbox_deployment(service, cluster, user)
93
+ if is_toolbox
94
+ else load_eks_service_config(service, instance, cluster)
95
+ )
96
+ except NoConfigurationForServiceError:
97
+ # Perhaps they are trying to use an adhoc instance
98
+ deployment_config = load_adhoc_job_config(service, instance, cluster)
99
+ deployment_config = EksDeploymentConfig(
100
+ service,
101
+ cluster,
102
+ instance,
103
+ config_dict=deployment_config.config_dict,
104
+ branch_dict=deployment_config.branch_dict,
105
+ )
106
+ deployment_config.config_filename_prefix = "adhoc"
107
+ return deployment_config
80
108
 
81
109
 
82
110
  def remote_run_start(
@@ -106,10 +134,8 @@ def remote_run_start(
106
134
  kube_client = KubeClient()
107
135
 
108
136
  # Load the service deployment settings
109
- deployment_config = (
110
- generate_toolbox_deployment(service, cluster, user)
111
- if is_toolbox
112
- else load_eks_service_config(service, instance, cluster)
137
+ deployment_config = load_eks_or_adhoc_deployment_config(
138
+ service, instance, cluster, is_toolbox, user
113
139
  )
114
140
 
115
141
  # Set override command, or sleep for interactive mode
@@ -124,7 +150,7 @@ def remote_run_start(
124
150
  deadline_seconds=max_duration,
125
151
  keep_routable_ip=is_toolbox,
126
152
  )
127
- job_name = _format_remote_run_job_name(formatted_job, user)
153
+ job_name = format_remote_run_job_name(formatted_job.metadata.name, user)
128
154
  formatted_job.metadata.name = job_name
129
155
  app_wrapper = get_application_wrapper(formatted_job)
130
156
  app_wrapper.soa_config = deployment_config
@@ -182,10 +208,8 @@ def remote_run_ready(
182
208
  kube_client = KubeClient()
183
209
 
184
210
  # Load the service deployment settings
185
- deployment_config = (
186
- generate_toolbox_deployment(service, cluster, user)
187
- if is_toolbox
188
- else load_eks_service_config(service, instance, cluster)
211
+ deployment_config = load_eks_or_adhoc_deployment_config(
212
+ service, instance, cluster, is_toolbox, user
189
213
  )
190
214
  namespace = deployment_config.get_namespace()
191
215
 
@@ -229,17 +253,15 @@ def remote_run_stop(
229
253
  kube_client = KubeClient()
230
254
 
231
255
  # Load the service deployment settings
232
- deployment_config = (
233
- generate_toolbox_deployment(service, cluster, user)
234
- if is_toolbox
235
- else load_eks_service_config(service, instance, cluster)
256
+ deployment_config = load_eks_or_adhoc_deployment_config(
257
+ service, instance, cluster, is_toolbox, user
236
258
  )
237
259
 
238
260
  # Rebuild the job metadata
239
261
  formatted_job = deployment_config.format_kubernetes_job(
240
262
  job_label=REMOTE_RUN_JOB_LABEL
241
263
  )
242
- job_name = _format_remote_run_job_name(formatted_job, user)
264
+ job_name = format_remote_run_job_name(formatted_job.metadata.name, user)
243
265
  formatted_job.metadata.name = job_name
244
266
 
245
267
  # Stop the job
@@ -267,14 +289,14 @@ def remote_run_token(
267
289
  kube_client = KubeClient()
268
290
 
269
291
  # Load the service deployment settings
270
- deployment_config = load_eks_service_config(service, instance, cluster)
292
+ deployment_config = load_eks_or_adhoc_deployment_config(service, instance, cluster)
271
293
  namespace = deployment_config.get_namespace()
272
294
 
273
295
  # Rebuild the job metadata
274
296
  formatted_job = deployment_config.format_kubernetes_job(
275
297
  job_label=REMOTE_RUN_JOB_LABEL
276
298
  )
277
- job_name = _format_remote_run_job_name(formatted_job, user)
299
+ job_name = format_remote_run_job_name(formatted_job.metadata.name, user)
278
300
 
279
301
  # Find pod and create exec token for it
280
302
  pod = find_job_pod(kube_client, namespace, job_name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.29.0
3
+ Version: 1.30.0
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
@@ -1,7 +1,7 @@
1
1
  k8s_itests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  k8s_itests/test_autoscaling.py,sha256=gX30L1wG1sDBaM0wE2aYR4OqHPSLvQBZ6LV0mLTrXZA,536
3
3
  k8s_itests/utils.py,sha256=PNibpYR0-g8Jcts9CjpkNb3oVzmdk9tZQrrNRuATCCM,966
4
- paasta_tools/__init__.py,sha256=AanzgrIQClkX8SLxSEFVqBZPEavBkOSKicms9QbgoMY,865
4
+ paasta_tools/__init__.py,sha256=Jkva4h9a48xoGLwDsPc7oUToxs1gXB4kH3ttduLpxD0,865
5
5
  paasta_tools/adhoc_tools.py,sha256=OfhyZwilB93kNX8r4Nq_KyZCvsZ4rNX-FBcQAi41KCM,4751
6
6
  paasta_tools/apply_external_resources.py,sha256=DHZJ8zkGQKTBR6Ku2lNxnrdHo8rD7PD0rZEN2yloOn8,3375
7
7
  paasta_tools/async_utils.py,sha256=ELB2qHP-F2IlMes-kxgy5q9PRUSUTZ-AKw5hQ2K0l_E,3514
@@ -132,7 +132,7 @@ paasta_tools/cli/cmds/mark_for_deployment.py,sha256=mlb2BJECJnvbzAY7nTVly_kA5pNh
132
132
  paasta_tools/cli/cmds/mesh_status.py,sha256=PRhUVeDqURVm1RtiCH5Hcj7OUOqvkOTfa_JsCyCmyDg,6125
133
133
  paasta_tools/cli/cmds/pause_service_autoscaler.py,sha256=3Ie0wTkpRkl-Uja33WzWkPmBa5EJcPxMNAcZ8_P1LSo,3494
134
134
  paasta_tools/cli/cmds/push_to_registry.py,sha256=F7hWPY7MFtqznUfmJoQ0QPc5zAF5BS30_FWdQOrIqME,9736
135
- paasta_tools/cli/cmds/remote_run.py,sha256=hlJXCdT4pnvb6uvM-WsqU1V937PuwszJwhUZmXRrmU0,11792
135
+ paasta_tools/cli/cmds/remote_run.py,sha256=zOAVT6Jw5DbCBzrWoNSGXOQya-VM7Lm-zfL-k3VNe5U,15988
136
136
  paasta_tools/cli/cmds/rollback.py,sha256=_42IwJaCXzo8e_GRbjImeG-7_o4ZGUMqX6meLRXD10Y,13841
137
137
  paasta_tools/cli/cmds/secret.py,sha256=onVUKyh4uuxBHLcBQcMYH_1uBbRjJrnPa5nMwHGzDSk,19709
138
138
  paasta_tools/cli/cmds/security_check.py,sha256=IEtcM0Hv2BWcavCjWcnPbyfrLcCRYC8jHLiHDj020z4,2377
@@ -192,7 +192,7 @@ paasta_tools/instance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
192
192
  paasta_tools/instance/hpa_metrics_parser.py,sha256=IsAYHSITL0z7LZUPC7gFj8oeASBx_Ad4bj5507irLx8,4371
193
193
  paasta_tools/instance/kubernetes.py,sha256=clFyPvkOrk3OA4GkQCmuYF5yzLnZ8P46FI1iViUynwY,47729
194
194
  paasta_tools/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
- paasta_tools/kubernetes/remote_run.py,sha256=tiipbpml9IZ-Om2hLABwOvDGpcnghxsCtb_9PMsUj3A,18037
195
+ paasta_tools/kubernetes/remote_run.py,sha256=CtzCdQ2iw6Zpjy9ku_e3QTcw0qmbeA9Kpuw36i1BNso,18934
196
196
  paasta_tools/kubernetes/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
197
  paasta_tools/kubernetes/application/controller_wrappers.py,sha256=H43lZoTIT94ZAU6ZSBGc21YzVkJuxPtA5Y3MSJYJ3k4,19292
198
198
  paasta_tools/kubernetes/application/tools.py,sha256=-qbkn4ynM_LFa-NfiDMFZ3G4jty93DWKbx3_Go3OIIo,3618
@@ -292,61 +292,61 @@ paasta_tools/tron/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
292
292
  paasta_tools/tron/client.py,sha256=ypWjM4bZCzQWLn-qe1driqAxvF0ux8dROuFUv63dryA,5562
293
293
  paasta_tools/tron/tron_command_context.py,sha256=c6mph_DAt7pjcE3Uo271haJ0DfxJzfvcRhR2o-UmOeY,5379
294
294
  paasta_tools/tron/tron_timeutils.py,sha256=vDn04K7A3Xbs3lM04EgLuViC8AavOc5qyo8J5MC5nLk,3054
295
- paasta_tools-1.29.0.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
296
- paasta_tools-1.29.0.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
297
- paasta_tools-1.29.0.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
298
- paasta_tools-1.29.0.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
299
- paasta_tools-1.29.0.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
300
- paasta_tools-1.29.0.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
301
- paasta_tools-1.29.0.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
302
- paasta_tools-1.29.0.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
303
- paasta_tools-1.29.0.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
304
- paasta_tools-1.29.0.data/scripts/check_orphans.py,sha256=zVC5ShFY7LUnPDUytRNsMgvqXkECHvyZlc3qZMpxLko,9985
305
- paasta_tools-1.29.0.data/scripts/check_spark_jobs.py,sha256=pVUdWmZSBuh4CbpW7cZ1Loq8FX0QFS0LQk2b24TGRyE,7317
306
- paasta_tools-1.29.0.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
307
- paasta_tools-1.29.0.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
308
- paasta_tools-1.29.0.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
309
- paasta_tools-1.29.0.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
310
- paasta_tools-1.29.0.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
311
- paasta_tools-1.29.0.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
312
- paasta_tools-1.29.0.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
313
- paasta_tools-1.29.0.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
314
- paasta_tools-1.29.0.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
315
- paasta_tools-1.29.0.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
316
- paasta_tools-1.29.0.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
317
- paasta_tools-1.29.0.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
318
- paasta_tools-1.29.0.data/scripts/get_running_task_allocation.py,sha256=rV2IFGWU2sEYAVDCwKZgeseOAewFzfDiFeCnsPXdGXY,10890
319
- paasta_tools-1.29.0.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
320
- paasta_tools-1.29.0.data/scripts/ide_helper.py,sha256=QUVWxIeh54IhTn3HEhBrmJKvtgw6RDv9smoJ-6pZA4c,12348
321
- paasta_tools-1.29.0.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
322
- paasta_tools-1.29.0.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
323
- paasta_tools-1.29.0.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
324
- paasta_tools-1.29.0.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
325
- paasta_tools-1.29.0.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
326
- paasta_tools-1.29.0.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
327
- paasta_tools-1.29.0.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
328
- paasta_tools-1.29.0.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
329
- paasta_tools-1.29.0.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
330
- paasta_tools-1.29.0.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
331
- paasta_tools-1.29.0.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
332
- paasta_tools-1.29.0.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
333
- paasta_tools-1.29.0.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
334
- paasta_tools-1.29.0.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
335
- paasta_tools-1.29.0.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
336
- paasta_tools-1.29.0.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
337
- paasta_tools-1.29.0.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
338
- paasta_tools-1.29.0.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
339
- paasta_tools-1.29.0.data/scripts/setup_kubernetes_cr.py,sha256=xsZJ_X1YpQ0NExyY1cXFH8KW2_vAgctCwdrW0bu102s,14931
340
- paasta_tools-1.29.0.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
341
- paasta_tools-1.29.0.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
342
- paasta_tools-1.29.0.data/scripts/setup_kubernetes_job.py,sha256=UfcTdlHDl0T0qwHjz2BjRtX1wVV4YwOa1mlyjeY8hfM,17278
343
- paasta_tools-1.29.0.data/scripts/setup_prometheus_adapter_config.py,sha256=51iFbtMu7MZzv9PVuQftJ59BUVBKdeC7G_zkt9-IXdc,40728
344
- paasta_tools-1.29.0.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
345
- paasta_tools-1.29.0.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
346
- paasta_tools-1.29.0.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
347
- paasta_tools-1.29.0.dist-info/licenses/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
348
- paasta_tools-1.29.0.dist-info/METADATA,sha256=PrbDVbS5qW4mCA9EjMzrit95A0JVkA4ZuGo34Soapco,2259
349
- paasta_tools-1.29.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
350
- paasta_tools-1.29.0.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
351
- paasta_tools-1.29.0.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
352
- paasta_tools-1.29.0.dist-info/RECORD,,
295
+ paasta_tools-1.30.0.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
296
+ paasta_tools-1.30.0.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
297
+ paasta_tools-1.30.0.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
298
+ paasta_tools-1.30.0.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
299
+ paasta_tools-1.30.0.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
300
+ paasta_tools-1.30.0.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
301
+ paasta_tools-1.30.0.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
302
+ paasta_tools-1.30.0.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
303
+ paasta_tools-1.30.0.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
304
+ paasta_tools-1.30.0.data/scripts/check_orphans.py,sha256=zVC5ShFY7LUnPDUytRNsMgvqXkECHvyZlc3qZMpxLko,9985
305
+ paasta_tools-1.30.0.data/scripts/check_spark_jobs.py,sha256=pVUdWmZSBuh4CbpW7cZ1Loq8FX0QFS0LQk2b24TGRyE,7317
306
+ paasta_tools-1.30.0.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
307
+ paasta_tools-1.30.0.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
308
+ paasta_tools-1.30.0.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
309
+ paasta_tools-1.30.0.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
310
+ paasta_tools-1.30.0.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
311
+ paasta_tools-1.30.0.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
312
+ paasta_tools-1.30.0.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
313
+ paasta_tools-1.30.0.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
314
+ paasta_tools-1.30.0.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
315
+ paasta_tools-1.30.0.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
316
+ paasta_tools-1.30.0.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
317
+ paasta_tools-1.30.0.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
318
+ paasta_tools-1.30.0.data/scripts/get_running_task_allocation.py,sha256=rV2IFGWU2sEYAVDCwKZgeseOAewFzfDiFeCnsPXdGXY,10890
319
+ paasta_tools-1.30.0.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
320
+ paasta_tools-1.30.0.data/scripts/ide_helper.py,sha256=QUVWxIeh54IhTn3HEhBrmJKvtgw6RDv9smoJ-6pZA4c,12348
321
+ paasta_tools-1.30.0.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
322
+ paasta_tools-1.30.0.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
323
+ paasta_tools-1.30.0.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
324
+ paasta_tools-1.30.0.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
325
+ paasta_tools-1.30.0.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
326
+ paasta_tools-1.30.0.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
327
+ paasta_tools-1.30.0.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
328
+ paasta_tools-1.30.0.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
329
+ paasta_tools-1.30.0.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
330
+ paasta_tools-1.30.0.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
331
+ paasta_tools-1.30.0.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
332
+ paasta_tools-1.30.0.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
333
+ paasta_tools-1.30.0.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
334
+ paasta_tools-1.30.0.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
335
+ paasta_tools-1.30.0.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
336
+ paasta_tools-1.30.0.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
337
+ paasta_tools-1.30.0.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
338
+ paasta_tools-1.30.0.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
339
+ paasta_tools-1.30.0.data/scripts/setup_kubernetes_cr.py,sha256=xsZJ_X1YpQ0NExyY1cXFH8KW2_vAgctCwdrW0bu102s,14931
340
+ paasta_tools-1.30.0.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
341
+ paasta_tools-1.30.0.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
342
+ paasta_tools-1.30.0.data/scripts/setup_kubernetes_job.py,sha256=UfcTdlHDl0T0qwHjz2BjRtX1wVV4YwOa1mlyjeY8hfM,17278
343
+ paasta_tools-1.30.0.data/scripts/setup_prometheus_adapter_config.py,sha256=51iFbtMu7MZzv9PVuQftJ59BUVBKdeC7G_zkt9-IXdc,40728
344
+ paasta_tools-1.30.0.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
345
+ paasta_tools-1.30.0.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
346
+ paasta_tools-1.30.0.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
347
+ paasta_tools-1.30.0.dist-info/licenses/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
348
+ paasta_tools-1.30.0.dist-info/METADATA,sha256=VOelzc51jcIaIKrf2L_8mdT764aDYjJjGMbDyWAOwuQ,2259
349
+ paasta_tools-1.30.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
350
+ paasta_tools-1.30.0.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
351
+ paasta_tools-1.30.0.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
352
+ paasta_tools-1.30.0.dist-info/RECORD,,