[services] introduce sonic.target (#5705)
- Why I did it Group all SONiC services together and able to manage them together. Will be used in config reload command as much simpler and generic way to restart services. - How I did it Add services to sonic.target - How to verify it Together with Azure/sonic-utilities#1199 config reload -y Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
This commit is contained in:
parent
3de6a67353
commit
e179ec2fae
@ -2,6 +2,8 @@
|
||||
Description=DHCP relay container
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service swss.service syncd.service teamd.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
@ -15,4 +17,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -5,6 +5,8 @@ ConditionPathExists=!/usr/share/sonic/hwsku/gearbox_config.json
|
||||
After=database.service updategraph.service
|
||||
After=interfaces-config.service
|
||||
After=swss.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
|
||||
[Service]
|
||||
@ -15,4 +17,4 @@ ExecStart=/usr/local/bin/gbsyncd.sh wait
|
||||
ExecStop=/usr/local/bin/gbsyncd.sh stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -2,6 +2,8 @@
|
||||
Description=ICCPD container
|
||||
Requires=updategraph.service swss.service
|
||||
After=updategraph.service swss.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
|
||||
[Service]
|
||||
User={{ sonicadmin_user }}
|
||||
@ -10,4 +12,4 @@ ExecStart=/usr/bin/{{docker_container_name}}.sh wait
|
||||
ExecStop=/usr/bin/{{docker_container_name}}.sh stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target swss.service
|
||||
WantedBy=sonic.target swss.service
|
||||
|
@ -2,6 +2,8 @@
|
||||
Description=Management Framework container
|
||||
Requires=database.service
|
||||
After=database.service swss.service syncd.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
|
||||
[Service]
|
||||
@ -9,4 +11,3 @@ User={{ sonicadmin_user }}
|
||||
ExecStartPre=/usr/bin/{{docker_container_name}}.sh start
|
||||
ExecStart=/usr/bin/{{docker_container_name}}.sh wait
|
||||
ExecStop=/usr/bin/{{docker_container_name}}.sh stop
|
||||
|
||||
|
@ -1,9 +1,11 @@
|
||||
[Unit]
|
||||
Description=Delays management framework container until SONiC has started
|
||||
PartOf=mgmt-framework.service
|
||||
|
||||
[Timer]
|
||||
OnUnitActiveSec=0 sec
|
||||
OnBootSec=3min 30 sec
|
||||
Unit=mgmt-framework.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
WantedBy=timers.target sonic.target
|
||||
|
@ -2,6 +2,8 @@
|
||||
Description=NAT container
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service swss.service syncd.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
@ -15,5 +17,5 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
||||
|
@ -4,6 +4,8 @@ Requires=database{% if multi_instance == 'true' %}@%i{% endif %}.service
|
||||
After=database{% if multi_instance == 'true' %}@%i{% endif %}.service
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
@ -18,4 +20,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -6,6 +6,10 @@ After=swss{% if multi_instance == 'true' %}@%i{% endif %}.service
|
||||
After=syncd{% if multi_instance == 'true' %}@%i{% endif %}.service
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
@ -19,4 +23,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -12,6 +12,8 @@ Requires=opennsl-modules.service
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
After=interfaces-config.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service pmon.service
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
@ -26,4 +28,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -17,6 +17,8 @@ After=nps-modules.service
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
After=interfaces-config.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
|
||||
[Service]
|
||||
@ -30,4 +32,4 @@ TimeoutStartSec=480
|
||||
{% endif %}
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -7,6 +7,8 @@ After=topology.service
|
||||
{% endif %}
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
@ -20,4 +22,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -5,6 +5,8 @@ After=database.service updategraph.service
|
||||
{% if sonic_asic_platform == 'mellanox' %}
|
||||
After=syncd.service
|
||||
{% endif %}
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
@ -18,4 +20,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -3,6 +3,8 @@ Description=Router advertiser container
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service swss.service syncd.service
|
||||
Before=ntp-config.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
|
||||
@ -15,4 +17,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -2,6 +2,8 @@
|
||||
Description=RestAPI container
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
|
||||
[Service]
|
||||
@ -13,4 +15,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -2,6 +2,8 @@
|
||||
Description=sFlow container
|
||||
Requisite=swss.service
|
||||
After=swss.service syncd.service hostcfgd.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
@ -15,4 +17,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -3,8 +3,9 @@ Description=SNMP container
|
||||
Requires=updategraph.service
|
||||
Requisite=swss.service
|
||||
After=updategraph.service swss.service syncd.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp-config.service
|
||||
Conflicts=snmp.timer
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
|
||||
@ -14,4 +15,3 @@ ExecStart=/usr/bin/{{docker_container_name}}.sh wait
|
||||
ExecStop=/usr/bin/{{docker_container_name}}.sh stop
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
[Unit]
|
||||
Description=Delays snmp container until SONiC has started
|
||||
Conflicts=snmp.service
|
||||
PartOf=snmp.service
|
||||
After=swss.service
|
||||
|
||||
[Timer]
|
||||
|
5
files/build_templates/sonic.target
Normal file
5
files/build_templates/sonic.target
Normal file
@ -0,0 +1,5 @@
|
||||
[Unit]
|
||||
Description=SONiC services target.
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -682,6 +682,9 @@ sudo cp $BUILD_TEMPLATES/mgmt-framework.timer $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_S
|
||||
echo "mgmt-framework.timer" | sudo tee -a $GENERATED_SERVICE_FILE
|
||||
{% endif %}
|
||||
|
||||
sudo cp $BUILD_TEMPLATES/sonic.target $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable sonic.target
|
||||
|
||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get purge -y python-dev python3-dev
|
||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get purge -y build-essential libssl-dev swig
|
||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get purge -y libcairo2-dev libdbus-1-dev libgirepository1.0-dev libsystemd-dev pkg-config
|
||||
|
@ -3,6 +3,8 @@ Description=Telemetry container
|
||||
Requires=database.service
|
||||
After=database.service swss.service syncd.service
|
||||
Before=ntp-config.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
StartLimitIntervalSec=1200
|
||||
StartLimitBurst=3
|
||||
|
||||
@ -13,4 +15,3 @@ ExecStart=/usr/bin/{{docker_container_name}}.sh wait
|
||||
ExecStop=/usr/bin/{{docker_container_name}}.sh stop
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
|
||||
|
@ -1,9 +1,11 @@
|
||||
[Unit]
|
||||
Description=Delays telemetry container until SONiC has started
|
||||
PartOf=telemetry.service
|
||||
|
||||
[Timer]
|
||||
OnUnitActiveSec=0 sec
|
||||
OnBootSec=3min 30 sec
|
||||
Unit=telemetry.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
WantedBy=timers.target sonic.target
|
||||
|
@ -2,10 +2,13 @@
|
||||
Description=Update hostname based on configdb
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/hostname-config.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -2,10 +2,13 @@
|
||||
Description=Update interfaces configuration
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/interfaces-config.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -2,12 +2,15 @@
|
||||
Description=Update NTP configuration
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
Before=ntp.service
|
||||
StartLimitIntervalSec=0
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/ntp-config.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -3,6 +3,8 @@ Description=Network Time Service
|
||||
Documentation=man:ntpd(8)
|
||||
After=network.target
|
||||
Conflicts=systemd-timesyncd.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
StartLimitIntervalSec=0
|
||||
|
||||
[Service]
|
||||
|
@ -2,10 +2,13 @@
|
||||
Description=Update rsyslog configuration
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/rsyslog-config.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -2,6 +2,8 @@
|
||||
Description=Control Plane ACL configuration daemon
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
@ -10,4 +12,4 @@ Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
@ -2,10 +2,13 @@
|
||||
Description=Host config enforcer daemon
|
||||
Requires=updategraph.service
|
||||
After=updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/hostcfgd
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=sonic.target
|
||||
|
||||
|
@ -2,6 +2,8 @@
|
||||
Description=Process and docker CPU/memory utilization data export daemon
|
||||
Requires=database.service updategraph.service
|
||||
After=database.service updategraph.service
|
||||
BindsTo=sonic.target
|
||||
After=sonic.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
@ -9,5 +11,4 @@ ExecStart=/usr/local/bin/procdockerstatsd
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
WantedBy=sonic.target
|
||||
|
Loading…
Reference in New Issue
Block a user