paasta-tools 1.4.0__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. {paasta-tools-1.4.0/paasta_tools.egg-info → paasta-tools-1.4.1}/PKG-INFO +1 -1
  2. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/__init__.py +1 -1
  3. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/spark_tools.py +21 -0
  4. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/tron_tools.py +56 -7
  5. {paasta-tools-1.4.0 → paasta-tools-1.4.1/paasta_tools.egg-info}/PKG-INFO +1 -1
  6. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/MANIFEST.in +0 -0
  7. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/README.md +0 -0
  8. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/k8s_itests/__init__.py +0 -0
  9. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/k8s_itests/test_autoscaling.py +0 -0
  10. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/k8s_itests/utils.py +0 -0
  11. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/adhoc_tools.py +0 -0
  12. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/__init__.py +0 -0
  13. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/api.py +0 -0
  14. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/api_docs/swagger.json +0 -0
  15. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/client.py +0 -0
  16. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/settings.py +0 -0
  17. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/tweens/__init__.py +0 -0
  18. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/tweens/profiling.py +0 -0
  19. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/tweens/request_logger.py +0 -0
  20. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/__init__.py +0 -0
  21. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/autoscaler.py +0 -0
  22. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/exception.py +0 -0
  23. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/flink.py +0 -0
  24. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/instance.py +0 -0
  25. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  26. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/resources.py +0 -0
  27. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/service.py +0 -0
  28. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/api/views/version.py +0 -0
  29. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/apply_external_resources.py +0 -0
  30. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/async_utils.py +0 -0
  31. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/autoscaling/__init__.py +0 -0
  32. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  33. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/autoscaling/forecasting.py +0 -0
  34. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  35. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  36. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/autoscaling/utils.py +0 -0
  37. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/bounce_lib.py +0 -0
  38. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/broadcast_log_to_services.py +0 -0
  39. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cassandracluster_tools.py +0 -0
  40. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  41. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  42. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/check_flink_services_health.py +0 -0
  43. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/check_kubernetes_api.py +0 -0
  44. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  45. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/check_oom_events.py +0 -0
  46. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/check_services_replication_tools.py +0 -0
  47. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/check_spark_jobs.py +0 -0
  48. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  49. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  50. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  51. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  52. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/__init__.py +0 -0
  53. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cli.py +0 -0
  54. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/__init__.py +0 -0
  55. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/autoscale.py +0 -0
  56. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/check.py +0 -0
  57. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/cook_image.py +0 -0
  58. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  59. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  60. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  61. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/info.py +0 -0
  62. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/itest.py +0 -0
  63. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/list.py +0 -0
  64. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  65. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  66. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/local_run.py +0 -0
  67. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/logs.py +0 -0
  68. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  69. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  70. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  71. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  72. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/remote_run.py +0 -0
  73. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/rollback.py +0 -0
  74. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/secret.py +0 -0
  75. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/security_check.py +0 -0
  76. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/spark_run.py +0 -0
  77. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  78. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/status.py +0 -0
  79. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/validate.py +0 -0
  80. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  81. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm/__init__.py +0 -0
  82. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  83. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm/template/README.md +0 -0
  84. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  85. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  86. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  87. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  88. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  89. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/fsm_cmd.py +0 -0
  90. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  91. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  92. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  93. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  94. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  95. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  96. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  97. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  98. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  99. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/service_schema.json +0 -0
  100. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  101. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  102. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/cli/utils.py +0 -0
  103. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/clusterman.py +0 -0
  104. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/config_utils.py +0 -0
  105. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/__init__.py +0 -0
  106. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  107. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  108. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/check_orphans.py +0 -0
  109. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  110. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  111. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  112. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  113. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/habitat_fixer.py +0 -0
  114. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/ide_helper.py +0 -0
  115. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  116. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  117. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  118. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  119. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  120. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  121. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/render_template.py +0 -0
  122. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  123. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/service_shard_remove.py +0 -0
  124. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/service_shard_update.py +0 -0
  125. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/shared_ip_check.py +0 -0
  126. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  127. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  128. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/deployment_utils.py +0 -0
  129. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/docker_wrapper.py +0 -0
  130. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/docker_wrapper_imports.py +0 -0
  131. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/drain_lib.py +0 -0
  132. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/dump_locally_running_services.py +0 -0
  133. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/eks_tools.py +0 -0
  134. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/envoy_tools.py +0 -0
  135. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/firewall.py +0 -0
  136. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/firewall_logging.py +0 -0
  137. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/firewall_update.py +0 -0
  138. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/flink_tools.py +0 -0
  139. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/flinkeks_tools.py +0 -0
  140. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/frameworks/__init__.py +0 -0
  141. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
  142. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/frameworks/constraints.py +0 -0
  143. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/frameworks/native_scheduler.py +0 -0
  144. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/frameworks/native_service_config.py +0 -0
  145. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/frameworks/task_store.py +0 -0
  146. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/generate_all_deployments +0 -0
  147. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/generate_authenticating_services.py +0 -0
  148. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/generate_deployments_for_service.py +0 -0
  149. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/generate_services_file.py +0 -0
  150. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/generate_services_yaml.py +0 -0
  151. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/hacheck.py +0 -0
  152. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/instance/__init__.py +0 -0
  153. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  154. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/instance/kubernetes.py +0 -0
  155. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/iptables.py +0 -0
  156. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kafkacluster_tools.py +0 -0
  157. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes/__init__.py +0 -0
  158. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes/application/__init__.py +0 -0
  159. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  160. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes/application/tools.py +0 -0
  161. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  162. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  163. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  164. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  165. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/kubernetes_tools.py +0 -0
  166. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  167. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/list_tron_namespaces.py +0 -0
  168. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/log_task_lifecycle_events.py +0 -0
  169. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/long_running_service_tools.py +0 -0
  170. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mac_address.py +0 -0
  171. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/marathon_dashboard.py +0 -0
  172. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/__init__.py +0 -0
  173. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/cfg.py +0 -0
  174. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/cluster.py +0 -0
  175. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/exceptions.py +0 -0
  176. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/framework.py +0 -0
  177. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/log.py +0 -0
  178. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/master.py +0 -0
  179. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/mesos_file.py +0 -0
  180. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/parallel.py +0 -0
  181. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/slave.py +0 -0
  182. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/task.py +0 -0
  183. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/util.py +0 -0
  184. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos/zookeeper.py +0 -0
  185. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos_maintenance.py +0 -0
  186. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/mesos_tools.py +0 -0
  187. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/metrics/__init__.py +0 -0
  188. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/metrics/metastatus_lib.py +0 -0
  189. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/metrics/metrics_lib.py +0 -0
  190. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/monitoring/__init__.py +0 -0
  191. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  192. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/monitoring/kill_orphaned_docker_containers.py +0 -0
  193. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/monitoring_tools.py +0 -0
  194. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/monkrelaycluster_tools.py +0 -0
  195. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/nrtsearchservice_tools.py +0 -0
  196. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  197. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/oom_logger.py +0 -0
  198. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  199. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paasta_execute_docker_command.py +0 -0
  200. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paasta_native_serviceinit.py +0 -0
  201. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paasta_remote_run.py +0 -0
  202. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paasta_service_config_loader.py +0 -0
  203. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/__init__.py +0 -0
  204. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/api/__init__.py +0 -0
  205. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  206. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/api/default_api.py +0 -0
  207. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  208. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/api/service_api.py +0 -0
  209. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/api_client.py +0 -0
  210. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  211. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/configuration.py +0 -0
  212. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/exceptions.py +0 -0
  213. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/__init__.py +0 -0
  214. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  215. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  216. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  217. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  218. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  219. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  220. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  221. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  222. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  223. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  224. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  225. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  226. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  227. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  228. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  229. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  230. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  231. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  232. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  233. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  234. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  235. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  236. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  237. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  238. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  239. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  240. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  241. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  242. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  243. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  244. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  245. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  246. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  247. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  248. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  249. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  250. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  251. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  252. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/resource.py +0 -0
  253. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  254. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  255. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  256. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  257. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  258. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  259. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/model_utils.py +0 -0
  260. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/models/__init__.py +0 -0
  261. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/paastaapi/rest.py +0 -0
  262. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/prune_completed_pods.py +0 -0
  263. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/puppet_service_tools.py +0 -0
  264. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/py.typed +0 -0
  265. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/remote_git.py +0 -0
  266. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  267. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/run-paasta-api-playground.py +0 -0
  268. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/secret_providers/__init__.py +0 -0
  269. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/secret_providers/vault.py +0 -0
  270. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/secret_tools.py +0 -0
  271. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/setup_istio_mesh.py +0 -0
  272. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/setup_kubernetes_cr.py +0 -0
  273. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/setup_kubernetes_crd.py +0 -0
  274. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  275. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/setup_kubernetes_job.py +0 -0
  276. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  277. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/setup_tron_namespace.py +0 -0
  278. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/slack.py +0 -0
  279. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/smartstack_tools.py +0 -0
  280. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  281. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/tron/__init__.py +0 -0
  282. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/tron/client.py +0 -0
  283. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/tron/tron_command_context.py +0 -0
  284. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/tron/tron_timeutils.py +0 -0
  285. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/utils.py +0 -0
  286. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools/vitesscluster_tools.py +0 -0
  287. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools.egg-info/SOURCES.txt +0 -0
  288. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools.egg-info/dependency_links.txt +0 -0
  289. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools.egg-info/entry_points.txt +0 -0
  290. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools.egg-info/requires.txt +0 -0
  291. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/paasta_tools.egg-info/top_level.txt +0 -0
  292. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/pyproject.toml +0 -0
  293. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/requirements-minimal.txt +0 -0
  294. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/setup.cfg +0 -0
  295. {paasta-tools-1.4.0 → paasta-tools-1.4.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
@@ -17,4 +17,4 @@
17
17
  # setup phase, the dependencies may not exist on disk yet.
18
18
  #
19
19
  # Don't bump version manually. See `make release` docs in ./Makefile
20
- __version__ = "1.4.0"
20
+ __version__ = "1.4.1"
@@ -6,6 +6,7 @@ from typing import Any
6
6
  from typing import cast
7
7
  from typing import Dict
8
8
  from typing import List
9
+ from typing import Literal
9
10
  from typing import Mapping
10
11
  from typing import Set
11
12
 
@@ -23,6 +24,7 @@ SPARK_DRIVER_POOL = "stable"
23
24
  SPARK_JOB_USER = "TRON"
24
25
  SPARK_PROMETHEUS_SHARD = "ml-compute"
25
26
  SPARK_DNS_POD_TEMPLATE = "/nail/srv/configs/spark_dns_pod_template.yaml"
27
+ MEM_MULTIPLIER = {"k": 1024, "m": 1024**2, "g": 1024**3, "t": 1024**4}
26
28
 
27
29
  log = logging.getLogger(__name__)
28
30
 
@@ -247,3 +249,22 @@ def get_spark_driver_monitoring_labels(
247
249
  "spark.yelp.com/driver_ui_port": ui_port_str,
248
250
  }
249
251
  return labels
252
+
253
+
254
+ def get_spark_memory_in_unit(mem: str, unit: Literal["k", "m", "g", "t"]) -> float:
255
+ """
256
+ Converts Spark memory to the desired unit.
257
+ mem is the same format as JVM memory strings: just number or number followed by 'k', 'm', 'g' or 't'.
258
+ unit can be 'k', 'm', 'g' or 't'.
259
+ Returns memory as a float converted to the desired unit.
260
+ """
261
+ try:
262
+ memory_bytes = float(mem)
263
+ except ValueError:
264
+ try:
265
+ memory_bytes = float(mem[:-1]) * MEM_MULTIPLIER[mem[-1]]
266
+ except (ValueError, IndexError):
267
+ print(f"Unable to parse memory value {mem}. Defaulting to 2 GB.")
268
+ memory_bytes = 2147483648 # default to 2 GB
269
+ memory_unit = memory_bytes / MEM_MULTIPLIER[unit]
270
+ return memory_unit
@@ -282,6 +282,35 @@ class TronActionConfig(InstanceConfig):
282
282
  self.job, self.action = decompose_instance(instance)
283
283
  # Indicate whether this config object is created for validation
284
284
  self.for_validation = for_validation
285
+ self.action_spark_config = None
286
+ if self.get_executor() == "spark":
287
+ # build the complete Spark configuration
288
+ # TODO: add conditional check for Spark specific commands spark-submit, pyspark etc ?
289
+ self.action_spark_config = self.build_spark_config()
290
+
291
+ def get_cpus(self) -> float:
292
+ # set Spark driver pod CPU if it is specified by Spark arguments
293
+ if (
294
+ self.action_spark_config
295
+ and "spark.driver.cores" in self.action_spark_config
296
+ ):
297
+ return float(self.action_spark_config["spark.driver.cores"])
298
+ # we fall back to this default if there's no spark.driver.cores config
299
+ return super().get_cpus()
300
+
301
+ def get_mem(self) -> float:
302
+ # set Spark driver pod memory if it is specified by Spark arguments
303
+ if (
304
+ self.action_spark_config
305
+ and "spark.driver.memory" in self.action_spark_config
306
+ ):
307
+ return int(
308
+ spark_tools.get_spark_memory_in_unit(
309
+ self.action_spark_config["spark.driver.memory"], "m"
310
+ )
311
+ )
312
+ # we fall back to this default if there's no spark.driver.memory config
313
+ return super().get_mem()
285
314
 
286
315
  def build_spark_config(self) -> Dict[str, str]:
287
316
  system_paasta_config = load_system_paasta_config()
@@ -440,7 +469,6 @@ class TronActionConfig(InstanceConfig):
440
469
  system_paasta_config: Optional["SystemPaastaConfig"] = None,
441
470
  ) -> Dict[str, str]:
442
471
  env = super().get_env(system_paasta_config=system_paasta_config)
443
-
444
472
  if self.get_executor() == "spark":
445
473
  # Required by some sdks like boto3 client. Throws NoRegionError otherwise.
446
474
  # AWS_REGION takes precedence if set.
@@ -605,6 +633,20 @@ class TronActionConfig(InstanceConfig):
605
633
  error_msgs.append(
606
634
  f"{self.get_job_name()}.{self.get_action_name()} must have a deploy_group set"
607
635
  )
636
+ # We are not allowing users to specify `cpus` and `mem` configuration if the action is a Spark job
637
+ # with driver running on k8s (executor: spark), because we derive these values from `spark.driver.cores`
638
+ # and `spark.driver.memory` in order to avoid confusion.
639
+ if self.get_executor() == "spark":
640
+ if "cpus" in self.config_dict:
641
+ error_msgs.append(
642
+ f"{self.get_job_name()}.{self.get_action_name()} is a Spark job. `cpus` config is not allowed. "
643
+ f"Please specify the driver cores using `spark.driver.cores`."
644
+ )
645
+ if "mem" in self.config_dict:
646
+ error_msgs.append(
647
+ f"{self.get_job_name()}.{self.get_action_name()} is a Spark job. `mem` config is not allowed. "
648
+ f"Please specify the driver memory using `spark.driver.memory`."
649
+ )
608
650
  return error_msgs
609
651
 
610
652
  def get_pool(self) -> str:
@@ -975,21 +1017,26 @@ def format_tron_action_dict(action_config: TronActionConfig):
975
1017
  if executor == "spark":
976
1018
  is_mrjob = action_config.config_dict.get("mrjob", False)
977
1019
  system_paasta_config = load_system_paasta_config()
978
- # inject spark configs to the original spark-submit command
979
- spark_config = action_config.build_spark_config()
1020
+ # inject additional Spark configs in case of Spark commands
980
1021
  result["command"] = spark_tools.build_spark_command(
981
1022
  result["command"],
982
- spark_config,
1023
+ action_config.action_spark_config,
983
1024
  is_mrjob,
984
1025
  action_config.config_dict.get(
985
1026
  "max_runtime", spark_tools.DEFAULT_SPARK_RUNTIME_TIMEOUT
986
1027
  ),
987
1028
  )
1029
+ # point to the KUBECONFIG needed by Spark driver
988
1030
  result["env"]["KUBECONFIG"] = system_paasta_config.get_spark_kubeconfig()
1031
+
989
1032
  # spark, unlike normal batches, needs to expose several ports for things like the spark
990
1033
  # ui and for executor->driver communication
991
1034
  result["ports"] = list(
992
- set(spark_tools.get_spark_ports_from_config(spark_config))
1035
+ set(
1036
+ spark_tools.get_spark_ports_from_config(
1037
+ action_config.action_spark_config
1038
+ )
1039
+ )
993
1040
  )
994
1041
  # mount KUBECONFIG file for Spark drivers to communicate with EKS cluster
995
1042
  extra_volumes.append(
@@ -1003,10 +1050,12 @@ def format_tron_action_dict(action_config: TronActionConfig):
1003
1050
  )
1004
1051
  # Add pod annotations and labels for Spark monitoring metrics
1005
1052
  monitoring_annotations = (
1006
- spark_tools.get_spark_driver_monitoring_annotations(spark_config)
1053
+ spark_tools.get_spark_driver_monitoring_annotations(
1054
+ action_config.action_spark_config
1055
+ )
1007
1056
  )
1008
1057
  monitoring_labels = spark_tools.get_spark_driver_monitoring_labels(
1009
- spark_config
1058
+ action_config.action_spark_config
1010
1059
  )
1011
1060
  result["annotations"].update(monitoring_annotations)
1012
1061
  result["labels"].update(monitoring_labels)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
File without changes
File without changes