[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Ovirt-devel] Network configuration wiki page created...



Daniel P. Berrange wrote:
On Thu, Oct 16, 2008 at 12:45:02PM -0400, Darryl Pierce wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniel P. Berrange wrote:
Yes, this does more closely align, though I see this approach actualy
introduces a slightly different problem - the VLANs don't actually
work very well in this context. If you want to create lots of VLANs,
its forcing you to re-specify the pair of bonded devices each time
which isn't very nice. I can't think of a good answer for this yet
Another thing is if we're going to have multiple networks defined on a
node, we'll need a dropdown for that as well; i.e., select an existing
network to edit.

Regarding the vlans, I'm not experienced enough with them to come up
with a good design. I'll do some research, but if you can point me to a
site that can give a great high level explanation, I can try using that
to tweak the design.

Thinking about it some more, I wasn't far off - we just need some dynamic handling of the devices list depending on what you select.

Basic properties

     Name: free text name for the network

IPv4 properties

       Mode: DHCP | Static | None
    Address: <if static>
    Netmask: <if static>
  Broadcast: <if static>
    Gateway: <if static>

IPv6 properties

       Mode: DHCP | Static | Autoconfig | None
    Address: <if static>
     Prefix: <if static>
    Gateway: <if static>

Physical devices

  Shared: yes | no
    Mode: raw | failover | aggregation | vlan
    VLAN: <number>
 Devices: eth0: 00:11:22:33:44:55:66 (or name of network if its used)
          eth1: 00:11:22:33:44:55:66 (or name of network if its used)
          eth2: 00:11:22:33:44:55:66 (or name of network if its used)
          bond0: <name of network owning the bond>
          bond1: <name of network owning the bond>

So, to explain this last section

 - If you select shared = 'yes', then the resulting device (either ethX
   or bondX) will be attached to a bridge. This enables its use for a
   guest. If not shared, then its a storage or mgmt network where the
   device is used directly.

Should we have a drop down to flag to label specific networks as management, storage, guest (or combinations of all three)? This would just be to make the admin's life easier (no functional purpose really)

Also, when you select shared to create the bridge, we should use consistent bridge names to make troubleshooting easier. i.e. All networks with the same label "Super Secure Guest Network" would all be ovirtbr0 regardless of which Node they are created on. "Super Secure Guest Network #2" would be ovirtbr1 and so on.

 - If mode is 'raw'
      - Devices list is filtered to only show unused ethXXX devices
      - Allows picking of one device
      - Configures the ethXXX device or the bridge if its shared

 - If mode is 'failover' or 'aggregation'
      - Devices list is filtered to only show unused ethXXX devices
      - Allows picking of multiple devices based on mac addr
      - We put them all in a bondXXX device
      - Configures the bondXXX device or the bridge if its shared

 - If mode is 'vlan'
      - Devices list shows all ethXXX, all bondXXX devices in networks
        which are not shared
      - Allows picking of one device based on network name
- Creates a VLAN device ethXXX.YYY or bondXXX.YYY against this device, where YYY is VLAN number
      - Configures the ethXXX.YYY/bondXXX.YY device or the bridge
        if its shared


Some examples

 1. Want device eth0 for mgmt traffic

     - Create network with
          * device mode = raw
          * pick eth0 based on mac addr
* Configure IPv4/6 * Shared = no
        Results in eth0

 2. Want devices eth0 and eth1 bonded for guest traffic

     - Create network with
          * device mode = failover
          * pick eth0 & eth1 based on mac addr
          * Optional IPv4/6 config if desired
          * Shared = yes
        Results in bond0 + br0


 3. Want devices eth0 and eth1, bonded, with two VLANs available for
    guest traffic

     - Create network with
          * device mode = failover
          * pick eth0 & eth1 based on mac addr
          * IPv4/6 address = none
          * Shared = no
        Results in bond0

     - Create network with
          * device mode = vlan
          * pick bond0 based on network name
          * Optional IPv4/6 config if desired
          * Shared = yes
          * VLAN = 123
        Results in bond0.123 + br0.123

     - Create network with
          * device mode = vlan
          * pick bond0 based on network name
          * Optional IPv4/6 config if desired
          * Shared = yes
          * VLAN = 125
        Results in bond0.125 + br0.125


 4. Want device eth0 with one VLAN for guest traffic and one VLAN for
    mgmt traffic

      - Create network with
          * device mode = raw
          * pick eth0 based on mac addr
          * IPv4/6 config = none
          * shared = no
        Results in eth0

      - Create network with
          * device mode = vlan
          * pick eth0 based on network name
          * shared = yes
          * VLAN = 123
        Results in eth0.123 + br0.123

      - Create network with
          * device mode = vlan
          * pick eth0 based on network name
          * shared = no
          * VLAN = 125
         Results in eth0.125


So for bridging, bonding & raw devices everything can be done in one
step by defining a network & picking devices.
Additional networks need only be defined if we wish to make use of
multiple VLANs on a raw device or bond.

This all looks good from a ui perspective... I think later you wrote an email talking about the data modeling for this... :)

/me goes to read

Perry


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]