rancher / os

Tiny Linux distro that runs the entire OS as Docker containers
https://rancher.com/docs/os/v1.x/en/
Apache License 2.0
6.45k stars 656 forks source link

PXE boot with cloud config networking leaves ethernet interfaces down #2725

Open ashak opened 5 years ago

ashak commented 5 years ago

I'm trying out RancherOS v1.5.1 on bare metal

I have the machines pxe boot following the pxe boot guide.

I setup a cloud config file to modify the server networking on boot. This seemed to work mostly ok, literally everything I wanted created or configured was there. But the ethernet interfaces themselves were down.

I shrunk my config to the simplest thing I could to see if the issue still existed, and it does.

My cloud config file is now simply:

#cloud-config
rancher:
  network:
    dns:
      nameservers:
        - 8.8.8.8
    interfaces:
      eth0:
        bond: bond0
        dhcp: false
      eth1:
        bond: bond0
        dhcp: false
      bond0:
        dhcp: false

bond0 is created and eth0 and eth1 are configured as slaves of bond0. But eth0 and eth1 both have a link state of down.

With my full networking config, if I simply bring eth0 and eth1 up using ip link set dev ethX up, the remainder of the networking config seems to be correct and works fine.

I would expect eth0 and eth1 to be up after the network configuration changes are applied.

kingsd041 commented 5 years ago

@ashak You can add the bond_opts configuration to the cloud config file, like this:

#cloud-config
rancher:
  network:
    dns:
      nameservers:
        - 8.8.8.8
    interfaces:
      eth0:
        dhcp: true
      eth1:
        bond: bond0
        dhcp: false
      eth2:
        bond: bond0
        dhcp: false
      bond0:
        addresses:
        - 192.168.99.114/24
        bond_opts:
          downdelay: "200"
          lacp_rate: "1"
          miimon: "100"
          mode: "1"
          updelay: "200"
          xmit_hash_policy: layer3+4
        dhcp: false

This works fine in my environment.