[PR #8990/447d4b02 backport][stable-9] redfish_config new bool parameter to automatically delete 'None' type volumes. (#9008)
redfish_config new bool parameter to automatically delete 'None' type volumes. (#8990)
* Add a new boolean parameter storage_none_volume_deletion to the volume creation command of redfish_config
* Add description for storage_none_volume_deletion redfish_config parameter
* Update plugins/module_utils/redfish_utils.py
Co-authored-by: Mike Raineri <mraineri@gmail.com>
* Update plugins/modules/redfish_config.py
Co-authored-by: Mike Raineri <mraineri@gmail.com>
* Add CHANGELOG fragment
* Add punctuation.
---------
Co-authored-by: Pierre-yves FONTANIERE <pyf@cc.in2p3.fr>
Co-authored-by: Mike Raineri <mraineri@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 447d4b0267
)
Co-authored-by: Pierre-yves Fontaniere <pyfontan@cc.in2p3.fr>
pull/9014/head
parent
e302058e2d
commit
154b5f86fd
|
@ -0,0 +1,3 @@
|
|||
minor_changes:
|
||||
- redfish_config - add parameter ``storage_none_volume_deletion`` to
|
||||
``CreateVolume`` command in order to control the automatic deletion of non-RAID volumes (https://github.com/ansible-collections/community.general/pull/8990).
|
|
@ -3742,7 +3742,7 @@ class RedfishUtils(object):
|
|||
return {'ret': True, 'changed': True,
|
||||
'msg': "The following volumes were deleted: %s" % str(volume_ids)}
|
||||
|
||||
def create_volume(self, volume_details, storage_subsystem_id):
|
||||
def create_volume(self, volume_details, storage_subsystem_id, storage_none_volume_deletion=False):
|
||||
# Find the Storage resource from the requested ComputerSystem resource
|
||||
response = self.get_request(self.root_uri + self.systems_uri)
|
||||
if response['ret'] is False:
|
||||
|
@ -3794,6 +3794,7 @@ class RedfishUtils(object):
|
|||
data = response['data']
|
||||
|
||||
# Deleting any volumes of RAIDType None present on the Storage Subsystem
|
||||
if storage_none_volume_deletion:
|
||||
response = self.get_request(self.root_uri + data['Volumes']['@odata.id'])
|
||||
if response['ret'] is False:
|
||||
return response
|
||||
|
|
|
@ -145,6 +145,13 @@ options:
|
|||
type: str
|
||||
default: ''
|
||||
version_added: '7.3.0'
|
||||
storage_none_volume_deletion:
|
||||
required: false
|
||||
description:
|
||||
- Indicates if all non-RAID volumes are automatically deleted prior to creating the new volume.
|
||||
type: bool
|
||||
default: false
|
||||
version_added: '9.5.0'
|
||||
volume_ids:
|
||||
required: false
|
||||
description:
|
||||
|
@ -418,6 +425,7 @@ def main():
|
|||
hostinterface_id=dict(),
|
||||
sessions_config=dict(type='dict', default={}),
|
||||
storage_subsystem_id=dict(type='str', default=''),
|
||||
storage_none_volume_deletion=dict(type='bool', default=False),
|
||||
volume_ids=dict(type='list', default=[], elements='str'),
|
||||
secure_boot_enable=dict(type='bool', default=True),
|
||||
volume_details=dict(type='dict', default={}),
|
||||
|
@ -484,6 +492,7 @@ def main():
|
|||
# Volume creation options
|
||||
volume_details = module.params['volume_details']
|
||||
storage_subsystem_id = module.params['storage_subsystem_id']
|
||||
storage_none_volume_deletion = module.params['storage_none_volume_deletion']
|
||||
|
||||
# ciphers
|
||||
ciphers = module.params['ciphers']
|
||||
|
@ -527,7 +536,7 @@ def main():
|
|||
elif command == "DeleteVolumes":
|
||||
result = rf_utils.delete_volumes(storage_subsystem_id, volume_ids)
|
||||
elif command == "CreateVolume":
|
||||
result = rf_utils.create_volume(volume_details, storage_subsystem_id)
|
||||
result = rf_utils.create_volume(volume_details, storage_subsystem_id, storage_none_volume_deletion)
|
||||
|
||||
elif category == "Manager":
|
||||
# execute only if we find a Manager service resource
|
||||
|
|
Loading…
Reference in New Issue