paasta-tools 1.16.0__tar.gz → 1.16.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.16.0/paasta_tools.egg-info → paasta-tools-1.16.1}/PKG-INFO +1 -1
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/__init__.py +1 -1
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/remote_run.py +2 -4
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +38 -8
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/remote_run.py +33 -8
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes_tools.py +1 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1/paasta_tools.egg-info}/PKG-INFO +1 -1
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/MANIFEST.in +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/README.md +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/k8s_itests/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/k8s_itests/test_autoscaling.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/k8s_itests/utils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/adhoc_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/api.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/api_docs/swagger.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/client.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/settings.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/tweens/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/tweens/auth.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/tweens/profiling.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/tweens/request_logger.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/autoscaler.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/exception.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/flink.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/instance.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/pause_autoscaler.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/resources.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/service.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/api/views/version.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/apply_external_resources.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/async_utils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/autoscaling/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/autoscaling/forecasting.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/autoscaling/utils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/bounce_lib.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/broadcast_log_to_services.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cassandracluster_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_autoscaler_max_instances.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_flink_services_health.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_kubernetes_api.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_kubernetes_services_replication.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_oom_events.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_services_replication_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_spark_jobs.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cleanup_tron_namespaces.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cli.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/autoscale.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/check.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/cook_image.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/get_image_version.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/info.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/itest.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/list.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/list_clusters.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/local_run.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/logs.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/mesh_status.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/remote_run.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/rollback.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/secret.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/security_check.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/spark_run.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/status.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/validate.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/autosuggest.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/README.md +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/fsm_cmd.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/eks_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/service_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/tron_schema.json +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/cli/utils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/clusterman.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/config_utils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/check_orphans.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/create_paasta_playground.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/habitat_fixer.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/ide_helper.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/kill_bad_containers.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/mock_patch_checker.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/render_template.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/service_shard_remove.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/service_shard_update.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/shared_ip_check.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/delete_kubernetes_deployments.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/deployment_utils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/docker_wrapper.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/docker_wrapper_imports.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/drain_lib.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/dump_locally_running_services.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/eks_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/envoy_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/firewall.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/firewall_logging.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/firewall_update.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/flink_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/flinkeks_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/frameworks/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/frameworks/constraints.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/frameworks/native_scheduler.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/frameworks/native_service_config.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/frameworks/task_store.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/generate_all_deployments +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/generate_authenticating_services.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/generate_deployments_for_service.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/generate_services_file.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/generate_services_yaml.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/hacheck.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/instance/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/instance/kubernetes.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/iptables.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kafkacluster_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/application/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/application/tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/list_kubernetes_service_instances.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/list_tron_namespaces.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/long_running_service_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mac_address.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/marathon_dashboard.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/cfg.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/cluster.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/exceptions.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/framework.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/log.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/master.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/mesos_file.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/parallel.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/slave.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/task.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/util.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos/zookeeper.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos_maintenance.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/mesos_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/metrics/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/metrics/metastatus_lib.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/metrics/metrics_lib.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/monitoring/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/monitoring_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/monkrelaycluster_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/nrtsearchservice_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/oom_logger.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paasta_deploy_tron_jobs +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paasta_execute_docker_command.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paasta_native_serviceinit.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paasta_service_config_loader.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/default_api.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/resources_api.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/service_api.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api_client.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/apis/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/configuration.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/exceptions.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_config.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_job.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/inline_object.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/resource.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/resource_item.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/resource_value.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model_utils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/models/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/paastaapi/rest.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/prune_completed_pods.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/puppet_service_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/py.typed +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/remote_git.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/run-paasta-api-playground.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/secret_providers/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/secret_providers/vault.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/secret_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/setup_istio_mesh.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/setup_kubernetes_cr.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/setup_kubernetes_crd.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/setup_kubernetes_job.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/setup_tron_namespace.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/slack.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/smartstack_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/spark_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/tron/__init__.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/tron/client.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/tron/tron_command_context.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/tron/tron_timeutils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/tron_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/utils.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/yaml_tools.py +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools.egg-info/SOURCES.txt +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools.egg-info/dependency_links.txt +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools.egg-info/entry_points.txt +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools.egg-info/requires.txt +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools.egg-info/top_level.txt +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/pyproject.toml +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/requirements-minimal.txt +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/setup.cfg +0 -0
- {paasta-tools-1.16.0 → paasta-tools-1.16.1}/setup.py +0 -0
|
@@ -17,20 +17,18 @@ from pyramid.view import view_config
|
|
|
17
17
|
|
|
18
18
|
from paasta_tools.api import settings
|
|
19
19
|
from paasta_tools.api.views.exception import ApiFailure
|
|
20
|
+
from paasta_tools.kubernetes.remote_run import get_max_job_duration_limit
|
|
20
21
|
from paasta_tools.kubernetes.remote_run import remote_run_ready
|
|
21
22
|
from paasta_tools.kubernetes.remote_run import remote_run_start
|
|
22
23
|
from paasta_tools.kubernetes.remote_run import remote_run_stop
|
|
23
24
|
from paasta_tools.kubernetes.remote_run import remote_run_token
|
|
24
|
-
from paasta_tools.utils import load_system_paasta_config
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
DEFAULT_MAX_DURATION = 60 * 60 # 1 hour
|
|
28
|
-
DEFAULT_MAX_DURATION_LIMIT = 8 * 60 * 60 # 8 hours
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
@view_config(route_name="remote_run.start", request_method="POST", renderer="json")
|
|
32
31
|
def view_remote_run_start(request):
|
|
33
|
-
system_config = load_system_paasta_config()
|
|
34
32
|
service = request.swagger_data["service"]
|
|
35
33
|
instance = request.swagger_data["instance"]
|
|
36
34
|
user = request.swagger_data["json_body"]["user"]
|
|
@@ -38,7 +36,7 @@ def view_remote_run_start(request):
|
|
|
38
36
|
recreate = request.swagger_data["json_body"].get("recreate", False)
|
|
39
37
|
max_duration = min(
|
|
40
38
|
request.swagger_data["json_body"].get("max_duration", DEFAULT_MAX_DURATION),
|
|
41
|
-
|
|
39
|
+
get_max_job_duration_limit(),
|
|
42
40
|
)
|
|
43
41
|
try:
|
|
44
42
|
return remote_run_start(
|
|
@@ -22,6 +22,8 @@ from typing import Callable
|
|
|
22
22
|
from typing import Sequence
|
|
23
23
|
from typing import Tuple
|
|
24
24
|
|
|
25
|
+
from paasta_tools.kubernetes.remote_run import get_max_job_duration_limit
|
|
26
|
+
from paasta_tools.kubernetes.remote_run import get_remote_run_jobs
|
|
25
27
|
from paasta_tools.kubernetes.remote_run import get_remote_run_role_bindings
|
|
26
28
|
from paasta_tools.kubernetes.remote_run import get_remote_run_roles
|
|
27
29
|
from paasta_tools.kubernetes.remote_run import get_remote_run_service_accounts
|
|
@@ -35,24 +37,44 @@ log = logging.getLogger(__name__)
|
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
def clean_namespace(
|
|
38
|
-
kube_client: KubeClient,
|
|
40
|
+
kube_client: KubeClient,
|
|
41
|
+
namespace: str,
|
|
42
|
+
auth_age_limit: datetime,
|
|
43
|
+
job_age_limit: datetime,
|
|
44
|
+
dry_run: bool = False,
|
|
39
45
|
):
|
|
40
46
|
"""Clean ephemeral remote-run resource in a namespace
|
|
41
47
|
|
|
42
48
|
:param KubeClient kube_client: kubernetes client
|
|
43
49
|
:param str namepsace: kubernetes namespace
|
|
44
|
-
:param datetime
|
|
50
|
+
:param datetime auth_age_limit: expiration time for authentication resources
|
|
51
|
+
:param datetime job_age_limit: expiration time for job resources
|
|
52
|
+
:param bool dry_run: delete resources for real or not
|
|
45
53
|
"""
|
|
46
54
|
dry_run_msg = " (dry_run)" if dry_run else ""
|
|
47
|
-
cleanup_actions: Sequence[Tuple[DeletionFuncType, ListingFuncType]] = (
|
|
55
|
+
cleanup_actions: Sequence[Tuple[DeletionFuncType, ListingFuncType, datetime]] = (
|
|
48
56
|
(
|
|
49
57
|
kube_client.core.delete_namespaced_service_account,
|
|
50
58
|
get_remote_run_service_accounts,
|
|
59
|
+
auth_age_limit,
|
|
60
|
+
),
|
|
61
|
+
(
|
|
62
|
+
kube_client.rbac.delete_namespaced_role,
|
|
63
|
+
get_remote_run_roles,
|
|
64
|
+
auth_age_limit,
|
|
65
|
+
),
|
|
66
|
+
(
|
|
67
|
+
kube_client.rbac.delete_namespaced_role_binding,
|
|
68
|
+
get_remote_run_role_bindings,
|
|
69
|
+
auth_age_limit,
|
|
70
|
+
),
|
|
71
|
+
(
|
|
72
|
+
kube_client.batches.delete_namespaced_job,
|
|
73
|
+
get_remote_run_jobs,
|
|
74
|
+
job_age_limit,
|
|
51
75
|
),
|
|
52
|
-
(kube_client.rbac.delete_namespaced_role, get_remote_run_roles),
|
|
53
|
-
(kube_client.rbac.delete_namespaced_role_binding, get_remote_run_role_bindings),
|
|
54
76
|
)
|
|
55
|
-
for delete_func, list_func in cleanup_actions:
|
|
77
|
+
for delete_func, list_func, age_limit in cleanup_actions:
|
|
56
78
|
for entity in list_func(kube_client, namespace):
|
|
57
79
|
if (
|
|
58
80
|
not entity.metadata.name.startswith("remote-run-")
|
|
@@ -96,9 +118,17 @@ def main():
|
|
|
96
118
|
args = parse_args()
|
|
97
119
|
logging.basicConfig(level=logging.DEBUG if args.verbose else logging.INFO)
|
|
98
120
|
kube_client = KubeClient()
|
|
99
|
-
|
|
121
|
+
now = datetime.now(tz=timezone.utc)
|
|
122
|
+
age_limit = now - timedelta(seconds=args.max_age)
|
|
123
|
+
job_age_limit = now - timedelta(seconds=get_max_job_duration_limit())
|
|
100
124
|
for namespace in get_all_managed_namespaces(kube_client):
|
|
101
|
-
clean_namespace(
|
|
125
|
+
clean_namespace(
|
|
126
|
+
kube_client,
|
|
127
|
+
namespace,
|
|
128
|
+
auth_age_limit=age_limit,
|
|
129
|
+
job_age_limit=job_age_limit,
|
|
130
|
+
dry_run=args.dry_run,
|
|
131
|
+
)
|
|
102
132
|
|
|
103
133
|
|
|
104
134
|
if __name__ == "__main__":
|
|
@@ -41,11 +41,13 @@ from paasta_tools.kubernetes_tools import JOB_TYPE_LABEL_NAME
|
|
|
41
41
|
from paasta_tools.kubernetes_tools import KubeClient
|
|
42
42
|
from paasta_tools.kubernetes_tools import limit_size_with_hash
|
|
43
43
|
from paasta_tools.kubernetes_tools import paasta_prefixed
|
|
44
|
+
from paasta_tools.utils import load_system_paasta_config
|
|
44
45
|
|
|
45
46
|
|
|
46
47
|
logger = logging.getLogger(__name__)
|
|
47
48
|
REMOTE_RUN_JOB_LABEL = "remote-run"
|
|
48
49
|
POD_OWNER_LABEL = paasta_prefixed("pod_owner")
|
|
50
|
+
DEFAULT_MAX_DURATION_LIMIT = 8 * 60 * 60 # 8 hours
|
|
49
51
|
|
|
50
52
|
|
|
51
53
|
class RemoteRunError(Exception):
|
|
@@ -93,7 +95,7 @@ def remote_run_start(
|
|
|
93
95
|
:param int max_duration: maximum allowed duration for the remote-ruh job
|
|
94
96
|
:return: outcome of the operation, and resulting Kubernetes pod information
|
|
95
97
|
"""
|
|
96
|
-
kube_client = KubeClient(
|
|
98
|
+
kube_client = KubeClient()
|
|
97
99
|
|
|
98
100
|
# Load the service deployment settings
|
|
99
101
|
deployment_config = load_eks_service_config(service, instance, cluster)
|
|
@@ -149,7 +151,7 @@ def remote_run_ready(
|
|
|
149
151
|
:param str job_name: name of the remote-run job to check
|
|
150
152
|
:return: job status, with pod info
|
|
151
153
|
"""
|
|
152
|
-
kube_client = KubeClient(
|
|
154
|
+
kube_client = KubeClient()
|
|
153
155
|
|
|
154
156
|
# Load the service deployment settings
|
|
155
157
|
deployment_config = load_eks_service_config(service, instance, cluster)
|
|
@@ -182,7 +184,7 @@ def remote_run_stop(
|
|
|
182
184
|
:param str user: the user requesting the remote-run sandbox
|
|
183
185
|
:return: outcome of the operation
|
|
184
186
|
"""
|
|
185
|
-
kube_client = KubeClient(
|
|
187
|
+
kube_client = KubeClient()
|
|
186
188
|
|
|
187
189
|
# Load the service deployment settings
|
|
188
190
|
deployment_config = load_eks_service_config(service, instance, cluster)
|
|
@@ -216,7 +218,7 @@ def remote_run_token(
|
|
|
216
218
|
:param str cluster: paasta cluster
|
|
217
219
|
:param str user: the user requesting the remote-run sandbox
|
|
218
220
|
"""
|
|
219
|
-
kube_client = KubeClient(
|
|
221
|
+
kube_client = KubeClient()
|
|
220
222
|
|
|
221
223
|
# Load the service deployment settings
|
|
222
224
|
deployment_config = load_eks_service_config(service, instance, cluster)
|
|
@@ -419,11 +421,12 @@ def get_remote_run_roles(kube_client: KubeClient, namespace: str) -> List[V1Role
|
|
|
419
421
|
"""List all temporary roles related to remote-run
|
|
420
422
|
|
|
421
423
|
:param KubeClient kube_client: Kubernetes client
|
|
422
|
-
:param str namespace:
|
|
424
|
+
:param str namespace: role namespace
|
|
423
425
|
:return: list of roles
|
|
424
426
|
"""
|
|
425
427
|
return kube_client.rbac.list_namespaced_role(
|
|
426
|
-
namespace,
|
|
428
|
+
namespace,
|
|
429
|
+
label_selector=POD_OWNER_LABEL,
|
|
427
430
|
).items
|
|
428
431
|
|
|
429
432
|
|
|
@@ -433,9 +436,31 @@ def get_remote_run_role_bindings(
|
|
|
433
436
|
"""List all temporary role bindings related to remote-run
|
|
434
437
|
|
|
435
438
|
:param KubeClient kube_client: Kubernetes client
|
|
436
|
-
:param str namespace:
|
|
439
|
+
:param str namespace: role namespace
|
|
437
440
|
:return: list of roles
|
|
438
441
|
"""
|
|
439
442
|
return kube_client.rbac.list_namespaced_role_binding(
|
|
440
|
-
namespace,
|
|
443
|
+
namespace,
|
|
444
|
+
label_selector=POD_OWNER_LABEL,
|
|
445
|
+
).items
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
def get_remote_run_jobs(kube_client: KubeClient, namespace: str) -> List[V1Job]:
|
|
449
|
+
"""List all remote-run jobs
|
|
450
|
+
|
|
451
|
+
:param KubeClient kube_client: Kubernetes client
|
|
452
|
+
:param str namespace: job namespace
|
|
453
|
+
"""
|
|
454
|
+
return kube_client.batches.list_namespaced_job(
|
|
455
|
+
namespace,
|
|
456
|
+
label_selector=f"{paasta_prefixed(JOB_TYPE_LABEL_NAME)}={REMOTE_RUN_JOB_LABEL}",
|
|
441
457
|
).items
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
def get_max_job_duration_limit() -> int:
|
|
461
|
+
"""Get maximum configured duration for a remote run job
|
|
462
|
+
|
|
463
|
+
:return: max duration in seconds
|
|
464
|
+
"""
|
|
465
|
+
system_config = load_system_paasta_config()
|
|
466
|
+
return system_config.get_remote_run_duration_limit(DEFAULT_MAX_DURATION_LIMIT)
|
|
@@ -2088,6 +2088,7 @@ class KubernetesDeploymentConfig(LongRunningServiceConfig):
|
|
|
2088
2088
|
metadata=self.get_kubernetes_metadata(git_sha),
|
|
2089
2089
|
spec=V1JobSpec(
|
|
2090
2090
|
active_deadline_seconds=deadline_seconds,
|
|
2091
|
+
ttl_seconds_after_finished=0, # remove job resource after completion
|
|
2091
2092
|
template=pod_template,
|
|
2092
2093
|
),
|
|
2093
2094
|
)
|
|
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.16.0 → paasta-tools-1.16.1}/paasta_tools/autoscaling/autoscaling_service_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/autoscaling/max_all_k8s_services.py
RENAMED
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.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.16.0 → paasta-tools-1.16.1}/paasta_tools/check_kubernetes_services_replication.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/check_services_replication_tools.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.16.0 → paasta-tools-1.16.1}/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
|
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/bounce_log_latency_parser.py
RENAMED
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/check_manual_oapi_changes.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/create_paasta_playground.py
RENAMED
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/emit_allocated_cpu_metrics.py
RENAMED
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/get_running_task_allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/paasta_update_soa_memcpu.py
RENAMED
|
File without changes
|
|
File without changes
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/contrib/rightsizer_soaconfigs_update.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
|
{paasta-tools-1.16.0 → paasta-tools-1.16.1}/paasta_tools/frameworks/native_service_config.py
RENAMED
|
File without changes
|
|
File without changes
|