Discussion:
[Sisuite-devel] Systemimager NG: Working alpha
LAHAYE Olivier
2017-04-12 09:07:50 UTC
Permalink
Hi systemimager users and contributors,

The long awaited systemimager that works on modern distros is almost there (as unstable alpha version for now).
It works so far on CentOS-7 and Fedora-25. CentOS-6 should also work (not yet tested but its old dracut component is taken into account)

rpms for RHEL-6, RHEL-7, FC-25 and source tarball are available on OSCAR Cluster repositories (see below)

I don't forget deb world, but no time for that now. 1st I need to polish the new dracut based architecture.
Then I'll focus on deb world trying to deal with dracut conflict with initramfs-tools on most deb distros.

repos: http://svn.oscar.openclustergroup.org/repos/unstable/
src: http://svn.oscar.openclustergroup.org/pkgs/downloads/systemimager-4.5.0.tar.bz2
git: https://github.com/finley/SystemImager/tree/initrd-from-imageserver-and-dont-package-initrd
post install scripts: http://svn.oscar.openclustergroup.org/pkgs/downloads/sis_postinstall/

Please not that this is really EXPERIMENTAL. As such, do not use in real world except if you know what you're doing.

Note that you must regenerate your install scripts using si_mkautoinstallscript. This command now accpets "shell" as --post-install so you can get a shell even if install is successfull. usefull for debugging post install scripts.

si_mkbootpackage accepts an new parameter: --dracut-opts=""
For example, it is usefull when using it with qemu:
sudo si_mkbootpackage --dracut-opts="--add qemu --add qemu-net" --destination=/tmp
Or if you want a specific keyboard.
sudo si_mkbootpackage --dracut-opts="--kernel-cmdline 'rd.vconsole.keymap=fr'" --destination=/tmp
(man dracut.cmdline to see all paramaters that can be added that way)
Some options may conflict with si_mkbootpackage.
Note: si_mkbootpackage fails to compute initrd.img memory requirements. this is harmless; the generated bootpackage is working.

Also note that network and bootloader are no longer setup by systemconfigurator which is obsolete and doesn't know how to handle network manager or systemd-networkd. The above post-install-scripts with small tweeking should do the trick.

Happy testing.

Olivier.






--

Olivier LAHAYE

CEA DRT/LIST/DIR
LAHAYE Olivier
2017-04-12 16:50:22 UTC
Permalink
David L,

I reply in the list as this mail contains usefull information for every testers.

Cool to here that systemimager is of any interest after such a long time without a working solution on modern distros.

Be very carefull as I had difficulties to make RHEL-6 working until the imaging script works (dracut is v004 (we are at v044))
I'm using qemu and centos-6 fails to have a working network on my descktop, so I can't tell if it really works on this release of CentOS.
- I end up to getting an IP (works)
- Then I fail pingtests (normal on qemu with -net user (only the gateway is pingable and it works)
- Then I try to rsync /scripts and it fails with no route to host (while there is a default route that itis correct and a correct IP and I can ping the gateway).
Possible problem could be: lack of qemu support in rhel6 kernel
Or it can also be a problem in systemimager that forgot to install a low level binary in the initrd and that ends up with a out of subject missleading error message. I hadn't yet the possibility to test on real hardware. but I'll do that soon.

Also you must regenerate your imaging scripts as the structure has changed. The good news is that now, the header of the script reports the command line used to generate it.
Also you must add the provided post installs scripts (grub setup and network setup).

A bad trick could be to use the 86boot package from either rhel-7 or fedora. Those packages only contain matching kernel+initrd and it's a noarch package so even if it's ugly, I think it can work. (of course si_mkbootpackage will remain rhel-6 and generate rhel-6 based initrd, but if you're stuck it could be a viable alternative to use kernel+initrd from fc-25 boot package

si_monitortk is able to report the imaging progress, but as I'm using NAT on my VMs I was unable to test if the remote console is working.

I forgot to tell that IMAGING_SERVER can be specified on the kernel-cmdline
For all possible parameters, have look here:
https://github.com/finley/SystemImager/blob/initrd-from-imageserver-and-dont-package-initrd/lib/dracut/modules.d/39systemimager/parse-sis-options.sh
(on rhel6, it's parse-sis-options-old.sh)
You can also use most dracut.cmdline parameters (man dracut.cmdline)

Cheers,

Olivier.

PS: Tis message should only be on the devel list, but as there is no working solution nowadays, it's good t know for non developpers that in case they really need a systemimager solution, this alpha release could help.

>From now, I'll only post on devel for all messages relative to systemimager devel.
--
Olivier LAHAYE
CEA
Loading...