Add JSON inventory to hardbootme test

In utils_keywords.py: Minor change in comment block.
In htx_hardbootme_test:  Fail message to comply with standards.

test results:
/gsa/ausgsa/home/s/s/ssombar/bmctest/openbmc-test-automation
  file  out*xml

solves  openbmc-test-automation/issues/626
Change-Id: I0882ee4994230d743b22e40d21132182fe8bc95d
Signed-off-by: Steven Sombar <ssombar@us.ibm.com>
diff --git a/systest/Generate_OS_Inventory.robot b/systest/Generate_OS_Inventory.robot
old mode 100644
new mode 100755
index 733fabe..c63696d
--- a/systest/Generate_OS_Inventory.robot
+++ b/systest/Generate_OS_Inventory.robot
@@ -1,6 +1,6 @@
 ***Settings***
-Documentation      This module is for generating an inventory file using lshw
-...                commands. It will create a JSON file and a YAML file. it
+Documentation      This module generates an inventory file using lshw
+...                commands.  It will create a JSON file and a YAML file. It
 ...                will get the processor, memory and specified I/O devices.
 ...                Requires access to lshw, and json2yaml OS commands. This
 ...                robot file should be run as root or sudo for lshw.
@@ -11,114 +11,13 @@
 Resource           ../syslib/utils_os.robot
 
 ***Variables***
-# List of I/O Devices to Collect
-@{I/O}             communication  disk  display  generic  input  multimedia
-...                network  printer  tape
 
-# Paths of the JSON and YAML files
-${json_tmp_file_path}   ${EXECDIR}${/}inventory.json
-${json_file_path}       ${EXECDIR}${/}data${/}os_inventory.json
-${yaml_file_path}       ${EXECDIR}${/}inventory.yaml
+# Path of the JSON Inventory file
+${json_inventory_file_path}  ${EXECDIR}${/}data${/}os_inventory.json
 
 ***Test Case***
 
-Create YAML Inventory File
-    [Documentation]  Create a JSON inventory file, and make a YAML copy.
-    [Tags]  Create_YAML_Inventory_File
-    Login To OS
-    Compile Inventory JSON
-    Run  json2yaml ${json_tmp_file_path} ${yaml_file_path}
-    # Format to JSON pretty print to file.
-    Run  python -m json.tool ${json_tmp_file_path} > ${json_file_path}
-
-***Keywords***
-
-Compile Inventory JSON
-    [Documentation]  Compile the Inventory into a JSON file.
-    Create File  ${json_tmp_file_path}
-    Write New JSON List  ${json_tmp_file_path}  Inventory
-    Retrieve HW Info And Write  processor  ${json_tmp_file_path}
-    Retrieve HW Info And Write  memory  ${json_tmp_file_path}
-    Retrieve HW Info And Write List  ${I/O}  ${json_tmp_file_path}  I/O  last
-    Close New JSON List  ${json_tmp_file_path}
-
-Write New JSON List
-    [Documentation]  Start a new JSON list element in file.
-    [Arguments]  ${json_tmp_file_path}  ${json_field_name}
-    # Description of argument(s):
-    # json_tmp_file_path   Name of file to write to.
-    # json_field_name      Name to give json list element.
-    Append to File  ${json_tmp_file_path}  { "${json_field_name}" : [
-
-Close New JSON List
-    [Documentation]  Close JSON list element in file.
-    [Arguments]  ${json_tmp_file_path}
-    # Description of argument(s):
-    # json_tmp_file_path  Path of file to write to.
-    Append to File  ${json_tmp_file_path}  ]}
-
-Retrieve HW Info And Write
-    [Documentation]  Retrieve and write info, add a comma if not last item.
-    [Arguments]  ${class}  ${json_tmp_file_path}  ${last}=false
-    # Description of argument(s):
-    # class               Device class to retrieve with lshw.
-    # json_tmp_file_path  Path of file to write to.
-    # last                Is this the last element in the parent JSON?
-    Write New JSON List  ${json_tmp_file_path}  ${class}
-    ${output} =  Retrieve Hardware Info  ${class}
-    ${output} =  Clean Up String  ${output}
-    Run Keyword if  ${output.__class__ is not type(None)}
-    ...  Append To File  ${json_tmp_file_path}  ${output}
-    Close New JSON List  ${json_tmp_file_path}
-    Run Keyword if  '${last}' == 'false'
-    ...  Append to File  ${json_tmp_file_path}  ,
-
-Retrieve HW Info And Write List
-    [Documentation]  Does a Retrieve/Write with a list of classes and
-    ...              encapsulates them into one large JSON element.
-    [Arguments]  ${list}  ${json_tmp_file_path}  ${json_field_name}
-    ...          ${last}=false
-    # Description of argument(s):
-    # list                 The list of devices classes to retrieve with lshw.
-    # json_tmp_file_path   Path of file to write to.
-    # json_field_name      Name of the JSON element to encapsulate this list.
-    # last                 Is this the last element in the parent JSON?
-    Write New JSON List  ${json_tmp_file_path}  ${json_field_name}
-    : FOR  ${class}  IN  @{list}
-    \  ${tail}  Get From List  ${list}  -1
-    \  Run Keyword if  '${tail}' == '${class}'
-    \  ...  Retrieve HW Info And Write  ${class}  ${json_tmp_file_path}  true
-    \  ...  ELSE  Retrieve HW Info And Write  ${class}  ${json_tmp_file_path}
-    Close New JSON List  ${json_tmp_file_path}
-    Run Keyword if  '${last}' == 'false'
-    ...  Append to File  ${json_tmp_file_path}  ,
-
-Retrieve Hardware Info
-    [Documentation]  Retrieves the lshw output of the device class as JSON.
-    [Arguments]  ${class}
-    # Description of argument(s):
-    # class  Device class to retrieve with lshw.
-    ${output} =  Execute Command On OS  lshw -c ${class} -json
-    ${output} =  Verify JSON string  ${output}
-    [Return]  ${output}
-
-Verify JSON String
-    [Documentation]  Ensure the JSON string content is seperated by commas.
-    [Arguments]  ${unver_string}
-    # Description of argument(s):
-    # unver_string  JSON String we will be checking for lshw comma errors.
-    ${unver_string} =  Convert to String  ${unver_string}
-    ${ver_string} =  Replace String Using Regexp  ${unver_string}  }\\s*{  },{
-    [Return]  ${ver_string}
-
-Clean Up String
-    [Documentation]  Remove extra whitespace and trailing commas.
-    [Arguments]  ${dirty_string}
-    # Description of argument(s):
-    # dirty_string  String that will be space stripped and have comma removed.
-    ${clean_string} =  Strip String  ${dirty_string}
-    ${last_char} =  Get Substring  ${clean_string}  -1
-    ${trimmed_string} =  Get Substring  ${clean_string}  0  -1
-    ${clean_string} =  Set Variable If  '${last_char}' == ','
-    ...  ${trimmed_string}  ${clean_string}
-    [Return]  ${clean_string}
+Create An Inventory
+    [Documentation]  Snapshot system inventory to a JSON file.
+    [Tags]  Inventory Test
+    Create JSON Inventory File  ${json_inventory_file_path}