Skip to content
Snippets Groups Projects
Commit b7408fa0 authored by Shahaan Ayyub's avatar Shahaan Ayyub
Browse files

Merge pull request #1 from shahaan/mcc-nectar

MCC NecTAR proposed nfs-client and syncExports fixes
parents 0f4892ce cfba0c0d
No related branches found
No related tags found
No related merge requests found
Showing with 54 additions and 24 deletions
...@@ -11,9 +11,6 @@ ...@@ -11,9 +11,6 @@
- nfs-server - nfs-server
sudo: true sudo: true
vars: 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 x509_ca_server: vm-118-138-240-224.erc.monash.edu.au
- -
hosts: openvpn-clients hosts: openvpn-clients
...@@ -23,12 +20,10 @@ ...@@ -23,12 +20,10 @@
- easy-rsa-certificate - easy-rsa-certificate
- OpenVPN-Client - OpenVPN-Client
- nfs-common - nfs-common
- { role: syncExports, group_list:['openvpn-clients'], interface_list: ['eth0','tun0'] }
- nfs-client - nfs-client
sudo: true sudo: true
vars: 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 x509_ca_server: vm-118-138-240-224.erc.monash.edu.au
openvpn_servers: ['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: "vm-118-138-240-224.erc.monash.edu.au"
nfs_server: "10.8.0.1"
...@@ -93,7 +93,7 @@ dh {{ dhparms_file }} ...@@ -93,7 +93,7 @@ dh {{ dhparms_file }}
# Each client will be able to reach the server # Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are # on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info. # ethernet bridging. See the man page for more info.
server 10.8.0.0 255.255.255.0 server {{ server_network }} {{ server_netmask }}
# Maintain a record of client <-> virtual IP address # Maintain a record of client <-> virtual IP address
# associations in this file. If OpenVPN goes down or # associations in this file. If OpenVPN goes down or
......
...@@ -5,3 +5,5 @@ x509_key_file: "/etc/openvpn/private/server.key" ...@@ -5,3 +5,5 @@ x509_key_file: "/etc/openvpn/private/server.key"
x509_cert_file: "/etc/openvpn/certs/server.crt" x509_cert_file: "/etc/openvpn/certs/server.crt"
x509_common_name: "{{ ansible_fqdn }}_OpenVPN_Server" x509_common_name: "{{ ansible_fqdn }}_OpenVPN_Server"
dhparms_file: "/etc/openvpn/private/dh.pem" dhparms_file: "/etc/openvpn/private/dh.pem"
server_network: "10.8.0.0"
server_netmask: "255.255.255.0"
...@@ -27,7 +27,13 @@ ...@@ -27,7 +27,13 @@
- name: "set needcert if cert is missing" - name: "set needcert if cert is missing"
set_fact: needcert=True set_fact: needcert=True
when: cert.stat.exists == false when: cert.stat.exists == false and cert.stat.size == 0
- name: "Delete Zero Sized Ceritificates"
remote_user: "{{ hostvars[x509_ca_server]['ansible_ssh_user'] }}"
delegate_to: "{{ x509_ca_server }}"
shell: rm -rf /etc/easy-rsa/2.0/keys/{{ x509_common_name }}.*
when: cert.stat.size == 0
- name: "set needcert if cert doesn't match key" - name: "set needcert if cert doesn't match key"
set_fact: needcert=True set_fact: needcert=True
......
--- ---
nfs_server: "nfsserver.edu"
nfs_type: "nfs" nfs_type: "nfs"
nfs_options: "vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock" nfs_options: "vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock"
--- ---
-
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.name }} src={{ nfsServer['ansible_facts']['ansible_tun0']['ipv4']['address'] }}:{{ item.src }} fstype={{ item.fstype }} opts={{ item.opts }} state=mounted"
name: "Mounting NFS mounts" name: "Mounting NFS mounts"
with_together: with_items: exportList
- destDir
- srcDir
notify: "restart authentication" notify: "restart authentication"
notify: "restart idmap" notify: "restart idmap"
sudo: true sudo: true
--- ---
srcDir: ['/mnt'] # This is a list of exports, individual entry for each mount.
destDir: ['/mnt/test-nfs'] exportList:
- { name : '/mnt/test-nfs', src : '/mnt',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' }
...@@ -2,9 +2,6 @@ ...@@ -2,9 +2,6 @@
- -
name: "Starting rpcbind" name: "Starting rpcbind"
service: "name=rpcbind state=started" 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" name: "Start the Server"
service: "name=nfs state=started" service: "name=nfs state=started"
{{ srcDir }} {{ nfs_network }}(rw,sync,root_squash)
---
srcDir: '/mnt'
---
-
name: "Templating /etc/exports"
template: src=exports.j2 dest=/etc/exports owner=root group=root mode=644
delegate_to: "{{ nfs_server }}"
run_once: true
-
name : Restart the NFS Server
service: name=nfs state=restarted
delegate_to: "{{ nfs_server }}"
run_once: true
---
- include : addExports.yml
{% for export in exportList %}
{{ export.src }} {% for group_name in group_list %}{% for node in groups[group_name] %}{% for interface_name in interface_list %}{{ hostvars[node]['ansible_'+interface_name]['ipv4']['address'] }}(rw,sync,root_squash) {% endfor %}{% endfor %}{% endfor %}
{% endfor %}
---
-
hosts: openvpn-clients
remote_user: ec2-user
roles:
- { role: syncExports, group_list:['openvpn-clients'], interface_list: ['eth0','tun0'] }
- 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment