paasta-tools 1.31.1__tar.gz → 1.31.3__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.31.1/paasta_tools.egg-info → paasta_tools-1.31.3}/PKG-INFO +1 -1
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/__init__.py +1 -1
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/api_docs/swagger.json +5 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/status.py +29 -17
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/instance/kubernetes.py +58 -25
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_version.py +3 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3/paasta_tools.egg-info}/PKG-INFO +1 -1
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/LICENSE +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/MANIFEST.in +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/README.md +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/k8s_itests/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/k8s_itests/test_autoscaling.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/k8s_itests/utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/adhoc_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/api.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/client.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/settings.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/tweens/auth.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/exception.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/flink.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/instance.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/remote_run.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/resources.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/service.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/api/views/version.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/apply_external_resources.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/async_utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/bounce_lib.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_oom_events.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cleanup_expired_autoscaling_overrides.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/authentication.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cli.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/local_run.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/logs.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/remote_run.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/spark_run.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/validate.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/tron_schema.json +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/clusterman.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/config_utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/render_template.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/deployment_utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/docker_wrapper.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/drain_lib.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/eks_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/envoy_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/firewall.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/firewall_logging.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/firewall_update.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/flink_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/frameworks/native_service_config.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/generate_all_deployments +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/generate_authenticating_services.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/generate_services_file.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/generate_services_yaml.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/hacheck.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/instance/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/iptables.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes/remote_run.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/kubernetes_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/long_running_service_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mac_address.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/cfg.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/cluster.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/framework.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/log.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/master.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/parallel.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/slave.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/task.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/util.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/mesos_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/metrics/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/monitoring_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/oom_logger.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/autoscaling_override.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/inline_response202.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/inline_response403.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/models/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/py.typed +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/remote_git.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/secret_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/slack.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/smartstack_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/spark_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/tron/__init__.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/tron/client.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/tron_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/yaml_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools.egg-info/SOURCES.txt +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/pyproject.toml +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/requirements-minimal.txt +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/setup.cfg +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/setup.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_adhoc_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_apply_external_resources.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_async_utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_bounce_lib.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_check_flink_services_health.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_check_oom_events.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_check_service_replication_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_check_spark_jobs.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_config_utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_deployment_utils.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_docker_wrapper.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_drain_lib.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_eks_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_envoy_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_firewall.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_firewall_logging.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_firewall_update.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_flink_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_flinkeks_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_generate_authenticating_services.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_generate_deployments_for_service.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_generate_services_file.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_generate_services_yaml.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_hacheck.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_iptables.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_kubernetes_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_list_kubernetes_service_instances.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_long_running_service_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_mac_address.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_mesos_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_monitoring_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_nrtsearchserviceseks_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_oom_logger.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_paasta_service_config_loader.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_puppet_service_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_remote_git.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_secret_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_setup_istio_mesh.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_setup_kubernetes_job.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_setup_prometheus_adapter_config.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_slack.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_smartstack_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_spark_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_tron_tools.py +0 -0
- {paasta_tools-1.31.1 → paasta_tools-1.31.3}/tests/test_utils.py +0 -0
|
@@ -1788,6 +1788,11 @@
|
|
|
1788
1788
|
"KubernetesVersion": {
|
|
1789
1789
|
"type": "object",
|
|
1790
1790
|
"properties": {
|
|
1791
|
+
"container_port": {
|
|
1792
|
+
"description": "Port the container is expecting to receive traffic on",
|
|
1793
|
+
"type": "integer",
|
|
1794
|
+
"format": "int32"
|
|
1795
|
+
},
|
|
1791
1796
|
"type": {
|
|
1792
1797
|
"description": "Type of version (ReplicaSet or ControllerRevision)",
|
|
1793
1798
|
"type": "string"
|
|
@@ -72,7 +72,6 @@ from paasta_tools.kubernetes_tools import format_tail_lines_for_kubernetes_pod
|
|
|
72
72
|
from paasta_tools.kubernetes_tools import KubernetesDeploymentConfig
|
|
73
73
|
from paasta_tools.kubernetes_tools import KubernetesDeployStatus
|
|
74
74
|
from paasta_tools.kubernetes_tools import paasta_prefixed
|
|
75
|
-
from paasta_tools.long_running_service_tools import DEFAULT_CONTAINER_PORT
|
|
76
75
|
from paasta_tools.monitoring_tools import get_runbook
|
|
77
76
|
from paasta_tools.monitoring_tools import get_team
|
|
78
77
|
from paasta_tools.monitoring_tools import list_teams
|
|
@@ -918,11 +917,13 @@ def _print_flink_status_from_job_manager(
|
|
|
918
917
|
else f"{pod_evicted_count}"
|
|
919
918
|
)
|
|
920
919
|
|
|
920
|
+
pods_total_count = pod_running_count + pod_evicted_count + pod_other_count
|
|
921
921
|
output.append(
|
|
922
922
|
" Pods:"
|
|
923
923
|
f" {pod_running_count} running,"
|
|
924
924
|
f" {evicted} evicted,"
|
|
925
|
-
f" {pod_other_count} other"
|
|
925
|
+
f" {pod_other_count} other,"
|
|
926
|
+
f" {pods_total_count} total"
|
|
926
927
|
)
|
|
927
928
|
|
|
928
929
|
if not should_job_info_be_shown(status["state"]):
|
|
@@ -945,12 +946,19 @@ def _print_flink_status_from_job_manager(
|
|
|
945
946
|
output.append(str(e))
|
|
946
947
|
return 1
|
|
947
948
|
|
|
949
|
+
jobs_total_count = (
|
|
950
|
+
overview.jobs_running
|
|
951
|
+
+ overview.jobs_finished
|
|
952
|
+
+ overview.jobs_failed
|
|
953
|
+
+ overview.jobs_cancelled
|
|
954
|
+
)
|
|
948
955
|
output.append(
|
|
949
956
|
" Jobs:"
|
|
950
957
|
f" {overview.jobs_running} running,"
|
|
951
958
|
f" {overview.jobs_finished} finished,"
|
|
952
959
|
f" {overview.jobs_failed} failed,"
|
|
953
|
-
f" {overview.jobs_cancelled} cancelled"
|
|
960
|
+
f" {overview.jobs_cancelled} cancelled,"
|
|
961
|
+
f" {jobs_total_count} total"
|
|
954
962
|
)
|
|
955
963
|
output.append(
|
|
956
964
|
" "
|
|
@@ -1314,7 +1322,9 @@ def get_version_table_entry(
|
|
|
1314
1322
|
for state in ReplicaState
|
|
1315
1323
|
if state in replica_state_counts
|
|
1316
1324
|
]
|
|
1317
|
-
entry.append(
|
|
1325
|
+
entry.append(
|
|
1326
|
+
f" Replica States: {' / '.join(replica_state_display)} / {replica_state_counts.total()} total"
|
|
1327
|
+
)
|
|
1318
1328
|
if not verbose:
|
|
1319
1329
|
unhealthy_replicas = [
|
|
1320
1330
|
(state, pod) for state, pod in replica_states if state.is_unhealthy()
|
|
@@ -1322,13 +1332,23 @@ def get_version_table_entry(
|
|
|
1322
1332
|
if unhealthy_replicas:
|
|
1323
1333
|
entry.append(" Unhealthy Replicas:")
|
|
1324
1334
|
replica_table = create_replica_table(
|
|
1325
|
-
unhealthy_replicas,
|
|
1335
|
+
unhealthy_replicas,
|
|
1336
|
+
service,
|
|
1337
|
+
instance,
|
|
1338
|
+
cluster,
|
|
1339
|
+
version.container_port,
|
|
1340
|
+
verbose,
|
|
1326
1341
|
)
|
|
1327
1342
|
for line in replica_table:
|
|
1328
1343
|
entry.append(f" {line}")
|
|
1329
1344
|
else:
|
|
1330
1345
|
replica_table = create_replica_table(
|
|
1331
|
-
replica_states,
|
|
1346
|
+
replica_states,
|
|
1347
|
+
service,
|
|
1348
|
+
instance,
|
|
1349
|
+
cluster,
|
|
1350
|
+
version.container_port,
|
|
1351
|
+
verbose,
|
|
1332
1352
|
)
|
|
1333
1353
|
for line in replica_table:
|
|
1334
1354
|
entry.append(f" {line}")
|
|
@@ -1403,12 +1423,6 @@ def get_main_container(pod: KubernetesPodV2) -> Optional[KubernetesContainerV2]:
|
|
|
1403
1423
|
)
|
|
1404
1424
|
|
|
1405
1425
|
|
|
1406
|
-
def get_container_env(container: Optional[KubernetesContainerV2]) -> Dict[str, str]:
|
|
1407
|
-
if not container or not container.env:
|
|
1408
|
-
return {}
|
|
1409
|
-
return {env_var.name: env_var.value for env_var in container.env}
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
1426
|
def get_replica_state(pod: KubernetesPodV2) -> ReplicaState:
|
|
1413
1427
|
phase = pod.phase
|
|
1414
1428
|
state = ReplicaState.UNKNOWN
|
|
@@ -1474,6 +1488,7 @@ def create_replica_table(
|
|
|
1474
1488
|
service: str,
|
|
1475
1489
|
instance: str,
|
|
1476
1490
|
cluster: str,
|
|
1491
|
+
container_port: int,
|
|
1477
1492
|
verbose: int = 0,
|
|
1478
1493
|
) -> List[str]:
|
|
1479
1494
|
header = ["ID", "IP/Port", "Host deployed to", "Started at what localtime", "State"]
|
|
@@ -1481,14 +1496,10 @@ def create_replica_table(
|
|
|
1481
1496
|
for state, pod in pods:
|
|
1482
1497
|
start_datetime = datetime.fromtimestamp(pod.create_timestamp)
|
|
1483
1498
|
humanized_start_time = humanize.naturaltime(start_datetime)
|
|
1484
|
-
# Get port from the main container's PAASTA_PORT env var, fallback to DEFAULT_CONTAINER_PORT
|
|
1485
|
-
main_container = get_main_container(pod)
|
|
1486
|
-
container_env = get_container_env(main_container)
|
|
1487
|
-
paasta_port = container_env.get("PAASTA_PORT", str(DEFAULT_CONTAINER_PORT))
|
|
1488
1499
|
|
|
1489
1500
|
row = [
|
|
1490
1501
|
pod.name,
|
|
1491
|
-
f"{pod.ip}:{
|
|
1502
|
+
f"{pod.ip}:{container_port}" if pod.ip else "None",
|
|
1492
1503
|
pod.host or "None",
|
|
1493
1504
|
humanized_start_time,
|
|
1494
1505
|
state.formatted_message,
|
|
@@ -1503,6 +1514,7 @@ def create_replica_table(
|
|
|
1503
1514
|
)
|
|
1504
1515
|
)
|
|
1505
1516
|
|
|
1517
|
+
main_container = get_main_container(pod)
|
|
1506
1518
|
if main_container:
|
|
1507
1519
|
if main_container.timestamp:
|
|
1508
1520
|
timestamp = datetime.fromtimestamp(main_container.timestamp)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
+
import logging
|
|
2
3
|
from asyncio.tasks import Task
|
|
3
4
|
from collections import defaultdict
|
|
4
5
|
from enum import Enum
|
|
@@ -17,6 +18,7 @@ from typing import Union
|
|
|
17
18
|
|
|
18
19
|
import a_sync
|
|
19
20
|
import pytz
|
|
21
|
+
import requests.exceptions
|
|
20
22
|
from kubernetes.client import V1Container
|
|
21
23
|
from kubernetes.client import V1ControllerRevision
|
|
22
24
|
from kubernetes.client import V1Pod
|
|
@@ -75,6 +77,8 @@ INSTANCE_TYPE_CR_ID = dict(
|
|
|
75
77
|
monkrelaycluster=monkrelaycluster_tools.cr_id,
|
|
76
78
|
)
|
|
77
79
|
|
|
80
|
+
logger = logging.getLogger(__name__)
|
|
81
|
+
|
|
78
82
|
|
|
79
83
|
class ServiceMesh(Enum):
|
|
80
84
|
SMARTSTACK = "smartstack"
|
|
@@ -100,6 +104,7 @@ class KubernetesVersionDict(TypedDict, total=False):
|
|
|
100
104
|
config_sha: str
|
|
101
105
|
pods: Sequence[Mapping[str, Any]]
|
|
102
106
|
namespace: str
|
|
107
|
+
container_port: Optional[int]
|
|
103
108
|
|
|
104
109
|
|
|
105
110
|
def cr_id(service: str, instance: str, instance_type: str) -> Mapping[str, str]:
|
|
@@ -347,31 +352,49 @@ async def mesh_status(
|
|
|
347
352
|
|
|
348
353
|
pods = await pods_task
|
|
349
354
|
for location, hosts in node_hostname_by_location.items():
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
355
|
+
max_retries = 3
|
|
356
|
+
|
|
357
|
+
for attempt in range(max_retries):
|
|
358
|
+
host = replication_checker.get_hostname_in_pool(hosts, instance_pool)
|
|
359
|
+
try:
|
|
360
|
+
if service_mesh == ServiceMesh.SMARTSTACK:
|
|
361
|
+
location_dict = _build_smartstack_location_dict(
|
|
362
|
+
synapse_host=host,
|
|
363
|
+
synapse_port=settings.system_paasta_config.get_synapse_port(),
|
|
364
|
+
synapse_haproxy_url_format=settings.system_paasta_config.get_synapse_haproxy_url_format(),
|
|
365
|
+
registration=registration,
|
|
366
|
+
pods=pods,
|
|
367
|
+
location=location,
|
|
368
|
+
should_return_individual_backends=should_return_individual_backends,
|
|
369
|
+
)
|
|
370
|
+
elif service_mesh == ServiceMesh.ENVOY:
|
|
371
|
+
location_dict = _build_envoy_location_dict(
|
|
372
|
+
envoy_host=host,
|
|
373
|
+
envoy_admin_port=settings.system_paasta_config.get_envoy_admin_port(),
|
|
374
|
+
envoy_admin_endpoint_format=settings.system_paasta_config.get_envoy_admin_endpoint_format(),
|
|
375
|
+
registration=registration,
|
|
376
|
+
pods=pods,
|
|
377
|
+
location=location,
|
|
378
|
+
should_return_individual_backends=should_return_individual_backends,
|
|
379
|
+
)
|
|
380
|
+
|
|
381
|
+
mesh_status["locations"].append(location_dict)
|
|
382
|
+
return mesh_status
|
|
383
|
+
|
|
384
|
+
except requests.exceptions.ConnectTimeout:
|
|
385
|
+
if attempt < max_retries - 1:
|
|
386
|
+
logger.warning(
|
|
387
|
+
"attempt %s/%s: Unable to connect to %s, retrying (on another host, hopefully)...",
|
|
388
|
+
attempt,
|
|
389
|
+
max_retries,
|
|
390
|
+
host,
|
|
391
|
+
)
|
|
392
|
+
continue
|
|
393
|
+
else:
|
|
394
|
+
logger.critical(
|
|
395
|
+
"Unable to connect to %s, not retrying again.", host
|
|
396
|
+
)
|
|
397
|
+
raise
|
|
375
398
|
return mesh_status
|
|
376
399
|
|
|
377
400
|
|
|
@@ -698,6 +721,7 @@ async def kubernetes_status_v2(
|
|
|
698
721
|
instance=instance,
|
|
699
722
|
namespaces=relevant_namespaces,
|
|
700
723
|
pod_status_by_sha_and_readiness_task=pod_status_by_sha_and_readiness_task, # type: ignore # PAASTA-18698; ignoring due to unexpected type mismatch
|
|
724
|
+
container_port=job_config.get_container_port(),
|
|
701
725
|
)
|
|
702
726
|
)
|
|
703
727
|
tasks.extend([pod_status_by_sha_and_readiness_task, versions_task]) # type: ignore # PAASTA-18698; ignoring due to unexpected type mismatch
|
|
@@ -717,6 +741,7 @@ async def kubernetes_status_v2(
|
|
|
717
741
|
instance=instance,
|
|
718
742
|
namespaces=relevant_namespaces,
|
|
719
743
|
pod_status_by_replicaset_task=pod_status_by_replicaset_task, # type: ignore # PAASTA-18698; ignoring due to unexpected type mismatch
|
|
744
|
+
container_port=job_config.get_container_port(),
|
|
720
745
|
)
|
|
721
746
|
)
|
|
722
747
|
tasks.extend([pod_status_by_replicaset_task, versions_task]) # type: ignore # PAASTA-18698; ignoring due to unexpected type mismatch
|
|
@@ -788,6 +813,7 @@ async def get_versions_for_replicasets(
|
|
|
788
813
|
instance: str,
|
|
789
814
|
namespaces: Iterable[str],
|
|
790
815
|
pod_status_by_replicaset_task: "asyncio.Future[Mapping[str, Sequence[asyncio.Future[Dict[str, Any]]]]]",
|
|
816
|
+
container_port: Optional[int],
|
|
791
817
|
) -> List[KubernetesVersionDict]:
|
|
792
818
|
|
|
793
819
|
replicaset_list: List[V1ReplicaSet] = []
|
|
@@ -815,6 +841,7 @@ async def get_versions_for_replicasets(
|
|
|
815
841
|
replicaset,
|
|
816
842
|
kube_client,
|
|
817
843
|
pod_status_by_replicaset.get(replicaset.metadata.name),
|
|
844
|
+
container_port,
|
|
818
845
|
)
|
|
819
846
|
for replicaset in actually_running_replicasets
|
|
820
847
|
]
|
|
@@ -826,6 +853,7 @@ async def get_replicaset_status(
|
|
|
826
853
|
replicaset: V1ReplicaSet,
|
|
827
854
|
client: kubernetes_tools.KubeClient,
|
|
828
855
|
pod_status_tasks: Sequence["asyncio.Future[Dict[str, Any]]"],
|
|
856
|
+
container_port: Optional[int],
|
|
829
857
|
) -> KubernetesVersionDict:
|
|
830
858
|
return {
|
|
831
859
|
"name": replicaset.metadata.name,
|
|
@@ -840,6 +868,7 @@ async def get_replicaset_status(
|
|
|
840
868
|
"config_sha": replicaset.metadata.labels.get("paasta.yelp.com/config_sha"),
|
|
841
869
|
"pods": await asyncio.gather(*pod_status_tasks) if pod_status_tasks else [],
|
|
842
870
|
"namespace": replicaset.metadata.namespace,
|
|
871
|
+
"container_port": container_port,
|
|
843
872
|
}
|
|
844
873
|
|
|
845
874
|
|
|
@@ -1063,6 +1092,7 @@ async def get_versions_for_controller_revisions(
|
|
|
1063
1092
|
instance: str,
|
|
1064
1093
|
namespaces: Iterable[str],
|
|
1065
1094
|
pod_status_by_sha_and_readiness_task: "asyncio.Future[Mapping[Tuple[str, str], Mapping[bool, Sequence[asyncio.Future[Mapping[str, Any]]]]]]",
|
|
1095
|
+
container_port: Optional[int] = None,
|
|
1066
1096
|
) -> List[KubernetesVersionDict]:
|
|
1067
1097
|
controller_revision_list: List[V1ControllerRevision] = []
|
|
1068
1098
|
|
|
@@ -1092,6 +1122,7 @@ async def get_versions_for_controller_revisions(
|
|
|
1092
1122
|
cr,
|
|
1093
1123
|
kube_client,
|
|
1094
1124
|
pod_status_by_sha_and_readiness[(git_sha, config_sha)],
|
|
1125
|
+
container_port=container_port,
|
|
1095
1126
|
)
|
|
1096
1127
|
for (git_sha, config_sha), cr in cr_by_shas.items()
|
|
1097
1128
|
]
|
|
@@ -1106,6 +1137,7 @@ async def get_version_for_controller_revision(
|
|
|
1106
1137
|
pod_status_tasks_by_readiness: Mapping[
|
|
1107
1138
|
bool, Sequence["asyncio.Future[Mapping[str, Any]]"]
|
|
1108
1139
|
],
|
|
1140
|
+
container_port: Optional[int] = None,
|
|
1109
1141
|
) -> KubernetesVersionDict:
|
|
1110
1142
|
all_pod_status_tasks = [
|
|
1111
1143
|
task for tasks in pod_status_tasks_by_readiness.values() for task in tasks
|
|
@@ -1122,6 +1154,7 @@ async def get_version_for_controller_revision(
|
|
|
1122
1154
|
"config_sha": cr.metadata.labels.get("paasta.yelp.com/config_sha"),
|
|
1123
1155
|
"pods": [task.result() for task in all_pod_status_tasks],
|
|
1124
1156
|
"namespace": cr.metadata.namespace,
|
|
1157
|
+
"container_port": container_port,
|
|
1125
1158
|
}
|
|
1126
1159
|
|
|
1127
1160
|
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/paastaapi/model/kubernetes_version.py
RENAMED
|
@@ -81,6 +81,7 @@ class KubernetesVersion(ModelNormal):
|
|
|
81
81
|
"""
|
|
82
82
|
lazy_import()
|
|
83
83
|
return {
|
|
84
|
+
'container_port': (int,), # noqa: E501
|
|
84
85
|
'type': (str,), # noqa: E501
|
|
85
86
|
'create_timestamp': (float,), # noqa: E501
|
|
86
87
|
'git_sha': (str,), # noqa: E501
|
|
@@ -99,6 +100,7 @@ class KubernetesVersion(ModelNormal):
|
|
|
99
100
|
|
|
100
101
|
|
|
101
102
|
attribute_map = {
|
|
103
|
+
'container_port': 'container_port', # noqa: E501
|
|
102
104
|
'type': 'type', # noqa: E501
|
|
103
105
|
'create_timestamp': 'create_timestamp', # noqa: E501
|
|
104
106
|
'git_sha': 'git_sha', # noqa: E501
|
|
@@ -157,6 +159,7 @@ class KubernetesVersion(ModelNormal):
|
|
|
157
159
|
Animal class but this time we won't travel
|
|
158
160
|
through its discriminator because we passed in
|
|
159
161
|
_visited_composed_classes = (Animal,)
|
|
162
|
+
container_port (int): Port the container is expecting to receive traffic on. [optional] # noqa: E501
|
|
160
163
|
type (str): Type of version (ReplicaSet or ControllerRevision). [optional] # noqa: E501
|
|
161
164
|
create_timestamp (float): Unix timestamp when version was created. [optional] # noqa: E501
|
|
162
165
|
git_sha (str): Git SHA of service code for this version of the instance. [optional] # noqa: E501
|
|
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
|
|
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
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/autoscaling_service_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/max_all_k8s_services.py
RENAMED
|
File without changes
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/autoscaling/pause_service_autoscaler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_kubernetes_services_replication.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/check_services_replication_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cleanup_expired_autoscaling_overrides.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/cmds/pause_service_autoscaler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta_tools-1.31.1 → paasta_tools-1.31.3}/paasta_tools/cli/schemas/autoscaling_schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|