Ironic: Fix tag ID detection of tap devices

On Linux kernel 4.1, `ip link` reports peer interface name for
each Open vSwitch interface, like:
  $ ip link
  ...
  71: ovs-tap1@brbm-tap1: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
              ~~~~~~~~~~
Currently it is regarded as a part of interface name, so
causes failure in tap id detection from ovs-vsctl output,
that results into ironic deployment failure.
This patch removes the peer name from the interface name.

Change-Id: Id3b181fa821e9bff1afabef4d63964f61fa49a65
Closes-Bug: #1486273
This commit is contained in:
Tomoki Sekiyama 2015-08-18 18:51:24 -04:00
parent 92d996bf3a
commit 0612b485d3

View File

@ -505,9 +505,9 @@ function create_ovs_taps {
sleep 10
if [[ "$Q_USE_NAMESPACE" = "True" ]]; then
local tapdev=$(sudo ip netns exec qdhcp-${ironic_net_id} ip link list | grep " tap" | cut -d':' -f2 | cut -b2-)
local tapdev=$(sudo ip netns exec qdhcp-${ironic_net_id} ip link list | grep " tap" | cut -d':' -f2 | cut -d'@' -f1 | cut -b2-)
else
local tapdev=$(sudo ip link list | grep " tap" | cut -d':' -f2 | cut -b2-)
local tapdev=$(sudo ip link list | grep " tap" | cut -d':' -f2 | cut -d'@' -f1 | cut -b2-)
fi
local tag_id=$(sudo ovs-vsctl show |grep ${tapdev} -A1 -m1 | grep tag | cut -d':' -f2 | cut -b2-)