paasta-tools 1.21.4__py3-none-any.whl → 1.22.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 (70) hide show
  1. paasta_tools/__init__.py +1 -1
  2. paasta_tools/api/api.py +5 -0
  3. paasta_tools/api/api_docs/swagger.json +92 -0
  4. paasta_tools/api/views/autoscaler.py +122 -0
  5. paasta_tools/cli/cmds/autoscale.py +126 -7
  6. paasta_tools/kubernetes/application/controller_wrappers.py +16 -2
  7. paasta_tools/kubernetes_tools.py +77 -1
  8. paasta_tools/paastaapi/api/autoscaler_api.py +140 -1
  9. paasta_tools/paastaapi/model/autoscaling_override.py +180 -0
  10. paasta_tools/paastaapi/model/inline_response202.py +182 -0
  11. paasta_tools/paastaapi/models/__init__.py +2 -0
  12. paasta_tools/setup_kubernetes_job.py +105 -1
  13. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/setup_kubernetes_job.py +105 -1
  14. {paasta_tools-1.21.4.dist-info → paasta_tools-1.22.0.dist-info}/METADATA +1 -1
  15. {paasta_tools-1.21.4.dist-info → paasta_tools-1.22.0.dist-info}/RECORD +70 -68
  16. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/apply_external_resources.py +0 -0
  17. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/bounce_log_latency_parser.py +0 -0
  18. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_autoscaler_max_instances.py +0 -0
  19. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_cassandracluster_services_replication.py +0 -0
  20. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_flink_services_health.py +0 -0
  21. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_kubernetes_api.py +0 -0
  22. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_kubernetes_services_replication.py +0 -0
  23. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_manual_oapi_changes.sh +0 -0
  24. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_oom_events.py +0 -0
  25. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_orphans.py +0 -0
  26. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/check_spark_jobs.py +0 -0
  27. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/cleanup_kubernetes_cr.py +0 -0
  28. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/cleanup_kubernetes_crd.py +0 -0
  29. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/cleanup_kubernetes_jobs.py +0 -0
  30. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/create_dynamodb_table.py +0 -0
  31. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/create_paasta_playground.py +0 -0
  32. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/delete_kubernetes_deployments.py +0 -0
  33. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/emit_allocated_cpu_metrics.py +0 -0
  34. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/generate_all_deployments +0 -0
  35. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/generate_authenticating_services.py +0 -0
  36. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/generate_deployments_for_service.py +0 -0
  37. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/generate_services_file.py +0 -0
  38. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/generate_services_yaml.py +0 -0
  39. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/get_running_task_allocation.py +0 -0
  40. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/habitat_fixer.py +0 -0
  41. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/ide_helper.py +0 -0
  42. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/is_pod_healthy_in_proxy.py +0 -0
  43. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/is_pod_healthy_in_smartstack.py +0 -0
  44. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/kill_bad_containers.py +0 -0
  45. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/kubernetes_remove_evicted_pods.py +0 -0
  46. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/mass-deploy-tag.sh +0 -0
  47. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/mock_patch_checker.py +0 -0
  48. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/paasta_cleanup_remote_run_resources.py +0 -0
  49. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/paasta_cleanup_stale_nodes.py +0 -0
  50. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/paasta_deploy_tron_jobs +0 -0
  51. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/paasta_execute_docker_command.py +0 -0
  52. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/paasta_secrets_sync.py +0 -0
  53. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/paasta_tabcomplete.sh +0 -0
  54. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/paasta_update_soa_memcpu.py +0 -0
  55. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/render_template.py +0 -0
  56. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/rightsizer_soaconfigs_update.py +0 -0
  57. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/service_shard_remove.py +0 -0
  58. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/service_shard_update.py +0 -0
  59. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/setup_istio_mesh.py +0 -0
  60. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/setup_kubernetes_cr.py +0 -0
  61. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/setup_kubernetes_crd.py +0 -0
  62. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/setup_kubernetes_internal_crd.py +0 -0
  63. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/setup_prometheus_adapter_config.py +0 -0
  64. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/shared_ip_check.py +0 -0
  65. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/synapse_srv_namespaces_fact.py +0 -0
  66. {paasta_tools-1.21.4.data → paasta_tools-1.22.0.data}/scripts/timeouts_metrics_prom.py +0 -0
  67. {paasta_tools-1.21.4.dist-info → paasta_tools-1.22.0.dist-info}/LICENSE +0 -0
  68. {paasta_tools-1.21.4.dist-info → paasta_tools-1.22.0.dist-info}/WHEEL +0 -0
  69. {paasta_tools-1.21.4.dist-info → paasta_tools-1.22.0.dist-info}/entry_points.txt +0 -0
  70. {paasta_tools-1.21.4.dist-info → paasta_tools-1.22.0.dist-info}/top_level.txt +0 -0
@@ -21,9 +21,12 @@ Command line options:
21
21
  - -v, --verbose: Verbose output
22
22
  """
23
23
  import argparse
24
+ import json
24
25
  import logging
25
26
  import sys
27
+ import time
26
28
  import traceback
29
+ from typing import Dict
27
30
  from typing import List
28
31
  from typing import Optional
29
32
  from typing import Sequence
@@ -36,7 +39,11 @@ from paasta_tools.kubernetes.application.controller_wrappers import Application
36
39
  from paasta_tools.kubernetes.application.controller_wrappers import (
37
40
  get_application_wrapper,
38
41
  )
42
+ from paasta_tools.kubernetes_tools import AUTOSCALING_OVERRIDES_CONFIGMAP_NAME
43
+ from paasta_tools.kubernetes_tools import AUTOSCALING_OVERRIDES_CONFIGMAP_NAMESPACE
39
44
  from paasta_tools.kubernetes_tools import ensure_namespace
45
+ from paasta_tools.kubernetes_tools import get_namespaced_configmap
46
+ from paasta_tools.kubernetes_tools import HpaOverride
40
47
  from paasta_tools.kubernetes_tools import InvalidKubernetesConfig
41
48
  from paasta_tools.kubernetes_tools import KubeClient
42
49
  from paasta_tools.kubernetes_tools import KubernetesDeploymentConfig
@@ -129,6 +136,8 @@ def main() -> None:
129
136
  kube_client = KubeClient()
130
137
  service_instances_valid = True
131
138
 
139
+ hpa_overrides = get_hpa_overrides(kube_client)
140
+
132
141
  # validate the service_instance names
133
142
  service_instances_with_valid_names = get_service_instances_with_valid_names(
134
143
  service_instances=args.service_instance_list
@@ -162,6 +171,7 @@ def main() -> None:
162
171
  soa_dir=soa_dir,
163
172
  metrics_interface=deploy_metrics,
164
173
  eks=args.eks,
174
+ hpa_overrides=hpa_overrides,
165
175
  )
166
176
  else:
167
177
  setup_kube_succeeded = False
@@ -239,6 +249,92 @@ def get_kubernetes_deployment_config(
239
249
  return service_instance_configs_list
240
250
 
241
251
 
252
+ def get_hpa_overrides(kube_client: KubeClient) -> Dict[str, Dict[str, HpaOverride]]:
253
+ """
254
+ Load autoscaling overrides from the ConfigMap once.
255
+
256
+ This function reads the "paasta-autoscaling-overrides" ConfigMap in the "paasta" namespace
257
+ and extracts all valid (non-expired) overrides to return a dictionary mapping
258
+ service.instance pairs to override data (currently, just min_instances and when the
259
+ override should expire by).
260
+
261
+ The incoming ConfigMap is expected to have the following format:
262
+ {
263
+ $SERVICE_A.$INSTANCE_A: {
264
+ "min_instances": 2,
265
+ "expire_after": "2023-10-01T00:00:00Z"
266
+ },
267
+ $SERVICE_A.$INSTANCE_B: {
268
+ "min_instances": 3,
269
+ "expire_after": "2023-10-01T00:00:00Z"
270
+ },
271
+ ...
272
+ },
273
+ $SERVICE_B.$INSTANCE_A: {
274
+ "min_instances": 1,
275
+ "expire_after": "2023-10-01T00:00:00Z"
276
+ },
277
+ $SERVICE_B.$INSTANCE_B: {
278
+ "min_instances": 2,
279
+ "expire_after": "2023-10-01T00:00:00Z"
280
+ },
281
+ ...
282
+ }
283
+ """
284
+ overrides: Dict[str, Dict[str, HpaOverride]] = {}
285
+ try:
286
+ configmap = get_namespaced_configmap(
287
+ name=AUTOSCALING_OVERRIDES_CONFIGMAP_NAME,
288
+ namespace=AUTOSCALING_OVERRIDES_CONFIGMAP_NAMESPACE,
289
+ kube_client=kube_client,
290
+ )
291
+
292
+ if configmap.data:
293
+ current_time = time.time()
294
+
295
+ for service_instance, override_json in configmap.data.items():
296
+ try:
297
+ service, instance = service_instance.split(".")
298
+ override_metadata = json.loads(override_json)
299
+ expire_after = override_metadata.get("expire_after")
300
+ min_instances = override_metadata.get("min_instances")
301
+
302
+ if expire_after and min_instances:
303
+ if current_time < expire_after:
304
+ if service not in overrides:
305
+ overrides[service] = {}
306
+
307
+ overrides[service][instance] = {
308
+ "min_instances": min_instances,
309
+ "expire_after": expire_after,
310
+ }
311
+ log.info(
312
+ f"Found valid HPA override for {service}: "
313
+ f"{override_metadata.get('min_instances')} (expires at {expire_after})"
314
+ )
315
+ else:
316
+ log.info(
317
+ f"Ignoring expired HPA override for {service}.{instance}"
318
+ f"(expired at {expire_after})"
319
+ )
320
+ else:
321
+ log.warning(
322
+ f"Invalid HPA override for {service}.{instance}: "
323
+ f"missing 'min_instances' or 'expire_after': {override_metadata}"
324
+ )
325
+ except Exception:
326
+ log.exception(
327
+ f"Error parsing override for {service} - proceeding without overrides for this service."
328
+ )
329
+ except Exception:
330
+ # If ConfigMap doesn't exist or there's an error, just return empty dict
331
+ log.exception(
332
+ f"Unable to load the {AUTOSCALING_OVERRIDES_CONFIGMAP_NAME} ConfigMap - proceeding without overrides"
333
+ )
334
+
335
+ return overrides
336
+
337
+
242
338
  def setup_kube_deployments(
243
339
  kube_client: KubeClient,
244
340
  cluster: str,
@@ -249,6 +345,7 @@ def setup_kube_deployments(
249
345
  soa_dir: str = DEFAULT_SOA_DIR,
250
346
  metrics_interface: metrics_lib.BaseMetrics = metrics_lib.NoMetrics("paasta"),
251
347
  eks: bool = False,
348
+ hpa_overrides: Optional[Dict[str, Dict[str, HpaOverride]]] = None,
252
349
  ) -> bool:
253
350
 
254
351
  if not service_instance_configs_list:
@@ -260,12 +357,17 @@ def setup_kube_deployments(
260
357
  for deployment in existing_kube_deployments
261
358
  }
262
359
 
360
+ hpa_overrides = hpa_overrides or {}
361
+
263
362
  applications = [
264
363
  create_application_object(
265
364
  cluster=cluster,
266
365
  soa_dir=soa_dir,
267
366
  service_instance_config=service_instance,
268
367
  eks=eks,
368
+ hpa_override=hpa_overrides.get(service_instance.service, {}).get(
369
+ service_instance.instance, None
370
+ ),
269
371
  )
270
372
  if service_instance
271
373
  else (_, None)
@@ -337,6 +439,7 @@ def create_application_object(
337
439
  soa_dir: str,
338
440
  service_instance_config: Union[KubernetesDeploymentConfig, EksDeploymentConfig],
339
441
  eks: bool = False,
442
+ hpa_override: Optional[HpaOverride] = None,
340
443
  ) -> Tuple[bool, Optional[Application]]:
341
444
  try:
342
445
  formatted_application = service_instance_config.format_kubernetes_app()
@@ -344,8 +447,9 @@ def create_application_object(
344
447
  log.error(traceback.format_exc())
345
448
  return False, None
346
449
 
347
- app = get_application_wrapper(formatted_application)
450
+ app = get_application_wrapper(formatted_application, hpa_override)
348
451
  app.load_local_config(soa_dir, cluster, eks)
452
+
349
453
  return True, app
350
454
 
351
455
 
@@ -21,9 +21,12 @@ Command line options:
21
21
  - -v, --verbose: Verbose output
22
22
  """
23
23
  import argparse
24
+ import json
24
25
  import logging
25
26
  import sys
27
+ import time
26
28
  import traceback
29
+ from typing import Dict
27
30
  from typing import List
28
31
  from typing import Optional
29
32
  from typing import Sequence
@@ -36,7 +39,11 @@ from paasta_tools.kubernetes.application.controller_wrappers import Application
36
39
  from paasta_tools.kubernetes.application.controller_wrappers import (
37
40
  get_application_wrapper,
38
41
  )
42
+ from paasta_tools.kubernetes_tools import AUTOSCALING_OVERRIDES_CONFIGMAP_NAME
43
+ from paasta_tools.kubernetes_tools import AUTOSCALING_OVERRIDES_CONFIGMAP_NAMESPACE
39
44
  from paasta_tools.kubernetes_tools import ensure_namespace
45
+ from paasta_tools.kubernetes_tools import get_namespaced_configmap
46
+ from paasta_tools.kubernetes_tools import HpaOverride
40
47
  from paasta_tools.kubernetes_tools import InvalidKubernetesConfig
41
48
  from paasta_tools.kubernetes_tools import KubeClient
42
49
  from paasta_tools.kubernetes_tools import KubernetesDeploymentConfig
@@ -129,6 +136,8 @@ def main() -> None:
129
136
  kube_client = KubeClient()
130
137
  service_instances_valid = True
131
138
 
139
+ hpa_overrides = get_hpa_overrides(kube_client)
140
+
132
141
  # validate the service_instance names
133
142
  service_instances_with_valid_names = get_service_instances_with_valid_names(
134
143
  service_instances=args.service_instance_list
@@ -162,6 +171,7 @@ def main() -> None:
162
171
  soa_dir=soa_dir,
163
172
  metrics_interface=deploy_metrics,
164
173
  eks=args.eks,
174
+ hpa_overrides=hpa_overrides,
165
175
  )
166
176
  else:
167
177
  setup_kube_succeeded = False
@@ -239,6 +249,92 @@ def get_kubernetes_deployment_config(
239
249
  return service_instance_configs_list
240
250
 
241
251
 
252
+ def get_hpa_overrides(kube_client: KubeClient) -> Dict[str, Dict[str, HpaOverride]]:
253
+ """
254
+ Load autoscaling overrides from the ConfigMap once.
255
+
256
+ This function reads the "paasta-autoscaling-overrides" ConfigMap in the "paasta" namespace
257
+ and extracts all valid (non-expired) overrides to return a dictionary mapping
258
+ service.instance pairs to override data (currently, just min_instances and when the
259
+ override should expire by).
260
+
261
+ The incoming ConfigMap is expected to have the following format:
262
+ {
263
+ $SERVICE_A.$INSTANCE_A: {
264
+ "min_instances": 2,
265
+ "expire_after": "2023-10-01T00:00:00Z"
266
+ },
267
+ $SERVICE_A.$INSTANCE_B: {
268
+ "min_instances": 3,
269
+ "expire_after": "2023-10-01T00:00:00Z"
270
+ },
271
+ ...
272
+ },
273
+ $SERVICE_B.$INSTANCE_A: {
274
+ "min_instances": 1,
275
+ "expire_after": "2023-10-01T00:00:00Z"
276
+ },
277
+ $SERVICE_B.$INSTANCE_B: {
278
+ "min_instances": 2,
279
+ "expire_after": "2023-10-01T00:00:00Z"
280
+ },
281
+ ...
282
+ }
283
+ """
284
+ overrides: Dict[str, Dict[str, HpaOverride]] = {}
285
+ try:
286
+ configmap = get_namespaced_configmap(
287
+ name=AUTOSCALING_OVERRIDES_CONFIGMAP_NAME,
288
+ namespace=AUTOSCALING_OVERRIDES_CONFIGMAP_NAMESPACE,
289
+ kube_client=kube_client,
290
+ )
291
+
292
+ if configmap.data:
293
+ current_time = time.time()
294
+
295
+ for service_instance, override_json in configmap.data.items():
296
+ try:
297
+ service, instance = service_instance.split(".")
298
+ override_metadata = json.loads(override_json)
299
+ expire_after = override_metadata.get("expire_after")
300
+ min_instances = override_metadata.get("min_instances")
301
+
302
+ if expire_after and min_instances:
303
+ if current_time < expire_after:
304
+ if service not in overrides:
305
+ overrides[service] = {}
306
+
307
+ overrides[service][instance] = {
308
+ "min_instances": min_instances,
309
+ "expire_after": expire_after,
310
+ }
311
+ log.info(
312
+ f"Found valid HPA override for {service}: "
313
+ f"{override_metadata.get('min_instances')} (expires at {expire_after})"
314
+ )
315
+ else:
316
+ log.info(
317
+ f"Ignoring expired HPA override for {service}.{instance}"
318
+ f"(expired at {expire_after})"
319
+ )
320
+ else:
321
+ log.warning(
322
+ f"Invalid HPA override for {service}.{instance}: "
323
+ f"missing 'min_instances' or 'expire_after': {override_metadata}"
324
+ )
325
+ except Exception:
326
+ log.exception(
327
+ f"Error parsing override for {service} - proceeding without overrides for this service."
328
+ )
329
+ except Exception:
330
+ # If ConfigMap doesn't exist or there's an error, just return empty dict
331
+ log.exception(
332
+ f"Unable to load the {AUTOSCALING_OVERRIDES_CONFIGMAP_NAME} ConfigMap - proceeding without overrides"
333
+ )
334
+
335
+ return overrides
336
+
337
+
242
338
  def setup_kube_deployments(
243
339
  kube_client: KubeClient,
244
340
  cluster: str,
@@ -249,6 +345,7 @@ def setup_kube_deployments(
249
345
  soa_dir: str = DEFAULT_SOA_DIR,
250
346
  metrics_interface: metrics_lib.BaseMetrics = metrics_lib.NoMetrics("paasta"),
251
347
  eks: bool = False,
348
+ hpa_overrides: Optional[Dict[str, Dict[str, HpaOverride]]] = None,
252
349
  ) -> bool:
253
350
 
254
351
  if not service_instance_configs_list:
@@ -260,12 +357,17 @@ def setup_kube_deployments(
260
357
  for deployment in existing_kube_deployments
261
358
  }
262
359
 
360
+ hpa_overrides = hpa_overrides or {}
361
+
263
362
  applications = [
264
363
  create_application_object(
265
364
  cluster=cluster,
266
365
  soa_dir=soa_dir,
267
366
  service_instance_config=service_instance,
268
367
  eks=eks,
368
+ hpa_override=hpa_overrides.get(service_instance.service, {}).get(
369
+ service_instance.instance, None
370
+ ),
269
371
  )
270
372
  if service_instance
271
373
  else (_, None)
@@ -337,6 +439,7 @@ def create_application_object(
337
439
  soa_dir: str,
338
440
  service_instance_config: Union[KubernetesDeploymentConfig, EksDeploymentConfig],
339
441
  eks: bool = False,
442
+ hpa_override: Optional[HpaOverride] = None,
340
443
  ) -> Tuple[bool, Optional[Application]]:
341
444
  try:
342
445
  formatted_application = service_instance_config.format_kubernetes_app()
@@ -344,8 +447,9 @@ def create_application_object(
344
447
  log.error(traceback.format_exc())
345
448
  return False, None
346
449
 
347
- app = get_application_wrapper(formatted_application)
450
+ app = get_application_wrapper(formatted_application, hpa_override)
348
451
  app.load_local_config(soa_dir, cluster, eks)
452
+
349
453
  return True, app
350
454
 
351
455
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: paasta-tools
3
- Version: 1.21.4
3
+ Version: 1.22.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=Pv8g5nAP5SPbyeKns5GhEMbftep63q_lgRnxUspKtC0,865
4
+ paasta_tools/__init__.py,sha256=t8XiLjvZXh6dTrPIbHbG5uSNFHdxp-tUFJtAsZSn0Ok,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
@@ -43,7 +43,7 @@ paasta_tools/generate_services_yaml.py,sha256=BM760XGEOmLeJcEm0ez5nBZ2NmFJWsNXbZ
43
43
  paasta_tools/hacheck.py,sha256=GtQd32G4JoB2bOWqzH9h9NPrkg8a50i-iXAblfYz2p4,2748
44
44
  paasta_tools/iptables.py,sha256=SQ7hutHarfCd13oAknKv_h9rUuln4rf11W6C2HHUy9g,7518
45
45
  paasta_tools/kafkacluster_tools.py,sha256=NMfowdpYhFpXW55MKx_eX6rrQj5Fn-5M_9ryZKd749A,4992
46
- paasta_tools/kubernetes_tools.py,sha256=RGAeuDPaAyISG89G0jM8BWjob6L5J_xjtAdPJS4PGlE,178229
46
+ paasta_tools/kubernetes_tools.py,sha256=nHc1CdVMrGg3DJTdu49viog6cXdhQrgvFbqrZ-QZquA,180306
47
47
  paasta_tools/list_kubernetes_service_instances.py,sha256=UEPiTqNxUAqUgSyPzJlNcrI2W4HBwpngzDM1QD6AAVQ,3910
48
48
  paasta_tools/list_tron_namespaces.py,sha256=wfSkPY9_C-RkORmnon3DWL2lVZ4GNSSDG9VkFrDfY1E,1679
49
49
  paasta_tools/long_running_service_tools.py,sha256=PE4K9opcx16tEc3XxWgQBKCpV4cJYS2JfN-dyTFhmB4,26137
@@ -71,7 +71,7 @@ paasta_tools/setup_istio_mesh.py,sha256=RbgurGILky-vuLU0QZ3KL1pg5Ku47vDkfaX6JFwE
71
71
  paasta_tools/setup_kubernetes_cr.py,sha256=5iDiizK1WZLk5FEm-RWBCWDWM6ilAwqa-hrEk84eJD8,14638
72
72
  paasta_tools/setup_kubernetes_crd.py,sha256=kDpZKbpQa8niY-dhEKf_Q5IE5h7yDRES_Wg-2atJ6kY,4033
73
73
  paasta_tools/setup_kubernetes_internal_crd.py,sha256=bkc4t2hUM9JoTIVDnfZWsVkoQ-IlRoTI-E_FISLGpk4,4642
74
- paasta_tools/setup_kubernetes_job.py,sha256=kLaYv1ydqQz409A6CbBQ07Rsy6AphUbF0NzLl9xBJKM,12709
74
+ paasta_tools/setup_kubernetes_job.py,sha256=_jJsBqy6vlv2ngtJIDZNxcsPS6Gk5nz--DmyqK9YPRM,16942
75
75
  paasta_tools/setup_prometheus_adapter_config.py,sha256=DCA0-AY8dPivV5D4FxMGY1wIoIvWXXWV_3V5O1LJBXc,40741
76
76
  paasta_tools/setup_tron_namespace.py,sha256=CGVrTyHb6ypagIRrYLSpVDV-Kd-VxcLoEC_6K98M1OM,9729
77
77
  paasta_tools/slack.py,sha256=WEJsTcr2vCdftG4bVkePNBFaC2hzEzMDwglHA0UC0s8,2700
@@ -82,16 +82,16 @@ paasta_tools/tron_tools.py,sha256=2yAEpSeYMW08daISa1jchKQNrR_PvNdsYLj23YIwEU0,55
82
82
  paasta_tools/utils.py,sha256=Quv5vRco_4jfdb1VYIy2BT6EeX0g0J0KZKVNuSWY_V8,147400
83
83
  paasta_tools/yaml_tools.py,sha256=rusVYsqENcjdF7URmm3aUEvQ1rskX0JJZ1jxbf4vkAw,1262
84
84
  paasta_tools/api/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
85
- paasta_tools/api/api.py,sha256=quU7RDte8G2lU-ROn7ir8XsdEBdwQdvy3xFu_9aRREk,9668
85
+ paasta_tools/api/api.py,sha256=SwlBbwH9e8ihnBSSkLU65CHrnzyQeDHPfRg_ik5LWZU,9859
86
86
  paasta_tools/api/client.py,sha256=RwEeM0fiwdcEpJQQEocuhdEZVnMdh8QwRHTwbx3wFP8,3614
87
87
  paasta_tools/api/settings.py,sha256=UbRnHL2GKeRfzfQ4qdlDy2KapGR-GoGpXK0SzNXUeM4,1303
88
- paasta_tools/api/api_docs/swagger.json,sha256=SzuVCxZY-Xx2C-em1esYRsZZghZkTnOxLBmfEaN78p8,85625
88
+ paasta_tools/api/api_docs/swagger.json,sha256=SgRjrGL8hQpITv00g_bTlxdBADed6Br-0vE3ULkaFto,89395
89
89
  paasta_tools/api/tweens/__init__.py,sha256=nN1myeu8LuQKCDxz4XF9f55IDi13DSQgQ5e7OLP7DK8,144
90
90
  paasta_tools/api/tweens/auth.py,sha256=dran1Duk0tInhN_dutg-QgRcPfc5DADk5h7D2WVBPek,4197
91
91
  paasta_tools/api/tweens/profiling.py,sha256=prvrusCyDzP2j-64UCI-XGYxqDyyx8CDLKXl64oi-6M,3756
92
92
  paasta_tools/api/tweens/request_logger.py,sha256=Yu4bciKzJw9aR8ib9L6KIZepVDnh4ksTmRdAQRIwVc4,3826
93
93
  paasta_tools/api/views/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
94
- paasta_tools/api/views/autoscaler.py,sha256=Qe7HQtCw2SoLvAvvTgJLMW0OolUqziVveSEuvUHJHX4,4065
94
+ paasta_tools/api/views/autoscaler.py,sha256=4SIPhqoiIRl4rc0duhpYUXIycJ25SQvyRZlHb2qvRN4,8745
95
95
  paasta_tools/api/views/exception.py,sha256=sHdSArpJNh2z-azJNiGtodPPUREMwb7IinOI8H7B_i0,1457
96
96
  paasta_tools/api/views/flink.py,sha256=X7GHgWaunGarll31FUIYb9Apm9RomcJp2uFmbRrb2H8,2475
97
97
  paasta_tools/api/views/instance.py,sha256=mL5V5d3LDcD_0Ex_mrRZZv20x-5qhfuTokBjfSpKvfw,13830
@@ -113,7 +113,7 @@ paasta_tools/cli/fsm_cmd.py,sha256=c6FFvmaDxEe21MiqL_lrn9uWpnmh2pCNhh1ZjU4ahJA,4
113
113
  paasta_tools/cli/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
114
114
  paasta_tools/cli/utils.py,sha256=Y1WsUtorvePHT5v3wRAhy_98gxzRou1bhFRirwddIMs,37738
115
115
  paasta_tools/cli/cmds/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
116
- paasta_tools/cli/cmds/autoscale.py,sha256=5GTBvZjNQF1-bCjQZFjdM-4EijEFs6ZuEVyycFuGjy4,5151
116
+ paasta_tools/cli/cmds/autoscale.py,sha256=lJV3gRxjuxD40QdE6lRX5uoBO44PmnbJrkC2IiIlJAo,9533
117
117
  paasta_tools/cli/cmds/check.py,sha256=OSEFTL_r22I8lrxS4XHa3syMxz6nrgN_7DH1B57h2ho,12968
118
118
  paasta_tools/cli/cmds/cook_image.py,sha256=L2fDzY1s4yB4A43QcFMOJv6CMUlyB7587WtwFSAZ-38,5273
119
119
  paasta_tools/cli/cmds/get_docker_image.py,sha256=STzXTABDvwI4yVRtF2PihsIXjdb3C62eFEV_O9HdB6s,2677
@@ -193,7 +193,7 @@ paasta_tools/instance/kubernetes.py,sha256=abgU_f-YAh2kOVruh_nAXGX4TOvOix-iwfM3Q
193
193
  paasta_tools/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
194
  paasta_tools/kubernetes/remote_run.py,sha256=vGWwL-ZqAfBV1CVTuRS1ggAxdTCxt7fxMFaWN5GfrRY,17685
195
195
  paasta_tools/kubernetes/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
- paasta_tools/kubernetes/application/controller_wrappers.py,sha256=nXs55-BbLlqQ58bWogUrEoRWKMKd2JfzybOnOoUpyb8,18610
196
+ paasta_tools/kubernetes/application/controller_wrappers.py,sha256=nyUW-qtgNha5YzqTmwFfwVAcepKGqd9kl8ERpeNpt-k,19150
197
197
  paasta_tools/kubernetes/application/tools.py,sha256=-qbkn4ynM_LFa-NfiDMFZ3G4jty93DWKbx3_Go3OIIo,3618
198
198
  paasta_tools/kubernetes/bin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
199
199
  paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py,sha256=_IkK7vm3FlOF5hYq1M2Xf5DIu-j5d7HJUVmoVetCB94,5287
@@ -225,7 +225,7 @@ paasta_tools/paastaapi/exceptions.py,sha256=MMmblQNMKiyfW37_1IN7ZdZkad5GHQf6hW3u
225
225
  paasta_tools/paastaapi/model_utils.py,sha256=jn9jqNrG-qm-vb6w3dfJv7gunaFtX5NkqqlZtLe2h8M,74015
226
226
  paasta_tools/paastaapi/rest.py,sha256=jSS2J2DRpNLtkK98EDgQcMO1MkTocTP244_rzeuXvQU,12197
227
227
  paasta_tools/paastaapi/api/__init__.py,sha256=HkTSCN0zRGu6mtrPDQmdoPrrVzam8A-ljnGL6Ys3GOE,229
228
- paasta_tools/paastaapi/api/autoscaler_api.py,sha256=Cgm51d-NBcQEHikDQh2gTyOJQcusox5Ke1TXF1bpD1Q,10628
228
+ paasta_tools/paastaapi/api/autoscaler_api.py,sha256=0lTQ6JBTmt_HJ7x2EM03r1NESxlZJ5sJSRBNgGQ1toQ,15912
229
229
  paasta_tools/paastaapi/api/default_api.py,sha256=Kl6pqZNzydLVC-MVZYGjXzXcHI69RTSHvcX9FqnWQoU,20369
230
230
  paasta_tools/paastaapi/api/remote_run_api.py,sha256=MdnmIFSsvj501_vgaNIkVKidLpmTBtpyc9Op-3tJwFk,21409
231
231
  paasta_tools/paastaapi/api/resources_api.py,sha256=jctcU5rMlUTza0f3zHnfl1B469amc1t6ahB5xI__fbc,5468
@@ -234,6 +234,7 @@ paasta_tools/paastaapi/apis/__init__.py,sha256=1Q2S7uGtbgDu6a4-c3xx5Ei9JM1YIzctM
234
234
  paasta_tools/paastaapi/model/__init__.py,sha256=N49d9K35V_Hd5lOHWcMeVRl0Iy_-L-03rZgfKXwlESM,348
235
235
  paasta_tools/paastaapi/model/adhoc_launch_history.py,sha256=fX6_aW7tXbYwAXAIe6NbOwX74K9QPO7X3DJ5Rk8U8Ek,6944
236
236
  paasta_tools/paastaapi/model/autoscaler_count_msg.py,sha256=Ddk0WnduLIMqs25BxAws1mM1lFNDGn1RwOndIrd-rWY,6937
237
+ paasta_tools/paastaapi/model/autoscaling_override.py,sha256=PTUpUBIYuhRQdOeMRwKlW5fAhRspaNAr1FIZ7Wqqjcw,7001
237
238
  paasta_tools/paastaapi/model/deploy_queue.py,sha256=VTymHx6AFSUPLFnhO28GgZSib-MDa24RAgXeqbB0wbY,7292
238
239
  paasta_tools/paastaapi/model/deploy_queue_service_instance.py,sha256=KSglH6b2uatNeU_4jG9-EJ3uhKvzF21JbTmcWA4AREM,8370
239
240
  paasta_tools/paastaapi/model/envoy_backend.py,sha256=BOv0oDcjVRLiFmTbAkufL9AiaBZFhYgPAF0C3JcP384,7659
@@ -249,6 +250,7 @@ paasta_tools/paastaapi/model/hpa_metric.py,sha256=VmzyIDhtVmJZwesarVojDoWR8sQDRt
249
250
  paasta_tools/paastaapi/model/inline_object.py,sha256=KZyF22Vv0oDJJkeZwozhjbgFgoQJP4qY_wcXfLqHX3I,6555
250
251
  paasta_tools/paastaapi/model/inline_response200.py,sha256=5t4-jtpWG0zWSSrqZTpckgS1jqdBYHRGJqelpDwcolY,6691
251
252
  paasta_tools/paastaapi/model/inline_response2001.py,sha256=B83DDjFDB-fK8T9xK58mJFvsE4_QKiL6WgZjXZiROqA,6579
253
+ paasta_tools/paastaapi/model/inline_response202.py,sha256=ZngMZ_GHBmgx6gVuPlr1WZmn3ymCRSEG7_iePMmvmA0,7327
252
254
  paasta_tools/paastaapi/model/instance_bounce_status.py,sha256=pWoHZtKd_bx0crlL6IgFqE6w22Ke5MYPvOmD8C0MDRU,8444
253
255
  paasta_tools/paastaapi/model/instance_mesh_status.py,sha256=2DHz4ToNM2b12e0U1oHzySPHAv1GeWrqRnuA-djAoWo,7357
254
256
  paasta_tools/paastaapi/model/instance_status.py,sha256=iO2RCfNd93muqRyEk8porhch97ykKZDMy3zMhIn6MEA,9761
@@ -281,68 +283,68 @@ paasta_tools/paastaapi/model/smartstack_backend.py,sha256=jC12hYMur2Iw8hyKVOWlxS
281
283
  paasta_tools/paastaapi/model/smartstack_location.py,sha256=a39BeS49HyGup_15EgKiyuCxSepocPwi5IElGF2vlt8,7241
282
284
  paasta_tools/paastaapi/model/smartstack_status.py,sha256=3CJKc3IfNYhg0mPJQ4mqIMo2KgTYuzLfvHcQ53iCT8Y,7325
283
285
  paasta_tools/paastaapi/model/task_tail_lines.py,sha256=ogrAad-WAEhf3Eq23crg_KzB-yanpxzE9hK23tOTLY8,7025
284
- paasta_tools/paastaapi/models/__init__.py,sha256=ixkel4bfwdiZGF9kPkeSBdQRoKNiNcInvxMffWDjOnM,4230
286
+ paasta_tools/paastaapi/models/__init__.py,sha256=FtiAxdFp7ivblYQcumIayzGJD5gTIjktkUemNG9IBVk,4390
285
287
  paasta_tools/secret_providers/__init__.py,sha256=N6kEw3uvY3fxQZgAtR58-lWGQOKfrsHOrc9SYzXd2uQ,1975
286
288
  paasta_tools/secret_providers/vault.py,sha256=3vQGKMAgBPKawU6hNw4wPtYxYrNe7iN3tx66TSxAXEA,7517
287
289
  paasta_tools/tron/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
288
290
  paasta_tools/tron/client.py,sha256=ypWjM4bZCzQWLn-qe1driqAxvF0ux8dROuFUv63dryA,5562
289
291
  paasta_tools/tron/tron_command_context.py,sha256=c6mph_DAt7pjcE3Uo271haJ0DfxJzfvcRhR2o-UmOeY,5379
290
292
  paasta_tools/tron/tron_timeutils.py,sha256=vDn04K7A3Xbs3lM04EgLuViC8AavOc5qyo8J5MC5nLk,3054
291
- paasta_tools-1.21.4.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
292
- paasta_tools-1.21.4.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
293
- paasta_tools-1.21.4.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
294
- paasta_tools-1.21.4.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
295
- paasta_tools-1.21.4.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
296
- paasta_tools-1.21.4.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
297
- paasta_tools-1.21.4.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
298
- paasta_tools-1.21.4.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
299
- paasta_tools-1.21.4.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
300
- paasta_tools-1.21.4.data/scripts/check_orphans.py,sha256=zVC5ShFY7LUnPDUytRNsMgvqXkECHvyZlc3qZMpxLko,9985
301
- paasta_tools-1.21.4.data/scripts/check_spark_jobs.py,sha256=pVUdWmZSBuh4CbpW7cZ1Loq8FX0QFS0LQk2b24TGRyE,7317
302
- paasta_tools-1.21.4.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
303
- paasta_tools-1.21.4.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
304
- paasta_tools-1.21.4.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
305
- paasta_tools-1.21.4.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
306
- paasta_tools-1.21.4.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
307
- paasta_tools-1.21.4.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
308
- paasta_tools-1.21.4.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
309
- paasta_tools-1.21.4.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
310
- paasta_tools-1.21.4.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
311
- paasta_tools-1.21.4.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
312
- paasta_tools-1.21.4.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
313
- paasta_tools-1.21.4.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
314
- paasta_tools-1.21.4.data/scripts/get_running_task_allocation.py,sha256=rV2IFGWU2sEYAVDCwKZgeseOAewFzfDiFeCnsPXdGXY,10890
315
- paasta_tools-1.21.4.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
316
- paasta_tools-1.21.4.data/scripts/ide_helper.py,sha256=YxHHqbnrJ88XI9Pmlup2QSvp15qVN5ugLuPYkEsmBCw,12334
317
- paasta_tools-1.21.4.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
318
- paasta_tools-1.21.4.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
319
- paasta_tools-1.21.4.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
320
- paasta_tools-1.21.4.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
321
- paasta_tools-1.21.4.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
322
- paasta_tools-1.21.4.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
323
- paasta_tools-1.21.4.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
324
- paasta_tools-1.21.4.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
325
- paasta_tools-1.21.4.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
326
- paasta_tools-1.21.4.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
327
- paasta_tools-1.21.4.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
328
- paasta_tools-1.21.4.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
329
- paasta_tools-1.21.4.data/scripts/paasta_update_soa_memcpu.py,sha256=1LOHMb4Gp3DcfkOzdCr9rcLa4mZXIv1p93sFvt7h96s,17871
330
- paasta_tools-1.21.4.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
331
- paasta_tools-1.21.4.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
332
- paasta_tools-1.21.4.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
333
- paasta_tools-1.21.4.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
334
- paasta_tools-1.21.4.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
335
- paasta_tools-1.21.4.data/scripts/setup_kubernetes_cr.py,sha256=8Jj362SLgoR6k0ZwzZ4bkJc3RJrxk-f2dpHD5zJXCuo,14625
336
- paasta_tools-1.21.4.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
337
- paasta_tools-1.21.4.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
338
- paasta_tools-1.21.4.data/scripts/setup_kubernetes_job.py,sha256=8AqLwpb8N5qG8-L-qW2zl4xY01LQzd_IkvMnolYh9GY,12696
339
- paasta_tools-1.21.4.data/scripts/setup_prometheus_adapter_config.py,sha256=51iFbtMu7MZzv9PVuQftJ59BUVBKdeC7G_zkt9-IXdc,40728
340
- paasta_tools-1.21.4.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
341
- paasta_tools-1.21.4.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
342
- paasta_tools-1.21.4.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
343
- paasta_tools-1.21.4.dist-info/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
344
- paasta_tools-1.21.4.dist-info/METADATA,sha256=LO449bXpkAYUq3oT9zw2iTeLZXSQRYZBZWryAoEsmrc,2169
345
- paasta_tools-1.21.4.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
346
- paasta_tools-1.21.4.dist-info/entry_points.txt,sha256=5osYZ62iLdhb63d3P8e9ujafe97kisiB3K-geR5IdH8,1076
347
- paasta_tools-1.21.4.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
348
- paasta_tools-1.21.4.dist-info/RECORD,,
293
+ paasta_tools-1.22.0.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
294
+ paasta_tools-1.22.0.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
295
+ paasta_tools-1.22.0.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
296
+ paasta_tools-1.22.0.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
297
+ paasta_tools-1.22.0.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
298
+ paasta_tools-1.22.0.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
299
+ paasta_tools-1.22.0.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
300
+ paasta_tools-1.22.0.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
301
+ paasta_tools-1.22.0.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
302
+ paasta_tools-1.22.0.data/scripts/check_orphans.py,sha256=zVC5ShFY7LUnPDUytRNsMgvqXkECHvyZlc3qZMpxLko,9985
303
+ paasta_tools-1.22.0.data/scripts/check_spark_jobs.py,sha256=pVUdWmZSBuh4CbpW7cZ1Loq8FX0QFS0LQk2b24TGRyE,7317
304
+ paasta_tools-1.22.0.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
305
+ paasta_tools-1.22.0.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
306
+ paasta_tools-1.22.0.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
307
+ paasta_tools-1.22.0.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
308
+ paasta_tools-1.22.0.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
309
+ paasta_tools-1.22.0.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
310
+ paasta_tools-1.22.0.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
311
+ paasta_tools-1.22.0.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
312
+ paasta_tools-1.22.0.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
313
+ paasta_tools-1.22.0.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
314
+ paasta_tools-1.22.0.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
315
+ paasta_tools-1.22.0.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
316
+ paasta_tools-1.22.0.data/scripts/get_running_task_allocation.py,sha256=rV2IFGWU2sEYAVDCwKZgeseOAewFzfDiFeCnsPXdGXY,10890
317
+ paasta_tools-1.22.0.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
318
+ paasta_tools-1.22.0.data/scripts/ide_helper.py,sha256=YxHHqbnrJ88XI9Pmlup2QSvp15qVN5ugLuPYkEsmBCw,12334
319
+ paasta_tools-1.22.0.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
320
+ paasta_tools-1.22.0.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
321
+ paasta_tools-1.22.0.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
322
+ paasta_tools-1.22.0.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
323
+ paasta_tools-1.22.0.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
324
+ paasta_tools-1.22.0.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
325
+ paasta_tools-1.22.0.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
326
+ paasta_tools-1.22.0.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
327
+ paasta_tools-1.22.0.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
328
+ paasta_tools-1.22.0.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
329
+ paasta_tools-1.22.0.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
330
+ paasta_tools-1.22.0.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
331
+ paasta_tools-1.22.0.data/scripts/paasta_update_soa_memcpu.py,sha256=1LOHMb4Gp3DcfkOzdCr9rcLa4mZXIv1p93sFvt7h96s,17871
332
+ paasta_tools-1.22.0.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
333
+ paasta_tools-1.22.0.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
334
+ paasta_tools-1.22.0.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
335
+ paasta_tools-1.22.0.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
336
+ paasta_tools-1.22.0.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
337
+ paasta_tools-1.22.0.data/scripts/setup_kubernetes_cr.py,sha256=8Jj362SLgoR6k0ZwzZ4bkJc3RJrxk-f2dpHD5zJXCuo,14625
338
+ paasta_tools-1.22.0.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
339
+ paasta_tools-1.22.0.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
340
+ paasta_tools-1.22.0.data/scripts/setup_kubernetes_job.py,sha256=iGuGjDoevjpmdV3SXnAg65AwljkqC_c5yzTVvEsJ1xc,16929
341
+ paasta_tools-1.22.0.data/scripts/setup_prometheus_adapter_config.py,sha256=51iFbtMu7MZzv9PVuQftJ59BUVBKdeC7G_zkt9-IXdc,40728
342
+ paasta_tools-1.22.0.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
343
+ paasta_tools-1.22.0.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
344
+ paasta_tools-1.22.0.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
345
+ paasta_tools-1.22.0.dist-info/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
346
+ paasta_tools-1.22.0.dist-info/METADATA,sha256=z8FeMjrqz1LpSqffcruUVtW_yzz5vFs1CPQigXzR5ds,2169
347
+ paasta_tools-1.22.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
348
+ paasta_tools-1.22.0.dist-info/entry_points.txt,sha256=5osYZ62iLdhb63d3P8e9ujafe97kisiB3K-geR5IdH8,1076
349
+ paasta_tools-1.22.0.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
350
+ paasta_tools-1.22.0.dist-info/RECORD,,