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,569 @@
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.deploy_queue import DeployQueue
27
+ from paasta_tools.paastaapi.model.inline_object import InlineObject
28
+
29
+
30
+ class DefaultApi(object):
31
+ """NOTE: This class is auto generated by OpenAPI Generator
32
+ Ref: https://openapi-generator.tech
33
+
34
+ Do not edit the class manually.
35
+ """
36
+
37
+ def __init__(self, api_client=None):
38
+ if api_client is None:
39
+ api_client = ApiClient()
40
+ self.api_client = api_client
41
+
42
+ def __delete_service_autoscaler_pause(
43
+ self,
44
+ **kwargs
45
+ ):
46
+ """Unpause the autoscaler # noqa: E501
47
+
48
+ This method makes a synchronous HTTP request by default. To make an
49
+ asynchronous HTTP request, please pass async_req=True
50
+
51
+ >>> thread = api.delete_service_autoscaler_pause(async_req=True)
52
+ >>> result = thread.get()
53
+
54
+
55
+ Keyword Args:
56
+ _return_http_data_only (bool): response data without head status
57
+ code and headers. Default is True.
58
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
59
+ will be returned without reading/decoding response data.
60
+ Default is True.
61
+ _request_timeout (float/tuple): timeout setting for this request. If one
62
+ number provided, it will be total request timeout. It can also
63
+ be a pair (tuple) of (connection, read) timeouts.
64
+ Default is None.
65
+ _check_input_type (bool): specifies if type checking
66
+ should be done one the data sent to the server.
67
+ Default is True.
68
+ _check_return_type (bool): specifies if type checking
69
+ should be done one the data received from the server.
70
+ Default is True.
71
+ _host_index (int/None): specifies the index of the server
72
+ that we want to use.
73
+ Default is read from the configuration.
74
+ async_req (bool): execute request asynchronously
75
+
76
+ Returns:
77
+ None
78
+ If the method is called asynchronously, returns the request
79
+ thread.
80
+ """
81
+ kwargs['async_req'] = kwargs.get(
82
+ 'async_req', False
83
+ )
84
+ kwargs['_return_http_data_only'] = kwargs.get(
85
+ '_return_http_data_only', True
86
+ )
87
+ kwargs['_preload_content'] = kwargs.get(
88
+ '_preload_content', True
89
+ )
90
+ kwargs['_request_timeout'] = kwargs.get(
91
+ '_request_timeout', None
92
+ )
93
+ kwargs['_check_input_type'] = kwargs.get(
94
+ '_check_input_type', True
95
+ )
96
+ kwargs['_check_return_type'] = kwargs.get(
97
+ '_check_return_type', True
98
+ )
99
+ kwargs['_host_index'] = kwargs.get('_host_index')
100
+ return self.call_with_http_info(**kwargs)
101
+
102
+ self.delete_service_autoscaler_pause = Endpoint(
103
+ settings={
104
+ 'response_type': None,
105
+ 'auth': [],
106
+ 'endpoint_path': '/service_autoscaler/pause',
107
+ 'operation_id': 'delete_service_autoscaler_pause',
108
+ 'http_method': 'DELETE',
109
+ 'servers': None,
110
+ },
111
+ params_map={
112
+ 'all': [
113
+ ],
114
+ 'required': [],
115
+ 'nullable': [
116
+ ],
117
+ 'enum': [
118
+ ],
119
+ 'validation': [
120
+ ]
121
+ },
122
+ root_map={
123
+ 'validations': {
124
+ },
125
+ 'allowed_values': {
126
+ },
127
+ 'openapi_types': {
128
+ },
129
+ 'attribute_map': {
130
+ },
131
+ 'location_map': {
132
+ },
133
+ 'collection_format_map': {
134
+ }
135
+ },
136
+ headers_map={
137
+ 'accept': [],
138
+ 'content_type': [],
139
+ },
140
+ api_client=api_client,
141
+ callable=__delete_service_autoscaler_pause
142
+ )
143
+
144
+ def __deploy_queue(
145
+ self,
146
+ **kwargs
147
+ ):
148
+ """Get deploy queue contents # noqa: E501
149
+
150
+ This method makes a synchronous HTTP request by default. To make an
151
+ asynchronous HTTP request, please pass async_req=True
152
+
153
+ >>> thread = api.deploy_queue(async_req=True)
154
+ >>> result = thread.get()
155
+
156
+
157
+ Keyword Args:
158
+ _return_http_data_only (bool): response data without head status
159
+ code and headers. Default is True.
160
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
161
+ will be returned without reading/decoding response data.
162
+ Default is True.
163
+ _request_timeout (float/tuple): timeout setting for this request. If one
164
+ number provided, it will be total request timeout. It can also
165
+ be a pair (tuple) of (connection, read) timeouts.
166
+ Default is None.
167
+ _check_input_type (bool): specifies if type checking
168
+ should be done one the data sent to the server.
169
+ Default is True.
170
+ _check_return_type (bool): specifies if type checking
171
+ should be done one the data received from the server.
172
+ Default is True.
173
+ _host_index (int/None): specifies the index of the server
174
+ that we want to use.
175
+ Default is read from the configuration.
176
+ async_req (bool): execute request asynchronously
177
+
178
+ Returns:
179
+ DeployQueue
180
+ If the method is called asynchronously, returns the request
181
+ thread.
182
+ """
183
+ kwargs['async_req'] = kwargs.get(
184
+ 'async_req', False
185
+ )
186
+ kwargs['_return_http_data_only'] = kwargs.get(
187
+ '_return_http_data_only', True
188
+ )
189
+ kwargs['_preload_content'] = kwargs.get(
190
+ '_preload_content', True
191
+ )
192
+ kwargs['_request_timeout'] = kwargs.get(
193
+ '_request_timeout', None
194
+ )
195
+ kwargs['_check_input_type'] = kwargs.get(
196
+ '_check_input_type', True
197
+ )
198
+ kwargs['_check_return_type'] = kwargs.get(
199
+ '_check_return_type', True
200
+ )
201
+ kwargs['_host_index'] = kwargs.get('_host_index')
202
+ return self.call_with_http_info(**kwargs)
203
+
204
+ self.deploy_queue = Endpoint(
205
+ settings={
206
+ 'response_type': (DeployQueue,),
207
+ 'auth': [],
208
+ 'endpoint_path': '/deploy_queue',
209
+ 'operation_id': 'deploy_queue',
210
+ 'http_method': 'GET',
211
+ 'servers': None,
212
+ },
213
+ params_map={
214
+ 'all': [
215
+ ],
216
+ 'required': [],
217
+ 'nullable': [
218
+ ],
219
+ 'enum': [
220
+ ],
221
+ 'validation': [
222
+ ]
223
+ },
224
+ root_map={
225
+ 'validations': {
226
+ },
227
+ 'allowed_values': {
228
+ },
229
+ 'openapi_types': {
230
+ },
231
+ 'attribute_map': {
232
+ },
233
+ 'location_map': {
234
+ },
235
+ 'collection_format_map': {
236
+ }
237
+ },
238
+ headers_map={
239
+ 'accept': [
240
+ 'application/json'
241
+ ],
242
+ 'content_type': [],
243
+ },
244
+ api_client=api_client,
245
+ callable=__deploy_queue
246
+ )
247
+
248
+ def __get_service_autoscaler_pause(
249
+ self,
250
+ **kwargs
251
+ ):
252
+ """Get autoscaling pause time # noqa: E501
253
+
254
+ This method makes a synchronous HTTP request by default. To make an
255
+ asynchronous HTTP request, please pass async_req=True
256
+
257
+ >>> thread = api.get_service_autoscaler_pause(async_req=True)
258
+ >>> result = thread.get()
259
+
260
+
261
+ Keyword Args:
262
+ _return_http_data_only (bool): response data without head status
263
+ code and headers. Default is True.
264
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
265
+ will be returned without reading/decoding response data.
266
+ Default is True.
267
+ _request_timeout (float/tuple): timeout setting for this request. If one
268
+ number provided, it will be total request timeout. It can also
269
+ be a pair (tuple) of (connection, read) timeouts.
270
+ Default is None.
271
+ _check_input_type (bool): specifies if type checking
272
+ should be done one the data sent to the server.
273
+ Default is True.
274
+ _check_return_type (bool): specifies if type checking
275
+ should be done one the data received from the server.
276
+ Default is True.
277
+ _host_index (int/None): specifies the index of the server
278
+ that we want to use.
279
+ Default is read from the configuration.
280
+ async_req (bool): execute request asynchronously
281
+
282
+ Returns:
283
+ str
284
+ If the method is called asynchronously, returns the request
285
+ thread.
286
+ """
287
+ kwargs['async_req'] = kwargs.get(
288
+ 'async_req', False
289
+ )
290
+ kwargs['_return_http_data_only'] = kwargs.get(
291
+ '_return_http_data_only', True
292
+ )
293
+ kwargs['_preload_content'] = kwargs.get(
294
+ '_preload_content', True
295
+ )
296
+ kwargs['_request_timeout'] = kwargs.get(
297
+ '_request_timeout', None
298
+ )
299
+ kwargs['_check_input_type'] = kwargs.get(
300
+ '_check_input_type', True
301
+ )
302
+ kwargs['_check_return_type'] = kwargs.get(
303
+ '_check_return_type', True
304
+ )
305
+ kwargs['_host_index'] = kwargs.get('_host_index')
306
+ return self.call_with_http_info(**kwargs)
307
+
308
+ self.get_service_autoscaler_pause = Endpoint(
309
+ settings={
310
+ 'response_type': (str,),
311
+ 'auth': [],
312
+ 'endpoint_path': '/service_autoscaler/pause',
313
+ 'operation_id': 'get_service_autoscaler_pause',
314
+ 'http_method': 'GET',
315
+ 'servers': None,
316
+ },
317
+ params_map={
318
+ 'all': [
319
+ ],
320
+ 'required': [],
321
+ 'nullable': [
322
+ ],
323
+ 'enum': [
324
+ ],
325
+ 'validation': [
326
+ ]
327
+ },
328
+ root_map={
329
+ 'validations': {
330
+ },
331
+ 'allowed_values': {
332
+ },
333
+ 'openapi_types': {
334
+ },
335
+ 'attribute_map': {
336
+ },
337
+ 'location_map': {
338
+ },
339
+ 'collection_format_map': {
340
+ }
341
+ },
342
+ headers_map={
343
+ 'accept': [
344
+ 'application/json'
345
+ ],
346
+ 'content_type': [],
347
+ },
348
+ api_client=api_client,
349
+ callable=__get_service_autoscaler_pause
350
+ )
351
+
352
+ def __show_version(
353
+ self,
354
+ **kwargs
355
+ ):
356
+ """Version of paasta_tools package # noqa: E501
357
+
358
+ This method makes a synchronous HTTP request by default. To make an
359
+ asynchronous HTTP request, please pass async_req=True
360
+
361
+ >>> thread = api.show_version(async_req=True)
362
+ >>> result = thread.get()
363
+
364
+
365
+ Keyword Args:
366
+ _return_http_data_only (bool): response data without head status
367
+ code and headers. Default is True.
368
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
369
+ will be returned without reading/decoding response data.
370
+ Default is True.
371
+ _request_timeout (float/tuple): timeout setting for this request. If one
372
+ number provided, it will be total request timeout. It can also
373
+ be a pair (tuple) of (connection, read) timeouts.
374
+ Default is None.
375
+ _check_input_type (bool): specifies if type checking
376
+ should be done one the data sent to the server.
377
+ Default is True.
378
+ _check_return_type (bool): specifies if type checking
379
+ should be done one the data received from the server.
380
+ Default is True.
381
+ _host_index (int/None): specifies the index of the server
382
+ that we want to use.
383
+ Default is read from the configuration.
384
+ async_req (bool): execute request asynchronously
385
+
386
+ Returns:
387
+ str
388
+ If the method is called asynchronously, returns the request
389
+ thread.
390
+ """
391
+ kwargs['async_req'] = kwargs.get(
392
+ 'async_req', False
393
+ )
394
+ kwargs['_return_http_data_only'] = kwargs.get(
395
+ '_return_http_data_only', True
396
+ )
397
+ kwargs['_preload_content'] = kwargs.get(
398
+ '_preload_content', True
399
+ )
400
+ kwargs['_request_timeout'] = kwargs.get(
401
+ '_request_timeout', None
402
+ )
403
+ kwargs['_check_input_type'] = kwargs.get(
404
+ '_check_input_type', True
405
+ )
406
+ kwargs['_check_return_type'] = kwargs.get(
407
+ '_check_return_type', True
408
+ )
409
+ kwargs['_host_index'] = kwargs.get('_host_index')
410
+ return self.call_with_http_info(**kwargs)
411
+
412
+ self.show_version = Endpoint(
413
+ settings={
414
+ 'response_type': (str,),
415
+ 'auth': [],
416
+ 'endpoint_path': '/version',
417
+ 'operation_id': 'show_version',
418
+ 'http_method': 'GET',
419
+ 'servers': None,
420
+ },
421
+ params_map={
422
+ 'all': [
423
+ ],
424
+ 'required': [],
425
+ 'nullable': [
426
+ ],
427
+ 'enum': [
428
+ ],
429
+ 'validation': [
430
+ ]
431
+ },
432
+ root_map={
433
+ 'validations': {
434
+ },
435
+ 'allowed_values': {
436
+ },
437
+ 'openapi_types': {
438
+ },
439
+ 'attribute_map': {
440
+ },
441
+ 'location_map': {
442
+ },
443
+ 'collection_format_map': {
444
+ }
445
+ },
446
+ headers_map={
447
+ 'accept': [
448
+ 'application/json'
449
+ ],
450
+ 'content_type': [],
451
+ },
452
+ api_client=api_client,
453
+ callable=__show_version
454
+ )
455
+
456
+ def __update_service_autoscaler_pause(
457
+ self,
458
+ inline_object,
459
+ **kwargs
460
+ ):
461
+ """update_service_autoscaler_pause # noqa: E501
462
+
463
+ This method makes a synchronous HTTP request by default. To make an
464
+ asynchronous HTTP request, please pass async_req=True
465
+
466
+ >>> thread = api.update_service_autoscaler_pause(inline_object, async_req=True)
467
+ >>> result = thread.get()
468
+
469
+ Args:
470
+ inline_object (InlineObject):
471
+
472
+ Keyword Args:
473
+ _return_http_data_only (bool): response data without head status
474
+ code and headers. Default is True.
475
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
476
+ will be returned without reading/decoding response data.
477
+ Default is True.
478
+ _request_timeout (float/tuple): timeout setting for this request. If one
479
+ number provided, it will be total request timeout. It can also
480
+ be a pair (tuple) of (connection, read) timeouts.
481
+ Default is None.
482
+ _check_input_type (bool): specifies if type checking
483
+ should be done one the data sent to the server.
484
+ Default is True.
485
+ _check_return_type (bool): specifies if type checking
486
+ should be done one the data received from the server.
487
+ Default is True.
488
+ _host_index (int/None): specifies the index of the server
489
+ that we want to use.
490
+ Default is read from the configuration.
491
+ async_req (bool): execute request asynchronously
492
+
493
+ Returns:
494
+ None
495
+ If the method is called asynchronously, returns the request
496
+ thread.
497
+ """
498
+ kwargs['async_req'] = kwargs.get(
499
+ 'async_req', False
500
+ )
501
+ kwargs['_return_http_data_only'] = kwargs.get(
502
+ '_return_http_data_only', True
503
+ )
504
+ kwargs['_preload_content'] = kwargs.get(
505
+ '_preload_content', True
506
+ )
507
+ kwargs['_request_timeout'] = kwargs.get(
508
+ '_request_timeout', None
509
+ )
510
+ kwargs['_check_input_type'] = kwargs.get(
511
+ '_check_input_type', True
512
+ )
513
+ kwargs['_check_return_type'] = kwargs.get(
514
+ '_check_return_type', True
515
+ )
516
+ kwargs['_host_index'] = kwargs.get('_host_index')
517
+ kwargs['inline_object'] = \
518
+ inline_object
519
+ return self.call_with_http_info(**kwargs)
520
+
521
+ self.update_service_autoscaler_pause = Endpoint(
522
+ settings={
523
+ 'response_type': None,
524
+ 'auth': [],
525
+ 'endpoint_path': '/service_autoscaler/pause',
526
+ 'operation_id': 'update_service_autoscaler_pause',
527
+ 'http_method': 'POST',
528
+ 'servers': None,
529
+ },
530
+ params_map={
531
+ 'all': [
532
+ 'inline_object',
533
+ ],
534
+ 'required': [
535
+ 'inline_object',
536
+ ],
537
+ 'nullable': [
538
+ ],
539
+ 'enum': [
540
+ ],
541
+ 'validation': [
542
+ ]
543
+ },
544
+ root_map={
545
+ 'validations': {
546
+ },
547
+ 'allowed_values': {
548
+ },
549
+ 'openapi_types': {
550
+ 'inline_object':
551
+ (InlineObject,),
552
+ },
553
+ 'attribute_map': {
554
+ },
555
+ 'location_map': {
556
+ 'inline_object': 'body',
557
+ },
558
+ 'collection_format_map': {
559
+ }
560
+ },
561
+ headers_map={
562
+ 'accept': [],
563
+ 'content_type': [
564
+ 'application/json'
565
+ ]
566
+ },
567
+ api_client=api_client,
568
+ callable=__update_service_autoscaler_pause
569
+ )