At the moment WMCS cookbooks can be run from either cloudcumin hosts, or local laptops. Running from a shared host has some advantages (e.g. automatic updates, shared logs, using screen/tmux), but it's currently only possible for users with root privileges who can "sudo" on cloudcumin hosts. Other users have to fall back to running cookbooks from their laptop.
Ideally, we would like to provide one ore more shared hosts where different types of users can run WMCS cookbooks from:
- members of the WMCS team (without global root)
- members of other WMF teams (without global root)
- volunteers working on WMCS admin tasks
- WMCS users managing a CloudVPS project
For each category of users, we need to decide the best/easiest way for them to run cookbooks:
- from cloudcuminXXXX hosts
- from CloudVPS shared cumin hosts (e.g. cloud-cumin-03.cloudinfra.eqiad1.wikimedia.cloud)
- from CloudVPS dedicated cumin hosts (only for members of a CloudVPS project)
- from a laptop (as a last fallback, ideally this should not be needed)
I'm creating this parent task to discuss various use cases and possible implementations. I'm adding as sub-tasks some of the technical challenges:
- T325067 cloudcumin: decide sudoers rules for users without global root
- T343335 spicerack: sal_logger does not work when running from CloudVPS instances
- T343336 spicerack: sal_logger does not work when running from a laptop
- T344412 Cloudcumin Gaps
Philosophical question: is Spicerack the right tool for all of these use cases? Could some CloudVPS tasks be performed with other tools, e.g. Terraform?