Bug 1037533 - vds_boostrap from rhev-3.0 would fail to add a fresh host when VLAN is defined on top of its NIC
Summary: vds_boostrap from rhev-3.0 would fail to add a fresh host when VLAN is define...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: 3.3.0
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ---
: 3.3.0
Assignee: Dan Kenigsberg
QA Contact: Martin Pavlik
URL:
Whiteboard: network
Depends On: 1037277
Blocks: 3.3rc1
TreeView+ depends on / blocked
 
Reported: 2013-12-03 10:36 UTC by Dan Kenigsberg
Modified: 2016-02-10 19:55 UTC (History)
11 users (show)

Fixed In Version: is28
Doc Type: Bug Fix
Doc Text:
vds_bootstrap, that is still deployed on version 3.0 setups, expects netinfo.getVlanID to return strings, when it now returns integers. This update uses vdsm_compat/netinfo to convert the integers to strings, so vds_bootstrap can successfully add hosts when a VLAN is defined on top of its NIC.
Clone Of: 1037277
Environment:
Last Closed: 2014-01-21 16:25:25 UTC
oVirt Team: Network
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:0040 0 normal SHIPPED_LIVE vdsm bug fix and enhancement update 2014-01-21 20:26:21 UTC

Description Dan Kenigsberg 2013-12-03 10:36:57 UTC
+++ This bug was initially created as a clone of Bug #1037277 +++

Description of problem:
The Node isn't registred in "oVirt Engine" when the network interface card is created with VLAN

Version-Release number of selected component (if applicable):
oVirt Node Hypervisor 3.0.3-1.0.0.fc19

How reproducible:


Steps to Reproduce:
1. Create NIC with VLAN ID.
2. Try Registry Node on oVirt Engine
3.

Actual results:

MainThread::DEBUG::2013-11-28 02:48:30,711::deployUtil::483::root::Bridge ovirtmgmt not found, need to create it.
MainThread::DEBUG::2013-11-28 02:48:30,711::vdsm-reg-setup::80::root::renameBridge begin.
MainThread::DEBUG::2013-11-28 02:48:30,711::deployUtil::1011::root::makeBridge begin.
MainThread::DEBUG::2013-11-28 02:48:30,713::deployUtil::434::root::_getMGTIface: read host name: 172.16.36.240
MainThread::DEBUG::2013-11-28 02:48:30,714::deployUtil::442::root::_getMGTIface: using host name 172.16.36.240 strIP= 172.16.36.240
MainThread::DEBUG::2013-11-28 02:48:30,714::deployUtil::449::root::_getMGTIface IP=172.16.36.240 strIface=eno1.994
MainThread::DEBUG::2013-11-28 02:48:30,715::deployUtil::1055::root::makeBridge found the following bridge paramaters: ['GATEWAY=172.16.36.225', 'IPADDR=172.16.36.226', 'NETMASK=255.255.255.224', 'ONBOOT=yes', 'PEERDNS=no', 'PEERNTP=yes', 'VLAN=yes']
MainThread::DEBUG::2013-11-28 02:48:30,716::utils::489::root::'/sbin/ip -d link show dev eno1.994' (cwd None)
MainThread::DEBUG::2013-11-28 02:48:30,720::utils::509::root::SUCCESS: <err> = ''; <rc> = 0
MainThread::DEBUG::2013-11-28 02:48:30,721::utils::489::root::'/sbin/ip -d link show dev eno1.994' (cwd None)
MainThread::DEBUG::2013-11-28 02:48:30,725::utils::509::root::SUCCESS: <err> = ''; <rc> = 0
MainThread::DEBUG::2013-11-28 02:48:30,725::deployUtil::136::root::['/usr/share/vdsm/addNetwork', 'ovirtmgmt', 994, '', 'eno1', 'GATEWAY=172.16.36.225', 'IPADDR=172.16.36.226', 'NETMASK=255.255.255.224', 'ONBOOT=yes', 'PEERDNS=no', 'PEERNTP=yes', 'VLAN=yes', 'blockingdhcp=true']
MainThread::ERROR::2013-11-28 02:48:30,730::deployUtil::148::root::Traceback (most recent call last):
  File "/usr/share/vdsm-reg/deployUtil.py", line 142, in _logExec
    stderr=subprocess.PIPE)
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
  File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
TypeError: execv() arg 2 must contain only strings

MainThread::DEBUG::2013-11-28 02:48:30,731::deployUtil::1123::root::makeBridge return.

Expected results:


Additional info:
Patch for vdsm/vdsm_reg/deployUtil.py.in

--- deployUtil.py.in.orig	2013-12-03 06:42:34.708153698 +0400
+++ deployUtil.py.in	2013-12-03 06:48:59.605720754 +0400
@@ -1061,6 +1061,7 @@
         else:
             vlan, bonding, nic = _getRHELBridgeParams(mgtIface,
                                                       bridgeName=bridgeName)
+        vlan = str(vlan)
         fReturn = (nic is not None)
 
     #Delete existing bridge in oVirt

--- Additional comment from Vladimir Tananko on 2013-12-03 06:09:53 IST ---

Version-Release number:
ovirt-node-plugin-vdsm-0.1.1-7.fc19.noarch

--- Additional comment from Dan Kenigsberg on 2013-12-03 12:19:02 IST ---

Thanks for this report and the accompanying patch.

We have a more problematic case if someone attempts to use the pre-otopi bootstrap code, which may already be installed on his old ovirt-engine. That code expoect netinfo to return vlan ids as strings.

The latter point may be an issue for existing rhev-3.0 setups, with ancient vds_bootstrap code, needing to add a new host that carries new netinfo.

Comment 2 errata-xmlrpc 2014-01-21 16:25:25 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-0040.html


Note You need to log in before you can comment on or make changes to this bug.