From 6bc4203f98fb847ae136ffd7f6a5e8e2bbd73b11 Mon Sep 17 00:00:00 2001
From: shahaan <shahaan@gmail.com>
Date: Wed, 19 Nov 2014 18:23:29 +1100
Subject: [PATCH] Adding nfs roles

---
 roles/nfs-client/tasks/main.yml            |  2 ++
 roles/nfs-client/tasks/mountFileSystem.yml |  8 ++++++++
 roles/nfs-client/vars/main.yml             |  3 +++
 roles/nfs-common/handlers/main.yml         |  4 ++++
 roles/nfs-common/tasks/main.yml            |  2 ++
 roles/nfs-common/tasks/yumPackages.yml     |  7 +++++++
 roles/nfs-server/tasks/main.yml            |  2 ++
 roles/nfs-server/tasks/startServer.yml     | 10 ++++++++++
 roles/nfs-server/templates/exports.j2      |  1 +
 roles/nfs-server/templates/iptables.j2     | 13 +++++++++++++
 10 files changed, 52 insertions(+)
 create mode 100644 roles/nfs-client/tasks/main.yml
 create mode 100644 roles/nfs-client/tasks/mountFileSystem.yml
 create mode 100644 roles/nfs-client/vars/main.yml
 create mode 100644 roles/nfs-common/handlers/main.yml
 create mode 100644 roles/nfs-common/tasks/main.yml
 create mode 100644 roles/nfs-common/tasks/yumPackages.yml
 create mode 100644 roles/nfs-server/tasks/main.yml
 create mode 100644 roles/nfs-server/tasks/startServer.yml
 create mode 100644 roles/nfs-server/templates/exports.j2
 create mode 100644 roles/nfs-server/templates/iptables.j2

diff --git a/roles/nfs-client/tasks/main.yml b/roles/nfs-client/tasks/main.yml
new file mode 100644
index 00000000..e1512485
--- /dev/null
+++ b/roles/nfs-client/tasks/main.yml
@@ -0,0 +1,2 @@
+---
+- include: mountFileSystem.yml
diff --git a/roles/nfs-client/tasks/mountFileSystem.yml b/roles/nfs-client/tasks/mountFileSystem.yml
new file mode 100644
index 00000000..1b9d5d2b
--- /dev/null
+++ b/roles/nfs-client/tasks/mountFileSystem.yml
@@ -0,0 +1,8 @@
+--- 
+- 
+  mount: "name={{ item.0 }} src={{ nfs_server }}:{{ item.1 }} fstype=nfs opts=vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock state=mounted"
+  name: "Mounting NFS mounts"
+  with_together: 
+    - destDir
+    - srcDir
+
diff --git a/roles/nfs-client/vars/main.yml b/roles/nfs-client/vars/main.yml
new file mode 100644
index 00000000..2a7137f2
--- /dev/null
+++ b/roles/nfs-client/vars/main.yml
@@ -0,0 +1,3 @@
+---
+srcDir: ['/mnt']
+destDir: ['/mnt/test-nfs']
diff --git a/roles/nfs-common/handlers/main.yml b/roles/nfs-common/handlers/main.yml
new file mode 100644
index 00000000..7b77dc76
--- /dev/null
+++ b/roles/nfs-common/handlers/main.yml
@@ -0,0 +1,4 @@
+--- 
+- 
+  name: "Run rpcbind service"
+  service: "name=rpcbind state=started"
diff --git a/roles/nfs-common/tasks/main.yml b/roles/nfs-common/tasks/main.yml
new file mode 100644
index 00000000..c7e34d16
--- /dev/null
+++ b/roles/nfs-common/tasks/main.yml
@@ -0,0 +1,2 @@
+---
+- include: yumPackages.yml
diff --git a/roles/nfs-common/tasks/yumPackages.yml b/roles/nfs-common/tasks/yumPackages.yml
new file mode 100644
index 00000000..b0bc93f6
--- /dev/null
+++ b/roles/nfs-common/tasks/yumPackages.yml
@@ -0,0 +1,7 @@
+--- 
+- 
+  name: "Install nfs-utils"
+  with_items: 
+    - bind-utils
+    - nfs-utils
+  yum: "name={{ item }} state=latest"
diff --git a/roles/nfs-server/tasks/main.yml b/roles/nfs-server/tasks/main.yml
new file mode 100644
index 00000000..e6a2c4aa
--- /dev/null
+++ b/roles/nfs-server/tasks/main.yml
@@ -0,0 +1,2 @@
+---
+- include: startServer.yml
diff --git a/roles/nfs-server/tasks/startServer.yml b/roles/nfs-server/tasks/startServer.yml
new file mode 100644
index 00000000..4821a0a9
--- /dev/null
+++ b/roles/nfs-server/tasks/startServer.yml
@@ -0,0 +1,10 @@
+--- 
+- 
+  name: "Starting rpcbind"
+  service: "name=rpcbind state=started"
+- 
+  name: "Copying /etc/exports template"
+  template: "src=exports.j2 dest=/etc/exports mode=0644 owner=root"
+- 
+  name: "Start the Server"
+  service: "name=nfs state=started"
diff --git a/roles/nfs-server/templates/exports.j2 b/roles/nfs-server/templates/exports.j2
new file mode 100644
index 00000000..2d30f92a
--- /dev/null
+++ b/roles/nfs-server/templates/exports.j2
@@ -0,0 +1 @@
+/mnt	{{ nfs_network }}(rw,sync,root_squash)
diff --git a/roles/nfs-server/templates/iptables.j2 b/roles/nfs-server/templates/iptables.j2
new file mode 100644
index 00000000..0ba375f5
--- /dev/null
+++ b/roles/nfs-server/templates/iptables.j2
@@ -0,0 +1,13 @@
+*filter
+:INPUT ACCEPT [0:0]
+:FORWARD ACCEPT [0:0]
+:OUTPUT ACCEPT [3876421698:11303590692860]
+:OpenVPN-INPUT - [0:0]
+-A INPUT -i tun0 -j OpenVPN-INPUT
+-A FORWARD -j OpenVPN-INPUT
+
+# Start adding the Rules
+#-A OpenVPN-INPUT -p tcp -m tcp -i tun0 -s {{ nfs_network }} -j ACCEPT
+
+-P INPUT -i tun0 -j ACCEPT
+COMMIT
-- 
GitLab