Merge "Handle bracketed IPv6 redfish_address"
This commit is contained in:
commit
f09ce1f01c
|
@ -105,6 +105,10 @@ def get_ipmi_address(node):
|
|||
if '//' in value:
|
||||
url = urllib.parse.urlparse(value)
|
||||
value = url.hostname
|
||||
|
||||
# Strip brackets in case used on IPv6 address.
|
||||
value = value.strip('[').strip(']')
|
||||
|
||||
try:
|
||||
addrinfo = socket.getaddrinfo(value, None, 0, 0, socket.SOL_TCP)
|
||||
for family, socket_type, proto, canon_name, sockaddr in addrinfo:
|
||||
|
|
|
@ -135,6 +135,14 @@ class TestGetIpmiAddress(base.BaseTest):
|
|||
ir_utils.get_ipmi_address(node))
|
||||
mock_socket.assert_called_once_with(self.ipmi_ipv6, None, 0, 0, 6)
|
||||
|
||||
def test_redfish_bmc_address_ipv6_brackets_no_scheme(self):
|
||||
self.cfg.config(ipmi_address_fields=['redfish_address'])
|
||||
address = '[{}]'.format(self.ipmi_ipv6)
|
||||
node = mock.Mock(spec=['driver_info', 'uuid'],
|
||||
driver_info={'redfish_address': address})
|
||||
self.assertEqual((self.ipmi_ipv6, None, self.ipmi_ipv6),
|
||||
ir_utils.get_ipmi_address(node))
|
||||
|
||||
|
||||
class TestCapabilities(unittest.TestCase):
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixes an issue where inspection would fail if an IPv6 address wrapped in
|
||||
brackets is used for the redfish BMC address. See bug:
|
||||
`2036455 <https://bugs.launchpad.net/ironic/+bug/2036455>`_.
|
||||
|
Loading…
Reference in New Issue