unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [ANNOUNCE] ganeti-instance-guix
@ 2017-09-17 21:47 Marius Bakke
  2017-09-18  8:04 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Marius Bakke @ 2017-09-17 21:47 UTC (permalink / raw)
  To: guix-devel, ganeti

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

When you want to try GuixSD, but all you have is a Ganeti cluster...

I'm pleased to announce ganeti-instance-guix[0], a GuixSD provisioner
for Ganeti.  With it you can launch any GuixSD configuration file as
a virtual machine, optionally using a specific Guix git revision.

For Ganeti users, this means you can now provision virtual machines in a
declarative language.  No post-processing of the image is done, so
network information, SSH keys etc must be part of the OS definition.

For Guix users, this means you can now run as many GuixSD virtual
machines that you can muster, provided you have a Ganeti cluster handy.

Enjoy!

[0] https://github.com/mbakke/ganeti-instance-guix

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ANNOUNCE] ganeti-instance-guix
  2017-09-17 21:47 [ANNOUNCE] ganeti-instance-guix Marius Bakke
@ 2017-09-18  8:04 ` Ludovic Courtès
  2017-09-20 19:44   ` Scope of "GuixOps" (was Re: [ANNOUNCE] ganeti-instance-guix) Marius Bakke
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2017-09-18  8:04 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

Hi!

[- ganeti]

Marius Bakke <mbakke@fastmail.com> skribis:

> When you want to try GuixSD, but all you have is a Ganeti cluster...
>
> I'm pleased to announce ganeti-instance-guix[0], a GuixSD provisioner
> for Ganeti.  With it you can launch any GuixSD configuration file as
> a virtual machine, optionally using a specific Guix git revision.

That looks nice!

I wonder what we could do longer-term to simplify provisioning of GuixSD
VMs/containers managed by other tools.  Perhaps that’s a job for
“GuixOps”?  What’s your take on this?

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Scope of "GuixOps" (was Re: [ANNOUNCE] ganeti-instance-guix)
  2017-09-18  8:04 ` Ludovic Courtès
@ 2017-09-20 19:44   ` Marius Bakke
  0 siblings, 0 replies; 3+ messages in thread
From: Marius Bakke @ 2017-09-20 19:44 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

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

Ludovic Courtès <ludo@gnu.org> writes:

> Hi!
>
> [- ganeti]
>
> Marius Bakke <mbakke@fastmail.com> skribis:
>
>> When you want to try GuixSD, but all you have is a Ganeti cluster...
>>
>> I'm pleased to announce ganeti-instance-guix[0], a GuixSD provisioner
>> for Ganeti.  With it you can launch any GuixSD configuration file as
>> a virtual machine, optionally using a specific Guix git revision.
>
> That looks nice!

Thanks!  Longer term I intend to create a Guix-centric web frontend for
Ganeti similar to <https://grnet.github.io/ganetimgr/>.  Stay tuned!

> I wonder what we could do longer-term to simplify provisioning of GuixSD
> VMs/containers managed by other tools.  Perhaps that’s a job for
> “GuixOps”?  What’s your take on this?

For integration with common "cloud" providers (Openstack, AWS, etc), it
would be great to create a VM (or disk) image that does this on boot:

1) Resize partition to use whole disk.
2) Reconfigure/init from a configuration file URL, typically a
provider-specific method of providing metadata to VM.
3) Possibly runs `guix pull` against some similar metadata parameters.

Then Guix could conceivably be supported by other provisioning tools
that works with such systems (Terraform etc).  This would also go a
long way towards PXE booting...

I haven't really given "GuixOps" a lot of thought until now, but I
imagine a more low-level administration tool along the lines of...

$ guix machine --add htpc htpc.local
$ guix machine htpc reconfigure ~/dotfiles/guixsd/xbmc.scm
$ guix machine htpc reboot

"reconfigure" here would build the system locally and send over the
closure, so that the remote system never needs to `guix pull`.

For provisioning, maybe something like...

$ guix provision --provider pxe ceph-osd{1..21} <spec>
$ guix provision --provider ganeti guixbuilder{1..4} <spec>

<spec> would adjust hostname and IP addresses according to some
criteria and register the machines.  This is loosely inspired by xCAT
<https://xcat.org/> and would require a stateful database.

Now I'm getting carried away:

$ guix machine --edit r2d2 --ipmi admin@192.168.13.2:password
$ guix machine r2d2 console (SOL)
$ guix machine r2d2 powercycle (IPMI/API)

Arguably some of this falls well outside the scope of Guix, but I do
think there is room for an all-round systems management solution.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-09-20 19:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-17 21:47 [ANNOUNCE] ganeti-instance-guix Marius Bakke
2017-09-18  8:04 ` Ludovic Courtès
2017-09-20 19:44   ` Scope of "GuixOps" (was Re: [ANNOUNCE] ganeti-instance-guix) Marius Bakke

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).