mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-04 07:19:10 -07:00
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>
This commit is contained in:
parent
b523d1b1c9
commit
447d4b0267
3 changed files with 28 additions and 15 deletions
|
@ -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,22 +3794,23 @@ class RedfishUtils(object):
|
|||
data = response['data']
|
||||
|
||||
# Deleting any volumes of RAIDType None present on the Storage Subsystem
|
||||
response = self.get_request(self.root_uri + data['Volumes']['@odata.id'])
|
||||
if response['ret'] is False:
|
||||
return response
|
||||
volume_data = response['data']
|
||||
if storage_none_volume_deletion:
|
||||
response = self.get_request(self.root_uri + data['Volumes']['@odata.id'])
|
||||
if response['ret'] is False:
|
||||
return response
|
||||
volume_data = response['data']
|
||||
|
||||
if "Members" in volume_data:
|
||||
for member in volume_data["Members"]:
|
||||
response = self.get_request(self.root_uri + member['@odata.id'])
|
||||
if response['ret'] is False:
|
||||
return response
|
||||
member_data = response['data']
|
||||
|
||||
if member_data["RAIDType"] == "None":
|
||||
response = self.delete_request(self.root_uri + member['@odata.id'])
|
||||
if "Members" in volume_data:
|
||||
for member in volume_data["Members"]:
|
||||
response = self.get_request(self.root_uri + member['@odata.id'])
|
||||
if response['ret'] is False:
|
||||
return response
|
||||
member_data = response['data']
|
||||
|
||||
if member_data["RAIDType"] == "None":
|
||||
response = self.delete_request(self.root_uri + member['@odata.id'])
|
||||
if response['ret'] is False:
|
||||
return response
|
||||
|
||||
# Construct payload and issue POST command to create volume
|
||||
volume_details["Links"] = {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue