paasta-tools 1.30.8__tar.gz → 1.30.10__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 (358) hide show
  1. {paasta_tools-1.30.8/paasta_tools.egg-info → paasta_tools-1.30.10}/PKG-INFO +2 -2
  2. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/__init__.py +1 -1
  3. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/instance.py +9 -2
  4. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/async_utils.py +4 -1
  5. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/bounce_lib.py +8 -5
  6. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/check_services_replication_tools.py +10 -4
  7. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/check_spark_jobs.py +1 -1
  8. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cli.py +4 -4
  9. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/logs.py +29 -7
  10. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/mark_for_deployment.py +2 -2
  11. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/mesh_status.py +1 -1
  12. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/remote_run.py +1 -1
  13. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/rollback.py +1 -1
  14. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/spark_run.py +3 -3
  15. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/status.py +24 -21
  16. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/validate.py +3 -3
  17. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/utils.py +32 -19
  18. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/check_orphans.py +1 -1
  19. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/get_running_task_allocation.py +1 -1
  20. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/instance/kubernetes.py +2 -1
  21. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes_tools.py +2 -40
  22. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/metrics/metastatus_lib.py +0 -24
  23. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/metrics/metrics_lib.py +12 -3
  24. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/setup_kubernetes_job.py +1 -1
  25. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/setup_tron_namespace.py +2 -2
  26. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/tron_tools.py +1 -1
  27. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/utils.py +2 -9
  28. {paasta_tools-1.30.8 → paasta_tools-1.30.10/paasta_tools.egg-info}/PKG-INFO +2 -2
  29. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools.egg-info/SOURCES.txt +0 -5
  30. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/setup.py +1 -1
  31. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_kubernetes_tools.py +2 -2
  32. paasta_tools-1.30.8/paasta_tools/frameworks/adhoc_scheduler.py +0 -71
  33. paasta_tools-1.30.8/paasta_tools/frameworks/native_scheduler.py +0 -652
  34. paasta_tools-1.30.8/paasta_tools/frameworks/task_store.py +0 -245
  35. paasta_tools-1.30.8/paasta_tools/mesos_maintenance.py +0 -848
  36. paasta_tools-1.30.8/paasta_tools/paasta_native_serviceinit.py +0 -21
  37. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/LICENSE +0 -0
  38. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/MANIFEST.in +0 -0
  39. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/README.md +0 -0
  40. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/k8s_itests/__init__.py +0 -0
  41. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/k8s_itests/test_autoscaling.py +0 -0
  42. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/k8s_itests/utils.py +0 -0
  43. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/adhoc_tools.py +0 -0
  44. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/__init__.py +0 -0
  45. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/api.py +0 -0
  46. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/api_docs/swagger.json +0 -0
  47. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/client.py +0 -0
  48. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/settings.py +0 -0
  49. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/tweens/__init__.py +0 -0
  50. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/tweens/auth.py +0 -0
  51. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/tweens/profiling.py +0 -0
  52. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/tweens/request_logger.py +0 -0
  53. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/__init__.py +0 -0
  54. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/autoscaler.py +0 -0
  55. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/exception.py +0 -0
  56. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/flink.py +0 -0
  57. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  58. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/remote_run.py +0 -0
  59. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/resources.py +0 -0
  60. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/service.py +0 -0
  61. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/api/views/version.py +0 -0
  62. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/apply_external_resources.py +0 -0
  63. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/autoscaling/__init__.py +0 -0
  64. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  65. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/autoscaling/forecasting.py +0 -0
  66. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  67. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  68. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/autoscaling/utils.py +0 -0
  69. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/broadcast_log_to_services.py +0 -0
  70. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cassandracluster_tools.py +0 -0
  71. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  72. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  73. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/check_flink_services_health.py +0 -0
  74. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/check_kubernetes_api.py +0 -0
  75. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  76. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/check_oom_events.py +0 -0
  77. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cleanup_expired_autoscaling_overrides.py +0 -0
  78. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  79. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  80. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  81. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  82. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/__init__.py +0 -0
  83. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/authentication.py +0 -0
  84. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/__init__.py +0 -0
  85. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/autoscale.py +0 -0
  86. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/check.py +0 -0
  87. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/cook_image.py +0 -0
  88. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  89. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  90. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  91. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/info.py +0 -0
  92. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/itest.py +0 -0
  93. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/list.py +0 -0
  94. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  95. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  96. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/list_namespaces.py +0 -0
  97. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/local_run.py +0 -0
  98. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  99. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  100. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/secret.py +0 -0
  101. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/security_check.py +0 -0
  102. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  103. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  104. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm/__init__.py +0 -0
  105. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  106. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm/template/README.md +0 -0
  107. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  108. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  109. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  110. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  111. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  112. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/fsm_cmd.py +0 -0
  113. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  114. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  115. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  116. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  117. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  118. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  119. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  120. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  121. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  122. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/service_schema.json +0 -0
  123. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  124. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  125. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/clusterman.py +0 -0
  126. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/config_utils.py +0 -0
  127. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/__init__.py +0 -0
  128. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  129. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  130. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  131. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  132. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  133. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/habitat_fixer.py +0 -0
  134. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/ide_helper.py +0 -0
  135. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  136. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  137. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  138. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  139. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  140. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  141. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/render_template.py +0 -0
  142. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  143. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/service_shard_remove.py +0 -0
  144. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/service_shard_update.py +0 -0
  145. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/shared_ip_check.py +0 -0
  146. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  147. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  148. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/deployment_utils.py +0 -0
  149. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/docker_wrapper.py +0 -0
  150. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/docker_wrapper_imports.py +0 -0
  151. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/drain_lib.py +0 -0
  152. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/dump_locally_running_services.py +0 -0
  153. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/eks_tools.py +0 -0
  154. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/envoy_tools.py +0 -0
  155. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/firewall.py +0 -0
  156. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/firewall_logging.py +0 -0
  157. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/firewall_update.py +0 -0
  158. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/flink_tools.py +0 -0
  159. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/flinkeks_tools.py +0 -0
  160. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/frameworks/__init__.py +0 -0
  161. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/frameworks/constraints.py +0 -0
  162. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/frameworks/native_service_config.py +0 -0
  163. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/generate_all_deployments +0 -0
  164. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/generate_authenticating_services.py +0 -0
  165. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/generate_deployments_for_service.py +0 -0
  166. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/generate_services_file.py +0 -0
  167. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/generate_services_yaml.py +0 -0
  168. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/hacheck.py +0 -0
  169. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/instance/__init__.py +0 -0
  170. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  171. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/iptables.py +0 -0
  172. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kafkacluster_tools.py +0 -0
  173. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/__init__.py +0 -0
  174. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/application/__init__.py +0 -0
  175. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  176. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/application/tools.py +0 -0
  177. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  178. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  179. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +0 -0
  180. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  181. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  182. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/kubernetes/remote_run.py +0 -0
  183. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  184. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/list_tron_namespaces.py +0 -0
  185. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/long_running_service_tools.py +0 -0
  186. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mac_address.py +0 -0
  187. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/marathon_dashboard.py +0 -0
  188. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/__init__.py +0 -0
  189. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/cfg.py +0 -0
  190. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/cluster.py +0 -0
  191. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/exceptions.py +0 -0
  192. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/framework.py +0 -0
  193. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/log.py +0 -0
  194. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/master.py +0 -0
  195. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/mesos_file.py +0 -0
  196. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/parallel.py +0 -0
  197. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/slave.py +0 -0
  198. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/task.py +0 -0
  199. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/util.py +0 -0
  200. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos/zookeeper.py +0 -0
  201. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/mesos_tools.py +0 -0
  202. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/metrics/__init__.py +0 -0
  203. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/monitoring/__init__.py +0 -0
  204. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  205. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/monitoring_tools.py +0 -0
  206. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/monkrelaycluster_tools.py +0 -0
  207. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/nrtsearchservice_tools.py +0 -0
  208. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  209. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/oom_logger.py +0 -0
  210. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  211. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paasta_execute_docker_command.py +0 -0
  212. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paasta_service_config_loader.py +0 -0
  213. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/__init__.py +0 -0
  214. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/api/__init__.py +0 -0
  215. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  216. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/api/default_api.py +0 -0
  217. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/api/remote_run_api.py +0 -0
  218. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  219. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/api/service_api.py +0 -0
  220. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/api_client.py +0 -0
  221. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  222. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/configuration.py +0 -0
  223. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/exceptions.py +0 -0
  224. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/__init__.py +0 -0
  225. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  226. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  227. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/autoscaling_override.py +0 -0
  228. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  229. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  230. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  231. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  232. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  233. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  234. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  235. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  236. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  237. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  238. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  239. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  240. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  241. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  242. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  243. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/inline_response202.py +0 -0
  244. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/inline_response403.py +0 -0
  245. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  246. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  247. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  248. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  249. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  250. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  251. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  252. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  253. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  254. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  255. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  256. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  257. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  258. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  259. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  260. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  261. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  262. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  263. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  264. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  265. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  266. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/remote_run_outcome.py +0 -0
  267. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/remote_run_start.py +0 -0
  268. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/remote_run_stop.py +0 -0
  269. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/remote_run_token.py +0 -0
  270. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/resource.py +0 -0
  271. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  272. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  273. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  274. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  275. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  276. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  277. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/model_utils.py +0 -0
  278. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/models/__init__.py +0 -0
  279. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/paastaapi/rest.py +0 -0
  280. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/prune_completed_pods.py +0 -0
  281. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/puppet_service_tools.py +0 -0
  282. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/py.typed +0 -0
  283. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/remote_git.py +0 -0
  284. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  285. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/run-paasta-api-playground.py +0 -0
  286. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/secret_providers/__init__.py +0 -0
  287. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/secret_providers/vault.py +0 -0
  288. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/secret_tools.py +0 -0
  289. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/setup_istio_mesh.py +0 -0
  290. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/setup_kubernetes_cr.py +0 -0
  291. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/setup_kubernetes_crd.py +0 -0
  292. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  293. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  294. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/slack.py +0 -0
  295. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/smartstack_tools.py +0 -0
  296. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/spark_tools.py +0 -0
  297. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  298. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/tron/__init__.py +0 -0
  299. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/tron/client.py +0 -0
  300. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/tron/tron_command_context.py +0 -0
  301. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/tron/tron_timeutils.py +0 -0
  302. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools/yaml_tools.py +0 -0
  303. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools.egg-info/dependency_links.txt +0 -0
  304. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools.egg-info/entry_points.txt +0 -0
  305. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools.egg-info/requires.txt +0 -0
  306. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/paasta_tools.egg-info/top_level.txt +0 -0
  307. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/pyproject.toml +0 -0
  308. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/requirements-minimal.txt +0 -0
  309. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/setup.cfg +0 -0
  310. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_adhoc_tools.py +0 -0
  311. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_apply_external_resources.py +0 -0
  312. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_async_utils.py +0 -0
  313. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_bounce_lib.py +0 -0
  314. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_check_flink_services_health.py +0 -0
  315. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_check_kubernetes_services_replication.py +0 -0
  316. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_check_oom_events.py +0 -0
  317. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_check_service_replication_tools.py +0 -0
  318. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_check_spark_jobs.py +0 -0
  319. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_cleanup_kubernetes_jobs.py +0 -0
  320. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_config_utils.py +0 -0
  321. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_delete_kubernetes_deployments.py +0 -0
  322. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_deployment_utils.py +0 -0
  323. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_docker_wrapper.py +0 -0
  324. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_drain_lib.py +0 -0
  325. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_eks_tools.py +0 -0
  326. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_envoy_tools.py +0 -0
  327. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_firewall.py +0 -0
  328. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_firewall_logging.py +0 -0
  329. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_firewall_update.py +0 -0
  330. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_flink_tools.py +0 -0
  331. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_flinkeks_tools.py +0 -0
  332. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_generate_authenticating_services.py +0 -0
  333. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_generate_deployments_for_service.py +0 -0
  334. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_generate_services_file.py +0 -0
  335. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_generate_services_yaml.py +0 -0
  336. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_hacheck.py +0 -0
  337. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_iptables.py +0 -0
  338. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_list_kubernetes_service_instances.py +0 -0
  339. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_long_running_service_tools.py +0 -0
  340. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_mac_address.py +0 -0
  341. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_mesos_tools.py +0 -0
  342. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_monitoring_tools.py +0 -0
  343. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_nrtsearchserviceseks_tools.py +0 -0
  344. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_oom_logger.py +0 -0
  345. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_paasta_execute_docker_command.py +0 -0
  346. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_paasta_service_config_loader.py +0 -0
  347. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_puppet_service_tools.py +0 -0
  348. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_remote_git.py +0 -0
  349. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_secret_tools.py +0 -0
  350. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_setup_istio_mesh.py +0 -0
  351. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_setup_kubernetes_cr.py +0 -0
  352. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_setup_kubernetes_job.py +0 -0
  353. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_setup_prometheus_adapter_config.py +0 -0
  354. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_slack.py +0 -0
  355. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_smartstack_tools.py +0 -0
  356. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_spark_tools.py +0 -0
  357. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_tron_tools.py +0 -0
  358. {paasta_tools-1.30.8 → paasta_tools-1.30.10}/tests/test_utils.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paasta-tools
3
- Version: 1.30.8
3
+ Version: 1.30.10
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Author: Compute Infrastructure @ Yelp
6
6
  Author-email: compute-infra@yelp.com
7
7
  Provides: paasta_tools
8
- Requires-Python: >=3.8.0
8
+ Requires-Python: >=3.9.0
9
9
  License-File: LICENSE
10
10
  Requires-Dist: a-sync>=0.5.0
11
11
  Requires-Dist: aiohttp>=3.5.4
@@ -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.30.8"
20
+ __version__ = "1.30.10"
@@ -26,6 +26,7 @@ from typing import Mapping
26
26
  from typing import Optional
27
27
 
28
28
  import a_sync
29
+ from pyramid.request import Request
29
30
  from pyramid.response import Response
30
31
  from pyramid.view import view_config
31
32
 
@@ -139,7 +140,10 @@ def no_configuration_for_service_message(cluster, service, instance):
139
140
  @view_config(
140
141
  route_name="service.instance.status", request_method="GET", renderer="json"
141
142
  )
142
- def instance_status(request):
143
+ def instance_status(
144
+ request: Request,
145
+ ) -> dict[str, Any]: # godspeed to anyone typing the retval here
146
+ # NOTE: swagger_data is populated by pyramid_swagger
143
147
  service = request.swagger_data.get("service")
144
148
  instance = request.swagger_data.get("instance")
145
149
  verbose = request.swagger_data.get("verbose") or 0
@@ -353,7 +357,10 @@ def get_deployment_version(
353
357
  request_method="GET",
354
358
  renderer="json",
355
359
  )
356
- def instance_mesh_status(request):
360
+ def instance_mesh_status(
361
+ request: Request,
362
+ ) -> dict[str, Any]: # godspeed to anyone typing the retval here
363
+ # NOTE: swagger_data is populated by pyramid_swagger
357
364
  service = request.swagger_data.get("service")
358
365
  instance = request.swagger_data.get("instance")
359
366
  include_envoy = request.swagger_data.get("include_envoy")
@@ -3,9 +3,11 @@ import functools
3
3
  import time
4
4
  import weakref
5
5
  from collections import defaultdict
6
+ from typing import Any
6
7
  from typing import AsyncIterable
7
8
  from typing import Awaitable
8
9
  from typing import Callable
10
+ from typing import Coroutine
9
11
  from typing import Dict
10
12
  from typing import List
11
13
  from typing import Optional
@@ -97,7 +99,8 @@ async def aiter_to_list(
97
99
  def async_timeout(
98
100
  seconds: int = 10,
99
101
  ) -> Callable[
100
- [Callable[..., Awaitable[T]]], Callable[..., Awaitable[T]] # wrapped # inner
102
+ [Callable[..., Coroutine[Any, Any, T]]],
103
+ Callable[..., Coroutine[Any, Any, T]], # wrapped # inner
101
104
  ]:
102
105
  def outer(wrapped):
103
106
  @functools.wraps(wrapped)
@@ -42,11 +42,14 @@ BounceMethodResult = TypedDict(
42
42
 
43
43
  BounceMethod = Callable[
44
44
  [
45
- Arg(BounceMethodConfigDict, "new_config"),
46
- Arg(bool, "new_app_running"),
47
- Arg(Collection, "happy_new_tasks"),
48
- Arg(Sequence, "old_non_draining_tasks"),
49
- DefaultArg(float, "margin_factor"),
45
+ Arg(
46
+ BounceMethodConfigDict,
47
+ "new_config", # noqa: F821 # flake8 false-positive, these are not var references
48
+ ),
49
+ Arg(bool, "new_app_running"), # noqa: F821 # flake8 false-positive
50
+ Arg(Collection, "happy_new_tasks"), # noqa: F821 # flake8 false-positive
51
+ Arg(Sequence, "old_non_draining_tasks"), # noqa: F821 # flake8 false-positive
52
+ DefaultArg(float, "margin_factor"), # noqa: F821 # flake8 false-positive
50
53
  ],
51
54
  BounceMethodResult,
52
55
  ]
@@ -56,10 +56,16 @@ log = logging.getLogger(__name__)
56
56
 
57
57
  CheckServiceReplication = Callable[
58
58
  [
59
- Arg(InstanceConfig_T, "instance_config"),
60
- Arg(Dict[str, Dict[str, List[V1Pod]]], "pods_by_service_instance"),
61
- Arg(Any, "replication_checker"),
62
- NamedArg(bool, "dry_run"),
59
+ Arg(
60
+ InstanceConfig_T,
61
+ "instance_config", # noqa: F821 # flake8 false-positive, these are not var references
62
+ ),
63
+ Arg(
64
+ Dict[str, Dict[str, List[V1Pod]]],
65
+ "pods_by_service_instance", # noqa: F821 # flake8 false-positive
66
+ ),
67
+ Arg(Any, "replication_checker"), # noqa: F821 # flake8 false-positive
68
+ NamedArg(bool, "dry_run"), # noqa: F821 # flake8 false-positive
63
69
  ],
64
70
  Optional[bool],
65
71
  ]
@@ -124,7 +124,7 @@ def format_framework(info):
124
124
  def format_message_for_service(service, frameworks):
125
125
  output = f"Found the following long-running Spark frameworks associated with service {service}.\n"
126
126
  output += (
127
- f"Please check why they are still running and terminate if appropriate.\n\n"
127
+ "Please check why they are still running and terminate if appropriate.\n\n"
128
128
  )
129
129
  output += "\n".join(format_framework(f) for f in frameworks)
130
130
  return output
@@ -68,7 +68,7 @@ class PrintsHelpOnErrorArgumentParser(argparse.ArgumentParser):
68
68
  def list_external_commands():
69
69
  p = subprocess.check_output(["/bin/bash", "-p", "-c", "compgen -A command paasta-"])
70
70
  lines = p.decode("utf-8").strip().split("\n")
71
- return {l.replace("paasta-", "", 1) for l in lines}
71
+ return {line.replace("paasta-", "", 1) for line in lines}
72
72
 
73
73
 
74
74
  def calling_external_command():
@@ -132,10 +132,10 @@ PAASTA_SUBCOMMANDS = {
132
132
  }
133
133
 
134
134
 
135
- def get_argparser(commands=None):
135
+ def get_argparser(commands: list[str] | None = None) -> argparse.ArgumentParser:
136
136
  """Create and return argument parser for a set of subcommands.
137
137
 
138
- :param commands: Union[None, List[str]] If `commands` argument is `None`,
138
+ :param commands: list[str] | None: If `commands` argument is `None`,
139
139
  add full parsers for all subcommands, if `commands` is empty list -
140
140
  add thin parsers for all subcommands, otherwise - add full parsers for
141
141
  subcommands in the argument.
@@ -170,7 +170,7 @@ def get_argparser(commands=None):
170
170
 
171
171
  # Adding a separate help subparser allows us to respond to "help" without --help
172
172
  help_parser = subparsers.add_parser(
173
- "help", help=f"run `paasta <subcommand> -h` for help"
173
+ "help", help="run `paasta <subcommand> -h` for help"
174
174
  )
175
175
  help_parser.set_defaults(command=None)
176
176
 
@@ -30,6 +30,7 @@ from typing import Callable
30
30
  from typing import ContextManager
31
31
  from typing import Dict
32
32
  from typing import Iterable
33
+ from typing import Iterator
33
34
  from typing import List
34
35
  from typing import Mapping
35
36
  from typing import MutableSequence
@@ -52,10 +53,31 @@ try:
52
53
  except ImportError:
53
54
  scribereader = None
54
55
 
56
+ # NOTE: this is an internal-only package, so we won't be able to typecheck against it with mypy
57
+ # without these hacky inlined stubs
55
58
  try:
56
59
  from logreader.readers import S3LogsReader
60
+
61
+ s3reader_available = True
57
62
  except ImportError:
58
- S3LogsReader = None
63
+ s3reader_available = False
64
+
65
+ class S3LogsReader: # type: ignore[no-redef] # stub class for internal-only package
66
+ def __init__(self, superregion: str) -> None:
67
+ raise ImportError(
68
+ "logreader (internal Yelp package) is not available - unable to display logs."
69
+ )
70
+
71
+ def get_log_reader(
72
+ self,
73
+ log_name: str,
74
+ start_datetime: datetime.datetime,
75
+ end_datetime: datetime.datetime,
76
+ ) -> Iterator[str]:
77
+ raise NotImplementedError(
78
+ "logreader (internal Yelp package) is not available - unable to display logs."
79
+ )
80
+
59
81
 
60
82
  from pytimeparse.timeparse import timeparse
61
83
 
@@ -156,7 +178,7 @@ def add_subparser(subparsers) -> None:
156
178
  dest="soa_dir",
157
179
  metavar="SOA_DIR",
158
180
  default=DEFAULT_SOA_DIR,
159
- help=f"Define a different soa config directory. Defaults to %(default)s.",
181
+ help="Define a different soa config directory. Defaults to %(default)s.",
160
182
  )
161
183
 
162
184
  status_parser.add_argument(
@@ -1174,7 +1196,7 @@ class VectorLogsReader(LogReader):
1174
1196
  ) -> None:
1175
1197
  super().__init__()
1176
1198
 
1177
- if S3LogsReader is None:
1199
+ if not s3reader_available:
1178
1200
  raise Exception("yelp_clog package must be available to use S3LogsReader")
1179
1201
 
1180
1202
  self.cluster_map = cluster_map
@@ -1226,16 +1248,16 @@ class VectorLogsReader(LogReader):
1226
1248
  except ValueError:
1227
1249
  timestamp = pytz.utc.localize(datetime.datetime.min)
1228
1250
 
1229
- line = {"raw_line": line, "sort_key": timestamp}
1230
- aggregated_logs.append(line)
1251
+ formatted_line = {"raw_line": line, "sort_key": timestamp}
1252
+ aggregated_logs.append(formatted_line)
1231
1253
 
1232
1254
  aggregated_logs = list(
1233
1255
  {line["raw_line"]: line for line in aggregated_logs}.values()
1234
1256
  )
1235
1257
  aggregated_logs.sort(key=lambda log_line: log_line["sort_key"])
1236
1258
 
1237
- for line in aggregated_logs:
1238
- print_log(line["raw_line"], levels, raw_mode, strip_headers)
1259
+ for formatted_line in aggregated_logs:
1260
+ print_log(formatted_line["raw_line"], levels, raw_mode, strip_headers)
1239
1261
 
1240
1262
  def tail_logs(
1241
1263
  self,
@@ -1157,7 +1157,7 @@ class MarkForDeploymentProcess(RollbackSlackDeploymentProcess):
1157
1157
 
1158
1158
  def on_enter_deploy_errored(self) -> None:
1159
1159
  report_waiting_aborted(self.service, self.deploy_group)
1160
- self.update_slack_status(f"Deploy aborted, but it will still try to converge.")
1160
+ self.update_slack_status("Deploy aborted, but it will still try to converge.")
1161
1161
  self.send_manual_rollback_instructions()
1162
1162
  if self.deploy_group_is_set_to_notify("notify_after_abort"):
1163
1163
  self.ping_authors("Deploy errored")
@@ -1317,7 +1317,7 @@ class MarkForDeploymentProcess(RollbackSlackDeploymentProcess):
1317
1317
  inactive_button_texts = {
1318
1318
  "forward": f"Continue Forward to {version_short_str} :arrow_forward:",
1319
1319
  "complete": f"Complete deploy to {version_short_str} :white_check_mark:",
1320
- "snooze": f"Reset countdown",
1320
+ "snooze": "Reset countdown",
1321
1321
  "enable_auto_rollbacks": "Enable auto rollbacks :eyes:",
1322
1322
  "disable_auto_rollbacks": "Disable auto rollbacks :close_eyes_monkey:",
1323
1323
  }
@@ -124,7 +124,7 @@ def paasta_mesh_status_on_api_endpoint(
124
124
  [PaastaColors.red(f"Could not connect to API: {exc.__class__.__name__}")],
125
125
  )
126
126
  except Exception as e:
127
- output = [PaastaColors.red(f"Exception when talking to the API:")]
127
+ output = [PaastaColors.red("Exception when talking to the API:")]
128
128
  output.extend(str(e).split("\n"))
129
129
  return 1, output
130
130
 
@@ -116,7 +116,7 @@ def paasta_remote_run_copy(
116
116
  )
117
117
  if poll_response.status != 200:
118
118
  print(
119
- f"Unable to find running remote-run pod: have you started one with `paasta remote-run start`?"
119
+ "Unable to find running remote-run pod: have you started one with `paasta remote-run start`?"
120
120
  )
121
121
  return 1
122
122
 
@@ -340,7 +340,7 @@ def paasta_rollback(args: argparse.Namespace) -> int:
340
340
  )
341
341
  print(
342
342
  PaastaColors.yellow(
343
- f"WARNING: Failing to do so means that Jenkins will redeploy the latest code on the next scheduled build!"
343
+ "WARNING: Failing to do so means that Jenkins will redeploy the latest code on the next scheduled build!"
344
344
  )
345
345
  )
346
346
 
@@ -902,15 +902,15 @@ def configure_and_run_docker_container(
902
902
  environment["YELP_SVC_AUTHZ_TOKEN"] = get_service_auth_token()
903
903
 
904
904
  webui_url = get_webui_url(spark_conf["spark.ui.port"])
905
- webui_url_msg = PaastaColors.green(f"\nSpark monitoring URL: ") + f"{webui_url}\n"
905
+ webui_url_msg = PaastaColors.green("\nSpark monitoring URL: ") + f"{webui_url}\n"
906
906
 
907
907
  docker_cmd = get_docker_cmd(args, instance_config, spark_conf_str)
908
908
  if "history-server" in docker_cmd:
909
- print(PaastaColors.green(f"\nSpark history server URL: ") + f"{webui_url}\n")
909
+ print(PaastaColors.green("\nSpark history server URL: ") + f"{webui_url}\n")
910
910
  elif any(c in docker_cmd for c in ["pyspark", "spark-shell", "spark-submit"]):
911
911
  grafana_url = get_grafana_url(spark_conf)
912
912
  dashboard_url_msg = (
913
- PaastaColors.green(f"\nGrafana dashboard: ") + f"{grafana_url}\n"
913
+ PaastaColors.green("\nGrafana dashboard: ") + f"{grafana_url}\n"
914
914
  )
915
915
  print(webui_url_msg)
916
916
  print(dashboard_url_msg)
@@ -123,12 +123,15 @@ DEPLOYMENT_INSTANCE_CONFIG: Sequence[Type[InstanceConfig]] = [
123
123
 
124
124
  InstanceStatusWriter = Callable[
125
125
  [
126
- Arg(str, "cluster"),
127
- Arg(str, "service"),
128
- Arg(str, "instance"),
129
- Arg(List[str], "output"),
126
+ Arg(
127
+ str,
128
+ "cluster", # noqa: F821 # flake8 false-positive, these are not var references
129
+ ),
130
+ Arg(str, "service"), # noqa: F821 # flake8 false-positive
131
+ Arg(str, "instance"), # noqa: F821 # flake8 false-positive
132
+ Arg(List[str], "output"), # noqa: F821 # flake8 false-positive
130
133
  Arg(Any),
131
- Arg(int, "verbose"),
134
+ Arg(int, "verbose"), # noqa: F821 # flake8 false-positive
132
135
  ],
133
136
  int,
134
137
  ]
@@ -328,7 +331,7 @@ def paasta_status_on_api_endpoint(
328
331
  )
329
332
  return 1
330
333
  except Exception as e:
331
- output.append(PaastaColors.red(f"Exception when talking to the API:"))
334
+ output.append(PaastaColors.red("Exception when talking to the API:"))
332
335
  output.append(str(e))
333
336
  return 1
334
337
 
@@ -528,7 +531,7 @@ def get_smartstack_status_human(
528
531
 
529
532
  output = ["Smartstack:"]
530
533
  output.append(f" Haproxy Service Name: {registration}")
531
- output.append(f" Backends:")
534
+ output.append(" Backends:")
532
535
  for location in locations:
533
536
  backend_status = haproxy_backend_report(
534
537
  expected_backends_per_location, location.running_backends_count
@@ -586,7 +589,7 @@ def get_envoy_status_human(
586
589
 
587
590
  output = ["Envoy:"]
588
591
  output.append(f" Service Name: {registration}")
589
- output.append(f" Backends:")
592
+ output.append(" Backends:")
590
593
  for location in locations:
591
594
  backend_status = envoy_backend_report(
592
595
  expected_backends_per_location, location.running_backends_count
@@ -829,7 +832,7 @@ def _print_flink_status_from_job_manager(
829
832
  service=service, instance=instance, client=client
830
833
  )
831
834
  except Exception as e:
832
- output.append(PaastaColors.red(f"Exception when talking to the API:"))
835
+ output.append(PaastaColors.red("Exception when talking to the API:"))
833
836
  output.append(str(e))
834
837
  return 1
835
838
 
@@ -858,7 +861,7 @@ def _print_flink_status_from_job_manager(
858
861
  output.append(f"{OUTPUT_HORIZONTAL_RULE}")
859
862
 
860
863
  # Print Flink Log Commands
861
- output.append(f" Flink Log Commands:")
864
+ output.append(" Flink Log Commands:")
862
865
  output.append(
863
866
  f" Service: paasta logs -a 1h -c {cluster} -s {service} -i {instance}"
864
867
  )
@@ -875,7 +878,7 @@ def _print_flink_status_from_job_manager(
875
878
  output.append(f"{OUTPUT_HORIZONTAL_RULE}")
876
879
 
877
880
  # Print Flink Metrics Links
878
- output.append(f" Flink Monitoring:")
881
+ output.append(" Flink Monitoring:")
879
882
  output.append(
880
883
  f" Job Metrics: https://grafana.yelpcorp.com/d/flink-metrics/flink-job-metrics?orgId=1&var-datasource=Prometheus-flink&var-region=uswest2-{ecosystem}&var-service={service}&var-instance={instance}&var-job=All&from=now-24h&to=now"
881
884
  )
@@ -1316,7 +1319,7 @@ def get_version_table_entry(
1316
1319
  (state, pod) for state, pod in replica_states if state.is_unhealthy()
1317
1320
  ]
1318
1321
  if unhealthy_replicas:
1319
- entry.append(f" Unhealthy Replicas:")
1322
+ entry.append(" Unhealthy Replicas:")
1320
1323
  replica_table = create_replica_table(
1321
1324
  unhealthy_replicas, service, instance, cluster, verbose
1322
1325
  )
@@ -1523,7 +1526,7 @@ def create_replica_table(
1523
1526
  f" OOM Killed {human_oom_kill_timestamp} ({oom_kill_timestamp})."
1524
1527
  ),
1525
1528
  PaastaColors.red(
1526
- f" Check y/check-oom-events and consider increasing memory in yelpsoa_configs"
1529
+ " Check y/check-oom-events and consider increasing memory in yelpsoa_configs"
1527
1530
  ),
1528
1531
  ]
1529
1532
  )
@@ -1587,7 +1590,7 @@ def create_replica_table(
1587
1590
  elif state == ReplicaState.UNKNOWN:
1588
1591
  table.append(
1589
1592
  PaastaColors.red(
1590
- f" Cannot determine pod state, please try again. If you continue to see this state, please contact #paasta"
1593
+ " Cannot determine pod state, please try again. If you continue to see this state, please contact #paasta"
1591
1594
  )
1592
1595
  )
1593
1596
  return format_table(table)
@@ -1607,7 +1610,7 @@ def get_autoscaling_table(
1607
1610
  table.append(f" Last scale time: {autoscaling_status['last_scale_time']}")
1608
1611
  NA = PaastaColors.red("N/A")
1609
1612
  if len(autoscaling_status["metrics"]) > 0:
1610
- table.append(f" Metrics:")
1613
+ table.append(" Metrics:")
1611
1614
 
1612
1615
  metrics_table: List[List[str]] = [["Metric", "Current", "Target"]]
1613
1616
  for metric in autoscaling_status["metrics"]:
@@ -1695,10 +1698,10 @@ def print_kubernetes_status(
1695
1698
  output.append(
1696
1699
  f" Last scale time: {autoscaling_status['last_scale_time']}"
1697
1700
  )
1698
- output.append(f" Dashboard: y/was-it-the-autoscaler")
1701
+ output.append(" Dashboard: y/was-it-the-autoscaler")
1699
1702
  NA = PaastaColors.red("N/A")
1700
1703
  if len(autoscaling_status["metrics"]) > 0:
1701
- output.append(f" Metrics:")
1704
+ output.append(" Metrics:")
1702
1705
 
1703
1706
  metrics_table: List[List[str]] = [["Metric", "Current", "Target"]]
1704
1707
  for metric in autoscaling_status["metrics"]:
@@ -2201,15 +2204,15 @@ def apply_args_filters(
2201
2204
  if args.service or args.instances:
2202
2205
  print(
2203
2206
  PaastaColors.red(
2204
- f"Invalid command. Do not include optional arguments -s or -i "
2205
- f"when using shorthand notation."
2207
+ "Invalid command. Do not include optional arguments -s or -i "
2208
+ "when using shorthand notation."
2206
2209
  )
2207
2210
  )
2208
2211
  return clusters_services_instances
2209
2212
  if "." in args.service_instance:
2210
2213
  args.service, args.instances = args.service_instance.split(".", 1)
2211
2214
  else:
2212
- print(PaastaColors.red(f'Use a "." to separate service and instance name'))
2215
+ print(PaastaColors.red('Use a "." to separate service and instance name'))
2213
2216
  return clusters_services_instances
2214
2217
  if args.service:
2215
2218
  try:
@@ -2221,7 +2224,7 @@ def apply_args_filters(
2221
2224
  args.service, all_services, n=5, cutoff=0.5
2222
2225
  )
2223
2226
  if suggestions:
2224
- print(PaastaColors.red(f"Did you mean any of these?"))
2227
+ print(PaastaColors.red("Did you mean any of these?"))
2225
2228
  for suggestion in suggestions:
2226
2229
  print(PaastaColors.red(f" {suggestion}"))
2227
2230
  return clusters_services_instances
@@ -573,7 +573,7 @@ def validate_paasta_objects(service_path):
573
573
  errors = "\n".join(messages)
574
574
  print(failure((f"There were failures validating {service}: {errors}"), ""))
575
575
  else:
576
- print(success(f"All PaaSTA Instances for are valid for all clusters"))
576
+ print(success("All PaaSTA Instances for are valid for all clusters"))
577
577
 
578
578
  return returncode
579
579
 
@@ -741,7 +741,7 @@ def validate_autoscaling_configs(service_path: str) -> bool:
741
741
  and configured_provider_count > 1
742
742
  ):
743
743
  raise AutoscalingValidationError(
744
- f"cannot use bespoke autoscaling with HPA autoscaling"
744
+ "cannot use bespoke autoscaling with HPA autoscaling"
745
745
  )
746
746
  if metrics_provider["type"] in seen_provider_types:
747
747
  raise AutoscalingValidationError(
@@ -808,7 +808,7 @@ def validate_autoscaling_configs(service_path: str) -> bool:
808
808
  ):
809
809
  link = "y/override-cpu-autotune"
810
810
  raise AutoscalingValidationError(
811
- f"CPU override detected for a CPU-autoscaled instance; "
811
+ "CPU override detected for a CPU-autoscaled instance; "
812
812
  "see the following link for next steps:"
813
813
  )
814
814
  except AutoscalingValidationError as e:
@@ -26,6 +26,7 @@ import socket
26
26
  import subprocess
27
27
  from collections import defaultdict
28
28
  from shlex import quote
29
+ from typing import Any
29
30
  from typing import Callable
30
31
  from typing import Collection
31
32
  from typing import Generator
@@ -378,7 +379,7 @@ def list_service_instances(soa_dir: str = DEFAULT_SOA_DIR):
378
379
  return the_list
379
380
 
380
381
 
381
- def list_instances(**kwargs):
382
+ def list_instances(**kwargs: Any) -> list[str]:
382
383
  """Returns a sorted list of all possible instance names
383
384
  for tab completion. We try to guess what service you might be
384
385
  operating on, otherwise we just provide *all* of them
@@ -597,42 +598,54 @@ def get_jenkins_build_output_url():
597
598
 
598
599
  InstanceListerSig = Callable[
599
600
  [
600
- NamedArg(str, "service"),
601
- NamedArg(Optional[str], "cluster"),
602
- NamedArg(str, "instance_type"),
603
- NamedArg(str, "soa_dir"),
601
+ NamedArg(
602
+ str,
603
+ "service", # noqa: F821 # flake8 false-positive, these are not var references
604
+ ),
605
+ NamedArg(Optional[str], "cluster"), # noqa: F821 # flake8 false-positive
606
+ NamedArg(str, "instance_type"), # noqa: F821 # flake8 false-positive
607
+ NamedArg(str, "soa_dir"), # noqa: F821 # flake8 false-positive
604
608
  ],
605
609
  List[Tuple[str, str]],
606
610
  ]
607
611
 
608
612
  InstanceLoaderSig = Callable[
609
613
  [
610
- NamedArg(str, "service"),
611
- NamedArg(str, "instance"),
612
- NamedArg(str, "cluster"),
613
- NamedArg(bool, "load_deployments"),
614
- NamedArg(str, "soa_dir"),
614
+ NamedArg(
615
+ str,
616
+ "service", # noqa: F821 # flake8 false-positive, these are not var references
617
+ ),
618
+ NamedArg(str, "instance"), # noqa: F821 # flake8 false-positive
619
+ NamedArg(str, "cluster"), # noqa: F821 # flake8 false-positive
620
+ NamedArg(bool, "load_deployments"), # noqa: F821 # flake8 false-positive
621
+ NamedArg(str, "soa_dir"), # noqa: F821 # flake8 false-positive
615
622
  ],
616
623
  InstanceConfig,
617
624
  ]
618
625
 
619
626
  LongRunningServiceListerSig = Callable[
620
627
  [
621
- NamedArg(str, "service"),
622
- NamedArg(Optional[str], "cluster"),
623
- NamedArg(str, "instance_type"),
624
- NamedArg(str, "soa_dir"),
628
+ NamedArg(
629
+ str,
630
+ "service", # noqa: F821 # flake8 false-positive, these are not var references
631
+ ),
632
+ NamedArg(Optional[str], "cluster"), # noqa: F821 # flake8 false-positive
633
+ NamedArg(str, "instance_type"), # noqa: F821 # flake8 false-positive
634
+ NamedArg(str, "soa_dir"), # noqa: F821 # flake8 false-positive
625
635
  ],
626
636
  List[Tuple[str, str]],
627
637
  ]
628
638
 
629
639
  LongRunningServiceLoaderSig = Callable[
630
640
  [
631
- NamedArg(str, "service"),
632
- NamedArg(str, "instance"),
633
- NamedArg(str, "cluster"),
634
- NamedArg(bool, "load_deployments"),
635
- NamedArg(str, "soa_dir"),
641
+ NamedArg(
642
+ str,
643
+ "service", # noqa: F821 # flake8 false-positive, these are not var references
644
+ ),
645
+ NamedArg(str, "instance"), # noqa: F821 # flake8 false-positive
646
+ NamedArg(str, "cluster"), # noqa: F821 # flake8 false-positive
647
+ NamedArg(bool, "load_deployments"), # noqa: F821 # flake8 false-positive
648
+ NamedArg(str, "soa_dir"), # noqa: F821 # flake8 false-positive
636
649
  ],
637
650
  LongRunningServiceConfig,
638
651
  ]
@@ -56,7 +56,7 @@ def get_zk_data(ignored_services: Set[str]) -> SmartstackData:
56
56
  zk = KazooClient(hosts=zk_hosts)
57
57
  zk.start()
58
58
 
59
- logger.debug(f"pulling smartstack data from zookeeper")
59
+ logger.debug("pulling smartstack data from zookeeper")
60
60
  zk_data = {}
61
61
  services = zk.get_children(PREFIX)
62
62
  for service in services:
@@ -1,5 +1,6 @@
1
1
  #!/opt/venvs/paasta-tools/bin/python
2
2
  import argparse
3
+ import json
3
4
  import time
4
5
  from typing import Any
5
6
  from typing import Dict
@@ -12,7 +13,6 @@ from typing import Optional
12
13
  from typing import Tuple
13
14
 
14
15
  import a_sync
15
- import simplejson as json
16
16
  from kubernetes.client import V1Pod
17
17
  from kubernetes.client import V1ResourceRequirements
18
18
 
@@ -1,4 +1,5 @@
1
1
  import asyncio
2
+ from asyncio.tasks import Task
2
3
  from collections import defaultdict
3
4
  from enum import Enum
4
5
  from typing import Any
@@ -1156,7 +1157,7 @@ async def kubernetes_status(
1156
1157
 
1157
1158
  # this task is necessary for mesh_status, but most other use cases want
1158
1159
  # just the list of pods
1159
- pods_task = asyncio.create_task(
1160
+ pods_task: Task[Sequence[V1Pod]] = asyncio.create_task(
1160
1161
  kubernetes_tools.pods_for_service_instance(
1161
1162
  service=job_config.service,
1162
1163
  instance=job_config.instance,