xenapi - quantum: L2 agents for dom0 and domU
This patch makes it easier to support the all-in-one installation of
XenServer with Quantum:
- separate agents for domU and dom0 openvswitches. The domU agent's name
is "q-domua", and the dom0 agent is called "q-agt"
- create a physnet1 physical network to connect those openvswitches
Note: This patch depends on the quantum patch:
https://review.openstack.org/15022
For a diagram, see:
http://goo.gl/BuAdg
Change-Id: Iff851438553528b9051edd380ecbb2c0415cbf78
diff --git a/tools/xen/functions b/tools/xen/functions
index c6e484d..3458263 100644
--- a/tools/xen/functions
+++ b/tools/xen/functions
@@ -123,6 +123,32 @@
! [ -z $(xe network-list bridge="$bridge" --minimal) ]
}
+function _network_uuid() {
+ local bridge_or_net_name
+ bridge_or_net_name=$1
+
+ if _bridge_exists "$bridge_or_net_name"; then
+ xe network-list bridge="$bridge_or_net_name" --minimal
+ else
+ xe network-list name-label="$bridge_or_net_name" --minimal
+ fi
+}
+
+function add_interface() {
+ local vm_name
+ local bridge_or_network_name
+
+ vm_name="$1"
+ bridge_or_network_name="$2"
+ device_number="$3"
+
+ local vm
+ local net
+
+ vm=$(xe vm-list name-label="$vm_name" --minimal)
+ net=$(_network_uuid "$bridge_or_network_name")
+ xe vif-create network-uuid=$net vm-uuid=$vm device=$device_number
+}
function setup_network() {
local bridge_or_net_name