Category: feature | Scope: Small
Description
Add a Redfish subcommand that reads the current date and time from one system
and prints it next to the clock of the machine running the command, along with
the difference between the two.
Redfish carries the clock on the management controller, not on the system
resource: the manager resource exposes DateTime and DateTimeLocalOffset.
The command takes a single hostname, opens a Redfish connection to it, and
reports the time each of its managers returns.
The output shows the time read over Redfish, the local time at the moment of
the request, and the offset between them. Reporting the offset is where the
command stops. It does not compare the offset against a threshold, does not
change its exit code when the offset is large, and never writes the clock. A
human-readable table and a JSON form are both available, as with the existing
Redfish listing subcommand.
This is a separate subcommand rather than another resource type of the existing
Redfish listing subcommand: the result is one value per manager, not a
collection with per-item columns.
Motivation
OSISM needs the clocks of management controllers to be roughly right. Log
timestamps and BMC event timestamps only line up with everything else when they
are, and TLS handshakes against a controller start failing once its clock is far
enough off that a valid certificate looks expired or not yet valid. There is no
way to check the clock from OSISM today. The Redfish surface lists network
resources and nothing else, so an operator has to open the BMC web interface or
send the HTTP request by hand.
An operator troubleshooting a node gets the answer in one step, on the machine
they are already working on. Printing the controller's time beside the local
time makes drift visible right away, and leaves the judgment about how much
drift matters to the person reading it.
Drafted by planwerk-agent with Claude:claude-opus-5[1m]
Category: feature | Scope: Small
Description
Add a Redfish subcommand that reads the current date and time from one system
and prints it next to the clock of the machine running the command, along with
the difference between the two.
Redfish carries the clock on the management controller, not on the system
resource: the manager resource exposes
DateTimeandDateTimeLocalOffset.The command takes a single hostname, opens a Redfish connection to it, and
reports the time each of its managers returns.
The output shows the time read over Redfish, the local time at the moment of
the request, and the offset between them. Reporting the offset is where the
command stops. It does not compare the offset against a threshold, does not
change its exit code when the offset is large, and never writes the clock. A
human-readable table and a JSON form are both available, as with the existing
Redfish listing subcommand.
This is a separate subcommand rather than another resource type of the existing
Redfish listing subcommand: the result is one value per manager, not a
collection with per-item columns.
Motivation
OSISM needs the clocks of management controllers to be roughly right. Log
timestamps and BMC event timestamps only line up with everything else when they
are, and TLS handshakes against a controller start failing once its clock is far
enough off that a valid certificate looks expired or not yet valid. There is no
way to check the clock from OSISM today. The Redfish surface lists network
resources and nothing else, so an operator has to open the BMC web interface or
send the HTTP request by hand.
An operator troubleshooting a node gets the answer in one step, on the machine
they are already working on. Printing the controller's time beside the local
time makes drift visible right away, and leaves the judgment about how much
drift matters to the person reading it.
Drafted by planwerk-agent with Claude:claude-opus-5[1m]