Skip to content

Commit

Permalink
Remove virt.pool_delete fast parameter (saltstack#178)
Browse files Browse the repository at this point in the history
There are two reasons to remove this parameter without deprecating it:
 * the meaning has been mistakenly inversed
 * fast=True will raise an exception for every libvirt storage backend
since that flag has never been implemented in any of those.

Fixes issue saltstack#54474
  • Loading branch information
cbosdo authored and Mihai Dinca committed Nov 19, 2019
1 parent 7214f14 commit 2b16f9c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 7 deletions.
9 changes: 2 additions & 7 deletions salt/modules/virt.py
Original file line number Diff line number Diff line change
Expand Up @@ -4885,13 +4885,11 @@ def pool_undefine(name, **kwargs):
conn.close()


def pool_delete(name, fast=True, **kwargs):
def pool_delete(name, **kwargs):
'''
Delete the resources of a defined libvirt storage pool.
:param name: libvirt storage pool name
:param fast: if set to False, zeroes out all the data.
Default value is True.
:param connection: libvirt connection URI, overriding defaults
:param username: username to connect with, overriding defaults
:param password: password to connect with, overriding defaults
Expand All @@ -4907,10 +4905,7 @@ def pool_delete(name, fast=True, **kwargs):
conn = __get_conn(**kwargs)
try:
pool = conn.storagePoolLookupByName(name)
flags = libvirt.VIR_STORAGE_POOL_DELETE_NORMAL
if fast:
flags = libvirt.VIR_STORAGE_POOL_DELETE_ZEROED
return not bool(pool.delete(flags))
return not bool(pool.delete(libvirt.VIR_STORAGE_POOL_DELETE_NORMAL))
finally:
conn.close()

Expand Down
17 changes: 17 additions & 0 deletions tests/unit/modules/test_virt.py
Original file line number Diff line number Diff line change
Expand Up @@ -3006,3 +3006,20 @@ def test_full_info(self):
self.assertEqual('vnc', graphics['type'])
self.assertEqual('5900', graphics['port'])
self.assertEqual('0.0.0.0', graphics['listen'])

def test_pool_delete(self):
'''
Test virt.pool_delete function
'''
mock_pool = MagicMock()
mock_pool.delete = MagicMock(return_value=0)
self.mock_conn.storagePoolLookupByName = MagicMock(return_value=mock_pool)

res = virt.pool_delete('test-pool')
self.assertTrue(res)

self.mock_conn.storagePoolLookupByName.assert_called_once_with('test-pool')

# Shouldn't be called with another parameter so far since those are not implemented
# and thus throwing exceptions.
mock_pool.delete.assert_called_once_with(self.mock_libvirt.VIR_STORAGE_POOL_DELETE_NORMAL)

0 comments on commit 2b16f9c

Please sign in to comment.