GNU bug report logs - #37083
[PATCH 0/1] (Help needed!) machine: Implement 'digital-ocean-environment-type'.

Previous Next

Package: guix-patches;

Reported by: zerodaysfordays <at> sdf.lonestar.org (Jakob L. Kreuze)

Date: Mon, 19 Aug 2019 16:42:01 UTC

Severity: normal

Tags: fixed, patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: zerodaysfordays <at> sdf.lonestar.org (Jakob L. Kreuze)
To: 37083 <at> debbugs.gnu.org
Subject: [bug#37083] [PATCH 0/1] (Help needed!) machine: Implement 'digital-ocean-environment-type'.
Date: Mon, 19 Aug 2019 12:41:24 -0400
[Message part 1 (text/plain, inline)]
Hi all,

I've spent the past couple of days attempting to add rudimentary support
to 'guix deploy' for some more complicated use-cases. I think I've made
some decent progress, but I've reached a point where I'm having an issue
that's beyond my abilities.

'deploy-digital-ocean' gets to a point where there's a droplet running a
"bootstrap" configuration of the Guix System, but I can't keep an open
SSH channel for sending over the operating-system configuration
specified for the deployment.

[Error (text/plain, inline)]
sending 3 store items (0 MiB) to '167.71.253.223'...
;;; [2019/08/19 12:21:33.409456, 0] write_to_channel_port: [GSSH ERROR] Remote channel is closed: #<input-output: channel (open) d3b2e0>
Backtrace:
In ice-9/eval.scm:
    619:8 19 (_ #(#(#<directory (guile-user) e17140>)))
In guix/ui.scm:
  1692:12 18 (run-guix-command _ . _)
In guix/store.scm:
   623:10 17 (call-with-store _)
In srfi/srfi-1.scm:
    640:9 16 (for-each #<procedure 48d21c0 at guix/scripts/deploy.s…> …)
In guix/scripts/deploy.scm:
    96:20 15 (_ _)
In ice-9/boot-9.scm:
    829:9 14 (catch _ _ #<procedure 48d4980 at guix/scripts/deploy.…> …)
In guix/store.scm:
  1803:24 13 (run-with-store #<store-connection 256.99 43d6420> _ # _ …)
In unknown file:
          12 (_ #<procedure 48fe260 at ice-9/eval.scm:330:13 ()> #<…> …)
          11 (_ #<procedure 4975a20 at ice-9/eval.scm:330:13 ()> #<…> …)
          10 (_ #<procedure 4975840 at ice-9/eval.scm:330:13 ()> #<…> …)
In guix/monads.scm:
    482:9  9 (_ _)
In unknown file:
           8 (_ #<procedure 4975660 at ice-9/eval.scm:330:13 ()> #<…> …)
In guix/remote.scm:
   134:10  7 (_ _)
In guix/store.scm:
  1696:38  6 (_ #<store-connection 256.99 3606720>)
In guix/ssh.scm:
    358:4  5 (send-files #<store-connection 256.99 3606720> _ _ # _ # …)
In guix/store.scm:
  1568:12  4 (export-paths #<store-connection 256.99 3606720> _ #<i…> …)
  1548:22  3 (export-path #<store-connection 256.99 3606720> _ #<in…> …)
   697:13  2 (process-stderr _ _)
   660:10  1 (dump-port #<input-output: socket 15> #<input-output: …> …)
In unknown file:
           0 (put-bytevector #<input-output: channel (open) d3b2e0> # …)

ERROR: In procedure put-bytevector:
Throw to key `guile-ssh-error' with args `("write_to_channel_port" "Remote channel is closed" #<input-output: channel (open) d3b2e0> #f)'.
[Message part 3 (text/plain, inline)]
I can connect to the droplet over SSH, but trying to manually deploy to
the droplet with 'managed-host-environment-type' fails with the same
error. I am still able to deploy to my various Guix QEMU guests using
'managed-host-environment-type' without fail -- this seems to be
specific to Digital Ocean droplets running this configuration.

[config.scm (text/plain, inline)]
(use-modules (gnu))
(use-service-modules networking ssh)

(operating-system
  (host-name "gnu-bootstrap")
  (timezone "Etc/UTC")
  (bootloader (bootloader-configuration
               (bootloader grub-bootloader)
               (target "/dev/vda")
               (terminal-outputs '(console))))
  (file-systems (cons (file-system
                        (mount-point "/")
                        (device "/dev/vda1")
                        (type "ext4"))
                      %base-file-systems))
  (services
   (append (list (static-networking-service "eth0" "~a"
                    #:netmask "~a"
                    #:gateway "~a"
                    #:name-servers '("84.200.69.80" "84.200.70.40"))
                 (service openssh-service-type
                          (openssh-configuration
                           (permit-root-login 'without-password))))
           %base-services)))
[Message part 5 (text/plain, inline)]
I suspect there may an issue with the configuration of the bootstrap
system's SSH daemon, but the logs are devoid of anything particularly
telling. If anyone is willing to offer up their knowledge of SSH to
suggest what could be going wrong, I would appreciate it greatly.

Thank you,
Jakob

Jakob L. Kreuze (1):
  machine: Implement 'digital-ocean-environment-type'.

 doc/guix.texi                 |  21 +-
 gnu/local.mk                  |   1 +
 gnu/machine/digital-ocean.scm | 409 ++++++++++++++++++++++++++++++++++
 3 files changed, 428 insertions(+), 3 deletions(-)
 create mode 100644 gnu/machine/digital-ocean.scm

-- 
2.22.0

[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 5 years and 230 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.