paasta-tools 1.30.14__tar.gz → 1.31.1__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.30.14/paasta_tools.egg-info → paasta_tools-1.31.1}/PKG-INFO +1 -1
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/__init__.py +1 -1
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/validate.py +5 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/autoscaling_schema.json +2 -1
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes_tools.py +19 -8
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/long_running_service_tools.py +3 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/setup_prometheus_adapter_config.py +82 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1/paasta_tools.egg-info}/PKG-INFO +1 -1
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_kubernetes_tools.py +87 -1
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_setup_prometheus_adapter_config.py +65 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/LICENSE +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/MANIFEST.in +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/README.md +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/k8s_itests/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/k8s_itests/test_autoscaling.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/k8s_itests/utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/adhoc_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/api.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/api_docs/swagger.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/client.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/settings.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/tweens/auth.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/exception.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/flink.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/instance.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/remote_run.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/resources.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/service.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/api/views/version.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/apply_external_resources.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/async_utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/bounce_lib.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_oom_events.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cleanup_expired_autoscaling_overrides.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/authentication.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cli.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/local_run.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/logs.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/remote_run.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/spark_run.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/status.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/schemas/tron_schema.json +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/clusterman.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/config_utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/render_template.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/deployment_utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/docker_wrapper.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/drain_lib.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/eks_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/envoy_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/firewall.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/firewall_logging.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/firewall_update.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/flink_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/frameworks/native_service_config.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/generate_all_deployments +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/generate_authenticating_services.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/generate_services_file.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/generate_services_yaml.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/hacheck.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/instance/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/instance/kubernetes.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/iptables.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/kubernetes/remote_run.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mac_address.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/cfg.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/cluster.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/framework.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/log.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/master.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/parallel.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/slave.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/task.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/util.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/mesos_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/metrics/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/monitoring_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/oom_logger.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/autoscaling_override.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/inline_response202.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/inline_response403.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/models/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/py.typed +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/remote_git.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/secret_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/slack.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/smartstack_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/spark_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/tron/__init__.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/tron/client.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/tron_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/yaml_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools.egg-info/SOURCES.txt +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/pyproject.toml +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/requirements-minimal.txt +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/setup.cfg +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/setup.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_adhoc_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_apply_external_resources.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_async_utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_bounce_lib.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_check_flink_services_health.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_check_kubernetes_services_replication.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_check_oom_events.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_check_service_replication_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_check_spark_jobs.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_cleanup_kubernetes_jobs.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_config_utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_delete_kubernetes_deployments.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_deployment_utils.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_docker_wrapper.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_drain_lib.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_eks_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_envoy_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_firewall.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_firewall_logging.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_firewall_update.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_flink_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_flinkeks_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_generate_authenticating_services.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_generate_deployments_for_service.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_generate_services_file.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_generate_services_yaml.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_hacheck.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_iptables.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_list_kubernetes_service_instances.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_long_running_service_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_mac_address.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_mesos_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_monitoring_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_nrtsearchserviceseks_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_oom_logger.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_paasta_execute_docker_command.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_paasta_service_config_loader.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_puppet_service_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_remote_git.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_secret_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_setup_istio_mesh.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_setup_kubernetes_cr.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_setup_kubernetes_job.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_slack.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_smartstack_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_spark_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_tron_tools.py +0 -0
- {paasta_tools-1.30.14 → paasta_tools-1.31.1}/tests/test_utils.py +0 -0
|
@@ -64,6 +64,7 @@ from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PISCINA
|
|
|
64
64
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PROMQL
|
|
65
65
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI
|
|
66
66
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI_V2
|
|
67
|
+
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_WORKER_LOAD
|
|
67
68
|
from paasta_tools.secret_tools import get_secret_name_from_ref
|
|
68
69
|
from paasta_tools.secret_tools import is_secret_ref
|
|
69
70
|
from paasta_tools.secret_tools import is_shared_secret
|
|
@@ -163,6 +164,10 @@ INVALID_AUTOSCALING_FIELDS = {
|
|
|
163
164
|
"desired_active_requests_per_replica",
|
|
164
165
|
"prometheus-adapter-config",
|
|
165
166
|
},
|
|
167
|
+
METRICS_PROVIDER_WORKER_LOAD: {
|
|
168
|
+
"desired_active_requests_per_replica",
|
|
169
|
+
"prometheus-adapter-config",
|
|
170
|
+
},
|
|
166
171
|
METRICS_PROVIDER_PROMQL: {"desired_active_requests_per_replica"},
|
|
167
172
|
}
|
|
168
173
|
|
|
@@ -151,6 +151,7 @@ from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PISCINA
|
|
|
151
151
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PROMQL
|
|
152
152
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI
|
|
153
153
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI_V2
|
|
154
|
+
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_WORKER_LOAD
|
|
154
155
|
from paasta_tools.long_running_service_tools import ServiceNamespaceConfig
|
|
155
156
|
from paasta_tools.secret_tools import get_secret_name_from_ref
|
|
156
157
|
from paasta_tools.secret_tools import is_secret_ref
|
|
@@ -874,7 +875,10 @@ class KubernetesDeploymentConfig(LongRunningServiceConfig):
|
|
|
874
875
|
),
|
|
875
876
|
),
|
|
876
877
|
)
|
|
877
|
-
elif provider["type"]
|
|
878
|
+
elif provider["type"] in {
|
|
879
|
+
METRICS_PROVIDER_UWSGI_V2,
|
|
880
|
+
METRICS_PROVIDER_WORKER_LOAD,
|
|
881
|
+
}:
|
|
878
882
|
return V2MetricSpec(
|
|
879
883
|
type="Object",
|
|
880
884
|
object=V2ObjectMetricSource(
|
|
@@ -2445,22 +2449,29 @@ class KubernetesDeploymentConfig(LongRunningServiceConfig):
|
|
|
2445
2449
|
|
|
2446
2450
|
# not all services use autoscaling, so we label those that do in order to have
|
|
2447
2451
|
# prometheus selectively discover/scrape them
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
+
metrics_providers_needing_deploy_group = [
|
|
2453
|
+
METRICS_PROVIDER_UWSGI,
|
|
2454
|
+
METRICS_PROVIDER_PISCINA,
|
|
2455
|
+
METRICS_PROVIDER_GUNICORN,
|
|
2456
|
+
METRICS_PROVIDER_WORKER_LOAD,
|
|
2457
|
+
]
|
|
2458
|
+
|
|
2459
|
+
if any(
|
|
2460
|
+
self.should_use_metrics_provider(provider)
|
|
2461
|
+
for provider in metrics_providers_needing_deploy_group
|
|
2462
|
+
):
|
|
2463
|
+
# Deploy group is needed for Prometheus relabeling properly
|
|
2464
|
+
# This should probably eventually be made into a default label,
|
|
2452
2465
|
# but for now we're fine with it being behind these feature toggles.
|
|
2453
|
-
#
|
|
2466
|
+
# Ideally, we'd also have the docker image here for ease-of-use
|
|
2454
2467
|
# in Prometheus relabeling, but that information is over the
|
|
2455
2468
|
# character limit for k8s labels (63 chars)
|
|
2456
2469
|
labels["paasta.yelp.com/deploy_group"] = self.get_deploy_group()
|
|
2457
2470
|
|
|
2458
2471
|
if self.should_use_metrics_provider(METRICS_PROVIDER_PISCINA):
|
|
2459
|
-
labels["paasta.yelp.com/deploy_group"] = self.get_deploy_group()
|
|
2460
2472
|
labels["paasta.yelp.com/scrape_piscina_prometheus"] = "true"
|
|
2461
2473
|
|
|
2462
2474
|
if self.should_use_metrics_provider(METRICS_PROVIDER_GUNICORN):
|
|
2463
|
-
labels["paasta.yelp.com/deploy_group"] = self.get_deploy_group()
|
|
2464
2475
|
labels["paasta.yelp.com/scrape_gunicorn_prometheus"] = "true"
|
|
2465
2476
|
|
|
2466
2477
|
# the default AWS LB Controller behavior is to enable this by-namespace
|
|
@@ -41,6 +41,7 @@ DEFAULT_ACTIVE_REQUESTS_AUTOSCALING_MOVING_AVERAGE_WINDOW = 1800
|
|
|
41
41
|
DEFAULT_UWSGI_AUTOSCALING_MOVING_AVERAGE_WINDOW = 1800
|
|
42
42
|
DEFAULT_PISCINA_AUTOSCALING_MOVING_AVERAGE_WINDOW = 1800
|
|
43
43
|
DEFAULT_GUNICORN_AUTOSCALING_MOVING_AVERAGE_WINDOW = 1800
|
|
44
|
+
DEFAULT_WORKER_LOAD_AUTOSCALING_MOVING_AVERAGE_WINDOW = 1800
|
|
44
45
|
|
|
45
46
|
METRICS_PROVIDER_CPU = "cpu"
|
|
46
47
|
METRICS_PROVIDER_UWSGI = "uwsgi"
|
|
@@ -49,6 +50,7 @@ METRICS_PROVIDER_GUNICORN = "gunicorn"
|
|
|
49
50
|
METRICS_PROVIDER_PISCINA = "piscina"
|
|
50
51
|
METRICS_PROVIDER_ACTIVE_REQUESTS = "active-requests"
|
|
51
52
|
METRICS_PROVIDER_PROMQL = "arbitrary-promql"
|
|
53
|
+
METRICS_PROVIDER_WORKER_LOAD = "worker-load"
|
|
52
54
|
|
|
53
55
|
ALL_METRICS_PROVIDERS = [
|
|
54
56
|
METRICS_PROVIDER_CPU,
|
|
@@ -58,6 +60,7 @@ ALL_METRICS_PROVIDERS = [
|
|
|
58
60
|
METRICS_PROVIDER_PISCINA,
|
|
59
61
|
METRICS_PROVIDER_ACTIVE_REQUESTS,
|
|
60
62
|
METRICS_PROVIDER_PROMQL,
|
|
63
|
+
METRICS_PROVIDER_WORKER_LOAD,
|
|
61
64
|
]
|
|
62
65
|
|
|
63
66
|
|
{paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/setup_prometheus_adapter_config.py
RENAMED
|
@@ -53,6 +53,9 @@ from paasta_tools.long_running_service_tools import (
|
|
|
53
53
|
from paasta_tools.long_running_service_tools import (
|
|
54
54
|
DEFAULT_UWSGI_AUTOSCALING_MOVING_AVERAGE_WINDOW,
|
|
55
55
|
)
|
|
56
|
+
from paasta_tools.long_running_service_tools import (
|
|
57
|
+
DEFAULT_WORKER_LOAD_AUTOSCALING_MOVING_AVERAGE_WINDOW,
|
|
58
|
+
)
|
|
56
59
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_ACTIVE_REQUESTS
|
|
57
60
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_CPU
|
|
58
61
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_GUNICORN
|
|
@@ -60,6 +63,7 @@ from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PISCINA
|
|
|
60
63
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PROMQL
|
|
61
64
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI
|
|
62
65
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI_V2
|
|
66
|
+
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_WORKER_LOAD
|
|
63
67
|
from paasta_tools.paasta_service_config_loader import PaastaServiceConfigLoader
|
|
64
68
|
from paasta_tools.utils import DEFAULT_SOA_DIR
|
|
65
69
|
from paasta_tools.utils import get_services_for_cluster
|
|
@@ -214,6 +218,10 @@ def create_instance_scaling_rule(
|
|
|
214
218
|
return create_instance_uwsgi_v2_scaling_rule(
|
|
215
219
|
service, instance_config, metrics_provider_config, paasta_cluster
|
|
216
220
|
)
|
|
221
|
+
if metrics_provider_config["type"] == METRICS_PROVIDER_WORKER_LOAD:
|
|
222
|
+
return create_instance_worker_load_scaling_rule(
|
|
223
|
+
service, instance_config, metrics_provider_config, paasta_cluster
|
|
224
|
+
)
|
|
217
225
|
if metrics_provider_config["type"] == METRICS_PROVIDER_PISCINA:
|
|
218
226
|
return create_instance_piscina_scaling_rule(
|
|
219
227
|
service, instance_config, metrics_provider_config, paasta_cluster
|
|
@@ -523,6 +531,80 @@ def create_instance_uwsgi_v2_scaling_rule(
|
|
|
523
531
|
}
|
|
524
532
|
|
|
525
533
|
|
|
534
|
+
def create_instance_worker_load_scaling_rule(
|
|
535
|
+
service: str,
|
|
536
|
+
instance_config: KubernetesDeploymentConfig,
|
|
537
|
+
metrics_provider_config: MetricsProviderDict,
|
|
538
|
+
paasta_cluster: str,
|
|
539
|
+
) -> PrometheusAdapterRule:
|
|
540
|
+
"""
|
|
541
|
+
Creates a Prometheus adapter rule config for a given service instance using generic worker_busy metric.
|
|
542
|
+
"""
|
|
543
|
+
instance = instance_config.instance
|
|
544
|
+
moving_average_window = metrics_provider_config.get(
|
|
545
|
+
"moving_average_window_seconds",
|
|
546
|
+
DEFAULT_WORKER_LOAD_AUTOSCALING_MOVING_AVERAGE_WINDOW,
|
|
547
|
+
)
|
|
548
|
+
deployment_name = get_kubernetes_app_name(service=service, instance=instance)
|
|
549
|
+
|
|
550
|
+
# In order for autoscaling to work safely while a service migrates from one namespace to another, the HPA needs to
|
|
551
|
+
# make sure that the deployment in the new namespace is scaled up enough to handle _all_ the load.
|
|
552
|
+
# This is because once the new deployment is 100% healthy, cleanup_kubernetes_job will delete the deployment out of
|
|
553
|
+
# the old namespace all at once, suddenly putting all the load onto the deployment in the new namespace.
|
|
554
|
+
# To ensure this, we must NOT filter on namespace in worker_filter_terms (which is used when calculating total_load.
|
|
555
|
+
# This makes sure that desired_instances includes load from all namespaces.
|
|
556
|
+
worker_filter_terms = f"paasta_cluster='{paasta_cluster}',paasta_service='{service}',paasta_instance='{instance}'"
|
|
557
|
+
|
|
558
|
+
# k8s:deployment:pods_status_ready is a metric created by summing kube_pod_status_ready
|
|
559
|
+
# over paasta service/instance/cluster. it counts the number of ready pods in a paasta
|
|
560
|
+
# deployment.
|
|
561
|
+
ready_pods = f"""
|
|
562
|
+
(sum(
|
|
563
|
+
k8s:deployment:pods_status_ready{{{worker_filter_terms}}} >= 0
|
|
564
|
+
or
|
|
565
|
+
max_over_time(
|
|
566
|
+
k8s:deployment:pods_status_ready{{{worker_filter_terms}}}[{DEFAULT_EXTRAPOLATION_TIME}s]
|
|
567
|
+
)
|
|
568
|
+
) by (kube_deployment))
|
|
569
|
+
"""
|
|
570
|
+
load_per_instance = f"""
|
|
571
|
+
avg(
|
|
572
|
+
worker_busy{{{worker_filter_terms}}}
|
|
573
|
+
) by (kube_pod, kube_deployment)
|
|
574
|
+
"""
|
|
575
|
+
missing_instances = f"""
|
|
576
|
+
clamp_min(
|
|
577
|
+
{ready_pods} - count({load_per_instance}) by (kube_deployment),
|
|
578
|
+
0
|
|
579
|
+
)
|
|
580
|
+
"""
|
|
581
|
+
total_load = f"""
|
|
582
|
+
(
|
|
583
|
+
sum(
|
|
584
|
+
{load_per_instance}
|
|
585
|
+
) by (kube_deployment)
|
|
586
|
+
+
|
|
587
|
+
{missing_instances}
|
|
588
|
+
)
|
|
589
|
+
"""
|
|
590
|
+
total_load_smoothed = f"""
|
|
591
|
+
avg_over_time(
|
|
592
|
+
(
|
|
593
|
+
{total_load}
|
|
594
|
+
)[{moving_average_window}s:]
|
|
595
|
+
)
|
|
596
|
+
"""
|
|
597
|
+
|
|
598
|
+
metric_name = f"{deployment_name}-worker-load-prom"
|
|
599
|
+
|
|
600
|
+
return {
|
|
601
|
+
"name": {"as": metric_name},
|
|
602
|
+
"seriesQuery": f"worker_busy{{{worker_filter_terms}}}",
|
|
603
|
+
"resources": {"template": "kube_<<.Resource>>"},
|
|
604
|
+
"metricsQuery": _minify_promql(total_load_smoothed),
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
|
|
526
608
|
def create_instance_piscina_scaling_rule(
|
|
527
609
|
service: str,
|
|
528
610
|
instance_config: KubernetesDeploymentConfig,
|
|
@@ -157,6 +157,7 @@ from paasta_tools.long_running_service_tools import METRICS_PROVIDER_GUNICORN
|
|
|
157
157
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_PISCINA
|
|
158
158
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI
|
|
159
159
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI_V2
|
|
160
|
+
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_WORKER_LOAD
|
|
160
161
|
from paasta_tools.long_running_service_tools import ServiceNamespaceConfig
|
|
161
162
|
from paasta_tools.secret_tools import SHARED_SECRET_SERVICE
|
|
162
163
|
from paasta_tools.utils import AwsEbsVolume
|
|
@@ -1739,6 +1740,7 @@ class TestKubernetesDeploymentConfig:
|
|
|
1739
1740
|
METRICS_PROVIDER_UWSGI,
|
|
1740
1741
|
METRICS_PROVIDER_PISCINA,
|
|
1741
1742
|
METRICS_PROVIDER_GUNICORN,
|
|
1743
|
+
METRICS_PROVIDER_WORKER_LOAD,
|
|
1742
1744
|
],
|
|
1743
1745
|
)
|
|
1744
1746
|
@pytest.mark.parametrize(
|
|
@@ -1871,7 +1873,10 @@ class TestKubernetesDeploymentConfig:
|
|
|
1871
1873
|
|
|
1872
1874
|
if autoscaling_metric_provider:
|
|
1873
1875
|
expected_labels["paasta.yelp.com/deploy_group"] = "fake_group"
|
|
1874
|
-
if autoscaling_metric_provider
|
|
1876
|
+
if autoscaling_metric_provider in (
|
|
1877
|
+
METRICS_PROVIDER_PISCINA,
|
|
1878
|
+
METRICS_PROVIDER_GUNICORN,
|
|
1879
|
+
):
|
|
1875
1880
|
expected_labels[
|
|
1876
1881
|
f"paasta.yelp.com/scrape_{autoscaling_metric_provider}_prometheus"
|
|
1877
1882
|
] = "true"
|
|
@@ -2866,6 +2871,87 @@ class TestKubernetesDeploymentConfig:
|
|
|
2866
2871
|
|
|
2867
2872
|
assert expected_res == return_value
|
|
2868
2873
|
|
|
2874
|
+
@mock.patch(
|
|
2875
|
+
"paasta_tools.kubernetes_tools.load_system_paasta_config",
|
|
2876
|
+
autospec=True,
|
|
2877
|
+
)
|
|
2878
|
+
def test_get_autoscaling_metric_spec_worker_load_prometheus(
|
|
2879
|
+
self, fake_system_paasta_config
|
|
2880
|
+
):
|
|
2881
|
+
config_dict = KubernetesDeploymentConfigDict(
|
|
2882
|
+
{
|
|
2883
|
+
"min_instances": 1,
|
|
2884
|
+
"max_instances": 3,
|
|
2885
|
+
"autoscaling": {
|
|
2886
|
+
"metrics_providers": [
|
|
2887
|
+
{
|
|
2888
|
+
"type": METRICS_PROVIDER_WORKER_LOAD,
|
|
2889
|
+
"setpoint": 0.5,
|
|
2890
|
+
"forecast_policy": "moving_average",
|
|
2891
|
+
"moving_average_window_seconds": 300,
|
|
2892
|
+
}
|
|
2893
|
+
]
|
|
2894
|
+
},
|
|
2895
|
+
}
|
|
2896
|
+
)
|
|
2897
|
+
mock_config = KubernetesDeploymentConfig( # type: ignore
|
|
2898
|
+
service="service",
|
|
2899
|
+
cluster="cluster",
|
|
2900
|
+
instance="instance",
|
|
2901
|
+
config_dict=config_dict,
|
|
2902
|
+
branch_dict=None,
|
|
2903
|
+
)
|
|
2904
|
+
return_value = KubernetesDeploymentConfig.get_autoscaling_metric_spec(
|
|
2905
|
+
mock_config,
|
|
2906
|
+
"fake_name",
|
|
2907
|
+
"cluster",
|
|
2908
|
+
KubeClient(),
|
|
2909
|
+
"paasta",
|
|
2910
|
+
)
|
|
2911
|
+
expected_res = V2HorizontalPodAutoscaler(
|
|
2912
|
+
kind="HorizontalPodAutoscaler",
|
|
2913
|
+
metadata=V1ObjectMeta(
|
|
2914
|
+
name="fake_name",
|
|
2915
|
+
namespace="paasta",
|
|
2916
|
+
annotations={},
|
|
2917
|
+
labels=mock.ANY,
|
|
2918
|
+
),
|
|
2919
|
+
spec=V2HorizontalPodAutoscalerSpec(
|
|
2920
|
+
behavior=mock_config.get_autoscaling_scaling_policy(
|
|
2921
|
+
autoscaling_params={},
|
|
2922
|
+
max_replicas=3,
|
|
2923
|
+
),
|
|
2924
|
+
max_replicas=3,
|
|
2925
|
+
min_replicas=1,
|
|
2926
|
+
metrics=[
|
|
2927
|
+
V2MetricSpec(
|
|
2928
|
+
type="Object",
|
|
2929
|
+
object=V2ObjectMetricSource(
|
|
2930
|
+
metric=V2MetricIdentifier(
|
|
2931
|
+
name="service-instance-worker-load-prom",
|
|
2932
|
+
),
|
|
2933
|
+
target=V2MetricTarget(
|
|
2934
|
+
type="AverageValue",
|
|
2935
|
+
average_value=0.5,
|
|
2936
|
+
),
|
|
2937
|
+
described_object=V2CrossVersionObjectReference(
|
|
2938
|
+
api_version="apps/v1",
|
|
2939
|
+
kind="Deployment",
|
|
2940
|
+
name="fake_name",
|
|
2941
|
+
),
|
|
2942
|
+
),
|
|
2943
|
+
),
|
|
2944
|
+
],
|
|
2945
|
+
scale_target_ref=V2CrossVersionObjectReference(
|
|
2946
|
+
api_version="apps/v1",
|
|
2947
|
+
kind="Deployment",
|
|
2948
|
+
name="fake_name",
|
|
2949
|
+
),
|
|
2950
|
+
),
|
|
2951
|
+
)
|
|
2952
|
+
|
|
2953
|
+
assert expected_res == return_value
|
|
2954
|
+
|
|
2869
2955
|
@mock.patch(
|
|
2870
2956
|
"paasta_tools.kubernetes_tools.load_system_paasta_config",
|
|
2871
2957
|
autospec=True,
|
|
@@ -8,6 +8,7 @@ from paasta_tools.long_running_service_tools import METRICS_PROVIDER_CPU
|
|
|
8
8
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_GUNICORN
|
|
9
9
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI
|
|
10
10
|
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_UWSGI_V2
|
|
11
|
+
from paasta_tools.long_running_service_tools import METRICS_PROVIDER_WORKER_LOAD
|
|
11
12
|
from paasta_tools.setup_prometheus_adapter_config import _minify_promql
|
|
12
13
|
from paasta_tools.setup_prometheus_adapter_config import (
|
|
13
14
|
create_instance_active_requests_scaling_rule,
|
|
@@ -24,6 +25,9 @@ from paasta_tools.setup_prometheus_adapter_config import (
|
|
|
24
25
|
from paasta_tools.setup_prometheus_adapter_config import (
|
|
25
26
|
create_instance_uwsgi_v2_scaling_rule,
|
|
26
27
|
)
|
|
28
|
+
from paasta_tools.setup_prometheus_adapter_config import (
|
|
29
|
+
create_instance_worker_load_scaling_rule,
|
|
30
|
+
)
|
|
27
31
|
from paasta_tools.setup_prometheus_adapter_config import get_rules_for_service_instance
|
|
28
32
|
from paasta_tools.utils import SystemPaastaConfig
|
|
29
33
|
|
|
@@ -155,6 +159,49 @@ def test_create_instance_uwsgi_v2_scaling_rule() -> None:
|
|
|
155
159
|
)
|
|
156
160
|
|
|
157
161
|
|
|
162
|
+
def test_create_instance_worker_load_scaling_rule() -> None:
|
|
163
|
+
service_name = "test_service"
|
|
164
|
+
instance_config = mock.Mock(instance="test_instance")
|
|
165
|
+
metrics_provider_config = MetricsProviderDict(
|
|
166
|
+
{
|
|
167
|
+
"type": METRICS_PROVIDER_WORKER_LOAD,
|
|
168
|
+
"setpoint": 0.1234567890,
|
|
169
|
+
"moving_average_window_seconds": 20120302,
|
|
170
|
+
}
|
|
171
|
+
)
|
|
172
|
+
paasta_cluster = "test_cluster"
|
|
173
|
+
rule = create_instance_worker_load_scaling_rule(
|
|
174
|
+
service=service_name,
|
|
175
|
+
instance_config=instance_config,
|
|
176
|
+
metrics_provider_config=metrics_provider_config,
|
|
177
|
+
paasta_cluster=paasta_cluster,
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
# we test that the format of the dictionary is as expected with mypy
|
|
181
|
+
# and we don't want to test the full contents of the retval since then
|
|
182
|
+
# we're basically just writing a change-detector test - instead, we test
|
|
183
|
+
# that we're actually using our inputs
|
|
184
|
+
assert service_name in rule["seriesQuery"]
|
|
185
|
+
assert instance_config.instance in rule["seriesQuery"]
|
|
186
|
+
assert paasta_cluster in rule["seriesQuery"]
|
|
187
|
+
|
|
188
|
+
# Like uwsgi_v2, we don't use the setpoint in this query -- the HPA will have the setpoint as its target.
|
|
189
|
+
assert str(metrics_provider_config["setpoint"]) not in rule["metricsQuery"]
|
|
190
|
+
assert (
|
|
191
|
+
str(metrics_provider_config["moving_average_window_seconds"])
|
|
192
|
+
in rule["metricsQuery"]
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
# Verify that we're using the generic worker_busy metric instead of uwsgi_worker_busy
|
|
196
|
+
assert "worker_busy" in rule["seriesQuery"]
|
|
197
|
+
assert "worker_busy" in rule["metricsQuery"]
|
|
198
|
+
assert "uwsgi_worker_busy" not in rule["seriesQuery"]
|
|
199
|
+
assert "uwsgi_worker_busy" not in rule["metricsQuery"]
|
|
200
|
+
|
|
201
|
+
# Verify the metric name uses worker-load-prom suffix
|
|
202
|
+
assert rule["name"]["as"].endswith("-worker-load-prom")
|
|
203
|
+
|
|
204
|
+
|
|
158
205
|
def test_create_instance_gunicorn_scaling_rule() -> None:
|
|
159
206
|
service_name = "test_service"
|
|
160
207
|
instance_config = mock.Mock(instance="test_instance")
|
|
@@ -279,6 +326,24 @@ def test_create_instance_gunicorn_scaling_rule() -> None:
|
|
|
279
326
|
),
|
|
280
327
|
2,
|
|
281
328
|
),
|
|
329
|
+
(
|
|
330
|
+
mock.Mock(
|
|
331
|
+
instance="instance",
|
|
332
|
+
get_namespace=mock.Mock(return_value="test_namespace"),
|
|
333
|
+
get_autoscaling_metrics_provider=mock.Mock(
|
|
334
|
+
side_effect=lambda x: (
|
|
335
|
+
{
|
|
336
|
+
"type": METRICS_PROVIDER_WORKER_LOAD,
|
|
337
|
+
"setpoint": 0.1234567890,
|
|
338
|
+
"moving_average_window_seconds": 20120302,
|
|
339
|
+
}
|
|
340
|
+
if x == METRICS_PROVIDER_WORKER_LOAD
|
|
341
|
+
else None
|
|
342
|
+
)
|
|
343
|
+
),
|
|
344
|
+
),
|
|
345
|
+
1,
|
|
346
|
+
),
|
|
282
347
|
],
|
|
283
348
|
)
|
|
284
349
|
def test_get_rules_for_service_instance(
|
|
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
|
|
File without changes
|
{paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/autoscaling/autoscaling_service_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/autoscaling/max_all_k8s_services.py
RENAMED
|
File without changes
|
{paasta_tools-1.30.14 → paasta_tools-1.31.1}/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.30.14 → paasta_tools-1.31.1}/paasta_tools/check_kubernetes_services_replication.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.30.14 → paasta_tools-1.31.1}/paasta_tools/check_services_replication_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta_tools-1.30.14 → paasta_tools-1.31.1}/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.30.14 → paasta_tools-1.31.1}/paasta_tools/cli/cmds/pause_service_autoscaler.py
RENAMED
|
File without changes
|
|
File without changes
|