Add 'ovs_interfaceid' to nova network VIF model

Instead of relying on the hypervisor VIF drivers to make up
the correct 'interfaceid' parameter based on the VIF uuid,
explicitly tell them what the ovs interfaceid value should
be.

Blueprint: libvirt-vif-driver
Change-Id: I77bb1bcb8f38c8c6e20e9ccbbbd490b251f32fef
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Move helper APIs for OVS ports into linux_net

The libvirt vif driver impls have some helper APIs for creating
and deleteing OVS bridge ports. These are not specific to libvirt,
so move them into the linux_net class which holds other general
Linux networking helper APIs.

With this change LibvirtHybridOVSBridgeDriver no longer needs
to inherit from LibvirtOpenVswitchDriver.

Blueprint: libvirt-vif-driver
Change-Id: I520c23f9dc9d64f834dec875fb49d17b43abd527
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Remove duplicated tapdev creation code from libvirt VIF

Move the 'create_tap_dev' method out of the linux_net class
QuantumLinuxBridgeInterfaceDriver, to be a standalone method.
Make the libvirt LibvirtOpenVswitchDriver call this method
instead of duplicating the tapdev creation code

Blueprint: libvirt-vif-driver
Change-Id: Ib9b5fb3aed5e339464c4f367179911166f2cddfb
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Add REST api to manage bare-metal nodes

* create/delete/list/show bare-metal nodes
* add/remove interfaces to/from bare-metal nodes

blueprint general-bare-metal-provisioning-framework

Change-Id: I1e76f7e3f7f74087e844cfb23dc92154f4c3e127
Merge "Add 'ovs_interfaceid' to nova network VIF model"
Merge "Move helper APIs for OVS ports into linux_net"
Merge "Remove duplicated tapdev creation code from libvirt VIF"
Merge "Add REST api to manage bare-metal nodes"