Foreman discovery image 2.9.1 nightly build for testing

Hello,

new Discovery Image build (2.9.1) is ready. It is NOT compatible with
Foreman Discovery 4.0.0 from Foreman 1.9 repositories, if you want to
test it, use our nightly builds of Discovery Plugin 4.1.0. If our
testing goes well, this build will become 3.0.0 image release.

If you try to use the new image with 4.0.0, it will report correctly but
Discovery won't be able to reboot it (as the API has changed). Note we
haven't merged support into smart-proxy-discovery plugin, so if your
nodes do communicate via proxy, wait until we merge it later this week.
Until then, use direct Foreman connection.

The new image now does not initialize all network cards with DHCP by
default (use fdi.initnet=all to force this behavior). We have cleaned up
network initialization little bit further, which solved two race
conditions with systemd. Also, initial five fact uploads are not cached
to solve some hardware with late initialization. This can be overriden
with kernel command line options. Also, systemctl is following system
journal on the second console and smart proxy now logs into journald
instead of separate file. Servers with IPMI on port #2 (Dell PowerEdge)
is now reported correctly.

The biggest new feature is text-based interface with enhanced status
information, ability to turn on/off ssh and better reporting/debugging.
The ISO image can now be burned onto CDROM/USB stick and nodes can be
discovered semi-automatically without PXE or DHCP. Possible scenarios:

  • fully-automated discovery (traditional approach)
  • networks with DHCP but without PXE
  • networks without PXE/DHCP

Kernel command line options are accepted to do semi-automatic
provisioning where some of forms can be pre-populated with values. Or
things can be fully automated even on networks without PXE/DHCP by
modifying SYSLINUX configuration on the discovery ISO. This essentially
replaces Foreman Bootdisk plugin in scenarios where generic images
(iPXE) do not work well (hardware compatibility).

Upgrading existing nodes: Deploy the new image onto the TFTP server(s),
upgrade Foreman/Discovery plugin and reboot the existing nodes into the
new image.

Full list of changes:

  • #10299 - PXE-less workflow with TUI interface
  • #11678 - Initial 5 fact uploads are not cached
  • #9810 - IPMI facter extensions multichannel support
  • #11340 - Improved build scripts
  • #11241 - Use NetworkManager dispatcher script instead of dhclient
  • #11134 - New fdi.initnet option to init all interfaces
  • #10831 - New fdi.zipserver to override TFTP server for extensions
  • Interactive TUI on the initial (status) screen
  • Only Provisioning (PXE) NIC is initialized with DHCP by default
  • System logs accessible via journald on tty2
  • Removed BMC API with new Power API with kexec support
  • Smart-proxy logs into systemd instead a separate file
  • Dracut patch for old Fedoras removed

Emerging documentation:

https://github.com/theforeman/theforeman.org/pull/421/files

Contributors (in alphabetical order): Elmer Rivera, Greg Sutcliffe, Jan
Ivar Beddari, Lukas Zapletal, Shlomi Zadok, Stephen Benjamin

Thank you all!

··· -- Later, Lukas #lzap Zapletal

Hi Lukas,

thanks for update. I just built discovery image v2.9.1 and updated
discovery plugin to v4.1.0. I have auto-provisioning enabled so foreman
should provision every host automatically after registration. With image
v2.2.1, it worked, but with v2.9.1 it gets stucked in screen called
Discovery status. If I choose Reboot button, then host is rebooted and
correctly provisioned, but I would like to have it without human
intervention. Is it something which can be influenced by configuration, or
is it a bug?

Thank you.

Kamil

··· On Monday, September 21, 2015 at 1:09:34 PM UTC+2, Lukas Zapletal wrote: > > Hello, > > new Discovery Image build (2.9.1) is ready. It is NOT compatible with > Foreman Discovery 4.0.0 from Foreman 1.9 repositories, if you want to > test it, use our nightly builds of Discovery Plugin 4.1.0. If our > testing goes well, this build will become 3.0.0 image release. > > http://downloads.theforeman.org/discovery/nightly/ > > If you try to use the new image with 4.0.0, it will report correctly but > Discovery won't be able to reboot it (as the API has changed). Note we > haven't merged support into smart-proxy-discovery plugin, so if your > nodes do communicate via proxy, wait until we merge it later this week. > Until then, use direct Foreman connection. > > The new image now does not initialize all network cards with DHCP by > default (use fdi.initnet=all to force this behavior). We have cleaned up > network initialization little bit further, which solved two race > conditions with systemd. Also, initial five fact uploads are not cached > to solve some hardware with late initialization. This can be overriden > with kernel command line options. Also, systemctl is following system > journal on the second console and smart proxy now logs into journald > instead of separate file. Servers with IPMI on port #2 (Dell PowerEdge) > is now reported correctly. > > The biggest new feature is text-based interface with enhanced status > information, ability to turn on/off ssh and better reporting/debugging. > The ISO image can now be burned onto CDROM/USB stick and nodes can be > discovered semi-automatically without PXE or DHCP. Possible scenarios: > > - fully-automated discovery (traditional approach) > - networks with DHCP but without PXE > - networks without PXE/DHCP > > Kernel command line options are accepted to do semi-automatic > provisioning where some of forms can be pre-populated with values. Or > things can be fully automated even on networks without PXE/DHCP by > modifying SYSLINUX configuration on the discovery ISO. This essentially > replaces Foreman Bootdisk plugin in scenarios where generic images > (iPXE) do not work well (hardware compatibility). > > Upgrading existing nodes: Deploy the new image onto the TFTP server(s), > upgrade Foreman/Discovery plugin and reboot the existing nodes into the > new image. > > Full list of changes: > > * #10299 - PXE-less workflow with TUI interface > * #11678 - Initial 5 fact uploads are not cached > * #9810 - IPMI facter extensions multichannel support > * #11340 - Improved build scripts > * #11241 - Use NetworkManager dispatcher script instead of dhclient > * #11134 - New fdi.initnet option to init all interfaces > * #10831 - New fdi.zipserver to override TFTP server for extensions > * Interactive TUI on the initial (status) screen > * Only Provisioning (PXE) NIC is initialized with DHCP by default > * System logs accessible via journald on tty2 > * Removed BMC API with new Power API with kexec support > * Smart-proxy logs into systemd instead a separate file > * Dracut patch for old Fedoras removed > > Emerging documentation: > > https://github.com/theforeman/theforeman.org/pull/421/files > > Contributors (in alphabetical order): Elmer Rivera, Greg Sutcliffe, Jan > Ivar Beddari, Lukas Zapletal, Shlomi Zadok, Stephen Benjamin > > Thank you all! > > -- > Later, > Lukas #lzap Zapletal >

Folks,

> http://downloads.theforeman.org/discovery/nightly/

I have created two more builds (3.0.0 and 3.0.1) with three more fixes.
Also I realized the version number must be 3.0+ for "legacy" API to
operate properly (Discovery compares the version and uses the old REST
call to reboot old versions).

The new build is also EFI bootable now and documentation is done and
ready for review. It contains information about remastering the ISO
image to change kernel command line options:

https://github.com/theforeman/theforeman.org/pull/421

··· -- Later, Lukas #lzap Zapletal

Hello Kamil,

> thanks for update. I just built discovery image v2.9.1 and updated
> discovery plugin to v4.1.0. I have auto-provisioning enabled so foreman
> should provision every host automatically after registration. With image
> v2.2.1, it worked, but with v2.9.1 it gets stucked in screen called
> Discovery status. If I choose Reboot button, then host is rebooted and
> correctly provisioned, but I would like to have it without human
> intervention. Is it something which can be influenced by configuration, or
> is it a bug?

Sachin already found a bug which I fixed already, it is oneliner you can
patch on your instance manually, until we will have a nightly build. We
pin all bugs to this tracker for the record:

http://projects.theforeman.org/issues/10294

The relevant patch is: Bug #11942: Host conversion fails on PostgreSQL during provisioning - Discovery - Foreman

Also make sure you use 3.0.1 image now, some bugs were fixed on the
image as well.

··· -- Later, Lukas #lzap Zapletal