Antoni Segura Puimedon has uploaded a new change for review.
Change subject: netinfo: remove deprecated getaddr and getnetmask
......................................................................
netinfo: remove deprecated getaddr and getnetmask
In 5fa87504543719fdc827d2284738a7723b8a5973 we started using
libnl to retrieve both ipv4 addresses and netmask and these
methods fell into deprecation. It's time to get rid of this
old ethtool using code.
Change-Id: I33f39bb63ef440efb3b9bf00aa39f17f37813938
Signed-off-by: Antoni S. Puimedon <asegurap(a)redhat.com>
---
M lib/vdsm/netinfo.py
M vdsm/virt/vm.py
M vdsm_reg/deployUtil.py.in
3 files changed, 12 insertions(+), 26 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/00/29600/1
diff --git a/lib/vdsm/netinfo.py b/lib/vdsm/netinfo.py
index 489e6d6..a412425 100644
--- a/lib/vdsm/netinfo.py
+++ b/lib/vdsm/netinfo.py
@@ -43,7 +43,7 @@
from .ipwrapper import IPRoute2Error
from .ipwrapper import Route
from .ipwrapper import routeGet
-from .ipwrapper import routeShowGateways, routeShowAllDefaultGateways
+from .ipwrapper import routeShowGateways
from . import libvirtconnection
from .netconfpersistence import RunningConfig
from .utils import execCmd, memoized, CommandPath
@@ -327,14 +327,6 @@
return 0
-def getaddr(dev):
- dev_info_list = ethtool.get_interfaces_info(dev.encode('utf8'))
- addr = dev_info_list[0].ipv4_address
- if addr is None:
- addr = ''
- return addr
-
-
def prefix2netmask(prefix):
if not 0 <= prefix <= 32:
raise ValueError('%s is not a valid prefix value. It must be between '
@@ -343,22 +335,15 @@
struct.pack("!I", int('1' * prefix + '0' * (32 -
prefix), 2)))
-def getnetmask(dev):
- dev_info_list = ethtool.get_interfaces_info(dev.encode('utf8'))
- netmask = dev_info_list[0].ipv4_netmask
- if netmask == 0:
- return ''
- return prefix2netmask(netmask)
-
-
def getDefaultGateway():
output = routeShowGateways('main')
return Route.fromText(output[0]) if output else None
-def getIpInfo(dev, ipaddrs):
- ipv4addr = ''
- ipv4netmask = ''
+def getIpInfo(dev, ipaddrs=None):
+ if ipaddrs is None:
+ ipaddrs = _getIpAddrs()
+ ipv4addr = ipv4netmask = ''
ipv4addrs = []
ipv6addrs = []
for addr in ipaddrs[dev]:
@@ -820,8 +805,9 @@
def getIpAddresses():
- "Return a list of the host's IP addresses"
- return filter(None, [getaddr(i) for i in ethtool.get_active_devices()])
+ "Return a list of the host's IPv4 addresses"
+ return [addr['address'] for addr in nl_addr.iter_addrs() if
+ addr['family'] == 'inet']
def IPv4toMapped(ip):
diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py
index 6e937fc..46c595c 100644
--- a/vdsm/virt/vm.py
+++ b/vdsm/virt/vm.py
@@ -5719,7 +5719,7 @@
try:
nets = netinfo.networks()
device = nets[network].get('iface', network)
- ip = netinfo.getaddr(device)
+ ip, _, _, _ = netinfo.getIpInfo(device)
except (libvirt.libvirtError, KeyError, IndexError):
ip = config.get('addresses', 'guests_gateway_ip')
if ip == '':
diff --git a/vdsm_reg/deployUtil.py.in b/vdsm_reg/deployUtil.py.in
index ad91e54..a2cc89d 100644
--- a/vdsm_reg/deployUtil.py.in
+++ b/vdsm_reg/deployUtil.py.in
@@ -463,10 +463,10 @@
strIface = _getMGTIface(vdcHostName)
if strIface is not None:
- strReturn = netinfo.getaddr(strIface)
+ ipv4addr, _, _, _ = netinfo.getIpInfo(strIface)
- logging.debug("getMGTIP: Host MGT IP=" + strReturn)
- return strReturn
+ logging.debug("getMGTIP: Host MGT IP=", ipv4addr)
+ return ipv4addr
def preventDuplicate(bridgeName=None):
--
To view, visit
http://gerrit.ovirt.org/29600
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I33f39bb63ef440efb3b9bf00aa39f17f37813938
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Antoni Segura Puimedon <asegurap(a)redhat.com>