guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: “Towards Guix for DevOps”


From: Jan Nieuwenhuizen
Subject: Re: “Towards Guix for DevOps”
Date: Sat, 27 Jul 2019 12:47:30 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)

Ludovic Courtès writes:

> Jakob wrote a lovely post about the ongoing work implementing ‘guix
> deploy’ as part of GSoC:
>
>   https://gnu.org/s/guix/blog/2019/towards-guix-for-devops/
>
> Check it out!

Yes, this is excellent.  I started playing with it using a deploy-vm.sh
script (see attached).  It took me a few iterations to get all bits
right; I mistook the host's signing-key's error message for an ssh
authentication problem, e.g.

This works great so I am already using it now; together with channels it
simplifies my deployments a lot.

I found that I cannot deploy to older machines, running 0.16 or earlier.
Not really a problem but it should at least be documented, I think.

Here's what deploying to a 0.16 machine gives me

--8<---------------cut here---------------start------------->8---
+ guix deploy deploy-vm.scm
substitute: updating substitutes from 'http://guix1.oban.verum.com:8181'... 
100.0%
substitute: updating substitutes from 'http://guix3.oban.verum.com:8181'... 
100.0%
substitute: updating substitutes from 'http://janneke.lilypond.org:8080'... 
100.0%
sending 142 store items (745 MiB) to 'localhost'...
sending 3 store items (0 MiB) to 'localhost'...
Backtrace:
           7 (primitive-load 
"/gnu/store/rl2fvwwdj9n82yjhc8v1yygy5c0zwnkb-profile/bin/guix")
In guix/ui.scm:
  1659:12  6 (run-guix-command _ . _)
In guix/store.scm:
   623:10  5 (call-with-store _)
In srfi/srfi-1.scm:
    640:9  4 (for-each #<procedure 19c9020 at guix/scripts/deploy.scm:81:16 
(machine)> (#<<machine> system: #…>))
In guix/store.scm:
  1803:24  3 (run-with-store #<store-connection 256.99 10e3a80> _ 
#:guile-for-build _ #:system _ #:target _)
In gnu/machine/ssh.scm:
    339:2  2 (_ _)
In guix/remote.scm:
   122:20  1 (_ _)
    66:17  0 (%remote-eval _ _)

guix/remote.scm:66:17: In procedure %remote-eval:
Throw to key `srfi-34' with args `(#<inferior-object #<condition 
&action-exception-error [service: user-homes action: start key: match-error 
args: ("match" "no matching pattern" "#<<user-account> name: \"root\" password: 
\"\" uid: 0 group: \"root\" supplementary-groups: () comment: \"System 
administrator\" home-directory: #<procedure home-directory (x)> 
create-home-directory?: #t shell: 
\"/gnu/store/qn1ax1fkj16x280m1rv7mcimfmn9l2pf-bash-4.4.23/bin/bash\" system?: 
#f>")] 716f00>>)'.
+ ssh -i id_rsa -p 10022 root@localhost guix system list-generations
--8<---------------cut here---------------end--------------->8---

After manually reconfiguring the machine to 1.0 it works, but that
already starts to feel clumsy :)

Anyway, very impressive and a big thank you Jakob!

Greetings,
janneke

I've also put this up on https://gitlab/janneke/deploy

Attachment: deploy-vm.sh
Description: Bourne shell script

Attachment: bare-bones.scm
Description: Binary data

Attachment: deploy-vm.scm
Description: Binary data

Attachment: channels.scm
Description: Binary data

-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]