summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com>2022-07-12 14:53:28 +0900
committerHiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com>2022-07-12 15:07:49 +0900
commit0758371b2e2b3ed361db14381b5de612833620f7 (patch)
tree633b7bfb0fc4ee48c12fa8ab72964dc6aae9cc8d
parent196ad6f241204fe351e039abd492bf5c893227d5 (diff)
agl-lxc: Stably start lxc service after drm-lease-managermarlin_13.0.3marlin_13.0.2marlin/13.0.3marlin/13.0.213.0.313.0.2marlin
Since there is some race condition between initialization of drm-lease-manager and startup of lxc guest images in lxc-host-image-demo currently, we sometimes observe a startup failure of the cluster-guest, especially on refhw platform, due to delay of lease device creation. This change adds unit dependencies between lxc and drm-lease-manager so that lxc guests can be started after lease devices creation stably. Bug-AGL: SPEC-4427 Signed-off-by: Hiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com> Change-Id: I16183c784d8e1132ba316f842e5dedc664ec2853
-rw-r--r--meta-agl-lxc/recipes-container/lxc/files/lxc.service19
-rw-r--r--meta-agl-lxc/recipes-container/lxc/lxc_4.%.bbappend9
2 files changed, 28 insertions, 0 deletions
diff --git a/meta-agl-lxc/recipes-container/lxc/files/lxc.service b/meta-agl-lxc/recipes-container/lxc/files/lxc.service
new file mode 100644
index 00000000..acf8da39
--- /dev/null
+++ b/meta-agl-lxc/recipes-container/lxc/files/lxc.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=LXC Container Initialization and Autoboot Code
+After=network.target lxc-net.service remote-fs.target drm-lease-manager.service
+Wants=lxc-net.service
+Documentation=man:lxc-autostart man:lxc
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStartPre=@LIBEXECDIR@/lxc/lxc-apparmor-load
+ExecStart=@LIBEXECDIR@/lxc/lxc-containers start
+ExecStop=@LIBEXECDIR@/lxc/lxc-containers stop
+ExecReload=@LIBEXECDIR@/lxc/lxc-apparmor-load
+# Environment=BOOTUP=serial
+# Environment=CONSOLETYPE=serial
+Delegate=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-agl-lxc/recipes-container/lxc/lxc_4.%.bbappend b/meta-agl-lxc/recipes-container/lxc/lxc_4.%.bbappend
index 72078495..b8456f7f 100644
--- a/meta-agl-lxc/recipes-container/lxc/lxc_4.%.bbappend
+++ b/meta-agl-lxc/recipes-container/lxc/lxc_4.%.bbappend
@@ -2,6 +2,15 @@ PACKAGECONFIG:remove = "templates"
SYSTEMD_AUTO_ENABLE:${PN} = "enable"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+SRC_URI += "file://lxc.service"
+
+do_install:append () {
+ install -D -m 0644 ${WORKDIR}/lxc.service ${D}${systemd_system_unitdir}/lxc.service
+ sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_system_unitdir}/lxc.service
+}
+
# NOTE:
# This needs to be replaced with a rework of the upstream packaging
# to do a proper split of core from the template support.