paasta-tools 1.6.4__tar.gz → 1.7.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. {paasta-tools-1.6.4/paasta_tools.egg-info → paasta-tools-1.7.0}/PKG-INFO +1 -1
  2. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/__init__.py +1 -1
  3. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/logs.py +6 -0
  4. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/spark_run.py +2 -2
  5. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/service_shard_update.py +89 -4
  6. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/setup_tron_namespace.py +1 -1
  7. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/spark_tools.py +20 -13
  8. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/tron_tools.py +11 -8
  9. {paasta-tools-1.6.4 → paasta-tools-1.7.0/paasta_tools.egg-info}/PKG-INFO +1 -1
  10. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/MANIFEST.in +0 -0
  11. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/README.md +0 -0
  12. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/k8s_itests/__init__.py +0 -0
  13. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/k8s_itests/test_autoscaling.py +0 -0
  14. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/k8s_itests/utils.py +0 -0
  15. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/adhoc_tools.py +0 -0
  16. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/__init__.py +0 -0
  17. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/api.py +0 -0
  18. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/api_docs/swagger.json +0 -0
  19. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/client.py +0 -0
  20. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/settings.py +0 -0
  21. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/tweens/__init__.py +0 -0
  22. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/tweens/profiling.py +0 -0
  23. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/tweens/request_logger.py +0 -0
  24. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/__init__.py +0 -0
  25. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/autoscaler.py +0 -0
  26. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/exception.py +0 -0
  27. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/flink.py +0 -0
  28. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/instance.py +0 -0
  29. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  30. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/resources.py +0 -0
  31. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/service.py +0 -0
  32. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/api/views/version.py +0 -0
  33. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/apply_external_resources.py +0 -0
  34. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/async_utils.py +0 -0
  35. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/autoscaling/__init__.py +0 -0
  36. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  37. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/autoscaling/forecasting.py +0 -0
  38. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  39. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  40. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/autoscaling/utils.py +0 -0
  41. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/bounce_lib.py +0 -0
  42. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/broadcast_log_to_services.py +0 -0
  43. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cassandracluster_tools.py +0 -0
  44. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  45. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  46. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/check_flink_services_health.py +0 -0
  47. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/check_kubernetes_api.py +0 -0
  48. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  49. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/check_oom_events.py +0 -0
  50. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/check_services_replication_tools.py +0 -0
  51. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/check_spark_jobs.py +0 -0
  52. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  53. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  54. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  55. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  56. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/__init__.py +0 -0
  57. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cli.py +0 -0
  58. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/__init__.py +0 -0
  59. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/autoscale.py +0 -0
  60. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/check.py +0 -0
  61. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/cook_image.py +0 -0
  62. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  63. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  64. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  65. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/info.py +0 -0
  66. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/itest.py +0 -0
  67. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/list.py +0 -0
  68. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  69. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  70. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/local_run.py +0 -0
  71. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  72. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  73. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  74. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  75. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/remote_run.py +0 -0
  76. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/rollback.py +0 -0
  77. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/secret.py +0 -0
  78. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/security_check.py +0 -0
  79. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  80. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/status.py +0 -0
  81. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/validate.py +0 -0
  82. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  83. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm/__init__.py +0 -0
  84. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  85. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm/template/README.md +0 -0
  86. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  87. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  88. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  89. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  90. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  91. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/fsm_cmd.py +0 -0
  92. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  93. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  94. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  95. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  96. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  97. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  98. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  99. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  100. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  101. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/service_schema.json +0 -0
  102. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  103. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  104. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/cli/utils.py +0 -0
  105. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/clusterman.py +0 -0
  106. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/config_utils.py +0 -0
  107. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/__init__.py +0 -0
  108. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  109. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  110. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/check_orphans.py +0 -0
  111. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  112. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  113. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  114. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  115. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/habitat_fixer.py +0 -0
  116. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/ide_helper.py +0 -0
  117. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  118. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  119. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  120. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  121. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  122. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  123. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/render_template.py +0 -0
  124. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  125. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/service_shard_remove.py +0 -0
  126. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/shared_ip_check.py +0 -0
  127. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  128. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  129. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/deployment_utils.py +0 -0
  130. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/docker_wrapper.py +0 -0
  131. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/docker_wrapper_imports.py +0 -0
  132. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/drain_lib.py +0 -0
  133. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/dump_locally_running_services.py +0 -0
  134. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/eks_tools.py +0 -0
  135. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/envoy_tools.py +0 -0
  136. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/firewall.py +0 -0
  137. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/firewall_logging.py +0 -0
  138. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/firewall_update.py +0 -0
  139. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/flink_tools.py +0 -0
  140. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/flinkeks_tools.py +0 -0
  141. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/frameworks/__init__.py +0 -0
  142. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
  143. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/frameworks/constraints.py +0 -0
  144. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/frameworks/native_scheduler.py +0 -0
  145. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/frameworks/native_service_config.py +0 -0
  146. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/frameworks/task_store.py +0 -0
  147. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/generate_all_deployments +0 -0
  148. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/generate_authenticating_services.py +0 -0
  149. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/generate_deployments_for_service.py +0 -0
  150. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/generate_services_file.py +0 -0
  151. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/generate_services_yaml.py +0 -0
  152. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/hacheck.py +0 -0
  153. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/instance/__init__.py +0 -0
  154. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  155. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/instance/kubernetes.py +0 -0
  156. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/iptables.py +0 -0
  157. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kafkacluster_tools.py +0 -0
  158. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes/__init__.py +0 -0
  159. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes/application/__init__.py +0 -0
  160. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  161. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes/application/tools.py +0 -0
  162. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  163. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  164. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  165. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  166. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/kubernetes_tools.py +0 -0
  167. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  168. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/list_tron_namespaces.py +0 -0
  169. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/log_task_lifecycle_events.py +0 -0
  170. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/long_running_service_tools.py +0 -0
  171. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mac_address.py +0 -0
  172. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/marathon_dashboard.py +0 -0
  173. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/__init__.py +0 -0
  174. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/cfg.py +0 -0
  175. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/cluster.py +0 -0
  176. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/exceptions.py +0 -0
  177. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/framework.py +0 -0
  178. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/log.py +0 -0
  179. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/master.py +0 -0
  180. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/mesos_file.py +0 -0
  181. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/parallel.py +0 -0
  182. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/slave.py +0 -0
  183. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/task.py +0 -0
  184. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/util.py +0 -0
  185. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos/zookeeper.py +0 -0
  186. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos_maintenance.py +0 -0
  187. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/mesos_tools.py +0 -0
  188. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/metrics/__init__.py +0 -0
  189. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/metrics/metastatus_lib.py +0 -0
  190. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/metrics/metrics_lib.py +0 -0
  191. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/monitoring/__init__.py +0 -0
  192. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  193. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/monitoring_tools.py +0 -0
  194. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/monkrelaycluster_tools.py +0 -0
  195. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/nrtsearchservice_tools.py +0 -0
  196. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  197. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/oom_logger.py +0 -0
  198. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  199. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paasta_execute_docker_command.py +0 -0
  200. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paasta_native_serviceinit.py +0 -0
  201. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paasta_remote_run.py +0 -0
  202. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paasta_service_config_loader.py +0 -0
  203. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/__init__.py +0 -0
  204. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/api/__init__.py +0 -0
  205. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  206. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/api/default_api.py +0 -0
  207. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  208. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/api/service_api.py +0 -0
  209. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/api_client.py +0 -0
  210. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  211. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/configuration.py +0 -0
  212. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/exceptions.py +0 -0
  213. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/__init__.py +0 -0
  214. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  215. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  216. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  217. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  218. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  219. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  220. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  221. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  222. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  223. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  224. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  225. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  226. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  227. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  228. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  229. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  230. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  231. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  232. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  233. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  234. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  235. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  236. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  237. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  238. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  239. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  240. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  241. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  242. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_status_vitesscluster.py +0 -0
  243. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  244. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  245. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  246. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  247. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  248. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  249. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  250. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  251. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  252. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  253. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/resource.py +0 -0
  254. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  255. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  256. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  257. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  258. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  259. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  260. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/model_utils.py +0 -0
  261. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/models/__init__.py +0 -0
  262. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/paastaapi/rest.py +0 -0
  263. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/prune_completed_pods.py +0 -0
  264. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/puppet_service_tools.py +0 -0
  265. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/py.typed +0 -0
  266. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/remote_git.py +0 -0
  267. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  268. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/run-paasta-api-playground.py +0 -0
  269. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/secret_providers/__init__.py +0 -0
  270. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/secret_providers/vault.py +0 -0
  271. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/secret_tools.py +0 -0
  272. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/setup_istio_mesh.py +0 -0
  273. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/setup_kubernetes_cr.py +0 -0
  274. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/setup_kubernetes_crd.py +0 -0
  275. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  276. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/setup_kubernetes_job.py +0 -0
  277. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  278. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/slack.py +0 -0
  279. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/smartstack_tools.py +0 -0
  280. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  281. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/tron/__init__.py +0 -0
  282. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/tron/client.py +0 -0
  283. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/tron/tron_command_context.py +0 -0
  284. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/tron/tron_timeutils.py +0 -0
  285. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/utils.py +0 -0
  286. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools/vitesscluster_tools.py +0 -0
  287. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools.egg-info/SOURCES.txt +0 -0
  288. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools.egg-info/dependency_links.txt +0 -0
  289. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools.egg-info/entry_points.txt +0 -0
  290. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools.egg-info/requires.txt +0 -0
  291. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/paasta_tools.egg-info/top_level.txt +0 -0
  292. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/pyproject.toml +0 -0
  293. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/requirements-minimal.txt +0 -0
  294. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/setup.cfg +0 -0
  295. {paasta-tools-1.6.4 → paasta-tools-1.7.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.6.4
3
+ Version: 1.7.0
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
@@ -17,4 +17,4 @@
17
17
  # setup phase, the dependencies may not exist on disk yet.
18
18
  #
19
19
  # Don't bump version manually. See `make release` docs in ./Makefile
20
- __version__ = "1.6.4"
20
+ __version__ = "1.7.0"
@@ -329,6 +329,12 @@ def paasta_app_output_passes_filter(
329
329
  # https://github.com/gweis/isodate/issues/53
330
330
  except ValueError:
331
331
  return True
332
+ except AttributeError:
333
+ # Timestamp might be missing. We had an issue where OTel was splitting overly long log lines
334
+ # and not including timestamps in the resulting log records (OBSPLAT-2216).
335
+ # Although this was then fixed in OTel, we should not rely on timestamps being present,
336
+ # as the format cannot be guaranteed.
337
+ return False
332
338
  if not check_timestamp_in_range(timestamp, start_time, end_time):
333
339
  return False
334
340
  return (
@@ -239,9 +239,9 @@ def add_subparser(subparsers):
239
239
  "default_pool"
240
240
  )
241
241
  except PaastaNotConfiguredError:
242
- default_spark_cluster = "pnw-devc"
242
+ default_spark_cluster = "pnw-devc-spark"
243
243
  default_spark_pool = "batch"
244
- valid_clusters = ["spark-pnw-prod", "pnw-devc"]
244
+ valid_clusters = ["pnw-devc-spark", "pnw-prod-spark"]
245
245
 
246
246
  list_parser.add_argument(
247
247
  "-c",
@@ -39,6 +39,13 @@ def parse_args():
39
39
  action="store_true",
40
40
  dest="verbose",
41
41
  )
42
+ parser.add_argument(
43
+ "-d",
44
+ "--dry-run",
45
+ help="Do not commit changes to git",
46
+ action="store_true",
47
+ dest="dry_run",
48
+ )
42
49
  parser.add_argument(
43
50
  "--source-id",
44
51
  help="String to attribute the changes in the commit message.",
@@ -115,6 +122,48 @@ def parse_args():
115
122
  type=int,
116
123
  dest="timeout_server_ms",
117
124
  )
125
+ parser.add_argument(
126
+ "--autotune-min-cpus",
127
+ help="Minimum number of CPUs Autotune should give the shard",
128
+ required=False,
129
+ type=float,
130
+ dest="autotune_min_cpus",
131
+ )
132
+ parser.add_argument(
133
+ "--autotune-max-cpus",
134
+ help="Maximum number of CPUs Autotune should give the shard",
135
+ required=False,
136
+ type=float,
137
+ dest="autotune_max_cpus",
138
+ )
139
+ parser.add_argument(
140
+ "--autotune-min-mem",
141
+ help="Minimum amount of memory Autotune should give the shard",
142
+ required=False,
143
+ type=int,
144
+ dest="autotune_min_mem",
145
+ )
146
+ parser.add_argument(
147
+ "--autotune-max-mem",
148
+ help="Maximum amount of memory Autotune should give the shard",
149
+ required=False,
150
+ type=int,
151
+ dest="autotune_max_mem",
152
+ )
153
+ parser.add_argument(
154
+ "--autotune-min-disk",
155
+ help="Minimum amount of disk Autotune should give the shard",
156
+ required=False,
157
+ type=int,
158
+ dest="autotune_min_disk",
159
+ )
160
+ parser.add_argument(
161
+ "--autotune-max-disk",
162
+ help="Maximum amount of disk Autotune should give the shard",
163
+ required=False,
164
+ type=int,
165
+ dest="autotune_max_disk",
166
+ )
118
167
  return parser.parse_args()
119
168
 
120
169
 
@@ -195,9 +244,11 @@ def main(args):
195
244
  instance_config = {
196
245
  "deploy_group": f"{deploy_prefix}.{args.shard_name}",
197
246
  "min_instances": args.min_instance_count,
198
- "max_instances": args.prod_max_instance_count
199
- if deploy_prefix == "prod"
200
- else args.non_prod_max_instance_count,
247
+ "max_instances": (
248
+ args.prod_max_instance_count
249
+ if deploy_prefix == "prod"
250
+ else args.non_prod_max_instance_count
251
+ ),
201
252
  "env": {
202
253
  "PAASTA_SECRET_BUGSNAG_API_KEY": "SECRET(bugsnag_api_key)",
203
254
  },
@@ -217,6 +268,40 @@ def main(args):
217
268
  instance_config["cpus"] = args.cpus
218
269
  if args.mem is not None:
219
270
  instance_config["mem"] = args.mem
271
+ if any(
272
+ (
273
+ args.autotune_min_cpus,
274
+ args.autotune_max_cpus,
275
+ args.autotune_min_mem,
276
+ args.autotune_max_mem,
277
+ args.autotune_min_disk,
278
+ args.autotune_max_disk,
279
+ )
280
+ ):
281
+ limit_config = {}
282
+ limit_config["cpus"] = {
283
+ "min": args.autotune_min_cpus,
284
+ "max": args.autotune_max_cpus,
285
+ }
286
+ limit_config["mem"] = {
287
+ "min": args.autotune_min_mem,
288
+ "max": args.autotune_max_mem,
289
+ }
290
+ limit_config["disk"] = {
291
+ "min": args.autotune_min_disk,
292
+ "max": args.autotune_max_disk,
293
+ }
294
+
295
+ # remove any None values to keep the config clean
296
+ for resource in list(limit_config):
297
+ for key in list(limit_config[resource]):
298
+ if limit_config[resource][key] is None:
299
+ del limit_config[resource][key]
300
+ if len(limit_config[resource]) == 0:
301
+ del limit_config[resource]
302
+
303
+ if len(limit_config) > 0:
304
+ instance_config["autotune_limits"] = limit_config
220
305
  # If the service config does not contain definitions for the shard in each ecosystem
221
306
  # Add the missing definition and write to the corresponding config
222
307
  if args.shard_name not in config_file.keys():
@@ -247,7 +332,7 @@ def main(args):
247
332
  log.info(f"{args.shard_name} is in smartstack config already, skipping.")
248
333
 
249
334
  # Only commit to remote if changes were made
250
- if changes_made:
335
+ if changes_made and not args.dry_run:
251
336
  updater.commit_to_remote()
252
337
  trigger_deploys(args.service)
253
338
  else:
@@ -224,7 +224,7 @@ def main():
224
224
  # since we need to print out what failed in either case
225
225
  failed.append(service)
226
226
 
227
- if args.bulk_config_fetch:
227
+ if args.dry_run and args.bulk_config_fetch:
228
228
  updated_namespaces = client.update_namespaces(new_configs)
229
229
 
230
230
  if updated_namespaces:
@@ -20,7 +20,7 @@ DEFAULT_SPARK_RUNTIME_TIMEOUT = "12h"
20
20
  SPARK_AWS_CREDS_PROVIDER = "com.amazonaws.auth.WebIdentityTokenCredentialsProvider"
21
21
  SPARK_EXECUTOR_NAMESPACE = "paasta-spark"
22
22
  SPARK_DRIVER_POOL = "stable"
23
- SPARK_JOB_USER = "TRON"
23
+ SPARK_TRON_JOB_USER = "TRON"
24
24
  SPARK_PROMETHEUS_SHARD = "ml-compute"
25
25
  SPARK_DNS_POD_TEMPLATE = "/nail/srv/configs/spark_dns_pod_template.yaml"
26
26
  MEM_MULTIPLIER = {"k": 1024, "m": 1024**2, "g": 1024**3, "t": 1024**4}
@@ -176,7 +176,9 @@ def inject_spark_conf_str(original_cmd: str, spark_conf_str: str) -> str:
176
176
  return original_cmd
177
177
 
178
178
 
179
- def auto_add_timeout_for_spark_job(cmd: str, timeout_job_runtime: str) -> str:
179
+ def auto_add_timeout_for_spark_job(
180
+ cmd: str, timeout_job_runtime: str, silent: bool = False
181
+ ) -> str:
180
182
  # Timeout only to be added for spark-submit commands
181
183
  # TODO: Add timeout for jobs using mrjob with spark-runner
182
184
  if "spark-submit" not in cmd:
@@ -189,16 +191,17 @@ def auto_add_timeout_for_spark_job(cmd: str, timeout_job_runtime: str) -> str:
189
191
  split_cmd = cmd.split("spark-submit")
190
192
  # split_cmd[0] will always be an empty string or end with a space
191
193
  cmd = f"{split_cmd[0]}timeout {timeout_job_runtime} spark-submit{split_cmd[1]}"
192
- log.info(
193
- PaastaColors.blue(
194
- f"NOTE: Job will exit in given time {timeout_job_runtime}. "
195
- f"Adjust timeout value using --timeout-job-timeout. "
196
- f"New Updated Command with timeout: {cmd}"
197
- ),
198
- )
194
+ if not silent:
195
+ log.info(
196
+ PaastaColors.blue(
197
+ f"NOTE: Job will exit in given time {timeout_job_runtime}. "
198
+ f"Adjust timeout value using --timeout-job-runtime. "
199
+ f"New Updated Command with timeout: {cmd}"
200
+ ),
201
+ )
199
202
  except Exception as e:
200
203
  err_msg = (
201
- f"'timeout' could not be added to command: '{cmd}' due to error '{e}'. "
204
+ f"'timeout' could not be added to spark command: '{cmd}' due to error '{e}'. "
202
205
  "Please report to #spark."
203
206
  )
204
207
  log.warn(err_msg)
@@ -211,9 +214,12 @@ def build_spark_command(
211
214
  spark_config_dict: Dict[str, Any],
212
215
  is_mrjob: bool,
213
216
  timeout_job_runtime: str,
217
+ silent: bool = False,
214
218
  ) -> str:
215
- command = f"{inject_spark_conf_str(original_cmd, create_spark_config_str(spark_config_dict, is_mrjob=is_mrjob))}"
216
- return auto_add_timeout_for_spark_job(command, timeout_job_runtime)
219
+ command = inject_spark_conf_str(
220
+ original_cmd, create_spark_config_str(spark_config_dict, is_mrjob=is_mrjob)
221
+ )
222
+ return auto_add_timeout_for_spark_job(command, timeout_job_runtime, silent=silent)
217
223
 
218
224
 
219
225
  def get_spark_ports_from_config(spark_conf: Dict[str, str]) -> List[int]:
@@ -238,6 +244,7 @@ def get_spark_driver_monitoring_annotations(
238
244
 
239
245
  def get_spark_driver_monitoring_labels(
240
246
  spark_config: Dict[str, str],
247
+ user: str,
241
248
  ) -> Dict[str, str]:
242
249
  """
243
250
  Returns Spark driver pod labels - generally for Prometheus metric relabeling.
@@ -245,7 +252,7 @@ def get_spark_driver_monitoring_labels(
245
252
  ui_port_str = str(spark_config.get("spark.ui.port", ""))
246
253
  labels = {
247
254
  "paasta.yelp.com/prometheus_shard": SPARK_PROMETHEUS_SHARD,
248
- "spark.yelp.com/user": SPARK_JOB_USER,
255
+ "spark.yelp.com/user": user,
249
256
  "spark.yelp.com/driver_ui_port": ui_port_str,
250
257
  }
251
258
  return labels
@@ -347,7 +347,7 @@ class TronActionConfig(InstanceConfig):
347
347
 
348
348
  docker_img_url = self.get_docker_url(system_paasta_config)
349
349
 
350
- spark_conf_builder = SparkConfBuilder()
350
+ spark_conf_builder = SparkConfBuilder(is_driver_on_k8s_tron=True)
351
351
  spark_conf = spark_conf_builder.get_spark_conf(
352
352
  cluster_manager="kubernetes",
353
353
  spark_app_base_name=spark_app_name,
@@ -366,7 +366,7 @@ class TronActionConfig(InstanceConfig):
366
366
  force_spark_resource_configs=self.config_dict.get(
367
367
  "force_spark_resource_configs", False
368
368
  ),
369
- user=spark_tools.SPARK_JOB_USER,
369
+ user=spark_tools.SPARK_TRON_JOB_USER,
370
370
  )
371
371
  # delete the dynamically generated spark.app.id to prevent frequent config updates in Tron.
372
372
  # spark.app.id will be generated later by yelp spark-submit wrapper or Spark itself.
@@ -380,16 +380,17 @@ class TronActionConfig(InstanceConfig):
380
380
  if "spark.app.name" not in stringified_spark_args
381
381
  else stringified_spark_args["spark.app.name"]
382
382
  )
383
- # TODO: Remove this once dynamic pod template is generated inside the driver using spark-submit wrapper
383
+
384
+ # TODO(MLCOMPUTE-1220): Remove this once dynamic pod template is generated inside the driver using spark-submit wrapper
384
385
  if "spark.kubernetes.executor.podTemplateFile" in spark_conf:
385
- print(
386
+ log.info(
386
387
  f"Replacing spark.kubernetes.executor.podTemplateFile="
387
388
  f"{spark_conf['spark.kubernetes.executor.podTemplateFile']} with "
388
389
  f"spark.kubernetes.executor.podTemplateFile={spark_tools.SPARK_DNS_POD_TEMPLATE}"
389
390
  )
390
- spark_conf[
391
- "spark.kubernetes.executor.podTemplateFile"
392
- ] = spark_tools.SPARK_DNS_POD_TEMPLATE
391
+ spark_conf[
392
+ "spark.kubernetes.executor.podTemplateFile"
393
+ ] = spark_tools.SPARK_DNS_POD_TEMPLATE
393
394
 
394
395
  spark_conf.update(
395
396
  {
@@ -1044,6 +1045,7 @@ def format_tron_action_dict(action_config: TronActionConfig):
1044
1045
  action_config.config_dict.get(
1045
1046
  "max_runtime", spark_tools.DEFAULT_SPARK_RUNTIME_TIMEOUT
1046
1047
  ),
1048
+ silent=True,
1047
1049
  )
1048
1050
  # point to the KUBECONFIG needed by Spark driver
1049
1051
  result["env"]["KUBECONFIG"] = system_paasta_config.get_spark_kubeconfig()
@@ -1074,7 +1076,8 @@ def format_tron_action_dict(action_config: TronActionConfig):
1074
1076
  )
1075
1077
  )
1076
1078
  monitoring_labels = spark_tools.get_spark_driver_monitoring_labels(
1077
- action_config.action_spark_config
1079
+ action_config.action_spark_config,
1080
+ user=spark_tools.SPARK_TRON_JOB_USER,
1078
1081
  )
1079
1082
  result["annotations"].update(monitoring_annotations)
1080
1083
  result["labels"].update(monitoring_labels)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.6.4
3
+ Version: 1.7.0
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
File without changes
File without changes