summaryrefslogtreecommitdiff
path: root/nova/tests/unit/virt/libvirt/storage
diff options
context:
space:
mode:
authorJared Winborne <jwinborne@knownhost.com>2019-04-02 12:22:37 -0500
committerJared Winborne <jwinborne@knownhost.com>2019-04-03 08:07:33 -0500
commit5d29dccaf91c697ffc12a7289ce16cd83e60b07f (patch)
treea0cfda6517bc1458d99476ea87feef99cf998408 /nova/tests/unit/virt/libvirt/storage
parent2384c41b781a84de98d0932f44d4b3c544c3fe3d (diff)
downloadnova-5d29dccaf91c697ffc12a7289ce16cd83e60b07f.tar.gz
Leave brackets on Ceph IP addresses for libguestfs
Brackets are removed from all IPv6 addresses when getting Ceph monitor addresses. This is correct for libvirt's XML files but not for libguestfs. This adds a 'strip_brackets' argument for get_mon_addrs method. It is default 'True' to not interfere anywhere this is used with no arguments. Uses strip_brackets=False when getting the hosts and ports for RBDImage, which is used for libguestfs. Change-Id: I378998a73046b9b9a33e30d0e06c4721d712da65 Closes-Bug: 1822689
Diffstat (limited to 'nova/tests/unit/virt/libvirt/storage')
-rw-r--r--nova/tests/unit/virt/libvirt/storage/test_rbd.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/nova/tests/unit/virt/libvirt/storage/test_rbd.py b/nova/tests/unit/virt/libvirt/storage/test_rbd.py
index 5d885c512d..5f0b7f4d43 100644
--- a/nova/tests/unit/virt/libvirt/storage/test_rbd.py
+++ b/nova/tests/unit/virt/libvirt/storage/test_rbd.py
@@ -179,6 +179,14 @@ class RbdTestCase(test.NoDBTestCase):
ports = ['6789', '6790', '6791', '6792', '6791']
self.assertEqual((hosts, ports), self.driver.get_mon_addrs())
+ @mock.patch('oslo_concurrency.processutils.execute')
+ def test_get_mon_addrs_with_brackets(self, mock_execute):
+ mock_execute.return_value = (CEPH_MON_DUMP, '')
+ hosts = ['[::1]', '[::1]', '[::1]', '127.0.0.1', 'example.com']
+ ports = ['6789', '6790', '6791', '6792', '6791']
+ self.assertEqual((hosts, ports),
+ self.driver.get_mon_addrs(strip_brackets=False))
+
@mock.patch.object(rbd_utils.RBDDriver, '_connect_to_rados')
def test_rbd_conf_features(self, mock_connect):
self.mock_rbd.RBD_FEATURE_LAYERING = 1