paasta-tools 1.24.1__py3-none-any.whl → 1.25.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.
- paasta_tools/__init__.py +1 -1
- paasta_tools/cleanup_expired_autoscaling_overrides.py +155 -0
- paasta_tools/kubernetes_tools.py +43 -0
- {paasta_tools-1.24.1.dist-info → paasta_tools-1.25.1.dist-info}/METADATA +2 -2
- {paasta_tools-1.24.1.dist-info → paasta_tools-1.25.1.dist-info}/RECORD +61 -60
- {paasta_tools-1.24.1.dist-info → paasta_tools-1.25.1.dist-info}/entry_points.txt +1 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/apply_external_resources.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/bounce_log_latency_parser.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_autoscaler_max_instances.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_cassandracluster_services_replication.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_flink_services_health.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_kubernetes_api.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_manual_oapi_changes.sh +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_oom_events.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_orphans.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_spark_jobs.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/cleanup_kubernetes_cr.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/cleanup_kubernetes_crd.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/create_dynamodb_table.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/create_paasta_playground.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/emit_allocated_cpu_metrics.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/generate_all_deployments +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/generate_authenticating_services.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/generate_deployments_for_service.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/generate_services_file.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/generate_services_yaml.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/get_running_task_allocation.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/habitat_fixer.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/ide_helper.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/is_pod_healthy_in_proxy.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/is_pod_healthy_in_smartstack.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/kill_bad_containers.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/kubernetes_remove_evicted_pods.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/mass-deploy-tag.sh +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/mock_patch_checker.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/paasta_cleanup_remote_run_resources.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/paasta_cleanup_stale_nodes.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/paasta_deploy_tron_jobs +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/paasta_secrets_sync.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/paasta_tabcomplete.sh +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/paasta_update_soa_memcpu.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/render_template.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/rightsizer_soaconfigs_update.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/service_shard_remove.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/service_shard_update.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/setup_istio_mesh.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/setup_kubernetes_crd.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/setup_kubernetes_internal_crd.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/setup_kubernetes_job.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/setup_prometheus_adapter_config.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/shared_ip_check.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/synapse_srv_namespaces_fact.py +0 -0
- {paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/timeouts_metrics_prom.py +0 -0
- {paasta_tools-1.24.1.dist-info → paasta_tools-1.25.1.dist-info}/LICENSE +0 -0
- {paasta_tools-1.24.1.dist-info → paasta_tools-1.25.1.dist-info}/WHEEL +0 -0
- {paasta_tools-1.24.1.dist-info → paasta_tools-1.25.1.dist-info}/top_level.txt +0 -0
paasta_tools/__init__.py
CHANGED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import argparse
|
|
2
|
+
import json
|
|
3
|
+
import logging
|
|
4
|
+
import sys
|
|
5
|
+
import time
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from datetime import timezone
|
|
8
|
+
|
|
9
|
+
from kubernetes.client.rest import ApiException
|
|
10
|
+
|
|
11
|
+
from paasta_tools.kubernetes_tools import AUTOSCALING_OVERRIDES_CONFIGMAP_NAME
|
|
12
|
+
from paasta_tools.kubernetes_tools import AUTOSCALING_OVERRIDES_CONFIGMAP_NAMESPACE
|
|
13
|
+
from paasta_tools.kubernetes_tools import get_namespaced_configmap
|
|
14
|
+
from paasta_tools.kubernetes_tools import KubeClient
|
|
15
|
+
from paasta_tools.kubernetes_tools import replace_namespaced_configmap
|
|
16
|
+
|
|
17
|
+
log = logging.getLogger(__name__)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def parse_args():
|
|
21
|
+
parser = argparse.ArgumentParser(
|
|
22
|
+
description=f"Clean up expired entries from the {AUTOSCALING_OVERRIDES_CONFIGMAP_NAME} configmap"
|
|
23
|
+
)
|
|
24
|
+
parser.add_argument(
|
|
25
|
+
"--dry-run",
|
|
26
|
+
dest="dry_run",
|
|
27
|
+
action="store_true",
|
|
28
|
+
help="Print entries to be removed instead of removing them",
|
|
29
|
+
)
|
|
30
|
+
parser.add_argument(
|
|
31
|
+
"-v", "--verbose", dest="verbose", action="store_true", default=False
|
|
32
|
+
)
|
|
33
|
+
args = parser.parse_args()
|
|
34
|
+
return args
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def setup_logging(verbose):
|
|
38
|
+
level = logging.DEBUG if verbose else logging.INFO
|
|
39
|
+
logging.basicConfig(level=level)
|
|
40
|
+
# silence kubernetes client metadata logs since debug ones are pretty noisy
|
|
41
|
+
logging.getLogger("kubernetes.client.rest").setLevel(logging.ERROR)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def main():
|
|
45
|
+
args = parse_args()
|
|
46
|
+
setup_logging(args.verbose)
|
|
47
|
+
|
|
48
|
+
kube_client = KubeClient()
|
|
49
|
+
|
|
50
|
+
try:
|
|
51
|
+
configmap = get_namespaced_configmap(
|
|
52
|
+
name=AUTOSCALING_OVERRIDES_CONFIGMAP_NAME,
|
|
53
|
+
namespace=AUTOSCALING_OVERRIDES_CONFIGMAP_NAMESPACE,
|
|
54
|
+
kube_client=kube_client,
|
|
55
|
+
)
|
|
56
|
+
except ApiException as e:
|
|
57
|
+
if e.status == 404:
|
|
58
|
+
log.debug(
|
|
59
|
+
f"ConfigMap {AUTOSCALING_OVERRIDES_CONFIGMAP_NAME} not found, nothing to clean up"
|
|
60
|
+
)
|
|
61
|
+
sys.exit(0)
|
|
62
|
+
else:
|
|
63
|
+
log.error(f"Error retrieving ConfigMap: {e}")
|
|
64
|
+
sys.exit(1)
|
|
65
|
+
|
|
66
|
+
if configmap is None:
|
|
67
|
+
log.debug(
|
|
68
|
+
f"ConfigMap {AUTOSCALING_OVERRIDES_CONFIGMAP_NAME} not found, nothing to clean up"
|
|
69
|
+
)
|
|
70
|
+
sys.exit(0)
|
|
71
|
+
|
|
72
|
+
if not configmap.data:
|
|
73
|
+
log.debug("ConfigMap has no data, nothing to clean up")
|
|
74
|
+
sys.exit(0)
|
|
75
|
+
|
|
76
|
+
current_timestamp = (
|
|
77
|
+
time.time()
|
|
78
|
+
) # we'll fix the comparison time to the start of the script execution
|
|
79
|
+
expired_entries = [] # used just for logging
|
|
80
|
+
unexpired_data = {} # used to replace the existing configmap data
|
|
81
|
+
|
|
82
|
+
log.debug(f"Current timestamp: {current_timestamp}")
|
|
83
|
+
for service_instance, override_json in configmap.data.items():
|
|
84
|
+
log.debug(f"Processing entry for {service_instance}")
|
|
85
|
+
|
|
86
|
+
try:
|
|
87
|
+
override_data = json.loads(override_json)
|
|
88
|
+
except json.JSONDecodeError:
|
|
89
|
+
log.exception(
|
|
90
|
+
f"Failed to parse JSON for {service_instance}, removing entry"
|
|
91
|
+
)
|
|
92
|
+
expired_entries.append(service_instance)
|
|
93
|
+
continue
|
|
94
|
+
|
|
95
|
+
if "expire_after" not in override_data:
|
|
96
|
+
log.warning(
|
|
97
|
+
f"Entry for {service_instance} missing expire_after field, removing entry"
|
|
98
|
+
)
|
|
99
|
+
expired_entries.append(service_instance)
|
|
100
|
+
continue
|
|
101
|
+
|
|
102
|
+
try:
|
|
103
|
+
expire_after = float(override_data["expire_after"])
|
|
104
|
+
except (ValueError, TypeError):
|
|
105
|
+
log.exception(
|
|
106
|
+
f"Failed to parse expire_after for {service_instance}, removing entry"
|
|
107
|
+
)
|
|
108
|
+
expired_entries.append(service_instance)
|
|
109
|
+
continue
|
|
110
|
+
|
|
111
|
+
if current_timestamp > expire_after:
|
|
112
|
+
expire_datetime = datetime.fromtimestamp(expire_after, tz=timezone.utc)
|
|
113
|
+
log.debug(
|
|
114
|
+
f"Entry for {service_instance} expired at {expire_after} ({expire_datetime})"
|
|
115
|
+
)
|
|
116
|
+
expired_entries.append(service_instance)
|
|
117
|
+
else:
|
|
118
|
+
expire_datetime = datetime.fromtimestamp(expire_after, tz=timezone.utc)
|
|
119
|
+
log.debug(
|
|
120
|
+
f"Entry for {service_instance} expires at {expire_after} ({expire_datetime}), keeping"
|
|
121
|
+
)
|
|
122
|
+
unexpired_data[service_instance] = override_json
|
|
123
|
+
|
|
124
|
+
if not expired_entries:
|
|
125
|
+
log.info("No expired entries found")
|
|
126
|
+
sys.exit(0)
|
|
127
|
+
|
|
128
|
+
if args.dry_run:
|
|
129
|
+
log.info(
|
|
130
|
+
"Would have removed the following expired entries:\n "
|
|
131
|
+
+ "\n ".join(expired_entries)
|
|
132
|
+
)
|
|
133
|
+
sys.exit(0)
|
|
134
|
+
|
|
135
|
+
try:
|
|
136
|
+
configmap.data = (
|
|
137
|
+
unexpired_data # naughtily re-use the existing configmap object
|
|
138
|
+
)
|
|
139
|
+
replace_namespaced_configmap( # NOTE: this is not a patch since you cannot currently remove entries in a patch
|
|
140
|
+
name=AUTOSCALING_OVERRIDES_CONFIGMAP_NAME,
|
|
141
|
+
namespace=AUTOSCALING_OVERRIDES_CONFIGMAP_NAMESPACE,
|
|
142
|
+
body=configmap,
|
|
143
|
+
kube_client=kube_client,
|
|
144
|
+
)
|
|
145
|
+
log.info(
|
|
146
|
+
f"Successfully removed {len(expired_entries)} expired entries:\n "
|
|
147
|
+
+ "\n ".join(expired_entries)
|
|
148
|
+
)
|
|
149
|
+
except ApiException as e:
|
|
150
|
+
log.error(f"Failed to update ConfigMap: {e}")
|
|
151
|
+
sys.exit(1)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
if __name__ == "__main__":
|
|
155
|
+
main()
|
paasta_tools/kubernetes_tools.py
CHANGED
|
@@ -4709,6 +4709,49 @@ def patch_namespaced_configmap(
|
|
|
4709
4709
|
raise
|
|
4710
4710
|
|
|
4711
4711
|
|
|
4712
|
+
def replace_namespaced_configmap(
|
|
4713
|
+
name: str,
|
|
4714
|
+
body: V1ConfigMap,
|
|
4715
|
+
*,
|
|
4716
|
+
namespace: str,
|
|
4717
|
+
kube_client: KubeClient,
|
|
4718
|
+
) -> V1ConfigMap:
|
|
4719
|
+
"""
|
|
4720
|
+
Replaces an existing configmap with the given configmap.
|
|
4721
|
+
"""
|
|
4722
|
+
try:
|
|
4723
|
+
return kube_client.core.replace_namespaced_config_map(
|
|
4724
|
+
name=name, namespace=namespace, body=body
|
|
4725
|
+
)
|
|
4726
|
+
except ApiException as e:
|
|
4727
|
+
if e.status == 404:
|
|
4728
|
+
raise ValueError(f"ConfigMap {name} not found in namespace {namespace}")
|
|
4729
|
+
else:
|
|
4730
|
+
raise
|
|
4731
|
+
|
|
4732
|
+
|
|
4733
|
+
def delete_namespaced_configmap(
|
|
4734
|
+
name: str,
|
|
4735
|
+
body: V1ConfigMap,
|
|
4736
|
+
*,
|
|
4737
|
+
namespace: str,
|
|
4738
|
+
kube_client: KubeClient,
|
|
4739
|
+
) -> V1ConfigMap:
|
|
4740
|
+
"""
|
|
4741
|
+
Delete a configmap with the given name in the given namespace.
|
|
4742
|
+
"""
|
|
4743
|
+
try:
|
|
4744
|
+
return kube_client.core.delete_namespaced_config_map(
|
|
4745
|
+
name=name,
|
|
4746
|
+
namespace=namespace,
|
|
4747
|
+
)
|
|
4748
|
+
except ApiException as e:
|
|
4749
|
+
if e.status == 404:
|
|
4750
|
+
raise ValueError(f"ConfigMap {name} not found in namespace {namespace}")
|
|
4751
|
+
else:
|
|
4752
|
+
raise
|
|
4753
|
+
|
|
4754
|
+
|
|
4712
4755
|
def get_or_create_namespaced_configmap(
|
|
4713
4756
|
configmap: str,
|
|
4714
4757
|
*,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: paasta-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.25.1
|
|
4
4
|
Summary: Tools for Yelps SOA infrastructure
|
|
5
5
|
Author: Compute Infrastructure @ Yelp
|
|
6
6
|
Author-email: compute-infra@yelp.com
|
|
@@ -59,7 +59,7 @@ Requires-Dist: requests-cache >=0.4.10
|
|
|
59
59
|
Requires-Dist: retry
|
|
60
60
|
Requires-Dist: ruamel.yaml
|
|
61
61
|
Requires-Dist: sensu-plugin
|
|
62
|
-
Requires-Dist: service-configuration-lib >=3.3.
|
|
62
|
+
Requires-Dist: service-configuration-lib >=3.3.5
|
|
63
63
|
Requires-Dist: signalfx
|
|
64
64
|
Requires-Dist: slackclient >=1.2.1
|
|
65
65
|
Requires-Dist: sticht >=1.1.0
|
|
@@ -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=DchQixGQ0R4t8aTpsJvqZZdNnlkpkzEaal86DR7_wcM,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
|
|
@@ -16,6 +16,7 @@ paasta_tools/check_kubernetes_services_replication.py,sha256=UR_dUZ7xSUwMccQrD6n
|
|
|
16
16
|
paasta_tools/check_oom_events.py,sha256=z5jsIwpdC_wLHigaYKbJjvAYMVhellLaM9pD2041gCQ,7814
|
|
17
17
|
paasta_tools/check_services_replication_tools.py,sha256=w6hMyE4x4XUcABQw3LnmOXzTLRV6Tkkj74o51Bj1dsU,11221
|
|
18
18
|
paasta_tools/check_spark_jobs.py,sha256=oo08IOtRvZMW0Aw7vXUYfJQKTiAdEl2wzm_XCkA-mg0,7330
|
|
19
|
+
paasta_tools/cleanup_expired_autoscaling_overrides.py,sha256=WORimMeULugPwr8soJTi_zAZrL-nPgneiX-Ywt3VJgo,5182
|
|
19
20
|
paasta_tools/cleanup_kubernetes_cr.py,sha256=cbFvIPt059t2ThwgouzINNC-YPnu3HuYtw9mbLUtOJc,4672
|
|
20
21
|
paasta_tools/cleanup_kubernetes_crd.py,sha256=O2RbfYeCUbNFEmJlKpzazy4odjAZfm39UKYxhXxbi-U,4491
|
|
21
22
|
paasta_tools/cleanup_kubernetes_jobs.py,sha256=i7QyR_1pk-UP3lAI2NGqbM_q89yxVo0Kzc-06X6yeIQ,12446
|
|
@@ -43,7 +44,7 @@ paasta_tools/generate_services_yaml.py,sha256=BM760XGEOmLeJcEm0ez5nBZ2NmFJWsNXbZ
|
|
|
43
44
|
paasta_tools/hacheck.py,sha256=GtQd32G4JoB2bOWqzH9h9NPrkg8a50i-iXAblfYz2p4,2748
|
|
44
45
|
paasta_tools/iptables.py,sha256=SQ7hutHarfCd13oAknKv_h9rUuln4rf11W6C2HHUy9g,7518
|
|
45
46
|
paasta_tools/kafkacluster_tools.py,sha256=NMfowdpYhFpXW55MKx_eX6rrQj5Fn-5M_9ryZKd749A,4992
|
|
46
|
-
paasta_tools/kubernetes_tools.py,sha256=
|
|
47
|
+
paasta_tools/kubernetes_tools.py,sha256=6exXAaaKLEPMUIYgQJUf3QvbJ-D7wfCdX8SClP7CShs,182172
|
|
47
48
|
paasta_tools/list_kubernetes_service_instances.py,sha256=UEPiTqNxUAqUgSyPzJlNcrI2W4HBwpngzDM1QD6AAVQ,3910
|
|
48
49
|
paasta_tools/list_tron_namespaces.py,sha256=wfSkPY9_C-RkORmnon3DWL2lVZ4GNSSDG9VkFrDfY1E,1679
|
|
49
50
|
paasta_tools/long_running_service_tools.py,sha256=PE4K9opcx16tEc3XxWgQBKCpV4cJYS2JfN-dyTFhmB4,26137
|
|
@@ -291,61 +292,61 @@ paasta_tools/tron/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
|
291
292
|
paasta_tools/tron/client.py,sha256=ypWjM4bZCzQWLn-qe1driqAxvF0ux8dROuFUv63dryA,5562
|
|
292
293
|
paasta_tools/tron/tron_command_context.py,sha256=c6mph_DAt7pjcE3Uo271haJ0DfxJzfvcRhR2o-UmOeY,5379
|
|
293
294
|
paasta_tools/tron/tron_timeutils.py,sha256=vDn04K7A3Xbs3lM04EgLuViC8AavOc5qyo8J5MC5nLk,3054
|
|
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.
|
|
348
|
-
paasta_tools-1.
|
|
349
|
-
paasta_tools-1.
|
|
350
|
-
paasta_tools-1.
|
|
351
|
-
paasta_tools-1.
|
|
295
|
+
paasta_tools-1.25.1.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
|
|
296
|
+
paasta_tools-1.25.1.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
|
|
297
|
+
paasta_tools-1.25.1.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
|
|
298
|
+
paasta_tools-1.25.1.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
|
|
299
|
+
paasta_tools-1.25.1.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
|
|
300
|
+
paasta_tools-1.25.1.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
|
|
301
|
+
paasta_tools-1.25.1.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
|
|
302
|
+
paasta_tools-1.25.1.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
|
|
303
|
+
paasta_tools-1.25.1.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
|
|
304
|
+
paasta_tools-1.25.1.data/scripts/check_orphans.py,sha256=zVC5ShFY7LUnPDUytRNsMgvqXkECHvyZlc3qZMpxLko,9985
|
|
305
|
+
paasta_tools-1.25.1.data/scripts/check_spark_jobs.py,sha256=pVUdWmZSBuh4CbpW7cZ1Loq8FX0QFS0LQk2b24TGRyE,7317
|
|
306
|
+
paasta_tools-1.25.1.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
|
|
307
|
+
paasta_tools-1.25.1.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
|
|
308
|
+
paasta_tools-1.25.1.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
|
|
309
|
+
paasta_tools-1.25.1.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
|
|
310
|
+
paasta_tools-1.25.1.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
|
|
311
|
+
paasta_tools-1.25.1.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
|
|
312
|
+
paasta_tools-1.25.1.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
|
|
313
|
+
paasta_tools-1.25.1.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
|
|
314
|
+
paasta_tools-1.25.1.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
|
|
315
|
+
paasta_tools-1.25.1.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
|
|
316
|
+
paasta_tools-1.25.1.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
|
|
317
|
+
paasta_tools-1.25.1.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
|
|
318
|
+
paasta_tools-1.25.1.data/scripts/get_running_task_allocation.py,sha256=rV2IFGWU2sEYAVDCwKZgeseOAewFzfDiFeCnsPXdGXY,10890
|
|
319
|
+
paasta_tools-1.25.1.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
|
|
320
|
+
paasta_tools-1.25.1.data/scripts/ide_helper.py,sha256=YxHHqbnrJ88XI9Pmlup2QSvp15qVN5ugLuPYkEsmBCw,12334
|
|
321
|
+
paasta_tools-1.25.1.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
|
|
322
|
+
paasta_tools-1.25.1.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
|
|
323
|
+
paasta_tools-1.25.1.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
|
|
324
|
+
paasta_tools-1.25.1.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
|
|
325
|
+
paasta_tools-1.25.1.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
|
|
326
|
+
paasta_tools-1.25.1.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
|
|
327
|
+
paasta_tools-1.25.1.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
|
|
328
|
+
paasta_tools-1.25.1.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
|
|
329
|
+
paasta_tools-1.25.1.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
|
|
330
|
+
paasta_tools-1.25.1.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
|
|
331
|
+
paasta_tools-1.25.1.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
|
|
332
|
+
paasta_tools-1.25.1.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
|
|
333
|
+
paasta_tools-1.25.1.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
|
|
334
|
+
paasta_tools-1.25.1.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
|
|
335
|
+
paasta_tools-1.25.1.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
|
|
336
|
+
paasta_tools-1.25.1.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
|
|
337
|
+
paasta_tools-1.25.1.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
|
|
338
|
+
paasta_tools-1.25.1.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
|
|
339
|
+
paasta_tools-1.25.1.data/scripts/setup_kubernetes_cr.py,sha256=8Jj362SLgoR6k0ZwzZ4bkJc3RJrxk-f2dpHD5zJXCuo,14625
|
|
340
|
+
paasta_tools-1.25.1.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
|
|
341
|
+
paasta_tools-1.25.1.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
|
|
342
|
+
paasta_tools-1.25.1.data/scripts/setup_kubernetes_job.py,sha256=2_6UruJvAonuF3PJIumCvdpyOi4C89YYIoPBL1kLrtY,16943
|
|
343
|
+
paasta_tools-1.25.1.data/scripts/setup_prometheus_adapter_config.py,sha256=51iFbtMu7MZzv9PVuQftJ59BUVBKdeC7G_zkt9-IXdc,40728
|
|
344
|
+
paasta_tools-1.25.1.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
|
|
345
|
+
paasta_tools-1.25.1.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
|
|
346
|
+
paasta_tools-1.25.1.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
|
|
347
|
+
paasta_tools-1.25.1.dist-info/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
|
|
348
|
+
paasta_tools-1.25.1.dist-info/METADATA,sha256=vC3IjWflKxjbdRFdmtQUM7TO_26Uln5EzhIe6uVtn6Y,2202
|
|
349
|
+
paasta_tools-1.25.1.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
350
|
+
paasta_tools-1.25.1.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
|
|
351
|
+
paasta_tools-1.25.1.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
|
|
352
|
+
paasta_tools-1.25.1.dist-info/RECORD,,
|
|
@@ -4,6 +4,7 @@ paasta-api = paasta_tools.api.api:main
|
|
|
4
4
|
paasta-deployd = paasta_tools.deployd.master:main
|
|
5
5
|
paasta-fsm = paasta_tools.cli.fsm_cmd:main
|
|
6
6
|
paasta_broadcast_log = paasta_tools.broadcast_log_to_services:main
|
|
7
|
+
paasta_cleanup_expired_autoscaling_overrides = paasta_tools.cleanup_expired_autoscaling_overrides:main
|
|
7
8
|
paasta_cleanup_tron_namespaces = paasta_tools.cleanup_tron_namespaces:main
|
|
8
9
|
paasta_docker_wrapper = paasta_tools.docker_wrapper:main
|
|
9
10
|
paasta_dump_locally_running_services = paasta_tools.dump_locally_running_services:main
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/check_autoscaler_max_instances.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.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.24.1.data → paasta_tools-1.25.1.data}/scripts/delete_kubernetes_deployments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/generate_authenticating_services.py
RENAMED
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/generate_deployments_for_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/get_running_task_allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/is_pod_healthy_in_smartstack.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/kubernetes_remove_evicted_pods.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/paasta_cleanup_remote_run_resources.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.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.24.1.data → paasta_tools-1.25.1.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.24.1.data → paasta_tools-1.25.1.data}/scripts/setup_kubernetes_internal_crd.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/setup_prometheus_adapter_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.24.1.data → paasta_tools-1.25.1.data}/scripts/synapse_srv_namespaces_fact.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|