paasta-tools 1.4.2__tar.gz → 1.4.4__tar.gz
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-1.4.2/paasta_tools.egg-info → paasta-tools-1.4.4}/PKG-INFO +1 -1
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/__init__.py +1 -1
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/logs.py +1 -3
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/setup_kubernetes_cr.py +11 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/spark_tools.py +0 -21
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/tron_tools.py +7 -56
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/utils.py +52 -0
- paasta-tools-1.4.4/paasta_tools/vitesscluster_tools.py +848 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4/paasta_tools.egg-info}/PKG-INFO +1 -1
- paasta-tools-1.4.2/paasta_tools/vitesscluster_tools.py +0 -125
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/MANIFEST.in +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/README.md +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/k8s_itests/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/k8s_itests/test_autoscaling.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/k8s_itests/utils.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/adhoc_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/api.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/api_docs/swagger.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/client.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/settings.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/exception.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/flink.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/instance.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/resources.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/service.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/api/views/version.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/apply_external_resources.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/async_utils.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/bounce_lib.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/check_oom_events.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cli.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/local_run.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/remote_run.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/spark_run.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/status.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/validate.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/schemas/tron_schema.json +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/cli/utils.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/clusterman.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/config_utils.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/render_template.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/deployment_utils.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/docker_wrapper.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/drain_lib.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/eks_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/envoy_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/firewall.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/firewall_logging.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/firewall_update.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/flink_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/frameworks/native_scheduler.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/frameworks/native_service_config.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/frameworks/task_store.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/generate_all_deployments +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/generate_authenticating_services.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/generate_services_file.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/generate_services_yaml.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/hacheck.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/instance/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/instance/kubernetes.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/iptables.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/kubernetes_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/log_task_lifecycle_events.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/long_running_service_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mac_address.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/cfg.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/cluster.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/framework.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/log.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/master.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/parallel.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/slave.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/task.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/util.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos_maintenance.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/mesos_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/metrics/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/monitoring/kill_orphaned_docker_containers.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/monitoring_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/oom_logger.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paasta_native_serviceinit.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paasta_remote_run.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/models/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/py.typed +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/remote_git.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/secret_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/slack.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/smartstack_tools.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/tron/__init__.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/tron/client.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools.egg-info/SOURCES.txt +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/pyproject.toml +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/requirements-minimal.txt +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/setup.cfg +0 -0
- {paasta-tools-1.4.2 → paasta-tools-1.4.4}/setup.py +0 -0
|
@@ -1195,12 +1195,10 @@ class VectorLogsReader(LogReader):
|
|
|
1195
1195
|
stream_name = get_log_name_for_service(service, prefix="app_output")
|
|
1196
1196
|
superregion = self.get_superregion_for_cluster(clusters[0])
|
|
1197
1197
|
reader = S3LogsReader(superregion)
|
|
1198
|
-
start_date = start_time.date()
|
|
1199
|
-
end_date = end_time.date()
|
|
1200
1198
|
aggregated_logs: List[Dict[str, Any]] = []
|
|
1201
1199
|
|
|
1202
1200
|
for line in reader.get_log_reader(
|
|
1203
|
-
log_name=stream_name,
|
|
1201
|
+
log_name=stream_name, start_datetime=start_time, end_datetime=end_time
|
|
1204
1202
|
):
|
|
1205
1203
|
if paasta_log_line_passes_filter(
|
|
1206
1204
|
line,
|
|
@@ -49,11 +49,15 @@ from paasta_tools.utils import get_config_hash
|
|
|
49
49
|
from paasta_tools.utils import get_git_sha_from_dockerurl
|
|
50
50
|
from paasta_tools.utils import load_all_configs
|
|
51
51
|
from paasta_tools.utils import load_system_paasta_config
|
|
52
|
+
from paasta_tools.vitesscluster_tools import load_vitess_service_instance_configs
|
|
52
53
|
|
|
53
54
|
|
|
54
55
|
log = logging.getLogger(__name__)
|
|
55
56
|
|
|
56
57
|
|
|
58
|
+
INSTANCE_TYPE_TO_CONFIG_LOADER = {"vitesscluster": load_vitess_service_instance_configs}
|
|
59
|
+
|
|
60
|
+
|
|
57
61
|
class StdoutKubeClient:
|
|
58
62
|
"""Replace all destructive operations in Kubernetes APIs with
|
|
59
63
|
writing out YAML to stdout."""
|
|
@@ -352,6 +356,13 @@ def reconcile_kubernetes_resource(
|
|
|
352
356
|
load_deployments=True,
|
|
353
357
|
soa_dir=DEFAULT_SOA_DIR,
|
|
354
358
|
)
|
|
359
|
+
if crd.file_prefix in INSTANCE_TYPE_TO_CONFIG_LOADER:
|
|
360
|
+
config = INSTANCE_TYPE_TO_CONFIG_LOADER[crd.file_prefix](
|
|
361
|
+
service=service,
|
|
362
|
+
instance=inst,
|
|
363
|
+
cluster=cluster,
|
|
364
|
+
soa_dir=DEFAULT_SOA_DIR,
|
|
365
|
+
)
|
|
355
366
|
git_sha = get_git_sha_from_dockerurl(soa_config.get_docker_url(), long=True)
|
|
356
367
|
formatted_resource = format_custom_resource(
|
|
357
368
|
instance_config=config,
|
|
@@ -6,7 +6,6 @@ from typing import Any
|
|
|
6
6
|
from typing import cast
|
|
7
7
|
from typing import Dict
|
|
8
8
|
from typing import List
|
|
9
|
-
from typing import Literal
|
|
10
9
|
from typing import Mapping
|
|
11
10
|
from typing import Set
|
|
12
11
|
|
|
@@ -24,7 +23,6 @@ SPARK_DRIVER_POOL = "stable"
|
|
|
24
23
|
SPARK_JOB_USER = "TRON"
|
|
25
24
|
SPARK_PROMETHEUS_SHARD = "ml-compute"
|
|
26
25
|
SPARK_DNS_POD_TEMPLATE = "/nail/srv/configs/spark_dns_pod_template.yaml"
|
|
27
|
-
MEM_MULTIPLIER = {"k": 1024, "m": 1024**2, "g": 1024**3, "t": 1024**4}
|
|
28
26
|
|
|
29
27
|
log = logging.getLogger(__name__)
|
|
30
28
|
|
|
@@ -249,22 +247,3 @@ def get_spark_driver_monitoring_labels(
|
|
|
249
247
|
"spark.yelp.com/driver_ui_port": ui_port_str,
|
|
250
248
|
}
|
|
251
249
|
return labels
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
def get_spark_memory_in_unit(mem: str, unit: Literal["k", "m", "g", "t"]) -> float:
|
|
255
|
-
"""
|
|
256
|
-
Converts Spark memory to the desired unit.
|
|
257
|
-
mem is the same format as JVM memory strings: just number or number followed by 'k', 'm', 'g' or 't'.
|
|
258
|
-
unit can be 'k', 'm', 'g' or 't'.
|
|
259
|
-
Returns memory as a float converted to the desired unit.
|
|
260
|
-
"""
|
|
261
|
-
try:
|
|
262
|
-
memory_bytes = float(mem)
|
|
263
|
-
except ValueError:
|
|
264
|
-
try:
|
|
265
|
-
memory_bytes = float(mem[:-1]) * MEM_MULTIPLIER[mem[-1]]
|
|
266
|
-
except (ValueError, IndexError):
|
|
267
|
-
print(f"Unable to parse memory value {mem}. Defaulting to 2 GB.")
|
|
268
|
-
memory_bytes = 2147483648 # default to 2 GB
|
|
269
|
-
memory_unit = memory_bytes / MEM_MULTIPLIER[unit]
|
|
270
|
-
return memory_unit
|
|
@@ -282,35 +282,6 @@ class TronActionConfig(InstanceConfig):
|
|
|
282
282
|
self.job, self.action = decompose_instance(instance)
|
|
283
283
|
# Indicate whether this config object is created for validation
|
|
284
284
|
self.for_validation = for_validation
|
|
285
|
-
self.action_spark_config = None
|
|
286
|
-
if self.get_executor() == "spark":
|
|
287
|
-
# build the complete Spark configuration
|
|
288
|
-
# TODO: add conditional check for Spark specific commands spark-submit, pyspark etc ?
|
|
289
|
-
self.action_spark_config = self.build_spark_config()
|
|
290
|
-
|
|
291
|
-
def get_cpus(self) -> float:
|
|
292
|
-
# set Spark driver pod CPU if it is specified by Spark arguments
|
|
293
|
-
if (
|
|
294
|
-
self.action_spark_config
|
|
295
|
-
and "spark.driver.cores" in self.action_spark_config
|
|
296
|
-
):
|
|
297
|
-
return float(self.action_spark_config["spark.driver.cores"])
|
|
298
|
-
# we fall back to this default if there's no spark.driver.cores config
|
|
299
|
-
return super().get_cpus()
|
|
300
|
-
|
|
301
|
-
def get_mem(self) -> float:
|
|
302
|
-
# set Spark driver pod memory if it is specified by Spark arguments
|
|
303
|
-
if (
|
|
304
|
-
self.action_spark_config
|
|
305
|
-
and "spark.driver.memory" in self.action_spark_config
|
|
306
|
-
):
|
|
307
|
-
return int(
|
|
308
|
-
spark_tools.get_spark_memory_in_unit(
|
|
309
|
-
self.action_spark_config["spark.driver.memory"], "m"
|
|
310
|
-
)
|
|
311
|
-
)
|
|
312
|
-
# we fall back to this default if there's no spark.driver.memory config
|
|
313
|
-
return super().get_mem()
|
|
314
285
|
|
|
315
286
|
def build_spark_config(self) -> Dict[str, str]:
|
|
316
287
|
system_paasta_config = load_system_paasta_config()
|
|
@@ -469,6 +440,7 @@ class TronActionConfig(InstanceConfig):
|
|
|
469
440
|
system_paasta_config: Optional["SystemPaastaConfig"] = None,
|
|
470
441
|
) -> Dict[str, str]:
|
|
471
442
|
env = super().get_env(system_paasta_config=system_paasta_config)
|
|
443
|
+
|
|
472
444
|
if self.get_executor() == "spark":
|
|
473
445
|
# Required by some sdks like boto3 client. Throws NoRegionError otherwise.
|
|
474
446
|
# AWS_REGION takes precedence if set.
|
|
@@ -633,20 +605,6 @@ class TronActionConfig(InstanceConfig):
|
|
|
633
605
|
error_msgs.append(
|
|
634
606
|
f"{self.get_job_name()}.{self.get_action_name()} must have a deploy_group set"
|
|
635
607
|
)
|
|
636
|
-
# We are not allowing users to specify `cpus` and `mem` configuration if the action is a Spark job
|
|
637
|
-
# with driver running on k8s (executor: spark), because we derive these values from `spark.driver.cores`
|
|
638
|
-
# and `spark.driver.memory` in order to avoid confusion.
|
|
639
|
-
if self.get_executor() == "spark":
|
|
640
|
-
if "cpus" in self.config_dict:
|
|
641
|
-
error_msgs.append(
|
|
642
|
-
f"{self.get_job_name()}.{self.get_action_name()} is a Spark job. `cpus` config is not allowed. "
|
|
643
|
-
f"Please specify the driver cores using `spark.driver.cores`."
|
|
644
|
-
)
|
|
645
|
-
if "mem" in self.config_dict:
|
|
646
|
-
error_msgs.append(
|
|
647
|
-
f"{self.get_job_name()}.{self.get_action_name()} is a Spark job. `mem` config is not allowed. "
|
|
648
|
-
f"Please specify the driver memory using `spark.driver.memory`."
|
|
649
|
-
)
|
|
650
608
|
return error_msgs
|
|
651
609
|
|
|
652
610
|
def get_pool(self) -> str:
|
|
@@ -1017,26 +975,21 @@ def format_tron_action_dict(action_config: TronActionConfig):
|
|
|
1017
975
|
if executor == "spark":
|
|
1018
976
|
is_mrjob = action_config.config_dict.get("mrjob", False)
|
|
1019
977
|
system_paasta_config = load_system_paasta_config()
|
|
1020
|
-
# inject
|
|
978
|
+
# inject spark configs to the original spark-submit command
|
|
979
|
+
spark_config = action_config.build_spark_config()
|
|
1021
980
|
result["command"] = spark_tools.build_spark_command(
|
|
1022
981
|
result["command"],
|
|
1023
|
-
|
|
982
|
+
spark_config,
|
|
1024
983
|
is_mrjob,
|
|
1025
984
|
action_config.config_dict.get(
|
|
1026
985
|
"max_runtime", spark_tools.DEFAULT_SPARK_RUNTIME_TIMEOUT
|
|
1027
986
|
),
|
|
1028
987
|
)
|
|
1029
|
-
# point to the KUBECONFIG needed by Spark driver
|
|
1030
988
|
result["env"]["KUBECONFIG"] = system_paasta_config.get_spark_kubeconfig()
|
|
1031
|
-
|
|
1032
989
|
# spark, unlike normal batches, needs to expose several ports for things like the spark
|
|
1033
990
|
# ui and for executor->driver communication
|
|
1034
991
|
result["ports"] = list(
|
|
1035
|
-
set(
|
|
1036
|
-
spark_tools.get_spark_ports_from_config(
|
|
1037
|
-
action_config.action_spark_config
|
|
1038
|
-
)
|
|
1039
|
-
)
|
|
992
|
+
set(spark_tools.get_spark_ports_from_config(spark_config))
|
|
1040
993
|
)
|
|
1041
994
|
# mount KUBECONFIG file for Spark drivers to communicate with EKS cluster
|
|
1042
995
|
extra_volumes.append(
|
|
@@ -1050,12 +1003,10 @@ def format_tron_action_dict(action_config: TronActionConfig):
|
|
|
1050
1003
|
)
|
|
1051
1004
|
# Add pod annotations and labels for Spark monitoring metrics
|
|
1052
1005
|
monitoring_annotations = (
|
|
1053
|
-
spark_tools.get_spark_driver_monitoring_annotations(
|
|
1054
|
-
action_config.action_spark_config
|
|
1055
|
-
)
|
|
1006
|
+
spark_tools.get_spark_driver_monitoring_annotations(spark_config)
|
|
1056
1007
|
)
|
|
1057
1008
|
monitoring_labels = spark_tools.get_spark_driver_monitoring_labels(
|
|
1058
|
-
|
|
1009
|
+
spark_config
|
|
1059
1010
|
)
|
|
1060
1011
|
result["annotations"].update(monitoring_annotations)
|
|
1061
1012
|
result["labels"].update(monitoring_labels)
|
|
@@ -2022,6 +2022,12 @@ class SystemPaastaConfigDict(TypedDict, total=False):
|
|
|
2022
2022
|
use_multiple_log_readers: Optional[List[str]]
|
|
2023
2023
|
service_auth_token_settings: ProjectedSAVolume
|
|
2024
2024
|
always_authenticating_services: List[str]
|
|
2025
|
+
mysql_port_mappings: Dict
|
|
2026
|
+
vitess_images: Dict
|
|
2027
|
+
superregion_to_region_mapping: Dict
|
|
2028
|
+
vitess_tablet_types: List[str]
|
|
2029
|
+
vitess_tablet_pool_type_mapping: Dict
|
|
2030
|
+
vitess_throttling_config: Dict
|
|
2025
2031
|
|
|
2026
2032
|
|
|
2027
2033
|
def load_system_paasta_config(
|
|
@@ -2733,6 +2739,52 @@ class SystemPaastaConfig:
|
|
|
2733
2739
|
def get_always_authenticating_services(self) -> List[str]:
|
|
2734
2740
|
return self.config_dict.get("always_authenticating_services", [])
|
|
2735
2741
|
|
|
2742
|
+
def get_mysql_port_mappings(self) -> Dict:
|
|
2743
|
+
return self.config_dict.get("mysql_port_mappings", {})
|
|
2744
|
+
|
|
2745
|
+
def get_vitess_images(self) -> Dict:
|
|
2746
|
+
return self.config_dict.get(
|
|
2747
|
+
"vitess_images",
|
|
2748
|
+
{
|
|
2749
|
+
"vtctld_image": "docker-paasta.yelpcorp.com:443/vitess_base:v16.0.3",
|
|
2750
|
+
"vtgate_image": "docker-paasta.yelpcorp.com:443/vitess_base:v16.0.3",
|
|
2751
|
+
"vttablet_image": "docker-paasta.yelpcorp.com:443/vitess_base:v16.0.3",
|
|
2752
|
+
"vtadmin_image": "docker-paasta.yelpcorp.com:443/vtadmin:v16.0.3",
|
|
2753
|
+
},
|
|
2754
|
+
)
|
|
2755
|
+
|
|
2756
|
+
def get_superregion_to_region_mapping(self) -> Dict:
|
|
2757
|
+
return self.config_dict.get("superregion_to_region_mapping", {})
|
|
2758
|
+
|
|
2759
|
+
def get_vitess_tablet_types(self) -> List:
|
|
2760
|
+
return self.config_dict.get("vitess_tablet_types", ["primary", "migration"])
|
|
2761
|
+
|
|
2762
|
+
def get_vitess_tablet_pool_type_mapping(self) -> Dict:
|
|
2763
|
+
return self.config_dict.get("vitess_tablet_pool_type_mapping", {})
|
|
2764
|
+
|
|
2765
|
+
def get_vitess_throttling_config(self) -> Dict:
|
|
2766
|
+
return self.config_dict.get(
|
|
2767
|
+
"vitess_throttling_config",
|
|
2768
|
+
{
|
|
2769
|
+
"migration": {
|
|
2770
|
+
"throttle_query_table": "migration_replication_delay",
|
|
2771
|
+
"throttle_metrics_threshold": "7200",
|
|
2772
|
+
},
|
|
2773
|
+
"read": {
|
|
2774
|
+
"throttle_query_table": "read_replication_delay",
|
|
2775
|
+
"throttle_metrics_threshold": "3",
|
|
2776
|
+
},
|
|
2777
|
+
"reporting": {
|
|
2778
|
+
"throttle_query_table": "reporting_replication_delay",
|
|
2779
|
+
"throttle_metrics_threshold": "7200",
|
|
2780
|
+
},
|
|
2781
|
+
"primary": {
|
|
2782
|
+
"throttle_query_table": "read_replication_delay",
|
|
2783
|
+
"throttle_metrics_threshold": "3",
|
|
2784
|
+
},
|
|
2785
|
+
},
|
|
2786
|
+
)
|
|
2787
|
+
|
|
2736
2788
|
|
|
2737
2789
|
def _run(
|
|
2738
2790
|
command: Union[str, List[str]],
|