paasta-tools 1.32.0__py3-none-any.whl → 1.33.1__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/local_run.py +90 -21
  3. paasta_tools/utils.py +9 -0
  4. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.1.dist-info}/METADATA +1 -1
  5. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.1.dist-info}/RECORD +61 -61
  6. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/apply_external_resources.py +0 -0
  7. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/bounce_log_latency_parser.py +0 -0
  8. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_autoscaler_max_instances.py +0 -0
  9. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_cassandracluster_services_replication.py +0 -0
  10. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_flink_services_health.py +0 -0
  11. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_kubernetes_api.py +0 -0
  12. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_kubernetes_services_replication.py +0 -0
  13. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_manual_oapi_changes.sh +0 -0
  14. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_oom_events.py +0 -0
  15. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_orphans.py +0 -0
  16. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/check_spark_jobs.py +0 -0
  17. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/cleanup_kubernetes_cr.py +0 -0
  18. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/cleanup_kubernetes_crd.py +0 -0
  19. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/cleanup_kubernetes_jobs.py +0 -0
  20. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/create_dynamodb_table.py +0 -0
  21. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/create_paasta_playground.py +0 -0
  22. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/delete_kubernetes_deployments.py +0 -0
  23. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/emit_allocated_cpu_metrics.py +0 -0
  24. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/generate_all_deployments +0 -0
  25. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/generate_authenticating_services.py +0 -0
  26. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/generate_deployments_for_service.py +0 -0
  27. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/generate_services_file.py +0 -0
  28. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/generate_services_yaml.py +0 -0
  29. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/get_running_task_allocation.py +0 -0
  30. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/habitat_fixer.py +0 -0
  31. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/ide_helper.py +0 -0
  32. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/is_pod_healthy_in_proxy.py +0 -0
  33. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/is_pod_healthy_in_smartstack.py +0 -0
  34. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/kill_bad_containers.py +0 -0
  35. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/kubernetes_remove_evicted_pods.py +0 -0
  36. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/mass-deploy-tag.sh +0 -0
  37. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/mock_patch_checker.py +0 -0
  38. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/paasta_cleanup_remote_run_resources.py +0 -0
  39. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/paasta_cleanup_stale_nodes.py +0 -0
  40. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/paasta_deploy_tron_jobs +0 -0
  41. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/paasta_execute_docker_command.py +0 -0
  42. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/paasta_secrets_sync.py +0 -0
  43. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/paasta_tabcomplete.sh +0 -0
  44. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/paasta_update_soa_memcpu.py +0 -0
  45. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/render_template.py +0 -0
  46. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/rightsizer_soaconfigs_update.py +0 -0
  47. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/service_shard_remove.py +0 -0
  48. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/service_shard_update.py +0 -0
  49. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/setup_istio_mesh.py +0 -0
  50. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/setup_kubernetes_cr.py +0 -0
  51. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/setup_kubernetes_crd.py +0 -0
  52. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/setup_kubernetes_internal_crd.py +0 -0
  53. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/setup_kubernetes_job.py +0 -0
  54. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/setup_prometheus_adapter_config.py +0 -0
  55. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/shared_ip_check.py +0 -0
  56. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/synapse_srv_namespaces_fact.py +0 -0
  57. {paasta_tools-1.32.0.data → paasta_tools-1.33.1.data}/scripts/timeouts_metrics_prom.py +0 -0
  58. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.1.dist-info}/WHEEL +0 -0
  59. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.1.dist-info}/entry_points.txt +0 -0
  60. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.1.dist-info}/licenses/LICENSE +0 -0
  61. {paasta_tools-1.32.0.dist-info → paasta_tools-1.33.1.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.32.0"
20
+ __version__ = "1.33.1"
@@ -12,6 +12,7 @@
12
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
+ import base64
15
16
  import datetime
16
17
  import json
17
18
  import os
@@ -31,6 +32,7 @@ from urllib.parse import urlparse
31
32
  import boto3
32
33
  import requests
33
34
  from docker import errors
35
+ from docker.api.client import APIClient
34
36
  from mypy_extensions import TypedDict
35
37
 
36
38
  from paasta_tools.adhoc_tools import get_default_interactive_config
@@ -73,6 +75,12 @@ from paasta_tools.utils import Timeout
73
75
  from paasta_tools.utils import TimeoutError
74
76
  from paasta_tools.utils import validate_service_instance
75
77
 
78
+ STANDARD_PAASTA_CLI_PATHS = {
79
+ "/bin/paasta",
80
+ "/opt/venvs/paasta-tools/bin/paasta",
81
+ "/usr/bin/paasta",
82
+ }
83
+
76
84
 
77
85
  class AWSSessionCreds(TypedDict):
78
86
  AWS_ACCESS_KEY_ID: str
@@ -612,26 +620,70 @@ class LostContainerException(Exception):
612
620
  pass
613
621
 
614
622
 
615
- def docker_pull_image(docker_url):
616
- """Pull an image via ``docker pull``. Uses the actual pull command instead of the python
617
- bindings due to the docker auth/registry transition. Once we are past Docker 1.6
618
- we can use better credential management, but for now this function assumes the
619
- user running the command has already been authorized for the registry"""
623
+ class DockerAuthConfig(TypedDict):
624
+ username: str
625
+ password: str
626
+
627
+
628
+ def get_readonly_docker_registry_auth_config(
629
+ docker_url: str,
630
+ ) -> DockerAuthConfig | None:
631
+ system_paasta_config = load_system_paasta_config()
632
+ config_path = system_paasta_config.get_readonly_docker_registry_auth_file()
633
+
634
+ with open(config_path) as f:
635
+ docker_config = json.load(f)
636
+ registry = docker_url.split("/")[0]
637
+
638
+ # find matching auth config - our usual ro config will have at least two entries
639
+ # at the time this comment was written
640
+ auths = docker_config
641
+ for auth_url, auth_data in auths.items():
642
+ if registry in auth_url:
643
+ # Decode the base64 auth string if present
644
+ if "auth" in auth_data:
645
+ auth_string = base64.b64decode(auth_data["auth"]).decode("utf-8")
646
+ username, password = auth_string.split(":", 1)
647
+ return {"username": username, "password": password}
648
+
649
+ # afaik, we should only hit this if folks are being naughty and passing a docker url from docker-dev
650
+ return None
651
+
652
+
653
+ def docker_pull_image(docker_client: APIClient, docker_url: str) -> None:
654
+ """Pull an image using the docker-py library with read-only registry credentials"""
620
655
  print(
621
- "Please wait while the image (%s) is pulled (times out after 30m)..."
622
- % docker_url,
656
+ f"Please wait while the image ({docker_url}) is pulled (times out after 30m)...",
623
657
  file=sys.stderr,
624
658
  )
625
- with Timeout(
626
- seconds=1800, error_message=f"Timed out pulling docker image from {docker_url}"
627
- ), open(os.devnull, mode="wb") as DEVNULL:
628
- ret, _ = _run("docker pull %s" % docker_url, stream=True, stdin=DEVNULL)
629
- if ret != 0:
630
- print(
631
- "\nPull failed. Are you authorized to run docker commands?",
632
- file=sys.stderr,
633
- )
634
- sys.exit(ret)
659
+
660
+ auth_config = get_readonly_docker_registry_auth_config(docker_url)
661
+ if not auth_config:
662
+ print(
663
+ PaastaColors.yellow(
664
+ "Warning: No read-only docker registry credentials found, attempting to pull without authentication."
665
+ ),
666
+ file=sys.stderr,
667
+ )
668
+
669
+ try:
670
+ with Timeout(
671
+ seconds=1800,
672
+ error_message=f"Timed out pulling docker image from {docker_url}",
673
+ ):
674
+ # this is slightly funky since pull() returns the output line-by-line, but as a dict
675
+ # ...that we then need to format back to the usual `docker pull` output
676
+ # :p
677
+ for line in docker_client.pull(
678
+ docker_url, auth_config=auth_config, stream=True, decode=True
679
+ ):
680
+ print(f"{line['id']}: {line['status']}", file=sys.stderr)
681
+ except Exception as e:
682
+ print(
683
+ f"\nPull failed. Error: {e}",
684
+ file=sys.stderr,
685
+ )
686
+ sys.exit(1)
635
687
 
636
688
 
637
689
  def get_container_id(docker_client, container_name):
@@ -1226,7 +1278,7 @@ def configure_and_run_docker_container(
1226
1278
  return 1
1227
1279
 
1228
1280
  if pull_image:
1229
- docker_pull_image(docker_url)
1281
+ docker_pull_image(docker_client, docker_url)
1230
1282
 
1231
1283
  for volume in instance_config.get_volumes(
1232
1284
  system_paasta_config.get_volumes(),
@@ -1303,9 +1355,26 @@ def docker_config_available():
1303
1355
 
1304
1356
 
1305
1357
  def paasta_local_run(args):
1306
- if args.action == "pull" and os.geteuid() != 0 and not docker_config_available():
1307
- print("Re-executing paasta local-run --pull with sudo..")
1308
- os.execvp("sudo", ["sudo", "-H"] + sys.argv)
1358
+ if args.action == "pull" and os.geteuid() != 0 and not args.skip_secrets:
1359
+ # we unfortunately sometimes install paasta inside the virtualenv of repos where
1360
+ # folks might be running commands such as `paasta local-run`.
1361
+ # this tends to cause some confusion as this results folks being denied access
1362
+ # to sudo since the virtualenv paasta is not in our sudoers :)
1363
+ # NOTE: in the unlikely event that someone does need to run this from a venv,
1364
+ # there's an opt-out env var
1365
+ if (
1366
+ sys.argv[0] not in STANDARD_PAASTA_CLI_PATHS
1367
+ and "PAASTA_ALLOW_VENV" not in os.environ
1368
+ ):
1369
+ print(
1370
+ "You are running the PaaSTA CLI from a virtualenv - this is unexpected. Re-executing `paasta` from the standard location.."
1371
+ )
1372
+ os.execvp("/usr/bin/paasta", ["/usr/bin/paasta"] + sys.argv[1:])
1373
+ # XXX: we should re-architect this to not need sudo, but for now,
1374
+ # re-exec ourselves with sudo to get access to the paasta vault token
1375
+ # NOTE: once we do that, we can also remove the venv check above :)
1376
+ print("Re-executing paasta local-run --pull with sudo for Vault access...")
1377
+ os.execvp("sudo", ["sudo", "-H", "/usr/bin/paasta"] + sys.argv[1:])
1309
1378
  if args.action == "build" and not makefile_responds_to("cook-image"):
1310
1379
  print(
1311
1380
  "A local Makefile with a 'cook-image' target is required for --build",
paasta_tools/utils.py CHANGED
@@ -182,6 +182,7 @@ CAPS_DROP = [
182
182
  "SYS_CHROOT",
183
183
  "SETFCAP",
184
184
  ]
185
+ DEFAULT_READONLY_DOCKER_REGISTRY_AUTH_FILE = "/nail/etc/docker-registry-ro"
185
186
 
186
187
 
187
188
  class RollbackTypes(Enum):
@@ -2066,6 +2067,7 @@ class SystemPaastaConfigDict(TypedDict, total=False):
2066
2067
  enable_tron_tsc: bool
2067
2068
  default_spark_iam_user: str
2068
2069
  default_spark_driver_pool_override: str
2070
+ readonly_docker_registry_auth_file: str
2069
2071
 
2070
2072
 
2071
2073
  def load_system_paasta_config(
@@ -2840,6 +2842,13 @@ class SystemPaastaConfig:
2840
2842
  # NOTE: this should never happen unless we've gotten bad data
2841
2843
  return None
2842
2844
 
2845
+ def get_readonly_docker_registry_auth_file(self) -> str:
2846
+ """Get the location of the readonly docker registry auth file as an absolute path."""
2847
+ return self.config_dict.get(
2848
+ "readonly_docker_registry_auth_file",
2849
+ DEFAULT_READONLY_DOCKER_REGISTRY_AUTH_FILE,
2850
+ )
2851
+
2843
2852
 
2844
2853
  def _run(
2845
2854
  command: Union[str, List[str]],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.32.0
3
+ Version: 1.33.1
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=qYYiGiAarIWqDCrWCgVFzSWR6vqVgFQArYQgRDoCHmw,865
4
+ paasta_tools/__init__.py,sha256=7O34FHKIZT2Le4NplZENYKjFGz3hXlZ1uc-AhElpcEk,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=LOpYxaN-8u7js6IlibPRGq9OtgWFig59LGeIFgW9PsA,3591
@@ -78,7 +78,7 @@ paasta_tools/smartstack_tools.py,sha256=J0mPialC9KFW9mW0fOUCj040VyowEjQgBI_s13fz
78
78
  paasta_tools/spark_tools.py,sha256=qZIa1g9JQrX3Nndd3vsblJ3nfXEhSMyizmOTQfFP2k8,9749
79
79
  paasta_tools/synapse_srv_namespaces_fact.py,sha256=XG_Fgr_3D-MaEYkhKyQSmKHbOyZp9zwpevyTX4BOLWE,1421
80
80
  paasta_tools/tron_tools.py,sha256=XJjuLp98zdaJeZt7Wg55t7G8lhTffL5HuA1G_mkiekA,55901
81
- paasta_tools/utils.py,sha256=bNSVB734OtND-h_BxE6T24Gu_Co97qG_LE98p7-S54g,148776
81
+ paasta_tools/utils.py,sha256=7U1WsFBQUWa9wiTwlxu85F9zWbzhjo1V7lyxD8dkUZQ,149205
82
82
  paasta_tools/yaml_tools.py,sha256=4gXbrFQWWihp9edKt4J14MWcdS8r8sYJAsMYmmL3byk,1263
83
83
  paasta_tools/api/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
84
84
  paasta_tools/api/api.py,sha256=SwlBbwH9e8ihnBSSkLU65CHrnzyQeDHPfRg_ik5LWZU,9859
@@ -124,7 +124,7 @@ paasta_tools/cli/cmds/list.py,sha256=KTeSZIaRArJ28lXFLJcEYGH9p90nD6rPFHAE45I7x-w
124
124
  paasta_tools/cli/cmds/list_clusters.py,sha256=7L1kK9xS7o9iYpAikTUjsGFR1cpX8ME31BBp9dDnDFY,1550
125
125
  paasta_tools/cli/cmds/list_deploy_queue.py,sha256=IqtsblfL0LpZyp-cwaRHpo6tAfvo5IAgnCyI5MMcVoM,5577
126
126
  paasta_tools/cli/cmds/list_namespaces.py,sha256=KPszBdsOAqRaPECUF1HgCFm1BYQqfBPTG3dwAsvywm4,3138
127
- paasta_tools/cli/cmds/local_run.py,sha256=UIeQX4doGUfHR5-5HKseJWiKLNmFW6QM92k0ygZdwQw,51045
127
+ paasta_tools/cli/cmds/local_run.py,sha256=HUq2kV81GodXhaNmut5Kc5iROKy2eVETuCYcCKab1BY,53766
128
128
  paasta_tools/cli/cmds/logs.py,sha256=fx4hdmHssPNRpmqEuyLLxnBAbevrDG-r89VULr89bzE,58922
129
129
  paasta_tools/cli/cmds/mark_for_deployment.py,sha256=4cFqxJXzdz3kDzJpQWPRhYGSfxSvh8l5UaWnsMo7TiI,76711
130
130
  paasta_tools/cli/cmds/mesh_status.py,sha256=KpNfSomS5Uh98szloSpFh3qn0-IYHq4M37BS92t5mdc,6124
@@ -287,61 +287,61 @@ paasta_tools/tron/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
287
287
  paasta_tools/tron/client.py,sha256=ypWjM4bZCzQWLn-qe1driqAxvF0ux8dROuFUv63dryA,5562
288
288
  paasta_tools/tron/tron_command_context.py,sha256=c6mph_DAt7pjcE3Uo271haJ0DfxJzfvcRhR2o-UmOeY,5379
289
289
  paasta_tools/tron/tron_timeutils.py,sha256=vDn04K7A3Xbs3lM04EgLuViC8AavOc5qyo8J5MC5nLk,3054
290
- paasta_tools-1.32.0.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
291
- paasta_tools-1.32.0.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
292
- paasta_tools-1.32.0.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
293
- paasta_tools-1.32.0.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
294
- paasta_tools-1.32.0.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
295
- paasta_tools-1.32.0.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
296
- paasta_tools-1.32.0.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
297
- paasta_tools-1.32.0.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
298
- paasta_tools-1.32.0.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
299
- paasta_tools-1.32.0.data/scripts/check_orphans.py,sha256=9PmzRUZ1HwCcmTm4J1xTznz7hZl8fKsu1wdXUDufXJs,9984
300
- paasta_tools-1.32.0.data/scripts/check_spark_jobs.py,sha256=W4HUIbX_ylxl4DlqcdmoRWDbKYgPEr04OM-DLvfnXE8,7316
301
- paasta_tools-1.32.0.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
302
- paasta_tools-1.32.0.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
303
- paasta_tools-1.32.0.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
304
- paasta_tools-1.32.0.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
305
- paasta_tools-1.32.0.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
306
- paasta_tools-1.32.0.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
307
- paasta_tools-1.32.0.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
308
- paasta_tools-1.32.0.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
309
- paasta_tools-1.32.0.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
310
- paasta_tools-1.32.0.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
311
- paasta_tools-1.32.0.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
312
- paasta_tools-1.32.0.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
313
- paasta_tools-1.32.0.data/scripts/get_running_task_allocation.py,sha256=NGYO2td42XQOduUmvgz0CZw0ir36bY6fUe3VOR1Ln6E,10876
314
- paasta_tools-1.32.0.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
315
- paasta_tools-1.32.0.data/scripts/ide_helper.py,sha256=QUVWxIeh54IhTn3HEhBrmJKvtgw6RDv9smoJ-6pZA4c,12348
316
- paasta_tools-1.32.0.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
317
- paasta_tools-1.32.0.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
318
- paasta_tools-1.32.0.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
319
- paasta_tools-1.32.0.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
320
- paasta_tools-1.32.0.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
321
- paasta_tools-1.32.0.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
322
- paasta_tools-1.32.0.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
323
- paasta_tools-1.32.0.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
324
- paasta_tools-1.32.0.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
325
- paasta_tools-1.32.0.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
326
- paasta_tools-1.32.0.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
327
- paasta_tools-1.32.0.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
328
- paasta_tools-1.32.0.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
329
- paasta_tools-1.32.0.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
330
- paasta_tools-1.32.0.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
331
- paasta_tools-1.32.0.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
332
- paasta_tools-1.32.0.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
333
- paasta_tools-1.32.0.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
334
- paasta_tools-1.32.0.data/scripts/setup_kubernetes_cr.py,sha256=xsZJ_X1YpQ0NExyY1cXFH8KW2_vAgctCwdrW0bu102s,14931
335
- paasta_tools-1.32.0.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
336
- paasta_tools-1.32.0.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
337
- paasta_tools-1.32.0.data/scripts/setup_kubernetes_job.py,sha256=H2VuRaCpBj-J2Qc3DmIMutGuDL8nlfabshEiCGNNqmY,19095
338
- paasta_tools-1.32.0.data/scripts/setup_prometheus_adapter_config.py,sha256=JzvztaJ__5MOAV6pD5Vj3mamARh6TZUCzYdlqhWDOOY,43962
339
- paasta_tools-1.32.0.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
340
- paasta_tools-1.32.0.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
341
- paasta_tools-1.32.0.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
342
- paasta_tools-1.32.0.dist-info/licenses/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
343
- paasta_tools-1.32.0.dist-info/METADATA,sha256=7sJfoB3aM2e6PQjAvPyWInPoan-s1snwxKFHskiYm1w,2259
344
- paasta_tools-1.32.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
345
- paasta_tools-1.32.0.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
346
- paasta_tools-1.32.0.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
347
- paasta_tools-1.32.0.dist-info/RECORD,,
290
+ paasta_tools-1.33.1.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
291
+ paasta_tools-1.33.1.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
292
+ paasta_tools-1.33.1.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
293
+ paasta_tools-1.33.1.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
294
+ paasta_tools-1.33.1.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
295
+ paasta_tools-1.33.1.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
296
+ paasta_tools-1.33.1.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
297
+ paasta_tools-1.33.1.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
298
+ paasta_tools-1.33.1.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
299
+ paasta_tools-1.33.1.data/scripts/check_orphans.py,sha256=9PmzRUZ1HwCcmTm4J1xTznz7hZl8fKsu1wdXUDufXJs,9984
300
+ paasta_tools-1.33.1.data/scripts/check_spark_jobs.py,sha256=W4HUIbX_ylxl4DlqcdmoRWDbKYgPEr04OM-DLvfnXE8,7316
301
+ paasta_tools-1.33.1.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
302
+ paasta_tools-1.33.1.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
303
+ paasta_tools-1.33.1.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
304
+ paasta_tools-1.33.1.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
305
+ paasta_tools-1.33.1.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
306
+ paasta_tools-1.33.1.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
307
+ paasta_tools-1.33.1.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
308
+ paasta_tools-1.33.1.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
309
+ paasta_tools-1.33.1.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
310
+ paasta_tools-1.33.1.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
311
+ paasta_tools-1.33.1.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
312
+ paasta_tools-1.33.1.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
313
+ paasta_tools-1.33.1.data/scripts/get_running_task_allocation.py,sha256=NGYO2td42XQOduUmvgz0CZw0ir36bY6fUe3VOR1Ln6E,10876
314
+ paasta_tools-1.33.1.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
315
+ paasta_tools-1.33.1.data/scripts/ide_helper.py,sha256=QUVWxIeh54IhTn3HEhBrmJKvtgw6RDv9smoJ-6pZA4c,12348
316
+ paasta_tools-1.33.1.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
317
+ paasta_tools-1.33.1.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
318
+ paasta_tools-1.33.1.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
319
+ paasta_tools-1.33.1.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
320
+ paasta_tools-1.33.1.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
321
+ paasta_tools-1.33.1.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
322
+ paasta_tools-1.33.1.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
323
+ paasta_tools-1.33.1.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
324
+ paasta_tools-1.33.1.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
325
+ paasta_tools-1.33.1.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
326
+ paasta_tools-1.33.1.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
327
+ paasta_tools-1.33.1.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
328
+ paasta_tools-1.33.1.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
329
+ paasta_tools-1.33.1.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
330
+ paasta_tools-1.33.1.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
331
+ paasta_tools-1.33.1.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
332
+ paasta_tools-1.33.1.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
333
+ paasta_tools-1.33.1.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
334
+ paasta_tools-1.33.1.data/scripts/setup_kubernetes_cr.py,sha256=xsZJ_X1YpQ0NExyY1cXFH8KW2_vAgctCwdrW0bu102s,14931
335
+ paasta_tools-1.33.1.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
336
+ paasta_tools-1.33.1.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
337
+ paasta_tools-1.33.1.data/scripts/setup_kubernetes_job.py,sha256=H2VuRaCpBj-J2Qc3DmIMutGuDL8nlfabshEiCGNNqmY,19095
338
+ paasta_tools-1.33.1.data/scripts/setup_prometheus_adapter_config.py,sha256=JzvztaJ__5MOAV6pD5Vj3mamARh6TZUCzYdlqhWDOOY,43962
339
+ paasta_tools-1.33.1.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
340
+ paasta_tools-1.33.1.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
341
+ paasta_tools-1.33.1.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
342
+ paasta_tools-1.33.1.dist-info/licenses/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
343
+ paasta_tools-1.33.1.dist-info/METADATA,sha256=SzC0AT_UouMY0bj-Urq-B_q0z8odoiODjWKZUSny7QA,2259
344
+ paasta_tools-1.33.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
345
+ paasta_tools-1.33.1.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
346
+ paasta_tools-1.33.1.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
347
+ paasta_tools-1.33.1.dist-info/RECORD,,