paasta-tools 1.21.3__py3-none-any.whl

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 (348) hide show
  1. k8s_itests/__init__.py +0 -0
  2. k8s_itests/test_autoscaling.py +23 -0
  3. k8s_itests/utils.py +38 -0
  4. paasta_tools/__init__.py +20 -0
  5. paasta_tools/adhoc_tools.py +142 -0
  6. paasta_tools/api/__init__.py +13 -0
  7. paasta_tools/api/api.py +330 -0
  8. paasta_tools/api/api_docs/swagger.json +2323 -0
  9. paasta_tools/api/client.py +106 -0
  10. paasta_tools/api/settings.py +33 -0
  11. paasta_tools/api/tweens/__init__.py +6 -0
  12. paasta_tools/api/tweens/auth.py +125 -0
  13. paasta_tools/api/tweens/profiling.py +108 -0
  14. paasta_tools/api/tweens/request_logger.py +124 -0
  15. paasta_tools/api/views/__init__.py +13 -0
  16. paasta_tools/api/views/autoscaler.py +100 -0
  17. paasta_tools/api/views/exception.py +45 -0
  18. paasta_tools/api/views/flink.py +73 -0
  19. paasta_tools/api/views/instance.py +395 -0
  20. paasta_tools/api/views/pause_autoscaler.py +71 -0
  21. paasta_tools/api/views/remote_run.py +113 -0
  22. paasta_tools/api/views/resources.py +76 -0
  23. paasta_tools/api/views/service.py +35 -0
  24. paasta_tools/api/views/version.py +25 -0
  25. paasta_tools/apply_external_resources.py +79 -0
  26. paasta_tools/async_utils.py +109 -0
  27. paasta_tools/autoscaling/__init__.py +0 -0
  28. paasta_tools/autoscaling/autoscaling_service_lib.py +57 -0
  29. paasta_tools/autoscaling/forecasting.py +106 -0
  30. paasta_tools/autoscaling/max_all_k8s_services.py +41 -0
  31. paasta_tools/autoscaling/pause_service_autoscaler.py +77 -0
  32. paasta_tools/autoscaling/utils.py +52 -0
  33. paasta_tools/bounce_lib.py +184 -0
  34. paasta_tools/broadcast_log_to_services.py +62 -0
  35. paasta_tools/cassandracluster_tools.py +210 -0
  36. paasta_tools/check_autoscaler_max_instances.py +212 -0
  37. paasta_tools/check_cassandracluster_services_replication.py +35 -0
  38. paasta_tools/check_flink_services_health.py +203 -0
  39. paasta_tools/check_kubernetes_api.py +57 -0
  40. paasta_tools/check_kubernetes_services_replication.py +141 -0
  41. paasta_tools/check_oom_events.py +244 -0
  42. paasta_tools/check_services_replication_tools.py +324 -0
  43. paasta_tools/check_spark_jobs.py +234 -0
  44. paasta_tools/cleanup_kubernetes_cr.py +138 -0
  45. paasta_tools/cleanup_kubernetes_crd.py +145 -0
  46. paasta_tools/cleanup_kubernetes_jobs.py +344 -0
  47. paasta_tools/cleanup_tron_namespaces.py +96 -0
  48. paasta_tools/cli/__init__.py +13 -0
  49. paasta_tools/cli/authentication.py +85 -0
  50. paasta_tools/cli/cli.py +260 -0
  51. paasta_tools/cli/cmds/__init__.py +13 -0
  52. paasta_tools/cli/cmds/autoscale.py +143 -0
  53. paasta_tools/cli/cmds/check.py +334 -0
  54. paasta_tools/cli/cmds/cook_image.py +147 -0
  55. paasta_tools/cli/cmds/get_docker_image.py +76 -0
  56. paasta_tools/cli/cmds/get_image_version.py +172 -0
  57. paasta_tools/cli/cmds/get_latest_deployment.py +93 -0
  58. paasta_tools/cli/cmds/info.py +155 -0
  59. paasta_tools/cli/cmds/itest.py +117 -0
  60. paasta_tools/cli/cmds/list.py +66 -0
  61. paasta_tools/cli/cmds/list_clusters.py +42 -0
  62. paasta_tools/cli/cmds/list_deploy_queue.py +171 -0
  63. paasta_tools/cli/cmds/list_namespaces.py +84 -0
  64. paasta_tools/cli/cmds/local_run.py +1396 -0
  65. paasta_tools/cli/cmds/logs.py +1601 -0
  66. paasta_tools/cli/cmds/mark_for_deployment.py +1988 -0
  67. paasta_tools/cli/cmds/mesh_status.py +174 -0
  68. paasta_tools/cli/cmds/pause_service_autoscaler.py +107 -0
  69. paasta_tools/cli/cmds/push_to_registry.py +275 -0
  70. paasta_tools/cli/cmds/remote_run.py +252 -0
  71. paasta_tools/cli/cmds/rollback.py +347 -0
  72. paasta_tools/cli/cmds/secret.py +549 -0
  73. paasta_tools/cli/cmds/security_check.py +59 -0
  74. paasta_tools/cli/cmds/spark_run.py +1400 -0
  75. paasta_tools/cli/cmds/start_stop_restart.py +401 -0
  76. paasta_tools/cli/cmds/status.py +2302 -0
  77. paasta_tools/cli/cmds/validate.py +1012 -0
  78. paasta_tools/cli/cmds/wait_for_deployment.py +275 -0
  79. paasta_tools/cli/fsm/__init__.py +13 -0
  80. paasta_tools/cli/fsm/autosuggest.py +82 -0
  81. paasta_tools/cli/fsm/template/README.md +8 -0
  82. paasta_tools/cli/fsm/template/cookiecutter.json +7 -0
  83. paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +91 -0
  84. paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +20 -0
  85. paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +8 -0
  86. paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +6 -0
  87. paasta_tools/cli/fsm_cmd.py +121 -0
  88. paasta_tools/cli/paasta_tabcomplete.sh +23 -0
  89. paasta_tools/cli/schemas/adhoc_schema.json +199 -0
  90. paasta_tools/cli/schemas/autoscaling_schema.json +91 -0
  91. paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +37 -0
  92. paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +89 -0
  93. paasta_tools/cli/schemas/deploy_schema.json +173 -0
  94. paasta_tools/cli/schemas/eks_schema.json +970 -0
  95. paasta_tools/cli/schemas/kubernetes_schema.json +970 -0
  96. paasta_tools/cli/schemas/rollback_schema.json +160 -0
  97. paasta_tools/cli/schemas/service_schema.json +25 -0
  98. paasta_tools/cli/schemas/smartstack_schema.json +322 -0
  99. paasta_tools/cli/schemas/tron_schema.json +699 -0
  100. paasta_tools/cli/utils.py +1118 -0
  101. paasta_tools/clusterman.py +21 -0
  102. paasta_tools/config_utils.py +385 -0
  103. paasta_tools/contrib/__init__.py +0 -0
  104. paasta_tools/contrib/bounce_log_latency_parser.py +68 -0
  105. paasta_tools/contrib/check_manual_oapi_changes.sh +24 -0
  106. paasta_tools/contrib/check_orphans.py +306 -0
  107. paasta_tools/contrib/create_dynamodb_table.py +35 -0
  108. paasta_tools/contrib/create_paasta_playground.py +105 -0
  109. paasta_tools/contrib/emit_allocated_cpu_metrics.py +50 -0
  110. paasta_tools/contrib/get_running_task_allocation.py +346 -0
  111. paasta_tools/contrib/habitat_fixer.py +86 -0
  112. paasta_tools/contrib/ide_helper.py +316 -0
  113. paasta_tools/contrib/is_pod_healthy_in_proxy.py +139 -0
  114. paasta_tools/contrib/is_pod_healthy_in_smartstack.py +50 -0
  115. paasta_tools/contrib/kill_bad_containers.py +109 -0
  116. paasta_tools/contrib/mass-deploy-tag.sh +44 -0
  117. paasta_tools/contrib/mock_patch_checker.py +86 -0
  118. paasta_tools/contrib/paasta_update_soa_memcpu.py +520 -0
  119. paasta_tools/contrib/render_template.py +129 -0
  120. paasta_tools/contrib/rightsizer_soaconfigs_update.py +348 -0
  121. paasta_tools/contrib/service_shard_remove.py +157 -0
  122. paasta_tools/contrib/service_shard_update.py +373 -0
  123. paasta_tools/contrib/shared_ip_check.py +77 -0
  124. paasta_tools/contrib/timeouts_metrics_prom.py +64 -0
  125. paasta_tools/delete_kubernetes_deployments.py +89 -0
  126. paasta_tools/deployment_utils.py +44 -0
  127. paasta_tools/docker_wrapper.py +234 -0
  128. paasta_tools/docker_wrapper_imports.py +13 -0
  129. paasta_tools/drain_lib.py +351 -0
  130. paasta_tools/dump_locally_running_services.py +71 -0
  131. paasta_tools/eks_tools.py +119 -0
  132. paasta_tools/envoy_tools.py +373 -0
  133. paasta_tools/firewall.py +504 -0
  134. paasta_tools/firewall_logging.py +154 -0
  135. paasta_tools/firewall_update.py +172 -0
  136. paasta_tools/flink_tools.py +345 -0
  137. paasta_tools/flinkeks_tools.py +90 -0
  138. paasta_tools/frameworks/__init__.py +0 -0
  139. paasta_tools/frameworks/adhoc_scheduler.py +71 -0
  140. paasta_tools/frameworks/constraints.py +87 -0
  141. paasta_tools/frameworks/native_scheduler.py +652 -0
  142. paasta_tools/frameworks/native_service_config.py +301 -0
  143. paasta_tools/frameworks/task_store.py +245 -0
  144. paasta_tools/generate_all_deployments +9 -0
  145. paasta_tools/generate_authenticating_services.py +94 -0
  146. paasta_tools/generate_deployments_for_service.py +255 -0
  147. paasta_tools/generate_services_file.py +114 -0
  148. paasta_tools/generate_services_yaml.py +30 -0
  149. paasta_tools/hacheck.py +76 -0
  150. paasta_tools/instance/__init__.py +0 -0
  151. paasta_tools/instance/hpa_metrics_parser.py +122 -0
  152. paasta_tools/instance/kubernetes.py +1362 -0
  153. paasta_tools/iptables.py +240 -0
  154. paasta_tools/kafkacluster_tools.py +143 -0
  155. paasta_tools/kubernetes/__init__.py +0 -0
  156. paasta_tools/kubernetes/application/__init__.py +0 -0
  157. paasta_tools/kubernetes/application/controller_wrappers.py +476 -0
  158. paasta_tools/kubernetes/application/tools.py +90 -0
  159. paasta_tools/kubernetes/bin/__init__.py +0 -0
  160. paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +164 -0
  161. paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +135 -0
  162. paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +181 -0
  163. paasta_tools/kubernetes/bin/paasta_secrets_sync.py +758 -0
  164. paasta_tools/kubernetes/remote_run.py +558 -0
  165. paasta_tools/kubernetes_tools.py +4679 -0
  166. paasta_tools/list_kubernetes_service_instances.py +128 -0
  167. paasta_tools/list_tron_namespaces.py +60 -0
  168. paasta_tools/long_running_service_tools.py +678 -0
  169. paasta_tools/mac_address.py +44 -0
  170. paasta_tools/marathon_dashboard.py +0 -0
  171. paasta_tools/mesos/__init__.py +0 -0
  172. paasta_tools/mesos/cfg.py +46 -0
  173. paasta_tools/mesos/cluster.py +60 -0
  174. paasta_tools/mesos/exceptions.py +59 -0
  175. paasta_tools/mesos/framework.py +77 -0
  176. paasta_tools/mesos/log.py +48 -0
  177. paasta_tools/mesos/master.py +306 -0
  178. paasta_tools/mesos/mesos_file.py +169 -0
  179. paasta_tools/mesos/parallel.py +52 -0
  180. paasta_tools/mesos/slave.py +115 -0
  181. paasta_tools/mesos/task.py +94 -0
  182. paasta_tools/mesos/util.py +69 -0
  183. paasta_tools/mesos/zookeeper.py +37 -0
  184. paasta_tools/mesos_maintenance.py +848 -0
  185. paasta_tools/mesos_tools.py +1051 -0
  186. paasta_tools/metrics/__init__.py +0 -0
  187. paasta_tools/metrics/metastatus_lib.py +1110 -0
  188. paasta_tools/metrics/metrics_lib.py +217 -0
  189. paasta_tools/monitoring/__init__.py +13 -0
  190. paasta_tools/monitoring/check_k8s_api_performance.py +110 -0
  191. paasta_tools/monitoring_tools.py +652 -0
  192. paasta_tools/monkrelaycluster_tools.py +146 -0
  193. paasta_tools/nrtsearchservice_tools.py +143 -0
  194. paasta_tools/nrtsearchserviceeks_tools.py +68 -0
  195. paasta_tools/oom_logger.py +321 -0
  196. paasta_tools/paasta_deploy_tron_jobs +3 -0
  197. paasta_tools/paasta_execute_docker_command.py +123 -0
  198. paasta_tools/paasta_native_serviceinit.py +21 -0
  199. paasta_tools/paasta_service_config_loader.py +201 -0
  200. paasta_tools/paastaapi/__init__.py +29 -0
  201. paasta_tools/paastaapi/api/__init__.py +3 -0
  202. paasta_tools/paastaapi/api/autoscaler_api.py +302 -0
  203. paasta_tools/paastaapi/api/default_api.py +569 -0
  204. paasta_tools/paastaapi/api/remote_run_api.py +604 -0
  205. paasta_tools/paastaapi/api/resources_api.py +157 -0
  206. paasta_tools/paastaapi/api/service_api.py +1736 -0
  207. paasta_tools/paastaapi/api_client.py +818 -0
  208. paasta_tools/paastaapi/apis/__init__.py +22 -0
  209. paasta_tools/paastaapi/configuration.py +455 -0
  210. paasta_tools/paastaapi/exceptions.py +137 -0
  211. paasta_tools/paastaapi/model/__init__.py +5 -0
  212. paasta_tools/paastaapi/model/adhoc_launch_history.py +176 -0
  213. paasta_tools/paastaapi/model/autoscaler_count_msg.py +176 -0
  214. paasta_tools/paastaapi/model/deploy_queue.py +178 -0
  215. paasta_tools/paastaapi/model/deploy_queue_service_instance.py +194 -0
  216. paasta_tools/paastaapi/model/envoy_backend.py +185 -0
  217. paasta_tools/paastaapi/model/envoy_location.py +184 -0
  218. paasta_tools/paastaapi/model/envoy_status.py +181 -0
  219. paasta_tools/paastaapi/model/flink_cluster_overview.py +188 -0
  220. paasta_tools/paastaapi/model/flink_config.py +173 -0
  221. paasta_tools/paastaapi/model/flink_job.py +186 -0
  222. paasta_tools/paastaapi/model/flink_job_details.py +192 -0
  223. paasta_tools/paastaapi/model/flink_jobs.py +175 -0
  224. paasta_tools/paastaapi/model/float_and_error.py +173 -0
  225. paasta_tools/paastaapi/model/hpa_metric.py +176 -0
  226. paasta_tools/paastaapi/model/inline_object.py +170 -0
  227. paasta_tools/paastaapi/model/inline_response200.py +170 -0
  228. paasta_tools/paastaapi/model/inline_response2001.py +170 -0
  229. paasta_tools/paastaapi/model/instance_bounce_status.py +200 -0
  230. paasta_tools/paastaapi/model/instance_mesh_status.py +186 -0
  231. paasta_tools/paastaapi/model/instance_status.py +220 -0
  232. paasta_tools/paastaapi/model/instance_status_adhoc.py +187 -0
  233. paasta_tools/paastaapi/model/instance_status_cassandracluster.py +173 -0
  234. paasta_tools/paastaapi/model/instance_status_flink.py +173 -0
  235. paasta_tools/paastaapi/model/instance_status_kafkacluster.py +173 -0
  236. paasta_tools/paastaapi/model/instance_status_kubernetes.py +263 -0
  237. paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +187 -0
  238. paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +197 -0
  239. paasta_tools/paastaapi/model/instance_status_tron.py +204 -0
  240. paasta_tools/paastaapi/model/instance_tasks.py +182 -0
  241. paasta_tools/paastaapi/model/integer_and_error.py +173 -0
  242. paasta_tools/paastaapi/model/kubernetes_container.py +178 -0
  243. paasta_tools/paastaapi/model/kubernetes_container_v2.py +219 -0
  244. paasta_tools/paastaapi/model/kubernetes_healthcheck.py +176 -0
  245. paasta_tools/paastaapi/model/kubernetes_pod.py +201 -0
  246. paasta_tools/paastaapi/model/kubernetes_pod_event.py +176 -0
  247. paasta_tools/paastaapi/model/kubernetes_pod_v2.py +213 -0
  248. paasta_tools/paastaapi/model/kubernetes_replica_set.py +185 -0
  249. paasta_tools/paastaapi/model/kubernetes_version.py +202 -0
  250. paasta_tools/paastaapi/model/remote_run_outcome.py +189 -0
  251. paasta_tools/paastaapi/model/remote_run_start.py +185 -0
  252. paasta_tools/paastaapi/model/remote_run_stop.py +176 -0
  253. paasta_tools/paastaapi/model/remote_run_token.py +173 -0
  254. paasta_tools/paastaapi/model/resource.py +187 -0
  255. paasta_tools/paastaapi/model/resource_item.py +187 -0
  256. paasta_tools/paastaapi/model/resource_value.py +176 -0
  257. paasta_tools/paastaapi/model/smartstack_backend.py +191 -0
  258. paasta_tools/paastaapi/model/smartstack_location.py +181 -0
  259. paasta_tools/paastaapi/model/smartstack_status.py +181 -0
  260. paasta_tools/paastaapi/model/task_tail_lines.py +176 -0
  261. paasta_tools/paastaapi/model_utils.py +1879 -0
  262. paasta_tools/paastaapi/models/__init__.py +62 -0
  263. paasta_tools/paastaapi/rest.py +287 -0
  264. paasta_tools/prune_completed_pods.py +220 -0
  265. paasta_tools/puppet_service_tools.py +59 -0
  266. paasta_tools/py.typed +1 -0
  267. paasta_tools/remote_git.py +127 -0
  268. paasta_tools/run-paasta-api-in-dev-mode.py +57 -0
  269. paasta_tools/run-paasta-api-playground.py +51 -0
  270. paasta_tools/secret_providers/__init__.py +66 -0
  271. paasta_tools/secret_providers/vault.py +214 -0
  272. paasta_tools/secret_tools.py +277 -0
  273. paasta_tools/setup_istio_mesh.py +353 -0
  274. paasta_tools/setup_kubernetes_cr.py +412 -0
  275. paasta_tools/setup_kubernetes_crd.py +138 -0
  276. paasta_tools/setup_kubernetes_internal_crd.py +154 -0
  277. paasta_tools/setup_kubernetes_job.py +353 -0
  278. paasta_tools/setup_prometheus_adapter_config.py +1028 -0
  279. paasta_tools/setup_tron_namespace.py +248 -0
  280. paasta_tools/slack.py +75 -0
  281. paasta_tools/smartstack_tools.py +676 -0
  282. paasta_tools/spark_tools.py +283 -0
  283. paasta_tools/synapse_srv_namespaces_fact.py +42 -0
  284. paasta_tools/tron/__init__.py +0 -0
  285. paasta_tools/tron/client.py +158 -0
  286. paasta_tools/tron/tron_command_context.py +194 -0
  287. paasta_tools/tron/tron_timeutils.py +101 -0
  288. paasta_tools/tron_tools.py +1448 -0
  289. paasta_tools/utils.py +4307 -0
  290. paasta_tools/yaml_tools.py +44 -0
  291. paasta_tools-1.21.3.data/scripts/apply_external_resources.py +79 -0
  292. paasta_tools-1.21.3.data/scripts/bounce_log_latency_parser.py +68 -0
  293. paasta_tools-1.21.3.data/scripts/check_autoscaler_max_instances.py +212 -0
  294. paasta_tools-1.21.3.data/scripts/check_cassandracluster_services_replication.py +35 -0
  295. paasta_tools-1.21.3.data/scripts/check_flink_services_health.py +203 -0
  296. paasta_tools-1.21.3.data/scripts/check_kubernetes_api.py +57 -0
  297. paasta_tools-1.21.3.data/scripts/check_kubernetes_services_replication.py +141 -0
  298. paasta_tools-1.21.3.data/scripts/check_manual_oapi_changes.sh +24 -0
  299. paasta_tools-1.21.3.data/scripts/check_oom_events.py +244 -0
  300. paasta_tools-1.21.3.data/scripts/check_orphans.py +306 -0
  301. paasta_tools-1.21.3.data/scripts/check_spark_jobs.py +234 -0
  302. paasta_tools-1.21.3.data/scripts/cleanup_kubernetes_cr.py +138 -0
  303. paasta_tools-1.21.3.data/scripts/cleanup_kubernetes_crd.py +145 -0
  304. paasta_tools-1.21.3.data/scripts/cleanup_kubernetes_jobs.py +344 -0
  305. paasta_tools-1.21.3.data/scripts/create_dynamodb_table.py +35 -0
  306. paasta_tools-1.21.3.data/scripts/create_paasta_playground.py +105 -0
  307. paasta_tools-1.21.3.data/scripts/delete_kubernetes_deployments.py +89 -0
  308. paasta_tools-1.21.3.data/scripts/emit_allocated_cpu_metrics.py +50 -0
  309. paasta_tools-1.21.3.data/scripts/generate_all_deployments +9 -0
  310. paasta_tools-1.21.3.data/scripts/generate_authenticating_services.py +94 -0
  311. paasta_tools-1.21.3.data/scripts/generate_deployments_for_service.py +255 -0
  312. paasta_tools-1.21.3.data/scripts/generate_services_file.py +114 -0
  313. paasta_tools-1.21.3.data/scripts/generate_services_yaml.py +30 -0
  314. paasta_tools-1.21.3.data/scripts/get_running_task_allocation.py +346 -0
  315. paasta_tools-1.21.3.data/scripts/habitat_fixer.py +86 -0
  316. paasta_tools-1.21.3.data/scripts/ide_helper.py +316 -0
  317. paasta_tools-1.21.3.data/scripts/is_pod_healthy_in_proxy.py +139 -0
  318. paasta_tools-1.21.3.data/scripts/is_pod_healthy_in_smartstack.py +50 -0
  319. paasta_tools-1.21.3.data/scripts/kill_bad_containers.py +109 -0
  320. paasta_tools-1.21.3.data/scripts/kubernetes_remove_evicted_pods.py +164 -0
  321. paasta_tools-1.21.3.data/scripts/mass-deploy-tag.sh +44 -0
  322. paasta_tools-1.21.3.data/scripts/mock_patch_checker.py +86 -0
  323. paasta_tools-1.21.3.data/scripts/paasta_cleanup_remote_run_resources.py +135 -0
  324. paasta_tools-1.21.3.data/scripts/paasta_cleanup_stale_nodes.py +181 -0
  325. paasta_tools-1.21.3.data/scripts/paasta_deploy_tron_jobs +3 -0
  326. paasta_tools-1.21.3.data/scripts/paasta_execute_docker_command.py +123 -0
  327. paasta_tools-1.21.3.data/scripts/paasta_secrets_sync.py +758 -0
  328. paasta_tools-1.21.3.data/scripts/paasta_tabcomplete.sh +23 -0
  329. paasta_tools-1.21.3.data/scripts/paasta_update_soa_memcpu.py +520 -0
  330. paasta_tools-1.21.3.data/scripts/render_template.py +129 -0
  331. paasta_tools-1.21.3.data/scripts/rightsizer_soaconfigs_update.py +348 -0
  332. paasta_tools-1.21.3.data/scripts/service_shard_remove.py +157 -0
  333. paasta_tools-1.21.3.data/scripts/service_shard_update.py +373 -0
  334. paasta_tools-1.21.3.data/scripts/setup_istio_mesh.py +353 -0
  335. paasta_tools-1.21.3.data/scripts/setup_kubernetes_cr.py +412 -0
  336. paasta_tools-1.21.3.data/scripts/setup_kubernetes_crd.py +138 -0
  337. paasta_tools-1.21.3.data/scripts/setup_kubernetes_internal_crd.py +154 -0
  338. paasta_tools-1.21.3.data/scripts/setup_kubernetes_job.py +353 -0
  339. paasta_tools-1.21.3.data/scripts/setup_prometheus_adapter_config.py +1028 -0
  340. paasta_tools-1.21.3.data/scripts/shared_ip_check.py +77 -0
  341. paasta_tools-1.21.3.data/scripts/synapse_srv_namespaces_fact.py +42 -0
  342. paasta_tools-1.21.3.data/scripts/timeouts_metrics_prom.py +64 -0
  343. paasta_tools-1.21.3.dist-info/LICENSE +201 -0
  344. paasta_tools-1.21.3.dist-info/METADATA +74 -0
  345. paasta_tools-1.21.3.dist-info/RECORD +348 -0
  346. paasta_tools-1.21.3.dist-info/WHEEL +5 -0
  347. paasta_tools-1.21.3.dist-info/entry_points.txt +20 -0
  348. paasta_tools-1.21.3.dist-info/top_level.txt +2 -0
@@ -0,0 +1,604 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Paasta API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 1.2.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import re # noqa: F401
14
+ import sys # noqa: F401
15
+
16
+ from paasta_tools.paastaapi.api_client import ApiClient, Endpoint
17
+ from paasta_tools.paastaapi.model_utils import ( # noqa: F401
18
+ check_allowed_values,
19
+ check_validations,
20
+ date,
21
+ datetime,
22
+ file_type,
23
+ none_type,
24
+ validate_and_convert_types
25
+ )
26
+ from paasta_tools.paastaapi.model.remote_run_outcome import RemoteRunOutcome
27
+ from paasta_tools.paastaapi.model.remote_run_start import RemoteRunStart
28
+ from paasta_tools.paastaapi.model.remote_run_stop import RemoteRunStop
29
+ from paasta_tools.paastaapi.model.remote_run_token import RemoteRunToken
30
+
31
+
32
+ class RemoteRunApi(object):
33
+ """NOTE: This class is auto generated by OpenAPI Generator
34
+ Ref: https://openapi-generator.tech
35
+
36
+ Do not edit the class manually.
37
+ """
38
+
39
+ def __init__(self, api_client=None):
40
+ if api_client is None:
41
+ api_client = ApiClient()
42
+ self.api_client = api_client
43
+
44
+ def __remote_run_poll(
45
+ self,
46
+ service,
47
+ instance,
48
+ job_name,
49
+ user,
50
+ **kwargs
51
+ ):
52
+ """Check if remote run pod is ready # noqa: E501
53
+
54
+ This method makes a synchronous HTTP request by default. To make an
55
+ asynchronous HTTP request, please pass async_req=True
56
+
57
+ >>> thread = api.remote_run_poll(service, instance, job_name, user, async_req=True)
58
+ >>> result = thread.get()
59
+
60
+ Args:
61
+ service (str): Service name
62
+ instance (str): Instance name
63
+ job_name (str): Job name
64
+ user (str): User requesting job
65
+
66
+ Keyword Args:
67
+ toolbox (bool): Whether this is a toolbox job. [optional]
68
+ _return_http_data_only (bool): response data without head status
69
+ code and headers. Default is True.
70
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
71
+ will be returned without reading/decoding response data.
72
+ Default is True.
73
+ _request_timeout (float/tuple): timeout setting for this request. If one
74
+ number provided, it will be total request timeout. It can also
75
+ be a pair (tuple) of (connection, read) timeouts.
76
+ Default is None.
77
+ _check_input_type (bool): specifies if type checking
78
+ should be done one the data sent to the server.
79
+ Default is True.
80
+ _check_return_type (bool): specifies if type checking
81
+ should be done one the data received from the server.
82
+ Default is True.
83
+ _host_index (int/None): specifies the index of the server
84
+ that we want to use.
85
+ Default is read from the configuration.
86
+ async_req (bool): execute request asynchronously
87
+
88
+ Returns:
89
+ RemoteRunOutcome
90
+ If the method is called asynchronously, returns the request
91
+ thread.
92
+ """
93
+ kwargs['async_req'] = kwargs.get(
94
+ 'async_req', False
95
+ )
96
+ kwargs['_return_http_data_only'] = kwargs.get(
97
+ '_return_http_data_only', True
98
+ )
99
+ kwargs['_preload_content'] = kwargs.get(
100
+ '_preload_content', True
101
+ )
102
+ kwargs['_request_timeout'] = kwargs.get(
103
+ '_request_timeout', None
104
+ )
105
+ kwargs['_check_input_type'] = kwargs.get(
106
+ '_check_input_type', True
107
+ )
108
+ kwargs['_check_return_type'] = kwargs.get(
109
+ '_check_return_type', True
110
+ )
111
+ kwargs['_host_index'] = kwargs.get('_host_index')
112
+ kwargs['service'] = \
113
+ service
114
+ kwargs['instance'] = \
115
+ instance
116
+ kwargs['job_name'] = \
117
+ job_name
118
+ kwargs['user'] = \
119
+ user
120
+ return self.call_with_http_info(**kwargs)
121
+
122
+ self.remote_run_poll = Endpoint(
123
+ settings={
124
+ 'response_type': (RemoteRunOutcome,),
125
+ 'auth': [],
126
+ 'endpoint_path': '/remote_run/{service}/{instance}/poll',
127
+ 'operation_id': 'remote_run_poll',
128
+ 'http_method': 'GET',
129
+ 'servers': None,
130
+ },
131
+ params_map={
132
+ 'all': [
133
+ 'service',
134
+ 'instance',
135
+ 'job_name',
136
+ 'user',
137
+ 'toolbox',
138
+ ],
139
+ 'required': [
140
+ 'service',
141
+ 'instance',
142
+ 'job_name',
143
+ 'user',
144
+ ],
145
+ 'nullable': [
146
+ ],
147
+ 'enum': [
148
+ ],
149
+ 'validation': [
150
+ ]
151
+ },
152
+ root_map={
153
+ 'validations': {
154
+ },
155
+ 'allowed_values': {
156
+ },
157
+ 'openapi_types': {
158
+ 'service':
159
+ (str,),
160
+ 'instance':
161
+ (str,),
162
+ 'job_name':
163
+ (str,),
164
+ 'user':
165
+ (str,),
166
+ 'toolbox':
167
+ (bool,),
168
+ },
169
+ 'attribute_map': {
170
+ 'service': 'service',
171
+ 'instance': 'instance',
172
+ 'job_name': 'job_name',
173
+ 'user': 'user',
174
+ 'toolbox': 'toolbox',
175
+ },
176
+ 'location_map': {
177
+ 'service': 'path',
178
+ 'instance': 'path',
179
+ 'job_name': 'query',
180
+ 'user': 'query',
181
+ 'toolbox': 'query',
182
+ },
183
+ 'collection_format_map': {
184
+ }
185
+ },
186
+ headers_map={
187
+ 'accept': [
188
+ 'application/json'
189
+ ],
190
+ 'content_type': [],
191
+ },
192
+ api_client=api_client,
193
+ callable=__remote_run_poll
194
+ )
195
+
196
+ def __remote_run_start(
197
+ self,
198
+ service,
199
+ instance,
200
+ remote_run_start,
201
+ **kwargs
202
+ ):
203
+ """Launch a remote-run pod # noqa: E501
204
+
205
+ This method makes a synchronous HTTP request by default. To make an
206
+ asynchronous HTTP request, please pass async_req=True
207
+
208
+ >>> thread = api.remote_run_start(service, instance, remote_run_start, async_req=True)
209
+ >>> result = thread.get()
210
+
211
+ Args:
212
+ service (str): Service name
213
+ instance (str): Instance name
214
+ remote_run_start (RemoteRunStart):
215
+
216
+ Keyword Args:
217
+ _return_http_data_only (bool): response data without head status
218
+ code and headers. Default is True.
219
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
220
+ will be returned without reading/decoding response data.
221
+ Default is True.
222
+ _request_timeout (float/tuple): timeout setting for this request. If one
223
+ number provided, it will be total request timeout. It can also
224
+ be a pair (tuple) of (connection, read) timeouts.
225
+ Default is None.
226
+ _check_input_type (bool): specifies if type checking
227
+ should be done one the data sent to the server.
228
+ Default is True.
229
+ _check_return_type (bool): specifies if type checking
230
+ should be done one the data received from the server.
231
+ Default is True.
232
+ _host_index (int/None): specifies the index of the server
233
+ that we want to use.
234
+ Default is read from the configuration.
235
+ async_req (bool): execute request asynchronously
236
+
237
+ Returns:
238
+ RemoteRunOutcome
239
+ If the method is called asynchronously, returns the request
240
+ thread.
241
+ """
242
+ kwargs['async_req'] = kwargs.get(
243
+ 'async_req', False
244
+ )
245
+ kwargs['_return_http_data_only'] = kwargs.get(
246
+ '_return_http_data_only', True
247
+ )
248
+ kwargs['_preload_content'] = kwargs.get(
249
+ '_preload_content', True
250
+ )
251
+ kwargs['_request_timeout'] = kwargs.get(
252
+ '_request_timeout', None
253
+ )
254
+ kwargs['_check_input_type'] = kwargs.get(
255
+ '_check_input_type', True
256
+ )
257
+ kwargs['_check_return_type'] = kwargs.get(
258
+ '_check_return_type', True
259
+ )
260
+ kwargs['_host_index'] = kwargs.get('_host_index')
261
+ kwargs['service'] = \
262
+ service
263
+ kwargs['instance'] = \
264
+ instance
265
+ kwargs['remote_run_start'] = \
266
+ remote_run_start
267
+ return self.call_with_http_info(**kwargs)
268
+
269
+ self.remote_run_start = Endpoint(
270
+ settings={
271
+ 'response_type': (RemoteRunOutcome,),
272
+ 'auth': [],
273
+ 'endpoint_path': '/remote_run/{service}/{instance}/start',
274
+ 'operation_id': 'remote_run_start',
275
+ 'http_method': 'POST',
276
+ 'servers': None,
277
+ },
278
+ params_map={
279
+ 'all': [
280
+ 'service',
281
+ 'instance',
282
+ 'remote_run_start',
283
+ ],
284
+ 'required': [
285
+ 'service',
286
+ 'instance',
287
+ 'remote_run_start',
288
+ ],
289
+ 'nullable': [
290
+ ],
291
+ 'enum': [
292
+ ],
293
+ 'validation': [
294
+ ]
295
+ },
296
+ root_map={
297
+ 'validations': {
298
+ },
299
+ 'allowed_values': {
300
+ },
301
+ 'openapi_types': {
302
+ 'service':
303
+ (str,),
304
+ 'instance':
305
+ (str,),
306
+ 'remote_run_start':
307
+ (RemoteRunStart,),
308
+ },
309
+ 'attribute_map': {
310
+ 'service': 'service',
311
+ 'instance': 'instance',
312
+ },
313
+ 'location_map': {
314
+ 'service': 'path',
315
+ 'instance': 'path',
316
+ 'remote_run_start': 'body',
317
+ },
318
+ 'collection_format_map': {
319
+ }
320
+ },
321
+ headers_map={
322
+ 'accept': [
323
+ 'application/json'
324
+ ],
325
+ 'content_type': [
326
+ 'application/json'
327
+ ]
328
+ },
329
+ api_client=api_client,
330
+ callable=__remote_run_start
331
+ )
332
+
333
+ def __remote_run_stop(
334
+ self,
335
+ service,
336
+ instance,
337
+ remote_run_stop,
338
+ **kwargs
339
+ ):
340
+ """Stop a remote-run pod # noqa: E501
341
+
342
+ This method makes a synchronous HTTP request by default. To make an
343
+ asynchronous HTTP request, please pass async_req=True
344
+
345
+ >>> thread = api.remote_run_stop(service, instance, remote_run_stop, async_req=True)
346
+ >>> result = thread.get()
347
+
348
+ Args:
349
+ service (str): Service name
350
+ instance (str): Instance name
351
+ remote_run_stop (RemoteRunStop):
352
+
353
+ Keyword Args:
354
+ _return_http_data_only (bool): response data without head status
355
+ code and headers. Default is True.
356
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
357
+ will be returned without reading/decoding response data.
358
+ Default is True.
359
+ _request_timeout (float/tuple): timeout setting for this request. If one
360
+ number provided, it will be total request timeout. It can also
361
+ be a pair (tuple) of (connection, read) timeouts.
362
+ Default is None.
363
+ _check_input_type (bool): specifies if type checking
364
+ should be done one the data sent to the server.
365
+ Default is True.
366
+ _check_return_type (bool): specifies if type checking
367
+ should be done one the data received from the server.
368
+ Default is True.
369
+ _host_index (int/None): specifies the index of the server
370
+ that we want to use.
371
+ Default is read from the configuration.
372
+ async_req (bool): execute request asynchronously
373
+
374
+ Returns:
375
+ RemoteRunOutcome
376
+ If the method is called asynchronously, returns the request
377
+ thread.
378
+ """
379
+ kwargs['async_req'] = kwargs.get(
380
+ 'async_req', False
381
+ )
382
+ kwargs['_return_http_data_only'] = kwargs.get(
383
+ '_return_http_data_only', True
384
+ )
385
+ kwargs['_preload_content'] = kwargs.get(
386
+ '_preload_content', True
387
+ )
388
+ kwargs['_request_timeout'] = kwargs.get(
389
+ '_request_timeout', None
390
+ )
391
+ kwargs['_check_input_type'] = kwargs.get(
392
+ '_check_input_type', True
393
+ )
394
+ kwargs['_check_return_type'] = kwargs.get(
395
+ '_check_return_type', True
396
+ )
397
+ kwargs['_host_index'] = kwargs.get('_host_index')
398
+ kwargs['service'] = \
399
+ service
400
+ kwargs['instance'] = \
401
+ instance
402
+ kwargs['remote_run_stop'] = \
403
+ remote_run_stop
404
+ return self.call_with_http_info(**kwargs)
405
+
406
+ self.remote_run_stop = Endpoint(
407
+ settings={
408
+ 'response_type': (RemoteRunOutcome,),
409
+ 'auth': [],
410
+ 'endpoint_path': '/remote_run/{service}/{instance}/stop',
411
+ 'operation_id': 'remote_run_stop',
412
+ 'http_method': 'POST',
413
+ 'servers': None,
414
+ },
415
+ params_map={
416
+ 'all': [
417
+ 'service',
418
+ 'instance',
419
+ 'remote_run_stop',
420
+ ],
421
+ 'required': [
422
+ 'service',
423
+ 'instance',
424
+ 'remote_run_stop',
425
+ ],
426
+ 'nullable': [
427
+ ],
428
+ 'enum': [
429
+ ],
430
+ 'validation': [
431
+ ]
432
+ },
433
+ root_map={
434
+ 'validations': {
435
+ },
436
+ 'allowed_values': {
437
+ },
438
+ 'openapi_types': {
439
+ 'service':
440
+ (str,),
441
+ 'instance':
442
+ (str,),
443
+ 'remote_run_stop':
444
+ (RemoteRunStop,),
445
+ },
446
+ 'attribute_map': {
447
+ 'service': 'service',
448
+ 'instance': 'instance',
449
+ },
450
+ 'location_map': {
451
+ 'service': 'path',
452
+ 'instance': 'path',
453
+ 'remote_run_stop': 'body',
454
+ },
455
+ 'collection_format_map': {
456
+ }
457
+ },
458
+ headers_map={
459
+ 'accept': [
460
+ 'application/json'
461
+ ],
462
+ 'content_type': [
463
+ 'application/json'
464
+ ]
465
+ },
466
+ api_client=api_client,
467
+ callable=__remote_run_stop
468
+ )
469
+
470
+ def __remote_run_token(
471
+ self,
472
+ service,
473
+ instance,
474
+ user,
475
+ **kwargs
476
+ ):
477
+ """Get a short lived token for exec into remote-run pod # noqa: E501
478
+
479
+ This method makes a synchronous HTTP request by default. To make an
480
+ asynchronous HTTP request, please pass async_req=True
481
+
482
+ >>> thread = api.remote_run_token(service, instance, user, async_req=True)
483
+ >>> result = thread.get()
484
+
485
+ Args:
486
+ service (str): Service name
487
+ instance (str): Instance name
488
+ user (str): User name
489
+
490
+ Keyword Args:
491
+ _return_http_data_only (bool): response data without head status
492
+ code and headers. Default is True.
493
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
494
+ will be returned without reading/decoding response data.
495
+ Default is True.
496
+ _request_timeout (float/tuple): timeout setting for this request. If one
497
+ number provided, it will be total request timeout. It can also
498
+ be a pair (tuple) of (connection, read) timeouts.
499
+ Default is None.
500
+ _check_input_type (bool): specifies if type checking
501
+ should be done one the data sent to the server.
502
+ Default is True.
503
+ _check_return_type (bool): specifies if type checking
504
+ should be done one the data received from the server.
505
+ Default is True.
506
+ _host_index (int/None): specifies the index of the server
507
+ that we want to use.
508
+ Default is read from the configuration.
509
+ async_req (bool): execute request asynchronously
510
+
511
+ Returns:
512
+ RemoteRunToken
513
+ If the method is called asynchronously, returns the request
514
+ thread.
515
+ """
516
+ kwargs['async_req'] = kwargs.get(
517
+ 'async_req', False
518
+ )
519
+ kwargs['_return_http_data_only'] = kwargs.get(
520
+ '_return_http_data_only', True
521
+ )
522
+ kwargs['_preload_content'] = kwargs.get(
523
+ '_preload_content', True
524
+ )
525
+ kwargs['_request_timeout'] = kwargs.get(
526
+ '_request_timeout', None
527
+ )
528
+ kwargs['_check_input_type'] = kwargs.get(
529
+ '_check_input_type', True
530
+ )
531
+ kwargs['_check_return_type'] = kwargs.get(
532
+ '_check_return_type', True
533
+ )
534
+ kwargs['_host_index'] = kwargs.get('_host_index')
535
+ kwargs['service'] = \
536
+ service
537
+ kwargs['instance'] = \
538
+ instance
539
+ kwargs['user'] = \
540
+ user
541
+ return self.call_with_http_info(**kwargs)
542
+
543
+ self.remote_run_token = Endpoint(
544
+ settings={
545
+ 'response_type': (RemoteRunToken,),
546
+ 'auth': [],
547
+ 'endpoint_path': '/remote_run/{service}/{instance}/token',
548
+ 'operation_id': 'remote_run_token',
549
+ 'http_method': 'GET',
550
+ 'servers': None,
551
+ },
552
+ params_map={
553
+ 'all': [
554
+ 'service',
555
+ 'instance',
556
+ 'user',
557
+ ],
558
+ 'required': [
559
+ 'service',
560
+ 'instance',
561
+ 'user',
562
+ ],
563
+ 'nullable': [
564
+ ],
565
+ 'enum': [
566
+ ],
567
+ 'validation': [
568
+ ]
569
+ },
570
+ root_map={
571
+ 'validations': {
572
+ },
573
+ 'allowed_values': {
574
+ },
575
+ 'openapi_types': {
576
+ 'service':
577
+ (str,),
578
+ 'instance':
579
+ (str,),
580
+ 'user':
581
+ (str,),
582
+ },
583
+ 'attribute_map': {
584
+ 'service': 'service',
585
+ 'instance': 'instance',
586
+ 'user': 'user',
587
+ },
588
+ 'location_map': {
589
+ 'service': 'path',
590
+ 'instance': 'path',
591
+ 'user': 'query',
592
+ },
593
+ 'collection_format_map': {
594
+ }
595
+ },
596
+ headers_map={
597
+ 'accept': [
598
+ 'application/json'
599
+ ],
600
+ 'content_type': [],
601
+ },
602
+ api_client=api_client,
603
+ callable=__remote_run_token
604
+ )