paasta-tools 1.4.23__tar.gz → 1.4.24__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 (299) hide show
  1. {paasta-tools-1.4.23/paasta_tools.egg-info → paasta-tools-1.4.24}/PKG-INFO +1 -1
  2. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/__init__.py +1 -1
  3. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/local_run.py +4 -1
  4. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/spark_run.py +4 -1
  5. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/status.py +12 -4
  6. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/utils.py +17 -3
  7. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/instance/kubernetes.py +6 -0
  8. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/setup_kubernetes_cr.py +8 -2
  9. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/utils.py +4 -0
  10. paasta-tools-1.4.24/paasta_tools/vitesscell_tools.py +289 -0
  11. paasta-tools-1.4.24/paasta_tools/vitesscluster_tools.py +499 -0
  12. paasta-tools-1.4.24/paasta_tools/vitesskeyspace_tools.py +539 -0
  13. {paasta-tools-1.4.23 → paasta-tools-1.4.24/paasta_tools.egg-info}/PKG-INFO +1 -1
  14. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools.egg-info/SOURCES.txt +2 -0
  15. paasta-tools-1.4.23/paasta_tools/vitesscluster_tools.py +0 -904
  16. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/MANIFEST.in +0 -0
  17. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/README.md +0 -0
  18. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/k8s_itests/__init__.py +0 -0
  19. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/k8s_itests/test_autoscaling.py +0 -0
  20. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/k8s_itests/utils.py +0 -0
  21. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/adhoc_tools.py +0 -0
  22. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/__init__.py +0 -0
  23. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/api.py +0 -0
  24. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/api_docs/swagger.json +0 -0
  25. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/client.py +0 -0
  26. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/settings.py +0 -0
  27. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/tweens/__init__.py +0 -0
  28. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/tweens/profiling.py +0 -0
  29. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/tweens/request_logger.py +0 -0
  30. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/__init__.py +0 -0
  31. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/autoscaler.py +0 -0
  32. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/exception.py +0 -0
  33. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/flink.py +0 -0
  34. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/instance.py +0 -0
  35. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/pause_autoscaler.py +0 -0
  36. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/resources.py +0 -0
  37. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/service.py +0 -0
  38. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/api/views/version.py +0 -0
  39. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/apply_external_resources.py +0 -0
  40. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/async_utils.py +0 -0
  41. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/autoscaling/__init__.py +0 -0
  42. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/autoscaling/autoscaling_service_lib.py +0 -0
  43. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/autoscaling/forecasting.py +0 -0
  44. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/autoscaling/max_all_k8s_services.py +0 -0
  45. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/autoscaling/pause_service_autoscaler.py +0 -0
  46. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/autoscaling/utils.py +0 -0
  47. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/bounce_lib.py +0 -0
  48. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/broadcast_log_to_services.py +0 -0
  49. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cassandracluster_tools.py +0 -0
  50. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/check_autoscaler_max_instances.py +0 -0
  51. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/check_cassandracluster_services_replication.py +0 -0
  52. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/check_flink_services_health.py +0 -0
  53. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/check_kubernetes_api.py +0 -0
  54. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/check_kubernetes_services_replication.py +0 -0
  55. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/check_oom_events.py +0 -0
  56. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/check_services_replication_tools.py +0 -0
  57. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/check_spark_jobs.py +0 -0
  58. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cleanup_kubernetes_cr.py +0 -0
  59. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cleanup_kubernetes_crd.py +0 -0
  60. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cleanup_kubernetes_jobs.py +0 -0
  61. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cleanup_tron_namespaces.py +0 -0
  62. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/__init__.py +0 -0
  63. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cli.py +0 -0
  64. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/__init__.py +0 -0
  65. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/autoscale.py +0 -0
  66. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/check.py +0 -0
  67. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/cook_image.py +0 -0
  68. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/get_docker_image.py +0 -0
  69. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/get_image_version.py +0 -0
  70. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/get_latest_deployment.py +0 -0
  71. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/info.py +0 -0
  72. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/itest.py +0 -0
  73. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/list.py +0 -0
  74. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/list_clusters.py +0 -0
  75. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/list_deploy_queue.py +0 -0
  76. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/logs.py +0 -0
  77. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/mark_for_deployment.py +0 -0
  78. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/mesh_status.py +0 -0
  79. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/pause_service_autoscaler.py +0 -0
  80. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/push_to_registry.py +0 -0
  81. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/remote_run.py +0 -0
  82. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/rollback.py +0 -0
  83. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/secret.py +0 -0
  84. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/security_check.py +0 -0
  85. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/start_stop_restart.py +0 -0
  86. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/validate.py +0 -0
  87. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/cmds/wait_for_deployment.py +0 -0
  88. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/__init__.py +0 -0
  89. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/autosuggest.py +0 -0
  90. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/README.md +0 -0
  91. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/cookiecutter.json +0 -0
  92. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +0 -0
  93. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +0 -0
  94. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +0 -0
  95. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +0 -0
  96. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/fsm_cmd.py +0 -0
  97. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/paasta_tabcomplete.sh +0 -0
  98. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/adhoc_schema.json +0 -0
  99. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/autoscaling_schema.json +0 -0
  100. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +0 -0
  101. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +0 -0
  102. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/deploy_schema.json +0 -0
  103. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/eks_schema.json +0 -0
  104. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/kubernetes_schema.json +0 -0
  105. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/rollback_schema.json +0 -0
  106. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/service_schema.json +0 -0
  107. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/smartstack_schema.json +0 -0
  108. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/cli/schemas/tron_schema.json +0 -0
  109. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/clusterman.py +0 -0
  110. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/config_utils.py +0 -0
  111. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/__init__.py +0 -0
  112. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/bounce_log_latency_parser.py +0 -0
  113. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/check_manual_oapi_changes.sh +0 -0
  114. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/check_orphans.py +0 -0
  115. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/create_dynamodb_table.py +0 -0
  116. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/create_paasta_playground.py +0 -0
  117. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/emit_allocated_cpu_metrics.py +0 -0
  118. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/get_running_task_allocation.py +0 -0
  119. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/habitat_fixer.py +0 -0
  120. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/ide_helper.py +0 -0
  121. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/is_pod_healthy_in_proxy.py +0 -0
  122. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/is_pod_healthy_in_smartstack.py +0 -0
  123. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/kill_bad_containers.py +0 -0
  124. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/mass-deploy-tag.sh +0 -0
  125. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/mock_patch_checker.py +0 -0
  126. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/paasta_update_soa_memcpu.py +0 -0
  127. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/render_template.py +0 -0
  128. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/rightsizer_soaconfigs_update.py +0 -0
  129. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/service_shard_remove.py +0 -0
  130. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/service_shard_update.py +0 -0
  131. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/shared_ip_check.py +0 -0
  132. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/contrib/timeouts_metrics_prom.py +0 -0
  133. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/delete_kubernetes_deployments.py +0 -0
  134. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/deployment_utils.py +0 -0
  135. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/docker_wrapper.py +0 -0
  136. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/docker_wrapper_imports.py +0 -0
  137. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/drain_lib.py +0 -0
  138. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/dump_locally_running_services.py +0 -0
  139. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/eks_tools.py +0 -0
  140. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/envoy_tools.py +0 -0
  141. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/firewall.py +0 -0
  142. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/firewall_logging.py +0 -0
  143. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/firewall_update.py +0 -0
  144. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/flink_tools.py +0 -0
  145. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/flinkeks_tools.py +0 -0
  146. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/frameworks/__init__.py +0 -0
  147. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/frameworks/adhoc_scheduler.py +0 -0
  148. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/frameworks/constraints.py +0 -0
  149. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/frameworks/native_scheduler.py +0 -0
  150. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/frameworks/native_service_config.py +0 -0
  151. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/frameworks/task_store.py +0 -0
  152. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/generate_all_deployments +0 -0
  153. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/generate_authenticating_services.py +0 -0
  154. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/generate_deployments_for_service.py +0 -0
  155. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/generate_services_file.py +0 -0
  156. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/generate_services_yaml.py +0 -0
  157. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/hacheck.py +0 -0
  158. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/instance/__init__.py +0 -0
  159. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/instance/hpa_metrics_parser.py +0 -0
  160. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/iptables.py +0 -0
  161. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kafkacluster_tools.py +0 -0
  162. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes/__init__.py +0 -0
  163. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes/application/__init__.py +0 -0
  164. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes/application/controller_wrappers.py +0 -0
  165. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes/application/tools.py +0 -0
  166. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes/bin/__init__.py +0 -0
  167. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +0 -0
  168. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +0 -0
  169. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes/bin/paasta_secrets_sync.py +0 -0
  170. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/kubernetes_tools.py +0 -0
  171. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/list_kubernetes_service_instances.py +0 -0
  172. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/list_tron_namespaces.py +0 -0
  173. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/log_task_lifecycle_events.py +0 -0
  174. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/long_running_service_tools.py +0 -0
  175. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mac_address.py +0 -0
  176. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/marathon_dashboard.py +0 -0
  177. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/__init__.py +0 -0
  178. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/cfg.py +0 -0
  179. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/cluster.py +0 -0
  180. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/exceptions.py +0 -0
  181. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/framework.py +0 -0
  182. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/log.py +0 -0
  183. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/master.py +0 -0
  184. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/mesos_file.py +0 -0
  185. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/parallel.py +0 -0
  186. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/slave.py +0 -0
  187. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/task.py +0 -0
  188. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/util.py +0 -0
  189. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos/zookeeper.py +0 -0
  190. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos_maintenance.py +0 -0
  191. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/mesos_tools.py +0 -0
  192. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/metrics/__init__.py +0 -0
  193. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/metrics/metastatus_lib.py +0 -0
  194. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/metrics/metrics_lib.py +0 -0
  195. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/monitoring/__init__.py +0 -0
  196. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/monitoring/check_k8s_api_performance.py +0 -0
  197. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/monitoring/kill_orphaned_docker_containers.py +0 -0
  198. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/monitoring_tools.py +0 -0
  199. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/monkrelaycluster_tools.py +0 -0
  200. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/nrtsearchservice_tools.py +0 -0
  201. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/nrtsearchserviceeks_tools.py +0 -0
  202. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/oom_logger.py +0 -0
  203. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paasta_deploy_tron_jobs +0 -0
  204. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paasta_execute_docker_command.py +0 -0
  205. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paasta_native_serviceinit.py +0 -0
  206. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paasta_remote_run.py +0 -0
  207. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paasta_service_config_loader.py +0 -0
  208. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/__init__.py +0 -0
  209. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/__init__.py +0 -0
  210. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/autoscaler_api.py +0 -0
  211. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/default_api.py +0 -0
  212. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/resources_api.py +0 -0
  213. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api/service_api.py +0 -0
  214. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/api_client.py +0 -0
  215. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/apis/__init__.py +0 -0
  216. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/configuration.py +0 -0
  217. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/exceptions.py +0 -0
  218. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/__init__.py +0 -0
  219. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/adhoc_launch_history.py +0 -0
  220. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/autoscaler_count_msg.py +0 -0
  221. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/deploy_queue.py +0 -0
  222. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/deploy_queue_service_instance.py +0 -0
  223. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/envoy_backend.py +0 -0
  224. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/envoy_location.py +0 -0
  225. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/envoy_status.py +0 -0
  226. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_cluster_overview.py +0 -0
  227. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_config.py +0 -0
  228. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_job.py +0 -0
  229. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_job_details.py +0 -0
  230. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/flink_jobs.py +0 -0
  231. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/float_and_error.py +0 -0
  232. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/hpa_metric.py +0 -0
  233. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/inline_object.py +0 -0
  234. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/inline_response200.py +0 -0
  235. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/inline_response2001.py +0 -0
  236. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_bounce_status.py +0 -0
  237. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_mesh_status.py +0 -0
  238. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status.py +0 -0
  239. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_adhoc.py +0 -0
  240. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_cassandracluster.py +0 -0
  241. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_flink.py +0 -0
  242. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_kafkacluster.py +0 -0
  243. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_kubernetes.py +0 -0
  244. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +0 -0
  245. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +0 -0
  246. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_tron.py +0 -0
  247. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_status_vitesscluster.py +0 -0
  248. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/instance_tasks.py +0 -0
  249. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/integer_and_error.py +0 -0
  250. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_container.py +0 -0
  251. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_container_v2.py +0 -0
  252. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_healthcheck.py +0 -0
  253. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_pod.py +0 -0
  254. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_pod_event.py +0 -0
  255. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_pod_v2.py +0 -0
  256. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_replica_set.py +0 -0
  257. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/kubernetes_version.py +0 -0
  258. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/resource.py +0 -0
  259. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/resource_item.py +0 -0
  260. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/resource_value.py +0 -0
  261. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/smartstack_backend.py +0 -0
  262. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/smartstack_location.py +0 -0
  263. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/smartstack_status.py +0 -0
  264. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model/task_tail_lines.py +0 -0
  265. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/model_utils.py +0 -0
  266. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/models/__init__.py +0 -0
  267. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/paastaapi/rest.py +0 -0
  268. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/prune_completed_pods.py +0 -0
  269. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/puppet_service_tools.py +0 -0
  270. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/py.typed +0 -0
  271. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/remote_git.py +0 -0
  272. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/run-paasta-api-in-dev-mode.py +0 -0
  273. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/run-paasta-api-playground.py +0 -0
  274. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/secret_providers/__init__.py +0 -0
  275. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/secret_providers/vault.py +0 -0
  276. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/secret_tools.py +0 -0
  277. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/setup_istio_mesh.py +0 -0
  278. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/setup_kubernetes_crd.py +0 -0
  279. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/setup_kubernetes_internal_crd.py +0 -0
  280. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/setup_kubernetes_job.py +0 -0
  281. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/setup_prometheus_adapter_config.py +0 -0
  282. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/setup_tron_namespace.py +0 -0
  283. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/slack.py +0 -0
  284. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/smartstack_tools.py +0 -0
  285. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/spark_tools.py +0 -0
  286. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/synapse_srv_namespaces_fact.py +0 -0
  287. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/tron/__init__.py +0 -0
  288. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/tron/client.py +0 -0
  289. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/tron/tron_command_context.py +0 -0
  290. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/tron/tron_timeutils.py +0 -0
  291. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools/tron_tools.py +0 -0
  292. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools.egg-info/dependency_links.txt +0 -0
  293. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools.egg-info/entry_points.txt +0 -0
  294. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools.egg-info/requires.txt +0 -0
  295. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/paasta_tools.egg-info/top_level.txt +0 -0
  296. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/pyproject.toml +0 -0
  297. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/requirements-minimal.txt +0 -0
  298. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/setup.cfg +0 -0
  299. {paasta-tools-1.4.23 → paasta-tools-1.4.24}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: paasta-tools
3
- Version: 1.4.23
3
+ Version: 1.4.24
4
4
  Summary: Tools for Yelps SOA infrastructure
5
5
  Home-page: UNKNOWN
6
6
  Author: Compute Infrastructure @ Yelp
@@ -17,4 +17,4 @@
17
17
  # setup phase, the dependencies may not exist on disk yet.
18
18
  #
19
19
  # Don't bump version manually. See `make release` docs in ./Makefile
20
- __version__ = "1.4.23"
20
+ __version__ = "1.4.24"
@@ -1209,7 +1209,10 @@ def configure_and_run_docker_container(
1209
1209
  if pull_image:
1210
1210
  docker_pull_image(docker_url)
1211
1211
 
1212
- for volume in instance_config.get_volumes(system_paasta_config.get_volumes()):
1212
+ for volume in instance_config.get_volumes(
1213
+ system_paasta_config.get_volumes(),
1214
+ system_paasta_config.get_uses_bulkdata_default(),
1215
+ ):
1213
1216
  if os.path.exists(volume["hostPath"]):
1214
1217
  volumes.append(
1215
1218
  "{}:{}:{}".format(
@@ -1189,7 +1189,10 @@ def paasta_spark_run(args: argparse.Namespace) -> int:
1189
1189
  if docker_image_digest is None:
1190
1190
  return 1
1191
1191
 
1192
- volumes = instance_config.get_volumes(system_paasta_config.get_volumes())
1192
+ volumes = instance_config.get_volumes(
1193
+ system_paasta_config.get_volumes(),
1194
+ system_paasta_config.get_uses_bulkdata_default(),
1195
+ )
1193
1196
  app_base_name = get_spark_app_name(args.cmd or instance_config.get_cmd())
1194
1197
 
1195
1198
  user_spark_opts = _parse_user_spark_args(args.spark_args)
@@ -95,14 +95,18 @@ from paasta_tools.utils import load_system_paasta_config
95
95
  from paasta_tools.utils import PaastaColors
96
96
  from paasta_tools.utils import remove_ansi_escape_sequences
97
97
  from paasta_tools.utils import SystemPaastaConfig
98
- from paasta_tools.vitesscluster_tools import VitessDeploymentConfig
98
+ from paasta_tools.vitesscell_tools import VitessCellConfig
99
+ from paasta_tools.vitesscluster_tools import VitessClusterConfig
100
+ from paasta_tools.vitesskeyspace_tools import VitessKeyspaceConfig
99
101
 
100
102
  FLINK_STATUS_MAX_THREAD_POOL_WORKERS = 50
101
103
  ALLOWED_INSTANCE_CONFIG: Sequence[Type[InstanceConfig]] = [
102
104
  FlinkDeploymentConfig,
103
105
  FlinkEksDeploymentConfig,
104
106
  CassandraClusterDeploymentConfig,
105
- VitessDeploymentConfig,
107
+ VitessClusterConfig,
108
+ VitessCellConfig,
109
+ VitessKeyspaceConfig,
106
110
  KafkaClusterDeploymentConfig,
107
111
  KubernetesDeploymentConfig,
108
112
  EksDeploymentConfig,
@@ -115,7 +119,9 @@ DEPLOYMENT_INSTANCE_CONFIG: Sequence[Type[InstanceConfig]] = [
115
119
  FlinkDeploymentConfig,
116
120
  FlinkEksDeploymentConfig,
117
121
  CassandraClusterDeploymentConfig,
118
- VitessDeploymentConfig,
122
+ VitessClusterConfig,
123
+ VitessCellConfig,
124
+ VitessKeyspaceConfig,
119
125
  KafkaClusterDeploymentConfig,
120
126
  KubernetesDeploymentConfig,
121
127
  EksDeploymentConfig,
@@ -137,7 +143,9 @@ InstanceStatusWriter = Callable[
137
143
  EKS_DEPLOYMENT_CONFIGS = [
138
144
  EksDeploymentConfig,
139
145
  FlinkEksDeploymentConfig,
140
- VitessDeploymentConfig,
146
+ VitessClusterConfig,
147
+ VitessCellConfig,
148
+ VitessKeyspaceConfig,
141
149
  ]
142
150
  FLINK_DEPLOYMENT_CONFIGS = [FlinkDeploymentConfig, FlinkEksDeploymentConfig]
143
151
 
@@ -76,7 +76,9 @@ from paasta_tools.utils import PAASTA_K8S_INSTANCE_TYPES
76
76
  from paasta_tools.utils import PaastaColors
77
77
  from paasta_tools.utils import SystemPaastaConfig
78
78
  from paasta_tools.utils import validate_service_instance
79
- from paasta_tools.vitesscluster_tools import load_vitess_instance_config
79
+ from paasta_tools.vitesscell_tools import load_vitess_cell_instance_config
80
+ from paasta_tools.vitesscluster_tools import load_vitess_cluster_instance_config
81
+ from paasta_tools.vitesskeyspace_tools import load_vitess_keyspace_instance_config
80
82
 
81
83
  try:
82
84
  from vault_tools.paasta_secret import get_client as get_vault_client
@@ -680,7 +682,13 @@ INSTANCE_TYPE_HANDLERS: Mapping[str, InstanceTypeHandler] = defaultdict(
680
682
  get_service_instance_list, load_kafkacluster_instance_config
681
683
  ),
682
684
  vitesscluster=InstanceTypeHandler(
683
- get_service_instance_list, load_vitess_instance_config
685
+ get_service_instance_list, load_vitess_cluster_instance_config
686
+ ),
687
+ vitesscell=InstanceTypeHandler(
688
+ get_service_instance_list, load_vitess_cell_instance_config
689
+ ),
690
+ vitesskeyspace=InstanceTypeHandler(
691
+ get_service_instance_list, load_vitess_keyspace_instance_config
684
692
  ),
685
693
  nrtsearchservice=InstanceTypeHandler(
686
694
  get_service_instance_list, load_nrtsearchservice_instance_config
@@ -713,7 +721,13 @@ LONG_RUNNING_INSTANCE_TYPE_HANDLERS: Mapping[
713
721
  get_service_instance_list, load_kafkacluster_instance_config
714
722
  ),
715
723
  vitesscluster=LongRunningInstanceTypeHandler(
716
- get_service_instance_list, load_vitess_instance_config
724
+ get_service_instance_list, load_vitess_cluster_instance_config
725
+ ),
726
+ vitesscell=LongRunningInstanceTypeHandler(
727
+ get_service_instance_list, load_vitess_cell_instance_config
728
+ ),
729
+ vitesskeyspace=LongRunningInstanceTypeHandler(
730
+ get_service_instance_list, load_vitess_keyspace_instance_config
717
731
  ),
718
732
  nrtsearchservice=LongRunningInstanceTypeHandler(
719
733
  get_service_instance_list, load_nrtsearchservice_instance_config
@@ -33,7 +33,9 @@ from paasta_tools import kubernetes_tools
33
33
  from paasta_tools import monkrelaycluster_tools
34
34
  from paasta_tools import nrtsearchservice_tools
35
35
  from paasta_tools import smartstack_tools
36
+ from paasta_tools import vitesscell_tools
36
37
  from paasta_tools import vitesscluster_tools
38
+ from paasta_tools import vitesskeyspace_tools
37
39
  from paasta_tools.cli.utils import LONG_RUNNING_INSTANCE_TYPE_HANDLERS
38
40
  from paasta_tools.instance.hpa_metrics_parser import HPAMetricsDict
39
41
  from paasta_tools.instance.hpa_metrics_parser import HPAMetricsParser
@@ -57,6 +59,8 @@ INSTANCE_TYPES_CR = {
57
59
  "cassandracluster",
58
60
  "kafkacluster",
59
61
  "vitesscluster",
62
+ "vitesscell",
63
+ "vitesskeyspace",
60
64
  }
61
65
  INSTANCE_TYPES_K8S = {
62
66
  "cassandracluster",
@@ -72,6 +76,8 @@ INSTANCE_TYPE_CR_ID = dict(
72
76
  cassandracluster=cassandracluster_tools.cr_id,
73
77
  kafkacluster=kafkacluster_tools.cr_id,
74
78
  vitesscluster=vitesscluster_tools.cr_id,
79
+ vitesscell=vitesscell_tools.cr_id,
80
+ vitesskeyspace=vitesskeyspace_tools.cr_id,
75
81
  nrtsearchservice=nrtsearchservice_tools.cr_id,
76
82
  nrtsearchserviceeks=nrtsearchservice_tools.cr_id,
77
83
  monkrelaycluster=monkrelaycluster_tools.cr_id,
@@ -49,13 +49,19 @@ from paasta_tools.utils import get_config_hash
49
49
  from paasta_tools.utils import get_git_sha_from_dockerurl
50
50
  from paasta_tools.utils import load_all_configs
51
51
  from paasta_tools.utils import load_system_paasta_config
52
- from paasta_tools.vitesscluster_tools import load_vitess_service_instance_configs
52
+ from paasta_tools.vitesscell_tools import load_vitess_cell_instance_configs
53
+ from paasta_tools.vitesscluster_tools import load_vitess_cluster_instance_configs
54
+ from paasta_tools.vitesskeyspace_tools import load_vitess_keyspace_instance_configs
53
55
 
54
56
 
55
57
  log = logging.getLogger(__name__)
56
58
 
57
59
 
58
- INSTANCE_TYPE_TO_CONFIG_LOADER = {"vitesscluster": load_vitess_service_instance_configs}
60
+ INSTANCE_TYPE_TO_CONFIG_LOADER = {
61
+ "vitesscluster": load_vitess_cluster_instance_configs,
62
+ "vitesscell": load_vitess_cell_instance_configs,
63
+ "vitesskeyspace": load_vitess_keyspace_instance_configs,
64
+ }
59
65
 
60
66
 
61
67
  class StdoutKubeClient:
@@ -137,6 +137,8 @@ INSTANCE_TYPES = (
137
137
  "cassandracluster",
138
138
  "kafkacluster",
139
139
  "vitesscluster",
140
+ "vitesscell",
141
+ "vitesskeyspace",
140
142
  "monkrelays",
141
143
  "nrtsearchservice",
142
144
  "nrtsearchserviceeks",
@@ -156,6 +158,8 @@ INSTANCE_TYPE_TO_K8S_NAMESPACE = {
156
158
  "cassandracluster": "paasta-cassandraclusters",
157
159
  "kafkacluster": "paasta-kafkaclusters",
158
160
  "vitesscluster": "paasta-vitessclusters",
161
+ "vitesscell": "paasta-vitessclusters",
162
+ "vitesskeyspace": "paasta-vitessclusters",
159
163
  "nrtsearchservice": "paasta-nrtsearchservices",
160
164
  "nrtsearchserviceeks": "paasta-nrtsearchservices",
161
165
  }
@@ -0,0 +1,289 @@
1
+ import logging
2
+ from typing import Any
3
+ from typing import Dict
4
+ from typing import List
5
+ from typing import Mapping
6
+ from typing import Optional
7
+ from typing import TypedDict
8
+ from typing import Union
9
+
10
+ import service_configuration_lib
11
+
12
+ from paasta_tools.kubernetes_tools import KubernetesDeploymentConfigDict
13
+ from paasta_tools.kubernetes_tools import sanitised_cr_name
14
+ from paasta_tools.utils import BranchDictV2
15
+ from paasta_tools.utils import deep_merge_dictionaries
16
+ from paasta_tools.utils import DEFAULT_SOA_DIR
17
+ from paasta_tools.utils import load_service_instance_config
18
+ from paasta_tools.utils import load_system_paasta_config
19
+ from paasta_tools.utils import load_v2_deployments_json
20
+ from paasta_tools.vitesscluster_tools import get_formatted_environment_variables
21
+ from paasta_tools.vitesscluster_tools import KVEnvVar
22
+ from paasta_tools.vitesscluster_tools import KVEnvVarValueFrom
23
+ from paasta_tools.vitesscluster_tools import RequestsDict
24
+ from paasta_tools.vitesscluster_tools import ResourceConfigDict
25
+ from paasta_tools.vitesscluster_tools import VitessDeploymentConfig
26
+ from paasta_tools.vitesscluster_tools import VitessDeploymentConfigDict
27
+
28
+
29
+ log = logging.getLogger(__name__)
30
+ log.addHandler(logging.NullHandler())
31
+
32
+
33
+ KUBERNETES_NAMESPACE = "paasta-vitessclusters"
34
+
35
+
36
+ # Global variables
37
+ TOPO_IMPLEMENTATION = "zk2"
38
+ TOPO_GLOBAL_ROOT = "/vitess-paasta/global"
39
+
40
+ VTGATE_EXTRA_ENV = {
41
+ "VAULT_ROLEID": {
42
+ "secretKeyRef": {
43
+ "name": "paasta-vitessclusters-secret-vitess-k8s-vault-vtgate-approle-roleid",
44
+ "key": "vault-vtgate-approle-roleid",
45
+ }
46
+ },
47
+ "VAULT_SECRETID": {
48
+ "secretKeyRef": {
49
+ "name": "paasta-vitessclusters-secret-vitess-k8s-vault-vtgate-approle-secretid",
50
+ "key": "vault-vtgate-approle-secretid",
51
+ }
52
+ },
53
+ }
54
+
55
+
56
+ class GatewayConfigDict(TypedDict, total=False):
57
+ affinity: Dict[str, Any]
58
+ extraEnv: List[Union[KVEnvVar, KVEnvVarValueFrom]]
59
+ extraFlags: Dict[str, str]
60
+ extraLabels: Dict[str, str]
61
+ replicas: int
62
+ resources: Dict[str, Any]
63
+ annotations: Mapping[str, Any]
64
+
65
+
66
+ class VitessCellConfigDict(VitessDeploymentConfigDict, total=False):
67
+ name: str
68
+ allCells: List[str]
69
+ globalLockserver: Dict[str, str]
70
+ gateway: GatewayConfigDict
71
+
72
+
73
+ def get_cell_config(
74
+ cell: str,
75
+ images: Dict[str, str],
76
+ allCells: List[str],
77
+ global_lock_server: Dict[str, str],
78
+ region: str,
79
+ vtgate_resources: ResourceConfigDict,
80
+ env: List[Union[KVEnvVar, KVEnvVarValueFrom]],
81
+ labels: Dict[str, str],
82
+ node_affinity: dict,
83
+ annotations: Mapping[str, Any],
84
+ ) -> VitessCellConfigDict:
85
+ """
86
+ get vtgate config
87
+ """
88
+ replicas = vtgate_resources.get("replicas")
89
+ requests = vtgate_resources.get(
90
+ "requests", RequestsDict(cpu="100m", memory="256Mi")
91
+ )
92
+ environment_overrides: Dict[str, Any] = {
93
+ "VAULT_ADDR": f"https://vault-dre.{region}.yelpcorp.com:8200",
94
+ "VAULT_CACERT": f"/etc/vault/all_cas/acm-privateca-{region}.crt",
95
+ }
96
+ environment_overrides.update(VTGATE_EXTRA_ENV)
97
+ updated_vtgate_extra_env = (
98
+ get_formatted_environment_variables(environment_overrides) + env
99
+ )
100
+
101
+ config = VitessCellConfigDict(
102
+ name=cell,
103
+ images=images,
104
+ allCells=allCells,
105
+ globalLockserver=global_lock_server,
106
+ gateway=GatewayConfigDict(
107
+ affinity={"nodeAffinity": node_affinity},
108
+ extraEnv=updated_vtgate_extra_env,
109
+ extraFlags={
110
+ "mysql_auth_server_impl": "vault",
111
+ "mysql_auth_vault_addr": f"https://vault-dre.{region}.yelpcorp.com:8200",
112
+ "mysql_auth_vault_path": "secrets/vitess/vt-gate/vttablet_credentials.json",
113
+ "mysql_auth_vault_tls_ca": f"/etc/vault/all_cas/acm-privateca-{region}.crt",
114
+ "mysql_auth_vault_ttl": "60s",
115
+ },
116
+ extraLabels=labels,
117
+ replicas=replicas,
118
+ resources={
119
+ "requests": requests,
120
+ "limits": requests,
121
+ },
122
+ annotations=annotations,
123
+ ),
124
+ )
125
+ return config
126
+
127
+
128
+ class VitessCellInstanceConfigDict(KubernetesDeploymentConfigDict, total=False):
129
+ cell: str
130
+ cells: List[str]
131
+ zk_address: str
132
+ vtgate_resources: ResourceConfigDict
133
+ images: Dict[str, str]
134
+
135
+
136
+ class VitessCellConfig(VitessDeploymentConfig):
137
+ config_dict: VitessCellInstanceConfigDict
138
+
139
+ config_filename_prefix = "vitesscell"
140
+
141
+ def __init__(
142
+ self,
143
+ service: str,
144
+ cluster: str,
145
+ instance: str,
146
+ config_dict: VitessCellConfigDict,
147
+ branch_dict: Optional[BranchDictV2],
148
+ soa_dir: str = DEFAULT_SOA_DIR,
149
+ ) -> None:
150
+ super().__init__(
151
+ cluster=cluster, # superregion
152
+ instance=instance, # host-1
153
+ service=service, # vitess
154
+ soa_dir=soa_dir,
155
+ config_dict=config_dict,
156
+ branch_dict=branch_dict,
157
+ )
158
+
159
+ def get_images(self) -> Dict[str, str]:
160
+ vitess_images = self.config_dict.get(
161
+ "images", load_system_paasta_config().get_vitess_images()
162
+ )
163
+ return {
164
+ "vtctld": vitess_images["vtctld_image"],
165
+ "vtadmin": vitess_images["vtadmin_image"],
166
+ "vtgate": vitess_images["vtgate_image"],
167
+ "vttablet": vitess_images["vttablet_image"],
168
+ }
169
+
170
+ def get_global_lock_server(self) -> Dict[str, str]:
171
+ zk_address = self.config_dict.get("zk_address")
172
+ return {
173
+ "implementation": TOPO_IMPLEMENTATION,
174
+ "address": zk_address,
175
+ "rootPath": TOPO_GLOBAL_ROOT,
176
+ }
177
+
178
+ def get_vitess_cell_config(self) -> VitessCellConfigDict:
179
+ cell = self.config_dict.get("cell")
180
+ all_cells = self.config_dict.get("cells")
181
+ images = self.get_images()
182
+ global_lock_server = self.get_global_lock_server()
183
+ region = self.get_region()
184
+ vtgate_resources = self.config_dict.get("vtgate_resources")
185
+
186
+ formatted_env = self.get_env_variables()
187
+ labels = self.get_labels()
188
+ node_affinity = self.get_vitess_node_affinity()
189
+ annotations = self.get_annotations()
190
+
191
+ return get_cell_config(
192
+ cell,
193
+ images,
194
+ all_cells,
195
+ global_lock_server,
196
+ region,
197
+ vtgate_resources,
198
+ formatted_env,
199
+ labels,
200
+ node_affinity,
201
+ annotations,
202
+ )
203
+
204
+ def validate(
205
+ self,
206
+ params: List[str] = [
207
+ "cpus",
208
+ "security",
209
+ "dependencies_reference",
210
+ "deploy_group",
211
+ ],
212
+ ) -> List[str]:
213
+ # Use InstanceConfig to validate shared config keys like cpus and mem
214
+ # TODO: add mem back to this list once we fix PAASTA-15582 and
215
+ # move to using the same units as flink/marathon etc.
216
+ error_msgs = super().validate(params=params)
217
+
218
+ if error_msgs:
219
+ name = self.get_instance()
220
+ return [f"{name}: {msg}" for msg in error_msgs]
221
+ else:
222
+ return []
223
+
224
+
225
+ def load_vitess_cell_instance_config(
226
+ service: str,
227
+ instance: str,
228
+ cluster: str,
229
+ load_deployments: bool = True,
230
+ soa_dir: str = DEFAULT_SOA_DIR,
231
+ ) -> VitessCellConfig:
232
+ general_config = service_configuration_lib.read_service_configuration(
233
+ service, soa_dir=soa_dir
234
+ )
235
+ instance_config = load_service_instance_config(
236
+ service, instance, "vitesscell", cluster, soa_dir=soa_dir
237
+ )
238
+ general_config = deep_merge_dictionaries(
239
+ overrides=instance_config, defaults=general_config
240
+ )
241
+
242
+ branch_dict: Optional[BranchDictV2] = None
243
+ if load_deployments:
244
+ deployments_json = load_v2_deployments_json(service, soa_dir=soa_dir)
245
+ temp_instance_config = VitessCellConfig(
246
+ service=service,
247
+ cluster=cluster,
248
+ instance=instance,
249
+ config_dict=general_config,
250
+ branch_dict=None,
251
+ soa_dir=soa_dir,
252
+ )
253
+ branch = temp_instance_config.get_branch()
254
+ deploy_group = temp_instance_config.get_deploy_group()
255
+ branch_dict = deployments_json.get_branch_dict(service, branch, deploy_group)
256
+
257
+ vitess_cell_config = VitessCellConfig(
258
+ service=service,
259
+ cluster=cluster,
260
+ instance=instance,
261
+ config_dict=general_config,
262
+ branch_dict=branch_dict,
263
+ soa_dir=soa_dir,
264
+ )
265
+
266
+ return vitess_cell_config
267
+
268
+
269
+ def load_vitess_cell_instance_configs(
270
+ service: str,
271
+ instance: str,
272
+ cluster: str,
273
+ soa_dir: str = DEFAULT_SOA_DIR,
274
+ ) -> VitessCellConfigDict:
275
+ vitess_cell_instance_configs = load_vitess_cell_instance_config(
276
+ service, instance, cluster, soa_dir=soa_dir
277
+ ).get_vitess_cell_config()
278
+ return vitess_cell_instance_configs
279
+
280
+
281
+ # TODO: read this from CRD in service configs
282
+ def cr_id(service: str, instance: str) -> Mapping[str, str]:
283
+ return dict(
284
+ group="planetscale.com",
285
+ version="v2",
286
+ namespace=KUBERNETES_NAMESPACE,
287
+ plural="vitesscells",
288
+ name=sanitised_cr_name(service, instance),
289
+ )