paasta-tools 1.7.1__tar.gz → 1.8.0__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 (295) hide show
  1. {paasta-tools-1.7.1/paasta_tools.egg-info → paasta-tools-1.8.0}/PKG-INFO +1 -1
  2. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/__init__.py +1 -1
  3. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/config_utils.py +1 -0
  4. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/tron_tools.py +49 -4
  5. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/utils.py +4 -0
  6. {paasta-tools-1.7.1 → paasta-tools-1.8.0/paasta_tools.egg-info}/PKG-INFO +1 -1
  7. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/MANIFEST.in +0 -0
  8. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/README.md +0 -0
  9. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/k8s_itests/__init__.py +0 -0
  10. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/k8s_itests/test_autoscaling.py +0 -0
  11. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/k8s_itests/utils.py +0 -0
  12. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/adhoc_tools.py +0 -0
  13. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/__init__.py +0 -0
  14. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/api.py +0 -0
  15. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/api_docs/swagger.json +0 -0
  16. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/client.py +0 -0
  17. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/settings.py +0 -0
  18. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/tweens/__init__.py +0 -0
  19. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/tweens/profiling.py +0 -0
  20. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/tweens/request_logger.py +0 -0
  21. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/__init__.py +0 -0
  22. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/autoscaler.py +0 -0
  23. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/exception.py +0 -0
  24. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/flink.py +0 -0
  25. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/instance.py +0 -0
  26. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  27. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/resources.py +0 -0
  28. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/service.py +0 -0
  29. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/api/views/version.py +0 -0
  30. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/apply_external_resources.py +0 -0
  31. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/async_utils.py +0 -0
  32. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/autoscaling/__init__.py +0 -0
  33. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  34. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/autoscaling/forecasting.py +0 -0
  35. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  36. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  37. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/autoscaling/utils.py +0 -0
  38. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/bounce_lib.py +0 -0
  39. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/broadcast_log_to_services.py +0 -0
  40. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cassandracluster_tools.py +0 -0
  41. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  42. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  43. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/check_flink_services_health.py +0 -0
  44. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/check_kubernetes_api.py +0 -0
  45. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  46. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/check_oom_events.py +0 -0
  47. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/check_services_replication_tools.py +0 -0
  48. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/check_spark_jobs.py +0 -0
  49. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  50. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  51. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  52. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  53. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/__init__.py +0 -0
  54. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cli.py +0 -0
  55. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/__init__.py +0 -0
  56. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/autoscale.py +0 -0
  57. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/check.py +0 -0
  58. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/cook_image.py +0 -0
  59. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  60. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  61. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  62. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/info.py +0 -0
  63. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/itest.py +0 -0
  64. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/list.py +0 -0
  65. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  66. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  67. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/local_run.py +0 -0
  68. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/logs.py +0 -0
  69. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  70. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  71. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  72. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  73. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/remote_run.py +0 -0
  74. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/rollback.py +0 -0
  75. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/secret.py +0 -0
  76. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/security_check.py +0 -0
  77. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/spark_run.py +0 -0
  78. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  79. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/status.py +0 -0
  80. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/validate.py +0 -0
  81. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  82. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm/__init__.py +0 -0
  83. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  84. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm/template/README.md +0 -0
  85. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  86. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  87. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  88. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  89. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  90. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/fsm_cmd.py +0 -0
  91. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  92. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  93. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  94. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  95. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  96. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  97. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  98. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  99. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  100. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/service_schema.json +0 -0
  101. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  102. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  103. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/cli/utils.py +0 -0
  104. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/clusterman.py +0 -0
  105. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/__init__.py +0 -0
  106. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  107. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  108. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/check_orphans.py +0 -0
  109. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  110. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  111. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  112. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  113. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/habitat_fixer.py +0 -0
  114. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/ide_helper.py +0 -0
  115. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  116. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  117. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  118. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  119. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  120. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  121. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/render_template.py +0 -0
  122. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  123. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/service_shard_remove.py +0 -0
  124. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/service_shard_update.py +0 -0
  125. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/shared_ip_check.py +0 -0
  126. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  127. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  128. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/deployment_utils.py +0 -0
  129. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/docker_wrapper.py +0 -0
  130. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/docker_wrapper_imports.py +0 -0
  131. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/drain_lib.py +0 -0
  132. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/dump_locally_running_services.py +0 -0
  133. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/eks_tools.py +0 -0
  134. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/envoy_tools.py +0 -0
  135. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/firewall.py +0 -0
  136. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/firewall_logging.py +0 -0
  137. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/firewall_update.py +0 -0
  138. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/flink_tools.py +0 -0
  139. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/flinkeks_tools.py +0 -0
  140. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/frameworks/__init__.py +0 -0
  141. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
  142. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/frameworks/constraints.py +0 -0
  143. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/frameworks/native_scheduler.py +0 -0
  144. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/frameworks/native_service_config.py +0 -0
  145. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/frameworks/task_store.py +0 -0
  146. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/generate_all_deployments +0 -0
  147. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/generate_authenticating_services.py +0 -0
  148. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/generate_deployments_for_service.py +0 -0
  149. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/generate_services_file.py +0 -0
  150. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/generate_services_yaml.py +0 -0
  151. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/hacheck.py +0 -0
  152. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/instance/__init__.py +0 -0
  153. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  154. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/instance/kubernetes.py +0 -0
  155. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/iptables.py +0 -0
  156. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kafkacluster_tools.py +0 -0
  157. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes/__init__.py +0 -0
  158. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes/application/__init__.py +0 -0
  159. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  160. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes/application/tools.py +0 -0
  161. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  162. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  163. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  164. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  165. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/kubernetes_tools.py +0 -0
  166. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  167. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/list_tron_namespaces.py +0 -0
  168. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/log_task_lifecycle_events.py +0 -0
  169. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/long_running_service_tools.py +0 -0
  170. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mac_address.py +0 -0
  171. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/marathon_dashboard.py +0 -0
  172. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/__init__.py +0 -0
  173. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/cfg.py +0 -0
  174. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/cluster.py +0 -0
  175. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/exceptions.py +0 -0
  176. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/framework.py +0 -0
  177. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/log.py +0 -0
  178. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/master.py +0 -0
  179. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/mesos_file.py +0 -0
  180. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/parallel.py +0 -0
  181. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/slave.py +0 -0
  182. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/task.py +0 -0
  183. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/util.py +0 -0
  184. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos/zookeeper.py +0 -0
  185. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos_maintenance.py +0 -0
  186. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/mesos_tools.py +0 -0
  187. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/metrics/__init__.py +0 -0
  188. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/metrics/metastatus_lib.py +0 -0
  189. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/metrics/metrics_lib.py +0 -0
  190. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/monitoring/__init__.py +0 -0
  191. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  192. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/monitoring_tools.py +0 -0
  193. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/monkrelaycluster_tools.py +0 -0
  194. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/nrtsearchservice_tools.py +0 -0
  195. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  196. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/oom_logger.py +0 -0
  197. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  198. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paasta_execute_docker_command.py +0 -0
  199. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paasta_native_serviceinit.py +0 -0
  200. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paasta_remote_run.py +0 -0
  201. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paasta_service_config_loader.py +0 -0
  202. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/__init__.py +0 -0
  203. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/api/__init__.py +0 -0
  204. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  205. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/api/default_api.py +0 -0
  206. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  207. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/api/service_api.py +0 -0
  208. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/api_client.py +0 -0
  209. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  210. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/configuration.py +0 -0
  211. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/exceptions.py +0 -0
  212. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/__init__.py +0 -0
  213. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  214. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  215. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  216. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  217. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  218. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  219. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  220. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  221. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  222. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  223. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  224. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  225. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  226. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  227. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  228. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  229. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  230. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  231. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  232. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  233. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  234. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  235. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  236. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  237. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  238. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  239. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  240. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  241. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_status_vitesscluster.py +0 -0
  242. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  243. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  244. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  245. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  246. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  247. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  248. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  249. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  250. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  251. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  252. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/resource.py +0 -0
  253. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  254. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  255. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  256. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  257. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  258. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  259. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/model_utils.py +0 -0
  260. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/models/__init__.py +0 -0
  261. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/paastaapi/rest.py +0 -0
  262. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/prune_completed_pods.py +0 -0
  263. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/puppet_service_tools.py +0 -0
  264. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/py.typed +0 -0
  265. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/remote_git.py +0 -0
  266. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  267. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/run-paasta-api-playground.py +0 -0
  268. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/secret_providers/__init__.py +0 -0
  269. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/secret_providers/vault.py +0 -0
  270. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/secret_tools.py +0 -0
  271. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/setup_istio_mesh.py +0 -0
  272. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/setup_kubernetes_cr.py +0 -0
  273. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/setup_kubernetes_crd.py +0 -0
  274. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  275. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/setup_kubernetes_job.py +0 -0
  276. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  277. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/setup_tron_namespace.py +0 -0
  278. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/slack.py +0 -0
  279. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/smartstack_tools.py +0 -0
  280. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/spark_tools.py +0 -0
  281. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  282. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/tron/__init__.py +0 -0
  283. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/tron/client.py +0 -0
  284. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/tron/tron_command_context.py +0 -0
  285. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/tron/tron_timeutils.py +0 -0
  286. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools/vitesscluster_tools.py +0 -0
  287. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools.egg-info/SOURCES.txt +0 -0
  288. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools.egg-info/dependency_links.txt +0 -0
  289. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools.egg-info/entry_points.txt +0 -0
  290. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools.egg-info/requires.txt +0 -0
  291. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/paasta_tools.egg-info/top_level.txt +0 -0
  292. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/pyproject.toml +0 -0
  293. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/requirements-minimal.txt +0 -0
  294. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/setup.cfg +0 -0
  295. {paasta-tools-1.7.1 → paasta-tools-1.8.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.7.1
3
+ Version: 1.8.0
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.7.1"
20
+ __version__ = "1.8.0"
@@ -25,6 +25,7 @@ KNOWN_CONFIG_TYPES = (
25
25
  "deploy",
26
26
  "smartstack",
27
27
  "cassandracluster",
28
+ "eks",
28
29
  )
29
30
 
30
31
  # this could use a better name - but basically, this is for pairs of instance types
@@ -62,7 +62,9 @@ from paasta_tools.utils import ProjectedSAVolume
62
62
  from paasta_tools import spark_tools
63
63
 
64
64
  from paasta_tools.kubernetes_tools import (
65
+ NodeSelectorConfig,
65
66
  allowlist_denylist_to_requirements,
67
+ contains_zone_label,
66
68
  get_service_account_name,
67
69
  limit_size_with_hash,
68
70
  raw_selectors_to_requirements,
@@ -248,6 +250,7 @@ class TronActionConfigDict(InstanceConfigDict, total=False):
248
250
  # maneuvering to unify
249
251
  command: str
250
252
  service_account_name: str
253
+ node_selectors: Dict[str, NodeSelectorConfig]
251
254
 
252
255
  # the values for this dict can be anything since it's whatever
253
256
  # spark accepts
@@ -594,18 +597,39 @@ class TronActionConfig(InstanceConfig):
594
597
  def get_node_affinities(self) -> Optional[List[Dict[str, Union[str, List[str]]]]]:
595
598
  """Converts deploy_whitelist and deploy_blacklist in node affinities.
596
599
 
597
- note: At the time of writing, `kubectl describe` does not show affinities,
600
+ NOTE: At the time of writing, `kubectl describe` does not show affinities,
598
601
  only selectors. To see affinities, use `kubectl get pod -o json` instead.
602
+
603
+ WARNING: At the time of writing, we only used requiredDuringSchedulingIgnoredDuringExecution node affinities in Tron as we currently have
604
+ no use case for preferredDuringSchedulingIgnoredDuringExecution node affinities.
599
605
  """
600
606
  requirements = allowlist_denylist_to_requirements(
601
607
  allowlist=self.get_deploy_whitelist(),
602
608
  denylist=self.get_deploy_blacklist(),
603
609
  )
610
+ node_selectors = self.config_dict.get("node_selectors", {})
604
611
  requirements.extend(
605
612
  raw_selectors_to_requirements(
606
- raw_selectors=self.config_dict.get("node_selectors", {}), # type: ignore
613
+ raw_selectors=node_selectors,
607
614
  )
608
615
  )
616
+
617
+ system_paasta_config = load_system_paasta_config()
618
+ if system_paasta_config.get_enable_tron_tsc():
619
+ # PAASTA-18198: To improve AZ balance with Karpenter, we temporarily allow specifying zone affinities per pool
620
+ pool_node_affinities = system_paasta_config.get_pool_node_affinities()
621
+ if pool_node_affinities and self.get_pool() in pool_node_affinities:
622
+ current_pool_node_affinities = pool_node_affinities[self.get_pool()]
623
+ # If the service already has a node selector for a zone, we don't want to override it
624
+ if current_pool_node_affinities and not contains_zone_label(
625
+ node_selectors
626
+ ):
627
+ requirements.extend(
628
+ raw_selectors_to_requirements(
629
+ raw_selectors=current_pool_node_affinities,
630
+ )
631
+ )
632
+
609
633
  if not requirements:
610
634
  return None
611
635
 
@@ -963,6 +987,9 @@ def format_tron_action_dict(action_config: TronActionConfig):
963
987
  "service_account_name": action_config.get_service_account_name(),
964
988
  }
965
989
 
990
+ # we need this loaded in several branches, so we'll load it once at the start to simplify things
991
+ system_paasta_config = load_system_paasta_config()
992
+
966
993
  if executor in KUBERNETES_EXECUTOR_NAMES:
967
994
  # we'd like Tron to be able to distinguish between spark and normal actions
968
995
  # even though they both run on k8s
@@ -984,6 +1011,26 @@ def format_tron_action_dict(action_config: TronActionConfig):
984
1011
  result["node_selectors"] = action_config.get_node_selectors()
985
1012
  result["node_affinities"] = action_config.get_node_affinities()
986
1013
 
1014
+ if system_paasta_config.get_enable_tron_tsc():
1015
+ # XXX: this is currently hardcoded since we should only really need TSC for zone-aware scheduling
1016
+ result["topology_spread_constraints"] = [
1017
+ {
1018
+ # try to evenly spread pods across specified topology
1019
+ "max_skew": 1,
1020
+ # narrow down what pods to consider when spreading
1021
+ "label_selector": {
1022
+ # only consider pods that are managed by tron
1023
+ "app.kubernetes.io/managed-by": "tron",
1024
+ # and in the same pool
1025
+ "paasta.yelp.com/pool": action_config.get_pool(),
1026
+ },
1027
+ # now, spread across AZs
1028
+ "topology_key": "topology.kubernetes.io/zone",
1029
+ # but if not possible, schedule even with a zonal imbalance
1030
+ "when_unsatisfiable": "ScheduleAnyway",
1031
+ },
1032
+ ]
1033
+
987
1034
  # XXX: once we're off mesos we can make get_cap_* return just the cap names as a list
988
1035
  result["cap_add"] = [cap["value"] for cap in action_config.get_cap_add()]
989
1036
  result["cap_drop"] = [cap["value"] for cap in action_config.get_cap_drop()]
@@ -1029,14 +1076,12 @@ def format_tron_action_dict(action_config: TronActionConfig):
1029
1076
 
1030
1077
  # XXX: now that we're actually passing through extra_volumes correctly (e.g., using get_volumes()),
1031
1078
  # we can get rid of the default_volumes from the Tron master config
1032
- system_paasta_config = load_system_paasta_config()
1033
1079
  extra_volumes = action_config.get_volumes(
1034
1080
  system_paasta_config.get_volumes(),
1035
1081
  uses_bulkdata_default=system_paasta_config.get_uses_bulkdata_default(),
1036
1082
  )
1037
1083
  if executor == "spark":
1038
1084
  is_mrjob = action_config.config_dict.get("mrjob", False)
1039
- system_paasta_config = load_system_paasta_config()
1040
1085
  # inject additional Spark configs in case of Spark commands
1041
1086
  result["command"] = spark_tools.build_spark_command(
1042
1087
  result["command"],
@@ -2053,6 +2053,7 @@ class SystemPaastaConfigDict(TypedDict, total=False):
2053
2053
  vitess_throttling_config: Dict
2054
2054
  uses_bulkdata_default: bool
2055
2055
  enable_automated_redeploys_default: bool
2056
+ enable_tron_tsc: bool
2056
2057
 
2057
2058
 
2058
2059
  def load_system_paasta_config(
@@ -2821,6 +2822,9 @@ class SystemPaastaConfig:
2821
2822
  def get_enable_automated_redeploys_default(self) -> bool:
2822
2823
  return self.config_dict.get("enable_automated_redeploys_default", False)
2823
2824
 
2825
+ def get_enable_tron_tsc(self) -> bool:
2826
+ return self.config_dict.get("enable_tron_tsc", False)
2827
+
2824
2828
 
2825
2829
  def _run(
2826
2830
  command: Union[str, List[str]],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.7.1
3
+ Version: 1.8.0
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