From 32d2969fc14579624246ad34a39da7304633ad85 Mon Sep 17 00:00:00 2001 From: shahaan <shahaan@gmail.com> Date: Tue, 2 Dec 2014 12:27:31 +1100 Subject: [PATCH] Committing syncExports role and relevant changes --- installNFS.yml | 9 ++------- roles/nfs-client/tasks/mountFileSystem.yml | 8 +++++++- roles/nfs-server/tasks/startServer.yml | 3 --- roles/nfs-server/templates/exports.j2 | 4 +++- roles/syncExports/tasks/addExports.yml | 6 ++++++ roles/syncExports/tasks/main.yml | 2 ++ roles/syncExports/templates/exports.j2 | 4 ++++ syncNFS.yml | 14 ++++++++++++++ 8 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 roles/syncExports/tasks/addExports.yml create mode 100644 roles/syncExports/tasks/main.yml create mode 100644 roles/syncExports/templates/exports.j2 create mode 100644 syncNFS.yml diff --git a/installNFS.yml b/installNFS.yml index 8752a25e..0c6b1c24 100644 --- a/installNFS.yml +++ b/installNFS.yml @@ -11,9 +11,6 @@ - nfs-server sudo: true vars: - ansible_ssh_private_key_file: "/home/sgeadmin/.ssh/shahaan.pem" - ansible_ssh_user: "ec2-user" - nfs_network: "10.8.0.0/16" x509_ca_server: vm-118-138-240-224.erc.monash.edu.au - hosts: openvpn-clients @@ -23,12 +20,10 @@ - easy-rsa-certificate - OpenVPN-Client - nfs-common + - syncExports - nfs-client sudo: true vars: - ansible_ssh_private_key_file: "/home/sgeadmin/.ssh/shahaan.pem" - ansible_ssh_user: "ec2-user" x509_ca_server: vm-118-138-240-224.erc.monash.edu.au openvpn_servers: ['vm-118-138-240-224.erc.monash.edu.au'] - server: vm-118-138-240-224.erc.monash.edu.au - nfs_server: "10.8.0.1" + nfs_server: "vm-118-138-240-224.erc.monash.edu.au" diff --git a/roles/nfs-client/tasks/mountFileSystem.yml b/roles/nfs-client/tasks/mountFileSystem.yml index 7944c079..66da94c1 100644 --- a/roles/nfs-client/tasks/mountFileSystem.yml +++ b/roles/nfs-client/tasks/mountFileSystem.yml @@ -1,6 +1,12 @@ --- +- + name: "Get the NFS Network" + setup: filter="ansible_tun0" + register: nfsServer + run_once: true + delegate_to: "{{ nfs_server }}" - - mount: "name={{ item.0 }} src={{ nfs_server }}:{{ item.1 }} fstype={{ nfs_type }} opts={{ nfs_options }} state=mounted" + mount: "name={{ item.0 }} src={{ nfsServer['ansible_facts']['ansible_tun0']['ipv4']['address'] }}:{{ item.1 }} fstype={{ nfs_type }} opts={{ nfs_options }} state=mounted" name: "Mounting NFS mounts" with_together: - destDir diff --git a/roles/nfs-server/tasks/startServer.yml b/roles/nfs-server/tasks/startServer.yml index 4821a0a9..17211aff 100644 --- a/roles/nfs-server/tasks/startServer.yml +++ b/roles/nfs-server/tasks/startServer.yml @@ -2,9 +2,6 @@ - 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 index bada393e..f86fb630 100644 --- a/roles/nfs-server/templates/exports.j2 +++ b/roles/nfs-server/templates/exports.j2 @@ -1 +1,3 @@ -{{ srcDir }} {{ nfs_network }}(rw,sync,root_squash) +{{ % for server in groups['OpenVPN-Servers'] % }} + {{ srcDir }} server['server_network']/network['server_netmask'](rw,sync,root_squash) +{{ % endfor % }} diff --git a/roles/syncExports/tasks/addExports.yml b/roles/syncExports/tasks/addExports.yml new file mode 100644 index 00000000..fb08d1ac --- /dev/null +++ b/roles/syncExports/tasks/addExports.yml @@ -0,0 +1,6 @@ +--- +- + name: "Templating /etc/exports" + template: src=exports.j2 dest=/etc/exports owner=root group=root mode=644 + delegate_to: "{{ nfs_server }}" + run_once: true diff --git a/roles/syncExports/tasks/main.yml b/roles/syncExports/tasks/main.yml new file mode 100644 index 00000000..087f4377 --- /dev/null +++ b/roles/syncExports/tasks/main.yml @@ -0,0 +1,2 @@ +--- +- include : addExports.yml diff --git a/roles/syncExports/templates/exports.j2 b/roles/syncExports/templates/exports.j2 new file mode 100644 index 00000000..2949f722 --- /dev/null +++ b/roles/syncExports/templates/exports.j2 @@ -0,0 +1,4 @@ +{% for src in srcDir %} +{{ src }} {% for node in groups['openvpn-clients'] %}{% for ip in hostvars[node]['ansible_all_ipv4_addresses'] %}{{ ip }}(rw,sync,root_squash) {% endfor %}{% endfor %} + +{% endfor %} diff --git a/syncNFS.yml b/syncNFS.yml new file mode 100644 index 00000000..f538c66e --- /dev/null +++ b/syncNFS.yml @@ -0,0 +1,14 @@ +--- +- + hosts: openvpn-clients + remote_user: ec2-user + roles: + - syncExports + - nfs-client + sudo: true + vars: + nfs_server: "vm-118-138-240-224.erc.monash.edu.au" + openvpn_servers: + - vm-118-138-240-224.erc.monash.edu.au + x509_ca_server: vm-118-138-240-224.erc.monash.edu.au + -- GitLab