cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Murali Reddy <Murali.Re...@citrix.com>
Subject Re: [Discuss] GRE Tunnel issue on XenServer 6.2
Date Mon, 24 Feb 2014 12:18:51 GMT
Problem is just creating network does not create bridge apparently on XenServer as the comments
on 'enableXenServerNetwork' method indicate. So when findOrCreateTunnelNetwork is called to
see if the network exists, since network object is present across cluster function just returns
but bridge is not created.

Trick is to create bridge explicitly. Below diff worked for me, but did not have time to test
it and submit. Will look into it tomorrow.

diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index cf5c6d6..a935d3f 100644
--- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@ -900,8 +900,16 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
             dom0vif = VIF.create(conn, vifr);
         }
         // At this stage we surely have a VIF
-        dom0vif.plug(conn);
-        dom0vif.unplug(conn);
+        try {
+            dom0vif.plug(conn);
+        } catch (Exception e) {
+            // ignore fake exception
+        }
+        try {
+            dom0vif.unplug(conn);
+        } catch (Exception e) {
+            // ignore fake exception
+        }
         synchronized (_tmpDom0Vif) {
             _tmpDom0Vif.add(dom0vif);
         }
@@ -923,8 +931,8 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
                 } else {
                     vswitchNw = networks.iterator().next();
                 }
-                if (!is_xcp())
-                    enableXenServerNetwork(conn, vswitchNw, "vswitch", "vswitch network");
+
+                enableXenServerNetwork(conn, vswitchNw, "vswitch", "vswitch network");
                 _host.vswitchNetwork = vswitchNw;
             }
             return _host.vswitchNetwork;
@@ -963,6 +971,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
                 s_logger.debug("### Xen Server network for tunnels created:" + nwName);
             } else {
                 nw = networks.iterator().next();
+                enableXenServerNetwork(conn, nw, nwName, "tunnel network for account " +
key);
                 s_logger.debug("Xen Server network for tunnels found:" + nwName);
             }
             return nw;

From: Nguyen Anh Tu <tuna@apache.org<mailto:tuna@apache.org>>
Date: Saturday, 22 February 2014 12:32 AM
To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>
Cc: Murali Reddy <murali.reddy@citrix.com<mailto:murali.reddy@citrix.com>>
Subject: [Discuss] GRE Tunnel issue on XenServer 6.2

Hi guys,

Some people (Florin and Benoit) complain about the GRE tunnel issue on XenServer 6.2. Actually
it has not been fixed completely, although Murali submitted a patch to bypass without any
exception. Personally I stuck in how can we make XenServer 6.2 HOSTs recognize the GRE network
created by an another HOST in one cluster. I confirm the "enableXenServer" (the tricky) method
doesn't work in that case.

Anyone can help?

Thanks,

--Tuna

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message