Skip to content

[RFD]: Add SerialConsole support SMD redfish support #120

@cjh1

Description

@cjh1

Decision Goal

Agreement to enhance SMD redfish support to include SerialConsole

Category

Architecture

Stakeholders / Affected Areas

Those trying to access remote consoles

Decision Needed By

ASAP

Problem Statement

OpenCHAMI's remote-console service currently supports three different ways of connecting to a console: ipmi, ssh(key) and ssh(password). The decision on which of these is pretty Cray/HPE specific, based partly on the "class":

  • Mountain, Hill => ssh(key)
  • River => ipmi
  • Paradise => key(password) - Where Paradise is a "made up" class, where the manufacturer is 'Foxconn' and the model as either 'HPE Cray Supercomputing XD224' or '1A62WCB00-600-G'

This configuration comes from smd. We are looking for a more generic/explicit way of providing this console configuration.

Proposed Solution

The redfish spec introduced support for console configuration in 1.13 ( see [6.28.5.24] )(https://www.dmtf.org/sites/default/files/standards/documents/DSP0268_2025.3.pdf). So the proposal is to updates smd's redfish support to include SerialConsole, this would allow the console configuration to be added to the endpoint during the discovery process. remote-console could then read this information from the endpoint to make a determination on how to connect to the console.

Alternatives Considered

An alternative would be to add a new ComponentEndpoint type to support console access. The appropriate POST and PUT operations would also have to be added, to allow for creation and update.

Other Considerations

From the remote-console side one open question is how to differentiate between ssh password and ssh key based access, as the redfish spec doesn't provide a mechanisms to do this. However, a simple first approach would just be to start by looking up the password and if one is not available then try the key. This is probably outside of the scope of the RFD anyway.

Related Docs / PRs

This RFD came out of the following slack thread

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions