[Ovirt-devel] [PATCH] Add vlan support in taskomatic Patch from Patrick Guiran <pguiran at linagora.com>

Arthur Clement aclement at linagora.com
Wed Jul 21 15:27:25 UTC 2010


Signed-off-by: Arthur Clement <aclement at linagora.com>
---
 src/task-omatic/taskomatic.rb |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/task-omatic/taskomatic.rb b/src/task-omatic/taskomatic.rb
index 7de725d..1fb8132 100755
--- a/src/task-omatic/taskomatic.rb
+++ b/src/task-omatic/taskomatic.rb
@@ -376,20 +376,36 @@ class TaskOmatic
     # loop through each nic/network assigned to vm,
     #  finding necessary host devices to bridge
     net_interfaces = []
+    device_interface_name = nil
     db_vm.nics.each { |nic|
        device = net_device = nil
        if nic.network.class == PhysicalNetwork
          device = Nic.find(:first,
                :conditions => ["host_id = ? AND network_id = ?",
                                     db_host.id, nic.network_id ])
+         device_interface_name = device.interface_name
        else
          device = Bonding.find(:first,
                :conditions => ["host_id = ? AND vlan_id = ?",
                                     db_host.id, nic.network_id ])
+	 # here we should check if in usage group associate to this lan
+	 # we can find a lan that match ...
+	 if device
+           device_interface_name = device.interface_name
+         else
+            # tag du vlan = nic.netwoerk.number
+            usage = nic.network.usages.first
+            db_host.nics.map do |n|
+              if n.network and n.network.usages.first == usage
+                device_interface_name = "#{n.interface_name}.#{nic.network.number}"
+                break
+              end
+            end
+	 end
        end
 
-       unless device.nil?
-          net_device = "br" + device.interface_name
+       if device_interface_name
+          net_device = "br" + device_interface_name
        else
           net_device = "breth0" # FIXME remove this default at some point
        end
-- 
1.7.1




More information about the ovirt-devel mailing list