summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2017-08-24 13:50:55 +0100
committerMarkos Chandras <mchandras@suse.de>2017-08-25 20:50:15 +0000
commita376c0d6454e2aa296364daf9bcf9e9e947e1cdd (patch)
treeccf3b98b016af5a1d1e90b6f5e1fab98934e85e4
parente8f6f7180dc5d78520d3ab298f279a8dd1b8795b (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.yml74
-rw-r--r--xci/playbooks/roles/configure-nfs/vars/debian.yml11
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"