Managers ID : Introduced variable to declare Managers ID in resource.robot and updated all the scripts in openbmc-test-automation
Changes:
- Introduced ${MANAGER_ID} variable in resource.robot
- Replaced all the Managers/bmc to Managers/${MANAGER_ID} across all the scripts
- Also in data/variables.py updated chassis id for the few redfish uri.
Tested:
- Ran All The Scripts Successfully
Change-Id: Iff3673aae27657e0799dec5cb94c1651a0cd5d18
Signed-off-by: ganesanb <ganesanb@ami.com>
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/lib/bmc_network_utils.robot b/lib/bmc_network_utils.robot
index d2c3543..7c9ce49 100644
--- a/lib/bmc_network_utils.robot
+++ b/lib/bmc_network_utils.robot
@@ -424,7 +424,7 @@
# Sample output:
#{
# "@odata.context": "/redfish/v1/$metadata#EthernetInterface.EthernetInterface",
- # "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces/eth0",
+ # "@odata.id": "/redfish/v1/Managers/${MANAGER_ID}/EthernetInterfaces/eth0",
# "@odata.type": "#EthernetInterface.v1_2_0.EthernetInterface",
# "Description": "Management Network Interface",
# "IPv4Addresses": [
diff --git a/lib/bmc_redfish.py b/lib/bmc_redfish.py
index 0e97af7..a7a70c4 100644
--- a/lib/bmc_redfish.py
+++ b/lib/bmc_redfish.py
@@ -227,7 +227,7 @@
# JsonSchemas, SessionService or URLs containing # are not required in enumeration.
# Example: '/redfish/v1/JsonSchemas/' and sub resources.
# '/redfish/v1/SessionService'
- # '/redfish/v1/Managers/bmc#/Oem'
+ # '/redfish/v1/Managers/${MANAGER_ID}#/Oem'
if (
("JsonSchemas" in resource)
or ("SessionService" in resource)
diff --git a/lib/bmc_redfish_utils.py b/lib/bmc_redfish_utils.py
index e93eee3..e240d94 100644
--- a/lib/bmc_redfish_utils.py
+++ b/lib/bmc_redfish_utils.py
@@ -297,7 +297,7 @@
# required in enumeration.
# Example: '/redfish/v1/JsonSchemas/' and sub resources.
# '/redfish/v1/SessionService'
- # '/redfish/v1/Managers/bmc#/Oem'
+ # '/redfish/v1/Managers/${MANAGER_ID}#/Oem'
if (
("JsonSchemas" in resource)
or ("SessionService" in resource)
diff --git a/lib/bmc_redfish_utils.robot b/lib/bmc_redfish_utils.robot
index c95f7f5..3bc107c 100644
--- a/lib/bmc_redfish_utils.robot
+++ b/lib/bmc_redfish_utils.robot
@@ -48,10 +48,10 @@
# "GracefulRestart",
# "ForceRestart"
# ],
- # "target": "/redfish/v1/Managers/bmc/Actions/Manager.Reset"
+ # "target": "/redfish/v1/Managers/${MANAGER_ID}/Actions/Manager.Reset"
# }
- ${target}= redfish_utils.Get Target Actions /redfish/v1/Managers/bmc/ Manager.Reset
+ ${target}= redfish_utils.Get Target Actions /redfish/v1/Managers/${MANAGER_ID}/ Manager.Reset
${payload}= Create Dictionary ResetType=${reset_type}
Redfish.Post ${target} body=&{payload}
@@ -359,6 +359,6 @@
Get BMC Last Reset Time
[Documentation] Return BMC LastResetTime.
- ${last_reset_time}= Redfish.Get Attribute /redfish/v1/Managers/bmc LastResetTime
+ ${last_reset_time}= Redfish.Get Attribute /redfish/v1/Managers/${MANAGER_ID} LastResetTime
[Return] ${last_reset_time}
diff --git a/lib/certificate_utils.robot b/lib/certificate_utils.robot
index 961178c..60dcb27 100755
--- a/lib/certificate_utils.robot
+++ b/lib/certificate_utils.robot
@@ -164,7 +164,7 @@
Delete All CA Certificate Via Redfish
[Documentation] Delete all CA certificate via Redfish.
- ${cert_list}= Redfish_Utils.Get Member List /redfish/v1/Managers/bmc/Truststore/Certificates
+ ${cert_list}= Redfish_Utils.Get Member List /redfish/v1/Managers/${MANAGER_ID}/Truststore/Certificates
FOR ${cert} IN @{cert_list}
Redfish.Delete ${cert} valid_status_codes=[${HTTP_NO_CONTENT}]
Log To Console Wait Time started in seconds ${wait_time}
@@ -318,5 +318,5 @@
# NTP network takes few seconds to restart.
Wait Until Keyword Succeeds 30 sec 10 sec
- ... Redfish.Patch ${REDFISH_BASE_URI}Managers/bmc body={'DateTime': '${new_time}'}
+ ... Redfish.Patch ${REDFISH_BASE_URI}Managers/${MANAGER_ID} body={'DateTime': '${new_time}'}
... valid_status_codes=[${HTTP_OK}]
diff --git a/lib/common_utils.robot b/lib/common_utils.robot
index 26300da..afe6f80 100755
--- a/lib/common_utils.robot
+++ b/lib/common_utils.robot
@@ -857,7 +857,7 @@
Redfish Get BMC Version
[Documentation] Get BMC version via Redfish.
- ${output}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/bmc FirmwareVersion
+ ${output}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/${MANAGER_ID} FirmwareVersion
[Return] ${output}
Redfish Get Host Version
diff --git a/lib/dump_utils.robot b/lib/dump_utils.robot
index bcd190e..cc26705 100644
--- a/lib/dump_utils.robot
+++ b/lib/dump_utils.robot
@@ -162,17 +162,17 @@
# Description of Argument(s):
# dump_id An integer value that identifies a particular dump (e.g. 1, 3).
- Redfish.Delete /redfish/v1/Managers/bmc/LogServices/Dump/Entries/${dump_id}
+ Redfish.Delete /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Entries/${dump_id}
Redfish Delete All BMC Dumps
[Documentation] Delete all BMC dumps via Redfish.
# Check if dump entries exist, if not return.
- ${resp}= Redfish.Get /redfish/v1/Managers/bmc/LogServices/Dump/Entries
+ ${resp}= Redfish.Get /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Entries
Return From Keyword If ${resp.dict["Members@odata.count"]} == ${0}
- Redfish.Post /redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.ClearLog
+ Redfish.Post /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Actions/LogService.ClearLog
Get Redfish BMC Dump Log Entries
@@ -262,7 +262,7 @@
${payload}= Create Dictionary DiagnosticDataType=Manager
${resp}= Redfish.Post
- ... /redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.CollectDiagnosticData
+ ... /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Actions/LogService.CollectDiagnosticData
... body=${payload} valid_status_codes=[${HTTP_ACCEPTED}]
# Example of response from above Redfish POST request.
@@ -286,7 +286,7 @@
# initiating BMC dump and returns dump task id.
${payload}= Create Dictionary DiagnosticDataType=Manager
- ${resp}= Redfish.Post /redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.CollectDiagnosticData
+ ${resp}= Redfish.Post /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Actions/LogService.CollectDiagnosticData
... body=${payload} valid_status_codes=[${HTTP_ACCEPTED}]
# Example of response from above Redfish POST request.
@@ -310,11 +310,11 @@
# "Connection: Keep-Alive",
# "Accept: */*",
# "Content-Length: 33",
- # "Location: /redfish/v1/Managers/bmc/LogServices/Dump/Entries/2"]
+ # "Location: /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Entries/2"]
# ],
# "HttpOperation": "POST",
# "JsonBody": "{\"DiagnosticDataType\":\"Manager\"}",
- # "TargetUri": "/redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.CollectDiagnosticData"
+ # "TargetUri": "/redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Actions/LogService.CollectDiagnosticData"
# }
[Return] ${task_dict["Payload"]["HttpHeaders"][-1].split("/")[-1]}
@@ -369,12 +369,12 @@
# "Connection: Keep-Alive",
# "Accept: */*",
# "Content-Length: 33",
- # "Location: /redfish/v1/Managers/bmc/LogServices/Dump/Entries/2"]
+ # "Location: /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Entries/2"]
# ],
# "HttpOperation": "POST",
# "JsonBody": "{\"DiagnosticDataType\":\"Manager\"}",
# "TargetUri":
- # "/redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.CollectDiagnosticData"
+ # "/redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Actions/LogService.CollectDiagnosticData"
# }
${task_dict}= Redfish.Get Properties /redfish/v1/TaskService/Tasks/${task_id}
@@ -419,7 +419,7 @@
... the task instance Id and response object (e.g., "5").
${payload}= Create Dictionary DiagnosticDataType=Manager
- ${resp}= Redfish.Post /redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.CollectDiagnosticData
+ ${resp}= Redfish.Post /redfish/v1/Managers/${MANAGER_ID}/LogServices/Dump/Actions/LogService.CollectDiagnosticData
... body=${payload} valid_status_codes=[${HTTP_ACCEPTED}]
${ip_resp}= Evaluate json.loads(r'''${resp.text}''') json
diff --git a/lib/protocol_setting_utils.robot b/lib/protocol_setting_utils.robot
index 46617fb..3242533 100644
--- a/lib/protocol_setting_utils.robot
+++ b/lib/protocol_setting_utils.robot
@@ -45,7 +45,7 @@
# Sample output:
# {
- # "@odata.id": "/redfish/v1/Managers/bmc/NetworkProtocol",
+ # "@odata.id": "/redfish/v1/Managers/${MANAGER_ID}/NetworkProtocol",
# "@odata.type": "#ManagerNetworkProtocol.v1_5_0.ManagerNetworkProtocol",
# "Description": "Manager Network Service",
# "FQDN": "bmc",
@@ -55,7 +55,7 @@
# },
# "HTTPS": {
# "Certificates": {
- # "@odata.id": "/redfish/v1/Managers/bmc/NetworkProtocol/HTTPS/Certificates"
+ # "@odata.id": "/redfish/v1/Managers/${MANAGER_ID}/NetworkProtocol/HTTPS/Certificates"
# },
# "Port": xxx,
# "ProtocolEnabled": true
diff --git a/lib/redfish_code_update_utils.robot b/lib/redfish_code_update_utils.robot
index 5210c9b..8a55005 100644
--- a/lib/redfish_code_update_utils.robot
+++ b/lib/redfish_code_update_utils.robot
@@ -22,7 +22,7 @@
${sw_functional}= Run Keyword If
... '${image_info["Description"]}' == 'BMC image' or '${image_info["Description"]}' == 'BMC update'
- ... Redfish.Get Attribute /redfish/v1/Managers/bmc FirmwareVersion
+ ... Redfish.Get Attribute /redfish/v1/Managers/${MANAGER_ID} FirmwareVersion
... ELSE
... Redfish.Get Attribute /redfish/v1/Systems/system BiosVersion
@@ -53,7 +53,7 @@
# "ActiveSoftwareImage": {
# "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/5ca9fec0"
# },
- ${active_sw_img}= Redfish.Get Attribute /redfish/v1/Managers/bmc Links
+ ${active_sw_img}= Redfish.Get Attribute /redfish/v1/Managers/${MANAGER_ID} Links
${active_id}= Set Variable ${active_sw_img["ActiveSoftwareImage"]["@odata.id"].split("/")[-1]}
@@ -281,7 +281,7 @@
... Set Variable /redfish/v1/UpdateService/FirmwareInventory/${nonfunctional_sw_inv['image_id']}
# Below URI, change to backup image and reset the BMC.
- Redfish.Patch /redfish/v1/Managers/bmc
+ Redfish.Patch /redfish/v1/Managers/${MANAGER_ID}
... body={'Links': {'ActiveSoftwareImage': {'@odata.id': '${firmware_inv_path}'}}}
diff --git a/lib/redfish_plus.py b/lib/redfish_plus.py
index 2cc7531..c33895a 100755
--- a/lib/redfish_plus.py
+++ b/lib/redfish_plus.py
@@ -95,7 +95,7 @@
From a python program:
- response = bmc_redfish.get("/redfish/v1/Managers/bmc/EthernetInterfaces", [200, 201])
+ response = bmc_redfish.get("/redfish/v1/Managers/${MANAGER_ID}/EthernetInterfaces", [200, 201])
If this call to the get method generates a response.status equal to anything other than 200 or 201,
an exception will be raised.
@@ -103,7 +103,7 @@
From a robot program:
BMC_Redfish.logout
- ${response}= BMC_Redfish.Get /redfish/v1/Managers/bmc/EthernetInterfaces valid_status_codes=[401]
+ ${response}= BMC_Redfish.Get /redfish/v1/Managers/${MANAGER_ID}/EthernetInterfaces valid_status_codes=[401]
As part of a robot test, the programmer has logged out to verify that the get request will generate a
status code of 401 (i.e. "Unauthorized").
diff --git a/lib/redfish_request.py b/lib/redfish_request.py
index da455a3..64463cf 100644
--- a/lib/redfish_request.py
+++ b/lib/redfish_request.py
@@ -383,8 +383,8 @@
'Actions' : {
'#Manager.Reset' : {
- '@Redfish.ActionInfo' : '/redfish/v1/Managers/bmc/ResetActionInfo',
- 'target' : '/redfish/v1/Managers/bmc/Actions/Manager.Reset'
+ '@Redfish.ActionInfo' : '/redfish/v1/Managers/${MANAGER_ID}/ResetActionInfo',
+ 'target' : '/redfish/v1/Managers/${MANAGER_ID}/Actions/Manager.Reset'
}
}
"""
diff --git a/lib/resource.robot b/lib/resource.robot
index 947f3fe..c343f86 100755
--- a/lib/resource.robot
+++ b/lib/resource.robot
@@ -37,6 +37,7 @@
# For users privilege admin or sudo.
${USER_TYPE} ${EMPTY}
+${MANAGER_ID} bmc
${CHASSIS_ID} chassis
# MTLS_ENABLED indicates whether mTLS is enabled.
diff --git a/lib/utils.robot b/lib/utils.robot
index 7567ea5..212dc04 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -904,7 +904,7 @@
# "State": "Enabled"
# },
- ${status}= Redfish.Get Attribute /redfish/v1/Managers/bmc Status
+ ${status}= Redfish.Get Attribute /redfish/v1/Managers/${MANAGER_ID} Status
[Return] ${status["State"]}