We need to decide on and update the permissions for the the WMCS-roots and wmcs-admins groups.
The convention we have in the admin data.yaml file is that $group-roots are more powerful then $group-admins, however it seems that in the WMCS case this is not strictly true. From what I can tell the wmcs-roots group is used to give sudo root access to a bunch of wmcs hosts but not all of them. (update: this has been fixed)
The wmcs-admins group is used to allow users to manage wikireplicas, specifically it allows users to run:
- cluster::management
- /usr/local/bin/secure-cookbook sre.wikireplicas
- wmcs::db::wikireplicas
- /usr/local/sbin/maintain-views',
- /usr/local/sbin/maintain-meta_p',
- /usr/local/sbin/maintain-replica-indexes'
Currently the members of the wmcs-roots and wmcs-admin groups are almost identical, the only difference being that @taavi is in the former and not the later. I created a change to add wmcs-roots to the wmcs-admins group. It would allow wmcs-roots to preform the above maintenance tasks on the db wiki hosts, possibly less of a concern but would still need someone with knowledge to confirm if this is acceptable. (update: this patch has been merged)
For the sre.wikireplicas.* use case I wonder if these cookbooks could be run from the cloudcumin hosts instead of the cumin hosts, then we can simply drop wmcs-admin access from cluster::managment
Also when looking at the wmcs-roots group I noticed that it does not have access to all wmcs machines, I believe that the ultimate goal is that wmcs engineers could perform 100% of their role with wmcs-roots and would in theory be able to drop global ops membership some time in the future. As such I think we should try and ensure that the wmcs-roots group does have the necessary access. I have created a change to add what seems to me to be the obvious ones but suspect its missing some. (update: this patch has been merged, but there are some operations that still require global ops)
@nskaggs please add, correct or update anything I may have missed .