summaryrefslogtreecommitdiffstats
path: root/meta-agl-lxc/recipes-container
diff options
context:
space:
mode:
authorHiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com>2022-07-12 14:53:28 +0900
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2022-07-14 09:32:09 +0000
commit76599360b8dbe1307e6d38f39517668aa8239081 (patch)
tree8a904f25d6a2517b9d2c92402577635045b1900e /meta-agl-lxc/recipes-container
parent98d98c11ceefa8846bc3c83d42644c2fdbd75c34 (diff)
agl-lxc: Stably start lxc service after drm-lease-managerneedlefish_13.91.0needlefish/13.91.013.91.0
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
Diffstat (limited to 'meta-agl-lxc/recipes-container')
-rw-r--r--meta-agl-lxc/recipes-container/lxc/files/lxc.service19
-rw-r--r--meta-agl-lxc/recipes-container/lxc/lxc_%.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_%.bbappend b/meta-agl-lxc/recipes-container/lxc/lxc_%.bbappend
index 72078495..b8456f7f 100644
--- a/meta-agl-lxc/recipes-container/lxc/lxc_%.bbappend
+++ b/meta-agl-lxc/recipes-container/lxc/lxc_%.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.