diff options
author | opensource-tnbt <sridhar.rao@spirent.com> | 2020-10-30 15:48:23 +0530 |
---|---|---|
committer | opensource-tnbt <sridhar.rao@spirent.com> | 2020-10-30 15:50:29 +0530 |
commit | 0fd1dc39ee6f6bb7f2c35f84c3a2a39d9e63805f (patch) | |
tree | f58b5d9ca603d193476254d3d5b13e853985ad64 /tools/hdv/redfish/docs | |
parent | dff7c66ee8e7ef0b8b14ad5776a1318b987d3eaa (diff) |
CIRV-Cleanup: Remove HDV and SDV contents.
As CIRV-HDV and CIRV-SDV are active now, we do not need contents here.
The docs folder has links to HDV and SDV.
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Change-Id: I86ee90fb5e969e14d000d9a08d971b13a2c2740e
Diffstat (limited to 'tools/hdv/redfish/docs')
-rw-r--r-- | tools/hdv/redfish/docs/readme.md | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/tools/hdv/redfish/docs/readme.md b/tools/hdv/redfish/docs/readme.md deleted file mode 100644 index 2113913..0000000 --- a/tools/hdv/redfish/docs/readme.md +++ /dev/null @@ -1,129 +0,0 @@ -############################################################################## -# Copyright (c) 2020 China Mobile Co.,Ltd and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## - -This is a prototype of hardware validation implementation in redfish interface for a certain hardware vendor. -which originally is contributed by China Mobile. ->>> Usage: -usage: hdv.py [-h] [--version] [--config CONFIG] [--file_type FILE_TYPE] - [--case_yaml CASE_YAML] [--depends_yaml DEPENDS_YAML] - [--case_excel CASE_EXCEL] - -hdv tool by redfish, it works in two mode - -optional arguments: - -h, --help show this help message and exit - --version show tool version - --config CONFIG given global config.yaml file - --file_type FILE_TYPE - config file type, [yaml|excel] - --case_yaml CASE_YAML - case yaml file, uesd if file_type = yaml - --depends_yaml DEPENDS_YAML - depends yaml file,uesd if file_type = yaml - --case_excel CASE_EXCEL - excel case file used if file_type = excel -example: -#default case -1>python .\hdv.py -following config used - - ./conf/config.yaml - - file_type=excel - - ./conf/cases.xlsx -# use file_type=yaml -2>python .\hdv.py --file_type=yaml - -example1. default conf/config.yaml, file_type=excel, cases.xlsx used -python .\hdv.py -example2. use yaml file type config, default conf/cases.yaml conf/depends.yaml used -python .\hdv.py --file_type=yaml -example3. user input config file -python .\hdv.py --file_type=yaml --case_yaml=./conf-new/cases.yaml --depends_yaml=./conf-new/depends.yaml - ->>> tools directory: - -./redfish -├─conf # config directory -├─docs # readme -├─logs # hdv.log would be generated here. - -$ ls -lR . -$ ls redfish/*.py -redfish/__init__.py -redfish/excel_2_yaml.py #tool script to convert excel cases.xlsx sheets content to yaml format cases.yaml and depends.yaml -redfish/hdv_redfish.py #the code implementation by parsing config.yaml and cases.xlsx or cases.yaml and depends.yaml -redfish/log_utils.py #log utils -redfish/errors.py #error code definition for the tool during parse. -redfish/hdv.py #hdv portal -redfish/http_handler.py #http_handler -redfish/yaml_utils.py #yaml utils for test. - -$ ls redfish/conf -config.yaml #global config yaml where define BMC settings, static value, and some position definition in the cases.xlsx excel -cases.xlsx #two sheet defined (cases and depend_id), input case file if file_type=excel, default way. - #sheet cases - define all test case redfish url, expected value, etc - #sheet dependent_id - define all dependent_id url which is used to get parent resource id for the url in the cases. -cases.yaml #test cases yaml file,where the same set test case with cases.xlsx, it is used if file_type=yaml -depends.yaml #depends.yaml where the same content with sheet dependent_id, it is used if file_type=yaml -report.yaml #final test report, it is used if file_type=yaml - -$ ls redfish/docs -readme.md #readme - -$ ls redfish/logs -hdv.log # test log file - ->>> Principle -The hdv tool gets the global config from conf/config.yaml, e.g bmc settings, and -global variable definitions, and some excel column position used in case file_type=excel -User can select eiter file_type yaml or excel as the configure file type, -default type is excel at present. However the principle is similar. - -If file_type is excel, it will parse two sheets of excel workbook, cases and dependent_id. -The dependent_id sheet is used to define how to get the parents before checking a final redfish url, -thinking about checking a port should get the adapter at first. -The cases sheet is the test cases template, where the variable will be replaced -by global static value from config yaml or dependent_id - -By running a final redfish url request, it will get response result from the test server. -Then tool will compare the response value with expected value defined in <expected_result> column of cases sheet to decide if the case status. - -test report of each case <details,case_status> will write back to the same excel in the last two columns. - -Meanwhile, yaml file_type is supported also, it processes similarly as excel, except -- reading depends.yaml to get the dependent_id -- reading cases.yaml to run the test case -- report.yaml will be created as the final report. -cases.xlsx will not be used anymore in yaml case. - -Besides, excel_2_yaml.py script can be used to convert the cases.xlsx to yaml file accordingly. -If you want to update the cases content, you can update the excel at first, then convert by the script. - ->>> FAQ: -1. how to customize expected result? -you need put a json format value in it, the hierachy should be exactly the same with actual returned value, -as the comparing implementation relies on it. - => a simple example: '{"AssetTag": "CM_cc@1234"}' - => a complex example: -'{ "count": 2, "Manufacturer": "Intel(R) Corporation", "MaxSpeedMHz": - 2300, "Model": "Intel(R) Xeon(R) Gold 5218N CPU @ 2.30GHz", "ProcessorArchitecture": - ["x86", "IA-64", "ARM", "MIPS", "OEM"], "Socket": [1, 2], "Status": { "Health": - "OK", "State": "Enabled" }, "TotalCores": 16, "TotalThreads": - 32}' - -in the above data, a specific "count" attribute defined to check components quantity returned, e.g How many cpus expected. -generally it can be a subset attributes definition, comparing with actual return value -also it can support list of all expected value for list of objects. -example: "Socket:[1,2]", expecting return "Socket:1" and "Socket:2" from returned response - ->>>Perspective: -- there are differences between vendors's implementation, or even versions for the same vendor. -- define more test case or update existing case in the cases.yaml and depends.yaml or cases.xlsx file to support much more checks. -- more implementation could be contributed from community so that it can grow bigger to support more types and checkpoints test case. - -#https://gerrit.opnfv.org/gerrit/admin/repos/cirv |