sonic-buildimage/files/scripts
mprabhu-nokia 3fd6e8d500
[systemd] ASIC status based service bringup on VOQ chassis (#7477)
Changes to allow starting per asic services like swss and syncd only if the platform vendor codedetects the asic is detected and notified. The systemd services ordering we want is database->database@->pmon->swss@->syncd@->teamd@->lldp@
There is also a requirement that management, telemetry, snmp dockers can start even if all asic services are not up.

Why I did it
For VOQ chassis, the fabric cards will have 1-N asics. Also, there could be multiple removable fabric cards. On the supervisor, swss and syncd containers need to be started only if the fabric-card is in Online state and respective asics are detected by the kernel. Using systemd, the dependent services can be in inactive state.

How I did it
Introduce a mechanism where all ASIC dependent service wait on its state to be published via PMON to REDIS. Once the subscription is received, the service proceeds to create respective dockers.
For fixed platforms, systemd is unchanged i.e. the service bring up and docker creation happens in the start()/ExecStartPre routine of the .sh scripts.
For VOQ chassis platform on supervisor, the service bringup skips docker creation in the start() routine, but does it in the wait()/ExecStart routine of the .sh scrips.
Management dockers are decoupled from ASIC docker creation.
2021-07-27 23:02:49 -07:00
..
arp_update [swss] Enhance ARP Update to Call Sonic Cfggen Once (#5398) 2020-09-18 18:44:23 -07:00
asic_status.py [systemd] ASIC status based service bringup on VOQ chassis (#7477) 2021-07-27 23:02:49 -07:00
asic_status.sh [systemd] ASIC status based service bringup on VOQ chassis (#7477) 2021-07-27 23:02:49 -07:00
bgp.sh BGP Service script path and error fix (#5183) 2020-08-15 12:09:10 -07:00
configdb-load.sh [MultiDB] use sonic-db-cli PING and fix wrong multiDB API in NAT (#4541) 2020-05-06 15:41:28 -07:00
core_cleanup.py [Python] Align files in root dir, dockers/ and files/ with PEP8 standards (#6109) 2020-12-03 15:57:50 -08:00
gbsyncd.sh Add gearbox phy device files and a new physyncd docker to support VS gearbox phy feature (#4851) 2020-09-25 08:32:44 -07:00
lldp.sh [systemd] ASIC status based service bringup on VOQ chassis (#7477) 2021-07-27 23:02:49 -07:00
radv.sh Make RADV service script executable (#5186) 2020-08-15 12:08:09 -07:00
sonic-netns-exec [sonic-netns-exec]: use "$@" to reflects all positional parameters as they were set initially (#4375) 2020-04-07 00:05:47 -07:00
supervisor-proc-exit-listener [Supervisord] Deduplicate the alerting messages of critical processes from Supervisord. (#6849) 2021-02-25 14:35:29 -08:00
swss.sh [systemd] ASIC status based service bringup on VOQ chassis (#7477) 2021-07-27 23:02:49 -07:00
syncd_common.sh [systemd] ASIC status based service bringup on VOQ chassis (#7477) 2021-07-27 23:02:49 -07:00
syncd.sh [systemd] Increase syncd startup script timeout to support FW upgrade on init. (#6709) 2021-02-11 12:53:36 +02:00
teamd.sh [systemd] ASIC status based service bringup on VOQ chassis (#7477) 2021-07-27 23:02:49 -07:00
update_chassisdb_config In modular chassis, add CHASSIS_STATE_DB on control card (#5624) 2020-12-15 17:15:00 -08:00