Removing keyword to install certificate using REST
Change-Id: I7b5e7869af19e64cbbb18d2ececfd9b3fa9f6c15
Signed-off-by: Rahul Maheshwari <rahulmaheshwari@in.ibm.com>
diff --git a/extended/code_update/bmc_code_update.robot b/extended/code_update/bmc_code_update.robot
index 23293e0..4227fe2 100644
--- a/extended/code_update/bmc_code_update.robot
+++ b/extended/code_update/bmc_code_update.robot
@@ -204,10 +204,15 @@
${file_data}= OperatingSystem.Get Binary File ${cert_file_path}
${cert_file_content}= OperatingSystem.Get File ${cert_file_path}
- Install Certificate File On BMC ${CLIENT_CERTIFICATE_URI}
- ... data=${file_data}
+ Redfish.Login
+ ${cert_id}= Install Certificate File On BMC ${REDFISH_CA_CERTIFICATE_URI} ok data=${file_data}
+ Logging Installed certificate id: ${cert_id}
- ${bmc_cert_content}= Get Certificate File Content From BMC Client
+ # Adding delay after certificate installation.
+ Sleep 30s
+
+ ${bmc_cert_content}= redfish_utils.Get Attribute
+ ... /redfish/v1/Managers/bmc/Truststore/Certificates/${cert_id} CertificateString
Should Contain ${cert_file_content} ${bmc_cert_content}
Upload And Activate Image ${IMAGE_FILE_PATH}
@@ -215,9 +220,13 @@
OBMC Reboot (off)
Verify Running BMC Image ${IMAGE_FILE_PATH}
- ${bmc_cert_content}= Get Certificate File Content From BMC Client
+ Redfish.Login
+ ${bmc_cert_content}= redfish_utils.Get Attribute
+ ... ${REDFISH_CA_CERTIFICATE_URI}/${cert_id} CertificateString
Should Contain ${cert_file_content} ${bmc_cert_content}
+ Redfish.Logout
+
Test Basic BMC Performance After Code Update
[Documentation] Check performance of memory, CPU & file system of BMC.
diff --git a/lib/certificate_utils.robot b/lib/certificate_utils.robot
index a378a84..b68fe6a 100755
--- a/lib/certificate_utils.robot
+++ b/lib/certificate_utils.robot
@@ -9,37 +9,36 @@
*** Keywords ***
Install Certificate File On BMC
- [Documentation] Install certificate file in BMC using REST PUT operation.
- [Arguments] ${uri} ${status}=ok ${quiet}=${1} &{kwargs}
+ [Documentation] Install certificate file in BMC using POST operation.
+ [Arguments] ${uri} ${status}=ok &{kwargs}
# Description of argument(s):
- # uri URI for installing certificate file via REST
- # e.g. "/xyz/openbmc_project/certs/server/https".
- # status Expected status of certificate installation via REST
+ # uri URI for installing certificate file via Redfish
+ # e.g. "/redfish/v1/AccountService/LDAP/Certificates".
+ # status Expected status of certificate installation via Redfish
# e.g. error, ok.
- # quiet If enabled, turns off logging to console.
# kwargs A dictionary of keys/values to be passed directly to
- # PUT Request.
+ # POST Request.
- Initialize OpenBMC quiet=${quiet}
+ Initialize OpenBMC
${headers}= Create Dictionary Content-Type=application/octet-stream
... X-Auth-Token=${XAUTH_TOKEN}
Set To Dictionary ${kwargs} headers ${headers}
- Run Keyword If '${quiet}' == '${0}' Log Request method=Put
- ... base_uri=${uri} args=&{kwargs}
-
- ${ret}= Put Request openbmc ${uri} &{kwargs}
- Run Keyword If '${quiet}' == '${0}' Log Response ${ret}
+ ${ret}= Post Request openbmc ${uri} &{kwargs}
+ ${content_json}= To JSON ${ret.content}
+ ${cert_id}= Set Variable If '${ret.status_code}' == '${HTTP_OK}' ${content_json["Id"]} -1
Run Keyword If '${status}' == 'ok'
... Should Be Equal As Strings ${ret.status_code} ${HTTP_OK}
... ELSE IF '${status}' == 'error'
- ... Should Be Equal As Strings ${ret.status_code} ${HTTP_BAD_REQUEST}
+ ... Should Be Equal As Strings ${ret.status_code} ${HTTP_INTERNAL_SERVER_ERROR}
Delete All Sessions
+ [Return] ${cert_id}
+
Get Certificate Content From BMC Via Openssl
[Documentation] Get certificate content from BMC via openssl.
diff --git a/redfish/managers/test_certificate.robot b/redfish/managers/test_certificate.robot
index 09b3e6e..2f88184 100644
--- a/redfish/managers/test_certificate.robot
+++ b/redfish/managers/test_certificate.robot
@@ -225,37 +225,6 @@
[Return] ${cert_id}
-Install Certificate File On BMC
- [Documentation] Install certificate file in BMC using POST operation.
- [Arguments] ${uri} ${status}=ok &{kwargs}
-
- # Description of argument(s):
- # uri URI for installing certificate file via Redfish
- # e.g. "/redfish/v1/AccountService/LDAP/Certificates".
- # status Expected status of certificate installation via Redfish
- # e.g. error, ok.
- # kwargs A dictionary of keys/values to be passed directly to
- # POST Request.
-
- Initialize OpenBMC quiet=${quiet}
-
- ${headers}= Create Dictionary Content-Type=application/octet-stream
- ... X-Auth-Token=${XAUTH_TOKEN}
- Set To Dictionary ${kwargs} headers ${headers}
-
- ${ret}= Post Request openbmc ${uri} &{kwargs}
- ${content_json}= To JSON ${ret.content}
- ${cert_id}= Set Variable If '${ret.status_code}' == '${HTTP_OK}' ${content_json["Id"]} -1
-
- Run Keyword If '${status}' == 'ok'
- ... Should Be Equal As Strings ${ret.status_code} ${HTTP_OK}
- ... ELSE IF '${status}' == 'error'
- ... Should Be Equal As Strings ${ret.status_code} ${HTTP_INTERNAL_SERVER_ERROR}
-
- Delete All Sessions
-
- [Return] ${cert_id}
-
Replace Certificate Via Redfish
[Documentation] Test 'replace certificate' operation in the BMC via Redfish.
[Arguments] ${cert_type} ${cert_format} ${expected_status}