On Wed, May 27, 2015 at 2:47 PM, Carlos Sosa <gnus...@gnusosa.net> wrote: > David Thompson <dthomps...@worcester.edu> writes: > >> Thinking out loud here: Maybe 'guix deploy' can kick off the >> provisioning for all machines first, and afterwards the OS configs can >> be altered to include the correct /etc/hosts file. > > I like the idea of `guix deploy` with a minor change where we add > `guix deploy machine`, but can that be a command that calls separate > steps like `guix provision machine` and then `guix set-config machine` > or something similar. My intention with that, is that if the command > `guix set-config machine` fails at least `guix deploy machine` worked > and you can SSH to that machine or debug why did the OS configs > failed. To deploy all of our machines in #machines-list we can do > `guix deploy` where it defaults to `guix deploy all`. I guess this > hints more on the usability perspective, but I think provisioning the > OS and the configuration provision should be separate tasks. I will > try to develop that soon. I know a patch says more than words. :)
I intend to have several subcommands for 'guix deploy' that perform various subsets of the deployment "phases". I don't think your use-case for "set-config" phase makes sense, because the entire system is configured in a single operation. The system would have to boot a valid GuixSD configuration at least once in order for SSH access to be available. Now, a re-deploy (similar to 'guix system reconfigure') may fail, and that could be rolled back in case of problems. >> I threw out OpenStack because it's a self-hostable, free software VM >> platform. I'm open to any other platforms that will exercise the full >> range of capabilities that 'guix deploy' needs to be useful. > > I've been using LXC - https://en.wikipedia.org/wiki/LXC to work around > with Guix and play with substitutes and offloading. It's been pretty > straight forward and clean, I don't know if that would be something to > consider. Cool. I'd be interested in reading the steps you took to deploy a GuixSD system with LXC. FYI, I'm (slowly) working on a pure Guile container implementation for inclusion in Guix in the future. - Dave