It took reading through this launchpad bug to find ideas on how to get a bonding interface working on Ubuntu. This is dumb and why people hate computers: could they at least have provided a more useful syntax or better warning messages?
auto eth7 allow-bond0 eth7 iface eth7 inet manual bond-master bond0 mtu 9000 auto eth8 allow-bond0 eth8 iface eth8 inet manual bond-master bond0 mtu 9000 auto bond0 iface bond0 inet static address 10.52.0.1 netmask 255.255.255.0 network 10.52.0.0 gateway 10.52.0.2 bond-slaves eth7 eth8 bond-mode balance-rr bond-miimon 100 bond-downdelay 200 bond-updelay 200 mtu 9000 use-carrier 1 pre-up (sleep 2 && ifup eth7) & pre-up (sleep 2 && ifup eth8) &
And you want to make sure all interfaces are down. Then rmmod bonding. At this point, ifup bond0 should complain a bit but it should work.