CLOUDSTACK-3959: [KVM] agent setup failed when physical interface name is in 
pXpY format

Add handling.

Signed-off-by: Edison Su <[email protected]>


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

Branch: refs/heads/master
Commit: 7774ecfd5ab3e2ecf1fc75634a959737a302dc79
Parents: 211524f
Author: Toshiaki Hatano <[email protected]>
Authored: Tue Jul 30 22:03:32 2013 +0000
Committer: Edison Su <[email protected]>
Committed: Tue Jul 30 16:17:12 2013 -0700

----------------------------------------------------------------------
 .../hypervisor/kvm/resource/LibvirtComputingResource.java   | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7774ecfd/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 bfa0b7e..d91c1c5 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
@@ -1000,7 +1000,7 @@ ServerResource {
         File f = new File("/sys/devices/virtual/net/" + bridgeName + "/brif");
 
         if (! f.isDirectory()){
-            s_logger.debug("failing to get physical interface from bridge"
+            s_logger.debug("failing to get physical interface from bridge "
                            + bridgeName + ", does " + f.getAbsolutePath()
                            + "exist?");
             return "";
@@ -1012,13 +1012,14 @@ ServerResource {
             String fname = interfaces[i].getName();
             s_logger.debug("matchPifFileInDirectory: file name '"+fname+"'");
             if (fname.startsWith("eth") || fname.startsWith("bond")
-                || fname.startsWith("vlan") || fname.startsWith("em")) {
+                || fname.startsWith("vlan") || fname.startsWith("em")
+                || fname.matches("^p\\d+p\\d+")) {
                 return fname;
             }
         }
 
-        s_logger.debug("failing to get physical interface from bridge"
-                        + bridgeName + ", did not find an eth*, bond*, or 
vlan* in "
+        s_logger.debug("failing to get physical interface from bridge "
+                        + bridgeName + ", did not find an eth*, bond*, vlan*, 
em*, or p*p* in "
                         + f.getAbsolutePath());
         return "";
     }

Reply via email to