all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Gábor Boskovits" <boskovits@gmail.com>
To: Chris Marusich <cmmarusich@gmail.com>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Installation
Date: Mon, 22 Jan 2018 09:29:42 +0100	[thread overview]
Message-ID: <CAE4v=phoFBqw8aRv+-PEZT+6RBduKv4UT0k-J9rQPDN6-vs4yw@mail.gmail.com> (raw)
In-Reply-To: <87372yzewz.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 5238 bytes --]

2018-01-22 5:38 GMT+01:00 Chris Marusich <cmmarusich@gmail.com>:

> ludo@gnu.org (Ludovic Courtès) writes:
>
> > Ricardo Wurmus <rekado@elephly.net> skribis:
> >
> >> Ludovic Courtès <ludo@gnu.org> writes:
> >>
> >>> Gábor Boskovits <boskovits@gmail.com> skribis:
> >>>
> >>>> I believe, that we could make a powerful extension to guixsd if we
> could do
> >>>> an installation from an installation description.
> >>>>
> >>>> I think this installation description should look like the
> operating-system description we
> >>>> already have.
> >>>
> >>> In what way would it defer?  :-)
> >>>
> >>> ‘operating-system’ *is* an “installation description.”
> >>
> >> I guess it would differ from what we have currently in that it would
> >> also specify partitioning information, which is not handled by
> >> “operating-system”.
> >>
> >> Does it make sense to extend “operating-system” such that disk
> >> partitioning information could be included and (*holds breath*) acted
> >> upon automatically?
> >
> > I suppose only ‘guix system init’ could actually use that information.
> >
> > Perhaps we could have a separate partitioning description, and users
> > could optionally run:
> >
> >   guix system init --partitioning=part.scm config.scm
> >
> > ?
> >
> > Is it really an improvement over writing a Parted script, which is
> > something people can already do?
> >
> >> Acting on partitioning info is a little scary because it can easily lead
> >> to data loss upon reconfiguration.  Small bugs could lead to very big
> >> problems, so maybe this should not be default behaviour.
> >
> > It’s definitely scary.
> >
> > Ludo’.
>
> Currently, I can only imagine two possible ways this might be used:
>
> 1) Somebody wants to frequently change the hard drives, partitions,
> and/or file systems in their computer(s).
>
> 2) Somebody wants to initialize the hard drives, partitions, and/or file
> systems in their computer(s), but doesn't need to update it later.
>
> In the case of (1), who really does this?  I know of no developers or
> users who actually need to change these things frequently.  And when
> changes to these things ARE necessary, it's usually easier to just blast
> everything away and start fresh (restoring what you need from a backup
> later), rather than trying to figure out the right way to safely modify
> things in place.  Since changing these kinds of things on a system
> that's already in use is a rare and dangerous activity, I'm not
> convinced that Guix needs to provide support for this use case.
>
> In the case of (2), anybody who frequently needs to provision systems
> will probably have a use case for this, so it might make sense to add a
> feature for first-time initialization only.  Maybe a company wants to
> provision many GuixSD systems for employee laptops.  Maybe somebody
> needs to provision many GuixSD servers in a datacenter.  I think that if
> somebody really needs to do this sort of provisioning frequently,
> they're probably going to implement their own custom workflow to
> accomplish the task.
>
> Can Guix add a feature to make their life easier?  Maybe.  For example,
> maybe we can fields to the <operating-system> declaration which are only
> acted upon by "guix system init".  The intended workflow would be: boot
> a GuixSD installation image, then run "guix system init" per the manual
> (perhaps via a script, or even a "guix-provisioning-service" started by
> Shepherd...!), and Guix will do everything it does today to initialize
> the system, but first it will also destructively initialize the hard
> drives, partitions, and file systems according to what is contained in
> the specified <operating-system> declaration.  THIS could be nice!
>
> Of course, someone who is provisioning systems like this already has the
> option of creating custom scripts and tools to initialize the system's
> drives, partitions, and file systems, but wouldn't it be nice if Guix
> could do this on their behalf, also?  If these details were all defined
> in the <operating-system> declaration, then (1) the user wouldn't have
> to implement those kinds of tools themselves, and (2) it would reduce the
> possibility of writing an <operating-system> declaration that contains
> incorrect information about disks, partitions, or file systems because
> all that information would be contained in a single file.
>
> I think the key here is that if Guix provides a way to manipulate disks,
> partitions, or file systems, it should only be allowed when initializing
> a new system - not reconfiguring an existing one.
>
> I agree with this. And the use case I have in mind is datacenter
infrastructure
provisioning. Usually there is no expilcit need to do this after
initialization.
If manipulation of partitions should be done later, then it can be solved
by the tools we already have. One exception that comes to my mind is
lvm and zfs/btrfs subvolume creation for vms, but that is on the vm
provisioning layer.

I would really like to see guixsd on the infrastructure layer, because the
current
situation is quite problematic.

> --
> Chris
>

[-- Attachment #2: Type: text/html, Size: 6590 bytes --]

  reply	other threads:[~2018-01-22  8:29 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-09 12:43 Installation Gábor Boskovits
2018-01-17 14:35 ` Installation Ludovic Courtès
2018-01-17 15:47   ` Installation Ricardo Wurmus
2018-01-17 19:35     ` Installation Gábor Boskovits
2018-01-18 10:27       ` Installation Ludovic Courtès
2018-01-18 10:29     ` Installation Ludovic Courtès
2018-01-18 12:05       ` Installation ng0
2018-01-18 15:11         ` Installation Ricardo Wurmus
2018-01-18 16:41           ` Installation myglc2
2018-01-22  4:38       ` Installation Chris Marusich
2018-01-22  8:29         ` Gábor Boskovits [this message]
2018-01-18  2:29   ` Installation George myglc2 Clemmer
2018-01-18  9:29     ` Drive identifiers Danny Milosavljevic
2018-01-18  9:39       ` Danny Milosavljevic
2018-01-18 10:32         ` Ludovic Courtès
2018-01-18 11:01           ` Danny Milosavljevic
2018-01-19 14:35           ` Danny Milosavljevic
2018-01-18 20:10       ` myglc2
2018-01-19  8:27         ` Danny Milosavljevic
2018-01-19  0:43       ` myglc2
2018-01-19  7:22         ` Danny Milosavljevic
2018-01-19 16:42         ` Ricardo Wurmus
2018-01-24 14:12           ` Ludovic Courtès

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAE4v=phoFBqw8aRv+-PEZT+6RBduKv4UT0k-J9rQPDN6-vs4yw@mail.gmail.com' \
    --to=boskovits@gmail.com \
    --cc=cmmarusich@gmail.com \
    --cc=guix-devel@gnu.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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.