From bcaaef5f60cc22cce34eec6b28617dc354199116 Mon Sep 17 00:00:00 2001 From: anthony Date: Thu, 9 Sep 2010 13:39:42 -0700 Subject: [PATCH] bug 6110: return precise message if VLAN is already created on another device. public and direct should use different VLAN. --- .../hypervisor/xen/resource/CitrixResourceBase.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index 80521c5910e..54403b38612 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -3690,9 +3690,14 @@ public abstract class CitrixResourceBase implements StoragePoolResource, ServerR if (vlanNetworkr.PIFs != null) { for (PIF pif : vlanNetworkr.PIFs) { PIF.Record pifr = pif.getRecord(conn); - if (pifr.device.equals(nPifr.device) && pifr.host.equals(nPifr.host)) { - pif.plug(conn); - return vlanNetwork; + if(pifr.host.equals(nPifr.host)) { + if (pifr.device.equals(nPifr.device) ) { + pif.plug(conn); + return vlanNetwork; + } else { + throw new CloudRuntimeException("Creating VLAN " + tag + " on " + nPifr.device + " failed due to this VLAN is already created on " + pifr.device); + } + } } }