diff options
author | Markos Chandras <mchandras@suse.de> | 2017-08-24 13:50:55 +0100 |
---|---|---|
committer | Markos Chandras <mchandras@suse.de> | 2017-08-25 20:50:15 +0000 |
commit | a376c0d6454e2aa296364daf9bcf9e9e947e1cdd (patch) | |
tree | ccf3b98b016af5a1d1e90b6f5e1fab98934e85e4 | |
parent | e8f6f7180dc5d78520d3ab298f279a8dd1b8795b (diff) |
xci: playbooks: configure-nfs: Prepare for multi-distro support
There is nothing Ubuntu specific in this role apart from the nfs server
service name. As such we remove the block statement and make the service
name configurable in order to prepare for multidistribution support.
Change-Id: I3c8202315fc49b5e5afc2a0d03eaf80d83db5f4c
Signed-off-by: Markos Chandras <mchandras@suse.de>
-rw-r--r-- | xci/playbooks/roles/configure-nfs/tasks/main.yml | 74 | ||||
-rw-r--r-- | xci/playbooks/roles/configure-nfs/vars/debian.yml | 11 |
2 files changed, 51 insertions, 34 deletions
diff --git a/xci/playbooks/roles/configure-nfs/tasks/main.yml b/xci/playbooks/roles/configure-nfs/tasks/main.yml index c52da0bf..51a2d43a 100644 --- a/xci/playbooks/roles/configure-nfs/tasks/main.yml +++ b/xci/playbooks/roles/configure-nfs/tasks/main.yml @@ -7,37 +7,43 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -# TODO: this is for xenial and needs to be adjusted for different distros -- block: - - name: make NFS directories - file: - dest: "{{ item }}" - mode: 0777 - state: directory - with_items: - - "/images" - - "/volumes" - - name: configure NFS service - lineinfile: - dest: /etc/services - state: present - create: yes - line: "{{ item }}" - with_items: - - "nfs 2049/tcp" - - "nfs 2049/udp" - - name: configure NFS exports - lineinfile: - dest: /etc/exports - state: present - create: yes - line: "{{ item }}" - with_items: - - "/images *(rw,sync,no_subtree_check,no_root_squash)" - - "/volumes *(rw,sync,no_subtree_check,no_root_squash)" - # TODO: the service name might be different on other distros and needs to be adjusted - - name: restart ubuntu xenial NFS service - service: - name: nfs-kernel-server - state: restarted - when: ansible_distribution_release == "xenial" + +- name: Gather variables for each operating system + include_vars: "{{ item }}" + with_first_found: + - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml" + - "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml" + - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml" + - "{{ ansible_distribution | lower }}.yml" + - "{{ ansible_os_family | lower }}.yml" +- name: make NFS directories + file: + dest: "{{ item }}" + mode: 0777 + state: directory + with_items: + - "/images" + - "/volumes" +- name: configure NFS service + lineinfile: + dest: /etc/services + state: present + create: yes + line: "nfs 2049/{{ item }}" + regexp: "^[[:space:]]*nfs[[:space:]]*2049/{{ item }}" + with_items: + - "tcp" + - "udp" +- name: configure NFS exports + lineinfile: + dest: /etc/exports + state: present + create: yes + line: "{{ item }}" + with_items: + - "/images *(rw,sync,no_subtree_check,no_root_squash)" + - "/volumes *(rw,sync,no_subtree_check,no_root_squash)" +- name: restart ubuntu xenial NFS service + service: + name: "{{ nfs_server_service }}" + state: restarted diff --git a/xci/playbooks/roles/configure-nfs/vars/debian.yml b/xci/playbooks/roles/configure-nfs/vars/debian.yml new file mode 100644 index 00000000..8d3c6561 --- /dev/null +++ b/xci/playbooks/roles/configure-nfs/vars/debian.yml @@ -0,0 +1,11 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2017 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +nfs_server_service: "nfs-kernel-server" |