unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Ian Eure <ian@retrospec.tv>
Cc: guix-devel <guix-devel@gnu.org>, 72686@debbugs.gnu.org
Subject: bug#72686: Impossible to remove all offload machines
Date: Fri, 03 Jan 2025 00:02:09 +0900	[thread overview]
Message-ID: <87wmfd45u6.fsf@gmail.com> (raw)
In-Reply-To: <87ldwzmdfi.fsf@retrospec.tv> (Ian Eure's message of "Sun, 01 Dec 2024 11:05:37 -0800")

Hi Ian,

Ian Eure <ian@retrospec.tv> writes:

[...]

> Apologies for the silence, life stuff has been eating most of my free
> time, but I have a bit of bandwidth to spend on this problem again.

As you can see, you are not alone :-).

> I took a swing at this, it wasn’t as difficult as I expected. While
> this approach gives a smooth upgrade path for those who’ve configured
> channels in a stateful way switching to declarative configuration,
> it’s possibly bumpy for those already using a declarative config.  If
> a machine with declarative channels is reconfigured, the channels will
> be duplicated from /etc/guix/channels.scm to
> /etc/guix/channels-declarative.scm. Using `delete-duplicates' on the
> merged channels should avoid major problems, but I think it still
> needs a loud entry in news and manual action (deleting
> /etc/guix/channels.scm) to upgrade. Given that both approaches will
> require manual action, I’m a bit inclined to go with the simpler, and
> take over the existing file. That said, I think the failure mode of
> the simpler approach (stomping on channels a user may have configured)
> is undeniably worse than potentially duplicating channels or
> continuing to pull in old ones unexpectedly.  Do either of you have a
> strong opinion or more information which would help guide this
> decision?

I still like the option to leave a handcrafted channels.scm alone; I
don't think this imperative variant will be obsolete in the future; it's
still useful to experiment quickly, avoiding costly reconfigure just to
change some bits about a new offload machine.

> The root issue at work behind all these problems is that activation
> code only sees the desired target config, rather than the current and
> target configs.  Comparing the current and target configs would allow
> the code to more precisely compute the needd change to move from one
> state to the next.  I think that could be a good change to make,
> though it’s obviously going to be much more involved, and IMO will
> require discussion outside the scope of this specific bug.

The activation is just a script, so if it's useful to check
the current value, it should be OK to do so.

> I have a draft patch series I hope to send up soon, but need to get
> Guix System up in a VM to test first.  It does separate declarative
> channels into their own config, but doesn’t do the same for build
> machines.  While I think many fewer users configure build machines
> than channels, it’s probably a good idea to use the same approach for
> both channels and machines.

Yes, it'd be nice to have a uniform approach.  The acl file could
benefit from the same treatment, I believe (that, and 'guix authorize'
should validate that we're not adding the same key multiple times --
warn something along "key XXXX is already authorized".

-- 
Thanks,
Maxim




      reply	other threads:[~2025-01-02 15:03 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-17 16:40 Impossible to remove all offload machines Ian Eure
2024-09-14 14:55 ` bug#72686: " Maxim Cournoyer
2024-09-15  3:24   ` Ian Eure
2024-09-15  3:53     ` Ian Eure
2024-09-15 19:06       ` Tomas Volf
2024-09-19  0:35         ` Ian Eure
2024-09-22  2:26     ` Maxim Cournoyer
2024-12-01 19:05       ` Ian Eure
2025-01-02 15:02         ` Maxim Cournoyer [this message]

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=87wmfd45u6.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=72686@debbugs.gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ian@retrospec.tv \
    /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).