Copyright 2016-2018 DMTF. All rights reserved.
redfishMockupCreator is a python34 program that creates a redfish Mockup folder structure from a real live Redfish service. This folder structure can then be mounted under the Redfish-Mockup-Server tool.
The program executes Redfish GET requests to the Redfish service and saves the response in a directory structure like what is used for all Redfish mockups.
As a result, it is a way to take a snapshot of a system
- copy the redfishMockupCreate.py file and /redfishtoollib folder (with 2 files) into a folder and execute with Python3.4 or later.
- Note that this program uses the redfishtool transport and serviceRoot API routines which are in the /redfishtoollib folder
redfishMockupCreate [-VhvqS] -u<user> -p<passwd> -r<rpath> [-A<auth>] [-D<directoryPath>] -d [<descriptionString>]
-V, --version -- show redfishMockupCreate version, and exit
-h, --help -- show Usage, Options
-v, --verbose -- verbose level, can repeat up to 4 times for more verbose output
-q, --quiet -- quiet mode. no progress messages are displayed
--custom -- custom mode. use static nav structure instead of recursive algorithm
-C <string>, --Copyright=<string> -- Add Copyright message. The specified Copyright will be added to each resource
-H, --Headers -- Headers mode. An additional headers property will be added to each resource
-T, --Time -- Time mode. Retrieval time of each GET will be captured
-S, --Secure -- use HTTPS for all gets. otherwise HTTP is used
-M, --ScrapeMetadata -- allow scraping of metadata
-u <user>, --user=<usernm> -- username used for remote redfish authentication
-p <passwd>, --password=<passwd> -- password used for remote redfish authentication
-r <rhost>, --rhost=<rhost> -- remote redfish service hostname or IP:port
-A <Auth>, --Auth=<auth> -- auth method ot use: None, Basic(dflt), Session
-M --ScrapeMetadata -- Scrape XML stored locally on the server
-D <directory>,--Dir=<directory> -- output mockup to directory path <directory>
-d <description> --description=<d> -- text description that is put in README. ex: -d "mockup of Contoso 1U"
The requests
package is required.
-
On Windows, navigate to your Python folder via CMD.
cd C:\Python36\
-
run the command line
python -m pip install requests
- fyi-mockup-creator wont create the directory, if the dir doesn’t exist, it exits with error
- fyi-also, it won’t over-write the data in an existing directory--if you want to re-run and store the mockup in the same directory, you have to remove all of the files under the dir so make the directory under mymockups
cd $HOME/mymockups && mkdir C6320mockup9
- Assuming you downloaded the Redfish-Mockup-Creator to $HOME/redfishtools/Redfish-Mockup-Creator
cd $HOME/redfishtools/Redfish-Mockup-Creator
- Make sure you have python3.4 or later in your path
- Set the IP address of the Redfish server you are going to get the mockup from
- MYC6320IP=129.168.0.9 #ex
python3.4 ./redfishMockupCreate.py -r $MYC6320IP -u root -p calvin -S -A Basic -D "$HOME/mymockups/C6320mockup9" \ -d "this is my mockup of a real C6320 in rack33" -C "Copyright 2016 Contoso.com Inc. All rights reserved."
-r <ip> is the ip address of the server you are pulling the mockup from
-u, -p is user/password
-S (it’s a capital S) tells it to use HTTPS for everything---powerEdge requires HTTPS.
-A Basic says use basic auth (I think that’s the default, the man page says Session is dflt ,but just specify Basic to be sure)
-D <dir> tells it the directory to put it in.---must be empty and must already exist
-d <descriptionString> is a short description you can add that it appends to the READ file at the top of the mockup.`
- Since a real redfish service can implement any URI it wants (they don't have to start with /redfish/v1), this creates a "tall mockup". That is, it starts creating a directory structure with everything below the IP address of the remote service---it therefore includes /redfish/v1 in the directory structure.
- Initial version: 0.9.1 provides mockup tree based on redfish 1.0 schemas. Some new resources that were added after 1.0 are not included (eg .../Systems//Memory)
- This version does not walk the SPMF schema to find navigation links, but uses a couple of simple structures at the top of the program. We will add additional navigation properties (eg Memory, Drives,...) in next release.
- Update
CHANGELOG.md
with the list of changes since the last release - Update the
tool_version
andtool_date
variables inredfishMockupCreate.py
to reflect the new tool version - Push changes to Github
- Create a new release in Github