paasta-tools 1.33.3__tar.gz → 1.34.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 (353) hide show
  1. {paasta_tools-1.33.3/paasta_tools.egg-info → paasta_tools-1.34.0}/PKG-INFO +2 -2
  2. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/__init__.py +1 -1
  3. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/local_run.py +2 -3
  4. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/eks_schema.json +23 -1
  5. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/instance/hpa_metrics_parser.py +3 -5
  6. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/remote_run.py +2 -2
  7. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes_tools.py +7 -3
  8. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/utils.py +1 -0
  9. {paasta_tools-1.33.3 → paasta_tools-1.34.0/paasta_tools.egg-info}/PKG-INFO +2 -2
  10. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools.egg-info/requires.txt +1 -1
  11. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/requirements-minimal.txt +1 -1
  12. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_kubernetes_tools.py +190 -12
  13. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/LICENSE +0 -0
  14. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/MANIFEST.in +0 -0
  15. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/README.md +0 -0
  16. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/k8s_itests/__init__.py +0 -0
  17. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/k8s_itests/test_autoscaling.py +0 -0
  18. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/k8s_itests/utils.py +0 -0
  19. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/adhoc_tools.py +0 -0
  20. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/__init__.py +0 -0
  21. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/api.py +0 -0
  22. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/api_docs/swagger.json +0 -0
  23. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/client.py +0 -0
  24. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/settings.py +0 -0
  25. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/tweens/__init__.py +0 -0
  26. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/tweens/auth.py +0 -0
  27. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/tweens/profiling.py +0 -0
  28. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/tweens/request_logger.py +0 -0
  29. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/__init__.py +0 -0
  30. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/autoscaler.py +0 -0
  31. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/exception.py +0 -0
  32. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/flink.py +0 -0
  33. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/instance.py +0 -0
  34. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  35. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/remote_run.py +0 -0
  36. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/resources.py +0 -0
  37. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/service.py +0 -0
  38. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/api/views/version.py +0 -0
  39. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/apply_external_resources.py +0 -0
  40. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/async_utils.py +0 -0
  41. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/autoscaling/__init__.py +0 -0
  42. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  43. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/autoscaling/forecasting.py +0 -0
  44. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  45. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  46. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/autoscaling/utils.py +0 -0
  47. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/bounce_lib.py +0 -0
  48. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/broadcast_log_to_services.py +0 -0
  49. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cassandracluster_tools.py +0 -0
  50. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  51. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  52. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/check_flink_services_health.py +0 -0
  53. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/check_kubernetes_api.py +0 -0
  54. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  55. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/check_oom_events.py +0 -0
  56. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/check_services_replication_tools.py +0 -0
  57. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/check_spark_jobs.py +0 -0
  58. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cleanup_expired_autoscaling_overrides.py +0 -0
  59. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  60. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  61. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  62. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  63. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/__init__.py +0 -0
  64. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/authentication.py +0 -0
  65. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cli.py +0 -0
  66. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/__init__.py +0 -0
  67. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/autoscale.py +0 -0
  68. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/check.py +0 -0
  69. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/cook_image.py +0 -0
  70. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  71. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  72. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  73. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/info.py +0 -0
  74. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/itest.py +0 -0
  75. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/list.py +0 -0
  76. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  77. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  78. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
  79. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/logs.py +0 -0
  80. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  81. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  82. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  83. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  84. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/remote_run.py +0 -0
  85. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/rollback.py +0 -0
  86. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/secret.py +0 -0
  87. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/security_check.py +0 -0
  88. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/spark_run.py +0 -0
  89. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  90. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/status.py +0 -0
  91. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/validate.py +0 -0
  92. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  93. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm/__init__.py +0 -0
  94. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  95. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm/template/README.md +0 -0
  96. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  97. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  98. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  99. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  100. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  101. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/fsm_cmd.py +0 -0
  102. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  103. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  104. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  105. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  106. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  107. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  108. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  109. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  110. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/service_schema.json +0 -0
  111. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  112. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  113. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/cli/utils.py +0 -0
  114. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/clusterman.py +0 -0
  115. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/config_utils.py +0 -0
  116. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/__init__.py +0 -0
  117. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  118. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  119. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/check_orphans.py +0 -0
  120. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  121. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  122. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  123. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  124. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/habitat_fixer.py +0 -0
  125. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/ide_helper.py +0 -0
  126. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  127. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  128. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  129. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  130. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  131. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  132. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/render_template.py +0 -0
  133. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  134. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/service_shard_remove.py +0 -0
  135. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/service_shard_update.py +0 -0
  136. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/shared_ip_check.py +0 -0
  137. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  138. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  139. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/deployment_utils.py +0 -0
  140. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/docker_wrapper.py +0 -0
  141. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/docker_wrapper_imports.py +0 -0
  142. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/drain_lib.py +0 -0
  143. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/dump_locally_running_services.py +0 -0
  144. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/eks_tools.py +0 -0
  145. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/envoy_tools.py +0 -0
  146. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/firewall.py +0 -0
  147. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/firewall_logging.py +0 -0
  148. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/firewall_update.py +0 -0
  149. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/flink_tools.py +0 -0
  150. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/flinkeks_tools.py +0 -0
  151. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/frameworks/__init__.py +0 -0
  152. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/frameworks/constraints.py +0 -0
  153. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/frameworks/native_service_config.py +0 -0
  154. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/generate_all_deployments +0 -0
  155. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/generate_authenticating_services.py +0 -0
  156. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/generate_deployments_for_service.py +0 -0
  157. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/generate_services_file.py +0 -0
  158. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/generate_services_yaml.py +0 -0
  159. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/hacheck.py +0 -0
  160. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/instance/__init__.py +0 -0
  161. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/instance/kubernetes.py +0 -0
  162. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/iptables.py +0 -0
  163. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kafkacluster_tools.py +0 -0
  164. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/__init__.py +0 -0
  165. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/application/__init__.py +0 -0
  166. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  167. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/application/tools.py +0 -0
  168. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  169. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  170. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
  171. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  172. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  173. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  174. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/list_tron_namespaces.py +0 -0
  175. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/long_running_service_tools.py +0 -0
  176. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mac_address.py +0 -0
  177. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/marathon_dashboard.py +0 -0
  178. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/__init__.py +0 -0
  179. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/cfg.py +0 -0
  180. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/cluster.py +0 -0
  181. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/exceptions.py +0 -0
  182. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/framework.py +0 -0
  183. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/log.py +0 -0
  184. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/master.py +0 -0
  185. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/mesos_file.py +0 -0
  186. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/parallel.py +0 -0
  187. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/slave.py +0 -0
  188. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/task.py +0 -0
  189. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/util.py +0 -0
  190. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos/zookeeper.py +0 -0
  191. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/mesos_tools.py +0 -0
  192. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/metrics/__init__.py +0 -0
  193. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/metrics/metastatus_lib.py +0 -0
  194. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/metrics/metrics_lib.py +0 -0
  195. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/monitoring/__init__.py +0 -0
  196. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  197. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/monitoring_tools.py +0 -0
  198. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/monkrelaycluster_tools.py +0 -0
  199. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/nrtsearchservice_tools.py +0 -0
  200. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  201. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/oom_logger.py +0 -0
  202. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  203. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paasta_execute_docker_command.py +0 -0
  204. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paasta_service_config_loader.py +0 -0
  205. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/__init__.py +0 -0
  206. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/api/__init__.py +0 -0
  207. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  208. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/api/default_api.py +0 -0
  209. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
  210. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  211. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/api/service_api.py +0 -0
  212. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/api_client.py +0 -0
  213. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  214. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/configuration.py +0 -0
  215. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/exceptions.py +0 -0
  216. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/__init__.py +0 -0
  217. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  218. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  219. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/autoscaling_override.py +0 -0
  220. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  221. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  222. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  223. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  224. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  225. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  226. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  227. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  228. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  229. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  230. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  231. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  232. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  233. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  234. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  235. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/inline_response202.py +0 -0
  236. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/inline_response403.py +0 -0
  237. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  238. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  239. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  240. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  241. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  242. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  243. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  244. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  245. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  246. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  247. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  248. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  249. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  250. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  251. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  252. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  253. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  254. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  255. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  256. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  257. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  258. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
  259. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
  260. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
  261. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
  262. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/resource.py +0 -0
  263. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  264. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  265. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  266. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  267. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  268. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  269. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/model_utils.py +0 -0
  270. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/models/__init__.py +0 -0
  271. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/paastaapi/rest.py +0 -0
  272. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/prune_completed_pods.py +0 -0
  273. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/puppet_service_tools.py +0 -0
  274. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/py.typed +0 -0
  275. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/remote_git.py +0 -0
  276. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  277. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/run-paasta-api-playground.py +0 -0
  278. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/secret_providers/__init__.py +0 -0
  279. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/secret_providers/vault.py +0 -0
  280. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/secret_tools.py +0 -0
  281. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/setup_istio_mesh.py +0 -0
  282. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/setup_kubernetes_cr.py +0 -0
  283. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/setup_kubernetes_crd.py +0 -0
  284. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  285. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/setup_kubernetes_job.py +0 -0
  286. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  287. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/setup_tron_namespace.py +0 -0
  288. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/slack.py +0 -0
  289. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/smartstack_tools.py +0 -0
  290. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/spark_tools.py +0 -0
  291. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  292. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/tron/__init__.py +0 -0
  293. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/tron/client.py +0 -0
  294. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/tron/tron_command_context.py +0 -0
  295. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/tron/tron_timeutils.py +0 -0
  296. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/tron_tools.py +0 -0
  297. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools/yaml_tools.py +0 -0
  298. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools.egg-info/SOURCES.txt +0 -0
  299. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools.egg-info/dependency_links.txt +0 -0
  300. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools.egg-info/entry_points.txt +0 -0
  301. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/paasta_tools.egg-info/top_level.txt +0 -0
  302. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/pyproject.toml +0 -0
  303. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/setup.cfg +0 -0
  304. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/setup.py +0 -0
  305. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_adhoc_tools.py +0 -0
  306. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_apply_external_resources.py +0 -0
  307. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_async_utils.py +0 -0
  308. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_bounce_lib.py +0 -0
  309. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_check_flink_services_health.py +0 -0
  310. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_check_kubernetes_services_replication.py +0 -0
  311. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_check_oom_events.py +0 -0
  312. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_check_service_replication_tools.py +0 -0
  313. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_check_spark_jobs.py +0 -0
  314. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_cleanup_kubernetes_jobs.py +0 -0
  315. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_config_utils.py +0 -0
  316. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_delete_kubernetes_deployments.py +0 -0
  317. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_deployment_utils.py +0 -0
  318. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_docker_wrapper.py +0 -0
  319. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_drain_lib.py +0 -0
  320. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_eks_tools.py +0 -0
  321. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_envoy_tools.py +0 -0
  322. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_firewall.py +0 -0
  323. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_firewall_logging.py +0 -0
  324. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_firewall_update.py +0 -0
  325. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_flink_tools.py +0 -0
  326. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_flinkeks_tools.py +0 -0
  327. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_generate_authenticating_services.py +0 -0
  328. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_generate_deployments_for_service.py +0 -0
  329. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_generate_services_file.py +0 -0
  330. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_generate_services_yaml.py +0 -0
  331. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_hacheck.py +0 -0
  332. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_iptables.py +0 -0
  333. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_list_kubernetes_service_instances.py +0 -0
  334. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_long_running_service_tools.py +0 -0
  335. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_mac_address.py +0 -0
  336. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_mesos_tools.py +0 -0
  337. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_monitoring_tools.py +0 -0
  338. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_nrtsearchserviceseks_tools.py +0 -0
  339. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_oom_logger.py +0 -0
  340. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_paasta_execute_docker_command.py +0 -0
  341. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_paasta_service_config_loader.py +0 -0
  342. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_puppet_service_tools.py +0 -0
  343. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_remote_git.py +0 -0
  344. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_secret_tools.py +0 -0
  345. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_setup_istio_mesh.py +0 -0
  346. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_setup_kubernetes_cr.py +0 -0
  347. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_setup_kubernetes_job.py +0 -0
  348. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_setup_prometheus_adapter_config.py +0 -0
  349. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_slack.py +0 -0
  350. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_smartstack_tools.py +0 -0
  351. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_spark_tools.py +0 -0
  352. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_tron_tools.py +0 -0
  353. {paasta_tools-1.33.3 → paasta_tools-1.34.0}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.33.3
3
+ Version: 1.34.0
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
@@ -34,7 +34,7 @@ Requires-Dist: ipaddress>=1.0.22
34
34
  Requires-Dist: isodate>=0.7.2
35
35
  Requires-Dist: jsonschema[format]
36
36
  Requires-Dist: kazoo>=2.0.0
37
- Requires-Dist: kubernetes<26.0.0,>=18.20.0
37
+ Requires-Dist: kubernetes<35.0.0,>=29.0.0
38
38
  Requires-Dist: ldap3
39
39
  Requires-Dist: manhole
40
40
  Requires-Dist: mypy-extensions>=0.3.0
@@ -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.33.3"
20
+ __version__ = "1.34.0"
@@ -1385,8 +1385,9 @@ def should_reexec_as_root(
1385
1385
 
1386
1386
 
1387
1387
  def paasta_local_run(args):
1388
+ service = figure_out_service_name(args, soa_dir=args.yelpsoa_config_root)
1388
1389
  if should_reexec_as_root(
1389
- args.service, args.skip_secrets, args.action, args.yelpsoa_config_root
1390
+ service, args.skip_secrets, args.action, args.yelpsoa_config_root
1390
1391
  ):
1391
1392
  # XXX: we should re-architect this to not need sudo, but for now,
1392
1393
  # re-exec ourselves with sudo to get access to the paasta vault token
@@ -1421,8 +1422,6 @@ def paasta_local_run(args):
1421
1422
 
1422
1423
  local_run_config = system_paasta_config.get_local_run_config()
1423
1424
 
1424
- service = figure_out_service_name(args, soa_dir=args.yelpsoa_config_root)
1425
-
1426
1425
  if args.cluster:
1427
1426
  cluster = args.cluster
1428
1427
  else:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-04/schema#",
3
- "description": "http://paasta.readthedocs.io/en/latest/yelpsoa_configs.html#kubernetes-clustername-yaml",
3
+ "description": "http://paasta.readthedocs.io/en/latest/yelpsoa_configs.html#eks-clustername-yaml",
4
4
  "type": "object",
5
5
  "additionalProperties": false,
6
6
  "minProperties": 1,
@@ -955,6 +955,28 @@
955
955
  },
956
956
  "max_skew": {
957
957
  "type": "integer"
958
+ },
959
+ "match_label_keys": {
960
+ "type": "array",
961
+ "items": {
962
+ "allOf": [
963
+ {
964
+ "type": "string",
965
+ "pattern": "^([a-zA-Z0-9]([-a-zA-Z0-9_.]*[a-zA-Z0-9])?/)?[a-zA-Z0-9]([-a-zA-Z0-9_.]*[a-zA-Z0-9])?$",
966
+ "maxLength": 63
967
+ },
968
+ {
969
+ "not": {
970
+ "enum": [
971
+ "paasta.yelp.com/service",
972
+ "paasta.yelp.com/instance"
973
+ ]
974
+ }
975
+ }
976
+ ],
977
+ "$comment": "Valid Kubernetes label key: optional prefix (DNS subdomain) followed by '/' and name segment (max 63 chars each)"
978
+ },
979
+ "uniqueItems": true
958
980
  }
959
981
  },
960
982
  "required": []
@@ -1,8 +1,6 @@
1
1
  from typing import Optional
2
2
 
3
- from kubernetes.client.models.v2beta2_object_metric_status import (
4
- V2beta2ObjectMetricStatus,
5
- )
3
+ from kubernetes.client import V2ObjectMetricStatus
6
4
  from mypy_extensions import TypedDict
7
5
 
8
6
 
@@ -102,7 +100,7 @@ class HPAMetricsParser:
102
100
  )
103
101
 
104
102
  def parse_object_metric(
105
- self, metric_spec: V2beta2ObjectMetricStatus, status: HPAMetricsDict
103
+ self, metric_spec: V2ObjectMetricStatus, status: HPAMetricsDict
106
104
  ) -> None:
107
105
  status["name"] = metric_spec.metric.name
108
106
  status["target_value"] = (
@@ -112,7 +110,7 @@ class HPAMetricsParser:
112
110
  )
113
111
 
114
112
  def parse_object_metric_current(
115
- self, metric_spec: V2beta2ObjectMetricStatus, status: HPAMetricsDict
113
+ self, metric_spec: V2ObjectMetricStatus, status: HPAMetricsDict
116
114
  ) -> None:
117
115
  status["name"] = metric_spec.metric.name
118
116
  status["current_value"] = (
@@ -20,6 +20,7 @@ from typing import Sequence
20
20
  from typing import TypedDict
21
21
 
22
22
  from kubernetes.client import AuthenticationV1TokenRequest
23
+ from kubernetes.client import RbacV1Subject
23
24
  from kubernetes.client import V1Job
24
25
  from kubernetes.client import V1ObjectMeta
25
26
  from kubernetes.client import V1Pod
@@ -28,7 +29,6 @@ from kubernetes.client import V1Role
28
29
  from kubernetes.client import V1RoleBinding
29
30
  from kubernetes.client import V1RoleRef
30
31
  from kubernetes.client import V1ServiceAccount
31
- from kubernetes.client import V1Subject
32
32
  from kubernetes.client import V1TokenRequestSpec
33
33
  from kubernetes.client.exceptions import ApiException
34
34
 
@@ -522,7 +522,7 @@ def bind_role_to_service_account(
522
522
  name=role,
523
523
  ),
524
524
  subjects=[
525
- V1Subject(
525
+ RbacV1Subject(
526
526
  kind="ServiceAccount",
527
527
  name=service_account,
528
528
  ),
@@ -50,6 +50,7 @@ from kubernetes import client as kube_client
50
50
  from kubernetes import config as kube_config
51
51
  from kubernetes.client import CoreV1Event
52
52
  from kubernetes.client import models
53
+ from kubernetes.client import RbacV1Subject
53
54
  from kubernetes.client import V1Affinity
54
55
  from kubernetes.client import V1AWSElasticBlockStoreVolumeSource
55
56
  from kubernetes.client import V1Capabilities
@@ -113,7 +114,6 @@ from kubernetes.client import V1ServiceAccount
113
114
  from kubernetes.client import V1ServiceAccountTokenProjection
114
115
  from kubernetes.client import V1StatefulSet
115
116
  from kubernetes.client import V1StatefulSetSpec
116
- from kubernetes.client import V1Subject
117
117
  from kubernetes.client import V1TCPSocketAction
118
118
  from kubernetes.client import V1TopologySpreadConstraint
119
119
  from kubernetes.client import V1Volume
@@ -2992,7 +2992,7 @@ def ensure_paasta_api_rolebinding(kube_client: KubeClient, namespace: str) -> No
2992
2992
  name="paasta-api-server-per-namespace",
2993
2993
  ),
2994
2994
  subjects=[
2995
- V1Subject(
2995
+ RbacV1Subject(
2996
2996
  kind="User",
2997
2997
  name="yelp.com/paasta-api-server",
2998
2998
  ),
@@ -4172,6 +4172,10 @@ def create_pod_topology_spread_constraints(
4172
4172
  when_unsatisfiable=constraint.get(
4173
4173
  "when_unsatisfiable", "ScheduleAnyway"
4174
4174
  ),
4175
+ # we might want to default this to someting else in the future
4176
+ # but for now, make this opt-in
4177
+ # (null or empty list means only match against the labelSelector)
4178
+ match_label_keys=constraint.get("match_label_keys", None),
4175
4179
  )
4176
4180
  )
4177
4181
 
@@ -4375,7 +4379,7 @@ def ensure_service_account(
4375
4379
  name=k8s_role,
4376
4380
  ),
4377
4381
  subjects=[
4378
- V1Subject(
4382
+ RbacV1Subject(
4379
4383
  kind="ServiceAccount",
4380
4384
  namespace=namespace,
4381
4385
  name=sa_name,
@@ -1950,6 +1950,7 @@ class TopologySpreadConstraintDict(TypedDict, total=False):
1950
1950
  topology_key: str
1951
1951
  when_unsatisfiable: Literal["ScheduleAnyway", "DoNotSchedule"]
1952
1952
  max_skew: int
1953
+ match_label_keys: List[str]
1953
1954
 
1954
1955
 
1955
1956
  class SystemPaastaConfigDict(TypedDict, total=False):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.33.3
3
+ Version: 1.34.0
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
@@ -34,7 +34,7 @@ Requires-Dist: ipaddress>=1.0.22
34
34
  Requires-Dist: isodate>=0.7.2
35
35
  Requires-Dist: jsonschema[format]
36
36
  Requires-Dist: kazoo>=2.0.0
37
- Requires-Dist: kubernetes<26.0.0,>=18.20.0
37
+ Requires-Dist: kubernetes<35.0.0,>=29.0.0
38
38
  Requires-Dist: ldap3
39
39
  Requires-Dist: manhole
40
40
  Requires-Dist: mypy-extensions>=0.3.0
@@ -25,7 +25,7 @@ ipaddress>=1.0.22
25
25
  isodate>=0.7.2
26
26
  jsonschema[format]
27
27
  kazoo>=2.0.0
28
- kubernetes<26.0.0,>=18.20.0
28
+ kubernetes<35.0.0,>=29.0.0
29
29
  ldap3
30
30
  manhole
31
31
  mypy-extensions>=0.3.0
@@ -30,7 +30,7 @@ kazoo >= 2.0.0
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
32
  # we should probably also be better at setting a correct lower-bound, but that's less likely to cause issues.
33
- kubernetes >= 18.20.0, < 26.0.0
33
+ kubernetes >= 29.0.0, < 35.0.0
34
34
  ldap3
35
35
  manhole
36
36
  mypy-extensions >= 0.3.0
@@ -13,6 +13,7 @@ from hypothesis import given
13
13
  from hypothesis.strategies import floats
14
14
  from hypothesis.strategies import integers
15
15
  from kubernetes import client as kube_client
16
+ from kubernetes.client import RbacV1Subject
16
17
  from kubernetes.client import V1Affinity
17
18
  from kubernetes.client import V1AWSElasticBlockStoreVolumeSource
18
19
  from kubernetes.client import V1Capabilities
@@ -62,7 +63,6 @@ from kubernetes.client import V1ServiceAccountList
62
63
  from kubernetes.client import V1ServiceAccountTokenProjection
63
64
  from kubernetes.client import V1StatefulSet
64
65
  from kubernetes.client import V1StatefulSetSpec
65
- from kubernetes.client import V1Subject
66
66
  from kubernetes.client import V1TCPSocketAction
67
67
  from kubernetes.client import V1TopologySpreadConstraint
68
68
  from kubernetes.client import V1Volume
@@ -554,18 +554,18 @@ class TestKubernetesDeploymentConfig:
554
554
  ), mock.patch(
555
555
  "paasta_tools.kubernetes_tools.KubernetesDeploymentConfig.get_sidecar_resource_requirements",
556
556
  autospec=True,
557
- return_value={
558
- "limits": {
557
+ return_value=V1ResourceRequirements(
558
+ limits={
559
559
  "cpu": 0.1,
560
560
  "memory": "1024Mi",
561
561
  "ephemeral-storage": "256Mi",
562
562
  },
563
- "requests": {
563
+ requests={
564
564
  "cpu": 0.1,
565
565
  "memory": "1024Mi",
566
566
  "ephemeral-storage": "256Mi",
567
567
  },
568
- },
568
+ ),
569
569
  ):
570
570
  mock_system_config = mock.Mock(
571
571
  get_hacheck_sidecar_image_url=mock.Mock(
@@ -2205,6 +2205,7 @@ class TestKubernetesDeploymentConfig:
2205
2205
  max_skew=1,
2206
2206
  topology_key="kubernetes.io/hostname",
2207
2207
  when_unsatisfiable="ScheduleAnyway",
2208
+ match_label_keys=None,
2208
2209
  ),
2209
2210
  V1TopologySpreadConstraint(
2210
2211
  label_selector=V1LabelSelector(
@@ -2216,6 +2217,183 @@ class TestKubernetesDeploymentConfig:
2216
2217
  max_skew=3,
2217
2218
  topology_key="topology.kubernetes.io/zone",
2218
2219
  when_unsatisfiable="DoNotSchedule",
2220
+ match_label_keys=None,
2221
+ ),
2222
+ ]
2223
+
2224
+ assert (
2225
+ kubernetes_tools.create_pod_topology_spread_constraints(
2226
+ "schematizer", "main", configured_constraints
2227
+ )
2228
+ == expected_constraints
2229
+ )
2230
+
2231
+ def test_create_pod_topology_spread_constraints_with_match_label_keys(self):
2232
+ """Test that match_label_keys are properly passed through when specified"""
2233
+ configured_constraints: List[TopologySpreadConstraintDict] = [
2234
+ {
2235
+ "topology_key": "kubernetes.io/hostname",
2236
+ "max_skew": 1,
2237
+ "when_unsatisfiable": "ScheduleAnyway",
2238
+ "match_label_keys": ["paasta.yelp.com/git_sha"],
2239
+ },
2240
+ ]
2241
+
2242
+ expected_constraints = [
2243
+ V1TopologySpreadConstraint(
2244
+ label_selector=V1LabelSelector(
2245
+ match_labels={
2246
+ "paasta.yelp.com/service": "schematizer",
2247
+ "paasta.yelp.com/instance": "main",
2248
+ }
2249
+ ),
2250
+ max_skew=1,
2251
+ topology_key="kubernetes.io/hostname",
2252
+ when_unsatisfiable="ScheduleAnyway",
2253
+ match_label_keys=["paasta.yelp.com/git_sha"],
2254
+ ),
2255
+ ]
2256
+
2257
+ assert (
2258
+ kubernetes_tools.create_pod_topology_spread_constraints(
2259
+ "schematizer", "main", configured_constraints
2260
+ )
2261
+ == expected_constraints
2262
+ )
2263
+
2264
+ def test_create_pod_topology_spread_constraints_with_multiple_match_label_keys(
2265
+ self,
2266
+ ):
2267
+ """Test that multiple match_label_keys are properly passed through"""
2268
+ configured_constraints: List[TopologySpreadConstraintDict] = [
2269
+ {
2270
+ "topology_key": "topology.kubernetes.io/zone",
2271
+ "max_skew": 2,
2272
+ "when_unsatisfiable": "DoNotSchedule",
2273
+ "match_label_keys": [
2274
+ "paasta.yelp.com/git_sha",
2275
+ "paasta.yelp.com/config_sha",
2276
+ ],
2277
+ },
2278
+ ]
2279
+
2280
+ expected_constraints = [
2281
+ V1TopologySpreadConstraint(
2282
+ label_selector=V1LabelSelector(
2283
+ match_labels={
2284
+ "paasta.yelp.com/service": "schematizer",
2285
+ "paasta.yelp.com/instance": "main",
2286
+ }
2287
+ ),
2288
+ max_skew=2,
2289
+ topology_key="topology.kubernetes.io/zone",
2290
+ when_unsatisfiable="DoNotSchedule",
2291
+ match_label_keys=[
2292
+ "paasta.yelp.com/git_sha",
2293
+ "paasta.yelp.com/config_sha",
2294
+ ],
2295
+ ),
2296
+ ]
2297
+
2298
+ assert (
2299
+ kubernetes_tools.create_pod_topology_spread_constraints(
2300
+ "schematizer", "main", configured_constraints
2301
+ )
2302
+ == expected_constraints
2303
+ )
2304
+
2305
+ def test_create_pod_topology_spread_constraints_with_empty_match_label_keys(self):
2306
+ """Test that explicitly setting match_label_keys to empty list is preserved"""
2307
+ configured_constraints: List[TopologySpreadConstraintDict] = [
2308
+ {
2309
+ "topology_key": "kubernetes.io/hostname",
2310
+ "max_skew": 1,
2311
+ "when_unsatisfiable": "ScheduleAnyway",
2312
+ "match_label_keys": [],
2313
+ },
2314
+ ]
2315
+
2316
+ expected_constraints = [
2317
+ V1TopologySpreadConstraint(
2318
+ label_selector=V1LabelSelector(
2319
+ match_labels={
2320
+ "paasta.yelp.com/service": "schematizer",
2321
+ "paasta.yelp.com/instance": "main",
2322
+ }
2323
+ ),
2324
+ max_skew=1,
2325
+ topology_key="kubernetes.io/hostname",
2326
+ when_unsatisfiable="ScheduleAnyway",
2327
+ match_label_keys=[],
2328
+ ),
2329
+ ]
2330
+
2331
+ assert (
2332
+ kubernetes_tools.create_pod_topology_spread_constraints(
2333
+ "schematizer", "main", configured_constraints
2334
+ )
2335
+ == expected_constraints
2336
+ )
2337
+
2338
+ def test_create_pod_topology_spread_constraints_mixed_match_label_keys(self):
2339
+ """Test constraints where some have match_label_keys and some don't"""
2340
+ configured_constraints: List[TopologySpreadConstraintDict] = [
2341
+ {
2342
+ "topology_key": "kubernetes.io/hostname",
2343
+ "max_skew": 1,
2344
+ "when_unsatisfiable": "ScheduleAnyway",
2345
+ "match_label_keys": ["paasta.yelp.com/git_sha"],
2346
+ },
2347
+ {
2348
+ "topology_key": "topology.kubernetes.io/zone",
2349
+ "max_skew": 3,
2350
+ "when_unsatisfiable": "DoNotSchedule",
2351
+ # No match_label_keys specified, should default to None
2352
+ },
2353
+ {
2354
+ "topology_key": "kubernetes.io/region",
2355
+ "max_skew": 5,
2356
+ "when_unsatisfiable": "ScheduleAnyway",
2357
+ "match_label_keys": [], # Explicitly empty
2358
+ },
2359
+ ]
2360
+
2361
+ expected_constraints = [
2362
+ V1TopologySpreadConstraint(
2363
+ label_selector=V1LabelSelector(
2364
+ match_labels={
2365
+ "paasta.yelp.com/service": "schematizer",
2366
+ "paasta.yelp.com/instance": "main",
2367
+ }
2368
+ ),
2369
+ max_skew=1,
2370
+ topology_key="kubernetes.io/hostname",
2371
+ when_unsatisfiable="ScheduleAnyway",
2372
+ match_label_keys=["paasta.yelp.com/git_sha"],
2373
+ ),
2374
+ V1TopologySpreadConstraint(
2375
+ label_selector=V1LabelSelector(
2376
+ match_labels={
2377
+ "paasta.yelp.com/service": "schematizer",
2378
+ "paasta.yelp.com/instance": "main",
2379
+ }
2380
+ ),
2381
+ max_skew=3,
2382
+ topology_key="topology.kubernetes.io/zone",
2383
+ when_unsatisfiable="DoNotSchedule",
2384
+ match_label_keys=None,
2385
+ ),
2386
+ V1TopologySpreadConstraint(
2387
+ label_selector=V1LabelSelector(
2388
+ match_labels={
2389
+ "paasta.yelp.com/service": "schematizer",
2390
+ "paasta.yelp.com/instance": "main",
2391
+ }
2392
+ ),
2393
+ max_skew=5,
2394
+ topology_key="kubernetes.io/region",
2395
+ when_unsatisfiable="ScheduleAnyway",
2396
+ match_label_keys=[],
2219
2397
  ),
2220
2398
  ]
2221
2399
 
@@ -4769,7 +4947,7 @@ def test_warning_big_bounce_default_config():
4769
4947
  job_config.format_kubernetes_app().spec.template.metadata.labels[
4770
4948
  "paasta.yelp.com/config_sha"
4771
4949
  ]
4772
- == "config477c36f2"
4950
+ == "configeed84480"
4773
4951
  ), "If this fails, just change the constant in this test, but be aware that deploying this change will cause every service to bounce!"
4774
4952
 
4775
4953
 
@@ -4815,7 +4993,7 @@ def test_warning_big_bounce_routable_pod():
4815
4993
  job_config.format_kubernetes_app().spec.template.metadata.labels[
4816
4994
  "paasta.yelp.com/config_sha"
4817
4995
  ]
4818
- == "config8f26372a"
4996
+ == "config2c86f676"
4819
4997
  ), "If this fails, just change the constant in this test, but be aware that deploying this change will cause every smartstack-registered service to bounce!"
4820
4998
 
4821
4999
 
@@ -4862,7 +5040,7 @@ def test_warning_big_bounce_common_config():
4862
5040
  job_config.format_kubernetes_app().spec.template.metadata.labels[
4863
5041
  "paasta.yelp.com/config_sha"
4864
5042
  ]
4865
- == "configcf829e28"
5043
+ == "config0e657f9b"
4866
5044
  ), "If this fails, just change the constant in this test, but be aware that deploying this change will cause every service to bounce!"
4867
5045
 
4868
5046
 
@@ -5088,7 +5266,7 @@ def test_ensure_service_account_with_k8s_role_new():
5088
5266
  name=k8s_role,
5089
5267
  ),
5090
5268
  subjects=[
5091
- V1Subject(
5269
+ RbacV1Subject(
5092
5270
  kind="ServiceAccount",
5093
5271
  namespace=namespace,
5094
5272
  name=expected_sa_name,
@@ -5141,7 +5319,7 @@ def test_ensure_service_account_existing():
5141
5319
  name=k8s_role,
5142
5320
  ),
5143
5321
  subjects=[
5144
- V1Subject(
5322
+ RbacV1Subject(
5145
5323
  kind="ServiceAccount",
5146
5324
  namespace=namespace,
5147
5325
  name=expected_sa_name,
@@ -5202,7 +5380,7 @@ def test_ensure_service_account_existing_different_role():
5202
5380
  name=k8s_role,
5203
5381
  ),
5204
5382
  subjects=[
5205
- V1Subject(
5383
+ RbacV1Subject(
5206
5384
  kind="ServiceAccount",
5207
5385
  namespace=namespace,
5208
5386
  name=expected_sa_name,
@@ -5326,7 +5504,7 @@ def test_ensure_service_account_caps_with_k8s():
5326
5504
  name=k8s_role,
5327
5505
  ),
5328
5506
  subjects=[
5329
- V1Subject(
5507
+ RbacV1Subject(
5330
5508
  kind="ServiceAccount",
5331
5509
  namespace=namespace,
5332
5510
  name=expected_sa_name,
File without changes
File without changes
File without changes