osmith has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ci/+/37896?usp=email
)
Change subject: ansible: podman: use fuse-overlayfs
......................................................................
ansible: podman: use fuse-overlayfs
The default driver "vfs" leads to container crashes on heavy i/o load
on our jenkins machines. Use "fuse-overlayfs" instead, which does not
have these problems.
Add a systemd service that creates /dev/fuse when the LXC container
starts and configure the driver via ~/.config/containers/storage.conf.
Note: when changing the storage driver, the previous storage database
needs to be removed (~/.local/share/containers/storage/). I've done
this manually before rolling out this change.
Fixes: OS#6524
Change-Id: Ib67d5cbc7d567efed673e2e646ae5b903c49e928
---
A ansible/roles/podman/files/mknod-fuse.service
A ansible/roles/podman/files/storage.conf
M ansible/roles/podman/tasks/main.yml
3 files changed, 35 insertions(+), 0 deletions(-)
Approvals:
pespin: Looks good to me, approved
laforge: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/ansible/roles/podman/files/mknod-fuse.service
b/ansible/roles/podman/files/mknod-fuse.service
new file mode 100644
index 0000000..b796f4f
--- /dev/null
+++ b/ansible/roles/podman/files/mknod-fuse.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Create /dev/fuse (OS#6524)
+
+[Service]
+ExecStart=sh -c 'test -e /dev/fuse || mknod -m 666 /dev/fuse c 10 229'
+RemainAfterExit=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/ansible/roles/podman/files/storage.conf
b/ansible/roles/podman/files/storage.conf
new file mode 100644
index 0000000..f212591
--- /dev/null
+++ b/ansible/roles/podman/files/storage.conf
@@ -0,0 +1,5 @@
+[storage]
+driver = "overlay"
+
+[storage.options]
+mount_program = "/usr/bin/fuse-overlayfs"
diff --git a/ansible/roles/podman/tasks/main.yml b/ansible/roles/podman/tasks/main.yml
index 45a712d..102b37e 100644
--- a/ansible/roles/podman/tasks/main.yml
+++ b/ansible/roles/podman/tasks/main.yml
@@ -5,5 +5,26 @@
pkg:
- podman
- buildah
+ - fuse-overlayfs
# Has reasonable recommends needed for dns resolving etc.
install_recommends: yes
+
+- name: install mknod-fuse.service
+ copy:
+ src: mknod-fuse.service
+ dest: /etc/systemd/system/
+ mode: 0644
+
+- name: enable mknod-fuse.service
+ systemd_service:
+ daemon_reload: true
+ name: mknod-fuse
+ enabled: true
+ state: started
+
+- name: install storage.conf
+ copy:
+ src: storage.conf
+ dest: "/home/{{ jenkins_user }}/.config/containers/"
+ mode: 0644
+ owner: "{{ jenkins_user }}"
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ci/+/37896?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: Ib67d5cbc7d567efed673e2e646ae5b903c49e928
Gerrit-Change-Number: 37896
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>