paasta-tools 1.4.22__tar.gz → 1.4.24__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.22/paasta_tools.egg-info → paasta-tools-1.4.24}/PKG-INFO +1 -1
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/__init__.py +1 -1
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/local_run.py +4 -1
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/spark_run.py +4 -1
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/status.py +12 -4
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/tron_schema.json +11 -2
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/utils.py +17 -3
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/frameworks/native_service_config.py +2 -1
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/instance/kubernetes.py +6 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes_tools.py +2 -1
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/setup_kubernetes_cr.py +8 -2
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/tron_tools.py +4 -1
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/utils.py +25 -13
- paasta-tools-1.4.24/paasta_tools/vitesscell_tools.py +289 -0
- paasta-tools-1.4.24/paasta_tools/vitesscluster_tools.py +499 -0
- paasta-tools-1.4.24/paasta_tools/vitesskeyspace_tools.py +539 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24/paasta_tools.egg-info}/PKG-INFO +1 -1
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools.egg-info/SOURCES.txt +2 -0
- paasta-tools-1.4.22/paasta_tools/vitesscluster_tools.py +0 -904
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/MANIFEST.in +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/README.md +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/k8s_itests/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/k8s_itests/test_autoscaling.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/k8s_itests/utils.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/adhoc_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/api.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/api_docs/swagger.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/client.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/settings.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/exception.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/flink.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/instance.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/resources.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/service.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/api/views/version.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/apply_external_resources.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/async_utils.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/bounce_lib.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/check_oom_events.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cli.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/logs.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/remote_run.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/validate.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/clusterman.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/config_utils.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/render_template.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/deployment_utils.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/docker_wrapper.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/drain_lib.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/eks_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/envoy_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/firewall.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/firewall_logging.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/firewall_update.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/flink_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/frameworks/native_scheduler.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/frameworks/task_store.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/generate_all_deployments +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/generate_authenticating_services.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/generate_services_file.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/generate_services_yaml.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/hacheck.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/instance/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/iptables.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/log_task_lifecycle_events.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/long_running_service_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mac_address.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/cfg.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/cluster.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/framework.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/log.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/master.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/parallel.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/slave.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/task.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/util.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos_maintenance.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/mesos_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/metrics/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/monitoring/kill_orphaned_docker_containers.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/monitoring_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/oom_logger.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paasta_native_serviceinit.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paasta_remote_run.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_vitesscluster.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/models/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/py.typed +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/remote_git.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/secret_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/slack.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/smartstack_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/spark_tools.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/tron/__init__.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/tron/client.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/pyproject.toml +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/requirements-minimal.txt +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/setup.cfg +0 -0
- {paasta-tools-1.4.22 → paasta-tools-1.4.24}/setup.py +0 -0
|
@@ -1209,7 +1209,10 @@ def configure_and_run_docker_container(
|
|
|
1209
1209
|
if pull_image:
|
|
1210
1210
|
docker_pull_image(docker_url)
|
|
1211
1211
|
|
|
1212
|
-
for volume in instance_config.get_volumes(
|
|
1212
|
+
for volume in instance_config.get_volumes(
|
|
1213
|
+
system_paasta_config.get_volumes(),
|
|
1214
|
+
system_paasta_config.get_uses_bulkdata_default(),
|
|
1215
|
+
):
|
|
1213
1216
|
if os.path.exists(volume["hostPath"]):
|
|
1214
1217
|
volumes.append(
|
|
1215
1218
|
"{}:{}:{}".format(
|
|
@@ -1189,7 +1189,10 @@ def paasta_spark_run(args: argparse.Namespace) -> int:
|
|
|
1189
1189
|
if docker_image_digest is None:
|
|
1190
1190
|
return 1
|
|
1191
1191
|
|
|
1192
|
-
volumes = instance_config.get_volumes(
|
|
1192
|
+
volumes = instance_config.get_volumes(
|
|
1193
|
+
system_paasta_config.get_volumes(),
|
|
1194
|
+
system_paasta_config.get_uses_bulkdata_default(),
|
|
1195
|
+
)
|
|
1193
1196
|
app_base_name = get_spark_app_name(args.cmd or instance_config.get_cmd())
|
|
1194
1197
|
|
|
1195
1198
|
user_spark_opts = _parse_user_spark_args(args.spark_args)
|
|
@@ -95,14 +95,18 @@ from paasta_tools.utils import load_system_paasta_config
|
|
|
95
95
|
from paasta_tools.utils import PaastaColors
|
|
96
96
|
from paasta_tools.utils import remove_ansi_escape_sequences
|
|
97
97
|
from paasta_tools.utils import SystemPaastaConfig
|
|
98
|
-
from paasta_tools.
|
|
98
|
+
from paasta_tools.vitesscell_tools import VitessCellConfig
|
|
99
|
+
from paasta_tools.vitesscluster_tools import VitessClusterConfig
|
|
100
|
+
from paasta_tools.vitesskeyspace_tools import VitessKeyspaceConfig
|
|
99
101
|
|
|
100
102
|
FLINK_STATUS_MAX_THREAD_POOL_WORKERS = 50
|
|
101
103
|
ALLOWED_INSTANCE_CONFIG: Sequence[Type[InstanceConfig]] = [
|
|
102
104
|
FlinkDeploymentConfig,
|
|
103
105
|
FlinkEksDeploymentConfig,
|
|
104
106
|
CassandraClusterDeploymentConfig,
|
|
105
|
-
|
|
107
|
+
VitessClusterConfig,
|
|
108
|
+
VitessCellConfig,
|
|
109
|
+
VitessKeyspaceConfig,
|
|
106
110
|
KafkaClusterDeploymentConfig,
|
|
107
111
|
KubernetesDeploymentConfig,
|
|
108
112
|
EksDeploymentConfig,
|
|
@@ -115,7 +119,9 @@ DEPLOYMENT_INSTANCE_CONFIG: Sequence[Type[InstanceConfig]] = [
|
|
|
115
119
|
FlinkDeploymentConfig,
|
|
116
120
|
FlinkEksDeploymentConfig,
|
|
117
121
|
CassandraClusterDeploymentConfig,
|
|
118
|
-
|
|
122
|
+
VitessClusterConfig,
|
|
123
|
+
VitessCellConfig,
|
|
124
|
+
VitessKeyspaceConfig,
|
|
119
125
|
KafkaClusterDeploymentConfig,
|
|
120
126
|
KubernetesDeploymentConfig,
|
|
121
127
|
EksDeploymentConfig,
|
|
@@ -137,7 +143,9 @@ InstanceStatusWriter = Callable[
|
|
|
137
143
|
EKS_DEPLOYMENT_CONFIGS = [
|
|
138
144
|
EksDeploymentConfig,
|
|
139
145
|
FlinkEksDeploymentConfig,
|
|
140
|
-
|
|
146
|
+
VitessClusterConfig,
|
|
147
|
+
VitessCellConfig,
|
|
148
|
+
VitessKeyspaceConfig,
|
|
141
149
|
]
|
|
142
150
|
FLINK_DEPLOYMENT_CONFIGS = [FlinkDeploymentConfig, FlinkEksDeploymentConfig]
|
|
143
151
|
|
|
@@ -418,8 +418,17 @@
|
|
|
418
418
|
]
|
|
419
419
|
},
|
|
420
420
|
"spark.driver.maxResultSize": {
|
|
421
|
-
"
|
|
422
|
-
|
|
421
|
+
"oneOf": [
|
|
422
|
+
{
|
|
423
|
+
"type": "string",
|
|
424
|
+
"pattern": "^[1-9]+[0-9]*[kmgt]$"
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"type": "number",
|
|
428
|
+
"minimum": 0,
|
|
429
|
+
"exclusiveMinimum": true
|
|
430
|
+
}
|
|
431
|
+
]
|
|
423
432
|
},
|
|
424
433
|
"spark.scheduler.minRegisteredResourcesRatio": {
|
|
425
434
|
"type": "number",
|
|
@@ -76,7 +76,9 @@ from paasta_tools.utils import PAASTA_K8S_INSTANCE_TYPES
|
|
|
76
76
|
from paasta_tools.utils import PaastaColors
|
|
77
77
|
from paasta_tools.utils import SystemPaastaConfig
|
|
78
78
|
from paasta_tools.utils import validate_service_instance
|
|
79
|
-
from paasta_tools.
|
|
79
|
+
from paasta_tools.vitesscell_tools import load_vitess_cell_instance_config
|
|
80
|
+
from paasta_tools.vitesscluster_tools import load_vitess_cluster_instance_config
|
|
81
|
+
from paasta_tools.vitesskeyspace_tools import load_vitess_keyspace_instance_config
|
|
80
82
|
|
|
81
83
|
try:
|
|
82
84
|
from vault_tools.paasta_secret import get_client as get_vault_client
|
|
@@ -680,7 +682,13 @@ INSTANCE_TYPE_HANDLERS: Mapping[str, InstanceTypeHandler] = defaultdict(
|
|
|
680
682
|
get_service_instance_list, load_kafkacluster_instance_config
|
|
681
683
|
),
|
|
682
684
|
vitesscluster=InstanceTypeHandler(
|
|
683
|
-
get_service_instance_list,
|
|
685
|
+
get_service_instance_list, load_vitess_cluster_instance_config
|
|
686
|
+
),
|
|
687
|
+
vitesscell=InstanceTypeHandler(
|
|
688
|
+
get_service_instance_list, load_vitess_cell_instance_config
|
|
689
|
+
),
|
|
690
|
+
vitesskeyspace=InstanceTypeHandler(
|
|
691
|
+
get_service_instance_list, load_vitess_keyspace_instance_config
|
|
684
692
|
),
|
|
685
693
|
nrtsearchservice=InstanceTypeHandler(
|
|
686
694
|
get_service_instance_list, load_nrtsearchservice_instance_config
|
|
@@ -713,7 +721,13 @@ LONG_RUNNING_INSTANCE_TYPE_HANDLERS: Mapping[
|
|
|
713
721
|
get_service_instance_list, load_kafkacluster_instance_config
|
|
714
722
|
),
|
|
715
723
|
vitesscluster=LongRunningInstanceTypeHandler(
|
|
716
|
-
get_service_instance_list,
|
|
724
|
+
get_service_instance_list, load_vitess_cluster_instance_config
|
|
725
|
+
),
|
|
726
|
+
vitesscell=LongRunningInstanceTypeHandler(
|
|
727
|
+
get_service_instance_list, load_vitess_cell_instance_config
|
|
728
|
+
),
|
|
729
|
+
vitesskeyspace=LongRunningInstanceTypeHandler(
|
|
730
|
+
get_service_instance_list, load_vitess_keyspace_instance_config
|
|
717
731
|
),
|
|
718
732
|
nrtsearchservice=LongRunningInstanceTypeHandler(
|
|
719
733
|
get_service_instance_list, load_nrtsearchservice_instance_config
|
{paasta-tools-1.4.22 → paasta-tools-1.4.24}/paasta_tools/frameworks/native_service_config.py
RENAMED
|
@@ -171,7 +171,8 @@ class NativeServiceConfig(LongRunningServiceConfig):
|
|
|
171
171
|
computed separately.
|
|
172
172
|
"""
|
|
173
173
|
docker_volumes = self.get_volumes(
|
|
174
|
-
system_volumes=system_paasta_config.get_volumes()
|
|
174
|
+
system_volumes=system_paasta_config.get_volumes(),
|
|
175
|
+
uses_bulkdata_default=system_paasta_config.get_uses_bulkdata_default(),
|
|
175
176
|
)
|
|
176
177
|
task: TaskInfo = {
|
|
177
178
|
"name": "",
|
|
@@ -33,7 +33,9 @@ from paasta_tools import kubernetes_tools
|
|
|
33
33
|
from paasta_tools import monkrelaycluster_tools
|
|
34
34
|
from paasta_tools import nrtsearchservice_tools
|
|
35
35
|
from paasta_tools import smartstack_tools
|
|
36
|
+
from paasta_tools import vitesscell_tools
|
|
36
37
|
from paasta_tools import vitesscluster_tools
|
|
38
|
+
from paasta_tools import vitesskeyspace_tools
|
|
37
39
|
from paasta_tools.cli.utils import LONG_RUNNING_INSTANCE_TYPE_HANDLERS
|
|
38
40
|
from paasta_tools.instance.hpa_metrics_parser import HPAMetricsDict
|
|
39
41
|
from paasta_tools.instance.hpa_metrics_parser import HPAMetricsParser
|
|
@@ -57,6 +59,8 @@ INSTANCE_TYPES_CR = {
|
|
|
57
59
|
"cassandracluster",
|
|
58
60
|
"kafkacluster",
|
|
59
61
|
"vitesscluster",
|
|
62
|
+
"vitesscell",
|
|
63
|
+
"vitesskeyspace",
|
|
60
64
|
}
|
|
61
65
|
INSTANCE_TYPES_K8S = {
|
|
62
66
|
"cassandracluster",
|
|
@@ -72,6 +76,8 @@ INSTANCE_TYPE_CR_ID = dict(
|
|
|
72
76
|
cassandracluster=cassandracluster_tools.cr_id,
|
|
73
77
|
kafkacluster=kafkacluster_tools.cr_id,
|
|
74
78
|
vitesscluster=vitesscluster_tools.cr_id,
|
|
79
|
+
vitesscell=vitesscell_tools.cr_id,
|
|
80
|
+
vitesskeyspace=vitesskeyspace_tools.cr_id,
|
|
75
81
|
nrtsearchservice=nrtsearchservice_tools.cr_id,
|
|
76
82
|
nrtsearchserviceeks=nrtsearchservice_tools.cr_id,
|
|
77
83
|
monkrelaycluster=monkrelaycluster_tools.cr_id,
|
|
@@ -2142,7 +2142,8 @@ class KubernetesDeploymentConfig(LongRunningServiceConfig):
|
|
|
2142
2142
|
service=self.service, namespace=self.get_nerve_namespace()
|
|
2143
2143
|
)
|
|
2144
2144
|
docker_volumes = self.get_volumes(
|
|
2145
|
-
system_volumes=system_paasta_config.get_volumes()
|
|
2145
|
+
system_volumes=system_paasta_config.get_volumes(),
|
|
2146
|
+
uses_bulkdata_default=system_paasta_config.get_uses_bulkdata_default(),
|
|
2146
2147
|
)
|
|
2147
2148
|
|
|
2148
2149
|
hacheck_sidecar_volumes = system_paasta_config.get_hacheck_sidecar_volumes()
|
|
@@ -49,13 +49,19 @@ 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.
|
|
52
|
+
from paasta_tools.vitesscell_tools import load_vitess_cell_instance_configs
|
|
53
|
+
from paasta_tools.vitesscluster_tools import load_vitess_cluster_instance_configs
|
|
54
|
+
from paasta_tools.vitesskeyspace_tools import load_vitess_keyspace_instance_configs
|
|
53
55
|
|
|
54
56
|
|
|
55
57
|
log = logging.getLogger(__name__)
|
|
56
58
|
|
|
57
59
|
|
|
58
|
-
INSTANCE_TYPE_TO_CONFIG_LOADER = {
|
|
60
|
+
INSTANCE_TYPE_TO_CONFIG_LOADER = {
|
|
61
|
+
"vitesscluster": load_vitess_cluster_instance_configs,
|
|
62
|
+
"vitesscell": load_vitess_cell_instance_configs,
|
|
63
|
+
"vitesskeyspace": load_vitess_keyspace_instance_configs,
|
|
64
|
+
}
|
|
59
65
|
|
|
60
66
|
|
|
61
67
|
class StdoutKubeClient:
|
|
@@ -357,7 +357,10 @@ class TronActionConfig(InstanceConfig):
|
|
|
357
357
|
paasta_service=self.get_service(),
|
|
358
358
|
paasta_instance=self.get_instance(),
|
|
359
359
|
docker_img=docker_img_url,
|
|
360
|
-
extra_volumes=self.get_volumes(
|
|
360
|
+
extra_volumes=self.get_volumes(
|
|
361
|
+
system_paasta_config.get_volumes(),
|
|
362
|
+
uses_bulkdata_default=system_paasta_config.get_uses_bulkdata_default(),
|
|
363
|
+
),
|
|
361
364
|
use_eks=True,
|
|
362
365
|
k8s_server_address=get_k8s_url_for_cluster(self.get_cluster()),
|
|
363
366
|
force_spark_resource_configs=self.config_dict.get(
|
|
@@ -137,6 +137,8 @@ INSTANCE_TYPES = (
|
|
|
137
137
|
"cassandracluster",
|
|
138
138
|
"kafkacluster",
|
|
139
139
|
"vitesscluster",
|
|
140
|
+
"vitesscell",
|
|
141
|
+
"vitesskeyspace",
|
|
140
142
|
"monkrelays",
|
|
141
143
|
"nrtsearchservice",
|
|
142
144
|
"nrtsearchserviceeks",
|
|
@@ -156,6 +158,8 @@ INSTANCE_TYPE_TO_K8S_NAMESPACE = {
|
|
|
156
158
|
"cassandracluster": "paasta-cassandraclusters",
|
|
157
159
|
"kafkacluster": "paasta-kafkaclusters",
|
|
158
160
|
"vitesscluster": "paasta-vitessclusters",
|
|
161
|
+
"vitesscell": "paasta-vitessclusters",
|
|
162
|
+
"vitesskeyspace": "paasta-vitessclusters",
|
|
159
163
|
"nrtsearchservice": "paasta-nrtsearchservices",
|
|
160
164
|
"nrtsearchserviceeks": "paasta-nrtsearchservices",
|
|
161
165
|
}
|
|
@@ -624,7 +628,8 @@ class InstanceConfig:
|
|
|
624
628
|
|
|
625
629
|
Defaults to 1024 (1GiB) if no value is specified in the config.
|
|
626
630
|
|
|
627
|
-
:returns: The amount of disk space specified by the config, 1024 MiB if not specified
|
|
631
|
+
:returns: The amount of disk space specified by the config, 1024 MiB if not specified
|
|
632
|
+
"""
|
|
628
633
|
disk = self.config_dict.get("disk", default)
|
|
629
634
|
return disk
|
|
630
635
|
|
|
@@ -979,7 +984,8 @@ class InstanceConfig:
|
|
|
979
984
|
|
|
980
985
|
Eventually this may be implemented with Mesos roles, once a framework can register under multiple roles.
|
|
981
986
|
|
|
982
|
-
:returns: the "pool" attribute in your config dict, or the string "default" if not specified.
|
|
987
|
+
:returns: the "pool" attribute in your config dict, or the string "default" if not specified.
|
|
988
|
+
"""
|
|
983
989
|
return self.config_dict.get("pool", "default")
|
|
984
990
|
|
|
985
991
|
def get_pool_constraints(self) -> List[Constraint]:
|
|
@@ -998,17 +1004,17 @@ class InstanceConfig:
|
|
|
998
1004
|
"""
|
|
999
1005
|
return self.config_dict.get("net", "bridge")
|
|
1000
1006
|
|
|
1001
|
-
def
|
|
1002
|
-
self,
|
|
1003
|
-
) ->
|
|
1004
|
-
return self.config_dict.get("uses_bulkdata", True)
|
|
1005
|
-
|
|
1006
|
-
def get_volumes(self, system_volumes: Sequence[DockerVolume]) -> List[DockerVolume]:
|
|
1007
|
+
def get_volumes(
|
|
1008
|
+
self, system_volumes: Sequence[DockerVolume], uses_bulkdata_default: bool = True
|
|
1009
|
+
) -> List[DockerVolume]:
|
|
1007
1010
|
volumes = list(system_volumes) + list(self.get_extra_volumes())
|
|
1008
1011
|
# we used to add bulkdata as a default mount - but as part of the
|
|
1009
1012
|
# effort to deprecate the entire system, we're swapping to an opt-in
|
|
1010
1013
|
# model so that we can shrink the blast radius of any changes
|
|
1011
|
-
if self.
|
|
1014
|
+
if self.config_dict.get(
|
|
1015
|
+
"uses_bulkdata",
|
|
1016
|
+
uses_bulkdata_default,
|
|
1017
|
+
):
|
|
1012
1018
|
# bulkdata is mounted RO as the data is produced by another
|
|
1013
1019
|
# system and we want to ensure that there are no inadvertent
|
|
1014
1020
|
# changes by misbehaved code
|
|
@@ -1038,7 +1044,8 @@ class InstanceConfig:
|
|
|
1038
1044
|
|
|
1039
1045
|
Defaults to None if not specified in the config.
|
|
1040
1046
|
|
|
1041
|
-
:returns: A list of dictionaries specified in the dependencies_dict, None if not specified
|
|
1047
|
+
:returns: A list of dictionaries specified in the dependencies_dict, None if not specified
|
|
1048
|
+
"""
|
|
1042
1049
|
dependencies = self.config_dict.get("dependencies")
|
|
1043
1050
|
if not dependencies:
|
|
1044
1051
|
return None
|
|
@@ -1119,7 +1126,6 @@ def compose(
|
|
|
1119
1126
|
|
|
1120
1127
|
|
|
1121
1128
|
class PaastaColors:
|
|
1122
|
-
|
|
1123
1129
|
"""Collection of static variables and methods to assist in coloring text."""
|
|
1124
1130
|
|
|
1125
1131
|
# ANSI color codes
|
|
@@ -2048,6 +2054,7 @@ class SystemPaastaConfigDict(TypedDict, total=False):
|
|
|
2048
2054
|
vitess_tablet_types: List[str]
|
|
2049
2055
|
vitess_tablet_pool_type_mapping: Dict
|
|
2050
2056
|
vitess_throttling_config: Dict
|
|
2057
|
+
uses_bulkdata_default: bool
|
|
2051
2058
|
|
|
2052
2059
|
|
|
2053
2060
|
def load_system_paasta_config(
|
|
@@ -2418,7 +2425,8 @@ class SystemPaastaConfig:
|
|
|
2418
2425
|
"""Get a format string for the URL to query for haproxy-synapse state. This format string gets two keyword
|
|
2419
2426
|
arguments, host and port. Defaults to "http://{host:s}:{port:d}/;csv;norefresh".
|
|
2420
2427
|
|
|
2421
|
-
:returns: A format string for constructing the URL of haproxy-synapse's status page.
|
|
2428
|
+
:returns: A format string for constructing the URL of haproxy-synapse's status page.
|
|
2429
|
+
"""
|
|
2422
2430
|
return self.config_dict.get(
|
|
2423
2431
|
"synapse_haproxy_url_format", DEFAULT_SYNAPSE_HAPROXY_URL_FORMAT
|
|
2424
2432
|
)
|
|
@@ -2433,7 +2441,8 @@ class SystemPaastaConfig:
|
|
|
2433
2441
|
"""Get a format string that constructs a DNS name pointing at the paasta masters in a cluster. This format
|
|
2434
2442
|
string gets one parameter: cluster. Defaults to 'paasta-{cluster:s}.yelp'.
|
|
2435
2443
|
|
|
2436
|
-
:returns: A format string for constructing the FQDN of the masters in a given cluster.
|
|
2444
|
+
:returns: A format string for constructing the FQDN of the masters in a given cluster.
|
|
2445
|
+
"""
|
|
2437
2446
|
return self.config_dict.get("cluster_fqdn_format", "paasta-{cluster:s}.yelp")
|
|
2438
2447
|
|
|
2439
2448
|
def get_paasta_status_version(self) -> str:
|
|
@@ -2805,6 +2814,9 @@ class SystemPaastaConfig:
|
|
|
2805
2814
|
},
|
|
2806
2815
|
)
|
|
2807
2816
|
|
|
2817
|
+
def get_uses_bulkdata_default(self) -> bool:
|
|
2818
|
+
return self.config_dict.get("uses_bulkdata_default", True)
|
|
2819
|
+
|
|
2808
2820
|
|
|
2809
2821
|
def _run(
|
|
2810
2822
|
command: Union[str, List[str]],
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from typing import Any
|
|
3
|
+
from typing import Dict
|
|
4
|
+
from typing import List
|
|
5
|
+
from typing import Mapping
|
|
6
|
+
from typing import Optional
|
|
7
|
+
from typing import TypedDict
|
|
8
|
+
from typing import Union
|
|
9
|
+
|
|
10
|
+
import service_configuration_lib
|
|
11
|
+
|
|
12
|
+
from paasta_tools.kubernetes_tools import KubernetesDeploymentConfigDict
|
|
13
|
+
from paasta_tools.kubernetes_tools import sanitised_cr_name
|
|
14
|
+
from paasta_tools.utils import BranchDictV2
|
|
15
|
+
from paasta_tools.utils import deep_merge_dictionaries
|
|
16
|
+
from paasta_tools.utils import DEFAULT_SOA_DIR
|
|
17
|
+
from paasta_tools.utils import load_service_instance_config
|
|
18
|
+
from paasta_tools.utils import load_system_paasta_config
|
|
19
|
+
from paasta_tools.utils import load_v2_deployments_json
|
|
20
|
+
from paasta_tools.vitesscluster_tools import get_formatted_environment_variables
|
|
21
|
+
from paasta_tools.vitesscluster_tools import KVEnvVar
|
|
22
|
+
from paasta_tools.vitesscluster_tools import KVEnvVarValueFrom
|
|
23
|
+
from paasta_tools.vitesscluster_tools import RequestsDict
|
|
24
|
+
from paasta_tools.vitesscluster_tools import ResourceConfigDict
|
|
25
|
+
from paasta_tools.vitesscluster_tools import VitessDeploymentConfig
|
|
26
|
+
from paasta_tools.vitesscluster_tools import VitessDeploymentConfigDict
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
log = logging.getLogger(__name__)
|
|
30
|
+
log.addHandler(logging.NullHandler())
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
KUBERNETES_NAMESPACE = "paasta-vitessclusters"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# Global variables
|
|
37
|
+
TOPO_IMPLEMENTATION = "zk2"
|
|
38
|
+
TOPO_GLOBAL_ROOT = "/vitess-paasta/global"
|
|
39
|
+
|
|
40
|
+
VTGATE_EXTRA_ENV = {
|
|
41
|
+
"VAULT_ROLEID": {
|
|
42
|
+
"secretKeyRef": {
|
|
43
|
+
"name": "paasta-vitessclusters-secret-vitess-k8s-vault-vtgate-approle-roleid",
|
|
44
|
+
"key": "vault-vtgate-approle-roleid",
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"VAULT_SECRETID": {
|
|
48
|
+
"secretKeyRef": {
|
|
49
|
+
"name": "paasta-vitessclusters-secret-vitess-k8s-vault-vtgate-approle-secretid",
|
|
50
|
+
"key": "vault-vtgate-approle-secretid",
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class GatewayConfigDict(TypedDict, total=False):
|
|
57
|
+
affinity: Dict[str, Any]
|
|
58
|
+
extraEnv: List[Union[KVEnvVar, KVEnvVarValueFrom]]
|
|
59
|
+
extraFlags: Dict[str, str]
|
|
60
|
+
extraLabels: Dict[str, str]
|
|
61
|
+
replicas: int
|
|
62
|
+
resources: Dict[str, Any]
|
|
63
|
+
annotations: Mapping[str, Any]
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class VitessCellConfigDict(VitessDeploymentConfigDict, total=False):
|
|
67
|
+
name: str
|
|
68
|
+
allCells: List[str]
|
|
69
|
+
globalLockserver: Dict[str, str]
|
|
70
|
+
gateway: GatewayConfigDict
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def get_cell_config(
|
|
74
|
+
cell: str,
|
|
75
|
+
images: Dict[str, str],
|
|
76
|
+
allCells: List[str],
|
|
77
|
+
global_lock_server: Dict[str, str],
|
|
78
|
+
region: str,
|
|
79
|
+
vtgate_resources: ResourceConfigDict,
|
|
80
|
+
env: List[Union[KVEnvVar, KVEnvVarValueFrom]],
|
|
81
|
+
labels: Dict[str, str],
|
|
82
|
+
node_affinity: dict,
|
|
83
|
+
annotations: Mapping[str, Any],
|
|
84
|
+
) -> VitessCellConfigDict:
|
|
85
|
+
"""
|
|
86
|
+
get vtgate config
|
|
87
|
+
"""
|
|
88
|
+
replicas = vtgate_resources.get("replicas")
|
|
89
|
+
requests = vtgate_resources.get(
|
|
90
|
+
"requests", RequestsDict(cpu="100m", memory="256Mi")
|
|
91
|
+
)
|
|
92
|
+
environment_overrides: Dict[str, Any] = {
|
|
93
|
+
"VAULT_ADDR": f"https://vault-dre.{region}.yelpcorp.com:8200",
|
|
94
|
+
"VAULT_CACERT": f"/etc/vault/all_cas/acm-privateca-{region}.crt",
|
|
95
|
+
}
|
|
96
|
+
environment_overrides.update(VTGATE_EXTRA_ENV)
|
|
97
|
+
updated_vtgate_extra_env = (
|
|
98
|
+
get_formatted_environment_variables(environment_overrides) + env
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
config = VitessCellConfigDict(
|
|
102
|
+
name=cell,
|
|
103
|
+
images=images,
|
|
104
|
+
allCells=allCells,
|
|
105
|
+
globalLockserver=global_lock_server,
|
|
106
|
+
gateway=GatewayConfigDict(
|
|
107
|
+
affinity={"nodeAffinity": node_affinity},
|
|
108
|
+
extraEnv=updated_vtgate_extra_env,
|
|
109
|
+
extraFlags={
|
|
110
|
+
"mysql_auth_server_impl": "vault",
|
|
111
|
+
"mysql_auth_vault_addr": f"https://vault-dre.{region}.yelpcorp.com:8200",
|
|
112
|
+
"mysql_auth_vault_path": "secrets/vitess/vt-gate/vttablet_credentials.json",
|
|
113
|
+
"mysql_auth_vault_tls_ca": f"/etc/vault/all_cas/acm-privateca-{region}.crt",
|
|
114
|
+
"mysql_auth_vault_ttl": "60s",
|
|
115
|
+
},
|
|
116
|
+
extraLabels=labels,
|
|
117
|
+
replicas=replicas,
|
|
118
|
+
resources={
|
|
119
|
+
"requests": requests,
|
|
120
|
+
"limits": requests,
|
|
121
|
+
},
|
|
122
|
+
annotations=annotations,
|
|
123
|
+
),
|
|
124
|
+
)
|
|
125
|
+
return config
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class VitessCellInstanceConfigDict(KubernetesDeploymentConfigDict, total=False):
|
|
129
|
+
cell: str
|
|
130
|
+
cells: List[str]
|
|
131
|
+
zk_address: str
|
|
132
|
+
vtgate_resources: ResourceConfigDict
|
|
133
|
+
images: Dict[str, str]
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class VitessCellConfig(VitessDeploymentConfig):
|
|
137
|
+
config_dict: VitessCellInstanceConfigDict
|
|
138
|
+
|
|
139
|
+
config_filename_prefix = "vitesscell"
|
|
140
|
+
|
|
141
|
+
def __init__(
|
|
142
|
+
self,
|
|
143
|
+
service: str,
|
|
144
|
+
cluster: str,
|
|
145
|
+
instance: str,
|
|
146
|
+
config_dict: VitessCellConfigDict,
|
|
147
|
+
branch_dict: Optional[BranchDictV2],
|
|
148
|
+
soa_dir: str = DEFAULT_SOA_DIR,
|
|
149
|
+
) -> None:
|
|
150
|
+
super().__init__(
|
|
151
|
+
cluster=cluster, # superregion
|
|
152
|
+
instance=instance, # host-1
|
|
153
|
+
service=service, # vitess
|
|
154
|
+
soa_dir=soa_dir,
|
|
155
|
+
config_dict=config_dict,
|
|
156
|
+
branch_dict=branch_dict,
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
def get_images(self) -> Dict[str, str]:
|
|
160
|
+
vitess_images = self.config_dict.get(
|
|
161
|
+
"images", load_system_paasta_config().get_vitess_images()
|
|
162
|
+
)
|
|
163
|
+
return {
|
|
164
|
+
"vtctld": vitess_images["vtctld_image"],
|
|
165
|
+
"vtadmin": vitess_images["vtadmin_image"],
|
|
166
|
+
"vtgate": vitess_images["vtgate_image"],
|
|
167
|
+
"vttablet": vitess_images["vttablet_image"],
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
def get_global_lock_server(self) -> Dict[str, str]:
|
|
171
|
+
zk_address = self.config_dict.get("zk_address")
|
|
172
|
+
return {
|
|
173
|
+
"implementation": TOPO_IMPLEMENTATION,
|
|
174
|
+
"address": zk_address,
|
|
175
|
+
"rootPath": TOPO_GLOBAL_ROOT,
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
def get_vitess_cell_config(self) -> VitessCellConfigDict:
|
|
179
|
+
cell = self.config_dict.get("cell")
|
|
180
|
+
all_cells = self.config_dict.get("cells")
|
|
181
|
+
images = self.get_images()
|
|
182
|
+
global_lock_server = self.get_global_lock_server()
|
|
183
|
+
region = self.get_region()
|
|
184
|
+
vtgate_resources = self.config_dict.get("vtgate_resources")
|
|
185
|
+
|
|
186
|
+
formatted_env = self.get_env_variables()
|
|
187
|
+
labels = self.get_labels()
|
|
188
|
+
node_affinity = self.get_vitess_node_affinity()
|
|
189
|
+
annotations = self.get_annotations()
|
|
190
|
+
|
|
191
|
+
return get_cell_config(
|
|
192
|
+
cell,
|
|
193
|
+
images,
|
|
194
|
+
all_cells,
|
|
195
|
+
global_lock_server,
|
|
196
|
+
region,
|
|
197
|
+
vtgate_resources,
|
|
198
|
+
formatted_env,
|
|
199
|
+
labels,
|
|
200
|
+
node_affinity,
|
|
201
|
+
annotations,
|
|
202
|
+
)
|
|
203
|
+
|
|
204
|
+
def validate(
|
|
205
|
+
self,
|
|
206
|
+
params: List[str] = [
|
|
207
|
+
"cpus",
|
|
208
|
+
"security",
|
|
209
|
+
"dependencies_reference",
|
|
210
|
+
"deploy_group",
|
|
211
|
+
],
|
|
212
|
+
) -> List[str]:
|
|
213
|
+
# Use InstanceConfig to validate shared config keys like cpus and mem
|
|
214
|
+
# TODO: add mem back to this list once we fix PAASTA-15582 and
|
|
215
|
+
# move to using the same units as flink/marathon etc.
|
|
216
|
+
error_msgs = super().validate(params=params)
|
|
217
|
+
|
|
218
|
+
if error_msgs:
|
|
219
|
+
name = self.get_instance()
|
|
220
|
+
return [f"{name}: {msg}" for msg in error_msgs]
|
|
221
|
+
else:
|
|
222
|
+
return []
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
def load_vitess_cell_instance_config(
|
|
226
|
+
service: str,
|
|
227
|
+
instance: str,
|
|
228
|
+
cluster: str,
|
|
229
|
+
load_deployments: bool = True,
|
|
230
|
+
soa_dir: str = DEFAULT_SOA_DIR,
|
|
231
|
+
) -> VitessCellConfig:
|
|
232
|
+
general_config = service_configuration_lib.read_service_configuration(
|
|
233
|
+
service, soa_dir=soa_dir
|
|
234
|
+
)
|
|
235
|
+
instance_config = load_service_instance_config(
|
|
236
|
+
service, instance, "vitesscell", cluster, soa_dir=soa_dir
|
|
237
|
+
)
|
|
238
|
+
general_config = deep_merge_dictionaries(
|
|
239
|
+
overrides=instance_config, defaults=general_config
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
branch_dict: Optional[BranchDictV2] = None
|
|
243
|
+
if load_deployments:
|
|
244
|
+
deployments_json = load_v2_deployments_json(service, soa_dir=soa_dir)
|
|
245
|
+
temp_instance_config = VitessCellConfig(
|
|
246
|
+
service=service,
|
|
247
|
+
cluster=cluster,
|
|
248
|
+
instance=instance,
|
|
249
|
+
config_dict=general_config,
|
|
250
|
+
branch_dict=None,
|
|
251
|
+
soa_dir=soa_dir,
|
|
252
|
+
)
|
|
253
|
+
branch = temp_instance_config.get_branch()
|
|
254
|
+
deploy_group = temp_instance_config.get_deploy_group()
|
|
255
|
+
branch_dict = deployments_json.get_branch_dict(service, branch, deploy_group)
|
|
256
|
+
|
|
257
|
+
vitess_cell_config = VitessCellConfig(
|
|
258
|
+
service=service,
|
|
259
|
+
cluster=cluster,
|
|
260
|
+
instance=instance,
|
|
261
|
+
config_dict=general_config,
|
|
262
|
+
branch_dict=branch_dict,
|
|
263
|
+
soa_dir=soa_dir,
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
return vitess_cell_config
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
def load_vitess_cell_instance_configs(
|
|
270
|
+
service: str,
|
|
271
|
+
instance: str,
|
|
272
|
+
cluster: str,
|
|
273
|
+
soa_dir: str = DEFAULT_SOA_DIR,
|
|
274
|
+
) -> VitessCellConfigDict:
|
|
275
|
+
vitess_cell_instance_configs = load_vitess_cell_instance_config(
|
|
276
|
+
service, instance, cluster, soa_dir=soa_dir
|
|
277
|
+
).get_vitess_cell_config()
|
|
278
|
+
return vitess_cell_instance_configs
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
# TODO: read this from CRD in service configs
|
|
282
|
+
def cr_id(service: str, instance: str) -> Mapping[str, str]:
|
|
283
|
+
return dict(
|
|
284
|
+
group="planetscale.com",
|
|
285
|
+
version="v2",
|
|
286
|
+
namespace=KUBERNETES_NAMESPACE,
|
|
287
|
+
plural="vitesscells",
|
|
288
|
+
name=sanitised_cr_name(service, instance),
|
|
289
|
+
)
|