Add Ansible playbook for node configuration
[autocluster.git] / ansible / node / roles / nas / tasks / generic / ctdb.yml
diff --git a/ansible/node/roles/nas/tasks/generic/ctdb.yml b/ansible/node/roles/nas/tasks/generic/ctdb.yml
new file mode 100644 (file)
index 0000000..5041db4
--- /dev/null
@@ -0,0 +1,37 @@
+---
+- name: generate CTDB configuration file
+  template:
+    src: ctdb_conf.j2
+    dest: /etc/ctdb/ctdb.conf
+
+- name: generate CTDB public addresses file
+  template:
+    src: ctdb_public_addresses.j2
+    dest: /etc/ctdb/public_addresses
+
+- name: create directory for CTDB recovery lock
+  file:
+    path: "{{ clusterfs.mountpoint }}/.ctdb"
+    state: directory
+
+- import_tasks: ctdb-once.yml
+  run_once: true
+
+- name: ensure CTDB is enabled
+  service:
+    name: ctdb
+    enabled: yes
+
+# This stops things failing if the domain has not been joined or similar
+- name: ensure that CTDB is not managing smbd, winbind and NFS
+  command: ctdb event script disable legacy {{ s }}
+  with_list:
+    - 49.winbind
+    - 50.samba
+    - 60.nfs
+  loop_control:
+    loop_var: s
+
+# Restart just in case ctdbd was running but unhealthy
+- import_tasks: ctdb-stop.yml
+- import_tasks: ctdb-start.yml