paasta-tools 1.21.2__tar.gz → 1.21.4__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 (357) hide show
  1. paasta_tools-1.21.4/PKG-INFO +73 -0
  2. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/README.md +1 -1
  3. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/__init__.py +1 -1
  4. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/authentication.py +6 -39
  5. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/logs.py +7 -7
  6. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/service_schema.json +4 -1
  7. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/utils.py +5 -1
  8. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/generate_deployments_for_service.py +4 -0
  9. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/setup_istio_mesh.py +1 -1
  10. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/smartstack_tools.py +2 -2
  11. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/spark_tools.py +2 -2
  12. paasta_tools-1.21.4/paasta_tools.egg-info/PKG-INFO +73 -0
  13. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools.egg-info/SOURCES.txt +52 -1
  14. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools.egg-info/entry_points.txt +0 -1
  15. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools.egg-info/requires.txt +1 -1
  16. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/requirements-minimal.txt +1 -1
  17. paasta_tools-1.21.4/tests/test_adhoc_tools.py +66 -0
  18. paasta_tools-1.21.4/tests/test_apply_external_resources.py +159 -0
  19. paasta_tools-1.21.4/tests/test_async_utils.py +201 -0
  20. paasta_tools-1.21.4/tests/test_bounce_lib.py +524 -0
  21. paasta_tools-1.21.4/tests/test_check_flink_services_health.py +287 -0
  22. paasta_tools-1.21.4/tests/test_check_kubernetes_services_replication.py +151 -0
  23. paasta_tools-1.21.4/tests/test_check_oom_events.py +194 -0
  24. paasta_tools-1.21.4/tests/test_check_service_replication_tools.py +112 -0
  25. paasta_tools-1.21.4/tests/test_check_spark_jobs.py +208 -0
  26. paasta_tools-1.21.4/tests/test_cleanup_kubernetes_jobs.py +626 -0
  27. paasta_tools-1.21.4/tests/test_config_utils.py +385 -0
  28. paasta_tools-1.21.4/tests/test_delete_kubernetes_deployments.py +59 -0
  29. paasta_tools-1.21.4/tests/test_deployment_utils.py +75 -0
  30. paasta_tools-1.21.4/tests/test_docker_wrapper.py +489 -0
  31. paasta_tools-1.21.4/tests/test_drain_lib.py +203 -0
  32. paasta_tools-1.21.4/tests/test_eks_tools.py +79 -0
  33. paasta_tools-1.21.4/tests/test_envoy_tools.py +441 -0
  34. paasta_tools-1.21.4/tests/test_firewall.py +657 -0
  35. paasta_tools-1.21.4/tests/test_firewall_logging.py +149 -0
  36. paasta_tools-1.21.4/tests/test_firewall_update.py +294 -0
  37. paasta_tools-1.21.4/tests/test_flink_tools.py +246 -0
  38. paasta_tools-1.21.4/tests/test_flinkeks_tools.py +43 -0
  39. paasta_tools-1.21.4/tests/test_generate_authenticating_services.py +115 -0
  40. paasta_tools-1.21.4/tests/test_generate_deployments_for_service.py +240 -0
  41. paasta_tools-1.21.4/tests/test_generate_services_file.py +102 -0
  42. paasta_tools-1.21.4/tests/test_generate_services_yaml.py +58 -0
  43. paasta_tools-1.21.4/tests/test_hacheck.py +61 -0
  44. paasta_tools-1.21.4/tests/test_iptables.py +357 -0
  45. paasta_tools-1.21.4/tests/test_kubernetes_tools.py +5253 -0
  46. paasta_tools-1.21.4/tests/test_list_kubernetes_service_instances.py +61 -0
  47. paasta_tools-1.21.4/tests/test_long_running_service_tools.py +473 -0
  48. paasta_tools-1.21.4/tests/test_mac_address.py +82 -0
  49. paasta_tools-1.21.4/tests/test_mesos_tools.py +945 -0
  50. paasta_tools-1.21.4/tests/test_monitoring_tools.py +1217 -0
  51. paasta_tools-1.21.4/tests/test_nrtsearchserviceseks_tools.py +50 -0
  52. paasta_tools-1.21.4/tests/test_oom_logger.py +527 -0
  53. paasta_tools-1.21.4/tests/test_paasta_execute_docker_command.py +220 -0
  54. paasta_tools-1.21.4/tests/test_paasta_service_config_loader.py +336 -0
  55. paasta_tools-1.21.4/tests/test_puppet_service_tools.py +42 -0
  56. paasta_tools-1.21.4/tests/test_remote_git.py +146 -0
  57. paasta_tools-1.21.4/tests/test_secret_tools.py +342 -0
  58. paasta_tools-1.21.4/tests/test_setup_istio_mesh.py +97 -0
  59. paasta_tools-1.21.4/tests/test_setup_kubernetes_cr.py +501 -0
  60. paasta_tools-1.21.4/tests/test_setup_kubernetes_job.py +928 -0
  61. paasta_tools-1.21.4/tests/test_setup_prometheus_adapter_config.py +367 -0
  62. paasta_tools-1.21.4/tests/test_slack.py +39 -0
  63. paasta_tools-1.21.4/tests/test_smartstack_tools.py +437 -0
  64. paasta_tools-1.21.4/tests/test_spark_tools.py +181 -0
  65. paasta_tools-1.21.4/tests/test_task_processing.py +21 -0
  66. paasta_tools-1.21.4/tests/test_tron_tools.py +2211 -0
  67. paasta_tools-1.21.4/tests/test_utils.py +2969 -0
  68. paasta-tools-1.21.2/PKG-INFO +0 -12
  69. paasta-tools-1.21.2/paasta_tools.egg-info/PKG-INFO +0 -12
  70. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/LICENSE +0 -0
  71. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/MANIFEST.in +0 -0
  72. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/k8s_itests/__init__.py +0 -0
  73. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/k8s_itests/test_autoscaling.py +0 -0
  74. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/k8s_itests/utils.py +0 -0
  75. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/adhoc_tools.py +0 -0
  76. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/__init__.py +0 -0
  77. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/api.py +0 -0
  78. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/api_docs/swagger.json +0 -0
  79. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/client.py +0 -0
  80. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/settings.py +0 -0
  81. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/tweens/__init__.py +0 -0
  82. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/tweens/auth.py +0 -0
  83. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/tweens/profiling.py +0 -0
  84. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/tweens/request_logger.py +0 -0
  85. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/__init__.py +0 -0
  86. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/autoscaler.py +0 -0
  87. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/exception.py +0 -0
  88. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/flink.py +0 -0
  89. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/instance.py +0 -0
  90. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  91. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/remote_run.py +0 -0
  92. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/resources.py +0 -0
  93. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/service.py +0 -0
  94. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/api/views/version.py +0 -0
  95. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/apply_external_resources.py +0 -0
  96. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/async_utils.py +0 -0
  97. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/autoscaling/__init__.py +0 -0
  98. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  99. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/autoscaling/forecasting.py +0 -0
  100. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  101. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  102. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/autoscaling/utils.py +0 -0
  103. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/bounce_lib.py +0 -0
  104. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/broadcast_log_to_services.py +0 -0
  105. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cassandracluster_tools.py +0 -0
  106. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  107. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  108. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/check_flink_services_health.py +0 -0
  109. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/check_kubernetes_api.py +0 -0
  110. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  111. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/check_oom_events.py +0 -0
  112. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/check_services_replication_tools.py +0 -0
  113. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/check_spark_jobs.py +0 -0
  114. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  115. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  116. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  117. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  118. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/__init__.py +0 -0
  119. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cli.py +0 -0
  120. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/__init__.py +0 -0
  121. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/autoscale.py +0 -0
  122. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/check.py +0 -0
  123. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/cook_image.py +0 -0
  124. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  125. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  126. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  127. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/info.py +0 -0
  128. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/itest.py +0 -0
  129. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/list.py +0 -0
  130. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  131. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  132. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
  133. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/local_run.py +0 -0
  134. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  135. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  136. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  137. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  138. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/remote_run.py +0 -0
  139. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/rollback.py +0 -0
  140. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/secret.py +0 -0
  141. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/security_check.py +0 -0
  142. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/spark_run.py +0 -0
  143. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  144. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/status.py +0 -0
  145. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/validate.py +0 -0
  146. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  147. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm/__init__.py +0 -0
  148. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  149. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm/template/README.md +0 -0
  150. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  151. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  152. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  153. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  154. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  155. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/fsm_cmd.py +0 -0
  156. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  157. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  158. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  159. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  160. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  161. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  162. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  163. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  164. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  165. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  166. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  167. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/clusterman.py +0 -0
  168. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/config_utils.py +0 -0
  169. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/__init__.py +0 -0
  170. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  171. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  172. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/check_orphans.py +0 -0
  173. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  174. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  175. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  176. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  177. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/habitat_fixer.py +0 -0
  178. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/ide_helper.py +0 -0
  179. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  180. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  181. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  182. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  183. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  184. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  185. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/render_template.py +0 -0
  186. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  187. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/service_shard_remove.py +0 -0
  188. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/service_shard_update.py +0 -0
  189. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/shared_ip_check.py +0 -0
  190. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  191. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  192. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/deployment_utils.py +0 -0
  193. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/docker_wrapper.py +0 -0
  194. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/docker_wrapper_imports.py +0 -0
  195. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/drain_lib.py +0 -0
  196. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/dump_locally_running_services.py +0 -0
  197. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/eks_tools.py +0 -0
  198. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/envoy_tools.py +0 -0
  199. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/firewall.py +0 -0
  200. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/firewall_logging.py +0 -0
  201. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/firewall_update.py +0 -0
  202. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/flink_tools.py +0 -0
  203. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/flinkeks_tools.py +0 -0
  204. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/frameworks/__init__.py +0 -0
  205. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
  206. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/frameworks/constraints.py +0 -0
  207. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/frameworks/native_scheduler.py +0 -0
  208. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/frameworks/native_service_config.py +0 -0
  209. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/frameworks/task_store.py +0 -0
  210. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/generate_all_deployments +0 -0
  211. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/generate_authenticating_services.py +0 -0
  212. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/generate_services_file.py +0 -0
  213. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/generate_services_yaml.py +0 -0
  214. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/hacheck.py +0 -0
  215. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/instance/__init__.py +0 -0
  216. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  217. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/instance/kubernetes.py +0 -0
  218. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/iptables.py +0 -0
  219. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kafkacluster_tools.py +0 -0
  220. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/__init__.py +0 -0
  221. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/application/__init__.py +0 -0
  222. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  223. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/application/tools.py +0 -0
  224. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  225. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  226. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
  227. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  228. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  229. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes/remote_run.py +0 -0
  230. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/kubernetes_tools.py +0 -0
  231. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  232. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/list_tron_namespaces.py +0 -0
  233. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/long_running_service_tools.py +0 -0
  234. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mac_address.py +0 -0
  235. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/marathon_dashboard.py +0 -0
  236. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/__init__.py +0 -0
  237. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/cfg.py +0 -0
  238. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/cluster.py +0 -0
  239. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/exceptions.py +0 -0
  240. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/framework.py +0 -0
  241. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/log.py +0 -0
  242. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/master.py +0 -0
  243. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/mesos_file.py +0 -0
  244. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/parallel.py +0 -0
  245. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/slave.py +0 -0
  246. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/task.py +0 -0
  247. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/util.py +0 -0
  248. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos/zookeeper.py +0 -0
  249. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos_maintenance.py +0 -0
  250. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/mesos_tools.py +0 -0
  251. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/metrics/__init__.py +0 -0
  252. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/metrics/metastatus_lib.py +0 -0
  253. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/metrics/metrics_lib.py +0 -0
  254. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/monitoring/__init__.py +0 -0
  255. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  256. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/monitoring_tools.py +0 -0
  257. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/monkrelaycluster_tools.py +0 -0
  258. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/nrtsearchservice_tools.py +0 -0
  259. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  260. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/oom_logger.py +0 -0
  261. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  262. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paasta_execute_docker_command.py +0 -0
  263. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paasta_native_serviceinit.py +0 -0
  264. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paasta_service_config_loader.py +0 -0
  265. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/__init__.py +0 -0
  266. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/api/__init__.py +0 -0
  267. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  268. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/api/default_api.py +0 -0
  269. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
  270. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  271. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/api/service_api.py +0 -0
  272. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/api_client.py +0 -0
  273. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  274. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/configuration.py +0 -0
  275. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/exceptions.py +0 -0
  276. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/__init__.py +0 -0
  277. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  278. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  279. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  280. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  281. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  282. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  283. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  284. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  285. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  286. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  287. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  288. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  289. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  290. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  291. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  292. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  293. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  294. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  295. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  296. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  297. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  298. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  299. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  300. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  301. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  302. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  303. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  304. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  305. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  306. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  307. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  308. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  309. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  310. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  311. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  312. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  313. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  314. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  315. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
  316. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
  317. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
  318. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
  319. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/resource.py +0 -0
  320. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  321. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  322. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  323. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  324. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  325. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  326. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/model_utils.py +0 -0
  327. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/models/__init__.py +0 -0
  328. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/paastaapi/rest.py +0 -0
  329. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/prune_completed_pods.py +0 -0
  330. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/puppet_service_tools.py +0 -0
  331. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/py.typed +0 -0
  332. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/remote_git.py +0 -0
  333. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  334. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/run-paasta-api-playground.py +0 -0
  335. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/secret_providers/__init__.py +0 -0
  336. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/secret_providers/vault.py +0 -0
  337. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/secret_tools.py +0 -0
  338. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/setup_kubernetes_cr.py +0 -0
  339. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/setup_kubernetes_crd.py +0 -0
  340. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  341. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/setup_kubernetes_job.py +0 -0
  342. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  343. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/setup_tron_namespace.py +0 -0
  344. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/slack.py +0 -0
  345. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  346. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/tron/__init__.py +0 -0
  347. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/tron/client.py +0 -0
  348. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/tron/tron_command_context.py +0 -0
  349. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/tron/tron_timeutils.py +0 -0
  350. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/tron_tools.py +0 -0
  351. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/utils.py +0 -0
  352. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools/yaml_tools.py +0 -0
  353. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools.egg-info/dependency_links.txt +0 -0
  354. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/paasta_tools.egg-info/top_level.txt +0 -0
  355. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/pyproject.toml +0 -0
  356. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/setup.cfg +0 -0
  357. {paasta-tools-1.21.2 → paasta_tools-1.21.4}/setup.py +0 -0
@@ -0,0 +1,73 @@
1
+ Metadata-Version: 2.1
2
+ Name: paasta-tools
3
+ Version: 1.21.4
4
+ Summary: Tools for Yelps SOA infrastructure
5
+ Author: Compute Infrastructure @ Yelp
6
+ Author-email: compute-infra@yelp.com
7
+ Provides: paasta_tools
8
+ Requires-Python: >=3.8.0
9
+ License-File: LICENSE
10
+ Requires-Dist: a-sync>=0.5.0
11
+ Requires-Dist: aiohttp>=3.5.4
12
+ Requires-Dist: argcomplete>=0.8.1
13
+ Requires-Dist: boto
14
+ Requires-Dist: boto3
15
+ Requires-Dist: boto3-type-annotations
16
+ Requires-Dist: botocore
17
+ Requires-Dist: bravado>=10.2.0
18
+ Requires-Dist: certifi
19
+ Requires-Dist: choice>=0.1
20
+ Requires-Dist: containerd
21
+ Requires-Dist: cookiecutter>=1.4.0
22
+ Requires-Dist: croniter
23
+ Requires-Dist: docker
24
+ Requires-Dist: dulwich>=0.17.3
25
+ Requires-Dist: ephemeral-port-reserve>=1.0.1
26
+ Requires-Dist: graphviz
27
+ Requires-Dist: grpcio
28
+ Requires-Dist: gunicorn
29
+ Requires-Dist: humanfriendly
30
+ Requires-Dist: humanize>=0.5.1
31
+ Requires-Dist: inotify>=0.2.8
32
+ Requires-Dist: ipaddress>=1.0.22
33
+ Requires-Dist: isodate>=0.7.2
34
+ Requires-Dist: jsonschema[format]
35
+ Requires-Dist: kazoo>=2.0.0
36
+ Requires-Dist: kubernetes<26.0.0,>=18.20.0
37
+ Requires-Dist: ldap3
38
+ Requires-Dist: manhole
39
+ Requires-Dist: mypy-extensions>=0.3.0
40
+ Requires-Dist: nats-py
41
+ Requires-Dist: nulltype
42
+ Requires-Dist: objgraph
43
+ Requires-Dist: ply
44
+ Requires-Dist: progressbar2>=3.10.0
45
+ Requires-Dist: prometheus-client
46
+ Requires-Dist: pymesos>=0.2.0
47
+ Requires-Dist: pyramid>=1.8
48
+ Requires-Dist: pyramid-swagger>=2.3.0
49
+ Requires-Dist: pysensu-yelp>=0.3.4
50
+ Requires-Dist: PyStaticConfiguration
51
+ Requires-Dist: python-crontab>=2.1.1
52
+ Requires-Dist: python-dateutil>=2.4.0
53
+ Requires-Dist: python-iptables
54
+ Requires-Dist: pytimeparse>=1.1.0
55
+ Requires-Dist: pytz>=2014.10
56
+ Requires-Dist: requests<2.32.0,>=2.18.4
57
+ Requires-Dist: requests-cache>=0.4.10
58
+ Requires-Dist: retry
59
+ Requires-Dist: ruamel.yaml
60
+ Requires-Dist: sensu-plugin
61
+ Requires-Dist: service-configuration-lib>=3.3.2
62
+ Requires-Dist: signalfx
63
+ Requires-Dist: slackclient>=1.2.1
64
+ Requires-Dist: sticht>=1.1.0
65
+ Requires-Dist: syslogmp
66
+ Requires-Dist: task-processing
67
+ Requires-Dist: thriftpy2
68
+ Requires-Dist: transitions
69
+ Requires-Dist: typing-extensions
70
+ Requires-Dist: tzlocal
71
+ Requires-Dist: urllib3
72
+ Requires-Dist: utaw>=0.2.0
73
+ Requires-Dist: wsgicors
@@ -44,7 +44,7 @@ is a heavily customised version of SmartStack and Envoy, allows many systems at
44
44
  to communicate with PaaSTA services and each other.
45
45
 
46
46
  On the other hand, requiring lots of components, means lots of infrastructure to
47
- setup before PaaSTA can work effectively! Realistacally, running PaaSTA outside of Yelp
47
+ setup before PaaSTA can work effectively! Realistically, running PaaSTA outside of Yelp
48
48
  would not be sensible, because in addition to the integrations mentioned above we also
49
49
  have strong opinions encoded in other tooling that you would need to replicate. Nevertheless,
50
50
  we code PaaSTA in the open because we think it is useful to share our approach and hope that
@@ -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.21.2"
20
+ __version__ = "1.21.4"
@@ -12,63 +12,30 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  from functools import lru_cache
15
-
16
- from botocore.credentials import InstanceMetadataFetcher
17
- from botocore.credentials import InstanceMetadataProvider
15
+ from typing import Optional
18
16
 
19
17
  from paasta_tools.utils import load_system_paasta_config
20
18
 
21
19
 
22
20
  try:
23
- from vault_tools.paasta_secret import get_client as get_vault_client
24
- from vault_tools.paasta_secret import get_vault_url
25
- from vault_tools.paasta_secret import get_vault_ca
21
+ from vault_tools.oidc import get_instance_oidc_identity_token
26
22
  from okta_auth import get_and_cache_jwt_default
27
23
  except ImportError:
28
24
 
29
- def get_vault_client(url: str, capath: str) -> None:
30
- pass
31
-
32
- def get_vault_url(ecosystem: str) -> str:
33
- return ""
34
-
35
- def get_vault_ca(ecosystem: str) -> str:
25
+ def get_instance_oidc_identity_token(
26
+ role: str, ecosystem: Optional[str] = None
27
+ ) -> str:
36
28
  return ""
37
29
 
38
30
  def get_and_cache_jwt_default(client_id: str) -> str:
39
31
  return ""
40
32
 
41
33
 
42
- def get_current_ecosystem() -> str:
43
- """Get current ecosystem from host configs, defaults to dev if no config is found"""
44
- try:
45
- with open("/nail/etc/ecosystem") as f:
46
- return f.read().strip()
47
- except IOError:
48
- pass
49
- return "devc"
50
-
51
-
52
34
  @lru_cache(maxsize=1)
53
35
  def get_service_auth_token() -> str:
54
36
  """Uses instance profile to authenticate with Vault and generate token for service authentication"""
55
- ecosystem = get_current_ecosystem()
56
- vault_client = get_vault_client(get_vault_url(ecosystem), get_vault_ca(ecosystem))
57
37
  vault_role = load_system_paasta_config().get_service_auth_vault_role()
58
- metadata_provider = InstanceMetadataProvider(
59
- iam_role_fetcher=InstanceMetadataFetcher(),
60
- )
61
- instance_credentials = metadata_provider.load().get_frozen_credentials()
62
- vault_client.auth.aws.iam_login(
63
- instance_credentials.access_key,
64
- instance_credentials.secret_key,
65
- instance_credentials.token,
66
- mount_point="aws-iam",
67
- role=vault_role,
68
- use_token=True,
69
- )
70
- response = vault_client.secrets.identity.generate_signed_id_token(name=vault_role)
71
- return response["data"]["token"]
38
+ return get_instance_oidc_identity_token(vault_role)
72
39
 
73
40
 
74
41
  def get_sso_auth_token(paasta_apis: bool = False) -> str:
@@ -178,7 +178,7 @@ def add_subparser(subparsers) -> None:
178
178
  help=(
179
179
  "The time to get logs up to. "
180
180
  'This can be an ISO-8601 timestamp or a human readable duration parsable by pytimeparse such as "5m", "1d3h" etc. '
181
- "Incompatiable with --line-offset and --lines. "
181
+ "Incompatible with --line-offset and --lines. "
182
182
  "Defaults to now."
183
183
  ),
184
184
  )
@@ -190,7 +190,7 @@ def add_subparser(subparsers) -> None:
190
190
  help=(
191
191
  "The number of lines to retrieve from the specified offset. "
192
192
  'May optionally be prefixed with a "+" or "-" to specify which direction from the offset. '
193
- "Incompatiable with --from and --to. "
193
+ "Incompatible with --from and --to. "
194
194
  'Defaults to "-100".'
195
195
  ),
196
196
  type=int,
@@ -204,7 +204,7 @@ def add_subparser(subparsers) -> None:
204
204
  "For example, --line-offset 1 would be the first line. "
205
205
  "Paired with --lines, --line-offset +100 would give you the first 100 lines of logs. "
206
206
  "Some logging backends may not support line offsetting by time or lines. "
207
- "Incompatiable with --from and --to. "
207
+ "Incompatible with --from and --to. "
208
208
  "Defaults to the latest line's offset."
209
209
  ),
210
210
  type=int,
@@ -804,7 +804,7 @@ class ScribeLogReader(LogReader):
804
804
  # sure all the tailers are still running.
805
805
  running_processes = [tt.is_alive() for tt in spawned_processes]
806
806
  if not running_processes or not all(running_processes):
807
- log.warn(
807
+ log.warning(
808
808
  "Quitting because I expected %d log tailers to be alive but only %d are alive."
809
809
  % (len(spawned_processes), running_processes.count(True))
810
810
  )
@@ -819,12 +819,12 @@ class ScribeLogReader(LogReader):
819
819
  # This extra nested catch is because it's pretty easy to be in
820
820
  # the above try block when the user hits Ctrl-C which otherwise
821
821
  # dumps a stack trace.
822
- log.warn("Terminating.")
822
+ log.warning("Terminating.")
823
823
  break
824
824
  except KeyboardInterrupt:
825
825
  # Die peacefully rather than printing N threads worth of stack
826
826
  # traces.
827
- log.warn("Terminating.")
827
+ log.warning("Terminating.")
828
828
  break
829
829
 
830
830
  def print_logs_by_time(
@@ -1019,7 +1019,7 @@ class ScribeLogReader(LogReader):
1019
1019
  tzinfo=pytz.utc
1020
1020
  ) - datetime.timedelta(hours=4)
1021
1021
  if end_time > warning_end_time:
1022
- log.warn("Recent logs might be incomplete. Consider tailing instead.")
1022
+ log.warning("Recent logs might be incomplete. Consider tailing instead.")
1023
1023
 
1024
1024
  # scribereader, sadly, is not based on UTC timestamps. It uses YST
1025
1025
  # dates instead.
@@ -10,7 +10,10 @@
10
10
  "type": "string"
11
11
  },
12
12
  "git_url": {
13
- "type": "string",
13
+ "type": [
14
+ "string",
15
+ "null"
16
+ ],
14
17
  "pattern": "^git@github.yelpcorp.com:[-a-z]+/[-_a-z0-9]+(\\.git)?$",
15
18
  "$comment": "this is obviously very tied to how we name repos at Yelp"
16
19
  },
@@ -1097,7 +1097,9 @@ def get_paasta_oapi_client_with_auth(
1097
1097
  )
1098
1098
 
1099
1099
 
1100
- def run_interactive_cli(cmd: str, shell: str = "bash", term: str = "xterm-256color"):
1100
+ def run_interactive_cli(
1101
+ cmd: str, shell: str = "/bin/bash", term: str = "xterm-256color"
1102
+ ):
1101
1103
  """Runs interactive command in a pseudo terminal, handling terminal size management
1102
1104
 
1103
1105
  :param str cmd: shell command
@@ -1105,6 +1107,8 @@ def run_interactive_cli(cmd: str, shell: str = "bash", term: str = "xterm-256col
1105
1107
  :param str term: terminal type
1106
1108
  """
1107
1109
  cols, rows = shutil.get_terminal_size()
1110
+ if not os.path.isabs(shell):
1111
+ shell = shutil.which(shell)
1108
1112
  wrapped_cmd = (
1109
1113
  f"export SHELL={shell};"
1110
1114
  f"export TERM={term};"
@@ -130,6 +130,10 @@ def get_deploy_group_mappings(
130
130
  v2_mappings: V2_Mappings = {"deployments": {}, "controls": {}}
131
131
  git_url = get_git_url(service=service, soa_dir=soa_dir)
132
132
 
133
+ # Some pseudo-services like toolboxes explicitly have no git_url, and therefore no deployments
134
+ if git_url is None:
135
+ return mappings, v2_mappings
136
+
133
137
  # Most of the time of this function is in two parts:
134
138
  # 1. getting remote refs from git. (Mostly IO, just waiting for git to get back to us.)
135
139
  # 2. loading instance configs. (Mostly CPU, copy.deepcopying yaml over and over again)
@@ -103,7 +103,7 @@ def load_smartstack_namespaces(soa_dir: str = DEFAULT_SOA_DIR) -> Mapping:
103
103
  for (ns, details) in svc_namespaces.items():
104
104
  namespaces[f"{dir}.{ns}"] = details
105
105
  except Exception as err:
106
- log.warn(f"Failed to load namespaces for {dir}: {err}")
106
+ log.warning(f"Failed to load namespaces for {dir}: {err}")
107
107
 
108
108
  return namespaces
109
109
 
@@ -473,7 +473,7 @@ def get_service_discovery_providers(
473
473
  elif name == "envoy":
474
474
  providers.append(EnvoyServiceDiscovery(system_paasta_config))
475
475
  else:
476
- log.warn("unknown provider")
476
+ log.warning("unknown provider")
477
477
  return providers
478
478
 
479
479
 
@@ -530,7 +530,7 @@ class BaseReplicationChecker(ReplicationChecker):
530
530
  )
531
531
  break
532
532
  except Exception as e:
533
- log.warn(
533
+ log.warning(
534
534
  f"Error while getting replication info for {location} from {hostname}: {e}"
535
535
  )
536
536
  if hostname == hostnames[-1]:
@@ -133,7 +133,7 @@ def setup_volume_mounts(volumes: List[DockerVolume]) -> Dict[str, str]:
133
133
  )
134
134
 
135
135
  if host_path in seen_paths:
136
- log.warn(f"Skipping {host_path} - already added a binding for it.")
136
+ log.warning(f"Skipping {host_path} - already added a binding for it.")
137
137
  continue
138
138
  seen_paths.add(host_path)
139
139
 
@@ -209,7 +209,7 @@ def auto_add_timeout_for_spark_job(
209
209
  f"'timeout' could not be added to spark command: '{cmd}' due to error '{e}'. "
210
210
  "Please report to #spark."
211
211
  )
212
- log.warn(err_msg)
212
+ log.warning(err_msg)
213
213
  print(PaastaColors.red(err_msg))
214
214
  return cmd
215
215
 
@@ -0,0 +1,73 @@
1
+ Metadata-Version: 2.1
2
+ Name: paasta-tools
3
+ Version: 1.21.4
4
+ Summary: Tools for Yelps SOA infrastructure
5
+ Author: Compute Infrastructure @ Yelp
6
+ Author-email: compute-infra@yelp.com
7
+ Provides: paasta_tools
8
+ Requires-Python: >=3.8.0
9
+ License-File: LICENSE
10
+ Requires-Dist: a-sync>=0.5.0
11
+ Requires-Dist: aiohttp>=3.5.4
12
+ Requires-Dist: argcomplete>=0.8.1
13
+ Requires-Dist: boto
14
+ Requires-Dist: boto3
15
+ Requires-Dist: boto3-type-annotations
16
+ Requires-Dist: botocore
17
+ Requires-Dist: bravado>=10.2.0
18
+ Requires-Dist: certifi
19
+ Requires-Dist: choice>=0.1
20
+ Requires-Dist: containerd
21
+ Requires-Dist: cookiecutter>=1.4.0
22
+ Requires-Dist: croniter
23
+ Requires-Dist: docker
24
+ Requires-Dist: dulwich>=0.17.3
25
+ Requires-Dist: ephemeral-port-reserve>=1.0.1
26
+ Requires-Dist: graphviz
27
+ Requires-Dist: grpcio
28
+ Requires-Dist: gunicorn
29
+ Requires-Dist: humanfriendly
30
+ Requires-Dist: humanize>=0.5.1
31
+ Requires-Dist: inotify>=0.2.8
32
+ Requires-Dist: ipaddress>=1.0.22
33
+ Requires-Dist: isodate>=0.7.2
34
+ Requires-Dist: jsonschema[format]
35
+ Requires-Dist: kazoo>=2.0.0
36
+ Requires-Dist: kubernetes<26.0.0,>=18.20.0
37
+ Requires-Dist: ldap3
38
+ Requires-Dist: manhole
39
+ Requires-Dist: mypy-extensions>=0.3.0
40
+ Requires-Dist: nats-py
41
+ Requires-Dist: nulltype
42
+ Requires-Dist: objgraph
43
+ Requires-Dist: ply
44
+ Requires-Dist: progressbar2>=3.10.0
45
+ Requires-Dist: prometheus-client
46
+ Requires-Dist: pymesos>=0.2.0
47
+ Requires-Dist: pyramid>=1.8
48
+ Requires-Dist: pyramid-swagger>=2.3.0
49
+ Requires-Dist: pysensu-yelp>=0.3.4
50
+ Requires-Dist: PyStaticConfiguration
51
+ Requires-Dist: python-crontab>=2.1.1
52
+ Requires-Dist: python-dateutil>=2.4.0
53
+ Requires-Dist: python-iptables
54
+ Requires-Dist: pytimeparse>=1.1.0
55
+ Requires-Dist: pytz>=2014.10
56
+ Requires-Dist: requests<2.32.0,>=2.18.4
57
+ Requires-Dist: requests-cache>=0.4.10
58
+ Requires-Dist: retry
59
+ Requires-Dist: ruamel.yaml
60
+ Requires-Dist: sensu-plugin
61
+ Requires-Dist: service-configuration-lib>=3.3.2
62
+ Requires-Dist: signalfx
63
+ Requires-Dist: slackclient>=1.2.1
64
+ Requires-Dist: sticht>=1.1.0
65
+ Requires-Dist: syslogmp
66
+ Requires-Dist: task-processing
67
+ Requires-Dist: thriftpy2
68
+ Requires-Dist: transitions
69
+ Requires-Dist: typing-extensions
70
+ Requires-Dist: tzlocal
71
+ Requires-Dist: urllib3
72
+ Requires-Dist: utaw>=0.2.0
73
+ Requires-Dist: wsgicors
@@ -299,4 +299,55 @@ paasta_tools/secret_providers/vault.py
299
299
  paasta_tools/tron/__init__.py
300
300
  paasta_tools/tron/client.py
301
301
  paasta_tools/tron/tron_command_context.py
302
- paasta_tools/tron/tron_timeutils.py
302
+ paasta_tools/tron/tron_timeutils.py
303
+ tests/test_adhoc_tools.py
304
+ tests/test_apply_external_resources.py
305
+ tests/test_async_utils.py
306
+ tests/test_bounce_lib.py
307
+ tests/test_check_flink_services_health.py
308
+ tests/test_check_kubernetes_services_replication.py
309
+ tests/test_check_oom_events.py
310
+ tests/test_check_service_replication_tools.py
311
+ tests/test_check_spark_jobs.py
312
+ tests/test_cleanup_kubernetes_jobs.py
313
+ tests/test_config_utils.py
314
+ tests/test_delete_kubernetes_deployments.py
315
+ tests/test_deployment_utils.py
316
+ tests/test_docker_wrapper.py
317
+ tests/test_drain_lib.py
318
+ tests/test_eks_tools.py
319
+ tests/test_envoy_tools.py
320
+ tests/test_firewall.py
321
+ tests/test_firewall_logging.py
322
+ tests/test_firewall_update.py
323
+ tests/test_flink_tools.py
324
+ tests/test_flinkeks_tools.py
325
+ tests/test_generate_authenticating_services.py
326
+ tests/test_generate_deployments_for_service.py
327
+ tests/test_generate_services_file.py
328
+ tests/test_generate_services_yaml.py
329
+ tests/test_hacheck.py
330
+ tests/test_iptables.py
331
+ tests/test_kubernetes_tools.py
332
+ tests/test_list_kubernetes_service_instances.py
333
+ tests/test_long_running_service_tools.py
334
+ tests/test_mac_address.py
335
+ tests/test_mesos_tools.py
336
+ tests/test_monitoring_tools.py
337
+ tests/test_nrtsearchserviceseks_tools.py
338
+ tests/test_oom_logger.py
339
+ tests/test_paasta_execute_docker_command.py
340
+ tests/test_paasta_service_config_loader.py
341
+ tests/test_puppet_service_tools.py
342
+ tests/test_remote_git.py
343
+ tests/test_secret_tools.py
344
+ tests/test_setup_istio_mesh.py
345
+ tests/test_setup_kubernetes_cr.py
346
+ tests/test_setup_kubernetes_job.py
347
+ tests/test_setup_prometheus_adapter_config.py
348
+ tests/test_slack.py
349
+ tests/test_smartstack_tools.py
350
+ tests/test_spark_tools.py
351
+ tests/test_task_processing.py
352
+ tests/test_tron_tools.py
353
+ tests/test_utils.py
@@ -18,4 +18,3 @@ paasta_setup_tron_namespace = paasta_tools.setup_tron_namespace:main
18
18
 
19
19
  [paste.app_factory]
20
20
  paasta-api-config = paasta_tools.api.api:make_app
21
-
@@ -49,7 +49,7 @@ requests-cache>=0.4.10
49
49
  retry
50
50
  ruamel.yaml
51
51
  sensu-plugin
52
- service-configuration-lib>=3.2.0
52
+ service-configuration-lib>=3.3.2
53
53
  signalfx
54
54
  slackclient>=1.2.1
55
55
  sticht>=1.1.0
@@ -56,7 +56,7 @@ requests-cache >= 0.4.10
56
56
  retry
57
57
  ruamel.yaml
58
58
  sensu-plugin
59
- service-configuration-lib >= 3.2.0
59
+ service-configuration-lib >= 3.3.2
60
60
  signalfx
61
61
  slackclient >= 1.2.1
62
62
  sticht >= 1.1.0
@@ -0,0 +1,66 @@
1
+ # Copyright 2015-2016 Yelp Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ import mock
15
+
16
+ from paasta_tools import adhoc_tools
17
+ from paasta_tools.utils import DeploymentsJsonV2
18
+ from paasta_tools.utils import NoConfigurationForServiceError
19
+
20
+
21
+ def test_get_default_interactive_config():
22
+ with mock.patch(
23
+ "paasta_tools.adhoc_tools.load_adhoc_job_config", autospec=True
24
+ ) as mock_load_adhoc_job_config:
25
+ mock_load_adhoc_job_config.return_value = adhoc_tools.AdhocJobConfig(
26
+ service="fake_service",
27
+ instance="interactive",
28
+ cluster="fake_cluster",
29
+ config_dict={},
30
+ branch_dict={"deploy_group": "fake_deploy_group"},
31
+ )
32
+ result = adhoc_tools.get_default_interactive_config(
33
+ "fake_service", "fake_cluster", "/fake/soa/dir", load_deployments=False
34
+ )
35
+ assert result.get_cpus() == 4
36
+ assert result.get_mem() == 10240
37
+ assert result.get_disk() == 1024
38
+
39
+
40
+ def test_get_default_interactive_config_reads_from_tty():
41
+ with mock.patch(
42
+ "paasta_tools.adhoc_tools.prompt_pick_one", autospec=True
43
+ ) as mock_prompt_pick_one, mock.patch(
44
+ "paasta_tools.adhoc_tools.load_adhoc_job_config", autospec=True
45
+ ) as mock_load_adhoc_job_config, mock.patch(
46
+ "paasta_tools.adhoc_tools.load_v2_deployments_json", autospec=True
47
+ ) as mock_load_deployments_json:
48
+ mock_prompt_pick_one.return_value = "fake_deploygroup"
49
+ mock_load_adhoc_job_config.side_effect = NoConfigurationForServiceError
50
+ mock_load_deployments_json.return_value = DeploymentsJsonV2(
51
+ service="fake-service",
52
+ config_dict={
53
+ "deployments": {
54
+ "fake_deploygroup": {
55
+ "docker_image": mock.sentinel.docker_image,
56
+ "git_sha": mock.sentinel.git_sha,
57
+ }
58
+ },
59
+ "controls": {},
60
+ },
61
+ )
62
+ result = adhoc_tools.get_default_interactive_config(
63
+ "fake_service", "fake_cluster", "/fake/soa/dir", load_deployments=True
64
+ )
65
+ assert result.get_deploy_group() == "fake_deploygroup"
66
+ assert result.get_docker_image() == mock.sentinel.docker_image