From 03d912c3cab2a0b9b4af362c40cca672210a3611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= Date: Mon, 30 Dec 2019 17:28:50 +0100 Subject: [PATCH 1/2] Add virt.network_get_xml function Users may want to see the full XML definition of a network. --- salt/modules/virt.py | 24 ++++++++++++++++++++++++ tests/unit/modules/test_virt.py | 10 ++++++++++ 2 files changed, 34 insertions(+) diff --git a/salt/modules/virt.py b/salt/modules/virt.py index d3e7666b8232..bbaa8bf8ce38 100644 --- a/salt/modules/virt.py +++ b/salt/modules/virt.py @@ -4584,6 +4584,30 @@ def _net_get_leases(net): return result +def network_get_xml(name, **kwargs): + ''' + Return the XML definition of a virtual network + + :param name: libvirt network name + :param connection: libvirt connection URI, overriding defaults + :param username: username to connect with, overriding defaults + :param password: password to connect with, overriding defaults + + .. versionadded:: Neon + + CLI Example: + + .. code-block:: bash + + salt '*' virt.network_get_xml default + ''' + conn = __get_conn(**kwargs) + try: + return conn.networkLookupByName(name).XMLDesc() + finally: + conn.close() + + def network_start(name, **kwargs): ''' Start a defined virtual network. diff --git a/tests/unit/modules/test_virt.py b/tests/unit/modules/test_virt.py index 6f472c656cd6..95b691182ee6 100644 --- a/tests/unit/modules/test_virt.py +++ b/tests/unit/modules/test_virt.py @@ -2348,6 +2348,16 @@ def test_network_info_notfound(self): net = virt.network_info('foo') self.assertEqual({}, net) + def test_network_get_xml(self): + ''' + Test virt.network_get_xml + ''' + network_mock = MagicMock() + network_mock.XMLDesc.return_value = 'Raw XML' + self.mock_conn.networkLookupByName.return_value = network_mock + + self.assertEqual('Raw XML', virt.network_get_xml('default')) + def test_pool(self): ''' Test virt._gen_pool_xml() From b688ec84968741b283e02a00750d391530c3fa5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= Date: Mon, 30 Dec 2019 17:29:27 +0100 Subject: [PATCH 2/2] Add virt.pool_get_xml function Users may want to see the full XML definition of a virtual storage pool. --- salt/modules/virt.py | 24 ++++++++++++++++++++++++ tests/unit/modules/test_virt.py | 10 ++++++++++ 2 files changed, 34 insertions(+) diff --git a/salt/modules/virt.py b/salt/modules/virt.py index bbaa8bf8ce38..460a0e0507bc 100644 --- a/salt/modules/virt.py +++ b/salt/modules/virt.py @@ -5352,6 +5352,30 @@ def _pool_extract_infos(pool): return result +def pool_get_xml(name, **kwargs): + ''' + Return the XML definition of a virtual storage pool + + :param name: libvirt storage pool name + :param connection: libvirt connection URI, overriding defaults + :param username: username to connect with, overriding defaults + :param password: password to connect with, overriding defaults + + .. versionadded:: Neon + + CLI Example: + + .. code-block:: bash + + salt '*' virt.pool_get_xml default + ''' + conn = __get_conn(**kwargs) + try: + return conn.storagePoolLookupByName(name).XMLDesc() + finally: + conn.close() + + def pool_start(name, **kwargs): ''' Start a defined libvirt storage pool. diff --git a/tests/unit/modules/test_virt.py b/tests/unit/modules/test_virt.py index 95b691182ee6..32f4302e5f59 100644 --- a/tests/unit/modules/test_virt.py +++ b/tests/unit/modules/test_virt.py @@ -2760,6 +2760,16 @@ def test_pool_info_all(self): } }, pool) + def test_pool_get_xml(self): + ''' + Test virt.pool_get_xml + ''' + pool_mock = MagicMock() + pool_mock.XMLDesc.return_value = 'Raw XML' + self.mock_conn.storagePoolLookupByName.return_value = pool_mock + + self.assertEqual('Raw XML', virt.pool_get_xml('default')) + def test_pool_list_volumes(self): ''' Test virt.pool_list_volumes