systemd: RemainAfterExit=yes for all Type=oneshot units
Many of these are intended to run as a one-time thingy. Some of them,
such as the YANG installation bits, have been failing since the recent
switch to storing sysrepo config as a JSON file (and the related change
of not preserving /etc/sysrepo/ directly).
One especially nasty scenario is a random failure in cla-sysrepo which
leads to an automatic restart, which triggers czechlight-install-yang,
which fails horribly. Yay.
Change-Id: I76664c5fb2b8eb62a12fd19a31fc606fa7c3723c
diff --git a/package/cla-sysrepo/czechlight-install-yang.service b/package/cla-sysrepo/czechlight-install-yang.service
index 83cdf0d..b4202b9 100644
--- a/package/cla-sysrepo/czechlight-install-yang.service
+++ b/package/cla-sysrepo/czechlight-install-yang.service
@@ -6,6 +6,7 @@
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStart=/bin/bash /usr/bin/czechlight-install-yang.sh
[Install]
diff --git a/package/czechlight-cfg-fs/cfg-restore-sysrepo.service b/package/czechlight-cfg-fs/cfg-restore-sysrepo.service
index c990d56..9fe0c8a 100644
--- a/package/czechlight-cfg-fs/cfg-restore-sysrepo.service
+++ b/package/czechlight-cfg-fs/cfg-restore-sysrepo.service
@@ -7,6 +7,7 @@
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStart=/bin/sysrepocfg -d startup -f json --import=/cfg/sysrepo/startup.json
ExecStart=/bin/sysrepocfg -C startup
diff --git a/package/czechlight-cfg-fs/openssh-persistent-keys.service b/package/czechlight-cfg-fs/openssh-persistent-keys.service
index d75b616..48e9bd3 100644
--- a/package/czechlight-cfg-fs/openssh-persistent-keys.service
+++ b/package/czechlight-cfg-fs/openssh-persistent-keys.service
@@ -6,6 +6,7 @@
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStartPre=/bin/mkdir -p /cfg/etc/ssh
ExecStart=/bin/sh -c 'cp -a /etc/ssh/ssh_host_*_key* /cfg/etc/ssh/'
diff --git a/package/czechlight-clearfog-leds/czechlight-clearfog-leds.service b/package/czechlight-clearfog-leds/czechlight-clearfog-leds.service
index 7905d1f..452a466 100644
--- a/package/czechlight-clearfog-leds/czechlight-clearfog-leds.service
+++ b/package/czechlight-clearfog-leds/czechlight-clearfog-leds.service
@@ -3,5 +3,6 @@
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStart=/usr/bin/init-leds-edfa.sh
ExecStart=/usr/bin/init-leds-sfp.sh
diff --git a/package/czechlight-rauc/enable-hw-watchdog.service b/package/czechlight-rauc/enable-hw-watchdog.service
index c057e35..895ee43 100644
--- a/package/czechlight-rauc/enable-hw-watchdog.service
+++ b/package/czechlight-rauc/enable-hw-watchdog.service
@@ -5,5 +5,6 @@
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStartPre=/bin/sh -c '[ "$(/bin/systemctl list-units --failed --all --no-legend --no-pager)" == "" ]'
ExecStart=/bin/busctl set-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager RuntimeWatchdogUSec t 30000000
diff --git a/package/czechlight-rauc/rauc-mark-good.service b/package/czechlight-rauc/rauc-mark-good.service
index a51f490..037295c 100644
--- a/package/czechlight-rauc/rauc-mark-good.service
+++ b/package/czechlight-rauc/rauc-mark-good.service
@@ -6,5 +6,6 @@
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStartPre=/bin/sh -c '[ "$(/bin/systemctl list-units --failed --all --no-legend --no-pager)" == "" ]'
ExecStart=/usr/bin/rauc status mark-good
diff --git a/package/czechlight-rauc/usb-flash.service b/package/czechlight-rauc/usb-flash.service
index 59c1b79..c2b9e96 100644
--- a/package/czechlight-rauc/usb-flash.service
+++ b/package/czechlight-rauc/usb-flash.service
@@ -6,6 +6,7 @@
[Service]
Type=oneshot
+RemainAfterExit=yes
StandardInput=tty
StandardOutput=tty
StandardError=inherit