Skip to content

Onboard code for show system-health sysready-status#215

Merged
sharmavijay-ms merged 5 commits intoAzure:kubesonicfrom
Sreevanich16:systemHealthSysreadyStatusCmd
May 4, 2026
Merged

Onboard code for show system-health sysready-status#215
sharmavijay-ms merged 5 commits intoAzure:kubesonicfrom
Sreevanich16:systemHealthSysreadyStatusCmd

Conversation

@Sreevanich16
Copy link
Copy Markdown

@Sreevanich16 Sreevanich16 commented Apr 30, 2026

MSFT ADO- 37750118

Why I did it

Added gNMI getter for show system-health sysready-status so client can fetch platform information via gNMI in JSON format.

How I did it

Added gNMI get function for the command which fetches services data from STATE_DB

How to verify it

CLI output

admin@bjw2-can-4600c-5:~$ show system-health sysready-status
System is ready

Service-Name                       Service-Status    App-Ready-Status    Down-Reason
---------------------------------  ----------------  ------------------  --------------
acms                               OK                OK                  -
audit-rules                        OK                OK                  -
auditd                             OK                OK                  -
bgp                                OK                OK                  -
caclmgrd                           OK                OK                  -
chrony                             OK                OK                  -
config-chassisdb                   OK                OK                  -
config-setup                       OK                OK                  -
containerd                         OK                OK                  -
core_uploader                      OK                OK                  -
cron                               OK                OK                  -
ctrmgrd                            OK                OK                  -
database                           OK                OK                  -
determine-reboot-cause             OK                OK                  -
dhcp_relay                         OK                OK                  -
docker                             OK                OK                  -
dpu-udev-manager                   OK                OK                  -
e2scrub_reap                       OK                OK                  -
eventd                             OK                OK                  -
gnmi                               OK                OK                  -
gnoi-shutdown                      OK                OK                  exec-condition
hw-management                      OK                OK                  -
hw-management-blacklist-generator  OK                OK                  -
hw-management-fast-sysfs-monitor   OK                OK                  -
hw-management-peripheral-updater   OK                OK                  -
hw-management-sysfs-monitor        OK                OK                  -
hw-management-tc                   OK                OK                  -
hw-management-thermal-updater      OK                OK                  -
lldp                               OK                OK                  -
monit                              OK                OK                  -
netfilter-persistent               OK                OK                  -
nv-syncd-shared                    OK                OK                  -
otel                               OK                OK                  -
pmon                               OK                OK                  -
procdockerstatsd                   OK                OK                  -
process-reboot-cause               OK                OK                  -
radv                               OK                OK                  -
ras-mc-ctl                         OK                OK                  -
restapi                            OK                OK                  -
rsyslog                            OK                OK                  -
smartmontools                      OK                OK                  -
snmp                               OK                OK                  -
ssh                                OK                OK                  -
swss                               OK                OK                  -
syncd                              OK                OK                  -
sysfsutils                         OK                OK                  -
sysstat                            OK                OK                  -
teamd                              OK                OK                  -
telemetry                          OK                OK                  -

gNMI output

root@bjw2-can-4600c-5:/# gnmi_get -xpath_target SHOW -xpath system-health/sysready-status -target_addr 127.0.0.1:50051 -logtostderr -insecure true
== getRequest:
prefix: <
  target: "SHOW"
>
path: <
  elem: <
    name: "system-health"
  >
  elem: <
    name: "sysready-status"
  >
>
encoding: JSON_IETF

== getResponse:
notification: <
  timestamp: 1777461255742335894
  prefix: <
    target: "SHOW"
  >
  update: <
    path: <
      elem: <
        name: "system-health"
      >
      elem: <
        name: "sysready-status"
      >
    >
    val: <
      json_ietf_val: "{\"system_status\":\"System is ready\",\"services\":[{\"service_name\":\"acms\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"audit-rules\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"auditd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"bgp\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"caclmgrd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"chrony\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"config-chassisdb\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"config-setup\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"containerd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"core_uploader\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"cron\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"ctrmgrd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"database\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"determine-reboot-cause\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"dhcp_relay\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"docker\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"dpu-udev-manager\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"e2scrub_reap\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"eventd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"gnmi\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"gnoi-shutdown\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"exec-condition\"},{\"service_name\":\"hw-management\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"hw-management-blacklist-generator\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"hw-management-fast-sysfs-monitor\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"hw-management-peripheral-updater\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"hw-management-sysfs-monitor\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"hw-management-tc\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"hw-management-thermal-updater\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"lldp\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"monit\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"netfilter-persistent\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"nv-syncd-shared\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"otel\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"pmon\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"procdockerstatsd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"process-reboot-cause\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"radv\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"ras-mc-ctl\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"restapi\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"rsyslog\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"smartmontools\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"snmp\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"ssh\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"swss\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"syncd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"sysfsutils\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"sysstat\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"teamd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"telemetry\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"}]}"
    >
  >
>

Arista device
CLI output

admin@str4-7060x6-512-11:~$ show system-health sysready-status
System is not ready - one or more services are not up

Service-Name            Service-Status    App-Ready-Status    Down-Reason
----------------------  ----------------  ------------------  --------------
acms                    OK                OK                  -
audit-rules             OK                OK                  -
auditd                  OK                OK                  -
bgp                     OK                OK                  -
caclmgrd                OK                OK                  -
chrony                  OK                OK                  -
config-chassisdb        OK                OK                  -
config-setup            OK                OK                  -
containerd              OK                OK                  -
core_uploader           OK                OK                  -
cron                    OK                OK                  -
ctrmgrd                 OK                OK                  -
database                OK                OK                  -
determine-reboot-cause  OK                OK                  -
docker                  OK                OK                  -
e2scrub_reap            OK                OK                  -
eventd                  OK                OK                  -
gnmi                    OK                OK                  -
gnoi-shutdown           Down              Down                exec-condition
lldp                    OK                OK                  -
monit                   OK                OK                  -
netfilter-persistent    OK                OK                  -
opennsl-modules         OK                OK                  -
otel                    OK                OK                  -
phy-credo               OK                OK                  -
phy-credo-daemon        OK                OK                  -
pmon                    OK                OK                  -
procdockerstatsd        OK                OK                  -
process-reboot-cause    OK                OK                  -
radv                    OK                OK                  -
ras-mc-ctl              OK                OK                  -
restapi                 OK                OK                  -
rsyslog                 OK                OK                  -
smartmontools           OK                OK                  -
snmp                    OK                OK                  -
ssh                     OK                OK                  -
swss                    OK                OK                  -
syncd                   OK                OK                  -
sysfsutils              OK                OK                  -
sysstat                 OK                OK                  -
teamd                   OK                OK                  -
telemetry               OK                OK                  -
admin@str4-7060x6-512-11:~$

gNMIoutput-

root@str4-7060x6-512-11:/# gnmi_get -xpath_target SHOW -xpath system-health/sysready-status -target_addr 127.0.0.1:50051 -logtostderr -insecure true
== getRequest:
prefix: <
  target: "SHOW"
>
path: <
  elem: <
    name: "system-health"
  >
  elem: <
    name: "sysready-status"
  >
>
encoding: JSON_IETF

== getResponse:
notification: <
  timestamp: 1777539430101938322
  prefix: <
    target: "SHOW"
  >
  update: <
    path: <
      elem: <
        name: "system-health"
      >
      elem: <
        name: "sysready-status"
      >
    >
    val: <
      json_ietf_val: "{\"system_status\":\"System is not ready - one or more services are not up\",\"services\":[{\"service_name\":\"acms\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"audit-rules\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"auditd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"bgp\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"caclmgrd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"chrony\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"config-chassisdb\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"config-setup\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"containerd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"core_uploader\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"cron\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"ctrmgrd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"database\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"determine-reboot-cause\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"docker\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"e2scrub_reap\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"eventd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"gnmi\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"gnoi-shutdown\",\"service_status\":\"Down\",\"app_ready_status\":\"Down\",\"down_reason\":\"exec-condition\"},{\"service_name\":\"lldp\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"monit\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"netfilter-persistent\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"opennsl-modules\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"otel\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"phy-credo\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"phy-credo-daemon\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"pmon\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"procdockerstatsd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"process-reboot-cause\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"radv\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"ras-mc-ctl\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"restapi\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"rsyslog\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"smartmontools\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"snmp\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"ssh\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"swss\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"syncd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"sysfsutils\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"sysstat\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"teamd\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"},{\"service_name\":\"telemetry\",\"service_status\":\"OK\",\"app_ready_status\":\"OK\",\"down_reason\":\"-\"}]}"
    >
  >
>

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111

Description for the changelog

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

@Sreevanich16
Copy link
Copy Markdown
Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@Sreevanich16
Copy link
Copy Markdown
Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@Sreevanich16
Copy link
Copy Markdown
Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

ServiceName: key,
ServiceStatus: common.GetValueOrDefault(info, serviceStatusField, ""),
AppReadyStatus: common.GetValueOrDefault(info, appReadyStatusField, ""),
DownReason: common.GetValueOrDefault(info, failReasonField, ""),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If failReasonField is "-" or "", let's return "".
"-" make sense in tabular/visibility but "" will be more useful in json.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will come back on this

@Sreevanich16
Copy link
Copy Markdown
Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@sharmavijay-ms sharmavijay-ms merged commit 6584309 into Azure:kubesonic May 4, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants