AutoYast vs. Linuxrc 'netsetup' - who wins? Bug?

I’m doing a SLES12 Sp1 autoinstall via autoyast.xml file, and need to
prompt for the only thing that’s different between the target machines:
the IP address [1]. It seems like this should be easy, just set up the
section with like:

<ask-list config:type="list">
<ask>
<question>IP Address</question>
<title>Networking Configuration</title>
<stage>initial</stage>
<dialog config:type="integer">0</dialog>
<element config:type="integer">1</element>
<pathlist config:type="list">
<path>networking,interfaces,interface,0,ipaddr</path>
</pathlist>
<default>192.168.(_something_).(_something_)</default>
</ask>
</ask-list>

later down in the autoyast.xml file, is the section, like:

<networking>
<!-- bunch of options removed for clarity -->
<keep_install_network config:type="boolean">false</
keep_install_network>
<interfaces config:type="list">
<interface>
<bootproto>static</bootproto>
<device>eth0</device>
<startmode>auto</startmode>
</interface>
<!-- more options removed for clarity -->
</networking>

So, I boot from the ISO and launch the install (Linuxrc) with:

netsetup=dhcp autoyast=http://www.host.com/sles12-autoinstall.xml

and away we go, through the install. I get prompted for IP address, and
specify something like 192.168.1.50. Everything else is specified in the
autoyast.xml file, so there is no further interaction until the install
is complete.

I log in as root, and run “ip a” to find that the IP address is not
192.168.1.50 as specified, it’s something else, because the system is
using DHCP and has gotten whatever the DHCP server handed out. Looking in
YaST confirms that the system is configured to use DHCP.

If I change Linuxrc to prompt for IP address, like:

netsetup=1 autoyast=http://www.host.com/sles12-autoinstall.xml

then I get prompted for DHCP (no), IP address (192.168.1.44/24), router
(192.168.1.1), nameserver (8.8.8.8) and search domain (whatever.com). The
install proceeds, I get prompted for IP address (192.168.1.50), and I end
up with a system configured for static assignment of 192.168.1.44 (what I
fed Linuxrc).

It appears, therefor, that the Linuxrc settings are given priority over
whatever AutoYast is doing in its XML file, to the point where the entire
block for the IP address is superfluous and I may as well just put
the configuration on the Linuxrc command line.

Based on:

https://www.suse.com/documentation/sles-12/book_autoyast/data/
createprofile_network.html

the <keep_install_network> parameter in the autoyast.xml file is supposed
to control this behaviour. I have tried both “true” and “false” here and
both result in exactly the same end configuration. The settings from
Linuxrc win, and autoyast loses.

Is the doc wrong? Or is this a bug in autoyast?

[1] Yeah, I know, hostname also needs to be different. That works fine
when prompted in the section. So does prompting for the root
password so that it doesn’t have to be left sitting in an accessible file.


David Gersic
Knowledge Partner http://forums.microfocus.com
If you find this post helpful, please click on the star below.