From 11ce29363400bfcc909c9b94eda01aeafc6c17dc Mon Sep 17 00:00:00 2001 From: Samuli Silvius Date: Sat, 23 Mar 2019 13:54:34 +0200 Subject: Fix nfs role issues based on molecule testing Based on Molecule testing fix following issues on nfs role. - enable nfs services (previously only started) - create handler for exportfs to deal idempotency - add all kubernetes nodes to exports as it was dependent on ansible inventory order wheather correct hosts was on the list - add inventory_hostname as default host incase ansible_host variable not defined. Issue-ID: OOM-1756 Change-Id: Ib93e9d2a9cf49003d04dd5f890294eda1eb966ff Signed-off-by: Samuli Silvius --- ansible/roles/nfs/handlers/main.yml | 3 +++ ansible/roles/nfs/tasks/main.yml | 15 +++++++++------ ansible/roles/nfs/templates/exports.j2 | 4 ++-- 3 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 ansible/roles/nfs/handlers/main.yml (limited to 'ansible') diff --git a/ansible/roles/nfs/handlers/main.yml b/ansible/roles/nfs/handlers/main.yml new file mode 100644 index 00000000..4b8deaeb --- /dev/null +++ b/ansible/roles/nfs/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: reload nfs + command: exportfs -ra diff --git a/ansible/roles/nfs/tasks/main.yml b/ansible/roles/nfs/tasks/main.yml index aca1771f..e7580b66 100644 --- a/ansible/roles/nfs/tasks/main.yml +++ b/ansible/roles/nfs/tasks/main.yml @@ -9,7 +9,7 @@ package: name: "{{ item }}" state: present - with_items: "{{ nfs_packages[ansible_os_family] }}" + loop: "{{ nfs_packages[ansible_os_family] }}" - name: Setup nfs server block: @@ -17,22 +17,25 @@ systemd: name: "{{ item }}" state: started - with_items: "{{ nfs_services[ansible_os_family] }}" + enabled: true + loop: "{{ nfs_services[ansible_os_family] }}" - name: Add hosts to exports template: src: exports.j2 dest: /etc/exports - - - name: Export nfs - command: exportfs -ar + notify: + - reload nfs when: - "'nfs-server' in group_names" +- name: Force notified handlers to run at this point + meta: flush_handlers + - name: Mount dockerdata-nfs mount: path: "{{ nfs_mount_path }}" - src: "{{ hostvars[groups['nfs-server'].0].ansible_host }}:{{ nfs_mount_path }}" + src: "{{ hostvars[groups['nfs-server'].0].ansible_host | default(hostvars[groups['nfs-server'].0].inventory_hostname) }}:{{ nfs_mount_path }}" fstype: nfs state: mounted when: diff --git a/ansible/roles/nfs/templates/exports.j2 b/ansible/roles/nfs/templates/exports.j2 index 1f6956c2..c605d9b8 100644 --- a/ansible/roles/nfs/templates/exports.j2 +++ b/ansible/roles/nfs/templates/exports.j2 @@ -1,3 +1,3 @@ -{% for host in groups.kubernetes[1:] -%} - {{ nfs_mount_path }} {{ hostvars[host].ansible_host }}(rw,sync,no_root_squash,no_subtree_check) +{% for host in groups.kubernetes -%} + {{ nfs_mount_path }} {{ hostvars[host].ansible_host | default(hostvars[host].inventory_hostname) }}(rw,sync,no_root_squash,no_subtree_check) {% endfor %} -- cgit 1.2.3-korg