1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

added hpe thermal config and fan percent min (#6208)

* added hpe thermal config and fan percent min

* typo fixed

* Create 6208-hpe-thermal-fan-percent.yaml

* fixed changelog fragment

* Update 6208-hpe-thermal-fan-percent.yaml
This commit is contained in:
ky13 2023-03-25 18:18:21 -04:00 committed by GitHub
parent e96552396e
commit 33ccabed13
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 55 additions and 1 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- redfish_info - adds commands to retrieve the HPE ThermalConfiguration and FanPercentMinimum settings from iLO (https://github.com/ansible-collections/community.general/pull/6208).

View file

@ -3217,3 +3217,35 @@ class RedfishUtils(object):
body["SecureBootEnable"] = True body["SecureBootEnable"] = True
return self.patch_request(self.root_uri + secure_boot_url, body, check_pyld=True) return self.patch_request(self.root_uri + secure_boot_url, body, check_pyld=True)
def get_hpe_thermal_config(self):
result = {}
key = "Thermal"
# Go through list
for chassis_uri in self.chassis_uri_list:
response = self.get_request(self.root_uri + chassis_uri)
if response['ret'] is False:
return response
result['ret'] = True
data = response['data']
oem = data.get['Oem']
hpe = oem.get['Hpe']
thermal_config = hpe.get('ThermalConfiguration')
result["current_thermal_config"] = thermal_config
return result
def get_hpe_fan_percent_min(self):
result = {}
key = "Thermal"
# Go through list
for chassis_uri in self.chassis_uri_list:
response = self.get_request(self.root_uri + chassis_uri)
if response['ret'] is False:
return response
result['ret'] = True
data = response['data']
oem = data.get['Oem']
hpe = oem.get['Hpe']
fan_percent_min_config = hpe.get('FanPercentMinimum')
result["fan_percent_min"] = fan_percent_min_config
return result

View file

@ -321,6 +321,22 @@ EXAMPLES = '''
baseuri: "{{ baseuri }}" baseuri: "{{ baseuri }}"
username: "{{ username }}" username: "{{ username }}"
password: "{{ password }}" password: "{{ password }}"
- name: Get HPE Thermal Config
community.general.redfish_info:
category: Chassis
command: GetHPEThermalConfig
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get HPE Fan Percent Minimum
community.general.redfish_info:
category: Chassis
command: GetHPEFanPercentMin
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
''' '''
RETURN = ''' RETURN = '''
@ -340,7 +356,7 @@ CATEGORY_COMMANDS_ALL = {
"GetStorageControllerInventory", "GetDiskInventory", "GetVolumeInventory", "GetStorageControllerInventory", "GetDiskInventory", "GetVolumeInventory",
"GetBiosAttributes", "GetBootOrder", "GetBootOverride", "GetVirtualMedia"], "GetBiosAttributes", "GetBootOrder", "GetBootOverride", "GetVirtualMedia"],
"Chassis": ["GetFanInventory", "GetPsuInventory", "GetChassisPower", "Chassis": ["GetFanInventory", "GetPsuInventory", "GetChassisPower",
"GetChassisThermals", "GetChassisInventory", "GetHealthReport"], "GetChassisThermals", "GetChassisInventory", "GetHealthReport", "GetHPEThermalConfig", "GetHPEFanPercentMin"],
"Accounts": ["ListUsers"], "Accounts": ["ListUsers"],
"Sessions": ["GetSessions"], "Sessions": ["GetSessions"],
"Update": ["GetFirmwareInventory", "GetFirmwareUpdateCapabilities", "GetSoftwareInventory", "Update": ["GetFirmwareInventory", "GetFirmwareUpdateCapabilities", "GetSoftwareInventory",
@ -482,6 +498,10 @@ def main():
result["chassis"] = rf_utils.get_chassis_inventory() result["chassis"] = rf_utils.get_chassis_inventory()
elif command == "GetHealthReport": elif command == "GetHealthReport":
result["health_report"] = rf_utils.get_multi_chassis_health_report() result["health_report"] = rf_utils.get_multi_chassis_health_report()
elif command == "GetHPEThermalConfig":
result["hpe_thermal_config"] = rf_utils.get_hpe_thermal_config()
elif command == "GetHPEFanPercentMin":
result["hpe_fan_percent_min"] = rf_utils.get_hpe_fan_percent_min()
elif category == "Accounts": elif category == "Accounts":
# execute only if we find an Account service resource # execute only if we find an Account service resource