paasta-tools 1.23.1__py3-none-any.whl → 1.24.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/api/api_docs/swagger.json +18 -2
- paasta_tools/cli/cmds/remote_run.py +40 -19
- paasta_tools/cli/cmds/status.py +116 -5
- paasta_tools/flink_tools.py +18 -0
- paasta_tools/paastaapi/api/remote_run_api.py +1 -0
- paasta_tools/paastaapi/model/inline_response403.py +170 -0
- paasta_tools/paastaapi/models/__init__.py +1 -0
- paasta_tools/utils.py +45 -0
- {paasta_tools-1.23.1.dist-info → paasta_tools-1.24.0.dist-info}/METADATA +2 -1
- {paasta_tools-1.23.1.dist-info → paasta_tools-1.24.0.dist-info}/RECORD +67 -66
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/apply_external_resources.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/bounce_log_latency_parser.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_autoscaler_max_instances.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_cassandracluster_services_replication.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_flink_services_health.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_kubernetes_api.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_manual_oapi_changes.sh +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_oom_events.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_orphans.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_spark_jobs.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/cleanup_kubernetes_cr.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/cleanup_kubernetes_crd.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/create_dynamodb_table.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/create_paasta_playground.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/emit_allocated_cpu_metrics.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/generate_all_deployments +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/generate_authenticating_services.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/generate_deployments_for_service.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/generate_services_file.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/generate_services_yaml.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/get_running_task_allocation.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/habitat_fixer.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/ide_helper.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/is_pod_healthy_in_proxy.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/is_pod_healthy_in_smartstack.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/kill_bad_containers.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/kubernetes_remove_evicted_pods.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/mass-deploy-tag.sh +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/mock_patch_checker.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/paasta_cleanup_remote_run_resources.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/paasta_cleanup_stale_nodes.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/paasta_deploy_tron_jobs +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/paasta_secrets_sync.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/paasta_tabcomplete.sh +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/paasta_update_soa_memcpu.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/render_template.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/rightsizer_soaconfigs_update.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/service_shard_remove.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/service_shard_update.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/setup_istio_mesh.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/setup_kubernetes_crd.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/setup_kubernetes_internal_crd.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/setup_kubernetes_job.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/setup_prometheus_adapter_config.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/shared_ip_check.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/synapse_srv_namespaces_fact.py +0 -0
- {paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/timeouts_metrics_prom.py +0 -0
- {paasta_tools-1.23.1.dist-info → paasta_tools-1.24.0.dist-info}/LICENSE +0 -0
- {paasta_tools-1.23.1.dist-info → paasta_tools-1.24.0.dist-info}/WHEEL +0 -0
- {paasta_tools-1.23.1.dist-info → paasta_tools-1.24.0.dist-info}/entry_points.txt +0 -0
- {paasta_tools-1.23.1.dist-info → paasta_tools-1.24.0.dist-info}/top_level.txt +0 -0
paasta_tools/__init__.py
CHANGED
|
@@ -930,7 +930,15 @@
|
|
|
930
930
|
}
|
|
931
931
|
},
|
|
932
932
|
"403": {
|
|
933
|
-
"description": "Unauthorized to remote-run this service"
|
|
933
|
+
"description": "Unauthorized to remote-run this service",
|
|
934
|
+
"schema": {
|
|
935
|
+
"type": "object",
|
|
936
|
+
"properties": {
|
|
937
|
+
"reason": {
|
|
938
|
+
"type": "string"
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
}
|
|
934
942
|
},
|
|
935
943
|
"404": {
|
|
936
944
|
"description": "Deployment key not found"
|
|
@@ -981,7 +989,15 @@
|
|
|
981
989
|
}
|
|
982
990
|
},
|
|
983
991
|
"403": {
|
|
984
|
-
"description": "Unauthorized to remote-run this service"
|
|
992
|
+
"description": "Unauthorized to remote-run this service",
|
|
993
|
+
"schema": {
|
|
994
|
+
"type": "object",
|
|
995
|
+
"properties": {
|
|
996
|
+
"reason": {
|
|
997
|
+
"type": "string"
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
985
1001
|
},
|
|
986
1002
|
"404": {
|
|
987
1003
|
"description": "Service instance not found"
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
import argparse
|
|
16
|
+
import json
|
|
16
17
|
import shutil
|
|
17
18
|
import subprocess
|
|
18
19
|
import sys
|
|
@@ -24,6 +25,7 @@ from paasta_tools.cli.utils import get_paasta_oapi_client_with_auth
|
|
|
24
25
|
from paasta_tools.cli.utils import lazy_choices_completer
|
|
25
26
|
from paasta_tools.cli.utils import run_interactive_cli
|
|
26
27
|
from paasta_tools.kubernetes.remote_run import TOOLBOX_MOCK_SERVICE
|
|
28
|
+
from paasta_tools.paastaapi.exceptions import ApiException
|
|
27
29
|
from paasta_tools.paastaapi.model.remote_run_start import RemoteRunStart
|
|
28
30
|
from paasta_tools.paastaapi.model.remote_run_stop import RemoteRunStop
|
|
29
31
|
from paasta_tools.utils import get_username
|
|
@@ -57,6 +59,18 @@ def _list_services_and_toolboxes() -> List[str]:
|
|
|
57
59
|
)
|
|
58
60
|
|
|
59
61
|
|
|
62
|
+
def parse_error(body: str) -> str:
|
|
63
|
+
try:
|
|
64
|
+
body_object = json.loads(body)
|
|
65
|
+
except json.decoder.JSONDecodeError:
|
|
66
|
+
return body
|
|
67
|
+
return (
|
|
68
|
+
body_object.get("reason")
|
|
69
|
+
or body_object.get("message")
|
|
70
|
+
or json.dumps(body_object, indent=4)
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
|
|
60
74
|
def paasta_remote_run_start(
|
|
61
75
|
args: argparse.Namespace,
|
|
62
76
|
system_paasta_config: SystemPaastaConfig,
|
|
@@ -72,19 +86,21 @@ def paasta_remote_run_start(
|
|
|
72
86
|
return 1
|
|
73
87
|
|
|
74
88
|
user = get_username()
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
89
|
+
try:
|
|
90
|
+
start_response = client.remote_run.remote_run_start(
|
|
91
|
+
args.service,
|
|
92
|
+
args.instance,
|
|
93
|
+
RemoteRunStart(
|
|
94
|
+
user=user,
|
|
95
|
+
interactive=args.interactive,
|
|
96
|
+
recreate=args.recreate,
|
|
97
|
+
max_duration=args.max_duration,
|
|
98
|
+
toolbox=args.toolbox,
|
|
99
|
+
),
|
|
100
|
+
)
|
|
101
|
+
except ApiException as e:
|
|
102
|
+
error_msg = parse_error(e.body)
|
|
103
|
+
print(f"Error from PaaSTA APIs while starting job: {error_msg}")
|
|
88
104
|
return 1
|
|
89
105
|
|
|
90
106
|
print(
|
|
@@ -172,13 +188,18 @@ def paasta_remote_run_stop(
|
|
|
172
188
|
if not client:
|
|
173
189
|
print("Cannot get a paasta-api client")
|
|
174
190
|
return 1
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
191
|
+
try:
|
|
192
|
+
response = client.remote_run.remote_run_stop(
|
|
193
|
+
args.service,
|
|
194
|
+
args.instance,
|
|
195
|
+
RemoteRunStop(user=get_username(), toolbox=args.toolbox),
|
|
196
|
+
)
|
|
197
|
+
except ApiException as e:
|
|
198
|
+
error_msg = parse_error(e.body)
|
|
199
|
+
print(f"Error from PaaSTA APIs while stopping job: {error_msg}")
|
|
200
|
+
return 1
|
|
180
201
|
print(response.message)
|
|
181
|
-
return 0
|
|
202
|
+
return 0
|
|
182
203
|
|
|
183
204
|
|
|
184
205
|
def add_common_args_to_parser(parser: argparse.ArgumentParser):
|
paasta_tools/cli/cmds/status.py
CHANGED
|
@@ -63,13 +63,16 @@ from paasta_tools.flink_tools import FlinkDeploymentConfig
|
|
|
63
63
|
from paasta_tools.flink_tools import get_flink_config_from_paasta_api_client
|
|
64
64
|
from paasta_tools.flink_tools import get_flink_jobs_from_paasta_api_client
|
|
65
65
|
from paasta_tools.flink_tools import get_flink_overview_from_paasta_api_client
|
|
66
|
+
from paasta_tools.flink_tools import load_flink_instance_config
|
|
66
67
|
from paasta_tools.flinkeks_tools import FlinkEksDeploymentConfig
|
|
68
|
+
from paasta_tools.flinkeks_tools import load_flinkeks_instance_config
|
|
67
69
|
from paasta_tools.kafkacluster_tools import KafkaClusterDeploymentConfig
|
|
68
70
|
from paasta_tools.kubernetes_tools import format_pod_event_messages
|
|
69
71
|
from paasta_tools.kubernetes_tools import format_tail_lines_for_kubernetes_pod
|
|
70
72
|
from paasta_tools.kubernetes_tools import KubernetesDeploymentConfig
|
|
71
73
|
from paasta_tools.kubernetes_tools import KubernetesDeployStatus
|
|
72
74
|
from paasta_tools.kubernetes_tools import paasta_prefixed
|
|
75
|
+
from paasta_tools.monitoring_tools import get_runbook
|
|
73
76
|
from paasta_tools.monitoring_tools import get_team
|
|
74
77
|
from paasta_tools.monitoring_tools import list_teams
|
|
75
78
|
from paasta_tools.paasta_service_config_loader import PaastaServiceConfigLoader
|
|
@@ -763,12 +766,20 @@ def append_pod_status(pod_status, output: List[str]):
|
|
|
763
766
|
output.extend([f" {line}" for line in pods_table])
|
|
764
767
|
|
|
765
768
|
|
|
769
|
+
OUTPUT_HORIZONTAL_RULE = (
|
|
770
|
+
"=================================================================="
|
|
771
|
+
)
|
|
772
|
+
|
|
773
|
+
|
|
766
774
|
def _print_flink_status_from_job_manager(
|
|
767
775
|
service: str,
|
|
768
776
|
instance: str,
|
|
777
|
+
cluster: str,
|
|
769
778
|
output: List[str],
|
|
770
779
|
flink: Mapping[str, Any],
|
|
771
780
|
client: PaastaOApiClient,
|
|
781
|
+
system_paasta_config: "SystemPaastaConfig",
|
|
782
|
+
flink_instance_config: FlinkDeploymentConfig,
|
|
772
783
|
verbose: int,
|
|
773
784
|
) -> int:
|
|
774
785
|
status = flink.get("status")
|
|
@@ -776,6 +787,7 @@ def _print_flink_status_from_job_manager(
|
|
|
776
787
|
output.append(PaastaColors.red(" Flink cluster is not available yet"))
|
|
777
788
|
return 1
|
|
778
789
|
|
|
790
|
+
# Print Flink Config SHA
|
|
779
791
|
# Since metadata should be available no matter the state, we show it first. If this errors out
|
|
780
792
|
# then we cannot really do much to recover, because cluster is not in usable state anyway
|
|
781
793
|
metadata = flink.get("metadata")
|
|
@@ -785,9 +797,32 @@ def _print_flink_status_from_job_manager(
|
|
|
785
797
|
raise ValueError(f"expected config sha on Flink, but received {metadata}")
|
|
786
798
|
if config_sha.startswith("config"):
|
|
787
799
|
config_sha = config_sha[6:]
|
|
788
|
-
|
|
789
800
|
output.append(f" Config SHA: {config_sha}")
|
|
790
801
|
|
|
802
|
+
if verbose:
|
|
803
|
+
# Print Flink repo links
|
|
804
|
+
output.append(f" Repo(git): https://github.yelpcorp.com/services/{service}")
|
|
805
|
+
output.append(
|
|
806
|
+
f" Repo(sourcegraph): https://sourcegraph.yelpcorp.com/services/{service}"
|
|
807
|
+
)
|
|
808
|
+
|
|
809
|
+
# Print Flink Pool information
|
|
810
|
+
flink_pool = flink_instance_config.get_pool()
|
|
811
|
+
output.append(f" Flink Pool: {flink_pool}")
|
|
812
|
+
|
|
813
|
+
# Print ownership information
|
|
814
|
+
flink_monitoring_team = flink_instance_config.get_team() or get_team(
|
|
815
|
+
overrides={}, service=service, soa_dir=DEFAULT_SOA_DIR
|
|
816
|
+
)
|
|
817
|
+
output.append(f" Owner: {flink_monitoring_team}")
|
|
818
|
+
|
|
819
|
+
# Print rb information
|
|
820
|
+
flink_rb_for_instance = flink_instance_config.get_runbook() or get_runbook(
|
|
821
|
+
overrides={}, service=service, soa_dir=DEFAULT_SOA_DIR
|
|
822
|
+
)
|
|
823
|
+
output.append(f" Flink Runbook: {flink_rb_for_instance}")
|
|
824
|
+
|
|
825
|
+
# Print Flink Version
|
|
791
826
|
if status["state"] == "running":
|
|
792
827
|
try:
|
|
793
828
|
flink_config = get_flink_config_from_paasta_api_client(
|
|
@@ -805,17 +840,67 @@ def _print_flink_status_from_job_manager(
|
|
|
805
840
|
else:
|
|
806
841
|
output.append(f" Flink version: {flink_config.flink_version}")
|
|
807
842
|
|
|
843
|
+
# Print Flink Dashboard URL
|
|
808
844
|
# Annotation "flink.yelp.com/dashboard_url" is populated by flink-operator
|
|
809
845
|
dashboard_url = metadata["annotations"].get("flink.yelp.com/dashboard_url")
|
|
810
846
|
output.append(f" URL: {dashboard_url}/")
|
|
811
847
|
|
|
848
|
+
if verbose:
|
|
849
|
+
# Print Flink config link resources
|
|
850
|
+
ecosystem = system_paasta_config.get_ecosystem_for_cluster(cluster)
|
|
851
|
+
output.append(
|
|
852
|
+
f" Yelpsoa configs: https://github.yelpcorp.com/sysgit/yelpsoa-configs/tree/master/{service}"
|
|
853
|
+
)
|
|
854
|
+
output.append(
|
|
855
|
+
f" Srv configs: https://github.yelpcorp.com/sysgit/srv-configs/tree/master/ecosystem/{ecosystem}/{service}"
|
|
856
|
+
)
|
|
857
|
+
|
|
858
|
+
output.append(f"{OUTPUT_HORIZONTAL_RULE}")
|
|
859
|
+
|
|
860
|
+
# Print Flink Log Commands
|
|
861
|
+
output.append(f" Flink Log Commands:")
|
|
862
|
+
output.append(
|
|
863
|
+
f" Service: paasta logs -a 1h -c {cluster} -s {service} -i {instance}"
|
|
864
|
+
)
|
|
865
|
+
output.append(
|
|
866
|
+
f" Taskmanager: paasta logs -a 1h -c {cluster} -s {service} -i {instance}.TASKMANAGER"
|
|
867
|
+
)
|
|
868
|
+
output.append(
|
|
869
|
+
f" Jobmanager: paasta logs -a 1h -c {cluster} -s {service} -i {instance}.JOBMANAGER"
|
|
870
|
+
)
|
|
871
|
+
output.append(
|
|
872
|
+
f" Supervisor: paasta logs -a 1h -c {cluster} -s {service} -i {instance}.SUPERVISOR"
|
|
873
|
+
)
|
|
874
|
+
|
|
875
|
+
output.append(f"{OUTPUT_HORIZONTAL_RULE}")
|
|
876
|
+
|
|
877
|
+
# Print Flink Metrics Links
|
|
878
|
+
output.append(f" Flink Monitoring:")
|
|
879
|
+
output.append(
|
|
880
|
+
f" Job Metrics: https://grafana.yelpcorp.com/d/flink-metrics/flink-job-metrics?orgId=1&var-datasource=Prometheus-flink&var-region=uswest2-{ecosystem}&var-service={service}&var-instance={instance}&var-job=All&from=now-24h&to=now"
|
|
881
|
+
)
|
|
882
|
+
output.append(
|
|
883
|
+
f" Container Metrics: https://grafana.yelpcorp.com/d/flink-container-metrics/flink-container-metrics?orgId=1&var-datasource=Prometheus-flink&var-region=uswest2-{ecosystem}&var-service={service}&var-instance={instance}&from=now-24h&to=now"
|
|
884
|
+
)
|
|
885
|
+
output.append(
|
|
886
|
+
f" JVM Metrics: https://grafana.yelpcorp.com/d/flink-jvm-metrics/flink-jvm-metrics?orgId=1&var-datasource=Prometheus-flink&var-region=uswest2-{ecosystem}&var-service={service}&var-instance={instance}&from=now-24h&to=now"
|
|
887
|
+
)
|
|
888
|
+
|
|
889
|
+
# Print Flink Costs Link
|
|
890
|
+
output.append(
|
|
891
|
+
f" Flink Cost: https://splunk.yelpcorp.com/en-US/app/yelp_computeinfra/paasta_service_utilization?form.service={service}&form.field1.earliest=-30d%40d&form.field1.latest=now&form.instance={instance}&form.cluster={cluster}"
|
|
892
|
+
)
|
|
893
|
+
|
|
894
|
+
output.append(f"{OUTPUT_HORIZONTAL_RULE}")
|
|
895
|
+
|
|
896
|
+
# Print Flink Cluster State
|
|
812
897
|
color = PaastaColors.green if status["state"] == "running" else PaastaColors.yellow
|
|
813
898
|
output.append(f" State: {color(status['state'].title())}")
|
|
814
899
|
|
|
900
|
+
# Print Flink Cluster Pod Info
|
|
815
901
|
pod_running_count = pod_evicted_count = pod_other_count = 0
|
|
816
902
|
# default for evicted in case where pod status is not available
|
|
817
903
|
evicted = f"{pod_evicted_count}"
|
|
818
|
-
|
|
819
904
|
for pod in status["pod_status"]:
|
|
820
905
|
if pod["phase"] == "Running":
|
|
821
906
|
pod_running_count += 1
|
|
@@ -987,8 +1072,22 @@ def print_flink_status(
|
|
|
987
1072
|
)
|
|
988
1073
|
return 1
|
|
989
1074
|
|
|
1075
|
+
flink_instance_config = load_flink_instance_config(
|
|
1076
|
+
service=service,
|
|
1077
|
+
instance=instance,
|
|
1078
|
+
cluster=cluster,
|
|
1079
|
+
)
|
|
1080
|
+
|
|
990
1081
|
return _print_flink_status_from_job_manager(
|
|
991
|
-
service,
|
|
1082
|
+
service,
|
|
1083
|
+
instance,
|
|
1084
|
+
cluster,
|
|
1085
|
+
output,
|
|
1086
|
+
flink,
|
|
1087
|
+
client,
|
|
1088
|
+
system_paasta_config,
|
|
1089
|
+
flink_instance_config,
|
|
1090
|
+
verbose,
|
|
992
1091
|
)
|
|
993
1092
|
|
|
994
1093
|
|
|
@@ -1013,9 +1112,21 @@ def print_flinkeks_status(
|
|
|
1013
1112
|
)
|
|
1014
1113
|
)
|
|
1015
1114
|
return 1
|
|
1016
|
-
|
|
1115
|
+
flink_eks_instance_config = load_flinkeks_instance_config(
|
|
1116
|
+
service=service,
|
|
1117
|
+
instance=instance,
|
|
1118
|
+
cluster=cluster,
|
|
1119
|
+
)
|
|
1017
1120
|
return _print_flink_status_from_job_manager(
|
|
1018
|
-
service,
|
|
1121
|
+
service,
|
|
1122
|
+
instance,
|
|
1123
|
+
cluster,
|
|
1124
|
+
output,
|
|
1125
|
+
flink,
|
|
1126
|
+
client,
|
|
1127
|
+
system_paasta_config,
|
|
1128
|
+
flink_eks_instance_config,
|
|
1129
|
+
verbose,
|
|
1019
1130
|
)
|
|
1020
1131
|
|
|
1021
1132
|
|
paasta_tools/flink_tools.py
CHANGED
|
@@ -62,6 +62,7 @@ class TaskManagerConfig(TypedDict, total=False):
|
|
|
62
62
|
|
|
63
63
|
class FlinkDeploymentConfigDict(LongRunningServiceConfigDict, total=False):
|
|
64
64
|
taskmanager: TaskManagerConfig
|
|
65
|
+
spot: bool
|
|
65
66
|
|
|
66
67
|
|
|
67
68
|
class FlinkDeploymentConfig(LongRunningServiceConfig):
|
|
@@ -111,6 +112,23 @@ class FlinkDeploymentConfig(LongRunningServiceConfig):
|
|
|
111
112
|
def get_replication_crit_percentage(self) -> int:
|
|
112
113
|
return self.config_dict.get("replication_threshold", 100)
|
|
113
114
|
|
|
115
|
+
def get_pool(self) -> Optional[str]:
|
|
116
|
+
"""
|
|
117
|
+
Parses flink_pool from a specific Flink Deployment instance's configuration data, using key 'spot'.
|
|
118
|
+
|
|
119
|
+
Args:
|
|
120
|
+
flink_deployment_config_data: The FlinkDeploymentConfig for a specific Flink yelpsoa instance
|
|
121
|
+
|
|
122
|
+
Returns:
|
|
123
|
+
The flink pool string.
|
|
124
|
+
"""
|
|
125
|
+
spot_config = self.config_dict.get("spot", None)
|
|
126
|
+
if spot_config is False:
|
|
127
|
+
return "flink"
|
|
128
|
+
else:
|
|
129
|
+
# if not set or True, Flink instance defaults to use flink-spot pool
|
|
130
|
+
return "flink-spot"
|
|
131
|
+
|
|
114
132
|
|
|
115
133
|
def load_flink_instance_config(
|
|
116
134
|
service: str,
|
|
@@ -23,6 +23,7 @@ from paasta_tools.paastaapi.model_utils import ( # noqa: F401
|
|
|
23
23
|
none_type,
|
|
24
24
|
validate_and_convert_types
|
|
25
25
|
)
|
|
26
|
+
from paasta_tools.paastaapi.model.inline_response403 import InlineResponse403
|
|
26
27
|
from paasta_tools.paastaapi.model.remote_run_outcome import RemoteRunOutcome
|
|
27
28
|
from paasta_tools.paastaapi.model.remote_run_start import RemoteRunStart
|
|
28
29
|
from paasta_tools.paastaapi.model.remote_run_stop import RemoteRunStop
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Paasta API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.2.0
|
|
9
|
+
Generated by: https://openapi-generator.tech
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
import re # noqa: F401
|
|
14
|
+
import sys # noqa: F401
|
|
15
|
+
|
|
16
|
+
import nulltype # noqa: F401
|
|
17
|
+
|
|
18
|
+
from paasta_tools.paastaapi.model_utils import ( # noqa: F401
|
|
19
|
+
ApiTypeError,
|
|
20
|
+
ModelComposed,
|
|
21
|
+
ModelNormal,
|
|
22
|
+
ModelSimple,
|
|
23
|
+
cached_property,
|
|
24
|
+
change_keys_js_to_python,
|
|
25
|
+
convert_js_args_to_python_args,
|
|
26
|
+
date,
|
|
27
|
+
datetime,
|
|
28
|
+
file_type,
|
|
29
|
+
none_type,
|
|
30
|
+
validate_get_composed_info,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class InlineResponse403(ModelNormal):
|
|
35
|
+
"""NOTE: This class is auto generated by OpenAPI Generator.
|
|
36
|
+
Ref: https://openapi-generator.tech
|
|
37
|
+
|
|
38
|
+
Do not edit the class manually.
|
|
39
|
+
|
|
40
|
+
Attributes:
|
|
41
|
+
allowed_values (dict): The key is the tuple path to the attribute
|
|
42
|
+
and the for var_name this is (var_name,). The value is a dict
|
|
43
|
+
with a capitalized key describing the allowed value and an allowed
|
|
44
|
+
value. These dicts store the allowed enum values.
|
|
45
|
+
attribute_map (dict): The key is attribute name
|
|
46
|
+
and the value is json key in definition.
|
|
47
|
+
discriminator_value_class_map (dict): A dict to go from the discriminator
|
|
48
|
+
variable value to the discriminator class name.
|
|
49
|
+
validations (dict): The key is the tuple path to the attribute
|
|
50
|
+
and the for var_name this is (var_name,). The value is a dict
|
|
51
|
+
that stores validations for max_length, min_length, max_items,
|
|
52
|
+
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
|
|
53
|
+
inclusive_minimum, and regex.
|
|
54
|
+
additional_properties_type (tuple): A tuple of classes accepted
|
|
55
|
+
as additional properties values.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
allowed_values = {
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
validations = {
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
additional_properties_type = None
|
|
65
|
+
|
|
66
|
+
_nullable = False
|
|
67
|
+
|
|
68
|
+
@cached_property
|
|
69
|
+
def openapi_types():
|
|
70
|
+
"""
|
|
71
|
+
This must be a method because a model may have properties that are
|
|
72
|
+
of type self, this must run after the class is loaded
|
|
73
|
+
|
|
74
|
+
Returns
|
|
75
|
+
openapi_types (dict): The key is attribute name
|
|
76
|
+
and the value is attribute type.
|
|
77
|
+
"""
|
|
78
|
+
return {
|
|
79
|
+
'reason': (str,), # noqa: E501
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@cached_property
|
|
83
|
+
def discriminator():
|
|
84
|
+
return None
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
attribute_map = {
|
|
88
|
+
'reason': 'reason', # noqa: E501
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
_composed_schemas = {}
|
|
92
|
+
|
|
93
|
+
required_properties = set([
|
|
94
|
+
'_data_store',
|
|
95
|
+
'_check_type',
|
|
96
|
+
'_spec_property_naming',
|
|
97
|
+
'_path_to_item',
|
|
98
|
+
'_configuration',
|
|
99
|
+
'_visited_composed_classes',
|
|
100
|
+
])
|
|
101
|
+
|
|
102
|
+
@convert_js_args_to_python_args
|
|
103
|
+
def __init__(self, *args, **kwargs): # noqa: E501
|
|
104
|
+
"""InlineResponse403 - a model defined in OpenAPI
|
|
105
|
+
|
|
106
|
+
Keyword Args:
|
|
107
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
|
108
|
+
will be type checked and a TypeError will be
|
|
109
|
+
raised if the wrong type is input.
|
|
110
|
+
Defaults to True
|
|
111
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
|
112
|
+
drill down to the model in received_data
|
|
113
|
+
when deserializing a response
|
|
114
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
|
115
|
+
are serialized names, as specified in the OpenAPI document.
|
|
116
|
+
False if the variable names in the input data
|
|
117
|
+
are pythonic names, e.g. snake case (default)
|
|
118
|
+
_configuration (Configuration): the instance to use when
|
|
119
|
+
deserializing a file_type parameter.
|
|
120
|
+
If passed, type conversion is attempted
|
|
121
|
+
If omitted no type conversion is done.
|
|
122
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
|
123
|
+
classes that we have traveled through so that
|
|
124
|
+
if we see that class again we will not use its
|
|
125
|
+
discriminator again.
|
|
126
|
+
When traveling through a discriminator, the
|
|
127
|
+
composed schema that is
|
|
128
|
+
is traveled through is added to this set.
|
|
129
|
+
For example if Animal has a discriminator
|
|
130
|
+
petType and we pass in "Dog", and the class Dog
|
|
131
|
+
allOf includes Animal, we move through Animal
|
|
132
|
+
once using the discriminator, and pick Dog.
|
|
133
|
+
Then in Dog, we will make an instance of the
|
|
134
|
+
Animal class but this time we won't travel
|
|
135
|
+
through its discriminator because we passed in
|
|
136
|
+
_visited_composed_classes = (Animal,)
|
|
137
|
+
reason (str): [optional] # noqa: E501
|
|
138
|
+
"""
|
|
139
|
+
|
|
140
|
+
_check_type = kwargs.pop('_check_type', True)
|
|
141
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
|
142
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
|
143
|
+
_configuration = kwargs.pop('_configuration', None)
|
|
144
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
|
145
|
+
|
|
146
|
+
if args:
|
|
147
|
+
raise ApiTypeError(
|
|
148
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
|
149
|
+
args,
|
|
150
|
+
self.__class__.__name__,
|
|
151
|
+
),
|
|
152
|
+
path_to_item=_path_to_item,
|
|
153
|
+
valid_classes=(self.__class__,),
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
self._data_store = {}
|
|
157
|
+
self._check_type = _check_type
|
|
158
|
+
self._spec_property_naming = _spec_property_naming
|
|
159
|
+
self._path_to_item = _path_to_item
|
|
160
|
+
self._configuration = _configuration
|
|
161
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
|
162
|
+
|
|
163
|
+
for var_name, var_value in kwargs.items():
|
|
164
|
+
if var_name not in self.attribute_map and \
|
|
165
|
+
self._configuration is not None and \
|
|
166
|
+
self._configuration.discard_unknown_keys and \
|
|
167
|
+
self.additional_properties_type is None:
|
|
168
|
+
# discard variable.
|
|
169
|
+
continue
|
|
170
|
+
setattr(self, var_name, var_value)
|
|
@@ -30,6 +30,7 @@ from paasta_tools.paastaapi.model.inline_object import InlineObject
|
|
|
30
30
|
from paasta_tools.paastaapi.model.inline_response200 import InlineResponse200
|
|
31
31
|
from paasta_tools.paastaapi.model.inline_response2001 import InlineResponse2001
|
|
32
32
|
from paasta_tools.paastaapi.model.inline_response202 import InlineResponse202
|
|
33
|
+
from paasta_tools.paastaapi.model.inline_response403 import InlineResponse403
|
|
33
34
|
from paasta_tools.paastaapi.model.instance_bounce_status import InstanceBounceStatus
|
|
34
35
|
from paasta_tools.paastaapi.model.instance_mesh_status import InstanceMeshStatus
|
|
35
36
|
from paasta_tools.paastaapi.model.instance_status import InstanceStatus
|
paasta_tools/utils.py
CHANGED
|
@@ -76,6 +76,7 @@ import requests_cache
|
|
|
76
76
|
import service_configuration_lib
|
|
77
77
|
from docker import APIClient
|
|
78
78
|
from docker.utils import kwargs_from_env
|
|
79
|
+
from environment_tools.type_utils import convert_location_type
|
|
79
80
|
from kazoo.client import KazooClient
|
|
80
81
|
from mypy_extensions import TypedDict
|
|
81
82
|
from service_configuration_lib import read_extra_service_information
|
|
@@ -490,6 +491,9 @@ class InstanceConfig:
|
|
|
490
491
|
def get_team(self) -> str:
|
|
491
492
|
return self.config_dict.get("monitoring", {}).get("team", None)
|
|
492
493
|
|
|
494
|
+
def get_runbook(self) -> str:
|
|
495
|
+
return self.config_dict.get("monitoring", {}).get("runbook", None)
|
|
496
|
+
|
|
493
497
|
def get_mem(self) -> float:
|
|
494
498
|
"""Gets the memory required from the service's configuration.
|
|
495
499
|
|
|
@@ -2802,6 +2806,47 @@ class SystemPaastaConfig:
|
|
|
2802
2806
|
def get_remote_run_duration_limit(self, default: int) -> int:
|
|
2803
2807
|
return self.config_dict.get("remote_run_duration_limit", default)
|
|
2804
2808
|
|
|
2809
|
+
def get_ecosystem_for_cluster(self, cluster: str) -> Optional[str]:
|
|
2810
|
+
"""
|
|
2811
|
+
Convert a Kubernetes cluster's region information to an ecosystem name.
|
|
2812
|
+
|
|
2813
|
+
This function extracts the 'yelp_region' from the cluster data and
|
|
2814
|
+
converts it to an ecosystem identifier (e.g., 'uswest2-devc' → 'devc').
|
|
2815
|
+
|
|
2816
|
+
Convert the yelp_region to ecosystem
|
|
2817
|
+
See y/habitat for what these mean
|
|
2818
|
+
Example
|
|
2819
|
+
convert_location_type(
|
|
2820
|
+
location="uswest2-devc",
|
|
2821
|
+
source_type="region",
|
|
2822
|
+
desired_type="ecosystem",
|
|
2823
|
+
)
|
|
2824
|
+
Output: devc
|
|
2825
|
+
|
|
2826
|
+
NOTE: kube_clusters_data.get(cluster) returns a string like uswest2-devc
|
|
2827
|
+
which loosely looks like an aws region - but while you can
|
|
2828
|
+
go from yelp region -> aws region, the reverse is not
|
|
2829
|
+
true without additional data
|
|
2830
|
+
"""
|
|
2831
|
+
kube_clusters_data = self.get_kube_clusters()
|
|
2832
|
+
cluster_info = kube_clusters_data.get(cluster)
|
|
2833
|
+
if cluster_info is not None:
|
|
2834
|
+
yelp_region = cluster_info.get("yelp_region", None)
|
|
2835
|
+
else:
|
|
2836
|
+
# NOTE: this should never happen unless our kube metadata generator is broken
|
|
2837
|
+
return None
|
|
2838
|
+
|
|
2839
|
+
result = convert_location_type(
|
|
2840
|
+
location=yelp_region,
|
|
2841
|
+
source_type="region",
|
|
2842
|
+
desired_type="ecosystem",
|
|
2843
|
+
)
|
|
2844
|
+
if result:
|
|
2845
|
+
return result[0]
|
|
2846
|
+
else:
|
|
2847
|
+
# NOTE: this should never happen unless we've gotten bad data
|
|
2848
|
+
return None
|
|
2849
|
+
|
|
2805
2850
|
|
|
2806
2851
|
def _run(
|
|
2807
2852
|
command: Union[str, List[str]],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: paasta-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.24.0
|
|
4
4
|
Summary: Tools for Yelps SOA infrastructure
|
|
5
5
|
Author: Compute Infrastructure @ Yelp
|
|
6
6
|
Author-email: compute-infra@yelp.com
|
|
@@ -22,6 +22,7 @@ Requires-Dist: cookiecutter >=1.4.0
|
|
|
22
22
|
Requires-Dist: croniter
|
|
23
23
|
Requires-Dist: docker
|
|
24
24
|
Requires-Dist: dulwich >=0.17.3
|
|
25
|
+
Requires-Dist: environment-tools
|
|
25
26
|
Requires-Dist: ephemeral-port-reserve >=1.0.1
|
|
26
27
|
Requires-Dist: graphviz
|
|
27
28
|
Requires-Dist: grpcio
|
|
@@ -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=8frJ6fI367IQ-fueAwvvdpMmMva9aDgsiJmgihA8vbM,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
|
|
@@ -33,7 +33,7 @@ paasta_tools/envoy_tools.py,sha256=w3sA_OWNfeEFJZRJEyaLgDqlHAYUD0U7UNJ9znniM9g,1
|
|
|
33
33
|
paasta_tools/firewall.py,sha256=6VHH5fOks_XzZictLmwAQcc9yzOaj8qd8-96OzM0stc,16304
|
|
34
34
|
paasta_tools/firewall_logging.py,sha256=SJ4n0Egk5LJFLgwoYrHL-fVTbeEJTghIXG1cQ-pnxjQ,4183
|
|
35
35
|
paasta_tools/firewall_update.py,sha256=DXU-L5oIWNGZmVDGjyIXGS8h4OfpQlNWLm0lBdhXUCQ,5388
|
|
36
|
-
paasta_tools/flink_tools.py,sha256=
|
|
36
|
+
paasta_tools/flink_tools.py,sha256=L8QC16w_T8kG7D4MR4KlX_Dty_4Z-Pe4ta2JxVrnkPE,12764
|
|
37
37
|
paasta_tools/flinkeks_tools.py,sha256=O_MiCoAcfepGdKyGbjQLGkcRL9p79OjtcskHvPTArdo,3070
|
|
38
38
|
paasta_tools/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
|
|
39
39
|
paasta_tools/generate_authenticating_services.py,sha256=p0logaZys1P4di9xit_aKP39hjUhrj8HtGSE32zKzwM,2996
|
|
@@ -79,13 +79,13 @@ paasta_tools/smartstack_tools.py,sha256=J0mPialC9KFW9mW0fOUCj040VyowEjQgBI_s13fz
|
|
|
79
79
|
paasta_tools/spark_tools.py,sha256=qZIa1g9JQrX3Nndd3vsblJ3nfXEhSMyizmOTQfFP2k8,9749
|
|
80
80
|
paasta_tools/synapse_srv_namespaces_fact.py,sha256=XG_Fgr_3D-MaEYkhKyQSmKHbOyZp9zwpevyTX4BOLWE,1421
|
|
81
81
|
paasta_tools/tron_tools.py,sha256=2yAEpSeYMW08daISa1jchKQNrR_PvNdsYLj23YIwEU0,55609
|
|
82
|
-
paasta_tools/utils.py,sha256=
|
|
82
|
+
paasta_tools/utils.py,sha256=YHO9RdWRjSQjCPkH_cMSzkGf-swtF5P8_G3P0VizOdo,149091
|
|
83
83
|
paasta_tools/yaml_tools.py,sha256=rusVYsqENcjdF7URmm3aUEvQ1rskX0JJZ1jxbf4vkAw,1262
|
|
84
84
|
paasta_tools/api/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
|
|
85
85
|
paasta_tools/api/api.py,sha256=SwlBbwH9e8ihnBSSkLU65CHrnzyQeDHPfRg_ik5LWZU,9859
|
|
86
86
|
paasta_tools/api/client.py,sha256=RwEeM0fiwdcEpJQQEocuhdEZVnMdh8QwRHTwbx3wFP8,3614
|
|
87
87
|
paasta_tools/api/settings.py,sha256=UbRnHL2GKeRfzfQ4qdlDy2KapGR-GoGpXK0SzNXUeM4,1303
|
|
88
|
-
paasta_tools/api/api_docs/swagger.json,sha256=
|
|
88
|
+
paasta_tools/api/api_docs/swagger.json,sha256=7VPnPUV4pnx9LdEXar6MYDx46xPvLzSxwlHRngybiiU,90166
|
|
89
89
|
paasta_tools/api/tweens/__init__.py,sha256=nN1myeu8LuQKCDxz4XF9f55IDi13DSQgQ5e7OLP7DK8,144
|
|
90
90
|
paasta_tools/api/tweens/auth.py,sha256=dran1Duk0tInhN_dutg-QgRcPfc5DADk5h7D2WVBPek,4197
|
|
91
91
|
paasta_tools/api/tweens/profiling.py,sha256=prvrusCyDzP2j-64UCI-XGYxqDyyx8CDLKXl64oi-6M,3756
|
|
@@ -131,13 +131,13 @@ paasta_tools/cli/cmds/mark_for_deployment.py,sha256=mlb2BJECJnvbzAY7nTVly_kA5pNh
|
|
|
131
131
|
paasta_tools/cli/cmds/mesh_status.py,sha256=PRhUVeDqURVm1RtiCH5Hcj7OUOqvkOTfa_JsCyCmyDg,6125
|
|
132
132
|
paasta_tools/cli/cmds/pause_service_autoscaler.py,sha256=3Ie0wTkpRkl-Uja33WzWkPmBa5EJcPxMNAcZ8_P1LSo,3494
|
|
133
133
|
paasta_tools/cli/cmds/push_to_registry.py,sha256=F7hWPY7MFtqznUfmJoQ0QPc5zAF5BS30_FWdQOrIqME,9736
|
|
134
|
-
paasta_tools/cli/cmds/remote_run.py,sha256=
|
|
134
|
+
paasta_tools/cli/cmds/remote_run.py,sha256=q_yRO9hpacdrUdt98FRcKwxK62ROBxpcrUqesKBBo1A,11073
|
|
135
135
|
paasta_tools/cli/cmds/rollback.py,sha256=_42IwJaCXzo8e_GRbjImeG-7_o4ZGUMqX6meLRXD10Y,13841
|
|
136
136
|
paasta_tools/cli/cmds/secret.py,sha256=onVUKyh4uuxBHLcBQcMYH_1uBbRjJrnPa5nMwHGzDSk,19709
|
|
137
137
|
paasta_tools/cli/cmds/security_check.py,sha256=IEtcM0Hv2BWcavCjWcnPbyfrLcCRYC8jHLiHDj020z4,2377
|
|
138
138
|
paasta_tools/cli/cmds/spark_run.py,sha256=3-kGdVAE3lukxIOhnrb022Ni031KtPirD5mWzsBswsU,51358
|
|
139
139
|
paasta_tools/cli/cmds/start_stop_restart.py,sha256=MIMShmHer_uPEsLCb3qDaBOYyHSgqDHrLHEVFCcxaE0,14600
|
|
140
|
-
paasta_tools/cli/cmds/status.py,sha256=
|
|
140
|
+
paasta_tools/cli/cmds/status.py,sha256=lozS-6kk06qZs7Rhj7qMsaYC2lWsASOXa6yhERd7iDo,86869
|
|
141
141
|
paasta_tools/cli/cmds/validate.py,sha256=7U1UDG5UHlfCZlK0S4EYYsA7s8YwOudS1zsRiYTPbWs,40059
|
|
142
142
|
paasta_tools/cli/cmds/wait_for_deployment.py,sha256=8vPnJ6vXxJCfxQ20PTI3RgrH8mbNe-NuU663SbSXobk,9298
|
|
143
143
|
paasta_tools/cli/fsm/__init__.py,sha256=H0VmJeHyCSXD9GbiEjjQwcB_sKOcoBiyK-IEJMmtCyQ,578
|
|
@@ -227,7 +227,7 @@ paasta_tools/paastaapi/rest.py,sha256=jSS2J2DRpNLtkK98EDgQcMO1MkTocTP244_rzeuXvQ
|
|
|
227
227
|
paasta_tools/paastaapi/api/__init__.py,sha256=HkTSCN0zRGu6mtrPDQmdoPrrVzam8A-ljnGL6Ys3GOE,229
|
|
228
228
|
paasta_tools/paastaapi/api/autoscaler_api.py,sha256=0lTQ6JBTmt_HJ7x2EM03r1NESxlZJ5sJSRBNgGQ1toQ,15912
|
|
229
229
|
paasta_tools/paastaapi/api/default_api.py,sha256=Kl6pqZNzydLVC-MVZYGjXzXcHI69RTSHvcX9FqnWQoU,20369
|
|
230
|
-
paasta_tools/paastaapi/api/remote_run_api.py,sha256=
|
|
230
|
+
paasta_tools/paastaapi/api/remote_run_api.py,sha256=9TOzmPAlxt-19s1qGJ3PcLDWU4OJvxJKO_R6h3foYRs,21487
|
|
231
231
|
paasta_tools/paastaapi/api/resources_api.py,sha256=jctcU5rMlUTza0f3zHnfl1B469amc1t6ahB5xI__fbc,5468
|
|
232
232
|
paasta_tools/paastaapi/api/service_api.py,sha256=83HBVYbwzbbkh4AF4-wIgPEYMm_5jt9iOfOF_jYUhUs,63600
|
|
233
233
|
paasta_tools/paastaapi/apis/__init__.py,sha256=1Q2S7uGtbgDu6a4-c3xx5Ei9JM1YIzctM5dZ5k0tGeA,760
|
|
@@ -251,6 +251,7 @@ paasta_tools/paastaapi/model/inline_object.py,sha256=KZyF22Vv0oDJJkeZwozhjbgFgoQ
|
|
|
251
251
|
paasta_tools/paastaapi/model/inline_response200.py,sha256=5t4-jtpWG0zWSSrqZTpckgS1jqdBYHRGJqelpDwcolY,6691
|
|
252
252
|
paasta_tools/paastaapi/model/inline_response2001.py,sha256=B83DDjFDB-fK8T9xK58mJFvsE4_QKiL6WgZjXZiROqA,6579
|
|
253
253
|
paasta_tools/paastaapi/model/inline_response202.py,sha256=ZngMZ_GHBmgx6gVuPlr1WZmn3ymCRSEG7_iePMmvmA0,7327
|
|
254
|
+
paasta_tools/paastaapi/model/inline_response403.py,sha256=hSSH9PK14JotxIAuQqeY_lxAZkP-KLGNRvv0mhQpyOs,6561
|
|
254
255
|
paasta_tools/paastaapi/model/instance_bounce_status.py,sha256=pWoHZtKd_bx0crlL6IgFqE6w22Ke5MYPvOmD8C0MDRU,8444
|
|
255
256
|
paasta_tools/paastaapi/model/instance_mesh_status.py,sha256=2DHz4ToNM2b12e0U1oHzySPHAv1GeWrqRnuA-djAoWo,7357
|
|
256
257
|
paasta_tools/paastaapi/model/instance_status.py,sha256=iO2RCfNd93muqRyEk8porhch97ykKZDMy3zMhIn6MEA,9761
|
|
@@ -283,68 +284,68 @@ paasta_tools/paastaapi/model/smartstack_backend.py,sha256=jC12hYMur2Iw8hyKVOWlxS
|
|
|
283
284
|
paasta_tools/paastaapi/model/smartstack_location.py,sha256=a39BeS49HyGup_15EgKiyuCxSepocPwi5IElGF2vlt8,7241
|
|
284
285
|
paasta_tools/paastaapi/model/smartstack_status.py,sha256=3CJKc3IfNYhg0mPJQ4mqIMo2KgTYuzLfvHcQ53iCT8Y,7325
|
|
285
286
|
paasta_tools/paastaapi/model/task_tail_lines.py,sha256=ogrAad-WAEhf3Eq23crg_KzB-yanpxzE9hK23tOTLY8,7025
|
|
286
|
-
paasta_tools/paastaapi/models/__init__.py,sha256=
|
|
287
|
+
paasta_tools/paastaapi/models/__init__.py,sha256=3C_qYCHZTvHDm_EbE7LChAsbNHJelnopju_jZZf_tCo,4468
|
|
287
288
|
paasta_tools/secret_providers/__init__.py,sha256=N6kEw3uvY3fxQZgAtR58-lWGQOKfrsHOrc9SYzXd2uQ,1975
|
|
288
289
|
paasta_tools/secret_providers/vault.py,sha256=3vQGKMAgBPKawU6hNw4wPtYxYrNe7iN3tx66TSxAXEA,7517
|
|
289
290
|
paasta_tools/tron/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
290
291
|
paasta_tools/tron/client.py,sha256=ypWjM4bZCzQWLn-qe1driqAxvF0ux8dROuFUv63dryA,5562
|
|
291
292
|
paasta_tools/tron/tron_command_context.py,sha256=c6mph_DAt7pjcE3Uo271haJ0DfxJzfvcRhR2o-UmOeY,5379
|
|
292
293
|
paasta_tools/tron/tron_timeutils.py,sha256=vDn04K7A3Xbs3lM04EgLuViC8AavOc5qyo8J5MC5nLk,3054
|
|
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.
|
|
348
|
-
paasta_tools-1.
|
|
349
|
-
paasta_tools-1.
|
|
350
|
-
paasta_tools-1.
|
|
294
|
+
paasta_tools-1.24.0.data/scripts/apply_external_resources.py,sha256=BOIdCQ5Md9RI3enzqbIWQge3clkXhPybAmLE3hqfDwQ,3347
|
|
295
|
+
paasta_tools-1.24.0.data/scripts/bounce_log_latency_parser.py,sha256=dC06a0a5LdtPJ8xo88QWe5DMH_vwVB1BNbkFH7kJ3j0,2225
|
|
296
|
+
paasta_tools-1.24.0.data/scripts/check_autoscaler_max_instances.py,sha256=2z6ifSU26-ULOK-FXp75b45mCdjSJnuvU8TxvapB8Wk,9423
|
|
297
|
+
paasta_tools-1.24.0.data/scripts/check_cassandracluster_services_replication.py,sha256=mKlCK9pRNzxnOt41wA6CtDQIHhcky438i044kA6pbEc,1127
|
|
298
|
+
paasta_tools-1.24.0.data/scripts/check_flink_services_health.py,sha256=ElYa1hr6KUcXuu0B8Nf-dt2Vfyo5FrwF5gVV4QBX7Lg,7162
|
|
299
|
+
paasta_tools-1.24.0.data/scripts/check_kubernetes_api.py,sha256=BhOqJkkKNJPfonfIPonW5dlIubd1ji-3ppjXHomNwzM,1522
|
|
300
|
+
paasta_tools-1.24.0.data/scripts/check_kubernetes_services_replication.py,sha256=LCLlumReRdy9Cw_sPpqanjPcBlbcrJDiECaYYru5Cwk,5751
|
|
301
|
+
paasta_tools-1.24.0.data/scripts/check_manual_oapi_changes.sh,sha256=1IdphwXP7xnMNS7huZ3FeEHy67-nY4n3ydHmbojQvJg,879
|
|
302
|
+
paasta_tools-1.24.0.data/scripts/check_oom_events.py,sha256=tUr14T2LYEgqwpAq4vkZ_Z0VTPOfQg7yrSSkwGQ86Hg,7801
|
|
303
|
+
paasta_tools-1.24.0.data/scripts/check_orphans.py,sha256=zVC5ShFY7LUnPDUytRNsMgvqXkECHvyZlc3qZMpxLko,9985
|
|
304
|
+
paasta_tools-1.24.0.data/scripts/check_spark_jobs.py,sha256=pVUdWmZSBuh4CbpW7cZ1Loq8FX0QFS0LQk2b24TGRyE,7317
|
|
305
|
+
paasta_tools-1.24.0.data/scripts/cleanup_kubernetes_cr.py,sha256=m-w_wuTuVG9FlwQQkxXYgri5DTGac9Nc2pbK4k1FNDE,4659
|
|
306
|
+
paasta_tools-1.24.0.data/scripts/cleanup_kubernetes_crd.py,sha256=p9eLk-0-pU-hcVg-GAM92h1ZdQqlvmYhBzUFCiMPYR8,4478
|
|
307
|
+
paasta_tools-1.24.0.data/scripts/cleanup_kubernetes_jobs.py,sha256=7LHB4tsz1kt-zygssIfQbBY6c3LSqXYDUILvHkSfBog,12433
|
|
308
|
+
paasta_tools-1.24.0.data/scripts/create_dynamodb_table.py,sha256=9wJftWGgNtvLnpXeUqpoMXBIIep1hNySf0YiQmzpl5c,1167
|
|
309
|
+
paasta_tools-1.24.0.data/scripts/create_paasta_playground.py,sha256=jzoE5e1pxWeVXwCEkD9O0jefOhEnIlSa3QMP9PC2f0M,3239
|
|
310
|
+
paasta_tools-1.24.0.data/scripts/delete_kubernetes_deployments.py,sha256=de4C-5yqEuCeJXp6zhbc0v-c0LOElr4qabLnOTRcX4o,3124
|
|
311
|
+
paasta_tools-1.24.0.data/scripts/emit_allocated_cpu_metrics.py,sha256=Cjd3xoOJoYSP3ciSAlZ7fh6_z678KpYt43Xh-WVCY1M,1859
|
|
312
|
+
paasta_tools-1.24.0.data/scripts/generate_all_deployments,sha256=Qr5B0zogTOr8Lcn_7dpORixpGIJcXZ_pWz_ZlWnmsik,248
|
|
313
|
+
paasta_tools-1.24.0.data/scripts/generate_authenticating_services.py,sha256=r5AQyquVm8_rbAhBETUU2ZHZvolpqZZTakW3lKFiOqw,2982
|
|
314
|
+
paasta_tools-1.24.0.data/scripts/generate_deployments_for_service.py,sha256=FAFzIAtKY7GsA13s-ssCMH7T-_p9B1pBtyyYFzsCZ6k,9822
|
|
315
|
+
paasta_tools-1.24.0.data/scripts/generate_services_file.py,sha256=w3Wyyn9ZkjfrvkT0SnTbh5mrTZJnjhTC2JIqLBpb6-g,3583
|
|
316
|
+
paasta_tools-1.24.0.data/scripts/generate_services_yaml.py,sha256=XyIUsHa1BPLqeklayaFewX69-6GT_luaSLS_TMDLkQ0,991
|
|
317
|
+
paasta_tools-1.24.0.data/scripts/get_running_task_allocation.py,sha256=rV2IFGWU2sEYAVDCwKZgeseOAewFzfDiFeCnsPXdGXY,10890
|
|
318
|
+
paasta_tools-1.24.0.data/scripts/habitat_fixer.py,sha256=hCC7fEnxrBOmiCJj4rPwhGlae9JsYg_gltk10l-FwaE,2625
|
|
319
|
+
paasta_tools-1.24.0.data/scripts/ide_helper.py,sha256=YxHHqbnrJ88XI9Pmlup2QSvp15qVN5ugLuPYkEsmBCw,12334
|
|
320
|
+
paasta_tools-1.24.0.data/scripts/is_pod_healthy_in_proxy.py,sha256=MiY85MJDXcN9oS8d840WG1iYDIzzO9lmk_NC0i_CrQg,4321
|
|
321
|
+
paasta_tools-1.24.0.data/scripts/is_pod_healthy_in_smartstack.py,sha256=z3uP9sgwLwg94BubFgBKare2t1L5qhcY48MWsJxjxPY,1697
|
|
322
|
+
paasta_tools-1.24.0.data/scripts/kill_bad_containers.py,sha256=oNY5x0Zg0eu34cXhFy60I7WRlqg4PKD_6xWi0eoRTCA,3832
|
|
323
|
+
paasta_tools-1.24.0.data/scripts/kubernetes_remove_evicted_pods.py,sha256=D9Ovdc9Xer_Qf3vM5CtPVcKvnMwLiC0H-WQmQGXrBKM,5274
|
|
324
|
+
paasta_tools-1.24.0.data/scripts/mass-deploy-tag.sh,sha256=cfPgDDvAOhy3ijTUocklogzoIY8hfoE6T5QI-0aqcfM,1578
|
|
325
|
+
paasta_tools-1.24.0.data/scripts/mock_patch_checker.py,sha256=Q6Je8QjmfLzdnv_6JR6ehh2kA5SUxmeZGeLI2WC3BSY,2559
|
|
326
|
+
paasta_tools-1.24.0.data/scripts/paasta_cleanup_remote_run_resources.py,sha256=4oN9UwnR7q6aEEyFUhVrT41VSeQJ2YS3upFpbZQXNUI,4558
|
|
327
|
+
paasta_tools-1.24.0.data/scripts/paasta_cleanup_stale_nodes.py,sha256=C-DmEVgtienoMgJnIeESvFqWcJOW2SOGoS1l8RXA8NE,6304
|
|
328
|
+
paasta_tools-1.24.0.data/scripts/paasta_deploy_tron_jobs,sha256=fFN2aP5FNSm5WfDV3yvLpihXaKkAF65MRXFcN2iD7S4,106
|
|
329
|
+
paasta_tools-1.24.0.data/scripts/paasta_execute_docker_command.py,sha256=6kh7h2bleQbNULc37MiRsfnk9MDHqVv30UQdg3rF3kQ,4086
|
|
330
|
+
paasta_tools-1.24.0.data/scripts/paasta_secrets_sync.py,sha256=sMdyWMt9BU5CmWHIRwzhpFKve7zxFHkygt_SNTJutWM,28766
|
|
331
|
+
paasta_tools-1.24.0.data/scripts/paasta_tabcomplete.sh,sha256=qbQKSriz_L4MogA12L_8i-tg0Lplpshbk_FUMjK6uG0,929
|
|
332
|
+
paasta_tools-1.24.0.data/scripts/paasta_update_soa_memcpu.py,sha256=5fShpZYpb7EeoC70cWdICnNHjHAaNU5mTHaAc3mloIs,20813
|
|
333
|
+
paasta_tools-1.24.0.data/scripts/render_template.py,sha256=KcKfeSP2a9f6fMDRhnjX7OJaHmFIBtCJcHhUI_B7p9Y,3975
|
|
334
|
+
paasta_tools-1.24.0.data/scripts/rightsizer_soaconfigs_update.py,sha256=0UPVtDyX6wXXurv7l5fiKuzXH8VEszKx_V7UqDm6Ck0,10493
|
|
335
|
+
paasta_tools-1.24.0.data/scripts/service_shard_remove.py,sha256=WCvCxu3GTYEa3cYnWybTOiuHN14axj0x5_-snVd-mqE,4927
|
|
336
|
+
paasta_tools-1.24.0.data/scripts/service_shard_update.py,sha256=AajuRS4s-HXhEcIIYK2dsyBSdCjZbh4x6Po48ipl7M4,13346
|
|
337
|
+
paasta_tools-1.24.0.data/scripts/setup_istio_mesh.py,sha256=LbLxeI_DnhNXkyCgG-GxutlNu9_vcIitorYr4I9x4CY,11575
|
|
338
|
+
paasta_tools-1.24.0.data/scripts/setup_kubernetes_cr.py,sha256=8Jj362SLgoR6k0ZwzZ4bkJc3RJrxk-f2dpHD5zJXCuo,14625
|
|
339
|
+
paasta_tools-1.24.0.data/scripts/setup_kubernetes_crd.py,sha256=QCiFOcSmE0nMEheIb7IUnYMUn0heh1kHyMFBCm7XIRU,4020
|
|
340
|
+
paasta_tools-1.24.0.data/scripts/setup_kubernetes_internal_crd.py,sha256=dDyAOKFow7yeHWGa197angYwGTDWNyR7vZ6Cx5JlS6k,4629
|
|
341
|
+
paasta_tools-1.24.0.data/scripts/setup_kubernetes_job.py,sha256=iGuGjDoevjpmdV3SXnAg65AwljkqC_c5yzTVvEsJ1xc,16929
|
|
342
|
+
paasta_tools-1.24.0.data/scripts/setup_prometheus_adapter_config.py,sha256=51iFbtMu7MZzv9PVuQftJ59BUVBKdeC7G_zkt9-IXdc,40728
|
|
343
|
+
paasta_tools-1.24.0.data/scripts/shared_ip_check.py,sha256=dbMwCwDLy9hCIbVWV1rk0FKuBkZNuQtM59hGVKxV2B4,2464
|
|
344
|
+
paasta_tools-1.24.0.data/scripts/synapse_srv_namespaces_fact.py,sha256=HFX0zIXkXIjtAw8zrA7mUiy6NOKR11eBzE39R3aZv_E,1408
|
|
345
|
+
paasta_tools-1.24.0.data/scripts/timeouts_metrics_prom.py,sha256=icK1j72-e-hvbUGs3LtcaMn9KBMopD9cGv5UUVo-OSc,2607
|
|
346
|
+
paasta_tools-1.24.0.dist-info/LICENSE,sha256=Tcxn8PpeSjHDwUTemLW_thUNxcOOm612dK_no2ebEpo,10837
|
|
347
|
+
paasta_tools-1.24.0.dist-info/METADATA,sha256=erVNTUWEdOZMYQ3Cv8RX9Na9DCUKvcQQYuCiPZgpmtI,2202
|
|
348
|
+
paasta_tools-1.24.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
349
|
+
paasta_tools-1.24.0.dist-info/entry_points.txt,sha256=5osYZ62iLdhb63d3P8e9ujafe97kisiB3K-geR5IdH8,1076
|
|
350
|
+
paasta_tools-1.24.0.dist-info/top_level.txt,sha256=6vZZAZ7bbaDxuXZjNYixDwzkrezpNgDQHpS0ikvFOk4,24
|
|
351
|
+
paasta_tools-1.24.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/check_autoscaler_max_instances.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.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.23.1.data → paasta_tools-1.24.0.data}/scripts/delete_kubernetes_deployments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/generate_authenticating_services.py
RENAMED
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/generate_deployments_for_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/get_running_task_allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/is_pod_healthy_in_smartstack.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/kubernetes_remove_evicted_pods.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/paasta_cleanup_remote_run_resources.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.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.23.1.data → paasta_tools-1.24.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.23.1.data → paasta_tools-1.24.0.data}/scripts/setup_kubernetes_internal_crd.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.0.data}/scripts/setup_prometheus_adapter_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.23.1.data → paasta_tools-1.24.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
|