It seems there's no way to have text-based serial console redirection in RedFish similarly to IPMI SOL, is there? Or did I just miss it?
I saw there's iKVM, which is very nice for actual human interaction/troubleshooting session(s), but it is hard to "automate", IMHO. As an example - console output capturing during OS provisioning. We have found that very valuable in troubleshooting efforts should something go wrong as retry attempt may hide the original issue. With console output logged, we can always go back and look at it, if OS provisioning failed.
For such type of logging/capturing, we do use unidirectional IPMI SOL (no input from orchestrating side) and I was hoping to find something similar in RedFish.
This is done via SSH: a client connects to the manager via SSH, and the manager routes host console traffic over the SSH connection. We've had this reported in the Manager resource since 1.0, but it wasn't very clear how it was used. A few releases ago, we moved those properties over to ComputerSystem so a client can discover the host console capabilities directly on the system itself.
In both Manager and ComputerSystem, this is the "SerialConsole" property. Specifically in ComputerSystem, there are properties inside of SerialConsole (SSH, Telnet, IPMI) that describe the different methods a client can use to establish a serial session with the host via its manager.
I see. Thanks for the reply! Realistically, this seems to be outside of RedFish though, just straight SSH to BMC. What I was hoping to find is a console redirection from serial port (at least the output from a console) to a user over HTTPS, similar to current iKVM (Graphical console) implementation - user gets a temporary URL and starts the session by putting that into a browser. Unfortunately, that does not work with curl, for example, as it just gets an HTML page back.
In my Firefox, BTW, I get this warning from Supermicro server: "Your current browser doesn't support capability of video recording. Please use Chrome for this functionality." So, my next step, I guess, is to try to figure out if we could capture that stream in some other and automated ways. Video recording is rather heavy for such system management task though and thus I was asking about text-based SOL feature, just over HTTPS.
Unfortunately as far as I know there is no standard "HTTP console" type of protocol in the industry. You're right that at this time we'd rather not create a protocol like that, especially given how widely supported existing protocols like SSH are.
Remote KVM is even trickier, and I suspect a lot of it is obscured by the fact that most managers have web browser support for launching their KVM client so that a user doesn't need to manually install anything. Beyond loading the client KVM application and managing the display output in the browser, the underlying protocols are going to vary between standard protocols like Remote Frame Buffer and others that are completely proprietary.
Well, I guess, since RedFish is "advertised" as a replacement for IPMI, I naturally expected RedFish to have all the features that IPMI had plus more on top of that. So, it is surprising for me to see more complicated graphical console implemented while simpler text-based console ability missing and now there's a dependency on SSH enabled and managed just to provide text-based console redirection. Not the end of the world, of course, but just a feature disparity the way I see it. If IPMI SOL could do this redirection, why RedFish can't do the same over HTTPS?
Well, I guess, since RedFish is "advertised" as a replacement for IPMI, I naturally expected RedFish to have all the features that IPMI had plus more on top of that. So, it is surprising for me to see more complicated graphical console implemented while simpler text-based console ability missing and now there's a dependency on SSH enabled and managed just to provide text-based console redirection.
Redfish as a protocol is a REST interface over HTTPS... We didn't "invent" the protocol. As many vendors (especially true for any device outside of the server category) already supported SSH or Telnet for serial console, creating something unique and new that would require new client software as well just didn't make sense.
Redfish doesn't define a graphical console protocol, either. Just as we do for serial console, we provide the ability to discover those features/functions of a device and the means to configure them. That some graphical console implementations can be "launched" via a URL is a happy coincidence.
But the serial / console redirection support should work the way you want. You locate the function via Redfish (one time), then you can use any of the available SSH tools to capture the serial console stream.