Michael DeHaan wrote:
>>
> The problem with this is that the bonding options are a property of the
> resulting bonding interface asdf, and should be the same for both
> interfaces. I'm not sure where we'd want to store those options.
>
>
How about with the first interface in the bonded set?
Sure, that'd be fine. :)
>>
>>
> To eliminate the possibility of different bonding options specified on
> two slaves of the same bond, we'd need a special bonding configuration
> object (but this might be ugly). This bonding object would contain the
> bonding options and the IP-configuration.
> Per interface we need a field "bonding master", to link the interface to
> this bonding object. We'd want a checkbox for hotplug as well. This
> defaults to ON, but there's a bug with bonding + VLANs and hotplug.
> (
https://bugzilla.redhat.com/show_bug.cgi?id=442339)
> Or we should just disable it by default.
> Per interface we'd also need a list of virtual IPs.
>
Given the above "cobbler system edit" syntax can you sketch out what you
think this might look like?
cobbler system edit --name=foo --interface=1 --bond-group=asdf
--bond-opts="a=1,b=2 ..." --hotplug=no --alias=slave0
--ip-alias="192.168.1.53/24,192.168.1.54/24"
this would set up the bond (resulting interface name foo) and rename
this slave interface to slave0. It would also add aliases on the interface.
cobbler system edit --name=foo --interface=2 --bond-group=asdf
--hotplug=no --alias=slave1
rename the interface to slave1 and add it to bond foo
Something like this?
For things that are proprieties of the bonded set, I'd say
storing them
with the first in the set wouldn't be too hideous.
Otherwise we could just do it correctly and modify the bonding rules on
top of the interfaces already there, though this ends up complicating
the webapp just a bit.
A crazy way to do it might be
cobbler system edit --name=foo --bonds="alpha=0,1:options
beta=2,3:options" or something a bit more complex, though that is less
editable and probably not as clean.
I think we should go the easy way. When we get things working we can
decide if it should be moved some place else.
Jasper