Page MenuHomePhabricator

Enable cumin hostfile backend on cloudcumin hosts
Open, In Progress, LowPublic

Description

Today while cleaning up after T433426 I found myself wanting to run a remount command on a list of hosts, only to discover/realize that the hostfile backend is not available on cloudcumins.

The cumin docs say:

This is a custom backend enabled through Cumin's plugin features only in Cloud VPS (labs-puppetmaster and other VPS cumin masters)

...which could be made a bit more explicit. Is there a reason it can't also be included on the central cloudcumins or prod cuminxxxx hosts?

Event Timeline

LSobanski changed the task status from Open to In Progress.Tue, Aug 18, 12:09 PM
LSobanski assigned this task to elukey.
LSobanski moved this task from Incoming to Work in Progress on the Infrastructure-Foundations board.

@Andrew o/ is it a duplicate of T380789#10363343 ?

Kind of! That task seems to have been interpreted as "why isn't this present" rather than "please make this present." But there's no reason to have two tracking tasks.

@Andrew I think that the two tasks are duplicates, Riccardo's reply is the reason to not deploy this everywhere. You may do it for Cloud Cumin if you want, but to enable it for "prod" Cumin more work is needed (namely, create a hostfile backend that is officially reviewed and supported by I/F :)).

@Andrew how are you generating the list of hosts?
On all cumin hosts, given the dependency on clustershell, we do also have its CLI tools available.

So for example if you have a file with one FQDN per line:

$ cat test
host1.example.org
host2.example.org
host3.eqiad.wmnet

you can use nodeset to get them in "clustershell syntax":

$ cat test | nodeset --fold
host3.eqiad.wmnet,host[1-2].example.org

and then use that in cumin with the direct backend (with all the caveats related to the direct backend that doesn't check anything and trusts whatever FQDN is passed to it):

$ sudo cumin 'D{host3.eqiad.wmnet,host[1-2].example.org}' ....