From 37b8d0329254f3c3b242b8fa3cb595093b7786e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= <valtri@civ.zcu.cz>
Date: Tue, 2 Apr 2024 21:55:37 +0000
Subject: [PATCH] Solve the problem with docker runtime directory

Docker unmounts overlay2 directory when stopping. Post shutdown script
will remount it again.
---
 .ansible-lint                     |  1 +
 cesnet-central/playbooks/k8s.yaml | 27 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/.ansible-lint b/.ansible-lint
index f575d30..d8cb4a4 100644
--- a/.ansible-lint
+++ b/.ansible-lint
@@ -1,3 +1,4 @@
 skip_list:
+  - command-instead-of-module
   - fqcn-builtins
   - yaml[line-length]
diff --git a/cesnet-central/playbooks/k8s.yaml b/cesnet-central/playbooks/k8s.yaml
index 812d46f..72f1dda 100644
--- a/cesnet-central/playbooks/k8s.yaml
+++ b/cesnet-central/playbooks/k8s.yaml
@@ -180,6 +180,33 @@
         kube_type_of_node: wn
         kube_version: 1.28.8
         kubelet_extra_args: '--volume-stats-agg-period 0'
+  tasks:
+    - name: Overlay2 mountpoint workaround to docker.service unit
+      lineinfile:
+        path: /lib/systemd/system/docker.service
+        firstmatch: true
+        insertafter: '\[Service\]'
+        line: 'ExecStopPost=mount /var/lib/docker/overlay2'
+        regexp: '^\s*ExecStopPost\s*='
+    - name: Local docker.service unit
+      copy:
+        src: /lib/systemd/system/docker.service
+        dest: /etc/systemd/system/docker.service
+        mode: 0644
+        remote_src: true
+      notify:
+        - Reload systemd daemon
+        - Restart docker
+  handlers:
+    - name: Reload systemd daemon
+      command:
+        cmd: systemctl daemon-reload
+      ignore_errors: true
+    - name: Restart docker
+      service:
+        name: docker
+        state: restarted
+
 
 - name: K8s customization
   hosts: master
-- 
GitLab