From: Bengt Richter <bokr@bokr.com>
To: Christopher Lemmer Webber <cwebber@dustycloud.org>
Cc: 42252@debbugs.gnu.org
Subject: bug#42252: Not possible to reliably port forward with "guix system vm" anymore
Date: Wed, 8 Jul 2020 11:46:28 +0200 [thread overview]
Message-ID: <20200708094628.GA9946@LionPure> (raw)
In-Reply-To: <87r1tnf496.fsf@dustycloud.org>
Hi
On +2020-07-07 16:40:21 -0400, Christopher Lemmer Webber wrote:
> In commit 5379392731b52eef22b4936637eb592b93e04318, the following change
> was introduced:
>
> modified gnu/system/vm.scm
> @@ -941,6 +941,7 @@ with '-virtfs' options for the host file systems listed in SHARED-FS."
> '())
>
> "-no-reboot"
> + "-nic" "user,model=virtio-net-pci"
> "-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng"
> "-device" "virtio-rng-pci,rng=guixsd-vm-rng"
>
> Unfortunately, this means that in our docs where we suggest doing the
> following:
>
> `guix system vm config.scm` -nic user,model=virtio-net-pci,hostfwd=tcp::10022-:22
>
> Since we now provide our own similar "-nic" field this creates a
> *second* network interface at the same address and there is a race as in
> terms of which handles connections. Depending on the race result,
> connections to the forwarded port may hang indefinitely.
>
> Ironically, this regression was introduced to solve another regression!
> From the commit message:
>
> This fixes a regression introduced in 8e53fe2b91d2776bc1529e7b34967c8f1d9edc32
> where 'guix system vm' would no longer be using virtio.
>
This reminds a bit of doctors prescribing powerful medicine with side-effect so bad
that they have to prescribe a medicine for that, which in turn has side-effects,
in what I think is called prescription cascading, and people wind up on 25 pills a day.
"First, do no harm." :)
I wouldn't say anything, except ISTM your fix on top of a fix
is not the first to remind me of cascading :)
> What's the right solution? One could be that "guix system vm" itself
> could take an argument that sets up port forwarding in the generated
> shell script. Eg:
>
> guix system vm config.scm --hostfwd=tcp::10022-:22 --hostfwd=tcp::8888-:80
>
> kind of ugly, but it could work. WDYT?
>
> - Chris
>
>
>
I'm not saying your solution is bad, I'm just saying cascading fixes may be a symptom
to diagnose, in case it indicates something like bad mutations involving bad genes
that will compromise the health of the guix ecology.
How is a "fix" judged with respect to the big picture?
Is there a higher level layered[1] design for the use of guix, like e.g. [2] which a proposed fix
might violate and therefore should be rejected, even though it makes something "work"?
Well, it's probably in an old paper by Ludo in some form, but I wonder
what concepts of layering guix developers are consciously using
when putting stuff between the declarations at the top and
the images at the bottom.
[1] https://en.wikipedia.org/wiki/Abstraction_layer
[2] https://en.wikipedia.org/wiki/OSI_model
--
Regards,
Bengt Richter
next prev parent reply other threads:[~2020-07-08 9:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-07 20:40 bug#42252: Not possible to reliably port forward with "guix system vm" anymore Christopher Lemmer Webber
2020-07-07 21:00 ` Christopher Lemmer Webber
2020-07-07 22:21 ` Christopher Lemmer Webber
2020-07-08 9:46 ` Bengt Richter [this message]
2020-07-11 19:49 ` Christopher Lemmer Webber
2020-07-11 21:38 ` Marius Bakke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200708094628.GA9946@LionPure \
--to=bokr@bokr.com \
--cc=42252@debbugs.gnu.org \
--cc=cwebber@dustycloud.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).