Bug 861002
| Summary: | [RFE] Cannot store Infiniband HCA's MAC address in Engine's database -mac_addr field is VARCHAR(20) - should be VARCHAR(59) | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Moti Asayag <masayag> |
| Component: | ovirt-engine | Assignee: | Moti Asayag <masayag> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Meni Yakove <myakove> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 3.1.0 | CC: | acathrow, danken, deadhorseconsulting, dyasny, gjansen, iheim, itzikb, lpeer, mavital, mgoldboi, mkolesni, Rhev-m-bugs, sgrinber, yeylon, ykaul |
| Target Milestone: | --- | Keywords: | FutureFeature |
| Target Release: | 3.1.0 | ||
| Hardware: | x86_64 | ||
| OS: | Unspecified | ||
| Whiteboard: | network | ||
| Fixed In Version: | SI21 | Doc Type: | Enhancement |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 823397 | Environment: | |
| Last Closed: | 2012-12-04 20:07:08 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | Network | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 823397 | ||
| Bug Blocks: | |||
|
Description
Moti Asayag
2012-09-27 09:54:27 UTC
Steps for QA to test:
In /usr/lib64/python2.6/site-packages/vdsm/netinfo.py file edit:
def ifconfig():
""" Partial parser to ifconfig output """
p = subprocess.Popen([constants.EXT_IFCONFIG, '-a'],
close_fds=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
out, err = p.communicate()
ifaces = {}
for ifaceblock in out.split('\n\n'):
if not ifaceblock: continue
addr = netmask = hwaddr = ''
for line in ifaceblock.splitlines():
if line[0] != ' ':
ls = line.split()
name = ls[0]
if ls[2] == 'encap:Ethernet' and ls[3] == 'HWaddr':
hwaddr = ls[4]
if hwaddr == "00:14:5E:17:D4:66":
hwaddr += ":00:14:5E:17:D4:66"
if line.startswith(' inet addr:'):
sp = line.split()
for col in sp:
if ':' not in col: continue
k, v = col.split(':')
if k == 'addr':
addr = v
if k == 'Mask':
netmask = v
ifaces[name] = {'addr': addr, 'netmask': netmask, 'hwaddr': hwaddr}
return ifaces
if hwaddr == "00:14:5E:17:D4:66": > This is my eth0 MAC
hwaddr += ":00:14:5E:17:D4:66" > this will make eth0 MAC longer.
This will cause VDSM to report fake MAC.
(In reply to comment #8) > Steps for QA to test: > > In /usr/lib64/python2.6/site-packages/vdsm/netinfo.py file edit: > since you know your nic name, you can alternatively update the dictionary. The following should be added in get() method of netinfo.py, after populating the d['nics'] : d['nics']['eth0']['hwaddr'] = 'a0:50:00:58:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0d:14:11' Verified on vdsm-4.9.6-38.0.el6_3.x86_64, rhevm-3.1.0-21.el6ev.noarch VDSM service is up and report MAC: 'hwaddr': 'a0:50:00:58:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0d:14:11' engine DB: 58d4db85-9c24-4d0f-aaf7-209a8141743a | eth0 | | ed5f73d4-1c29-11e2-93c2-001122334455 | a0:50:00:58:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0d:14:11 UI have the full MAC as tooltip. |