paasta-tools 1.32.0__tar.gz → 1.33.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.32.0/paasta_tools.egg-info → paasta_tools-1.33.0}/PKG-INFO +1 -1
  2. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/__init__.py +1 -1
  3. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/local_run.py +64 -21
  4. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/utils.py +9 -0
  5. {paasta_tools-1.32.0 → paasta_tools-1.33.0/paasta_tools.egg-info}/PKG-INFO +1 -1
  6. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/LICENSE +0 -0
  7. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/MANIFEST.in +0 -0
  8. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/README.md +0 -0
  9. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/k8s_itests/__init__.py +0 -0
  10. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/k8s_itests/test_autoscaling.py +0 -0
  11. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/k8s_itests/utils.py +0 -0
  12. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/adhoc_tools.py +0 -0
  13. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/__init__.py +0 -0
  14. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/api.py +0 -0
  15. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/api_docs/swagger.json +0 -0
  16. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/client.py +0 -0
  17. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/settings.py +0 -0
  18. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/tweens/__init__.py +0 -0
  19. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/tweens/auth.py +0 -0
  20. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/tweens/profiling.py +0 -0
  21. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/tweens/request_logger.py +0 -0
  22. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/__init__.py +0 -0
  23. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/autoscaler.py +0 -0
  24. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/exception.py +0 -0
  25. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/flink.py +0 -0
  26. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/instance.py +0 -0
  27. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  28. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/remote_run.py +0 -0
  29. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/resources.py +0 -0
  30. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/service.py +0 -0
  31. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/api/views/version.py +0 -0
  32. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/apply_external_resources.py +0 -0
  33. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/async_utils.py +0 -0
  34. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/__init__.py +0 -0
  35. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  36. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/forecasting.py +0 -0
  37. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  38. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  39. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/autoscaling/utils.py +0 -0
  40. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/bounce_lib.py +0 -0
  41. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/broadcast_log_to_services.py +0 -0
  42. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cassandracluster_tools.py +0 -0
  43. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  44. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  45. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_flink_services_health.py +0 -0
  46. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_kubernetes_api.py +0 -0
  47. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  48. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_oom_events.py +0 -0
  49. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_services_replication_tools.py +0 -0
  50. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/check_spark_jobs.py +0 -0
  51. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_expired_autoscaling_overrides.py +0 -0
  52. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  53. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  54. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  55. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  56. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/__init__.py +0 -0
  57. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/authentication.py +0 -0
  58. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cli.py +0 -0
  59. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/__init__.py +0 -0
  60. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/autoscale.py +0 -0
  61. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/check.py +0 -0
  62. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/cook_image.py +0 -0
  63. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  64. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  65. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  66. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/info.py +0 -0
  67. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/itest.py +0 -0
  68. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/list.py +0 -0
  69. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  70. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  71. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
  72. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/logs.py +0 -0
  73. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  74. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  75. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  76. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  77. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/remote_run.py +0 -0
  78. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/rollback.py +0 -0
  79. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/secret.py +0 -0
  80. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/security_check.py +0 -0
  81. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/spark_run.py +0 -0
  82. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  83. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/status.py +0 -0
  84. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/validate.py +0 -0
  85. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  86. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/__init__.py +0 -0
  87. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  88. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/README.md +0 -0
  89. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  90. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  91. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  92. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  93. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  94. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/fsm_cmd.py +0 -0
  95. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  96. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  97. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  98. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  99. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  100. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  101. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  102. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  103. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  104. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/service_schema.json +0 -0
  105. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  106. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  107. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/cli/utils.py +0 -0
  108. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/clusterman.py +0 -0
  109. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/config_utils.py +0 -0
  110. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/__init__.py +0 -0
  111. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  112. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  113. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/check_orphans.py +0 -0
  114. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  115. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  116. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  117. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  118. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/habitat_fixer.py +0 -0
  119. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/ide_helper.py +0 -0
  120. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  121. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  122. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  123. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  124. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  125. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  126. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/render_template.py +0 -0
  127. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  128. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/service_shard_remove.py +0 -0
  129. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/service_shard_update.py +0 -0
  130. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/shared_ip_check.py +0 -0
  131. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  132. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  133. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/deployment_utils.py +0 -0
  134. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/docker_wrapper.py +0 -0
  135. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/docker_wrapper_imports.py +0 -0
  136. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/drain_lib.py +0 -0
  137. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/dump_locally_running_services.py +0 -0
  138. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/eks_tools.py +0 -0
  139. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/envoy_tools.py +0 -0
  140. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/firewall.py +0 -0
  141. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/firewall_logging.py +0 -0
  142. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/firewall_update.py +0 -0
  143. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/flink_tools.py +0 -0
  144. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/flinkeks_tools.py +0 -0
  145. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/frameworks/__init__.py +0 -0
  146. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/frameworks/constraints.py +0 -0
  147. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/frameworks/native_service_config.py +0 -0
  148. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_all_deployments +0 -0
  149. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_authenticating_services.py +0 -0
  150. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_deployments_for_service.py +0 -0
  151. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_services_file.py +0 -0
  152. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/generate_services_yaml.py +0 -0
  153. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/hacheck.py +0 -0
  154. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/instance/__init__.py +0 -0
  155. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  156. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/instance/kubernetes.py +0 -0
  157. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/iptables.py +0 -0
  158. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kafkacluster_tools.py +0 -0
  159. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/__init__.py +0 -0
  160. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/application/__init__.py +0 -0
  161. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  162. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/application/tools.py +0 -0
  163. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  164. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  165. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
  166. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  167. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  168. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes/remote_run.py +0 -0
  169. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/kubernetes_tools.py +0 -0
  170. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  171. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/list_tron_namespaces.py +0 -0
  172. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/long_running_service_tools.py +0 -0
  173. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mac_address.py +0 -0
  174. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/marathon_dashboard.py +0 -0
  175. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/__init__.py +0 -0
  176. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/cfg.py +0 -0
  177. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/cluster.py +0 -0
  178. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/exceptions.py +0 -0
  179. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/framework.py +0 -0
  180. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/log.py +0 -0
  181. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/master.py +0 -0
  182. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/mesos_file.py +0 -0
  183. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/parallel.py +0 -0
  184. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/slave.py +0 -0
  185. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/task.py +0 -0
  186. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/util.py +0 -0
  187. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos/zookeeper.py +0 -0
  188. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/mesos_tools.py +0 -0
  189. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/metrics/__init__.py +0 -0
  190. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/metrics/metastatus_lib.py +0 -0
  191. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/metrics/metrics_lib.py +0 -0
  192. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/monitoring/__init__.py +0 -0
  193. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  194. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/monitoring_tools.py +0 -0
  195. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/monkrelaycluster_tools.py +0 -0
  196. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/nrtsearchservice_tools.py +0 -0
  197. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  198. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/oom_logger.py +0 -0
  199. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  200. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paasta_execute_docker_command.py +0 -0
  201. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paasta_service_config_loader.py +0 -0
  202. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/__init__.py +0 -0
  203. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/__init__.py +0 -0
  204. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  205. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/default_api.py +0 -0
  206. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
  207. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  208. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api/service_api.py +0 -0
  209. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/api_client.py +0 -0
  210. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  211. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/configuration.py +0 -0
  212. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/exceptions.py +0 -0
  213. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/__init__.py +0 -0
  214. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  215. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  216. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/autoscaling_override.py +0 -0
  217. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  218. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  219. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  220. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  221. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  222. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  223. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  224. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  225. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  226. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  227. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  228. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  229. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  230. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  231. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  232. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_response202.py +0 -0
  233. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/inline_response403.py +0 -0
  234. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  235. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  236. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  237. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  238. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  239. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  240. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  241. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  242. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  243. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  244. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  245. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  246. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  247. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  248. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  249. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  250. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  251. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  252. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  253. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  254. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  255. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
  256. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
  257. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
  258. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
  259. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/resource.py +0 -0
  260. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  261. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  262. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  263. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  264. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  265. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  266. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/model_utils.py +0 -0
  267. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/models/__init__.py +0 -0
  268. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/paastaapi/rest.py +0 -0
  269. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/prune_completed_pods.py +0 -0
  270. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/puppet_service_tools.py +0 -0
  271. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/py.typed +0 -0
  272. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/remote_git.py +0 -0
  273. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  274. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/run-paasta-api-playground.py +0 -0
  275. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/secret_providers/__init__.py +0 -0
  276. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/secret_providers/vault.py +0 -0
  277. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/secret_tools.py +0 -0
  278. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_istio_mesh.py +0 -0
  279. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_kubernetes_cr.py +0 -0
  280. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_kubernetes_crd.py +0 -0
  281. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  282. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_kubernetes_job.py +0 -0
  283. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  284. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/setup_tron_namespace.py +0 -0
  285. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/slack.py +0 -0
  286. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/smartstack_tools.py +0 -0
  287. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/spark_tools.py +0 -0
  288. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  289. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron/__init__.py +0 -0
  290. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron/client.py +0 -0
  291. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron/tron_command_context.py +0 -0
  292. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron/tron_timeutils.py +0 -0
  293. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/tron_tools.py +0 -0
  294. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools/yaml_tools.py +0 -0
  295. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/SOURCES.txt +0 -0
  296. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/dependency_links.txt +0 -0
  297. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/entry_points.txt +0 -0
  298. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/requires.txt +0 -0
  299. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/paasta_tools.egg-info/top_level.txt +0 -0
  300. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/pyproject.toml +0 -0
  301. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/requirements-minimal.txt +0 -0
  302. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/setup.cfg +0 -0
  303. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/setup.py +0 -0
  304. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_adhoc_tools.py +0 -0
  305. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_apply_external_resources.py +0 -0
  306. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_async_utils.py +0 -0
  307. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_bounce_lib.py +0 -0
  308. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_flink_services_health.py +0 -0
  309. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_kubernetes_services_replication.py +0 -0
  310. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_oom_events.py +0 -0
  311. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_service_replication_tools.py +0 -0
  312. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_check_spark_jobs.py +0 -0
  313. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_cleanup_kubernetes_jobs.py +0 -0
  314. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_config_utils.py +0 -0
  315. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_delete_kubernetes_deployments.py +0 -0
  316. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_deployment_utils.py +0 -0
  317. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_docker_wrapper.py +0 -0
  318. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_drain_lib.py +0 -0
  319. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_eks_tools.py +0 -0
  320. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_envoy_tools.py +0 -0
  321. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_firewall.py +0 -0
  322. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_firewall_logging.py +0 -0
  323. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_firewall_update.py +0 -0
  324. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_flink_tools.py +0 -0
  325. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_flinkeks_tools.py +0 -0
  326. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_generate_authenticating_services.py +0 -0
  327. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_generate_deployments_for_service.py +0 -0
  328. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_generate_services_file.py +0 -0
  329. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_generate_services_yaml.py +0 -0
  330. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_hacheck.py +0 -0
  331. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_iptables.py +0 -0
  332. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_kubernetes_tools.py +0 -0
  333. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_list_kubernetes_service_instances.py +0 -0
  334. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_long_running_service_tools.py +0 -0
  335. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_mac_address.py +0 -0
  336. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_mesos_tools.py +0 -0
  337. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_monitoring_tools.py +0 -0
  338. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_nrtsearchserviceseks_tools.py +0 -0
  339. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_oom_logger.py +0 -0
  340. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_paasta_execute_docker_command.py +0 -0
  341. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_paasta_service_config_loader.py +0 -0
  342. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_puppet_service_tools.py +0 -0
  343. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_remote_git.py +0 -0
  344. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_secret_tools.py +0 -0
  345. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_setup_istio_mesh.py +0 -0
  346. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_setup_kubernetes_cr.py +0 -0
  347. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_setup_kubernetes_job.py +0 -0
  348. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_setup_prometheus_adapter_config.py +0 -0
  349. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_slack.py +0 -0
  350. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_smartstack_tools.py +0 -0
  351. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_spark_tools.py +0 -0
  352. {paasta_tools-1.32.0 → paasta_tools-1.33.0}/tests/test_tron_tools.py +0 -0
  353. {paasta_tools-1.32.0 → paasta_tools-1.33.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.32.0
3
+ Version: 1.33.0
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.32.0"
20
+ __version__ = "1.33.0"
@@ -12,6 +12,7 @@
12
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
+ import base64
15
16
  import datetime
16
17
  import json
17
18
  import os
@@ -31,6 +32,7 @@ from urllib.parse import urlparse
31
32
  import boto3
32
33
  import requests
33
34
  from docker import errors
35
+ from docker.api.client import APIClient
34
36
  from mypy_extensions import TypedDict
35
37
 
36
38
  from paasta_tools.adhoc_tools import get_default_interactive_config
@@ -612,26 +614,70 @@ class LostContainerException(Exception):
612
614
  pass
613
615
 
614
616
 
615
- def docker_pull_image(docker_url):
616
- """Pull an image via ``docker pull``. Uses the actual pull command instead of the python
617
- bindings due to the docker auth/registry transition. Once we are past Docker 1.6
618
- we can use better credential management, but for now this function assumes the
619
- user running the command has already been authorized for the registry"""
617
+ class DockerAuthConfig(TypedDict):
618
+ username: str
619
+ password: str
620
+
621
+
622
+ def get_readonly_docker_registry_auth_config(
623
+ docker_url: str,
624
+ ) -> DockerAuthConfig | None:
625
+ system_paasta_config = load_system_paasta_config()
626
+ config_path = system_paasta_config.get_readonly_docker_registry_auth_file()
627
+
628
+ with open(config_path) as f:
629
+ docker_config = json.load(f)
630
+ registry = docker_url.split("/")[0]
631
+
632
+ # find matching auth config - our usual ro config will have at least two entries
633
+ # at the time this comment was written
634
+ auths = docker_config
635
+ for auth_url, auth_data in auths.items():
636
+ if registry in auth_url:
637
+ # Decode the base64 auth string if present
638
+ if "auth" in auth_data:
639
+ auth_string = base64.b64decode(auth_data["auth"]).decode("utf-8")
640
+ username, password = auth_string.split(":", 1)
641
+ return {"username": username, "password": password}
642
+
643
+ # afaik, we should only hit this if folks are being naughty and passing a docker url from docker-dev
644
+ return None
645
+
646
+
647
+ def docker_pull_image(docker_client: APIClient, docker_url: str) -> None:
648
+ """Pull an image using the docker-py library with read-only registry credentials"""
620
649
  print(
621
- "Please wait while the image (%s) is pulled (times out after 30m)..."
622
- % docker_url,
650
+ f"Please wait while the image ({docker_url}) is pulled (times out after 30m)...",
623
651
  file=sys.stderr,
624
652
  )
625
- with Timeout(
626
- seconds=1800, error_message=f"Timed out pulling docker image from {docker_url}"
627
- ), open(os.devnull, mode="wb") as DEVNULL:
628
- ret, _ = _run("docker pull %s" % docker_url, stream=True, stdin=DEVNULL)
629
- if ret != 0:
630
- print(
631
- "\nPull failed. Are you authorized to run docker commands?",
632
- file=sys.stderr,
633
- )
634
- sys.exit(ret)
653
+
654
+ auth_config = get_readonly_docker_registry_auth_config(docker_url)
655
+ if not auth_config:
656
+ print(
657
+ PaastaColors.yellow(
658
+ "Warning: No read-only docker registry credentials found, attempting to pull without authentication."
659
+ ),
660
+ file=sys.stderr,
661
+ )
662
+
663
+ try:
664
+ with Timeout(
665
+ seconds=1800,
666
+ error_message=f"Timed out pulling docker image from {docker_url}",
667
+ ):
668
+ # this is slightly funky since pull() returns the output line-by-line, but as a dict
669
+ # ...that we then need to format back to the usual `docker pull` output
670
+ # :p
671
+ for line in docker_client.pull(
672
+ docker_url, auth_config=auth_config, stream=True, decode=True
673
+ ):
674
+ print(f"{line['id']}: {line['status']}", file=sys.stderr)
675
+ except Exception as e:
676
+ print(
677
+ f"\nPull failed. Error: {e}",
678
+ file=sys.stderr,
679
+ )
680
+ sys.exit(1)
635
681
 
636
682
 
637
683
  def get_container_id(docker_client, container_name):
@@ -1226,7 +1272,7 @@ def configure_and_run_docker_container(
1226
1272
  return 1
1227
1273
 
1228
1274
  if pull_image:
1229
- docker_pull_image(docker_url)
1275
+ docker_pull_image(docker_client, docker_url)
1230
1276
 
1231
1277
  for volume in instance_config.get_volumes(
1232
1278
  system_paasta_config.get_volumes(),
@@ -1303,9 +1349,6 @@ def docker_config_available():
1303
1349
 
1304
1350
 
1305
1351
  def paasta_local_run(args):
1306
- if args.action == "pull" and os.geteuid() != 0 and not docker_config_available():
1307
- print("Re-executing paasta local-run --pull with sudo..")
1308
- os.execvp("sudo", ["sudo", "-H"] + sys.argv)
1309
1352
  if args.action == "build" and not makefile_responds_to("cook-image"):
1310
1353
  print(
1311
1354
  "A local Makefile with a 'cook-image' target is required for --build",
@@ -182,6 +182,7 @@ CAPS_DROP = [
182
182
  "SYS_CHROOT",
183
183
  "SETFCAP",
184
184
  ]
185
+ DEFAULT_READONLY_DOCKER_REGISTRY_AUTH_FILE = "/nail/etc/docker-registry-ro"
185
186
 
186
187
 
187
188
  class RollbackTypes(Enum):
@@ -2066,6 +2067,7 @@ class SystemPaastaConfigDict(TypedDict, total=False):
2066
2067
  enable_tron_tsc: bool
2067
2068
  default_spark_iam_user: str
2068
2069
  default_spark_driver_pool_override: str
2070
+ readonly_docker_registry_auth_file: str
2069
2071
 
2070
2072
 
2071
2073
  def load_system_paasta_config(
@@ -2840,6 +2842,13 @@ class SystemPaastaConfig:
2840
2842
  # NOTE: this should never happen unless we've gotten bad data
2841
2843
  return None
2842
2844
 
2845
+ def get_readonly_docker_registry_auth_file(self) -> str:
2846
+ """Get the location of the readonly docker registry auth file as an absolute path."""
2847
+ return self.config_dict.get(
2848
+ "readonly_docker_registry_auth_file",
2849
+ DEFAULT_READONLY_DOCKER_REGISTRY_AUTH_FILE,
2850
+ )
2851
+
2843
2852
 
2844
2853
  def _run(
2845
2854
  command: Union[str, List[str]],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.32.0
3
+ Version: 1.33.0
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
File without changes
File without changes
File without changes