paasta-tools 1.15.1__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.
Files changed (302) hide show
  1. {paasta-tools-1.15.1/paasta_tools.egg-info → paasta-tools-1.16.1}/PKG-INFO +1 -1
  2. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/__init__.py +1 -1
  3. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/remote_run.py +2 -4
  4. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +38 -8
  5. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/remote_run.py +33 -8
  6. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes_tools.py +1 -0
  7. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/tron_tools.py +6 -5
  8. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/utils.py +16 -0
  9. {paasta-tools-1.15.1 → paasta-tools-1.16.1/paasta_tools.egg-info}/PKG-INFO +1 -1
  10. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/MANIFEST.in +0 -0
  11. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/README.md +0 -0
  12. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/k8s_itests/__init__.py +0 -0
  13. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/k8s_itests/test_autoscaling.py +0 -0
  14. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/k8s_itests/utils.py +0 -0
  15. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/adhoc_tools.py +0 -0
  16. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/__init__.py +0 -0
  17. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/api.py +0 -0
  18. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/api_docs/swagger.json +0 -0
  19. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/client.py +0 -0
  20. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/settings.py +0 -0
  21. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/tweens/__init__.py +0 -0
  22. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/tweens/auth.py +0 -0
  23. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/tweens/profiling.py +0 -0
  24. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/tweens/request_logger.py +0 -0
  25. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/__init__.py +0 -0
  26. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/autoscaler.py +0 -0
  27. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/exception.py +0 -0
  28. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/flink.py +0 -0
  29. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/instance.py +0 -0
  30. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  31. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/resources.py +0 -0
  32. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/service.py +0 -0
  33. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/api/views/version.py +0 -0
  34. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/apply_external_resources.py +0 -0
  35. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/async_utils.py +0 -0
  36. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/autoscaling/__init__.py +0 -0
  37. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  38. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/autoscaling/forecasting.py +0 -0
  39. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  40. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  41. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/autoscaling/utils.py +0 -0
  42. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/bounce_lib.py +0 -0
  43. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/broadcast_log_to_services.py +0 -0
  44. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cassandracluster_tools.py +0 -0
  45. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  46. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  47. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/check_flink_services_health.py +0 -0
  48. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/check_kubernetes_api.py +0 -0
  49. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  50. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/check_oom_events.py +0 -0
  51. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/check_services_replication_tools.py +0 -0
  52. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/check_spark_jobs.py +0 -0
  53. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  54. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  55. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  56. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  57. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/__init__.py +0 -0
  58. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cli.py +0 -0
  59. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/__init__.py +0 -0
  60. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/autoscale.py +0 -0
  61. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/check.py +0 -0
  62. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/cook_image.py +0 -0
  63. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  64. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  65. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  66. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/info.py +0 -0
  67. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/itest.py +0 -0
  68. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/list.py +0 -0
  69. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  70. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  71. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
  72. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/local_run.py +0 -0
  73. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/logs.py +0 -0
  74. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  75. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  76. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  77. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  78. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/remote_run.py +0 -0
  79. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/rollback.py +0 -0
  80. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/secret.py +0 -0
  81. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/security_check.py +0 -0
  82. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/spark_run.py +0 -0
  83. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  84. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/status.py +0 -0
  85. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/validate.py +0 -0
  86. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  87. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/__init__.py +0 -0
  88. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  89. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/README.md +0 -0
  90. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  91. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  92. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  93. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  94. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  95. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/fsm_cmd.py +0 -0
  96. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  97. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  98. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  99. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  100. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  101. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  102. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  103. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  104. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  105. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/service_schema.json +0 -0
  106. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  107. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  108. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/cli/utils.py +0 -0
  109. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/clusterman.py +0 -0
  110. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/config_utils.py +0 -0
  111. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/__init__.py +0 -0
  112. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  113. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  114. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/check_orphans.py +0 -0
  115. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  116. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  117. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  118. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  119. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/habitat_fixer.py +0 -0
  120. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/ide_helper.py +0 -0
  121. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  122. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  123. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  124. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  125. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  126. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  127. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/render_template.py +0 -0
  128. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  129. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/service_shard_remove.py +0 -0
  130. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/service_shard_update.py +0 -0
  131. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/shared_ip_check.py +0 -0
  132. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  133. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  134. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/deployment_utils.py +0 -0
  135. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/docker_wrapper.py +0 -0
  136. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/docker_wrapper_imports.py +0 -0
  137. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/drain_lib.py +0 -0
  138. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/dump_locally_running_services.py +0 -0
  139. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/eks_tools.py +0 -0
  140. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/envoy_tools.py +0 -0
  141. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/firewall.py +0 -0
  142. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/firewall_logging.py +0 -0
  143. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/firewall_update.py +0 -0
  144. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/flink_tools.py +0 -0
  145. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/flinkeks_tools.py +0 -0
  146. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/frameworks/__init__.py +0 -0
  147. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
  148. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/frameworks/constraints.py +0 -0
  149. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/frameworks/native_scheduler.py +0 -0
  150. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/frameworks/native_service_config.py +0 -0
  151. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/frameworks/task_store.py +0 -0
  152. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/generate_all_deployments +0 -0
  153. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/generate_authenticating_services.py +0 -0
  154. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/generate_deployments_for_service.py +0 -0
  155. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/generate_services_file.py +0 -0
  156. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/generate_services_yaml.py +0 -0
  157. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/hacheck.py +0 -0
  158. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/instance/__init__.py +0 -0
  159. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  160. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/instance/kubernetes.py +0 -0
  161. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/iptables.py +0 -0
  162. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kafkacluster_tools.py +0 -0
  163. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/__init__.py +0 -0
  164. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/application/__init__.py +0 -0
  165. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  166. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/application/tools.py +0 -0
  167. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  168. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  169. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  170. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  171. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  172. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/list_tron_namespaces.py +0 -0
  173. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/long_running_service_tools.py +0 -0
  174. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mac_address.py +0 -0
  175. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/marathon_dashboard.py +0 -0
  176. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/__init__.py +0 -0
  177. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/cfg.py +0 -0
  178. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/cluster.py +0 -0
  179. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/exceptions.py +0 -0
  180. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/framework.py +0 -0
  181. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/log.py +0 -0
  182. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/master.py +0 -0
  183. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/mesos_file.py +0 -0
  184. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/parallel.py +0 -0
  185. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/slave.py +0 -0
  186. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/task.py +0 -0
  187. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/util.py +0 -0
  188. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos/zookeeper.py +0 -0
  189. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos_maintenance.py +0 -0
  190. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/mesos_tools.py +0 -0
  191. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/metrics/__init__.py +0 -0
  192. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/metrics/metastatus_lib.py +0 -0
  193. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/metrics/metrics_lib.py +0 -0
  194. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/monitoring/__init__.py +0 -0
  195. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  196. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/monitoring_tools.py +0 -0
  197. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/monkrelaycluster_tools.py +0 -0
  198. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/nrtsearchservice_tools.py +0 -0
  199. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  200. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/oom_logger.py +0 -0
  201. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  202. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paasta_execute_docker_command.py +0 -0
  203. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paasta_native_serviceinit.py +0 -0
  204. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paasta_service_config_loader.py +0 -0
  205. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/__init__.py +0 -0
  206. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/__init__.py +0 -0
  207. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  208. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/default_api.py +0 -0
  209. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
  210. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  211. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api/service_api.py +0 -0
  212. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/api_client.py +0 -0
  213. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  214. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/configuration.py +0 -0
  215. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/exceptions.py +0 -0
  216. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/__init__.py +0 -0
  217. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  218. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  219. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  220. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  221. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  222. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  223. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  224. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  225. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  226. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  227. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  228. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  229. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  230. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  231. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  232. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  233. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  234. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  235. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  236. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  237. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  238. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  239. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  240. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  241. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  242. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  243. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  244. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  245. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  246. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  247. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  248. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  249. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  250. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  251. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  252. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  253. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  254. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  255. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
  256. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
  257. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
  258. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
  259. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/resource.py +0 -0
  260. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  261. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  262. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  263. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  264. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  265. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  266. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/model_utils.py +0 -0
  267. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/models/__init__.py +0 -0
  268. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/paastaapi/rest.py +0 -0
  269. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/prune_completed_pods.py +0 -0
  270. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/puppet_service_tools.py +0 -0
  271. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/py.typed +0 -0
  272. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/remote_git.py +0 -0
  273. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  274. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/run-paasta-api-playground.py +0 -0
  275. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/secret_providers/__init__.py +0 -0
  276. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/secret_providers/vault.py +0 -0
  277. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/secret_tools.py +0 -0
  278. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/setup_istio_mesh.py +0 -0
  279. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/setup_kubernetes_cr.py +0 -0
  280. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/setup_kubernetes_crd.py +0 -0
  281. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  282. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/setup_kubernetes_job.py +0 -0
  283. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  284. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/setup_tron_namespace.py +0 -0
  285. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/slack.py +0 -0
  286. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/smartstack_tools.py +0 -0
  287. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/spark_tools.py +0 -0
  288. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  289. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/tron/__init__.py +0 -0
  290. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/tron/client.py +0 -0
  291. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/tron/tron_command_context.py +0 -0
  292. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/tron/tron_timeutils.py +0 -0
  293. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools/yaml_tools.py +0 -0
  294. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools.egg-info/SOURCES.txt +0 -0
  295. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools.egg-info/dependency_links.txt +0 -0
  296. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools.egg-info/entry_points.txt +0 -0
  297. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools.egg-info/requires.txt +0 -0
  298. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/paasta_tools.egg-info/top_level.txt +0 -0
  299. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/pyproject.toml +0 -0
  300. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/requirements-minimal.txt +0 -0
  301. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/setup.cfg +0 -0
  302. {paasta-tools-1.15.1 → paasta-tools-1.16.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.15.1
3
+ Version: 1.16.1
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
@@ -17,4 +17,4 @@
17
17
  # setup phase, the dependencies may not exist on disk yet.
18
18
  #
19
19
  # Don't bump version manually. See `make release` docs in ./Makefile
20
- __version__ = "1.15.1"
20
+ __version__ = "1.16.1"
@@ -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
- system_config.get_remote_run_duration_limit(DEFAULT_MAX_DURATION_LIMIT),
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, namespace: str, age_limit: datetime, dry_run: bool = False
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 age_limit: expiration time for resources
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
- age_limit = datetime.now(tz=timezone.utc) - timedelta(seconds=args.max_age)
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(kube_client, namespace, age_limit, args.dry_run)
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(config_file="/etc/kubernetes/admin.conf")
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(config_file="/etc/kubernetes/admin.conf")
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(config_file="/etc/kubernetes/admin.conf")
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(config_file="/etc/kubernetes/admin.conf")
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: pod 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, label_selector=POD_OWNER_LABEL
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: pod 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, label_selector=POD_OWNER_LABEL
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
  )
@@ -697,13 +697,14 @@ class TronActionConfig(InstanceConfig):
697
697
  override this value. To control this, we have an optional config item that we'll puppet onto Tron masters
698
698
  which this function will read.
699
699
  """
700
- return (
701
- self.config_dict.get(
700
+ if self.get_executor() == "spark":
701
+ pool = load_system_paasta_config().get_default_spark_driver_pool_override()
702
+ else:
703
+ pool = self.config_dict.get(
702
704
  "pool", load_system_paasta_config().get_tron_default_pool_override()
703
705
  )
704
- if not self.get_executor() == "spark"
705
- else spark_tools.SPARK_DRIVER_POOL
706
- )
706
+
707
+ return pool
707
708
 
708
709
  def get_spark_executor_pool(self) -> str:
709
710
  return self.config_dict.get("pool", DEFAULT_SPARK_EXECUTOR_POOL)
@@ -123,6 +123,10 @@ DEFAULT_CPU_BURST_ADD = 1
123
123
 
124
124
  DEFAULT_SOA_CONFIGS_GIT_URL = "sysgit.yelpcorp.com"
125
125
 
126
+ # To ensure the Spark driver not being interrupted due to spot instances,
127
+ # we use stable pool for drivers
128
+ DEFAULT_SPARK_DRIVER_POOL = "stable"
129
+
126
130
  log = logging.getLogger(__name__)
127
131
  log.addHandler(logging.NullHandler())
128
132
 
@@ -2045,6 +2049,7 @@ class SystemPaastaConfigDict(TypedDict, total=False):
2045
2049
  enable_automated_redeploys_default: bool
2046
2050
  enable_tron_tsc: bool
2047
2051
  default_spark_iam_user: str
2052
+ default_spark_driver_pool_override: str
2048
2053
 
2049
2054
 
2050
2055
  def load_system_paasta_config(
@@ -2148,6 +2153,17 @@ class SystemPaastaConfig:
2148
2153
  "default_spark_iam_user", "/etc/boto_cfg/mrjob.yaml"
2149
2154
  )
2150
2155
 
2156
+ def get_default_spark_driver_pool_override(self) -> str:
2157
+ """
2158
+ If defined, fetches the override for what pool to run a Spark driver in.
2159
+ Otherwise, returns the default Spark driver pool.
2160
+
2161
+ :returns: The default_spark_driver_pool_override specified in the paasta configuration
2162
+ """
2163
+ return self.config_dict.get(
2164
+ "default_spark_driver_pool_override", DEFAULT_SPARK_DRIVER_POOL
2165
+ )
2166
+
2151
2167
  def get_sidecar_requirements_config(
2152
2168
  self,
2153
2169
  ) -> Dict[str, KubeContainerResourceRequest]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.15.1
3
+ Version: 1.16.1
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
File without changes
File without changes