diff --git a/roles/easy-rsa-certificate/tasks/buildCert.yml b/roles/easy-rsa-certificate/tasks/buildCert.yml index 9d131671bb5109e58ef9bd9e5b8c85e21115edee..79c15c00d73e3b0015db7d69f1e0303576fa7960 100644 --- a/roles/easy-rsa-certificate/tasks/buildCert.yml +++ b/roles/easy-rsa-certificate/tasks/buildCert.yml @@ -33,7 +33,7 @@ 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 + when: cert is defined and cert.stat.size == 0 - name: "set needcert if cert doesn't match key" set_fact: needcert=True diff --git a/roles/etcHosts/defaults/main.yml b/roles/etcHosts/defaults/main.yml index c85dccd9b9bf2e97a679142e46fd5cf218b9f9be..fe7780414f5cacb07b4161f6c103e5f326f8e2ab 100644 --- a/roles/etcHosts/defaults/main.yml +++ b/roles/etcHosts/defaults/main.yml @@ -1,4 +1,4 @@ --- -domain: testdomain.massive.org.au +domain: testdomain.dummy.invalid get_groups: true edit_hosts: true diff --git a/roles/nfs-client/tasks/mountFileSystem.yml b/roles/nfs-client/tasks/mountFileSystem.yml index 2b54ceb2596712089f8668c9f78eda1e4047d461..2f774a94a3cf3047e348099e719c55a180fd0cab 100644 --- a/roles/nfs-client/tasks/mountFileSystem.yml +++ b/roles/nfs-client/tasks/mountFileSystem.yml @@ -1,13 +1,21 @@ --- -- - name: "Get the NFS Network" +- name: "Get the NFS Network" setup: register: nfsServer run_once: true delegate_to: "{{ nfs_server }}" -- + when: nfsServer is defined + +- name: "Set nfsServer facts when it is not defined" + set_fact: + - {{ nfsServer }} + - ansible_{{ nfsServerInterface }}: + - ipv4: + - address: {{ nfsServerIpAddress }} + when: nfsServer is defined + +- name: "Mounting NFS mounts" mount: "name={{ item.name }} src={{ nfsServer['ansible_facts']['ansible_'+item.interface]['ipv4']['address'] }}:{{ item.src }} fstype={{ item.fstype }} opts={{ item.opts }} state=mounted" - name: "Mounting NFS mounts" with_items: exportList notify: "restart authentication" notify: "restart idmap" diff --git a/roles/nfs-client/vars/main.yml b/roles/nfs-client/vars/main.yml index fdf20841c86e17fa14390cefabdc2c0e432d5605..6d2463864499fabc55babf845364212e3a93988e 100644 --- a/roles/nfs-client/vars/main.yml +++ b/roles/nfs-client/vars/main.yml @@ -1,5 +1,5 @@ --- # This is a list of exports, individual entry for each mount. exportList: - - { name : '/mnt/test-nfs', src : '/mnt',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' , interface : 'tun0' } - - { name : '/mnt/test-volume', src : '/mnt/vdc',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' , interface : 'tun0' } + - { name : '/mnt/test-nfs', src : '/mnt',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' , interface : 'tun0', srvopts: 'rw,sync,root_squash' } + - { name : '/mnt/test-volume', src : '/mnt/vdc',fstype : 'nfs', opts : 'vers=3,noatime,rsize=16384,wsize=16384,hard,intr,tcp,nolock' , interface : 'tun0', srvopts: 'rw,sync,root_squash' } diff --git a/roles/nfs-server/tasks/mkFilesystem.yml b/roles/nfs-server/tasks/mkFilesystem.yml index 27de6fffc680231d95128b20a141945def159a4e..7dfb2c7fbee9bc28e39c83e8422d0befbc8f5c63 100644 --- a/roles/nfs-server/tasks/mkFilesystem.yml +++ b/roles/nfs-server/tasks/mkFilesystem.yml @@ -3,7 +3,10 @@ name: Format File Systems filesystem: fstype={{ item.fstype }} dev={{ item.dev }} opts={{ item.opts }} with_items: mkFileSystems + when: configDiskDevice - name: Mount file systems mount: name=/mnt/{{ item.dev | basename }} src={{ item.dev }} fstype={{ item.fstype }} opts=loop state=mounted with_items: mkFileSystems + when: configDiskDevice + diff --git a/roles/nfs-server/vars/main.yml b/roles/nfs-server/vars/main.yml index 0e523e677208120216ecaebbd5e3fb94cc778523..9561db2c7df216e32f77a1f63f4f2f17d261dc28 100644 --- a/roles/nfs-server/vars/main.yml +++ b/roles/nfs-server/vars/main.yml @@ -1,3 +1,4 @@ --- mkFileSystems: - { fstype : 'ext4', dev : '/dev/vdc', opts: '' } +configDiskDevice: true diff --git a/roles/slurm/templates/slurm-vpn.conf.j2 b/roles/slurm/templates/slurm-vpn.conf.j2 index b5506e57ae4fa3f11ef81acf3913c20a5647a80c..671840e07831bac8de9b440c3c9e90ca65ff3fd3 100644 --- a/roles/slurm/templates/slurm-vpn.conf.j2 +++ b/roles/slurm/templates/slurm-vpn.conf.j2 @@ -105,5 +105,5 @@ NodeName={{ node }} NodeAddr={{ node }}-vpn Procs={{ hostvars[node]['ansible_pro {% endfor %} {% for queue in slurmqueues %} -PartitionName={{ queue.name }} Default=yes Nodes={{ groups[queue.group]|join(',') }} +PartitionName={{ queue.name }} {% if queue.default %}Default=yes{% endif %} Nodes={{ groups[queue.group]|join(',') }} {% endfor %} diff --git a/roles/slurm/templates/slurm.conf.j2 b/roles/slurm/templates/slurm.conf.j2 index 1afeab1961db6731b9a25052e8d7c844e3a16d45..99b985715d5062617b85f7bbfcd448c99c63c89a 100644 --- a/roles/slurm/templates/slurm.conf.j2 +++ b/roles/slurm/templates/slurm.conf.j2 @@ -105,5 +105,5 @@ NodeName={{ node }} Procs={{ hostvars[node]['ansible_processor_cores'] }} State= {% endfor %} {% for queue in slurmqueues %} -PartitionName={{ queue.name }} Nodes={{ groups[queue.group]|join(',') }} +PartitionName={{ queue.name }} {% if queue.default %}Default=yes{% endif %} Nodes={{ groups[queue.group]|join(',') }} {% endfor %} diff --git a/roles/syncExports/handlers/main.yml b/roles/syncExports/handlers/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..c861000952d44fd51172e1fd7d608e3dfc94a23a --- /dev/null +++ b/roles/syncExports/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: Reload exports + command: exportfs -ra + delegate_to: "{{ nfs_server }}" + run_once: true + sudo: true diff --git a/roles/syncExports/tasks/addExports.yml b/roles/syncExports/tasks/addExports.yml index 7cf821387a1be454dcdc72aadedefced3c7e604e..ebcb8fc4a1cbcf1ffb5dea52ee6453549a9b82ff 100644 --- a/roles/syncExports/tasks/addExports.yml +++ b/roles/syncExports/tasks/addExports.yml @@ -5,9 +5,9 @@ delegate_to: "{{ nfs_server }}" run_once: true sudo: true -- - name : Restart the NFS Server - service: name=nfs state=restarted - delegate_to: "{{ nfs_server }}" - run_once: true - sudo: true +#- +# name : Restart the NFS Server +# service: name=nfs state=restarted +# delegate_to: "{{ nfs_server }}" +# run_once: true +# sudo: true diff --git a/roles/syncExports/templates/exports.j2 b/roles/syncExports/templates/exports.j2 index 4125a4b1c9bac3e75db69e59c320be09d2bdc7ee..7e005b7bcd8c48a9e467c6490b12dfabb12d201a 100644 --- a/roles/syncExports/templates/exports.j2 +++ b/roles/syncExports/templates/exports.j2 @@ -1,4 +1,4 @@ {% for export in exportList %} -{{ export.src }} {% for group in groupList %}{% for node in groups[group.name] %}{{ hostvars[node]['ansible_'+group.interface]['ipv4']['address'] }}(rw,sync,root_squash) {% endfor %}{% endfor %} +{{ export.src }} {% for group in groupList %}{% for node in groups[group.name] %}{{ hostvars[node]['ansible_'+group.interface]['ipv4']['address'] }}({{ export.option }}) {% endfor %}{% endfor %} {% endfor %} diff --git a/roles/syncExports/vars/main.yml b/roles/syncExports/vars/main.yml index 785aea8a5df9cc2389a455afb2965f36c229f942..027e4ea77527d7920c4a1d26e95771a0b9c9be2e 100644 --- a/roles/syncExports/vars/main.yml +++ b/roles/syncExports/vars/main.yml @@ -1,3 +1,3 @@ --- groupList: - - { name : 'openvpn-clients', interface : 'tun0' } + - { name : 'openvpn-clients', interface : 'tun0' }