paasta-tools 1.31.4__py3-none-any.whl → 1.33.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.
- paasta_tools/__init__.py +1 -1
- paasta_tools/cli/cmds/local_run.py +64 -21
- paasta_tools/cli/cmds/mark_for_deployment.py +9 -1
- paasta_tools/kubernetes_tools.py +5 -19
- paasta_tools/utils.py +9 -0
- {paasta_tools-1.31.4.dist-info → paasta_tools-1.33.0.dist-info}/METADATA +1 -1
- {paasta_tools-1.31.4.dist-info → paasta_tools-1.33.0.dist-info}/RECORD +63 -63
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/apply_external_resources.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/bounce_log_latency_parser.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_autoscaler_max_instances.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_cassandracluster_services_replication.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_flink_services_health.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_kubernetes_api.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_manual_oapi_changes.sh +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_oom_events.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_orphans.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_spark_jobs.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/cleanup_kubernetes_cr.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/cleanup_kubernetes_crd.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/create_dynamodb_table.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/create_paasta_playground.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/emit_allocated_cpu_metrics.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/generate_all_deployments +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/generate_authenticating_services.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/generate_deployments_for_service.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/generate_services_file.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/generate_services_yaml.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/get_running_task_allocation.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/habitat_fixer.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/ide_helper.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/is_pod_healthy_in_proxy.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/is_pod_healthy_in_smartstack.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/kill_bad_containers.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/kubernetes_remove_evicted_pods.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/mass-deploy-tag.sh +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/mock_patch_checker.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_cleanup_remote_run_resources.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_cleanup_stale_nodes.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_deploy_tron_jobs +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_secrets_sync.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_tabcomplete.sh +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_update_soa_memcpu.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/render_template.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/rightsizer_soaconfigs_update.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/service_shard_remove.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/service_shard_update.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/setup_istio_mesh.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_crd.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_internal_crd.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_job.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/setup_prometheus_adapter_config.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/shared_ip_check.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/synapse_srv_namespaces_fact.py +0 -0
- {paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/timeouts_metrics_prom.py +0 -0
- {paasta_tools-1.31.4.dist-info → paasta_tools-1.33.0.dist-info}/WHEEL +0 -0
- {paasta_tools-1.31.4.dist-info → paasta_tools-1.33.0.dist-info}/entry_points.txt +0 -0
- {paasta_tools-1.31.4.dist-info → paasta_tools-1.33.0.dist-info}/licenses/LICENSE +0 -0
- {paasta_tools-1.31.4.dist-info → paasta_tools-1.33.0.dist-info}/top_level.txt +0 -0
paasta_tools/__init__.py
CHANGED
|
@@ -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
|
|
@@ -612,26 +614,70 @@ class LostContainerException(Exception):
|
|
|
612
614
|
pass
|
|
613
615
|
|
|
614
616
|
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
617
|
+
class DockerAuthConfig(TypedDict):
|
|
618
|
+
username: str
|
|
619
|
+
password: str
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
def get_readonly_docker_registry_auth_config(
|
|
623
|
+
docker_url: str,
|
|
624
|
+
) -> DockerAuthConfig | None:
|
|
625
|
+
system_paasta_config = load_system_paasta_config()
|
|
626
|
+
config_path = system_paasta_config.get_readonly_docker_registry_auth_file()
|
|
627
|
+
|
|
628
|
+
with open(config_path) as f:
|
|
629
|
+
docker_config = json.load(f)
|
|
630
|
+
registry = docker_url.split("/")[0]
|
|
631
|
+
|
|
632
|
+
# find matching auth config - our usual ro config will have at least two entries
|
|
633
|
+
# at the time this comment was written
|
|
634
|
+
auths = docker_config
|
|
635
|
+
for auth_url, auth_data in auths.items():
|
|
636
|
+
if registry in auth_url:
|
|
637
|
+
# Decode the base64 auth string if present
|
|
638
|
+
if "auth" in auth_data:
|
|
639
|
+
auth_string = base64.b64decode(auth_data["auth"]).decode("utf-8")
|
|
640
|
+
username, password = auth_string.split(":", 1)
|
|
641
|
+
return {"username": username, "password": password}
|
|
642
|
+
|
|
643
|
+
# afaik, we should only hit this if folks are being naughty and passing a docker url from docker-dev
|
|
644
|
+
return None
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
def docker_pull_image(docker_client: APIClient, docker_url: str) -> None:
|
|
648
|
+
"""Pull an image using the docker-py library with read-only registry credentials"""
|
|
620
649
|
print(
|
|
621
|
-
"Please wait while the image (
|
|
622
|
-
% docker_url,
|
|
650
|
+
f"Please wait while the image ({docker_url}) is pulled (times out after 30m)...",
|
|
623
651
|
file=sys.stderr,
|
|
624
652
|
)
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
653
|
+
|
|
654
|
+
auth_config = get_readonly_docker_registry_auth_config(docker_url)
|
|
655
|
+
if not auth_config:
|
|
656
|
+
print(
|
|
657
|
+
PaastaColors.yellow(
|
|
658
|
+
"Warning: No read-only docker registry credentials found, attempting to pull without authentication."
|
|
659
|
+
),
|
|
660
|
+
file=sys.stderr,
|
|
661
|
+
)
|
|
662
|
+
|
|
663
|
+
try:
|
|
664
|
+
with Timeout(
|
|
665
|
+
seconds=1800,
|
|
666
|
+
error_message=f"Timed out pulling docker image from {docker_url}",
|
|
667
|
+
):
|
|
668
|
+
# this is slightly funky since pull() returns the output line-by-line, but as a dict
|
|
669
|
+
# ...that we then need to format back to the usual `docker pull` output
|
|
670
|
+
# :p
|
|
671
|
+
for line in docker_client.pull(
|
|
672
|
+
docker_url, auth_config=auth_config, stream=True, decode=True
|
|
673
|
+
):
|
|
674
|
+
print(f"{line['id']}: {line['status']}", file=sys.stderr)
|
|
675
|
+
except Exception as e:
|
|
676
|
+
print(
|
|
677
|
+
f"\nPull failed. Error: {e}",
|
|
678
|
+
file=sys.stderr,
|
|
679
|
+
)
|
|
680
|
+
sys.exit(1)
|
|
635
681
|
|
|
636
682
|
|
|
637
683
|
def get_container_id(docker_client, container_name):
|
|
@@ -1226,7 +1272,7 @@ def configure_and_run_docker_container(
|
|
|
1226
1272
|
return 1
|
|
1227
1273
|
|
|
1228
1274
|
if pull_image:
|
|
1229
|
-
docker_pull_image(docker_url)
|
|
1275
|
+
docker_pull_image(docker_client, docker_url)
|
|
1230
1276
|
|
|
1231
1277
|
for volume in instance_config.get_volumes(
|
|
1232
1278
|
system_paasta_config.get_volumes(),
|
|
@@ -1303,9 +1349,6 @@ def docker_config_available():
|
|
|
1303
1349
|
|
|
1304
1350
|
|
|
1305
1351
|
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)
|
|
1309
1352
|
if args.action == "build" and not makefile_responds_to("cook-image"):
|
|
1310
1353
|
print(
|
|
1311
1354
|
"A local Makefile with a 'cook-image' target is required for --build",
|
|
@@ -1264,7 +1264,15 @@ class MarkForDeploymentProcess(RollbackSlackDeploymentProcess):
|
|
|
1264
1264
|
self.ping_authors()
|
|
1265
1265
|
|
|
1266
1266
|
def send_manual_rollback_instructions(self) -> None:
|
|
1267
|
-
|
|
1267
|
+
# NOTE: new deploy groups are not exactly a particularly frequent occurrence, but
|
|
1268
|
+
# we want to prevent sending messages that look like
|
|
1269
|
+
# `If you need to roll back manually, run: paasta rollback --service $S --deploy-group $G --commit None`
|
|
1270
|
+
# since that's not actually valid/actionable.
|
|
1271
|
+
# thus the seemingly out-of-nowhere old_git_sha check: new deploy groups won't have value set there.
|
|
1272
|
+
if (
|
|
1273
|
+
self.deployment_version != self.old_deployment_version
|
|
1274
|
+
and self.old_git_sha is not None
|
|
1275
|
+
):
|
|
1268
1276
|
extra_rollback_args = ""
|
|
1269
1277
|
if self.old_deployment_version.image_version:
|
|
1270
1278
|
extra_rollback_args = (
|
paasta_tools/kubernetes_tools.py
CHANGED
|
@@ -2424,6 +2424,10 @@ class KubernetesDeploymentConfig(LongRunningServiceConfig):
|
|
|
2424
2424
|
"paasta.yelp.com/cluster": self.cluster,
|
|
2425
2425
|
"yelp.com/owner": "compute_infra_platform_experience",
|
|
2426
2426
|
"paasta.yelp.com/managed": "true",
|
|
2427
|
+
# NOTE: this is mostly here for autoscaling purposes: we use information from the deploy group
|
|
2428
|
+
# during Prometheus relabeling - but it's not a bad label to have around in general, thus its
|
|
2429
|
+
# inclusion here
|
|
2430
|
+
"paasta.yelp.com/deploy_group": self.get_deploy_group(),
|
|
2427
2431
|
}
|
|
2428
2432
|
if service_namespace_config.is_in_smartstack():
|
|
2429
2433
|
labels["paasta.yelp.com/weight"] = str(self.get_weight())
|
|
@@ -2449,25 +2453,7 @@ class KubernetesDeploymentConfig(LongRunningServiceConfig):
|
|
|
2449
2453
|
|
|
2450
2454
|
# not all services use autoscaling, so we label those that do in order to have
|
|
2451
2455
|
# prometheus selectively discover/scrape them
|
|
2452
|
-
|
|
2453
|
-
METRICS_PROVIDER_UWSGI,
|
|
2454
|
-
METRICS_PROVIDER_PISCINA,
|
|
2455
|
-
METRICS_PROVIDER_GUNICORN,
|
|
2456
|
-
METRICS_PROVIDER_WORKER_LOAD,
|
|
2457
|
-
]
|
|
2458
|
-
|
|
2459
|
-
if any(
|
|
2460
|
-
self.should_use_metrics_provider(provider)
|
|
2461
|
-
for provider in metrics_providers_needing_deploy_group
|
|
2462
|
-
):
|
|
2463
|
-
# Deploy group is needed for Prometheus relabeling properly
|
|
2464
|
-
# This should probably eventually be made into a default label,
|
|
2465
|
-
# but for now we're fine with it being behind these feature toggles.
|
|
2466
|
-
# Ideally, we'd also have the docker image here for ease-of-use
|
|
2467
|
-
# in Prometheus relabeling, but that information is over the
|
|
2468
|
-
# character limit for k8s labels (63 chars)
|
|
2469
|
-
labels["paasta.yelp.com/deploy_group"] = self.get_deploy_group()
|
|
2470
|
-
|
|
2456
|
+
# NOTE: these are not mutually exclusive as a service could use multiple autoscaling types
|
|
2471
2457
|
if self.should_use_metrics_provider(METRICS_PROVIDER_PISCINA):
|
|
2472
2458
|
labels["paasta.yelp.com/scrape_piscina_prometheus"] = "true"
|
|
2473
2459
|
|
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,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=
|
|
4
|
+
paasta_tools/__init__.py,sha256=U6CR048yMzCKGyw_UBlRejwUsKjoMQYqBR5RmjETCmU,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
|
|
@@ -44,7 +44,7 @@ paasta_tools/generate_services_yaml.py,sha256=BM760XGEOmLeJcEm0ez5nBZ2NmFJWsNXbZ
|
|
|
44
44
|
paasta_tools/hacheck.py,sha256=GtQd32G4JoB2bOWqzH9h9NPrkg8a50i-iXAblfYz2p4,2748
|
|
45
45
|
paasta_tools/iptables.py,sha256=SQ7hutHarfCd13oAknKv_h9rUuln4rf11W6C2HHUy9g,7518
|
|
46
46
|
paasta_tools/kafkacluster_tools.py,sha256=NMfowdpYhFpXW55MKx_eX6rrQj5Fn-5M_9ryZKd749A,4992
|
|
47
|
-
paasta_tools/kubernetes_tools.py,sha256=
|
|
47
|
+
paasta_tools/kubernetes_tools.py,sha256=x6KrmucTrNM08Zho1qwdCDA_qNiIqK5HJhF_d3_3aU0,181285
|
|
48
48
|
paasta_tools/list_kubernetes_service_instances.py,sha256=UEPiTqNxUAqUgSyPzJlNcrI2W4HBwpngzDM1QD6AAVQ,3910
|
|
49
49
|
paasta_tools/list_tron_namespaces.py,sha256=wfSkPY9_C-RkORmnon3DWL2lVZ4GNSSDG9VkFrDfY1E,1679
|
|
50
50
|
paasta_tools/long_running_service_tools.py,sha256=RphI6rDE4BK2zN2bfM900abuj7kDn7YXUcMq4pQVyO4,26400
|
|
@@ -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=
|
|
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,9 +124,9 @@ 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=
|
|
127
|
+
paasta_tools/cli/cmds/local_run.py,sha256=wEj5sdoZwC07RBmL4J52FLbqNVyjxXuw6mkHft21N9Y,52358
|
|
128
128
|
paasta_tools/cli/cmds/logs.py,sha256=fx4hdmHssPNRpmqEuyLLxnBAbevrDG-r89VULr89bzE,58922
|
|
129
|
-
paasta_tools/cli/cmds/mark_for_deployment.py,sha256=
|
|
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
|
|
131
131
|
paasta_tools/cli/cmds/pause_service_autoscaler.py,sha256=3Ie0wTkpRkl-Uja33WzWkPmBa5EJcPxMNAcZ8_P1LSo,3494
|
|
132
132
|
paasta_tools/cli/cmds/push_to_registry.py,sha256=F7hWPY7MFtqznUfmJoQ0QPc5zAF5BS30_FWdQOrIqME,9736
|
|
@@ -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.
|
|
291
|
-
paasta_tools-1.
|
|
292
|
-
paasta_tools-1.
|
|
293
|
-
paasta_tools-1.
|
|
294
|
-
paasta_tools-1.
|
|
295
|
-
paasta_tools-1.
|
|
296
|
-
paasta_tools-1.
|
|
297
|
-
paasta_tools-1.
|
|
298
|
-
paasta_tools-1.
|
|
299
|
-
paasta_tools-1.
|
|
300
|
-
paasta_tools-1.
|
|
301
|
-
paasta_tools-1.
|
|
302
|
-
paasta_tools-1.
|
|
303
|
-
paasta_tools-1.
|
|
304
|
-
paasta_tools-1.
|
|
305
|
-
paasta_tools-1.
|
|
306
|
-
paasta_tools-1.
|
|
307
|
-
paasta_tools-1.
|
|
308
|
-
paasta_tools-1.
|
|
309
|
-
paasta_tools-1.
|
|
310
|
-
paasta_tools-1.
|
|
311
|
-
paasta_tools-1.
|
|
312
|
-
paasta_tools-1.
|
|
313
|
-
paasta_tools-1.
|
|
314
|
-
paasta_tools-1.
|
|
315
|
-
paasta_tools-1.
|
|
316
|
-
paasta_tools-1.
|
|
317
|
-
paasta_tools-1.
|
|
318
|
-
paasta_tools-1.
|
|
319
|
-
paasta_tools-1.
|
|
320
|
-
paasta_tools-1.
|
|
321
|
-
paasta_tools-1.
|
|
322
|
-
paasta_tools-1.
|
|
323
|
-
paasta_tools-1.
|
|
324
|
-
paasta_tools-1.
|
|
325
|
-
paasta_tools-1.
|
|
326
|
-
paasta_tools-1.
|
|
327
|
-
paasta_tools-1.
|
|
328
|
-
paasta_tools-1.
|
|
329
|
-
paasta_tools-1.
|
|
330
|
-
paasta_tools-1.
|
|
331
|
-
paasta_tools-1.
|
|
332
|
-
paasta_tools-1.
|
|
333
|
-
paasta_tools-1.
|
|
334
|
-
paasta_tools-1.
|
|
335
|
-
paasta_tools-1.
|
|
336
|
-
paasta_tools-1.
|
|
337
|
-
paasta_tools-1.
|
|
338
|
-
paasta_tools-1.
|
|
339
|
-
paasta_tools-1.
|
|
340
|
-
paasta_tools-1.
|
|
341
|
-
paasta_tools-1.
|
|
342
|
-
paasta_tools-1.
|
|
343
|
-
paasta_tools-1.
|
|
344
|
-
paasta_tools-1.
|
|
345
|
-
paasta_tools-1.
|
|
346
|
-
paasta_tools-1.
|
|
347
|
-
paasta_tools-1.
|
|
290
|
+
paasta_tools-1.33.0.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
|
|
291
|
+
paasta_tools-1.33.0.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
|
|
292
|
+
paasta_tools-1.33.0.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
|
|
293
|
+
paasta_tools-1.33.0.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
|
|
294
|
+
paasta_tools-1.33.0.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
|
|
295
|
+
paasta_tools-1.33.0.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
|
|
296
|
+
paasta_tools-1.33.0.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
|
|
297
|
+
paasta_tools-1.33.0.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
|
|
298
|
+
paasta_tools-1.33.0.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
|
|
299
|
+
paasta_tools-1.33.0.data/scripts/check_orphans.py,sha256=9PmzRUZ1HwCcmTm4J1xTznz7hZl8fKsu1wdXUDufXJs,9984
|
|
300
|
+
paasta_tools-1.33.0.data/scripts/check_spark_jobs.py,sha256=W4HUIbX_ylxl4DlqcdmoRWDbKYgPEr04OM-DLvfnXE8,7316
|
|
301
|
+
paasta_tools-1.33.0.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
|
|
302
|
+
paasta_tools-1.33.0.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
|
|
303
|
+
paasta_tools-1.33.0.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
|
|
304
|
+
paasta_tools-1.33.0.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
|
|
305
|
+
paasta_tools-1.33.0.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
|
|
306
|
+
paasta_tools-1.33.0.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
|
|
307
|
+
paasta_tools-1.33.0.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
|
|
308
|
+
paasta_tools-1.33.0.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
|
|
309
|
+
paasta_tools-1.33.0.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
|
|
310
|
+
paasta_tools-1.33.0.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
|
|
311
|
+
paasta_tools-1.33.0.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
|
|
312
|
+
paasta_tools-1.33.0.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
|
|
313
|
+
paasta_tools-1.33.0.data/scripts/get_running_task_allocation.py,sha256=NGYO2td42XQOduUmvgz0CZw0ir36bY6fUe3VOR1Ln6E,10876
|
|
314
|
+
paasta_tools-1.33.0.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
|
|
315
|
+
paasta_tools-1.33.0.data/scripts/ide_helper.py,sha256=QUVWxIeh54IhTn3HEhBrmJKvtgw6RDv9smoJ-6pZA4c,12348
|
|
316
|
+
paasta_tools-1.33.0.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
|
|
317
|
+
paasta_tools-1.33.0.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
|
|
318
|
+
paasta_tools-1.33.0.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
|
|
319
|
+
paasta_tools-1.33.0.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
|
|
320
|
+
paasta_tools-1.33.0.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
|
|
321
|
+
paasta_tools-1.33.0.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
|
|
322
|
+
paasta_tools-1.33.0.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
|
|
323
|
+
paasta_tools-1.33.0.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
|
|
324
|
+
paasta_tools-1.33.0.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
|
|
325
|
+
paasta_tools-1.33.0.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
|
|
326
|
+
paasta_tools-1.33.0.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
|
|
327
|
+
paasta_tools-1.33.0.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
|
|
328
|
+
paasta_tools-1.33.0.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
|
|
329
|
+
paasta_tools-1.33.0.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
|
|
330
|
+
paasta_tools-1.33.0.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
|
|
331
|
+
paasta_tools-1.33.0.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
|
|
332
|
+
paasta_tools-1.33.0.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
|
|
333
|
+
paasta_tools-1.33.0.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
|
|
334
|
+
paasta_tools-1.33.0.data/scripts/setup_kubernetes_cr.py,sha256=xsZJ_X1YpQ0NExyY1cXFH8KW2_vAgctCwdrW0bu102s,14931
|
|
335
|
+
paasta_tools-1.33.0.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
|
|
336
|
+
paasta_tools-1.33.0.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
|
|
337
|
+
paasta_tools-1.33.0.data/scripts/setup_kubernetes_job.py,sha256=H2VuRaCpBj-J2Qc3DmIMutGuDL8nlfabshEiCGNNqmY,19095
|
|
338
|
+
paasta_tools-1.33.0.data/scripts/setup_prometheus_adapter_config.py,sha256=JzvztaJ__5MOAV6pD5Vj3mamARh6TZUCzYdlqhWDOOY,43962
|
|
339
|
+
paasta_tools-1.33.0.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
|
|
340
|
+
paasta_tools-1.33.0.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
|
|
341
|
+
paasta_tools-1.33.0.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
|
|
342
|
+
paasta_tools-1.33.0.dist-info/licenses/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
|
|
343
|
+
paasta_tools-1.33.0.dist-info/METADATA,sha256=S1FjkfNEp2tfP1mB0RmJKPSI-MjxG0QbaX8Rbf6Uz9o,2259
|
|
344
|
+
paasta_tools-1.33.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
345
|
+
paasta_tools-1.33.0.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
|
|
346
|
+
paasta_tools-1.33.0.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
|
|
347
|
+
paasta_tools-1.33.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_autoscaler_max_instances.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/check_flink_services_health.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/delete_kubernetes_deployments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/generate_authenticating_services.py
RENAMED
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/generate_deployments_for_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/get_running_task_allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/is_pod_healthy_in_smartstack.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/kubernetes_remove_evicted_pods.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_cleanup_remote_run_resources.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/paasta_execute_docker_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/rightsizer_soaconfigs_update.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/setup_kubernetes_internal_crd.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/setup_prometheus_adapter_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.4.data → paasta_tools-1.33.0.data}/scripts/synapse_srv_namespaces_fact.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|