This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
sonic-buildimage/platform/broadcom/sonic-platform-modules-dell
Hua Liu 1f3da955b9
[S6100] Improve S6100 serial-getty monitor, wait and re-check when getty not running to avoid false alert. (#14402) (#14755)
[S6100] Improve S6100 serial-getty monitor, wait and re-check when getty not running to avoid false alert. 

This is cherry-pick PR for: https://github.com/sonic-net/sonic-buildimage/pull/14402

#### Why I did it
On S6100, the serial-getty service some time can't auto-restart by systemd. So there is a monit unit to check serial-getty service status and restart it.

However, this monit will report false alert, because in most case when serial-getty not running, systemd can restart it successfully.

To avoid the false alert, improve the monitor to wait and re-check.

Steps to reproduce this issue:
1. User login to device via console, and keep the connection.
2. User login to device via SSH, check the serial-getty@ttyS1.service service, it's running.
3. Run 'monit reload' from SSH connection.
4. Check syslog 1 minutes later, there will be false alert: ' 'serial-getty' process is not running'

##### Work item tracking
- Microsoft ADO :17424426

#### How I did it
Add check-getty.sh script to recheck again later when getty service not running.
And update monit unit to check serial-getty service status with this script to avoid false alert.

#### How to verify it
Pass all UT.
Manually check fixed code work correctly:


```
admin@***:~$ sudo systemctl stop  serial-getty@ttyS1.service
admin@***:~$ sudo /usr/local/bin/check-getty.sh 
admin@***:~$ echo $?
1
admin@***:~$ sudo systemctl status serial-getty@ttyS1.serviceserial-getty@ttyS1.service - Serial Getty on ttyS1
     Loaded: loaded (/lib/systemd/system/serial-getty@.service; enabled-runtime; vendor preset: enabled)
     Active: inactive (dead) since Tue 2023-03-28 07:15:21 UTC; 1min 13s ago

admin@***:~$ sudo /usr/local/bin/check-getty.sh 
admin@***:~$ echo $?
0
admin@***:~$ sudo systemctl status serial-getty@ttyS1.serviceserial-getty@ttyS1.service - Serial Getty on ttyS1
     Loaded: loaded (/lib/systemd/system/serial-getty@.service; enabled-runtime; vendor preset: enabled)
```

syslog:
```
Mar 28 07:10:37.597458 *** INFO systemd[1]: serial-getty@ttyS1.service: Succeeded.
Mar 28 07:12:43.010550 *** ERR monit[593]: 'serial-getty' status failed (1) -- no output
Mar 28 07:12:43.010744 *** INFO monit[593]: 'serial-getty' trying to restart
Mar 28 07:12:43.010846 *** INFO monit[593]: 'serial-getty' stop: '/bin/systemctl stop serial-getty@ttyS1.service'
Mar 28 07:12:43.132172 *** INFO monit[593]: 'serial-getty' start: '/bin/systemctl start serial-getty@ttyS1.service'
Mar 28 07:13:43.286276 *** INFO monit[593]: 'serial-getty' status succeeded (0) -- no output
```

#### Tested branch (Please provide the tested image version)

- [x] 20201231.77

#### Description for the changelog
[S6100] Improve S6100 serial-getty monitor.
2023-04-20 23:10:01 -07:00
..
common [202012][cherry-pick] DellEMC: Z9332f - Component API Fixes (#10997) 2022-06-03 10:27:39 -07:00
debian [S6100] Improve S6100 serial-getty monitor, wait and re-check when getty not running to avoid false alert. (#14402) (#14755) 2023-04-20 23:10:01 -07:00
s5232f DellEMC: S52xx Reboot cause fix (#10783) 2022-05-23 21:03:11 -07:00
s5248f [DellEMC S5248f] Remove duplicate ipmihelper.py (#10455) 2022-05-27 17:28:56 +00:00
s5296f [devices]: DellEMC new platform support for DellEMC s5296f- 96x25G (#3960) 2020-10-21 11:10:50 -07:00
s6000 [Dell] S6000 I2C not responding to certain optics (#8736) 2021-10-27 03:54:18 +00:00
s6100 [S6100] Improve S6100 serial-getty monitor, wait and re-check when getty not running to avoid false alert. (#14402) (#14755) 2023-04-20 23:10:01 -07:00
tools BIOS upgrade support with API2.0 for DellEMC S6100 (#3116) 2019-08-23 11:12:26 -07:00
z9100 [DellEMC] Ensure concrete platform API classes call base class initializer (#6853) 2021-03-04 21:23:05 +00:00
z9264f [DellEMC] Ensure concrete platform API classes call base class initializer (#6853) 2021-03-04 21:23:05 +00:00
z9332f DellEMC Z9332f: Fix SFP issue (#11819) 2022-09-07 09:35:59 -07:00
.gitignore Reorganize .gitignore files (#4707) 2020-06-09 21:04:55 -07:00
LICENSE [platform]: move dell platform modules into buildimage repo 2018-08-13 10:39:07 +00:00
README.md [platform]: move dell platform modules into buildimage repo 2018-08-13 10:39:07 +00:00

platform drivers for Dell Z9100 for the SONiC project