Normalize MAC OctetString to fix InvalidMAC exception
This patch adds a step of MAC OctetString normalization to fix InvalidMAC exception in iRMC inspection module. Closes-Bug: #1564190 Change-Id: Ic2a5aaf2beadf06d69864ac7ea0d7a9aadebdc83
This commit is contained in:
parent
998af9a303
commit
df06a848f1
@ -99,7 +99,8 @@ def _get_mac_addresses(node):
|
|||||||
d_info['irmc_snmp_security'])
|
d_info['irmc_snmp_security'])
|
||||||
|
|
||||||
node_classes = snmp_client.get_next(NODE_CLASS_OID)
|
node_classes = snmp_client.get_next(NODE_CLASS_OID)
|
||||||
mac_addresses = snmp_client.get_next(MAC_ADDRESS_OID)
|
mac_addresses = [':'.join(['%02x' % ord(x) for x in mac])
|
||||||
|
for mac in snmp_client.get_next(MAC_ADDRESS_OID)]
|
||||||
|
|
||||||
return [a for c, a in zip(node_classes, mac_addresses)
|
return [a for c, a in zip(node_classes, mac_addresses)
|
||||||
if c == NODE_CLASS_OID_VALUE['primary']]
|
if c == NODE_CLASS_OID_VALUE['primary']]
|
||||||
|
@ -49,9 +49,9 @@ class IRMCInspectInternalMethodsTestCase(db_base.DbTestCase):
|
|||||||
def test__get_mac_addresses(self, snmpclient_mock):
|
def test__get_mac_addresses(self, snmpclient_mock):
|
||||||
snmpclient_mock.return_value = mock.Mock(
|
snmpclient_mock.return_value = mock.Mock(
|
||||||
**{'get_next.side_effect': [[2, 2, 7],
|
**{'get_next.side_effect': [[2, 2, 7],
|
||||||
['aa:aa:aa:aa:aa:aa',
|
['\xaa\xaa\xaa\xaa\xaa\xaa',
|
||||||
'bb:bb:bb:bb:bb:bb',
|
'\xbb\xbb\xbb\xbb\xbb\xbb',
|
||||||
'cc:cc:cc:cc:cc:cc']]})
|
'\xcc\xcc\xcc\xcc\xcc\xcc']]})
|
||||||
inspected_macs = ['aa:aa:aa:aa:aa:aa', 'bb:bb:bb:bb:bb:bb']
|
inspected_macs = ['aa:aa:aa:aa:aa:aa', 'bb:bb:bb:bb:bb:bb']
|
||||||
with task_manager.acquire(self.context, self.node.uuid,
|
with task_manager.acquire(self.context, self.node.uuid,
|
||||||
shared=True) as task:
|
shared=True) as task:
|
||||||
|
3
releasenotes/notes/fix-mac-address-48060f9e2847a38c.yaml
Normal file
3
releasenotes/notes/fix-mac-address-48060f9e2847a38c.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- This fixes InvalidMAC exception of iRMC out-of-band inspection.
|
Loading…
Reference in New Issue
Block a user