GNU bug report logs - #28128
[PATCH] scripts: system: Add support for container network sharing.

Previous Next

Package: guix-patches;

Reported by: Christopher Baines <mail <at> cbaines.net>

Date: Thu, 17 Aug 2017 19:14:01 UTC

Severity: normal

Tags: patch

Done: Arun Isaac <arunisaac <at> systemreboot.net>

Bug is archived. No further changes may be made.

Full log


Message #62 received at 28128 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Arun Isaac <arunisaac <at> systemreboot.net>
Cc: mail <at> cbaines.net, 28128 <at> debbugs.gnu.org
Subject: Re: [PATCH 2/2] scripts: system: Support container network sharing.
Date: Fri, 22 Mar 2019 18:29:54 +0100
Hi Arun & Chris,

Arun Isaac <arunisaac <at> systemreboot.net> skribis:

>> It’s not easily possible, and I think it would be a bad idea: if every
>> service has access to every ‘operating-system’ field, that gives you
>> more flexibility, but it’s also much harder to reason about what
>> happens, compared to the current extension graph (the NixOS “module”
>> system works like that: every service can access every bit of the whole
>> configuration, but IMO that makes it quite hard to understand.)
>
> OK, I understand. Just out of curiosity: Why do we have special
> operating-system fields like host-name, hosts-file, etc. instead of just
> having services like host-name-service-type, hosts-file-service-type,
> etc.? Doesn't giving special status to these operating-system fields
> complicate things? For example, if we only had a hosts-file-service-type
> instead of a hosts-file operating-system field, we wouldn't have the
> problem that /etc/hosts could only be created from within
> essential-services.

You’re right, to some extent those fields complicate things (most of
them were here before the service infrastructure, though.)  OTOH I find
it convenient to have a high-level view of the OS.

>> What could be useful is “self-referential” records, where a field can
>> refer to the record it belongs do.  So we’d do:
>>
>>   (define-record-type* <operating-system>
>>     ;; …
>>     (services operating-system-services
>>               (self-referential? #t) (default essential-services)))
>>
>> whereby ‘essential-services’ would be passed the <operating-system>
>> record somehow.
>>
>> That needs more thought…
>
> OK, I'll wait.

I didn’t mean to block you though because it was just an idea without
code…  but in the meantime I’ve sent code to
<https://issues.guix.info/issue/34948>.  It turned out to be easier than
I thought!

Ludo’.




This bug report was last modified 6 years and 104 days ago.

Previous Next


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