| syntax = "proto3"; |
| |
| package platforms_vbmc; |
| |
| option optimize_for = CODE_SIZE; |
| |
| // Message sent from the vBMC to the Collector as a part of the response to the |
| // Get call in voyager_telemetry.proto. |
| message MachineInfo { |
| // The MAC address of the RMC to be sent to the Collector to allow the |
| // password to be fetched and sent back to the vBMC. |
| string target_mac_addr = 1; |
| } |
| |
| // Message (typically sent in voyager_telemetry.proto), from vBMC to the |
| // Collector Borg job. The Collector subscribes. |
| message OtsUpdate { |
| oneof update { |
| // A (typically Redfish) event that needs to be saved off-machine, typically |
| // into raw/processed_events file. |
| OtsEvent event = 1; |
| |
| // A log file (free format ASCII) that accompanies a !OK severity event. |
| // This is sent separately from the event itself. The Collector typically |
| // persists this into a file (on cns or equiv). |
| OtsLog log = 2; |
| |
| // Sent when the health of the monitored machine (OTS Arena) is OK. The |
| // Collector typically moves the processed_events file to archived_events |
| // file. |
| bool ots_health_ok = 3; |
| |
| CperEvent cper_event = 4; |
| } |
| } |
| |
| message CperEvent { |
| string event_json = 1; |
| } |
| |
| message OtsEvent { |
| // The producer (vBMC) extracts the Severity from event_json for the benefit |
| // of the Collector - the Collector writes OK events to a raw_events file, |
| // but writes !OK events to both a raw_events and processed_events file. |
| enum Severity { |
| SEVERITY_UNSPECIFIED = 0; |
| SEVERITY_OK = 1; |
| SEVERITY_LOG = 4; // OK, but capture logs |
| |
| SEVERITY_WARNING = 2; |
| SEVERITY_CRITICAL = 3; |
| } |
| |
| Severity severity = 1; |
| |
| // The (typically Redfish) event. This is normally received via an SSE |
| // connection by the producer (vBMC) and sent as-is. |
| string event_json = 2; |
| } |
| |
| message OtsLog { |
| // CAE logs content received from RMC after machine state change. |
| string log_message = 1; |
| |
| // ID of the last processed !OK event after which logs are fetched from RMC |
| // which changed the state of machine from OK->WARNING/CRITICAL or |
| // WARNING->CRITICAL. |
| // This is appened to the filename while saving. |
| string event_id = 2; |
| } |
| |
| // Message sent from Collector to vBMC before Subscribe call using Put call in |
| // voyager_telemetry.proto (SetRequest.req_data.native) |
| message RequestData { |
| // This will be intercepted by the events_plugin and saved to a local file |
| // in encrypted format, and will be read by redfish plugin for connection to |
| // RMC |
| string rmc_redfish_password = 1 [deprecated = true]; |
| |
| // Path where collector will save all the events and logs for this machine |
| string cns_dir_path = 2; |
| |
| // List of comma separated events which are required by vBMC to bootstrap the |
| // state since the last archival |
| string replay_events_json = 3; |
| |
| // EventId for the last event processed and persisted by the collector, this |
| // is used to re-establish connection with the RMC |
| string last_event_id = 4; |
| } |
| |
| // Message sent from collector to update required data on the machine using Put |
| // call in voyager_telemetry.proto (SetRequest.req_data.native) |
| message UpdateMachineData { |
| // Username, password and MAC address sent from the collector to connect to |
| // target BMC |
| string rmc_redfish_password = 1; |
| string rmc_redfish_username = 2; |
| string rmc_mac_addr = 3; |
| } |