I would like to implement Redfish on a non server computer. Is this possible ? Is there documentation on how to do it or if any one can point me in the right direction, I would really appreciate the help.
Yes, it's certainly possible, but the answer will depend on what you mean by "non-server computer". If you just want to implement a Redfish service in software (as in, running as a process on the main CPU), that is very straightforward. But if you're looking at a workstation or desktop computer and want to have the "out-of-band, always-available service regardless of the host OS", that would require firmware and a place to execute it.
For a software implementation, you can look at some of the open source projects that implement Redfish, or look at the DMTF's own open source Redfish Emulator github.com/DMTF/Redfish-Interface-Emulator as a way to at least prototype something functional...
Thanks A ton Jeff.I did run the emulator and got it to work fine , can I tweak it to have the system details populate in there ? or is there any other open source projects you recommend or suggest ?
It's open source, so tweak away!
There are at least a couple of open source Redfish implementations you may be able to leverage. Look at the OpenBMC effort, and there's another one that I can't recall the name of at the moment...
And If I want to use a Workstation for out of band redfish service , what do I need to look at. Does the out of band development include edk2(uefi firmwaredevelopment) or any other approach ?
Thank you for your help. I appreciate it.
A full out-of-band implementation on a workstation would very likely involve some of the UEFI components, but more importantly, it will require a BMC or other SoC to provide the separate CPU complex to execute the code. Some workstation designs do include BMCs or a desktop-class-equivalent device, depending on what chipset/architecture the product is based on.
One last question(I am trying to fill in the blanks to understand the system)
What will be the components required to make the Redfish-Profile-Simulator or Redfish-Interface-emulator to have Real Computer Data and control the computer ? Just an overview of the explanation will be good.
There's more in the \docs folder, but essentially you create your own python routines for the resources (URIs) you want to populate, and can fill in the rest with static JSON mockup documents. For a typical Redfish implementation, there can be a number of static resources that are either truly static, or could be generated as static files during initialization. The nice thing about the emulator is that you can mix and match, so you can develop and test client code while you implement the back end.