Question
Please suggest if there are mis-configurations or if the symptom is a known issue.
Saw the other articles and set netcfg/choose_interface=eth0 as the boot parameter.
- Preseed doesn't automatically select network interface on Ubuntu 14.04; automated install needs human input
- Ubuntu does not follow the preseed file for network settings
Problem
Expected the static network and host/domain would be configured in the /etc/network/interfaces based on the setting in preseed file below. However, DHCP was configured.
cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Other configurations in preseed file such as user, disk partition, etc were configured as expected. The installer log shows preseedings.
/var/log/installer# grep preseed syslog
Jun 21 17:24:51 kernel: [ 0.000000] Command line: initrd=/install/initrd.gz ks=http://xxx.96.102.150/ks.cfg preseed/url=http://xxx.96.102.150/preseed.txt
Jun 21 17:24:51 kernel: [ 0.000000] Kernel command line: initrd=/install/initrd.gz ks=http://xxx.96.102.150/ks.cfg preseed/url=http://xxx.96.102.150/preseed.txt
Jun 21 17:24:58 preseed: successfully loaded preseed file from file:///preseed.cfg
Jun 21 17:25:20 preseed: successfully loaded preseed file from /var/spool/kickseed/parse/preseed.cfg
Jun 21 17:25:46 anna[8833]: DEBUG: retrieving network-preseed 1.62ubuntu1
Jun 21 17:26:01 main-menu[7701]: INFO: Menu item 'network-preseed' selected
Jun 21 17:26:01 preseed: successfully loaded preseed file from http://xxx.96.102.150/preseed.txt
Jun 21 17:26:01 main-menu[7701]: (process:12262): 2016-06-21 17:26:01 URL:http://xxx.96.102.150/preseed.txt [7089/7089] -> "/tmp/debconf-seed" [1]
Jun 21 07:36:37 finish-install: info: Running /usr/lib/finish-install.d/07preseed
The /var/log/installer/cdebconf/questions.dat file has the information below.
Name: netcfg/get_domain
Template: netcfg/get_domain
Value: demo.local
Owners: netcfg
Flags: seen
Name: netcfg/get_ipaddress
Template: netcfg/get_ipaddress
Value: xxx.96.102.139
Owners: netcfg
Flags: seen
...
Workaround
Put the network configuration in kickstart.
network --bootproto=static --device=eth0 --hostname=myhost --ip=xxx.96.102.139 --netmask=255.255.255.192 --gateway=xxx.96.102.129 --nameserver=xxx.96.102.141
Environment
Static hostname: kickseed
Icon name: computer-vm
Chassis: vm
Boot ID: 2e4cc092b21c429e9e0e0d1a3316cf5d
Operating System: Ubuntu 14.04.3 LTS
Kernel: Linux 3.19.0-25-generic
Architecture: x86_64
Kickstart
Using kickstart to set the installation menu language, keyboard.
Configurations
isolinux/isolinux.cfg
# D-I config version 2.0
include menu.cfg
default vesamenu.c32
prompt 0
timeout 1
ui gfxboot bootlogo
isoinux/txt.cfg
default install
label install
menu label ^Install Ubuntu Server
kernel /install/vmlinuz
append initrd=/install/initrd.gz ks=http://xxx.96.102.150/ks.cfg preseed/url=http://xxx.96.102.150/preseed.txt netcfg/choose_interface=eth0
Preseed file
#--------------------------------------------------------------------------------
# NETWORK
#--------------------------------------------------------------------------------
# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
# netcfg/choose_interface=eth0 is set as the boot parameter.
#d-i netcfg/choose_interface select auto
# If you prefer to configure the network manually, uncomment this line and
# the static network configuration below.
d-i netcfg/disable_autoconfig boolean true
# Disable that annoying WEP key dialog.
d-i netcfg/wireless_wep string
# Static network configuration.
# IPv4 example
d-i netcfg/get_ipaddress string xxx.96.102.139
d-i netcfg/get_netmask string 255.255.255.192
d-i netcfg/get_gateway string xxx.96.102.129
d-i netcfg/get_nameservers string xxx.96.102.141
d-i netcfg/confirm_static boolean true
# Any hostname and domain names assigned from dhcp take precedence over
# values set here. However, setting the values still prevents the questions
# from being shown, even if values come from dhcp.
# Hostname:
netcfg netcfg/get_hostname string myhost
# Domain name:
netcfg netcfg/get_domain string demo.local
# If you want to force a hostname, regardless of what either the DHCP
# server returns or what the reverse DNS entry for the IP is, uncomment
# and adjust the following line.
d-i netcfg/hostname string myhost