I am trying to understand what I can and can not do with the ovirt networking UI ('Edit network' for an individual node). For starters, it's insanely confusing. On a machine where 'ifconfig -a | grep HWaddr' gives the following list br0 Link encap:Ethernet HWaddr 00:30:1B:43:95:30 eth0 Link encap:Ethernet HWaddr 00:30:1B:43:95:30 ovirtbr0 Link encap:Ethernet HWaddr 96:B5:EB:E8:CB:60 pan0 Link encap:Ethernet HWaddr AE:A7:D3:C1:EC:A4 virbr0 Link encap:Ethernet HWaddr 6A:4C:CD:A6:1D:D3 vnet0 Link encap:Ethernet HWaddr 96:B5:EB:E8:CB:60 vnet1 Link encap:Ethernet HWaddr 3A:3D:CF:1D:54:83 I get a dropdown for NIC's that has the following entries: 00:00:00:00 00:00:00:00:00:00 6A:4C:CD:A6:1D:D3 D6:95:2F:16:C1:E9 DA:E7:3D:C3:54:A8 96:B5:EB:E8:CB:60 6A:4C:CD:A6:1D:D3 DA:E7:3D:C3:54:A8 3A:3D:CF:1D:54:83 96:B5:EB:E8:CB:60 D6:95:2F:16:C1:E9 6A:4C:CD:A6:1D:D3 AE:A7:D3:C1:EC:A4 DA:E7:3D:C3:54:A8 00:30:1B:43:95:30 and no - the duplication in there is not a typo, neither are spurious entries like 'DA:E7:3D:C3:54:A8' - there is no such NIC on that machine. Since I have eth0 enslaved to br0, there is absolutely no way for me to distinguish them in the UI. When I select one of the NIC's, the 'Network' dropdown is populated with a bunch of UUID's, many of them repeated and all with the label 'Physical Network - DHCP' Surprisingly, the UUID's for the libvirt-defined networks is not amongst them. They seem to be the UUID's of my ovirt nodes. This UI is completely unusable as it stands. At a minimum, we need to fix this UI by * filter the list of NIC's to remove nonsensical entries (like lo or interfaces enslaved to a bridge) * show some human-readable name for each NIC (like 'br0', 'eth0' etc.) * give the user a way to attach meaningful labels to the networks instead of having them stare at UUID's * when editing a VM, present the user with a _dropdown list_ of known network _names_ (not UUID's) so that they can select a network, which will then make sure that the vnic has the interface on that network as its source So, the flow would be something like the following: * There is nothing to autodiscover about networks (as seems to be the case right now, since the networks table gets populated with something) * When a node is first added to oVirt, mark all its interfaces to be on the 'unkown' or 'surprise' or "router's choice" network * For each node, the user can assign symbolic names to each of the NIC's (bonus points for suppressing spurious NIC's, but as long as the user can distinguish what NIC they are dealing with, that's at least usable) * When creating a VM, user indicates which network the VNIC should be on David
David Lutterkort wrote:> I am trying to understand what I can and can not do with the ovirt > networking UI ('Edit network' for an individual node). > > For starters, it's insanely confusing. On a machine where 'ifconfig -a | > grep HWaddr' gives the following list > > br0 Link encap:Ethernet HWaddr 00:30:1B:43:95:30 > eth0 Link encap:Ethernet HWaddr 00:30:1B:43:95:30 > ovirtbr0 Link encap:Ethernet HWaddr 96:B5:EB:E8:CB:60 > pan0 Link encap:Ethernet HWaddr AE:A7:D3:C1:EC:A4 > virbr0 Link encap:Ethernet HWaddr 6A:4C:CD:A6:1D:D3 > vnet0 Link encap:Ethernet HWaddr 96:B5:EB:E8:CB:60 > vnet1 Link encap:Ethernet HWaddr 3A:3D:CF:1D:54:83Is this on the appliance, the host running the appliance or a Node? The Node no longer has bridges named like ovirtbr. All bridges are now br$dev (i.e. breth0, breth1...) ovirtbr0 is only used to create the bridge used by the appliance, and as has been said a few times the appliance is really only for demos at this point. bare metal installs of ovirt-server will not have an ovirtbr0 interface. Doing ifconfig -a on the appliance host is not really valid. Do it on the Node. That will give you a saner and shorter list. The rest I'll let other folks handle... Perry
??????? ??????? wrote:> > Ok, I wouldn't worry about this particular case. Running guests on > the host that runs the appliance is a complete hack only usable for > demos. Never meant to be used in production. > > So I'd focus on running ifconfig -a on real Nodes > > > What do you think about ovirt-appliance will be one of more virtual > machines ?We're focusing on bare metal server installations. The appliance for the time being will only be used for demos. In bare metal ovirt server installs, we do allow the services to be distributed. For example, your FreeIPA server can be on one host, your ovirt-server on another, and DNS/DHCP on a third. This capability will be expanded on over time so that even the components of ovirt-server can be distributed (taskomatic, the database, the web front end) though that is a little further off at the current time. The general feeling is that the servers used to maintain a datacenter composed of virtual machines is important enough that perhaps it itself should not be a virtual machine. I'm open to arguments against this line of thinking, but I believe that's how we've been proceeding so far.> And by wui will able migrate appliance between hosts.There are no plans to support this at the current time.> high availability mechanism for monitor host's state and restart vm if > host is crashed ?We are working on building HA into the project so that oVirt Nodes and guests running on Nodes can be HA. HA will not extend to guests running on the same host as the oVirt Appliance however, since if the Appliance Host crashes all bets are off. In order to provide HA you need to have a dedicated host running the ovirt-server and your Nodes need to be separate physical machines with hardware fencing capabilities. Perry
Hi Mo, after playing with this UI some more (from the HEAD of next), here's what I think needs to be addressed: Global networks UI: * Networks should not be autopopulated; leave new NIC's unassigned (nics.physical_network_id = NULL, but edit NIC screen for nodes barfs if you have a NULL physical_network_id, though the DB schema allows it) * There's no point in assigning an IP address to a network; that screen should be called something like 'Routing info' or 'IP setup'. Actually, there's no point in having a separate 'Edit IP address' form from the 'Edit' form - when user selects 'Static IP' as the boot type for a network, add fields for netmask, broadcast and gateway to the 'Edit' form. * Edit network: can select all three usages, but saving with that does nothing. It should be legit to assign multiple usages to a network * When displaying an individual network, also display the Usage Edit network for individual node: * NIC's dropdown needs to indicate the name of the interface * NIC's dropdown should remove entries we know aren't external interfaces like lo and vnetN * For a NIC on a static network, netmask, broadcast and gateway should be taken from the network, only IP address needs to specified for each NIC * There's no way to see the list of NIC's for a host and the networks they are assigned to. * Would be nice to indicate that a certain NIC should not be configured by ovirt (for self-managed nodes), i.e. user tells ovirt that NIC x is on network y, but ovirt won't touch the NIC's config Edit virtual machine: * The UUID next to the VNIC's MAC should be removed (is that the VM's UUID ? if so, it should go underneath the VM's name); instead, there should be a dropdown to select the network on which to put the VNIC * When putting a VNIC on a network with static routing, user needs to enter IP for that VNIC David