#### Why I did it
To fix the logic introduced by [[memory_checker] Do not check memory usage of containers which are not created #11129](https://github.com/sonic-net/sonic-buildimage/pull/11129).
There could be a scenario before the reboot, where
1. The `docker service` has stopped
2. In a very short period of time, the monit service performs the `root@sonic:/home/admin# monit status container_memory_telemetry`
In such scenario, the `memory_checker` script will throw an error to the syslog:
```
ERR memory_checker: Failed to retrieve the running container list from docker daemon! Error message is: 'Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))'
```
But, actually, this scenario is a correct behavior, because when the docker service is stopped, the Unix socket is destroyed and that is why we could see the `FileNotFoundError(2, 'No such file or directory'` exception in the syslog.
#### How I did it
Change the log severity to the warning and changed the return value.
#### How to verify it
It is really hard to catch the exact moment described in the `Why I did it` section.
In order to check the logic:
1. Change the Unix socket path to non-existing in [/usr/bin/memory_checker](
|
||
---|---|---|
.. | ||
backend_acl | ||
bash | ||
config-chassisdb | ||
config-setup | ||
config-topology | ||
constants | ||
copp | ||
corefile_uploader | ||
cron.d | ||
ebtables | ||
environment | ||
fstrim | ||
hostname | ||
interfaces | ||
kdump | ||
kubernetes | ||
logrotate | ||
misc | ||
monit | ||
ntp | ||
pcie-check | ||
platform | ||
rasdaemon | ||
readline | ||
reset-factory | ||
resolv-config | ||
rsyslog | ||
secureboot | ||
snmp | ||
sudoers | ||
sysctl | ||
syslog | ||
system-health | ||
systemd | ||
topology | ||
updategraph | ||
warmboot-finalizer | ||
watchdog-control |