You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ml...@apache.org on 2013/12/27 00:53:09 UTC

git commit: updated refs/heads/master to 8455a06

Updated Branches:
  refs/heads/master 6f800506f -> 8455a0677


CLOUDSTACK-5654: Don't pass empty string to BroadcastDomainType.Vlan.toUri
when attempting to parse VLAN/VNI from bridge's physical ethernet device


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8455a067
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8455a067
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8455a067

Branch: refs/heads/master
Commit: 8455a0677a8489a84767e01bba2f646339ea6cb2
Parents: 6f80050
Author: Marcus Sorensen <ma...@betterservers.com>
Authored: Thu Dec 26 16:44:09 2013 -0700
Committer: Marcus Sorensen <ma...@betterservers.com>
Committed: Thu Dec 26 16:52:33 2013 -0700

----------------------------------------------------------------------
 .../kvm/resource/LibvirtComputingResource.java     | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8455a067/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index cd4ab26..63c2a08 100755
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -1804,11 +1804,20 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv
         String pif = matchPifFileInDirectory(brName);
         Pattern pattern = Pattern.compile("(\\D+)(\\d+)(\\D*)(\\d*)");
         Matcher matcher = pattern.matcher(pif);
-        if (matcher.find()) {
-            if (brName.startsWith("brvx")) {
+        s_logger.debug("getting broadcast uri for pif " + pif + " and bridge " + brName);
+        if(matcher.find()) {
+            if (brName.startsWith("brvx")){
                 return BroadcastDomainType.Vxlan.toUri(matcher.group(2)).toString();
-            } else {
-                return BroadcastDomainType.Vlan.toUri(matcher.group(4)).toString();
+            }
+            else{
+                if (!matcher.group(4).isEmpty()) {
+                    return BroadcastDomainType.Vlan.toUri(matcher.group(4)).toString();
+                } else {
+                    //untagged or not matching (eth|bond)#.#
+                    s_logger.debug("failed to get vNet id from bridge " + brName
+                           + "attached to physical interface" + pif + ", perhaps untagged interface");
+                    return "";
+                }
             }
         } else {
             s_logger.debug("failed to get vNet id from bridge " + brName + "attached to physical interface" + pif);