From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thompson, David" Subject: Re: Guix "ops" Date: Thu, 28 May 2015 12:10:24 -0400 Message-ID: References: <87k2wx6t1e.fsf@fsf.org> <87vbgdy6x8.fsf@gnu.org> <87fv7h5zhk.fsf@fsf.org> <87mw1obbfq.fsf@gnu.org> <87bnhzrjf1.fsf@gnusosa.net> <87382oejz8.fsf@fsf.org> <87a8wwiokj.fsf@gnu.org> <87zj4wd1hz.fsf@fsf.org> <87a8wpj1s4.fsf@gnusosa.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57626) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yy0O8-0002nq-S2 for guix-devel@gnu.org; Thu, 28 May 2015 12:10:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yy0O4-0002Id-2a for guix-devel@gnu.org; Thu, 28 May 2015 12:10:32 -0400 Received: from na3sys009aog137.obsmtp.com ([74.125.149.18]:37761 helo=mail-pa0-f48.google.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yy0O3-0002Cy-QY for guix-devel@gnu.org; Thu, 28 May 2015 12:10:27 -0400 Received: by pabru16 with SMTP id ru16so26839505pab.1 for ; Thu, 28 May 2015 09:10:25 -0700 (PDT) In-Reply-To: <87a8wpj1s4.fsf@gnusosa.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Carlos Sosa Cc: guix-devel On Wed, May 27, 2015 at 2:47 PM, Carlos Sosa wrote: > David Thompson 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