paasta-tools 1.4.4__tar.gz → 1.4.6__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.4/paasta_tools.egg-info → paasta-tools-1.4.6}/PKG-INFO +1 -1
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/__init__.py +1 -1
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/api_docs/swagger.json +20 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/logs.py +1 -1
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/status.py +249 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status.py +5 -0
- paasta-tools-1.4.6/paasta_tools/paastaapi/model/instance_status_vitesscluster.py +173 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/models/__init__.py +1 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/vitesscluster_tools.py +13 -4
- {paasta-tools-1.4.4 → paasta-tools-1.4.6/paasta_tools.egg-info}/PKG-INFO +1 -1
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools.egg-info/SOURCES.txt +1 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/MANIFEST.in +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/README.md +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/k8s_itests/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/k8s_itests/test_autoscaling.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/k8s_itests/utils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/adhoc_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/api.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/client.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/settings.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/exception.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/flink.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/instance.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/resources.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/service.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/api/views/version.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/apply_external_resources.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/async_utils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/bounce_lib.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/check_oom_events.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cli.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/local_run.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/remote_run.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/spark_run.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/validate.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/schemas/tron_schema.json +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/cli/utils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/clusterman.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/config_utils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/render_template.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/deployment_utils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/docker_wrapper.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/drain_lib.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/eks_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/envoy_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/firewall.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/firewall_logging.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/firewall_update.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/flink_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/frameworks/native_scheduler.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/frameworks/native_service_config.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/frameworks/task_store.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/generate_all_deployments +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/generate_authenticating_services.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/generate_services_file.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/generate_services_yaml.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/hacheck.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/instance/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/instance/kubernetes.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/iptables.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/kubernetes_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/log_task_lifecycle_events.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/long_running_service_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mac_address.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/cfg.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/cluster.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/framework.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/log.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/master.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/parallel.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/slave.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/task.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/util.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos_maintenance.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/mesos_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/metrics/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/monitoring/kill_orphaned_docker_containers.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/monitoring_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/oom_logger.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paasta_native_serviceinit.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paasta_remote_run.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/py.typed +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/remote_git.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/secret_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/setup_kubernetes_cr.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/slack.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/smartstack_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/spark_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/tron/__init__.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/tron/client.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/tron_tools.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools/utils.py +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/pyproject.toml +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/requirements-minimal.txt +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/setup.cfg +0 -0
- {paasta-tools-1.4.4 → paasta-tools-1.4.6}/setup.py +0 -0
|
@@ -953,6 +953,18 @@
|
|
|
953
953
|
}
|
|
954
954
|
},
|
|
955
955
|
"description": "Nullable CassandraCluster instance status"
|
|
956
|
+
},
|
|
957
|
+
"vitesscluster": {
|
|
958
|
+
"type": "object",
|
|
959
|
+
"properties": {
|
|
960
|
+
"status": {
|
|
961
|
+
"$ref": "#/definitions/InstanceStatusVitessCluster"
|
|
962
|
+
},
|
|
963
|
+
"metadata": {
|
|
964
|
+
"$ref": "#/definitions/InstanceMetadataVitessCluster"
|
|
965
|
+
}
|
|
966
|
+
},
|
|
967
|
+
"description": "Nullable VitessCluster instance status and metadata"
|
|
956
968
|
}
|
|
957
969
|
}
|
|
958
970
|
},
|
|
@@ -1737,6 +1749,14 @@
|
|
|
1737
1749
|
"type": "object",
|
|
1738
1750
|
"description": "Cassandra instance status"
|
|
1739
1751
|
},
|
|
1752
|
+
"InstanceStatusVitessCluster": {
|
|
1753
|
+
"type": "object",
|
|
1754
|
+
"description": "VitessCluster instance status"
|
|
1755
|
+
},
|
|
1756
|
+
"InstanceMetadataVitessCluster": {
|
|
1757
|
+
"type": "object",
|
|
1758
|
+
"description": "VitessCluster instance metadata"
|
|
1759
|
+
},
|
|
1740
1760
|
"InstanceTasks": {
|
|
1741
1761
|
"type": "array",
|
|
1742
1762
|
"description": "List of tasks associated with instance",
|
|
@@ -97,7 +97,7 @@ def add_subparser(subparsers) -> None:
|
|
|
97
97
|
status_parser.add_argument(
|
|
98
98
|
"-c",
|
|
99
99
|
"--cluster",
|
|
100
|
-
help="The cluster to see relevant logs for.
|
|
100
|
+
help="The cluster to see relevant logs for.",
|
|
101
101
|
nargs=1,
|
|
102
102
|
).completer = completer_clusters
|
|
103
103
|
status_parser.add_argument(
|
|
@@ -37,6 +37,7 @@ from typing import Optional
|
|
|
37
37
|
from typing import Sequence
|
|
38
38
|
from typing import Tuple
|
|
39
39
|
from typing import Type
|
|
40
|
+
from typing import TypedDict
|
|
40
41
|
from typing import Union
|
|
41
42
|
|
|
42
43
|
import a_sync
|
|
@@ -94,12 +95,14 @@ from paasta_tools.utils import load_system_paasta_config
|
|
|
94
95
|
from paasta_tools.utils import PaastaColors
|
|
95
96
|
from paasta_tools.utils import remove_ansi_escape_sequences
|
|
96
97
|
from paasta_tools.utils import SystemPaastaConfig
|
|
98
|
+
from paasta_tools.vitesscluster_tools import VitessDeploymentConfig
|
|
97
99
|
|
|
98
100
|
FLINK_STATUS_MAX_THREAD_POOL_WORKERS = 50
|
|
99
101
|
ALLOWED_INSTANCE_CONFIG: Sequence[Type[InstanceConfig]] = [
|
|
100
102
|
FlinkDeploymentConfig,
|
|
101
103
|
FlinkEksDeploymentConfig,
|
|
102
104
|
CassandraClusterDeploymentConfig,
|
|
105
|
+
VitessDeploymentConfig,
|
|
103
106
|
KafkaClusterDeploymentConfig,
|
|
104
107
|
KubernetesDeploymentConfig,
|
|
105
108
|
EksDeploymentConfig,
|
|
@@ -112,6 +115,7 @@ DEPLOYMENT_INSTANCE_CONFIG: Sequence[Type[InstanceConfig]] = [
|
|
|
112
115
|
FlinkDeploymentConfig,
|
|
113
116
|
FlinkEksDeploymentConfig,
|
|
114
117
|
CassandraClusterDeploymentConfig,
|
|
118
|
+
VitessDeploymentConfig,
|
|
115
119
|
KafkaClusterDeploymentConfig,
|
|
116
120
|
KubernetesDeploymentConfig,
|
|
117
121
|
EksDeploymentConfig,
|
|
@@ -1878,6 +1882,250 @@ def print_kafka_status(
|
|
|
1878
1882
|
return 0
|
|
1879
1883
|
|
|
1880
1884
|
|
|
1885
|
+
class EtcdLockServerStatus(TypedDict, total=False):
|
|
1886
|
+
observedGeneration: int
|
|
1887
|
+
available: str
|
|
1888
|
+
clientServiceName: str
|
|
1889
|
+
|
|
1890
|
+
|
|
1891
|
+
class LockServerStatus(TypedDict, total=False):
|
|
1892
|
+
etcd: EtcdLockServerStatus
|
|
1893
|
+
|
|
1894
|
+
|
|
1895
|
+
class VitessClusterCellStatus(TypedDict, total=False):
|
|
1896
|
+
pendingChanges: str
|
|
1897
|
+
gatewayAvailable: str
|
|
1898
|
+
|
|
1899
|
+
|
|
1900
|
+
class VitessClusterKeyspaceStatus(TypedDict, total=False):
|
|
1901
|
+
pendingChanges: str
|
|
1902
|
+
cells: List[str]
|
|
1903
|
+
desiredShards: int
|
|
1904
|
+
shards: int
|
|
1905
|
+
readyShards: int
|
|
1906
|
+
updatedShards: int
|
|
1907
|
+
desiredTablets: int
|
|
1908
|
+
tablets: int
|
|
1909
|
+
readyTablets: int
|
|
1910
|
+
updatedTablets: int
|
|
1911
|
+
|
|
1912
|
+
|
|
1913
|
+
class VitessDashboardStatus(TypedDict, total=False):
|
|
1914
|
+
available: str
|
|
1915
|
+
serviceName: str
|
|
1916
|
+
|
|
1917
|
+
|
|
1918
|
+
class VTAdminStatus(TypedDict, total=False):
|
|
1919
|
+
available: str
|
|
1920
|
+
serviceName: str
|
|
1921
|
+
|
|
1922
|
+
|
|
1923
|
+
class OrphanStatus(TypedDict, total=False):
|
|
1924
|
+
reason: str
|
|
1925
|
+
message: str
|
|
1926
|
+
|
|
1927
|
+
|
|
1928
|
+
class VitessClusterStatus(TypedDict, total=False):
|
|
1929
|
+
observedGeneration: int
|
|
1930
|
+
globalLockserver: LockServerStatus
|
|
1931
|
+
gatewayServiceName: str
|
|
1932
|
+
vitessDashboard: VitessDashboardStatus
|
|
1933
|
+
cells: Dict[str, VitessClusterCellStatus]
|
|
1934
|
+
keyspaces: Dict[str, VitessClusterKeyspaceStatus]
|
|
1935
|
+
vtadmin: VTAdminStatus
|
|
1936
|
+
orphanedCells: Dict[str, OrphanStatus]
|
|
1937
|
+
orphanedKeyspaces: Dict[str, OrphanStatus]
|
|
1938
|
+
|
|
1939
|
+
|
|
1940
|
+
def print_vitess_status(
|
|
1941
|
+
cluster: str,
|
|
1942
|
+
service: str,
|
|
1943
|
+
instance: str,
|
|
1944
|
+
output: List[str],
|
|
1945
|
+
vitess_status: Mapping[str, Any],
|
|
1946
|
+
verbose: int = 0,
|
|
1947
|
+
) -> int:
|
|
1948
|
+
tab = " "
|
|
1949
|
+
indent = 1
|
|
1950
|
+
|
|
1951
|
+
status: VitessClusterStatus = vitess_status.get("status")
|
|
1952
|
+
if status is None:
|
|
1953
|
+
output.append(
|
|
1954
|
+
PaastaColors.red("indent * tab + Vitess cluster is not available yet")
|
|
1955
|
+
)
|
|
1956
|
+
return 1
|
|
1957
|
+
|
|
1958
|
+
output.append(indent * tab + "Vitess Cluster:")
|
|
1959
|
+
indent += 1
|
|
1960
|
+
|
|
1961
|
+
output.append(
|
|
1962
|
+
indent * tab
|
|
1963
|
+
+ "Observed Generation: "
|
|
1964
|
+
+ str(status.get("observedGeneration", 0))
|
|
1965
|
+
)
|
|
1966
|
+
output.append(
|
|
1967
|
+
indent * tab + "Gateway Service Name: " + status.get("gatewayServiceName", "")
|
|
1968
|
+
)
|
|
1969
|
+
|
|
1970
|
+
output.append(indent * tab + "Cells:")
|
|
1971
|
+
indent += 1
|
|
1972
|
+
cells: Dict[str, VitessClusterCellStatus] = status.get("cells")
|
|
1973
|
+
if not cells:
|
|
1974
|
+
output.append(
|
|
1975
|
+
indent * tab + "Cells: " + PaastaColors.red("No cell status available")
|
|
1976
|
+
)
|
|
1977
|
+
return 0
|
|
1978
|
+
for cell, cell_status in cells.items():
|
|
1979
|
+
gateway_available: str = cell_status.get("gatewayAvailable")
|
|
1980
|
+
if gateway_available == "True":
|
|
1981
|
+
output.append(
|
|
1982
|
+
indent * tab
|
|
1983
|
+
+ f"Cell: {cell} - VTGate: {PaastaColors.green('available')}"
|
|
1984
|
+
)
|
|
1985
|
+
else:
|
|
1986
|
+
output.append(
|
|
1987
|
+
indent * tab
|
|
1988
|
+
+ f"Cell: {cell} - VTGate: {PaastaColors.red('unavailable')}"
|
|
1989
|
+
)
|
|
1990
|
+
cell_pending_changes: str = cell_status.get("pendingChanges", None)
|
|
1991
|
+
if cell_pending_changes:
|
|
1992
|
+
output.append(indent * tab + f" Pending Changes: {cell_pending_changes}")
|
|
1993
|
+
indent -= 1
|
|
1994
|
+
|
|
1995
|
+
output.append(indent * tab + "Vitess Dashboard:")
|
|
1996
|
+
indent += 1
|
|
1997
|
+
vitess_dashboard: VitessDashboardStatus = status.get("vitessDashboard")
|
|
1998
|
+
if not vitess_dashboard:
|
|
1999
|
+
output.append(
|
|
2000
|
+
indent * tab
|
|
2001
|
+
+ "Vitess Dashboard: "
|
|
2002
|
+
+ PaastaColors.red("No dashboard status available")
|
|
2003
|
+
)
|
|
2004
|
+
return 0
|
|
2005
|
+
vitess_dashboard_available: str = vitess_dashboard.get("available", "")
|
|
2006
|
+
vitess_dashboard_service_name: str = vitess_dashboard.get("serviceName", "")
|
|
2007
|
+
if vitess_dashboard_available == "True":
|
|
2008
|
+
output.append(
|
|
2009
|
+
indent * tab
|
|
2010
|
+
+ f"Vitess Dashboard: {vitess_dashboard_service_name} - {PaastaColors.green('available')}"
|
|
2011
|
+
)
|
|
2012
|
+
else:
|
|
2013
|
+
output.append(
|
|
2014
|
+
indent * tab
|
|
2015
|
+
+ f"Vitess Dashboard: {vitess_dashboard_service_name} - {PaastaColors.red('unavailable')}"
|
|
2016
|
+
)
|
|
2017
|
+
indent -= 1
|
|
2018
|
+
|
|
2019
|
+
output.append(indent * tab + "VTAdmin:")
|
|
2020
|
+
indent += 1
|
|
2021
|
+
vtadmin: VTAdminStatus = status.get("vtadmin")
|
|
2022
|
+
if not vtadmin:
|
|
2023
|
+
output.append(
|
|
2024
|
+
indent * tab + "VTAdmin: " + PaastaColors.red("No VTAdmin status available")
|
|
2025
|
+
)
|
|
2026
|
+
return 0
|
|
2027
|
+
vtadmin_available: str = vtadmin.get("available", "")
|
|
2028
|
+
vtadmin_service_name: str = vtadmin.get("serviceName", "")
|
|
2029
|
+
if vtadmin_available == "True":
|
|
2030
|
+
output.append(
|
|
2031
|
+
indent * tab
|
|
2032
|
+
+ f"VTAdmin: {vtadmin_service_name} - {PaastaColors.green('available')}"
|
|
2033
|
+
)
|
|
2034
|
+
else:
|
|
2035
|
+
output.append(
|
|
2036
|
+
indent * tab
|
|
2037
|
+
+ f"VTAdmin: {vtadmin_service_name} - {PaastaColors.red('unavailable')}"
|
|
2038
|
+
)
|
|
2039
|
+
indent -= 1
|
|
2040
|
+
|
|
2041
|
+
output.append(indent * tab + "Keyspaces:")
|
|
2042
|
+
indent += 1
|
|
2043
|
+
keyspaces: Dict[str, VitessClusterKeyspaceStatus] = status.get("keyspaces")
|
|
2044
|
+
if not keyspaces:
|
|
2045
|
+
output.append(
|
|
2046
|
+
indent * tab
|
|
2047
|
+
+ "Keyspaces: "
|
|
2048
|
+
+ PaastaColors.red("No keyspace status available")
|
|
2049
|
+
)
|
|
2050
|
+
return 0
|
|
2051
|
+
for keyspace, keyspace_status in keyspaces.items():
|
|
2052
|
+
output.append(indent * tab + f"Keyspace: {keyspace}")
|
|
2053
|
+
indent += 1
|
|
2054
|
+
keyspace_pending_changes: str = keyspace_status.get("pendingChanges", None)
|
|
2055
|
+
if keyspace_pending_changes:
|
|
2056
|
+
output.append(
|
|
2057
|
+
indent * tab
|
|
2058
|
+
+ f"Keyspace: {keyspace} - Pending Changes: {keyspace_pending_changes}"
|
|
2059
|
+
)
|
|
2060
|
+
keyspace_cells: List[str] = keyspace_status.get("cells", [])
|
|
2061
|
+
output.append(indent * tab + f" Cells: {', '.join(keyspace_cells)}")
|
|
2062
|
+
desired_shards: int = keyspace_status.get("desiredShards", 0)
|
|
2063
|
+
shards: int = keyspace_status.get("shards", 0)
|
|
2064
|
+
ready_shards: int = keyspace_status.get("readyShards", 0)
|
|
2065
|
+
updated_shards: int = keyspace_status.get("updatedShards", 0)
|
|
2066
|
+
output.append(
|
|
2067
|
+
indent * tab
|
|
2068
|
+
+ f" Shards: {shards} observed, {ready_shards}/{desired_shards} ready, {updated_shards}/{desired_shards} updated"
|
|
2069
|
+
)
|
|
2070
|
+
desired_tablets: int = keyspace_status.get("desiredTablets", 0)
|
|
2071
|
+
tablets: int = keyspace_status.get("tablets", 0)
|
|
2072
|
+
ready_tablets: int = keyspace_status.get("readyTablets", 0)
|
|
2073
|
+
updated_tablets: int = keyspace_status.get("updatedTablets", 0)
|
|
2074
|
+
output.append(
|
|
2075
|
+
indent * tab
|
|
2076
|
+
+ f" Tablets: {tablets} observed, {ready_tablets}/{desired_tablets} ready, {updated_tablets}/{desired_tablets} updated"
|
|
2077
|
+
)
|
|
2078
|
+
indent -= 1
|
|
2079
|
+
indent -= 1
|
|
2080
|
+
|
|
2081
|
+
# This is not needed when not using etcd. We use zk instead
|
|
2082
|
+
global_lockserver: LockServerStatus = status.get("globalLockserver", {})
|
|
2083
|
+
if global_lockserver:
|
|
2084
|
+
output.append(indent * tab + "Global Lockserver:")
|
|
2085
|
+
indent += 1
|
|
2086
|
+
etcd: EtcdLockServerStatus = global_lockserver.get("etcd")
|
|
2087
|
+
if etcd:
|
|
2088
|
+
output.append(indent * tab + "Global Lockserver:")
|
|
2089
|
+
indent += 1
|
|
2090
|
+
observed_generation: int = etcd.get("observedGeneration", 0)
|
|
2091
|
+
available: str = etcd.get("available", "")
|
|
2092
|
+
client_service_name: str = etcd.get("clientServiceName", "")
|
|
2093
|
+
output.append(
|
|
2094
|
+
indent * tab
|
|
2095
|
+
+ f"Observed Generation: {observed_generation}, Available: {available}, Client Service Name: {client_service_name}"
|
|
2096
|
+
)
|
|
2097
|
+
indent -= 1
|
|
2098
|
+
|
|
2099
|
+
# Orphaned Cells are not mandatorily seen each time
|
|
2100
|
+
orphaned_cells: Dict[str, OrphanStatus] = status.get("orphanedCells", {})
|
|
2101
|
+
if orphaned_cells:
|
|
2102
|
+
output.append(indent * tab + "Orphaned Cells:")
|
|
2103
|
+
indent += 1
|
|
2104
|
+
for cell, orphan_status in orphaned_cells.items():
|
|
2105
|
+
orphaned_cell_reason: str = orphan_status.get("reason", "")
|
|
2106
|
+
orphaned_cell_message: str = orphan_status.get("message", "")
|
|
2107
|
+
output.append(
|
|
2108
|
+
indent * tab
|
|
2109
|
+
+ f"Cell: {cell} - Reason: {orphaned_cell_reason}, Message: {orphaned_cell_message}"
|
|
2110
|
+
)
|
|
2111
|
+
indent -= 1
|
|
2112
|
+
|
|
2113
|
+
# Orphaned Keyspaces are not mandatorily seen each time
|
|
2114
|
+
orphaned_keyspaces: Dict[str, OrphanStatus] = status.get("orphanedKeyspaces", {})
|
|
2115
|
+
if orphaned_keyspaces:
|
|
2116
|
+
output.append(indent * tab + "Orphaned Keyspaces:")
|
|
2117
|
+
indent += 1
|
|
2118
|
+
for keyspace, orphan_status in orphaned_keyspaces.items():
|
|
2119
|
+
orphaned_keyspace_reason: str = orphan_status.get("reason", "")
|
|
2120
|
+
orphaned_keyspace_message: str = orphan_status.get("message", "")
|
|
2121
|
+
output.append(
|
|
2122
|
+
indent * tab
|
|
2123
|
+
+ f"Keyspace: {keyspace} - Reason: {orphaned_keyspace_reason}, Message: {orphaned_keyspace_message}"
|
|
2124
|
+
)
|
|
2125
|
+
indent -= 1
|
|
2126
|
+
return 0
|
|
2127
|
+
|
|
2128
|
+
|
|
1881
2129
|
def report_status_for_cluster(
|
|
1882
2130
|
service: str,
|
|
1883
2131
|
cluster: str,
|
|
@@ -2273,4 +2521,5 @@ INSTANCE_TYPE_WRITERS: Mapping[str, InstanceStatusWriter] = defaultdict(
|
|
|
2273
2521
|
flinkeks=print_flinkeks_status,
|
|
2274
2522
|
kafkacluster=print_kafka_status,
|
|
2275
2523
|
cassandracluster=print_cassandra_status,
|
|
2524
|
+
vitesscluster=print_vitess_status,
|
|
2276
2525
|
)
|
|
@@ -38,6 +38,7 @@ def lazy_import():
|
|
|
38
38
|
from paasta_tools.paastaapi.model.instance_status_kubernetes import InstanceStatusKubernetes
|
|
39
39
|
from paasta_tools.paastaapi.model.instance_status_kubernetes_v2 import InstanceStatusKubernetesV2
|
|
40
40
|
from paasta_tools.paastaapi.model.instance_status_tron import InstanceStatusTron
|
|
41
|
+
from paasta_tools.paastaapi.model.instance_status_vitesscluster import InstanceStatusVitesscluster
|
|
41
42
|
globals()['InstanceStatusAdhoc'] = InstanceStatusAdhoc
|
|
42
43
|
globals()['InstanceStatusCassandracluster'] = InstanceStatusCassandracluster
|
|
43
44
|
globals()['InstanceStatusFlink'] = InstanceStatusFlink
|
|
@@ -45,6 +46,7 @@ def lazy_import():
|
|
|
45
46
|
globals()['InstanceStatusKubernetes'] = InstanceStatusKubernetes
|
|
46
47
|
globals()['InstanceStatusKubernetesV2'] = InstanceStatusKubernetesV2
|
|
47
48
|
globals()['InstanceStatusTron'] = InstanceStatusTron
|
|
49
|
+
globals()['InstanceStatusVitesscluster'] = InstanceStatusVitesscluster
|
|
48
50
|
|
|
49
51
|
|
|
50
52
|
class InstanceStatus(ModelNormal):
|
|
@@ -100,6 +102,7 @@ class InstanceStatus(ModelNormal):
|
|
|
100
102
|
'version': (str,), # noqa: E501
|
|
101
103
|
'instance': (str,), # noqa: E501
|
|
102
104
|
'cassandracluster': (InstanceStatusCassandracluster,), # noqa: E501
|
|
105
|
+
'vitesscluster': (InstanceStatusVitesscluster,), # noqa: E501
|
|
103
106
|
'kafkacluster': (InstanceStatusKafkacluster,), # noqa: E501
|
|
104
107
|
'kubernetes': (InstanceStatusKubernetes,), # noqa: E501
|
|
105
108
|
'kubernetes_v2': (InstanceStatusKubernetesV2,), # noqa: E501
|
|
@@ -120,6 +123,7 @@ class InstanceStatus(ModelNormal):
|
|
|
120
123
|
'version': 'version', # noqa: E501
|
|
121
124
|
'instance': 'instance', # noqa: E501
|
|
122
125
|
'cassandracluster': 'cassandracluster', # noqa: E501
|
|
126
|
+
'vitesscluster': 'vitesscluster', # noqa: E501
|
|
123
127
|
'kafkacluster': 'kafkacluster', # noqa: E501
|
|
124
128
|
'kubernetes': 'kubernetes', # noqa: E501
|
|
125
129
|
'kubernetes_v2': 'kubernetes_v2', # noqa: E501
|
|
@@ -180,6 +184,7 @@ class InstanceStatus(ModelNormal):
|
|
|
180
184
|
version (str): Deployment Version of a service. [optional] # noqa: E501
|
|
181
185
|
instance (str): Instance name. [optional] # noqa: E501
|
|
182
186
|
cassandracluster (InstanceStatusCassandracluster): [optional] # noqa: E501
|
|
187
|
+
vitesscluster (InstanceStatusVitesscluster): [optional] # noqa: E501
|
|
183
188
|
kafkacluster (InstanceStatusKafkacluster): [optional] # noqa: E501
|
|
184
189
|
kubernetes (InstanceStatusKubernetes): [optional] # noqa: E501
|
|
185
190
|
kubernetes_v2 (InstanceStatusKubernetesV2): [optional] # noqa: E501
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Paasta API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Generated by: https://openapi-generator.tech
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
import re # noqa: F401
|
|
14
|
+
import sys # noqa: F401
|
|
15
|
+
|
|
16
|
+
import nulltype # noqa: F401
|
|
17
|
+
|
|
18
|
+
from paasta_tools.paastaapi.model_utils import ( # noqa: F401
|
|
19
|
+
ApiTypeError,
|
|
20
|
+
ModelComposed,
|
|
21
|
+
ModelNormal,
|
|
22
|
+
ModelSimple,
|
|
23
|
+
cached_property,
|
|
24
|
+
change_keys_js_to_python,
|
|
25
|
+
convert_js_args_to_python_args,
|
|
26
|
+
date,
|
|
27
|
+
datetime,
|
|
28
|
+
file_type,
|
|
29
|
+
none_type,
|
|
30
|
+
validate_get_composed_info,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class InstanceStatusVitesscluster(ModelNormal):
|
|
35
|
+
"""NOTE: This class is auto generated by OpenAPI Generator.
|
|
36
|
+
Ref: https://openapi-generator.tech
|
|
37
|
+
|
|
38
|
+
Do not edit the class manually.
|
|
39
|
+
|
|
40
|
+
Attributes:
|
|
41
|
+
allowed_values (dict): The key is the tuple path to the attribute
|
|
42
|
+
and the for var_name this is (var_name,). The value is a dict
|
|
43
|
+
with a capitalized key describing the allowed value and an allowed
|
|
44
|
+
value. These dicts store the allowed enum values.
|
|
45
|
+
attribute_map (dict): The key is attribute name
|
|
46
|
+
and the value is json key in definition.
|
|
47
|
+
discriminator_value_class_map (dict): A dict to go from the discriminator
|
|
48
|
+
variable value to the discriminator class name.
|
|
49
|
+
validations (dict): The key is the tuple path to the attribute
|
|
50
|
+
and the for var_name this is (var_name,). The value is a dict
|
|
51
|
+
that stores validations for max_length, min_length, max_items,
|
|
52
|
+
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
|
|
53
|
+
inclusive_minimum, and regex.
|
|
54
|
+
additional_properties_type (tuple): A tuple of classes accepted
|
|
55
|
+
as additional properties values.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
allowed_values = {
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
validations = {
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
additional_properties_type = None
|
|
65
|
+
|
|
66
|
+
_nullable = False
|
|
67
|
+
|
|
68
|
+
@cached_property
|
|
69
|
+
def openapi_types():
|
|
70
|
+
"""
|
|
71
|
+
This must be a method because a model may have properties that are
|
|
72
|
+
of type self, this must run after the class is loaded
|
|
73
|
+
|
|
74
|
+
Returns
|
|
75
|
+
openapi_types (dict): The key is attribute name
|
|
76
|
+
and the value is attribute type.
|
|
77
|
+
"""
|
|
78
|
+
return {
|
|
79
|
+
'metadata': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
|
|
80
|
+
'status': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@cached_property
|
|
84
|
+
def discriminator():
|
|
85
|
+
return None
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
attribute_map = {
|
|
89
|
+
'metadata': 'metadata', # noqa: E501
|
|
90
|
+
'status': 'status', # noqa: E501
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
_composed_schemas = {}
|
|
94
|
+
|
|
95
|
+
required_properties = set([
|
|
96
|
+
'_data_store',
|
|
97
|
+
'_check_type',
|
|
98
|
+
'_spec_property_naming',
|
|
99
|
+
'_path_to_item',
|
|
100
|
+
'_configuration',
|
|
101
|
+
'_visited_composed_classes',
|
|
102
|
+
])
|
|
103
|
+
|
|
104
|
+
@convert_js_args_to_python_args
|
|
105
|
+
def __init__(self, *args, **kwargs): # noqa: E501
|
|
106
|
+
"""InstanceStatusVitesscluster - a model defined in OpenAPI
|
|
107
|
+
|
|
108
|
+
Keyword Args:
|
|
109
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
|
110
|
+
will be type checked and a TypeError will be
|
|
111
|
+
raised if the wrong type is input.
|
|
112
|
+
Defaults to True
|
|
113
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
|
114
|
+
drill down to the model in received_data
|
|
115
|
+
when deserializing a response
|
|
116
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
|
117
|
+
are serialized names, as specified in the OpenAPI document.
|
|
118
|
+
False if the variable names in the input data
|
|
119
|
+
are pythonic names, e.g. snake case (default)
|
|
120
|
+
_configuration (Configuration): the instance to use when
|
|
121
|
+
deserializing a file_type parameter.
|
|
122
|
+
If passed, type conversion is attempted
|
|
123
|
+
If omitted no type conversion is done.
|
|
124
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
|
125
|
+
classes that we have traveled through so that
|
|
126
|
+
if we see that class again we will not use its
|
|
127
|
+
discriminator again.
|
|
128
|
+
When traveling through a discriminator, the
|
|
129
|
+
composed schema that is
|
|
130
|
+
is traveled through is added to this set.
|
|
131
|
+
For example if Animal has a discriminator
|
|
132
|
+
petType and we pass in "Dog", and the class Dog
|
|
133
|
+
allOf includes Animal, we move through Animal
|
|
134
|
+
once using the discriminator, and pick Dog.
|
|
135
|
+
Then in Dog, we will make an instance of the
|
|
136
|
+
Animal class but this time we won't travel
|
|
137
|
+
through its discriminator because we passed in
|
|
138
|
+
_visited_composed_classes = (Animal,)
|
|
139
|
+
metadata ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): VitessCluster instance metadata. [optional] # noqa: E501
|
|
140
|
+
status ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): VitessCluster instance status. [optional] # noqa: E501
|
|
141
|
+
"""
|
|
142
|
+
|
|
143
|
+
_check_type = kwargs.pop('_check_type', True)
|
|
144
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
|
145
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
|
146
|
+
_configuration = kwargs.pop('_configuration', None)
|
|
147
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
|
148
|
+
|
|
149
|
+
if args:
|
|
150
|
+
raise ApiTypeError(
|
|
151
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
|
152
|
+
args,
|
|
153
|
+
self.__class__.__name__,
|
|
154
|
+
),
|
|
155
|
+
path_to_item=_path_to_item,
|
|
156
|
+
valid_classes=(self.__class__,),
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
self._data_store = {}
|
|
160
|
+
self._check_type = _check_type
|
|
161
|
+
self._spec_property_naming = _spec_property_naming
|
|
162
|
+
self._path_to_item = _path_to_item
|
|
163
|
+
self._configuration = _configuration
|
|
164
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
|
165
|
+
|
|
166
|
+
for var_name, var_value in kwargs.items():
|
|
167
|
+
if var_name not in self.attribute_map and \
|
|
168
|
+
self._configuration is not None and \
|
|
169
|
+
self._configuration.discard_unknown_keys and \
|
|
170
|
+
self.additional_properties_type is None:
|
|
171
|
+
# discard variable.
|
|
172
|
+
continue
|
|
173
|
+
setattr(self, var_name, var_value)
|
|
@@ -39,6 +39,7 @@ from paasta_tools.paastaapi.model.instance_status_kubernetes import InstanceStat
|
|
|
39
39
|
from paasta_tools.paastaapi.model.instance_status_kubernetes_autoscaling_status import InstanceStatusKubernetesAutoscalingStatus
|
|
40
40
|
from paasta_tools.paastaapi.model.instance_status_kubernetes_v2 import InstanceStatusKubernetesV2
|
|
41
41
|
from paasta_tools.paastaapi.model.instance_status_tron import InstanceStatusTron
|
|
42
|
+
from paasta_tools.paastaapi.model.instance_status_vitesscluster import InstanceStatusVitesscluster
|
|
42
43
|
from paasta_tools.paastaapi.model.instance_tasks import InstanceTasks
|
|
43
44
|
from paasta_tools.paastaapi.model.integer_and_error import IntegerAndError
|
|
44
45
|
from paasta_tools.paastaapi.model.kubernetes_container import KubernetesContainer
|
|
@@ -365,7 +365,7 @@ def get_tablet_pool_config(
|
|
|
365
365
|
"throttle_metrics_query": f"select max_replication_delay from max_mysql_replication_delay.{throttle_query_table};",
|
|
366
366
|
"throttle_metrics_threshold": throttle_metrics_threshold,
|
|
367
367
|
"enforce-tableacl-config": "true",
|
|
368
|
-
"table-acl-config": f"/
|
|
368
|
+
"table-acl-config": f"/nail/srv/configs/vitess_keyspace_acls/acls_for_{db_name}.json",
|
|
369
369
|
"table-acl-config-reload-interval": "60s",
|
|
370
370
|
"queryserver-config-strict-table-acl": "true",
|
|
371
371
|
"db-credentials-server": "vault",
|
|
@@ -422,10 +422,15 @@ def get_tablet_pool_config(
|
|
|
422
422
|
"readOnly": True,
|
|
423
423
|
},
|
|
424
424
|
{
|
|
425
|
-
"mountPath": "/
|
|
425
|
+
"mountPath": "/nail/srv",
|
|
426
426
|
"name": "srv-configs",
|
|
427
427
|
"readOnly": True,
|
|
428
428
|
},
|
|
429
|
+
{
|
|
430
|
+
"mountPath": "/nail/etc/srv-configs",
|
|
431
|
+
"name": "etc-srv-configs",
|
|
432
|
+
"readOnly": True,
|
|
433
|
+
},
|
|
429
434
|
{
|
|
430
435
|
"mountPath": "etc/credentials.yaml",
|
|
431
436
|
"name": "vttablet-fake-credentials",
|
|
@@ -443,6 +448,10 @@ def get_tablet_pool_config(
|
|
|
443
448
|
"name": "srv-configs",
|
|
444
449
|
"hostPath": {"path": "/nail/srv"},
|
|
445
450
|
},
|
|
451
|
+
{
|
|
452
|
+
"name": "etc-srv-configs",
|
|
453
|
+
"hostPath": {"path": "/nail/etc/srv-configs"},
|
|
454
|
+
},
|
|
446
455
|
{"name": "vttablet-fake-credentials", "hostPath": {"path": "/dev/null"}},
|
|
447
456
|
{"name": "keyspace-fake-init-script", "hostPath": {"path": "/dev/null"}},
|
|
448
457
|
],
|
|
@@ -840,8 +849,8 @@ def load_vitess_service_instance_configs(
|
|
|
840
849
|
# TODO: read this from CRD in service configs
|
|
841
850
|
def cr_id(service: str, instance: str) -> Mapping[str, str]:
|
|
842
851
|
return dict(
|
|
843
|
-
group="
|
|
844
|
-
version="
|
|
852
|
+
group="planetscale.com",
|
|
853
|
+
version="v2",
|
|
845
854
|
namespace=KUBERNETES_NAMESPACE,
|
|
846
855
|
plural="vitessclusters",
|
|
847
856
|
name=sanitised_cr_name(service, instance),
|
|
@@ -267,6 +267,7 @@ paasta_tools/paastaapi/model/instance_status_kubernetes.py
|
|
|
267
267
|
paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py
|
|
268
268
|
paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py
|
|
269
269
|
paasta_tools/paastaapi/model/instance_status_tron.py
|
|
270
|
+
paasta_tools/paastaapi/model/instance_status_vitesscluster.py
|
|
270
271
|
paasta_tools/paastaapi/model/instance_tasks.py
|
|
271
272
|
paasta_tools/paastaapi/model/integer_and_error.py
|
|
272
273
|
paasta_tools/paastaapi/model/kubernetes_container.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|