summaryrefslogtreecommitdiffstats
path: root/xci
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2017-08-31 12:22:23 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-08-31 12:22:23 +0000
commit7bddf7e7d290f835ae62cdc242cb463b8ceb58d5 (patch)
treebb7ac3dfab198c1cd0b965f24e62dabcc85b1b93 /xci
parent16d1f79eb8289978c2cc8aaa75745c257c931fa3 (diff)
parenta376c0d6454e2aa296364daf9bcf9e9e947e1cdd (diff)
Merge changes from topic 'initial-multi-distro-support'
* changes: xci: playbooks: configure-nfs: Prepare for multi-distro support xci: playbooks: configure-network: Prepare for multi-distro support
Diffstat (limited to 'xci')
-rw-r--r--xci/playbooks/configure-opnfvhost.yml3
-rw-r--r--xci/playbooks/configure-targethosts.yml6
-rw-r--r--xci/playbooks/roles/configure-network/tasks/main.yml6
-rw-r--r--xci/playbooks/roles/configure-network/templates/debian/compute00.interface.j2 (renamed from xci/template/compute.interface.j2)2
-rw-r--r--xci/playbooks/roles/configure-network/templates/debian/controller00.interface.j2 (renamed from xci/template/controller.interface.j2)2
-rw-r--r--xci/playbooks/roles/configure-network/templates/debian/opnfv.interface.j2 (renamed from xci/template/opnfv.interface.j2)2
-rw-r--r--xci/playbooks/roles/configure-nfs/tasks/main.yml74
-rw-r--r--xci/playbooks/roles/configure-nfs/vars/debian.yml11
8 files changed, 63 insertions, 43 deletions
diff --git a/xci/playbooks/configure-opnfvhost.yml b/xci/playbooks/configure-opnfvhost.yml
index 53e34418..7bc434d7 100644
--- a/xci/playbooks/configure-opnfvhost.yml
+++ b/xci/playbooks/configure-opnfvhost.yml
@@ -48,8 +48,7 @@
- ../var/flavor-vars.yml
- ../var/opnfv.yml
roles:
- # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, when: ansible_distribution_release == "xenial", src: "../template/opnfv.interface.j2", dest: "/etc/network/interfaces" }
+ - role: configure-network
tasks:
- name: generate SSH keys
shell: ssh-keygen -b 2048 -t rsa -f /root/.ssh/id_rsa -q -N ""
diff --git a/xci/playbooks/configure-targethosts.yml b/xci/playbooks/configure-targethosts.yml
index 50da1f22..88da1312 100644
--- a/xci/playbooks/configure-targethosts.yml
+++ b/xci/playbooks/configure-targethosts.yml
@@ -13,8 +13,7 @@
- ../var/{{ ansible_os_family }}.yml
- ../var/flavor-vars.yml
roles:
- # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" }
+ - role: configure-network
# we need to force sync time with ntp or the nodes will be out of sync timewise
- role: synchronize-time
@@ -24,8 +23,7 @@
- ../var/{{ ansible_os_family }}.yml
- ../var/flavor-vars.yml
roles:
- # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros
- - { role: configure-network, src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" }
+ - role: configure-network
# we need to force sync time with ntp or the nodes will be out of sync timewise
- role: synchronize-time
diff --git a/xci/playbooks/roles/configure-network/tasks/main.yml b/xci/playbooks/roles/configure-network/tasks/main.yml
index aafadf71..df1580e5 100644
--- a/xci/playbooks/roles/configure-network/tasks/main.yml
+++ b/xci/playbooks/roles/configure-network/tasks/main.yml
@@ -27,8 +27,8 @@
shell: "/bin/rm -rf /etc/network/interfaces.d/*"
- name: ensure interfaces file is updated
template:
- src: "{{ src }}"
- dest: "{{ dest }}"
+ src: "{{ ansible_os_family | lower }}/{{ ansible_hostname }}.interface.j2"
+ dest: "/etc/network/interfaces"
- name: restart network service
shell: "/sbin/ifconfig {{ interface }} 0 && /sbin/ifdown -a && /sbin/ifup -a"
- when: ansible_distribution_release == "xenial"
+ when: ansible_os_family | lower == "debian"
diff --git a/xci/template/compute.interface.j2 b/xci/playbooks/roles/configure-network/templates/debian/compute00.interface.j2
index 094544c3..6d6a3835 100644
--- a/xci/template/compute.interface.j2
+++ b/xci/playbooks/roles/configure-network/templates/debian/compute00.interface.j2
@@ -1,3 +1,5 @@
+# {{ ansible_managed }}
+
# The loopback network interface
auto lo
iface lo inet loopback
diff --git a/xci/template/controller.interface.j2 b/xci/playbooks/roles/configure-network/templates/debian/controller00.interface.j2
index 638e78e1..5d42a5d2 100644
--- a/xci/template/controller.interface.j2
+++ b/xci/playbooks/roles/configure-network/templates/debian/controller00.interface.j2
@@ -1,3 +1,5 @@
+# {{ ansible_managed }}
+
# The loopback network interface
auto lo
iface lo inet loopback
diff --git a/xci/template/opnfv.interface.j2 b/xci/playbooks/roles/configure-network/templates/debian/opnfv.interface.j2
index e9f8649c..42826414 100644
--- a/xci/template/opnfv.interface.j2
+++ b/xci/playbooks/roles/configure-network/templates/debian/opnfv.interface.j2
@@ -1,3 +1,5 @@
+# {{ ansible_managed }}
+
# The loopback network interface
auto lo
iface lo inet loopback
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"