I incorrectly setup a bond as round-robin in Ubuntu 18.04 LTS when I actually needed active-backup.

Round robin was causing issues due to ‘flapping’ in the switch. Said flapping is caused by both nics sending the same MAC address.

I decided to update my netplan and specify active-backup. After doing that no amount of netplan apply made the change work.

And according to launchpad this seems to be by design:

I believe this is systemd intentional to not change bond parameters if the bond already exists. It is assumed that something else has already created the bond, and thus networkd should not be "updating" the params. Despite networkd creating the bond in the first place...

Maybe there is a way to tera down the bond but what I ended up doing was just restarting the server.

Now cat /proc/net/bonding/bond0 returns the correct bonding mode.