Problems with ifconfig when starting all jails after 10.3 -> 10.4 upgrade
Marc Branchaud
marcnarc at gmail.com
Fri Apr 6 18:26:50 UTC 2018
On 2018-04-05 10:28 AM, Marc Branchaud wrote:
> Hi all,
>
> I just upgraded from 10.3 to 10.4, and "/etc/rc.d/jail start" is having
> problems starting all of my jails:
>
> # /etc/rc.d/jail start
> Starting jails:xipbuild_3_3: created
> ifconfig:: bad value
> jail: xipbuild_3_3_8: /sbin/ifconfig lo1 inet 10.1.1.38/32 alias: failed
> xipbuild_3_4: created
> ifconfig:: bad value
> jail: xipbuild_4_0: /sbin/ifconfig lo1 inet 10.1.1.5/32 alias: failed
> xipbuild: created
> xipbuild_4_9: created
> ifconfig:: bad value
> jail: xipbuild9: /sbin/ifconfig lo1 inet 10.1.1.209/32 alias: failed
> .
More info: Things work fine with jail_parallel_start="YES".
In 10.4, /etc/rc.d/jail now adds "-p1" to the jail command's arguments
when starting all jails with jail_parallel_start="NO". It's definitely
this parameter that's causing my problems -- changing /etc/rc.d/jail to
not add the parameter fixes the problem.
M.
> This worked fine in 10.3. I can individually start each jail, e.g.
> "/etc/rc.d/jail start xipbuild9".
>
> All the jails configure the same set of parameters. Here's my jail.conf:
>
> --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< ---
> xipbuild_3_3 {
> path="/usr/build-jails/jails/3.3";
> host.hostname="xipbuild_3_3";
> ip4.addr="10.1.1.3/32";
>
> allow.chflags;
> allow.mount;
> mount.devfs;
>
> persist;
>
> mount="/usr/home /usr/build-jails/jails/3.3/usr/home nullfs rw 0 0";
> interface="lo1";
> }
> xipbuild_3_3_8 {
> path="/usr/build-jails/jails/3.3.8";
> host.hostname="xipbuild_3_3_8";
> ip4.addr="10.1.1.38/32";
>
> allow.chflags;
> allow.mount;
> mount.devfs;
>
> persist;
>
> mount="/usr/home /usr/build-jails/jails/3.3.8/usr/home nullfs rw 0 0";
> interface="lo1";
> }
> xipbuild_3_4 {
> path="/usr/build-jails/jails/3.4";
> host.hostname="xipbuild_3_4";
> ip4.addr="10.1.1.4/32";
>
> allow.chflags;
> allow.mount;
> mount.devfs;
>
> persist;
>
> mount="/usr/home /usr/build-jails/jails/3.4/usr/home nullfs rw 0 0";
> interface="lo1";
> }
> xipbuild_4_0 {
> path="/usr/build-jails/jails/4.0";
> host.hostname="xipbuild_4_0";
> ip4.addr="10.1.1.5/32";
>
> allow.chflags;
> allow.mount;
> mount.devfs;
>
> persist;
>
> mount="/usr/home /usr/build-jails/jails/4.0/usr/home nullfs rw 0 0";
> interface="lo1";
> }
> xipbuild {
> path="/usr/build-jails/jails/latest";
> host.hostname="xipbuild";
> ip4.addr="10.1.1.200/32";
>
> allow.chflags;
> allow.mount;
> mount.devfs;
>
> persist;
>
> mount="/usr/home /usr/build-jails/jails/latest/usr/home nullfs rw 0 0";
> interface="lo1";
> }
> xipbuild_4_9 {
> path="/usr/build-jails/jails/4.9";
> host.hostname="xipbuild_4_9";
> ip4.addr="10.1.1.90/32";
>
> allow.chflags;
> allow.mount;
> mount.devfs;
>
> persist;
>
> mount="/usr/home /usr/build-jails/jails/4.9/usr/home nullfs rw 0 0";
> interface="lo1";
> }
> xipbuild9 {
> path="/usr/build-jails/jails/latest9";
> host.hostname="xipbuild9";
> ip4.addr="10.1.1.209/32";
>
> allow.chflags;
> allow.mount;
> mount.devfs;
>
> persist;
>
> mount="/usr/home /usr/build-jails/jails/latest9/usr/home nullfs rw 0
> 0";
> interface="lo1";
> }
> --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< ---
>
> I use ipnat to give the jails network access. Here's ipnat.rules:
>
> --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< ---
> map em0 10.1.1.0/24 -> 0/32 proxy port ftp ftp/tcp
> map em0 10.1.1.0/24 -> 0/32
> --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< ---
>
> And here's my rc.conf:
>
> --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< ---
> # Generated by Ansible
>
> # hostname must be FQDN
> hostname="devastator.xiplink.com"
>
> zfs_enable="False"
>
> # FIXME: previously auto-created?
> ifconfig_lo1="create"
>
>
> ifconfig_em0="DHCP SYNCDHCP"
>
> network_interfaces="em0"
> gateway_enable="YES"
>
> # Prevent rpc
> rpcbind_enable="NO"
>
> # Prevent sendmail to try to connect to localhost
> sendmail_enable="NO"
> sendmail_submit_enable="NO"
> sendmail_outbound_enable="NO"
> sendmail_msp_queue_enable="NO"
>
> # Bring up sshd, it takes some time and uses some entropy on first startup
> sshd_enable="YES"
>
> netwait_enable="YES"
> netwait_ip="10.10.0.35"
> netwait_if="em0"
>
> jenkins_swarm_enable="YES"
> jenkins_swarm_opts="-executors 8"
>
> # --- Build jails ---
> build_jails_enable="YES"
> jail_enable="YES"
>
> # Set rules in /etc/ipnat.rules
> ipnat_enable="YES"
>
> # Set interface name for ipnat
> network_interfaces="${network_interfaces} lo1"
>
> # Each jail needs to specify its IP address and mask bits in ipv4_addrs_lo1
> ipv4_addrs_lo1="10.1.1.1/32"
>
> jail_chflags_allow="yes"
>
> varmfs="NO"
> --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< ---
>
> Any insight would be deeply appreciated!
>
> M.
More information about the freebsd-stable
mailing list