The BOS reporter is a BOS v2 feature only.
The BOS reporter is a service that runs on all components managed by BOS v2. It reports to BOS the current state and boot artifacts for the node on which it is running. This is necessary for BOS v2 to be able to manage a node. For example, it is required in order for BOS v2 to know that a node has successfully booted into the correct state.
The bos-reporter RPM must be installed on nodes in order for BOS v2 to operate on them properly;
it typically is installed in node images when they are being customized.
(linux#) The reporter itself runs as a SystemD service.
systemctl status --no-pager --full bos-reporter
Example output:
● bos-reporter.service - bos-status-reporter reports boot session information periodically to the BOS API
Loaded: loaded (/usr/lib/systemd/system/bos-reporter.service; enabled; preset: enabled)
Active: active (running) since Tue 2026-01-20 21:45:21 CST; 1 day 12h ago
Main PID: 13765 (python3)
Tasks: 1
CPU: 2.545s
CGroup: /system.slice/bos-reporter.service
└─13765 /usr/lib/bos-reporter/venv/bin/python3 /opt/cray/csm/scripts/bos/bos_reporter
Jan 20 21:45:21 uan01 systemd[1]: Started bos-status-reporter reports boot session information periodically to the BOS API.
When the BOS reporter first starts, it updates BOS immediately with the current state information. It then waits for an interval of time before doing the next update. This continues indefinitely.
The wait interval between reporting is controlled by the component_actual_state_ttl
option. Specifically, the wait interval is set to be 75% of the option value. For example, if the option is set to 8 hours,
then the wait interval will be 2 hours.
An exception to this is the very first wait interval. This wait interval is a random amount of time between 0 and the regular wait interval. If a large number of nodes are booted at the same time, this ensures that their BOS reporters will not always be sending updates at the same time.
WARNING: A zero value for the
component_actual_state_ttloption will not disable the BOS reporter or cause it to report only once. For details, seecomponent_actual_state_ttl.
The reporting is done using the BOS API. Because of this, the BOS reporter will not work on a node without network access to the BOS API.
The BOS reporter is somewhat analogous to the CFS state reporter, but there are import differences:
The location of the BOS reporter source code depends on its version. Prior to version 3.0.0,
the source for the BOS reporter is located in the
Cray-HPE/bos open source GitHub repository.
Starting in version 3.0.0, the source for the BOS reporter is located in the
Cray-HPE/bos-reporter open source GitHub repository.