Filling this question as an issue on the Swordfish API Emulator repository may provide a faster response.
I've notified the maintainer of that repository of this Redfish Forum question. (The "Swordfish Specification" section of redfishforum.com does have an obvious folder for the questions about their tooling.)
Does "Swordfish target" mean a Redfish/Swordfish service? If so, the service implementation is not something DMTF would host directly. Innovation below the interface may be stifled if the DMTF hosted one implementation versus another. DMTF does have a webpage where implementations can be listed - www.dmtf.org/standards/opensource
Yes I meant Redfish/Swordfish service. As I could only experiment with their emulators. Here mostly focusing on the swordfish service. How do I enable this service on our server? Or could you recommend anything to read so that I can get a clear understanding of how the setup will be?
Post by Richelle Ahlvers on Jan 6, 2022 15:23:19 GMT
The Swordfish API Emulator has instructions for installing and using in its README file. The setup script will install and start an instance on your system, as well.
The Swordfish emulator can be used for a range of activities, from acting like a Swordfish-enabled storage device (it currently starts up as an ethernet-attach NVM drive, for example), to developing a POC of your own system, and could even be extended to become a full implementation (noting that this is developed is python, more likely for a host-based solution).
There is a quick startup video on the SNIAVideo youtube channel for the emulator - check the "Swordfish School" group to find it.
Yes Richelle, I did setup the emulator on my system but its just an act of Swordfish Storage device. I looked into the emulator files but did not get any hint on how do I develop it for my own system. I hope you are getting my point Thanks, Sandy
Others can correct me if I'm wrong, but unfortunately there aren't any full implementations available (at least not freely available) for you to enable on your own system.
The emulator can be used as a method for understanding how to make your own service, but generally speaking we haven't stepped into this type of space before. The OpenBMC group does have a Redfish service that could be used, but keep in mind that project is designed to run on a BMC rather than a full system.
For implementations, what is your implementation environment? BMC? OS agent? - If the service will run in the BMC (baseboard mgmt controller), you can start with the OpenBMC repository. - If the service will run as an OS agent, you might look at the C++ implementation in the Device Manager PSME repository - github.com/opencomputeproject/HWMgmt-DeviceMgr-PSME
Regarding Device Manager - Derived from Intel's RackScale PSME repository as noted in its README (github.com/intel/intelRSD) - There is code for storage (./psme/agent/storage)