[arch-releng] Archlinux automated via PXE
Good morning devs, I'm running a big pool of Linux installations in the ETH Zurich [0] and from time to time I am interested in giving Archlinux a try for a big installation. But the lack of a very easy automated way to retrieve networking images, like provided with OpenBSD or Debian & variants, makes me drop back (cuni [0] got a list of easily netinstallable Os). I'm aware that I can download the ISO, grab the kernel + initrd and have it running, but it's a pretty cumbersome approach. Thus I'd like to discuss whether there is no easy way to provide kernel + initrd in a standard location? Secondly I'd be interested in seeing a standard way on how to automate the installation, which could probably a wikipage "Archlinux in big environments". I'm wondering what your opinions are regarding those two topics and whether there'll be some changes mid term that may make archlinux able to be a canditate for automatic installations. Have a nice evening, Nico [0] cuni: http://www.nico.schottelius.org/software/cuni/ -- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
On Fri, Apr 1, 2011 at 4:10 PM, Nico Schottelius < nico-archlinux-releng@schottelius.org> wrote:
Good morning devs,
I'm running a big pool of Linux installations in the ETH Zurich [0] and from time to time I am interested in giving Archlinux a try for a big installation.
But the lack of a very easy automated way to retrieve networking images, like provided with OpenBSD or Debian & variants, makes me drop back (cuni [0] got a list of easily netinstallable Os).
I'm aware that I can download the ISO, grab the kernel + initrd and have it running, but it's a pretty cumbersome approach.
Thus I'd like to discuss whether there is no easy way to provide kernel + initrd in a standard location?
Secondly I'd be interested in seeing a standard way on how to automate the installation, which could probably a wikipage "Archlinux in big environments".
I'm wondering what your opinions are regarding those two topics and whether there'll be some changes mid term that may make archlinux able to be a canditate for automatic installations.
Have a nice evening,
Nico
[0] cuni: http://www.nico.schottelius.org/software/cuni/
-- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
I really need to get my stuff on this out into the wild, I use ramdisk network boots, I had to modify the mkinitcpio but it works amazingly well. So I never install systems, I just reboot them into new root images. The problem is that I need to refine it a great deal. If you are however interested in automating virtual machine installs you can use varch: https://wiki.archlinux.org/index.php/Varch Sorry I don't have this stuff out yet, I won't have time to do it for at least 3 or 4 months, but I am happy to field questions! Also, are you using puppet? I could not live without it in the datacenter. -Thomas S Hatch -Arch Linux Trusted User
Hey Thomas, Thomas S Hatch [Fri, Apr 01, 2011 at 05:27:16PM -0600]:
I really need to get my stuff on this out into the wild, I use ramdisk network boots, I had to modify the mkinitcpio but it works amazingly well. So I never install systems, I just reboot them into new root images.
Interesting approach, we're doing something similar with nfsroot sometimes. Though for this issue in particular, I'm more interested in installing real systems, so I could in theory drive my business with archlinux.
The problem is that I need to refine it a great deal.
If you are however interested in automating virtual machine installs you can use varch: https://wiki.archlinux.org/index.php/Varch
Had a look at that, does not really match what I'm searching for.
Also, are you using puppet? I could not live without it in the datacenter.
We've just migrated away from puppet to cdist for various reasons, including, but not limited to push vs. pull approach, no high level language / interpreter requirements and hopefull more clean error messages. You can find more about cdist at http://www.nico.schottelius.org/software/cdist/. Cheers, Nico -- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
On Fri, Apr 1, 2011 at 5:28 PM, Nico Schottelius < nico-archlinux-releng@schottelius.org> wrote:
Hey Thomas,
Thomas S Hatch [Fri, Apr 01, 2011 at 05:27:16PM -0600]:
I really need to get my stuff on this out into the wild, I use ramdisk network boots, I had to modify the mkinitcpio but it works amazingly well. So I never install systems, I just reboot them into new root images.
Interesting approach, we're doing something similar with nfsroot sometimes.
Though for this issue in particular, I'm more interested in installing real systems, so I could in theory drive my business with archlinux.
The problem is that I need to refine it a great deal.
If you are however interested in automating virtual machine installs you can use varch: https://wiki.archlinux.org/index.php/Varch
Had a look at that, does not really match what I'm searching for.
Also, are you using puppet? I could not live without it in the datacenter.
We've just migrated away from puppet to cdist for various reasons, including, but not limited to push vs. pull approach, no high level language / interpreter requirements and hopefull more clean error messages.
You can find more about cdist at http://www.nico.schottelius.org/software/cdist/.
Cheers,
Nico
-- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
I will have to look into cdist. I have been working on a project for distributed system management called salt recently that could be used as the push medium for something like cdist: https://github.com/thatch45/salt
Thomas S Hatch [Fri, Apr 01, 2011 at 05:44:22PM -0600]:
I will have to look into cdist.
I have been working on a project for distributed system management called salt recently that could be used as the push medium for something like cdist: https://github.com/thatch45/salt
Interesting, though I do not instantly see the use case of salt (indenpendent of cdist). Regarding push medium / cdist: It uses plain ssh, as this is available on every unix and cdist thus does not require any other stuff (besides a shell) on the target. Cheers, Nico -- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
I added a few things to make serial console work over PXE/IPMI recently... so at least you can do manual installs that way. On Fri, Apr 1, 2011 at 16:27, Thomas S Hatch <thatch45@gmail.com> wrote:
On Fri, Apr 1, 2011 at 4:10 PM, Nico Schottelius < nico-archlinux-releng@schottelius.org> wrote:
Good morning devs,
I'm running a big pool of Linux installations in the ETH Zurich [0] and from time to time I am interested in giving Archlinux a try for a big installation.
But the lack of a very easy automated way to retrieve networking images, like provided with OpenBSD or Debian & variants, makes me drop back (cuni [0] got a list of easily netinstallable Os).
I'm aware that I can download the ISO, grab the kernel + initrd and have it running, but it's a pretty cumbersome approach.
Thus I'd like to discuss whether there is no easy way to provide kernel + initrd in a standard location?
Secondly I'd be interested in seeing a standard way on how to automate the installation, which could probably a wikipage "Archlinux in big environments".
I'm wondering what your opinions are regarding those two topics and whether there'll be some changes mid term that may make archlinux able to be a canditate for automatic installations.
Have a nice evening,
Nico
[0] cuni: http://www.nico.schottelius.org/software/cuni/
-- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
I really need to get my stuff on this out into the wild, I use ramdisk network boots, I had to modify the mkinitcpio but it works amazingly well. So I never install systems, I just reboot them into new root images.
The problem is that I need to refine it a great deal.
If you are however interested in automating virtual machine installs you can use varch: https://wiki.archlinux.org/index.php/Varch
Sorry I don't have this stuff out yet, I won't have time to do it for at least 3 or 4 months, but I am happy to field questions!
Also, are you using puppet? I could not live without it in the datacenter.
-Thomas S Hatch -Arch Linux Trusted User
Simo Leone [Fri, Apr 01, 2011 at 04:40:21PM -0700]:
I added a few things to make serial console work over PXE/IPMI recently... so at least you can do manual installs that way.
That's probably another good step into the right direction! What about logging to a remote tcp/udp port and/or syslog support? In the end, the killer for using an OS in a large infrastructure is automated installations though, not only logging :-) Cheers, Nico -- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
On Sat, 2 Apr 2011 01:54:12 +0200 Nico Schottelius <nico-archlinux-releng@schottelius.org> wrote:
Simo Leone [Fri, Apr 01, 2011 at 04:40:21PM -0700]:
I added a few things to make serial console work over PXE/IPMI recently... so at least you can do manual installs that way.
That's probably another good step into the right direction!
What about logging to a remote tcp/udp port and/or syslog support?
In the end, the killer for using an OS in a large infrastructure is automated installations though, not only logging :-)
Cheers,
Nico
You should be able to do what you want with: https://wiki.archlinux.org/index.php/Archiso_as_pxe_server and recent images from http://releng.archlinux.org/isos/ where you can pass a script argument to the kernel which will execute any script (like say.. an aif automatic installation) Dieter
Hey Dieter, Dieter Plaetinck [Sat, Apr 02, 2011 at 09:43:31AM +0200]:
On Sat, 2 Apr 2011 01:54:12 +0200 Nico Schottelius <nico-archlinux-releng@schottelius.org> wrote:
Simo Leone [Fri, Apr 01, 2011 at 04:40:21PM -0700]:
I added a few things to make serial console work over PXE/IPMI recently... so at least you can do manual installs that way.
That's probably another good step into the right direction!
What about logging to a remote tcp/udp port and/or syslog support?
In the end, the killer for using an OS in a large infrastructure is automated installations though, not only logging :-)
Cheers,
Nico
You should be able to do what you want with: https://wiki.archlinux.org/index.php/Archiso_as_pxe_server and recent images from http://releng.archlinux.org/isos/ where you can pass a script argument to the kernel which will execute any script (like say.. an aif automatic installation)
That's right, but it's pretty cumbersome to retrieve a whole iso image to do that job. Besides that, in a large infrastructure dhcp/dns is usually already existing and thus the script does way too much. Indeed, if you'd added the copy_files() part into the release process, people who want to have the pxe installation method could just grep the 4 needed files and would be happy. That's what other Unices do and in my opinion should be simple to implement once at Archlinux and then have nobody care about it again. Cheers, Nico -- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
On Sat, 2 Apr 2011 10:19:57 +0200 Nico Schottelius <nico-archlinux-releng@schottelius.org> wrote:
Hey Dieter,
Dieter Plaetinck [Sat, Apr 02, 2011 at 09:43:31AM +0200]:
On Sat, 2 Apr 2011 01:54:12 +0200 Nico Schottelius <nico-archlinux-releng@schottelius.org> wrote:
Simo Leone [Fri, Apr 01, 2011 at 04:40:21PM -0700]:
I added a few things to make serial console work over PXE/IPMI recently... so at least you can do manual installs that way.
That's probably another good step into the right direction!
What about logging to a remote tcp/udp port and/or syslog support?
In the end, the killer for using an OS in a large infrastructure is automated installations though, not only logging :-)
Cheers,
Nico
You should be able to do what you want with: https://wiki.archlinux.org/index.php/Archiso_as_pxe_server and recent images from http://releng.archlinux.org/isos/ where you can pass a script argument to the kernel which will execute any script (like say.. an aif automatic installation)
That's right, but it's pretty cumbersome to retrieve a whole iso image to do that job.
Besides that, in a large infrastructure dhcp/dns is usually already existing and thus the script does way too much.
Indeed, if you'd added the copy_files() part into the release process, people who want to have the pxe installation method could just grep the 4 needed files and would be happy.
That's what other Unices do and in my opinion should be simple to implement once at Archlinux and then have nobody care about it again.
well, I don't have a large infrastructure sitting at home, nor do I have the time to figure out and implement a feature I don't use; I already have a hard enough time doing all the other releng stuff. If you want to make things better, I welcome contributions and will gladly assist you where I can. But this kind of stuff needs to come from someone who actually uses it and can test it. Dieter
Dieter Plaetinck [Sat, Apr 02, 2011 at 10:58:27AM +0200]:
Nico Schottelius <nico-archlinux-releng@schottelius.org> wrote:
[prepared stuff for pxe environment]
well, I don't have a large infrastructure sitting at home, nor do I have the time to figure out and implement a feature I don't use; I already have a hard enough time doing all the other releng stuff.
If you want to make things better, I welcome contributions and will gladly assist you where I can. But this kind of stuff needs to come from someone who actually uses it and can test it.
Fair enough! I'll take over the hat, can you give me some initial pointers on what to read to see how releases are done and how you'd like to see patches? Cheers, Nico -- PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
On Sat, 2 Apr 2011 10:58:42 +0200 Nico Schottelius <nico-archlinux-releng@schottelius.org> wrote:
Dieter Plaetinck [Sat, Apr 02, 2011 at 10:58:27AM +0200]:
Nico Schottelius <nico-archlinux-releng@schottelius.org> wrote:
[prepared stuff for pxe environment]
well, I don't have a large infrastructure sitting at home, nor do I have the time to figure out and implement a feature I don't use; I already have a hard enough time doing all the other releng stuff.
If you want to make things better, I welcome contributions and will gladly assist you where I can. But this kind of stuff needs to come from someone who actually uses it and can test it.
Fair enough!
I'll take over the hat, can you give me some initial pointers on what to read to see how releases are done and how you'd like to see patches?
Cheers,
Nico
we build releases basically by getting the latest archiso from git and running make all in practice, on the releng machine, some more stuff is being done (like building aif package from git and using that, instead of aif from the repo). the package sources are at http://releng.archlinux.org/ (the built packages also, but it seems they are a bit out of date) the entire releng enviroment (scripts and stuff) is at http://projects.archlinux.org/users/dieter/releng.git/tree/ the main script is http://projects.archlinux.org/users/dieter/releng.git/tree/scripts/releng-bu... patches: git format-patch and git send-email Dieter
Le 02/04/2011 00:10, Nico Schottelius a écrit :
Good morning devs,
I'm running a big pool of Linux installations in the ETH Zurich [0] and from time to time I am interested in giving Archlinux a try for a big installation.
But the lack of a very easy automated way to retrieve networking images, like provided with OpenBSD or Debian& variants, makes me drop back (cuni [0] got a list of easily netinstallable Os).
I'm aware that I can download the ISO, grab the kernel + initrd and have it running, but it's a pretty cumbersome approach.
Thus I'd like to discuss whether there is no easy way to provide kernel + initrd in a standard location?
Secondly I'd be interested in seeing a standard way on how to automate the installation, which could probably a wikipage "Archlinux in big environments".
I'm wondering what your opinions are regarding those two topics and whether there'll be some changes mid term that may make archlinux able to be a canditate for automatic installations.
Have a nice evening,
Nico
Hi Tom, I haven't completely understood what you want to do. But it seems you want to install a bunch of computers automatically via PXE and that you already have some framework to do it for multiple distributions. This latter constrain isn't one of mine: I am managing a small cluster of machines (all x86_64, but not identical machines). Btw we are almost neighbour as I am at the University of Geneva. Over the past few weeks, I tried to implement a simple solution (strongly inspired by Cobbler for Redhat and with the help of Dieter and Gerardo) to install Archlinux automatically. As you mentioned, I also already have a dns/dhcp (dnsmasq) running. So I patched archiso-pxe-server (https://github.com/djgera/archiso-pxe-server) to avoid starting dnsmasq again. For the installation itself, a small web app is serving the AIF script/profile. You can find it here: http://hg.vejnar.org/trapezium The 2011.03.23 version of the iso isn't yet a functional version. But normally the next one should be (I submitted a patch yesterday to fix I hope the last bug). I will try then to make an effort for documentation. I am sure this isn't the best solution but it is very simple, plays well with the existing archiso/AIF architecture. But you seem to have some more experience and I will be happy to test if you submit patches. Charles
participants (5)
-
Charles Vejnar
-
Dieter Plaetinck
-
Nico Schottelius
-
Simo Leone
-
Thomas S Hatch