From 9e22fd50eb5b978b674bbc702c9d1d308f1caf5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Torbj=C3=B6rn=20L=C3=B6nnemark?= <tobbez@ryara.net>
Date: Sat, 16 Oct 2021 21:50:01 +0200
Subject: [PATCH] Disable autofs instead of uninstalling it

freeipa-client depends on autofs, so uninstalling autofs uninstalls
freeipa-client.
---
 manifests/disable_autofs.pp | 9 +++++++++
 manifests/login.pp          | 1 +
 manifests/node.pp           | 1 +
 manifests/packages.pp       | 7 -------
 4 files changed, 11 insertions(+), 7 deletions(-)
 create mode 100644 manifests/disable_autofs.pp

diff --git a/manifests/disable_autofs.pp b/manifests/disable_autofs.pp
new file mode 100644
index 0000000..cbb6b6b
--- /dev/null
+++ b/manifests/disable_autofs.pp
@@ -0,0 +1,9 @@
+class analysator::disable_autofs {
+  # Disable autofs if installed
+  exec { '/bin/systemctl disable autofs.service':
+    onlyif => '/bin/systemctl is-enabled autofs',
+  }
+  exec { '/bin/systemctl stop autofs.service':
+    onlyif => '/bin/systemctl is-active autofs',
+  }
+}
diff --git a/manifests/login.pp b/manifests/login.pp
index e73e060..16e5190 100644
--- a/manifests/login.pp
+++ b/manifests/login.pp
@@ -1,5 +1,6 @@
 class analysator::login {
   include analysator::packages::build_node
+  include ::analysator::disable_autofs
 
   $eth_iface='eno2'
   network::interface { $eth_iface:
diff --git a/manifests/node.pp b/manifests/node.pp
index 971eedc..4a94df1 100644
--- a/manifests/node.pp
+++ b/manifests/node.pp
@@ -27,6 +27,7 @@ class analysator::node (
   include ::analysator::common
   require ::analysator::slurm
   include ::analysator::munge
+  include ::analysator::disable_autofs
 
   if(!$login) {
     service { 'slurmd':
diff --git a/manifests/packages.pp b/manifests/packages.pp
index 9833a20..105210f 100644
--- a/manifests/packages.pp
+++ b/manifests/packages.pp
@@ -27,13 +27,6 @@ class analysator::packages::compute_node
     ]:
       ensure => installed,
   }
-
-  package {
-    [
-      'autofs',  # auto.home will override the ceph /home mount
-    ]:
-      ensure => purged,
-  }
 }
 
 # Packages needed for building, but not needed when running
-- 
GitLab