Activity log for bug #1581517

Date Who What changed Old value New value Message
2016-05-13 12:53:13 Vladimir Kuklin bug added bug
2016-05-13 12:53:32 Vladimir Kuklin nominated for series fuel/mitaka
2016-05-13 12:53:32 Vladimir Kuklin bug task added fuel/mitaka
2016-05-13 12:53:32 Vladimir Kuklin nominated for series fuel/newton
2016-05-13 12:53:32 Vladimir Kuklin bug task added fuel/newton
2016-05-13 12:53:54 Vladimir Kuklin tags area-python area-python feature-unlocked-settings-tab life-cycle-management
2016-05-13 12:54:03 Vladimir Kuklin fuel/mitaka: milestone 9.0
2016-05-13 12:54:05 Vladimir Kuklin fuel/mitaka: assignee Vladimir Kuklin (vkuklin)
2016-05-13 12:54:07 Vladimir Kuklin fuel/mitaka: importance Undecided High
2016-05-13 12:54:08 Vladimir Kuklin fuel/mitaka: status New Triaged
2016-05-13 12:54:11 Vladimir Kuklin fuel/newton: status Confirmed Triaged
2016-05-13 12:57:09 Vladimir Kuklin description This piece of nailgun-agent code "int_meta[:pxe] = admin_mac == int_meta[:mac]" does not take into consideration that interface will become a part of a bridge. The fix is trivial, although it should also respect the bridges: re = perm_addr.match(/(00(:00){5})+/).nil? ? /[0-9a-f]+(:[0-9a-f]+){5}$/ : nil end int_meta[:mac] = perm_addr.match(re)[0] rescue addr - int_meta[:pxe] = admin_mac == int_meta[:mac] + int_meta[:pxe] = false + if File.exist? "/sys/class/net/#{int_meta[:name]}/brport" + bridge_mac = nil + File.open("/sys/class/net/#{int_meta[:name]}/brport/bridge/address") do |f| + bridge_mac = f.read.chomp.downcase + end + int_meta[:pxe] = admin_mac == bridge_mac + else + int_meta[:pxe] = admin_mac == int_meta[:mac] + end begin int_info = Rethtool::InterfaceSettings.new(int) int_meta[:driver] = int_info.driver This piece of nailgun-agent code "int_meta[:pxe] = admin_mac == int_meta[:mac]" does not take into consideration that interface will become a part of a bridge. The fix is trivial, although it should also respect the bonds:                re = perm_addr.match(/(00(:00){5})+/).nil? ? /[0-9a-f]+(:[0-9a-f]+){5}$/ : nil              end              int_meta[:mac] = perm_addr.match(re)[0] rescue addr - int_meta[:pxe] = admin_mac == int_meta[:mac] + int_meta[:pxe] = false + if File.exist? "/sys/class/net/#{int_meta[:name]}/brport" + bridge_mac = nil + File.open("/sys/class/net/#{int_meta[:name]}/brport/bridge/address") do |f| + bridge_mac = f.read.chomp.downcase + end + int_meta[:pxe] = admin_mac == bridge_mac + else + int_meta[:pxe] = admin_mac == int_meta[:mac] + end              begin                int_info = Rethtool::InterfaceSettings.new(int)                int_meta[:driver] = int_info.driver
2016-05-23 11:46:02 OpenStack Infra fuel: status Triaged In Progress
2016-05-31 12:10:18 OpenStack Infra fuel: status In Progress Fix Committed
2016-05-31 12:32:44 OpenStack Infra fuel/mitaka: status Triaged In Progress
2016-06-01 11:55:45 OpenStack Infra fuel/mitaka: status In Progress Fix Committed
2016-06-15 12:43:07 Andrey Lavrentyev tags area-python feature-unlocked-settings-tab life-cycle-management area-python feature-unlocked-settings-tab life-cycle-management on-verification
2016-06-16 11:05:53 Andrey Lavrentyev tags area-python feature-unlocked-settings-tab life-cycle-management on-verification area-python feature-unlocked-settings-tab life-cycle-management
2016-06-16 11:05:58 Andrey Lavrentyev fuel/mitaka: status Fix Committed Fix Released