paasta-tools 1.35.1__tar.gz → 1.35.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. {paasta_tools-1.35.1/paasta_tools.egg-info → paasta_tools-1.35.3}/PKG-INFO +1 -1
  2. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/__init__.py +1 -1
  3. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/secret.py +2 -2
  4. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/application/controller_wrappers.py +23 -2
  5. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes_tools.py +14 -9
  6. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/long_running_service_tools.py +4 -0
  7. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/utils.py +10 -0
  8. {paasta_tools-1.35.1 → paasta_tools-1.35.3/paasta_tools.egg-info}/PKG-INFO +1 -1
  9. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/requirements-minimal.txt +1 -0
  10. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_kubernetes_tools.py +33 -7
  11. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/LICENSE +0 -0
  12. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/MANIFEST.in +0 -0
  13. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/README.md +0 -0
  14. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/k8s_itests/__init__.py +0 -0
  15. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/k8s_itests/test_autoscaling.py +0 -0
  16. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/k8s_itests/utils.py +0 -0
  17. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/adhoc_tools.py +0 -0
  18. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/__init__.py +0 -0
  19. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/api.py +0 -0
  20. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/api_docs/swagger.json +0 -0
  21. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/client.py +0 -0
  22. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/settings.py +0 -0
  23. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/tweens/__init__.py +0 -0
  24. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/tweens/auth.py +0 -0
  25. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/tweens/profiling.py +0 -0
  26. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/tweens/request_logger.py +0 -0
  27. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/__init__.py +0 -0
  28. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/autoscaler.py +0 -0
  29. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/exception.py +0 -0
  30. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/flink.py +0 -0
  31. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/instance.py +0 -0
  32. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  33. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/remote_run.py +0 -0
  34. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/resources.py +0 -0
  35. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/service.py +0 -0
  36. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/api/views/version.py +0 -0
  37. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/apply_external_resources.py +0 -0
  38. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/async_utils.py +0 -0
  39. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/autoscaling/__init__.py +0 -0
  40. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  41. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/autoscaling/forecasting.py +0 -0
  42. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  43. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  44. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/autoscaling/utils.py +0 -0
  45. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/bounce_lib.py +0 -0
  46. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/broadcast_log_to_services.py +0 -0
  47. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cassandracluster_tools.py +0 -0
  48. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  49. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  50. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/check_flink_services_health.py +0 -0
  51. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/check_kubernetes_api.py +0 -0
  52. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  53. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/check_oom_events.py +0 -0
  54. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/check_services_replication_tools.py +0 -0
  55. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/check_spark_jobs.py +0 -0
  56. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cleanup_expired_autoscaling_overrides.py +0 -0
  57. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  58. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  59. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  60. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  61. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/__init__.py +0 -0
  62. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/authentication.py +0 -0
  63. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cli.py +0 -0
  64. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/__init__.py +0 -0
  65. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/autoscale.py +0 -0
  66. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/check.py +0 -0
  67. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/cook_image.py +0 -0
  68. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  69. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  70. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  71. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/info.py +0 -0
  72. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/itest.py +0 -0
  73. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/list.py +0 -0
  74. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  75. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  76. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
  77. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/local_run.py +0 -0
  78. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/logs.py +0 -0
  79. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  80. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  81. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  82. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  83. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/remote_run.py +0 -0
  84. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/rollback.py +0 -0
  85. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/security_check.py +0 -0
  86. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/spark_run.py +0 -0
  87. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  88. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/status.py +0 -0
  89. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/validate.py +0 -0
  90. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  91. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm/__init__.py +0 -0
  92. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  93. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm/template/README.md +0 -0
  94. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  95. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  96. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  97. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  98. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  99. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/fsm_cmd.py +0 -0
  100. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  101. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  102. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  103. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  104. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  105. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  106. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  107. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  108. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  109. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/service_schema.json +0 -0
  110. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  111. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  112. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/cli/utils.py +0 -0
  113. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/clusterman.py +0 -0
  114. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/config_utils.py +0 -0
  115. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/__init__.py +0 -0
  116. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  117. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  118. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/check_orphans.py +0 -0
  119. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  120. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  121. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  122. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  123. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/habitat_fixer.py +0 -0
  124. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/ide_helper.py +0 -0
  125. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  126. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  127. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  128. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  129. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  130. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  131. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/render_template.py +0 -0
  132. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  133. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/service_shard_remove.py +0 -0
  134. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/service_shard_update.py +0 -0
  135. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/shared_ip_check.py +0 -0
  136. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  137. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  138. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/deployment_utils.py +0 -0
  139. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/docker_wrapper.py +0 -0
  140. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/docker_wrapper_imports.py +0 -0
  141. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/drain_lib.py +0 -0
  142. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/dump_locally_running_services.py +0 -0
  143. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/eks_tools.py +0 -0
  144. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/envoy_tools.py +0 -0
  145. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/firewall.py +0 -0
  146. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/firewall_logging.py +0 -0
  147. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/firewall_update.py +0 -0
  148. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/flink_tools.py +0 -0
  149. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/flinkeks_tools.py +0 -0
  150. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/frameworks/__init__.py +0 -0
  151. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/frameworks/constraints.py +0 -0
  152. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/frameworks/native_service_config.py +0 -0
  153. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/generate_all_deployments +0 -0
  154. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/generate_authenticating_services.py +0 -0
  155. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/generate_deployments_for_service.py +0 -0
  156. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/generate_services_file.py +0 -0
  157. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/generate_services_yaml.py +0 -0
  158. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/hacheck.py +0 -0
  159. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/instance/__init__.py +0 -0
  160. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  161. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/instance/kubernetes.py +0 -0
  162. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/iptables.py +0 -0
  163. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kafkacluster_tools.py +0 -0
  164. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/__init__.py +0 -0
  165. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/application/__init__.py +0 -0
  166. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/application/tools.py +0 -0
  167. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  168. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  169. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
  170. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  171. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  172. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/kubernetes/remote_run.py +0 -0
  173. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  174. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/list_tron_namespaces.py +0 -0
  175. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mac_address.py +0 -0
  176. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/marathon_dashboard.py +0 -0
  177. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/__init__.py +0 -0
  178. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/cfg.py +0 -0
  179. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/cluster.py +0 -0
  180. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/exceptions.py +0 -0
  181. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/framework.py +0 -0
  182. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/log.py +0 -0
  183. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/master.py +0 -0
  184. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/mesos_file.py +0 -0
  185. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/parallel.py +0 -0
  186. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/slave.py +0 -0
  187. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/task.py +0 -0
  188. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/util.py +0 -0
  189. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos/zookeeper.py +0 -0
  190. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/mesos_tools.py +0 -0
  191. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/metrics/__init__.py +0 -0
  192. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/metrics/metastatus_lib.py +0 -0
  193. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/metrics/metrics_lib.py +0 -0
  194. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/monitoring/__init__.py +0 -0
  195. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  196. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/monitoring_tools.py +0 -0
  197. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/monkrelaycluster_tools.py +0 -0
  198. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/nrtsearchservice_tools.py +0 -0
  199. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  200. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/oom_logger.py +0 -0
  201. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  202. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paasta_execute_docker_command.py +0 -0
  203. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paasta_service_config_loader.py +0 -0
  204. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/__init__.py +0 -0
  205. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/api/__init__.py +0 -0
  206. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  207. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/api/default_api.py +0 -0
  208. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
  209. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  210. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/api/service_api.py +0 -0
  211. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/api_client.py +0 -0
  212. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  213. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/configuration.py +0 -0
  214. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/exceptions.py +0 -0
  215. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/__init__.py +0 -0
  216. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  217. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  218. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/autoscaling_override.py +0 -0
  219. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  220. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  221. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  222. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  223. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  224. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  225. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  226. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  227. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  228. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  229. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  230. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  231. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  232. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  233. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  234. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/inline_response202.py +0 -0
  235. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/inline_response403.py +0 -0
  236. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  237. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  238. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  239. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  240. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  241. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  242. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  243. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  244. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  245. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  246. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  247. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  248. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  249. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  250. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  251. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  252. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  253. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  254. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  255. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  256. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  257. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
  258. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
  259. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
  260. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
  261. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/resource.py +0 -0
  262. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  263. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  264. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  265. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  266. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  267. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  268. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/model_utils.py +0 -0
  269. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/models/__init__.py +0 -0
  270. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/paastaapi/rest.py +0 -0
  271. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/prune_completed_pods.py +0 -0
  272. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/puppet_service_tools.py +0 -0
  273. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/py.typed +0 -0
  274. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/remote_git.py +0 -0
  275. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  276. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/run-paasta-api-playground.py +0 -0
  277. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/secret_providers/__init__.py +0 -0
  278. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/secret_providers/vault.py +0 -0
  279. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/secret_tools.py +0 -0
  280. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/setup_istio_mesh.py +0 -0
  281. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/setup_kubernetes_cr.py +0 -0
  282. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/setup_kubernetes_crd.py +0 -0
  283. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  284. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/setup_kubernetes_job.py +0 -0
  285. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  286. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/setup_tron_namespace.py +0 -0
  287. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/slack.py +0 -0
  288. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/smartstack_tools.py +0 -0
  289. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/spark_tools.py +0 -0
  290. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  291. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/tron/__init__.py +0 -0
  292. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/tron/client.py +0 -0
  293. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/tron/tron_command_context.py +0 -0
  294. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/tron/tron_timeutils.py +0 -0
  295. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/tron_tools.py +0 -0
  296. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools/yaml_tools.py +0 -0
  297. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools.egg-info/SOURCES.txt +0 -0
  298. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools.egg-info/dependency_links.txt +0 -0
  299. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools.egg-info/entry_points.txt +0 -0
  300. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools.egg-info/requires.txt +0 -0
  301. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/paasta_tools.egg-info/top_level.txt +0 -0
  302. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/pyproject.toml +0 -0
  303. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/setup.cfg +0 -0
  304. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/setup.py +0 -0
  305. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_adhoc_tools.py +0 -0
  306. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_apply_external_resources.py +0 -0
  307. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_async_utils.py +0 -0
  308. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_bounce_lib.py +0 -0
  309. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_check_flink_services_health.py +0 -0
  310. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_check_kubernetes_services_replication.py +0 -0
  311. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_check_oom_events.py +0 -0
  312. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_check_service_replication_tools.py +0 -0
  313. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_check_spark_jobs.py +0 -0
  314. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_cleanup_kubernetes_jobs.py +0 -0
  315. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_config_utils.py +0 -0
  316. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_delete_kubernetes_deployments.py +0 -0
  317. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_deployment_utils.py +0 -0
  318. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_docker_wrapper.py +0 -0
  319. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_drain_lib.py +0 -0
  320. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_eks_tools.py +0 -0
  321. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_envoy_tools.py +0 -0
  322. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_firewall.py +0 -0
  323. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_firewall_logging.py +0 -0
  324. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_firewall_update.py +0 -0
  325. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_flink_tools.py +0 -0
  326. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_flinkeks_tools.py +0 -0
  327. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_generate_authenticating_services.py +0 -0
  328. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_generate_deployments_for_service.py +0 -0
  329. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_generate_services_file.py +0 -0
  330. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_generate_services_yaml.py +0 -0
  331. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_hacheck.py +0 -0
  332. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_iptables.py +0 -0
  333. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_list_kubernetes_service_instances.py +0 -0
  334. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_long_running_service_tools.py +0 -0
  335. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_mac_address.py +0 -0
  336. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_mesos_tools.py +0 -0
  337. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_monitoring_tools.py +0 -0
  338. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_nrtsearchserviceseks_tools.py +0 -0
  339. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_oom_logger.py +0 -0
  340. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_paasta_execute_docker_command.py +0 -0
  341. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_paasta_service_config_loader.py +0 -0
  342. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_puppet_service_tools.py +0 -0
  343. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_remote_git.py +0 -0
  344. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_secret_tools.py +0 -0
  345. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_setup_istio_mesh.py +0 -0
  346. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_setup_kubernetes_cr.py +0 -0
  347. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_setup_kubernetes_job.py +0 -0
  348. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_setup_prometheus_adapter_config.py +0 -0
  349. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_slack.py +0 -0
  350. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_smartstack_tools.py +0 -0
  351. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_spark_tools.py +0 -0
  352. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_tron_tools.py +0 -0
  353. {paasta_tools-1.35.1 → paasta_tools-1.35.3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.35.1
3
+ Version: 1.35.3
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
@@ -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.35.1"
20
+ __version__ = "1.35.3"
@@ -212,7 +212,7 @@ def _add_vault_auth_args(parser: argparse.ArgumentParser):
212
212
  dest="vault_auth_method",
213
213
  required=False,
214
214
  default="token",
215
- choices=["token", "ldap"],
215
+ choices=["token", "okta"],
216
216
  )
217
217
  parser.add_argument(
218
218
  "--vault-token-file",
@@ -456,7 +456,7 @@ def paasta_secret(args):
456
456
  "vault_token_file": args.vault_token_file,
457
457
  # best solution so far is to change the below string to "token",
458
458
  # so that token file is picked up from argparse
459
- "vault_auth_method": "ldap", # must have LDAP to get 2FA push for prod
459
+ "vault_auth_method": "okta", # must use Okta to get 2FA push
460
460
  },
461
461
  )
462
462
  secret_provider.write_secret(
@@ -173,19 +173,31 @@ class Application(ABC):
173
173
  self, kube_client: KubeClient, namespace: str
174
174
  ) -> V1PodDisruptionBudget:
175
175
  max_unavailable: Union[str, int]
176
+
177
+ system_paasta_config = load_system_paasta_config()
178
+
176
179
  if "bounce_margin_factor" in self.soa_config.config_dict:
177
180
  max_unavailable = (
178
181
  f"{int((1 - self.soa_config.get_bounce_margin_factor()) * 100)}%"
179
182
  )
180
183
  else:
181
- system_paasta_config = load_system_paasta_config()
182
184
  max_unavailable = system_paasta_config.get_pdb_max_unavailable()
183
185
 
186
+ if "unhealthy_pod_eviction_policy" in self.soa_config.config_dict:
187
+ unhealthy_pod_eviction_policy = (
188
+ self.soa_config.get_unhealthy_pod_eviction_policy()
189
+ )
190
+ else:
191
+ unhealthy_pod_eviction_policy = (
192
+ system_paasta_config.get_unhealthy_pod_eviction_policy()
193
+ )
194
+
184
195
  pdr = pod_disruption_budget_for_service_instance(
185
196
  service=self.kube_deployment.service,
186
197
  instance=self.kube_deployment.instance,
187
198
  max_unavailable=max_unavailable,
188
199
  namespace=namespace,
200
+ unhealthy_pod_eviction_policy=unhealthy_pod_eviction_policy,
189
201
  )
190
202
  try:
191
203
  existing_pdr = kube_client.policy.read_namespaced_pod_disruption_budget(
@@ -198,12 +210,21 @@ class Application(ABC):
198
210
  raise
199
211
 
200
212
  if existing_pdr:
213
+ """
214
+ Update the pod disruption budget only if spec.max_unavailable
215
+ or spec.unhealthy_pod_eviction_policy have changed;
216
+ ignore changes to other fields
217
+ """
201
218
  if existing_pdr.spec.min_available is not None:
202
219
  logging.info(
203
220
  "Not updating poddisruptionbudget: can't have both "
204
221
  "min_available and max_unavailable"
205
222
  )
206
- elif existing_pdr.spec.max_unavailable != pdr.spec.max_unavailable:
223
+ elif (
224
+ existing_pdr.spec.max_unavailable != pdr.spec.max_unavailable
225
+ or existing_pdr.spec.unhealthy_pod_eviction_policy
226
+ != pdr.spec.unhealthy_pod_eviction_policy
227
+ ):
207
228
  logging.info(f"Updating poddisruptionbudget {pdr.metadata.name}")
208
229
  return kube_client.policy.patch_namespaced_pod_disruption_budget(
209
230
  name=pdr.metadata.name, namespace=pdr.metadata.namespace, body=pdr
@@ -3374,21 +3374,26 @@ def pod_disruption_budget_for_service_instance(
3374
3374
  instance: str,
3375
3375
  max_unavailable: Union[str, int],
3376
3376
  namespace: str,
3377
+ unhealthy_pod_eviction_policy: str,
3377
3378
  ) -> V1PodDisruptionBudget:
3379
+ selector = V1LabelSelector(
3380
+ match_labels={
3381
+ "paasta.yelp.com/service": service,
3382
+ "paasta.yelp.com/instance": instance,
3383
+ }
3384
+ )
3385
+ spec = V1PodDisruptionBudgetSpec(
3386
+ max_unavailable=max_unavailable,
3387
+ unhealthy_pod_eviction_policy=unhealthy_pod_eviction_policy,
3388
+ selector=selector,
3389
+ )
3390
+
3378
3391
  return V1PodDisruptionBudget(
3379
3392
  metadata=V1ObjectMeta(
3380
3393
  name=get_kubernetes_app_name(service, instance),
3381
3394
  namespace=namespace,
3382
3395
  ),
3383
- spec=V1PodDisruptionBudgetSpec(
3384
- max_unavailable=max_unavailable,
3385
- selector=V1LabelSelector(
3386
- match_labels={
3387
- "paasta.yelp.com/service": service,
3388
- "paasta.yelp.com/instance": instance,
3389
- }
3390
- ),
3391
- ),
3396
+ spec=spec,
3392
3397
  )
3393
3398
 
3394
3399
 
@@ -88,6 +88,7 @@ class LongRunningServiceConfigDict(InstanceConfigDict, total=False):
88
88
  bounce_margin_factor: float
89
89
  should_ping_for_unhealthy_pods: bool
90
90
  weight: int
91
+ unhealthy_pod_eviction_policy: str
91
92
 
92
93
 
93
94
  class ServiceNamespaceConfig(dict):
@@ -413,6 +414,9 @@ class LongRunningServiceConfig(InstanceConfig):
413
414
  def get_bounce_margin_factor(self) -> float:
414
415
  return self.config_dict.get("bounce_margin_factor", 0.95)
415
416
 
417
+ def get_unhealthy_pod_eviction_policy(self) -> str:
418
+ return self.config_dict.get("unhealthy_pod_eviction_policy", "IfHealthyBudget")
419
+
416
420
  def get_should_ping_for_unhealthy_pods(self, default: bool) -> bool:
417
421
  return self.config_dict.get("should_ping_for_unhealthy_pods", default)
418
422
 
@@ -2070,6 +2070,7 @@ class SystemPaastaConfigDict(TypedDict, total=False):
2070
2070
  default_spark_driver_pool_override: str
2071
2071
  readonly_docker_registry_auth_file: str
2072
2072
  private_docker_registries: List[str]
2073
+ unhealthy_pod_eviction_policy: str
2073
2074
 
2074
2075
 
2075
2076
  def load_system_paasta_config(
@@ -2855,6 +2856,15 @@ class SystemPaastaConfig:
2855
2856
  """Get all the internal Docker registries without generally-available RO creds."""
2856
2857
  return set(self.config_dict.get("private_docker_registries", []))
2857
2858
 
2859
+ def get_unhealthy_pod_eviction_policy(self) -> str:
2860
+ """
2861
+ Get the unhealthy pod eviction policy for the cluster. Posible values:
2862
+ * IfHealthyBudget: unhealthy pods will only be evicted wrt to PodDisruptionBudget
2863
+ * AlwaysAllow: evict unhealthy pods regardless of the PodDisruptionBudget status.
2864
+ Defaults to IfHealthyBudget
2865
+ """
2866
+ return self.config_dict.get("unhealthy_pod_eviction_policy", "IfHealthyBudget")
2867
+
2858
2868
 
2859
2869
  def _run(
2860
2870
  command: Union[str, List[str]],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.35.1
3
+ Version: 1.35.3
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
@@ -29,6 +29,7 @@ kazoo >= 2.0.0
29
29
  # from our pinned-dependencies. The upper-bound should generally be the latest kubernetes version
30
30
  # that we can use across our different clusters (e.g, if X.0.0 removes an API version that we use
31
31
  # in any cluster, this upper-bound should be < X.0.0)
32
+ # NOTE: the above is not exactly true anymore due to our legacy clusters...
32
33
  # we should probably also be better at setting a correct lower-bound, but that's less likely to cause issues.
33
34
  kubernetes >= 29.0.0, < 35.0.0
34
35
  ldap3
@@ -4085,14 +4085,39 @@ def test_max_unavailable(instances, bmf):
4085
4085
  assert type(res) is int
4086
4086
 
4087
4087
 
4088
- def test_pod_disruption_budget_for_service_instance():
4088
+ @pytest.mark.parametrize(
4089
+ "unhealthy_eviction_enabled,expected_policy",
4090
+ (
4091
+ (None, "IfHealthyBudget"),
4092
+ ("IfHealthyBudget", "IfHealthyBudget"),
4093
+ ("AlwaysAllow", "AlwaysAllow"),
4094
+ ),
4095
+ )
4096
+ def test_pod_disruption_budget_for_service_instance(
4097
+ unhealthy_eviction_enabled, expected_policy
4098
+ ):
4089
4099
  mock_namespace = "paasta"
4090
- x = pod_disruption_budget_for_service_instance(
4091
- service="foo_1",
4092
- instance="bar_1",
4093
- max_unavailable="10%",
4094
- namespace=mock_namespace,
4095
- )
4100
+ with mock.patch(
4101
+ "paasta_tools.utils.load_system_paasta_config",
4102
+ return_value=SystemPaastaConfig(
4103
+ {
4104
+ "enable_unhealthy_pod_eviction": unhealthy_eviction_enabled,
4105
+ },
4106
+ "/fake/dir/",
4107
+ ),
4108
+ autospec=True,
4109
+ ) as mock_load_system_paasta_config, mock.patch(
4110
+ "paasta_tools.kubernetes_tools.load_system_paasta_config",
4111
+ new=mock_load_system_paasta_config,
4112
+ autospec=False,
4113
+ ):
4114
+ x = pod_disruption_budget_for_service_instance(
4115
+ service="foo_1",
4116
+ instance="bar_1",
4117
+ max_unavailable="10%",
4118
+ namespace=mock_namespace,
4119
+ unhealthy_pod_eviction_policy=expected_policy,
4120
+ )
4096
4121
 
4097
4122
  assert x.metadata.name == "foo--1-bar--1"
4098
4123
  assert x.metadata.namespace == "paasta"
@@ -4101,6 +4126,7 @@ def test_pod_disruption_budget_for_service_instance():
4101
4126
  "paasta.yelp.com/service": "foo_1",
4102
4127
  "paasta.yelp.com/instance": "bar_1",
4103
4128
  }
4129
+ assert x.spec.unhealthy_pod_eviction_policy == expected_policy
4104
4130
 
4105
4131
 
4106
4132
  def test_create_pod_disruption_budget():
File without changes
File without changes
File without changes