paasta-tools 1.30.9__py3-none-any.whl → 1.35.8__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.
Potentially problematic release.
This version of paasta-tools might be problematic. Click here for more details.
- paasta_tools/__init__.py +1 -1
- paasta_tools/api/api_docs/swagger.json +5 -0
- paasta_tools/cli/cmds/autoscale.py +2 -0
- paasta_tools/cli/cmds/check.py +2 -0
- paasta_tools/cli/cmds/cook_image.py +2 -0
- paasta_tools/cli/cmds/get_docker_image.py +2 -0
- paasta_tools/cli/cmds/get_image_version.py +2 -0
- paasta_tools/cli/cmds/get_latest_deployment.py +2 -0
- paasta_tools/cli/cmds/info.py +5 -1
- paasta_tools/cli/cmds/itest.py +2 -0
- paasta_tools/cli/cmds/list_namespaces.py +2 -0
- paasta_tools/cli/cmds/local_run.py +116 -24
- paasta_tools/cli/cmds/logs.py +2 -0
- paasta_tools/cli/cmds/mark_for_deployment.py +12 -2
- paasta_tools/cli/cmds/mesh_status.py +2 -1
- paasta_tools/cli/cmds/push_to_registry.py +2 -0
- paasta_tools/cli/cmds/remote_run.py +10 -0
- paasta_tools/cli/cmds/rollback.py +5 -1
- paasta_tools/cli/cmds/secret.py +4 -2
- paasta_tools/cli/cmds/security_check.py +2 -0
- paasta_tools/cli/cmds/spark_run.py +4 -0
- paasta_tools/cli/cmds/status.py +35 -8
- paasta_tools/cli/cmds/validate.py +296 -19
- paasta_tools/cli/cmds/wait_for_deployment.py +2 -0
- paasta_tools/cli/schemas/autoscaling_schema.json +3 -2
- paasta_tools/cli/schemas/eks_schema.json +23 -1
- paasta_tools/cli/schemas/smartstack_schema.json +12 -0
- paasta_tools/cli/utils.py +2 -1
- paasta_tools/contrib/paasta_update_soa_memcpu.py +10 -14
- paasta_tools/generate_deployments_for_service.py +2 -0
- paasta_tools/instance/hpa_metrics_parser.py +3 -5
- paasta_tools/instance/kubernetes.py +58 -25
- paasta_tools/kubernetes/application/controller_wrappers.py +23 -2
- paasta_tools/kubernetes/remote_run.py +2 -2
- paasta_tools/kubernetes_tools.py +37 -66
- paasta_tools/long_running_service_tools.py +8 -1
- paasta_tools/paastaapi/model/kubernetes_version.py +3 -0
- paasta_tools/setup_prometheus_adapter_config.py +82 -0
- paasta_tools/tron_tools.py +3 -0
- paasta_tools/utils.py +26 -9
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/generate_deployments_for_service.py +2 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/paasta_update_soa_memcpu.py +10 -14
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/setup_prometheus_adapter_config.py +82 -0
- {paasta_tools-1.30.9.dist-info → paasta_tools-1.35.8.dist-info}/METADATA +4 -4
- {paasta_tools-1.30.9.dist-info → paasta_tools-1.35.8.dist-info}/RECORD +98 -98
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/apply_external_resources.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/bounce_log_latency_parser.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_autoscaler_max_instances.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_cassandracluster_services_replication.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_flink_services_health.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_kubernetes_api.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_manual_oapi_changes.sh +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_oom_events.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_orphans.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_spark_jobs.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/cleanup_kubernetes_cr.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/cleanup_kubernetes_crd.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/create_dynamodb_table.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/create_paasta_playground.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/emit_allocated_cpu_metrics.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/generate_all_deployments +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/generate_authenticating_services.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/generate_services_file.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/generate_services_yaml.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/get_running_task_allocation.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/habitat_fixer.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/ide_helper.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/is_pod_healthy_in_proxy.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/is_pod_healthy_in_smartstack.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/kill_bad_containers.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/kubernetes_remove_evicted_pods.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/mass-deploy-tag.sh +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/mock_patch_checker.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/paasta_cleanup_remote_run_resources.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/paasta_cleanup_stale_nodes.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/paasta_deploy_tron_jobs +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/paasta_secrets_sync.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/paasta_tabcomplete.sh +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/render_template.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/rightsizer_soaconfigs_update.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/service_shard_remove.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/service_shard_update.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/setup_istio_mesh.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/setup_kubernetes_crd.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/setup_kubernetes_internal_crd.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/setup_kubernetes_job.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/shared_ip_check.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/synapse_srv_namespaces_fact.py +0 -0
- {paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/timeouts_metrics_prom.py +0 -0
- {paasta_tools-1.30.9.dist-info → paasta_tools-1.35.8.dist-info}/WHEEL +0 -0
- {paasta_tools-1.30.9.dist-info → paasta_tools-1.35.8.dist-info}/entry_points.txt +0 -0
- {paasta_tools-1.30.9.dist-info → paasta_tools-1.35.8.dist-info}/licenses/LICENSE +0 -0
- {paasta_tools-1.30.9.dist-info → paasta_tools-1.35.8.dist-info}/top_level.txt +0 -0
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):
|
|
@@ -1949,6 +1950,7 @@ class TopologySpreadConstraintDict(TypedDict, total=False):
|
|
|
1949
1950
|
topology_key: str
|
|
1950
1951
|
when_unsatisfiable: Literal["ScheduleAnyway", "DoNotSchedule"]
|
|
1951
1952
|
max_skew: int
|
|
1953
|
+
match_label_keys: List[str]
|
|
1952
1954
|
|
|
1953
1955
|
|
|
1954
1956
|
class SystemPaastaConfigDict(TypedDict, total=False):
|
|
@@ -2036,7 +2038,6 @@ class SystemPaastaConfigDict(TypedDict, total=False):
|
|
|
2036
2038
|
synapse_port: int
|
|
2037
2039
|
taskproc: Dict
|
|
2038
2040
|
tron: Dict
|
|
2039
|
-
gunicorn_exporter_sidecar_image_url: str
|
|
2040
2041
|
vault_cluster_map: Dict
|
|
2041
2042
|
vault_environment: str
|
|
2042
2043
|
volumes: List[DockerVolume]
|
|
@@ -2067,6 +2068,9 @@ class SystemPaastaConfigDict(TypedDict, total=False):
|
|
|
2067
2068
|
enable_tron_tsc: bool
|
|
2068
2069
|
default_spark_iam_user: str
|
|
2069
2070
|
default_spark_driver_pool_override: str
|
|
2071
|
+
readonly_docker_registry_auth_file: str
|
|
2072
|
+
private_docker_registries: List[str]
|
|
2073
|
+
unhealthy_pod_eviction_policy: str
|
|
2070
2074
|
|
|
2071
2075
|
|
|
2072
2076
|
def load_system_paasta_config(
|
|
@@ -2669,13 +2673,6 @@ class SystemPaastaConfig:
|
|
|
2669
2673
|
def default_should_use_uwsgi_exporter(self) -> bool:
|
|
2670
2674
|
return self.config_dict.get("default_should_use_uwsgi_exporter", False)
|
|
2671
2675
|
|
|
2672
|
-
def get_gunicorn_exporter_sidecar_image_url(self) -> str:
|
|
2673
|
-
"""Get the docker image URL for the gunicorn_exporter sidecar container"""
|
|
2674
|
-
return self.config_dict.get(
|
|
2675
|
-
"gunicorn_exporter_sidecar_image_url",
|
|
2676
|
-
"docker-paasta.yelpcorp.com:443/gunicorn_exporter-k8s-sidecar:v0.24.0-yelp0",
|
|
2677
|
-
)
|
|
2678
|
-
|
|
2679
2676
|
def get_mark_for_deployment_max_polling_threads(self) -> int:
|
|
2680
2677
|
return self.config_dict.get("mark_for_deployment_max_polling_threads", 4)
|
|
2681
2678
|
|
|
@@ -2848,6 +2845,26 @@ class SystemPaastaConfig:
|
|
|
2848
2845
|
# NOTE: this should never happen unless we've gotten bad data
|
|
2849
2846
|
return None
|
|
2850
2847
|
|
|
2848
|
+
def get_readonly_docker_registry_auth_file(self) -> str:
|
|
2849
|
+
"""Get the location of the readonly docker registry auth file as an absolute path."""
|
|
2850
|
+
return self.config_dict.get(
|
|
2851
|
+
"readonly_docker_registry_auth_file",
|
|
2852
|
+
DEFAULT_READONLY_DOCKER_REGISTRY_AUTH_FILE,
|
|
2853
|
+
)
|
|
2854
|
+
|
|
2855
|
+
def get_private_docker_registries(self) -> Set[str]:
|
|
2856
|
+
"""Get all the internal Docker registries without generally-available RO creds."""
|
|
2857
|
+
return set(self.config_dict.get("private_docker_registries", []))
|
|
2858
|
+
|
|
2859
|
+
def get_unhealthy_pod_eviction_policy(self) -> str:
|
|
2860
|
+
"""
|
|
2861
|
+
Get the unhealthy pod eviction policy for the cluster. Posible values:
|
|
2862
|
+
* IfHealthyBudget: unhealthy pods will only be evicted wrt to PodDisruptionBudget
|
|
2863
|
+
* AlwaysAllow: evict unhealthy pods regardless of the PodDisruptionBudget status.
|
|
2864
|
+
Defaults to IfHealthyBudget
|
|
2865
|
+
"""
|
|
2866
|
+
return self.config_dict.get("unhealthy_pod_eviction_policy", "IfHealthyBudget")
|
|
2867
|
+
|
|
2851
2868
|
|
|
2852
2869
|
def _run(
|
|
2853
2870
|
command: Union[str, List[str]],
|
|
@@ -3461,7 +3478,7 @@ def get_docker_host() -> str:
|
|
|
3461
3478
|
|
|
3462
3479
|
|
|
3463
3480
|
def get_docker_client() -> APIClient:
|
|
3464
|
-
client_opts = kwargs_from_env(
|
|
3481
|
+
client_opts = kwargs_from_env()
|
|
3465
3482
|
if "base_url" in client_opts:
|
|
3466
3483
|
return APIClient(**client_opts)
|
|
3467
3484
|
else:
|
{paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/generate_deployments_for_service.py
RENAMED
|
@@ -101,6 +101,8 @@ def parse_args() -> argparse.Namespace:
|
|
|
101
101
|
"--service",
|
|
102
102
|
required=True,
|
|
103
103
|
help="Service name to make the deployments.json for",
|
|
104
|
+
# strip any potential trailing / for folks tab-completing directories
|
|
105
|
+
type=lambda x: x.rstrip("/"),
|
|
104
106
|
)
|
|
105
107
|
args = parser.parse_args()
|
|
106
108
|
return args
|
|
@@ -181,6 +181,9 @@ def get_report_from_splunk(creds, app, filename, criteria_filter):
|
|
|
181
181
|
"date": d["result"]["_time"].split(" ")[0],
|
|
182
182
|
"instance": criteria.split(" ")[2],
|
|
183
183
|
"money": d["result"].get("estimated_monthly_savings", 0),
|
|
184
|
+
"old_cpus": d["result"].get("current_cpus"),
|
|
185
|
+
"old_disk": d["result"].get("current_disk"),
|
|
186
|
+
"old_mem": d["result"].get("current_mem"),
|
|
184
187
|
"owner": d["result"].get("service_owner", "Unavailable"),
|
|
185
188
|
"project": d["result"].get("project", "Unavailable"),
|
|
186
189
|
"service": criteria.split(" ")[0],
|
|
@@ -192,24 +195,17 @@ def get_report_from_splunk(creds, app, filename, criteria_filter):
|
|
|
192
195
|
"max_instances": d["result"].get("suggested_max_instances"),
|
|
193
196
|
"mem": d["result"].get("suggested_mem"),
|
|
194
197
|
"min_instances": d["result"].get("suggested_min_instances"),
|
|
195
|
-
"old_cpus": d["result"].get("current_cpus"),
|
|
196
|
-
"old_disk": d["result"].get("current_disk"),
|
|
197
|
-
"old_mem": d["result"].get("current_mem"),
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
# the report we get is all strings, so we need to convert them to the right types
|
|
201
201
|
field_conversions = {
|
|
202
|
-
"
|
|
203
|
-
"
|
|
204
|
-
"
|
|
205
|
-
"
|
|
206
|
-
"
|
|
207
|
-
"
|
|
208
|
-
"
|
|
209
|
-
"suggested_min_instances": int,
|
|
210
|
-
# not quite sure why these are floats...they're ints in soaconfigs
|
|
211
|
-
"current_disk": _force_str_to_int,
|
|
212
|
-
"current_mem": _force_str_to_int,
|
|
202
|
+
"cpus": float,
|
|
203
|
+
"cpu_burst_add": float,
|
|
204
|
+
"disk": int,
|
|
205
|
+
"hacheck_cpus": float,
|
|
206
|
+
"max_instances": int,
|
|
207
|
+
"mem": int,
|
|
208
|
+
"min_instances": int,
|
|
213
209
|
}
|
|
214
210
|
|
|
215
211
|
# merge results if we've already seen rows for this service
|
{paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/setup_prometheus_adapter_config.py
RENAMED
|
@@ -53,6 +53,9 @@ from paasta_tools.long_running_service_tools import (
|
|
|
53
53
|
from paasta_tools.long_running_service_tools import (
|
|
54
54
|
DEFAULT_UWSGI_AUTOSCALING_MOVING_AVERAGE_WINDOW,
|
|
55
55
|
)
|
|
56
|
+
from paasta_tools.long_running_service_tools import (
|
|
57
|
+
DEFAULT_WORKER_LOAD_AUTOSCALING_MOVING_AVERAGE_WINDOW,
|
|
58
|
+
)
|
|
56
59
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_ACTIVE_REQUESTS
|
|
57
60
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_CPU
|
|
58
61
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_GUNICORN
|
|
@@ -60,6 +63,7 @@ from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PISCINA
|
|
|
60
63
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PROMQL
|
|
61
64
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI
|
|
62
65
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI_V2
|
|
66
|
+
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_WORKER_LOAD
|
|
63
67
|
from paasta_tools.paasta_service_config_loader import PaastaServiceConfigLoader
|
|
64
68
|
from paasta_tools.utils import DEFAULT_SOA_DIR
|
|
65
69
|
from paasta_tools.utils import get_services_for_cluster
|
|
@@ -214,6 +218,10 @@ def create_instance_scaling_rule(
|
|
|
214
218
|
return create_instance_uwsgi_v2_scaling_rule(
|
|
215
219
|
service, instance_config, metrics_provider_config, paasta_cluster
|
|
216
220
|
)
|
|
221
|
+
if metrics_provider_config["type"] == METRICS_PROVIDER_WORKER_LOAD:
|
|
222
|
+
return create_instance_worker_load_scaling_rule(
|
|
223
|
+
service, instance_config, metrics_provider_config, paasta_cluster
|
|
224
|
+
)
|
|
217
225
|
if metrics_provider_config["type"] == METRICS_PROVIDER_PISCINA:
|
|
218
226
|
return create_instance_piscina_scaling_rule(
|
|
219
227
|
service, instance_config, metrics_provider_config, paasta_cluster
|
|
@@ -523,6 +531,80 @@ def create_instance_uwsgi_v2_scaling_rule(
|
|
|
523
531
|
}
|
|
524
532
|
|
|
525
533
|
|
|
534
|
+
def create_instance_worker_load_scaling_rule(
|
|
535
|
+
service: str,
|
|
536
|
+
instance_config: KubernetesDeploymentConfig,
|
|
537
|
+
metrics_provider_config: MetricsProviderDict,
|
|
538
|
+
paasta_cluster: str,
|
|
539
|
+
) -> PrometheusAdapterRule:
|
|
540
|
+
"""
|
|
541
|
+
Creates a Prometheus adapter rule config for a given service instance using generic worker_busy metric.
|
|
542
|
+
"""
|
|
543
|
+
instance = instance_config.instance
|
|
544
|
+
moving_average_window = metrics_provider_config.get(
|
|
545
|
+
"moving_average_window_seconds",
|
|
546
|
+
DEFAULT_WORKER_LOAD_AUTOSCALING_MOVING_AVERAGE_WINDOW,
|
|
547
|
+
)
|
|
548
|
+
deployment_name = get_kubernetes_app_name(service=service, instance=instance)
|
|
549
|
+
|
|
550
|
+
# In order for autoscaling to work safely while a service migrates from one namespace to another, the HPA needs to
|
|
551
|
+
# make sure that the deployment in the new namespace is scaled up enough to handle _all_ the load.
|
|
552
|
+
# This is because once the new deployment is 100% healthy, cleanup_kubernetes_job will delete the deployment out of
|
|
553
|
+
# the old namespace all at once, suddenly putting all the load onto the deployment in the new namespace.
|
|
554
|
+
# To ensure this, we must NOT filter on namespace in worker_filter_terms (which is used when calculating total_load.
|
|
555
|
+
# This makes sure that desired_instances includes load from all namespaces.
|
|
556
|
+
worker_filter_terms = f"paasta_cluster='{paasta_cluster}',paasta_service='{service}',paasta_instance='{instance}'"
|
|
557
|
+
|
|
558
|
+
# k8s:deployment:pods_status_ready is a metric created by summing kube_pod_status_ready
|
|
559
|
+
# over paasta service/instance/cluster. it counts the number of ready pods in a paasta
|
|
560
|
+
# deployment.
|
|
561
|
+
ready_pods = f"""
|
|
562
|
+
(sum(
|
|
563
|
+
k8s:deployment:pods_status_ready{{{worker_filter_terms}}} >= 0
|
|
564
|
+
or
|
|
565
|
+
max_over_time(
|
|
566
|
+
k8s:deployment:pods_status_ready{{{worker_filter_terms}}}[{DEFAULT_EXTRAPOLATION_TIME}s]
|
|
567
|
+
)
|
|
568
|
+
) by (kube_deployment))
|
|
569
|
+
"""
|
|
570
|
+
load_per_instance = f"""
|
|
571
|
+
avg(
|
|
572
|
+
worker_busy{{{worker_filter_terms}}}
|
|
573
|
+
) by (kube_pod, kube_deployment)
|
|
574
|
+
"""
|
|
575
|
+
missing_instances = f"""
|
|
576
|
+
clamp_min(
|
|
577
|
+
{ready_pods} - count({load_per_instance}) by (kube_deployment),
|
|
578
|
+
0
|
|
579
|
+
)
|
|
580
|
+
"""
|
|
581
|
+
total_load = f"""
|
|
582
|
+
(
|
|
583
|
+
sum(
|
|
584
|
+
{load_per_instance}
|
|
585
|
+
) by (kube_deployment)
|
|
586
|
+
+
|
|
587
|
+
{missing_instances}
|
|
588
|
+
)
|
|
589
|
+
"""
|
|
590
|
+
total_load_smoothed = f"""
|
|
591
|
+
avg_over_time(
|
|
592
|
+
(
|
|
593
|
+
{total_load}
|
|
594
|
+
)[{moving_average_window}s:]
|
|
595
|
+
)
|
|
596
|
+
"""
|
|
597
|
+
|
|
598
|
+
metric_name = f"{deployment_name}-worker-load-prom"
|
|
599
|
+
|
|
600
|
+
return {
|
|
601
|
+
"name": {"as": metric_name},
|
|
602
|
+
"seriesQuery": f"worker_busy{{{worker_filter_terms}}}",
|
|
603
|
+
"resources": {"template": "kube_<<.Resource>>"},
|
|
604
|
+
"metricsQuery": _minify_promql(total_load_smoothed),
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
|
|
526
608
|
def create_instance_piscina_scaling_rule(
|
|
527
609
|
service: str,
|
|
528
610
|
instance_config: KubernetesDeploymentConfig,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: paasta-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.35.8
|
|
4
4
|
Summary: Tools for Yelps SOA infrastructure
|
|
5
5
|
Author: Compute Infrastructure @ Yelp
|
|
6
6
|
Author-email: compute-infra@yelp.com
|
|
@@ -34,7 +34,7 @@ Requires-Dist: ipaddress>=1.0.22
|
|
|
34
34
|
Requires-Dist: isodate>=0.7.2
|
|
35
35
|
Requires-Dist: jsonschema[format]
|
|
36
36
|
Requires-Dist: kazoo>=2.0.0
|
|
37
|
-
Requires-Dist: kubernetes<
|
|
37
|
+
Requires-Dist: kubernetes<35.0.0,>=29.0.0
|
|
38
38
|
Requires-Dist: ldap3
|
|
39
39
|
Requires-Dist: manhole
|
|
40
40
|
Requires-Dist: mypy-extensions>=0.3.0
|
|
@@ -54,12 +54,12 @@ Requires-Dist: python-dateutil>=2.4.0
|
|
|
54
54
|
Requires-Dist: python-iptables
|
|
55
55
|
Requires-Dist: pytimeparse>=1.1.0
|
|
56
56
|
Requires-Dist: pytz>=2014.10
|
|
57
|
-
Requires-Dist: requests
|
|
57
|
+
Requires-Dist: requests>=2.18.4
|
|
58
58
|
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.7
|
|
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=vregZKuUJFifyMAN6L4LDaaDTHyxUmmLs3uQn9TLMCE,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
|
|
@@ -38,16 +38,16 @@ paasta_tools/flink_tools.py,sha256=L8QC16w_T8kG7D4MR4KlX_Dty_4Z-Pe4ta2JxVrnkPE,1
|
|
|
38
38
|
paasta_tools/flinkeks_tools.py,sha256=O_MiCoAcfepGdKyGbjQLGkcRL9p79OjtcskHvPTArdo,3070
|
|
39
39
|
paasta_tools/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
|
|
40
40
|
paasta_tools/generate_authenticating_services.py,sha256=p0logaZys1P4di9xit_aKP39hjUhrj8HtGSE32zKzwM,2996
|
|
41
|
-
paasta_tools/generate_deployments_for_service.py,sha256=
|
|
41
|
+
paasta_tools/generate_deployments_for_service.py,sha256=PFouQReXg2XK3yljeJkUOxPvLHhwmU3Iy6_w8-hapeg,9951
|
|
42
42
|
paasta_tools/generate_services_file.py,sha256=LDOR-UKh9ul_PO3RxuqVTXLpYNskw3fFqt9R4yWaU38,3596
|
|
43
43
|
paasta_tools/generate_services_yaml.py,sha256=BM760XGEOmLeJcEm0ez5nBZ2NmFJWsNXbZ-hF66UmY8,1004
|
|
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=yFZsRtJLU_YIfZKE3F0hGn4PWpaHtmW5wTTYk_et58E,181757
|
|
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
|
-
paasta_tools/long_running_service_tools.py,sha256=
|
|
50
|
+
paasta_tools/long_running_service_tools.py,sha256=oMimyMLoCO0xfvHpPm6ca0E2sKW_MfVGnVRSdZmqz8Y,26584
|
|
51
51
|
paasta_tools/mac_address.py,sha256=YWEXbRSBwJXrH--iDDFqBV0BWjRH9DedbPcKFPk36A0,1324
|
|
52
52
|
paasta_tools/marathon_dashboard.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
53
|
paasta_tools/mesos_tools.py,sha256=WWRC4bGuEXqF1Y0MR3_EjvgaFSPBRlPYXI419CWnNKY,35540
|
|
@@ -71,20 +71,20 @@ paasta_tools/setup_kubernetes_cr.py,sha256=s7oOAKopjs_RzmKMptlkEKTDCvLbvCLO1ilYw
|
|
|
71
71
|
paasta_tools/setup_kubernetes_crd.py,sha256=kDpZKbpQa8niY-dhEKf_Q5IE5h7yDRES_Wg-2atJ6kY,4033
|
|
72
72
|
paasta_tools/setup_kubernetes_internal_crd.py,sha256=bkc4t2hUM9JoTIVDnfZWsVkoQ-IlRoTI-E_FISLGpk4,4642
|
|
73
73
|
paasta_tools/setup_kubernetes_job.py,sha256=uWXOwG_c-vnoeCmQC1Ode-zBQRz3655qVNy6aGHidXo,19108
|
|
74
|
-
paasta_tools/setup_prometheus_adapter_config.py,sha256=
|
|
74
|
+
paasta_tools/setup_prometheus_adapter_config.py,sha256=gNqwpCpXiMp9TIjQn2b71MGYqn14Rtsbivr-9TaJiCI,43975
|
|
75
75
|
paasta_tools/setup_tron_namespace.py,sha256=SnXD98BdC0gyqH2Ii_J10Xvy9i9zpPMzmvmZAN35q0Y,9743
|
|
76
76
|
paasta_tools/slack.py,sha256=WEJsTcr2vCdftG4bVkePNBFaC2hzEzMDwglHA0UC0s8,2700
|
|
77
77
|
paasta_tools/smartstack_tools.py,sha256=J0mPialC9KFW9mW0fOUCj040VyowEjQgBI_s13fzEgE,25557
|
|
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
|
-
paasta_tools/tron_tools.py,sha256=
|
|
81
|
-
paasta_tools/utils.py,sha256=
|
|
80
|
+
paasta_tools/tron_tools.py,sha256=f6yrjnkN0vumMDVvOFYMTuY9_54hBwC0P4Ls-dn0bQs,56063
|
|
81
|
+
paasta_tools/utils.py,sha256=BHeqclWCPtqqHBN5n7pULytA3INPn71V66uLlvjCoQw,149983
|
|
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
|
|
85
85
|
paasta_tools/api/client.py,sha256=RwEeM0fiwdcEpJQQEocuhdEZVnMdh8QwRHTwbx3wFP8,3614
|
|
86
86
|
paasta_tools/api/settings.py,sha256=UbRnHL2GKeRfzfQ4qdlDy2KapGR-GoGpXK0SzNXUeM4,1303
|
|
87
|
-
paasta_tools/api/api_docs/swagger.json,sha256=
|
|
87
|
+
paasta_tools/api/api_docs/swagger.json,sha256=jk0HHZER5TrAtcD2Bk5wbJWdv6duNm5VxwJgzSWp4AQ,91094
|
|
88
88
|
paasta_tools/api/tweens/__init__.py,sha256=nN1myeu8LuQKCDxz4XF9f55IDi13DSQgQ5e7OLP7DK8,144
|
|
89
89
|
paasta_tools/api/tweens/auth.py,sha256=rX0IX9qYk_suVWgvFkw35h-6xV1KoIlEEt8HS3wFeUw,4206
|
|
90
90
|
paasta_tools/api/tweens/profiling.py,sha256=prvrusCyDzP2j-64UCI-XGYxqDyyx8CDLKXl64oi-6M,3756
|
|
@@ -110,35 +110,35 @@ paasta_tools/cli/authentication.py,sha256=yy5nl3Gf7t5ZU6934i87d7fNBYVBEgfiJTvsRR
|
|
|
110
110
|
paasta_tools/cli/cli.py,sha256=uDfUZIGAQkqwMo2QjYdy-QniCA6B_VVDK66ICLM-e8Q,8515
|
|
111
111
|
paasta_tools/cli/fsm_cmd.py,sha256=c6FFvmaDxEe21MiqL_lrn9uWpnmh2pCNhh1ZjU4ahJA,4135
|
|
112
112
|
paasta_tools/cli/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
|
|
113
|
-
paasta_tools/cli/utils.py,sha256=
|
|
113
|
+
paasta_tools/cli/utils.py,sha256=MsHEVDmOvEbM_Bs5VMz1gpaZi36098OUXLPadTlVpR0,38881
|
|
114
114
|
paasta_tools/cli/cmds/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
|
|
115
|
-
paasta_tools/cli/cmds/autoscale.py,sha256=
|
|
116
|
-
paasta_tools/cli/cmds/check.py,sha256=
|
|
117
|
-
paasta_tools/cli/cmds/cook_image.py,sha256=
|
|
118
|
-
paasta_tools/cli/cmds/get_docker_image.py,sha256=
|
|
119
|
-
paasta_tools/cli/cmds/get_image_version.py,sha256=
|
|
120
|
-
paasta_tools/cli/cmds/get_latest_deployment.py,sha256=
|
|
121
|
-
paasta_tools/cli/cmds/info.py,sha256=
|
|
122
|
-
paasta_tools/cli/cmds/itest.py,sha256=
|
|
115
|
+
paasta_tools/cli/cmds/autoscale.py,sha256=F7B9FwGjekIq0aWWs3MGrJBNmToDGXSXrAaxallG-Dw,10715
|
|
116
|
+
paasta_tools/cli/cmds/check.py,sha256=bDIVhtE3xF45LtepnW7ooIYVBBWKEDqVqmVlJBQjuBY,13084
|
|
117
|
+
paasta_tools/cli/cmds/cook_image.py,sha256=vuU0_A8DLnOumAErlC5KUL657XsOF6-QVexijvVKiEs,5389
|
|
118
|
+
paasta_tools/cli/cmds/get_docker_image.py,sha256=k6R2L6oXTV7_3gL4Xtu-_bdKmINtuM0vk3SX_E1ERqE,2793
|
|
119
|
+
paasta_tools/cli/cmds/get_image_version.py,sha256=p-LSI7wUGXwdKWYYYsqtG4_mIviujKanP__KvQwnNGg,6017
|
|
120
|
+
paasta_tools/cli/cmds/get_latest_deployment.py,sha256=e4N2kGhixQwVtAIQSAlK4igAnwS3mUuPv4eQtz6jxQM,3210
|
|
121
|
+
paasta_tools/cli/cmds/info.py,sha256=dUrBx6tGC1Hw4iqizz7hX5I671szxSCf5EFfJOatkI8,6089
|
|
122
|
+
paasta_tools/cli/cmds/itest.py,sha256=GkDcxjaAIz8t1XSeuTeY2dCFLZbQUinj54QYtr0VRtY,4113
|
|
123
123
|
paasta_tools/cli/cmds/list.py,sha256=KTeSZIaRArJ28lXFLJcEYGH9p90nD6rPFHAE45I7x-w,2219
|
|
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
|
-
paasta_tools/cli/cmds/list_namespaces.py,sha256=
|
|
127
|
-
paasta_tools/cli/cmds/local_run.py,sha256=
|
|
128
|
-
paasta_tools/cli/cmds/logs.py,sha256=
|
|
129
|
-
paasta_tools/cli/cmds/mark_for_deployment.py,sha256=
|
|
130
|
-
paasta_tools/cli/cmds/mesh_status.py,sha256=
|
|
126
|
+
paasta_tools/cli/cmds/list_namespaces.py,sha256=QJROUUnWI44SXapCrCRCJ-wfxBvl8k7zF68fT6pukhc,3254
|
|
127
|
+
paasta_tools/cli/cmds/local_run.py,sha256=ahBezjG1qdGeZm2HtCV0WqUJqSdD9BP5FOSkk_D53-s,54674
|
|
128
|
+
paasta_tools/cli/cmds/logs.py,sha256=7_b3o_tdJgHCk6oppuQBKMEkTIrrZ51a4Dnd2SfUe0Q,59038
|
|
129
|
+
paasta_tools/cli/cmds/mark_for_deployment.py,sha256=qHLAnJbY1VYn46OreE_YlBAi-PcRciNR8b0vqKtyYwQ,76830
|
|
130
|
+
paasta_tools/cli/cmds/mesh_status.py,sha256=cCQwUezLrz6jigP1w8lc8IMaQfvQuiH5pmj9AVoJ9Pw,6222
|
|
131
131
|
paasta_tools/cli/cmds/pause_service_autoscaler.py,sha256=3Ie0wTkpRkl-Uja33WzWkPmBa5EJcPxMNAcZ8_P1LSo,3494
|
|
132
|
-
paasta_tools/cli/cmds/push_to_registry.py,sha256=
|
|
133
|
-
paasta_tools/cli/cmds/remote_run.py,sha256=
|
|
134
|
-
paasta_tools/cli/cmds/rollback.py,sha256=
|
|
135
|
-
paasta_tools/cli/cmds/secret.py,sha256=
|
|
136
|
-
paasta_tools/cli/cmds/security_check.py,sha256=
|
|
137
|
-
paasta_tools/cli/cmds/spark_run.py,sha256=
|
|
132
|
+
paasta_tools/cli/cmds/push_to_registry.py,sha256=iH9je4_GEnbOxUfH39QgsYvn6MLykLQ1Ql6B_pbcfWY,9852
|
|
133
|
+
paasta_tools/cli/cmds/remote_run.py,sha256=MlhGi546vvqX2iCdC8NR6507bIfahZT1kzVY68Qv-PI,16475
|
|
134
|
+
paasta_tools/cli/cmds/rollback.py,sha256=6-VfvggAufxsLQY12QZO--LVZIEgXkl_Zlicdu7sthg,13973
|
|
135
|
+
paasta_tools/cli/cmds/secret.py,sha256=2sMfD3eQCif8f_9XhPftLBtqC571uX052Q1LRuul488,19815
|
|
136
|
+
paasta_tools/cli/cmds/security_check.py,sha256=uos6KUUQCZqZJfa5_g86hkgJFKr-Pdl4OnIiOrly7BU,2493
|
|
137
|
+
paasta_tools/cli/cmds/spark_run.py,sha256=0yC0K1rZEC9QQQevwPiG9JbCwLPt745_j5836Wj0Nf0,51558
|
|
138
138
|
paasta_tools/cli/cmds/start_stop_restart.py,sha256=MIMShmHer_uPEsLCb3qDaBOYyHSgqDHrLHEVFCcxaE0,14600
|
|
139
|
-
paasta_tools/cli/cmds/status.py,sha256=
|
|
140
|
-
paasta_tools/cli/cmds/validate.py,sha256=
|
|
141
|
-
paasta_tools/cli/cmds/wait_for_deployment.py,sha256=
|
|
139
|
+
paasta_tools/cli/cmds/status.py,sha256=ChhR5_ID-_y_QdJp3ZqPzOzwVPHsgC5cwnr9_IpaGKI,88011
|
|
140
|
+
paasta_tools/cli/cmds/validate.py,sha256=vojqkMQhdeEN9bOYxAbvvCqmp1kG8ojX7Y5FgsLOZtU,52611
|
|
141
|
+
paasta_tools/cli/cmds/wait_for_deployment.py,sha256=grj-h849ANzFbSJpBoEF_pp_aPCl-7TVW5n5EWxAcZc,9414
|
|
142
142
|
paasta_tools/cli/fsm/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
|
|
143
143
|
paasta_tools/cli/fsm/autosuggest.py,sha256=M4pxd4khsS5NWnSRihJe4ODvMr0XmwHdfLyaPh0w3m4,2789
|
|
144
144
|
paasta_tools/cli/fsm/template/README.md,sha256=Mfxw6q7ZQQkbpc9FgdhdkC0xC7Mq439Twl8nvT4hTR4,277
|
|
@@ -148,13 +148,13 @@ paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml,sha256=GF
|
|
|
148
148
|
paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml,sha256=3wnLrysDet3ohGjzJB0Mp8wKBBggqkUEPvYpCeX1Nu0,319
|
|
149
149
|
paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml,sha256=wumi_bbh3fwz8UngyV6tL5ntMzbDNJn7StXyYpr6Weg,129
|
|
150
150
|
paasta_tools/cli/schemas/adhoc_schema.json,sha256=AYQ-yt_E7Px2JXLIInyEVCtEHT6UaWwIt_UuhGyqNFQ,6996
|
|
151
|
-
paasta_tools/cli/schemas/autoscaling_schema.json,sha256
|
|
151
|
+
paasta_tools/cli/schemas/autoscaling_schema.json,sha256=-JzNBjfEqynrMyWwb7X6h6RHsd_DoghsiH6gqxxQWcE,2842
|
|
152
152
|
paasta_tools/cli/schemas/deploy_schema.json,sha256=NwxiTm-rncX4n5ql3mJ09pj2zfG5pDfFJnANP7A0XSM,5301
|
|
153
|
-
paasta_tools/cli/schemas/eks_schema.json,sha256=
|
|
153
|
+
paasta_tools/cli/schemas/eks_schema.json,sha256=ZKLsUgcDEMVAaYYhNy0anpwM_zeTrTYmd3nIZtX_I40,42066
|
|
154
154
|
paasta_tools/cli/schemas/kubernetes_schema.json,sha256=ED9dgIBTDFe57AXcuNqEomv2oqhVmS-Ohuz5rNaqOxM,40763
|
|
155
155
|
paasta_tools/cli/schemas/rollback_schema.json,sha256=LJW9wINcIIa7-QrJmzmFx44OLw4TlLpPdEWuHDxd9cQ,6442
|
|
156
156
|
paasta_tools/cli/schemas/service_schema.json,sha256=6wiKhmd0-i3dGS8QUOkwsIbAWrUkKpiLbmZBve7xLGQ,785
|
|
157
|
-
paasta_tools/cli/schemas/smartstack_schema.json,sha256=
|
|
157
|
+
paasta_tools/cli/schemas/smartstack_schema.json,sha256=Kvoh1E7xXUhCeGgYEe9ZhyrRKdJE9k-8LgmQvRtsB_w,11031
|
|
158
158
|
paasta_tools/cli/schemas/tron_schema.json,sha256=2G0hY8V7odgOhQJWu5k735LMPyzP6rNkU4hK6IqhKRo,28168
|
|
159
159
|
paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json,sha256=W9wKEHLZpGvh5h-MK05Zw-3o0RM2TF645HLdMQligTc,1158
|
|
160
160
|
paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json,sha256=xfaobvcV1WF7YC9YGt7D25a8p3Dv0zIKmGt0L29nPlg,3612
|
|
@@ -173,7 +173,7 @@ paasta_tools/contrib/is_pod_healthy_in_smartstack.py,sha256=CWNIiwm-1FpXT5hpmZFA
|
|
|
173
173
|
paasta_tools/contrib/kill_bad_containers.py,sha256=DVpemHWcH_gxlXK_9KS5pGOLbgbpwqN04lx1qyC0_Yk,3861
|
|
174
174
|
paasta_tools/contrib/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
|
|
175
175
|
paasta_tools/contrib/mock_patch_checker.py,sha256=3FUebvAPiyrlFwjz7BIC5JQBcB9bRLXsq3Y1smftGDk,2576
|
|
176
|
-
paasta_tools/contrib/paasta_update_soa_memcpu.py,sha256=
|
|
176
|
+
paasta_tools/contrib/paasta_update_soa_memcpu.py,sha256=iwriXBQk_x68Yjbmpw5fFhwW58gbGWUSp2VvTRxug2U,20550
|
|
177
177
|
paasta_tools/contrib/render_template.py,sha256=S8_U0zOIQra67RxvqumZ2F0OU8-jXx7Qmd32uQOsM50,3992
|
|
178
178
|
paasta_tools/contrib/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
|
|
179
179
|
paasta_tools/contrib/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
|
|
@@ -184,12 +184,12 @@ paasta_tools/frameworks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
|
184
184
|
paasta_tools/frameworks/constraints.py,sha256=1ctyAzrAZlplcJp9pQ4zSuc-by988bQJrSdwxHOLsWY,2969
|
|
185
185
|
paasta_tools/frameworks/native_service_config.py,sha256=C9fThwq2g0TnNQhRbK5Pz3RwfO23GLUZWFKwh8KdAUE,9182
|
|
186
186
|
paasta_tools/instance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
187
|
-
paasta_tools/instance/hpa_metrics_parser.py,sha256=
|
|
188
|
-
paasta_tools/instance/kubernetes.py,sha256=
|
|
187
|
+
paasta_tools/instance/hpa_metrics_parser.py,sha256=EtV-DB5Ty1uNeQwy3qnUxCytpJPKwy8h0gR20Y15w2U,4311
|
|
188
|
+
paasta_tools/instance/kubernetes.py,sha256=teCBM2Xn-6cp6DJAfMokRc5OXtwbe8gb56ECdIUGFME,49113
|
|
189
189
|
paasta_tools/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
190
|
-
paasta_tools/kubernetes/remote_run.py,sha256=
|
|
190
|
+
paasta_tools/kubernetes/remote_run.py,sha256=dj_hGNoze4wfMC12l4zHHoMsw9Ae8g30q-0bJLPWyCw,18994
|
|
191
191
|
paasta_tools/kubernetes/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
192
|
-
paasta_tools/kubernetes/application/controller_wrappers.py,sha256=
|
|
192
|
+
paasta_tools/kubernetes/application/controller_wrappers.py,sha256=vZL7clRzsWjXgUCDXsu4mijKl7GPEDA6vsqdcsiZKwc,20084
|
|
193
193
|
paasta_tools/kubernetes/application/tools.py,sha256=-qbkn4ynM_LFa-NfiDMFZ3G4jty93DWKbx3_Go3OIIo,3618
|
|
194
194
|
paasta_tools/kubernetes/bin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
195
195
|
paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py,sha256=_IkK7vm3FlOF5hYq1M2Xf5DIu-j5d7HJUVmoVetCB94,5287
|
|
@@ -268,7 +268,7 @@ paasta_tools/paastaapi/model/kubernetes_pod.py,sha256=dIuxC9gdd2gFmRZ28Y1eg40w6x
|
|
|
268
268
|
paasta_tools/paastaapi/model/kubernetes_pod_event.py,sha256=BGncSHiNosG2WXe4JAEHBnH_02kV10Ef7mA4rzp1lhc,6874
|
|
269
269
|
paasta_tools/paastaapi/model/kubernetes_pod_v2.py,sha256=IiGS1vCQUb-LMP5nDN-ywhXJtP6ziL0n0YNt0gusSr4,9276
|
|
270
270
|
paasta_tools/paastaapi/model/kubernetes_replica_set.py,sha256=893jfKqiXNwMDlcVaqTeY6Md5dCYvMpKuc-OljfFEyI,7628
|
|
271
|
-
paasta_tools/paastaapi/model/kubernetes_version.py,sha256=
|
|
271
|
+
paasta_tools/paastaapi/model/kubernetes_version.py,sha256=uyRlQUtn6pGGW-1Bk-Qd3EpYxtXsaneiwZ9G74NzHAo,8837
|
|
272
272
|
paasta_tools/paastaapi/model/remote_run_outcome.py,sha256=FZq3rYdsVF8MwITIrCSGmkt_lMnZL3ioApzlPo_ABVk,7338
|
|
273
273
|
paasta_tools/paastaapi/model/remote_run_start.py,sha256=Kimnm2hMK-KfZ3E_9KB1WQfhh-Exw7b2wSNDy-V6zzE,7319
|
|
274
274
|
paasta_tools/paastaapi/model/remote_run_stop.py,sha256=z0SlSqeZZrb9sztTb2Z-y2IEgDdUKgj138LSMvApR54,6709
|
|
@@ -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.35.8.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
|
|
291
|
+
paasta_tools-1.35.8.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
|
|
292
|
+
paasta_tools-1.35.8.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
|
|
293
|
+
paasta_tools-1.35.8.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
|
|
294
|
+
paasta_tools-1.35.8.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
|
|
295
|
+
paasta_tools-1.35.8.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
|
|
296
|
+
paasta_tools-1.35.8.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
|
|
297
|
+
paasta_tools-1.35.8.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
|
|
298
|
+
paasta_tools-1.35.8.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
|
|
299
|
+
paasta_tools-1.35.8.data/scripts/check_orphans.py,sha256=9PmzRUZ1HwCcmTm4J1xTznz7hZl8fKsu1wdXUDufXJs,9984
|
|
300
|
+
paasta_tools-1.35.8.data/scripts/check_spark_jobs.py,sha256=W4HUIbX_ylxl4DlqcdmoRWDbKYgPEr04OM-DLvfnXE8,7316
|
|
301
|
+
paasta_tools-1.35.8.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
|
|
302
|
+
paasta_tools-1.35.8.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
|
|
303
|
+
paasta_tools-1.35.8.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
|
|
304
|
+
paasta_tools-1.35.8.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
|
|
305
|
+
paasta_tools-1.35.8.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
|
|
306
|
+
paasta_tools-1.35.8.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
|
|
307
|
+
paasta_tools-1.35.8.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
|
|
308
|
+
paasta_tools-1.35.8.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
|
|
309
|
+
paasta_tools-1.35.8.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
|
|
310
|
+
paasta_tools-1.35.8.data/scripts/generate_deployments_for_service.py,sha256=sjoSQnCmRvSIbdFikavdGWQVt_cQfNmgJuDUAJXZocg,9938
|
|
311
|
+
paasta_tools-1.35.8.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
|
|
312
|
+
paasta_tools-1.35.8.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
|
|
313
|
+
paasta_tools-1.35.8.data/scripts/get_running_task_allocation.py,sha256=NGYO2td42XQOduUmvgz0CZw0ir36bY6fUe3VOR1Ln6E,10876
|
|
314
|
+
paasta_tools-1.35.8.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
|
|
315
|
+
paasta_tools-1.35.8.data/scripts/ide_helper.py,sha256=QUVWxIeh54IhTn3HEhBrmJKvtgw6RDv9smoJ-6pZA4c,12348
|
|
316
|
+
paasta_tools-1.35.8.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
|
|
317
|
+
paasta_tools-1.35.8.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
|
|
318
|
+
paasta_tools-1.35.8.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
|
|
319
|
+
paasta_tools-1.35.8.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
|
|
320
|
+
paasta_tools-1.35.8.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
|
|
321
|
+
paasta_tools-1.35.8.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
|
|
322
|
+
paasta_tools-1.35.8.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
|
|
323
|
+
paasta_tools-1.35.8.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
|
|
324
|
+
paasta_tools-1.35.8.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
|
|
325
|
+
paasta_tools-1.35.8.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
|
|
326
|
+
paasta_tools-1.35.8.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
|
|
327
|
+
paasta_tools-1.35.8.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
|
|
328
|
+
paasta_tools-1.35.8.data/scripts/paasta_update_soa_memcpu.py,sha256=WsbOFy80rbCxTSo4mbn9ok-cIETyBeCyGB8yFAOwdvc,20536
|
|
329
|
+
paasta_tools-1.35.8.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
|
|
330
|
+
paasta_tools-1.35.8.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
|
|
331
|
+
paasta_tools-1.35.8.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
|
|
332
|
+
paasta_tools-1.35.8.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
|
|
333
|
+
paasta_tools-1.35.8.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
|
|
334
|
+
paasta_tools-1.35.8.data/scripts/setup_kubernetes_cr.py,sha256=xsZJ_X1YpQ0NExyY1cXFH8KW2_vAgctCwdrW0bu102s,14931
|
|
335
|
+
paasta_tools-1.35.8.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
|
|
336
|
+
paasta_tools-1.35.8.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
|
|
337
|
+
paasta_tools-1.35.8.data/scripts/setup_kubernetes_job.py,sha256=H2VuRaCpBj-J2Qc3DmIMutGuDL8nlfabshEiCGNNqmY,19095
|
|
338
|
+
paasta_tools-1.35.8.data/scripts/setup_prometheus_adapter_config.py,sha256=JzvztaJ__5MOAV6pD5Vj3mamARh6TZUCzYdlqhWDOOY,43962
|
|
339
|
+
paasta_tools-1.35.8.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
|
|
340
|
+
paasta_tools-1.35.8.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
|
|
341
|
+
paasta_tools-1.35.8.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
|
|
342
|
+
paasta_tools-1.35.8.dist-info/licenses/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
|
|
343
|
+
paasta_tools-1.35.8.dist-info/METADATA,sha256=FwzFkL9VBO_tJOEB8vBbTCHwPngJZ38huhD68Xl0a7w,2250
|
|
344
|
+
paasta_tools-1.35.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
345
|
+
paasta_tools-1.35.8.dist-info/entry_points.txt,sha256=qokGSdKYA6AjtdMM_BjmCAOMghMsjOpcAdL9e4fY6D8,1179
|
|
346
|
+
paasta_tools-1.35.8.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
|
|
347
|
+
paasta_tools-1.35.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.30.9.data → paasta_tools-1.35.8.data}/scripts/check_autoscaler_max_instances.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.30.9.data → paasta_tools-1.35.8.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.30.9.data → paasta_tools-1.35.8.data}/scripts/delete_kubernetes_deployments.py
RENAMED
|
File without changes
|