voxpupuli / puppet-network

Types and providers to manage network interfaces
https://forge.puppet.com/puppet/network
Apache License 2.0
67 stars 107 forks source link

Ubuntu 20.04 bonded interfaces don't work -- explicitly disables slave/member interfaces in manifests/bond/debian.pp #288

Open legooolas opened 1 year ago

legooolas commented 1 year ago

Affected Puppet, Ruby, OS and module versions/distributions

How to reproduce (e.g Puppet code you use)

network::bond { 'bond0':
  ensure    => 'present',
  hotplug   => false,
  family    => 'inet'
  method    => 'none',
  ipaddress => '1.2.3.4',
  netmask   => '255.255.255.0',
  onboot    => true,
  slaves    => ['eth0', 'eth1'],
  mode      => 'active-backup',
  miimon    => '100',
}

What are you seeing

Slave interfaces are explicitly disabled in manifests/bond/debian.pp but they need basic configuration in the interfaces file to be present for them to become a member of the bond.

What behaviour did you expect instead

Calling network_config to add slave interfaces as bond members.

Output log

Can provide more logging info, but Puppet ensures that the slave interface configs are absent, as requested in the network::bond::debian class by network_config { $slaves: ... }

Any additional information you'd like to impart

The network::bond::redhat class does the right thing here and sets ensure to the same as the bond interface.