From 58818a6af147e457d56a1faf77b02d37bb538826 Mon Sep 17 00:00:00 2001
From: Sanjeev Rampal <srampal@cisco.com>
Date: Thu, 23 Feb 2017 12:25:34 -0800
Subject: Combined (squashed) commit for all changes related to adding Contiv
 support into Openshift Ansible. This is the first (beta) release of Contiv
 with Openshift and is only supported for Openshift Origin + Bare metal
 deployments at the time of this commit. Please refer to the Openshift and
 Contiv official documentation for details of the level of support for
 different features and modes of operation.

---
 roles/contiv_facts/tasks/fedora-install.yml | 24 ++++++++
 roles/contiv_facts/tasks/main.yml           | 88 +++++++++++++++++++++++++++++
 roles/contiv_facts/tasks/rpm.yml            | 24 ++++++++
 3 files changed, 136 insertions(+)
 create mode 100644 roles/contiv_facts/tasks/fedora-install.yml
 create mode 100644 roles/contiv_facts/tasks/main.yml
 create mode 100644 roles/contiv_facts/tasks/rpm.yml

(limited to 'roles/contiv_facts/tasks')

diff --git a/roles/contiv_facts/tasks/fedora-install.yml b/roles/contiv_facts/tasks/fedora-install.yml
new file mode 100644
index 000000000..db56a18c0
--- /dev/null
+++ b/roles/contiv_facts/tasks/fedora-install.yml
@@ -0,0 +1,24 @@
+---
+- name: Install dnf
+  yum:
+    name: dnf
+    state: installed
+
+- name: Update repo cache
+  command: dnf update -y
+  retries: 5
+  delay: 10
+  environment:
+    https_proxy: "{{ https_proxy }}"
+    http_proxy: "{{ http_proxy }}"
+    no_proxy: "{{ no_proxy }}"
+
+- name: Install libselinux-python
+  command: dnf install {{ item }} -y
+  with_items:
+    - python-dnf
+    - libselinux-python
+  environment:
+    https_proxy: "{{ https_proxy }}"
+    http_proxy: "{{ http_proxy }}"
+    no_proxy: "{{ no_proxy }}"
diff --git a/roles/contiv_facts/tasks/main.yml b/roles/contiv_facts/tasks/main.yml
new file mode 100644
index 000000000..926e0e0be
--- /dev/null
+++ b/roles/contiv_facts/tasks/main.yml
@@ -0,0 +1,88 @@
+---
+- name: Determine if Atomic
+  stat: path=/run/ostree-booted
+  register: s
+  changed_when: false
+  always_run: yes
+
+- name: Init the is_atomic fact
+  set_fact:
+    is_atomic: false
+
+- name: Set the is_atomic fact
+  set_fact:
+    is_atomic: true
+  when: s.stat.exists
+
+- name: Determine if CoreOS
+  raw: "grep '^NAME=' /etc/os-release | sed s'/NAME=//'"
+  register: distro
+  always_run: yes
+
+- name: Init the is_coreos fact
+  set_fact:
+    is_coreos: false
+
+- name: Set the is_coreos fact
+  set_fact:
+    is_coreos: true
+  when: "'CoreOS' in distro.stdout"
+
+- name: Set docker config file directory
+  set_fact:
+    docker_config_dir: "/etc/sysconfig"
+
+- name: Override docker config file directory for Debian
+  set_fact:
+    docker_config_dir: "/etc/default"
+  when: ansible_distribution == "Debian" or ansible_distribution == "Ubuntu"
+
+- name: Create config file directory
+  file:
+    path: "{{ docker_config_dir }}"
+    state: directory
+
+- name: Set the bin directory path for CoreOS
+  set_fact:
+    bin_dir: "/opt/bin"
+  when: is_coreos
+
+- name: Create the directory used to store binaries
+  file:
+    path: "{{ bin_dir }}"
+    state: directory
+
+- name: Create Ansible temp directory
+  file:
+    path: "{{ ansible_temp_dir }}"
+    state: directory
+
+- name: Determine if has rpm
+  stat: path=/usr/bin/rpm
+  register: s
+  changed_when: false
+  always_run: yes
+
+- name: Init the has_rpm fact
+  set_fact:
+    has_rpm: false
+
+- name: Set the has_rpm fact
+  set_fact:
+    has_rpm: true
+  when: s.stat.exists
+
+- name: Init the has_firewalld fact
+  set_fact:
+    has_firewalld: false
+
+- name: Init the has_iptables fact
+  set_fact:
+    has_iptables: false
+
+# collect information about what packages are installed
+- include: rpm.yml
+  when: has_rpm
+
+- include: fedora-install.yml
+  when: not is_atomic and ansible_distribution == "Fedora"
diff --git a/roles/contiv_facts/tasks/rpm.yml b/roles/contiv_facts/tasks/rpm.yml
new file mode 100644
index 000000000..d2f66dac5
--- /dev/null
+++ b/roles/contiv_facts/tasks/rpm.yml
@@ -0,0 +1,24 @@
+---
+- name: RPM | Determine if firewalld installed
+  command: "rpm -q firewalld"
+  register: s
+  changed_when: false
+  failed_when: false
+  always_run: yes
+
+- name: Set the has_firewalld fact
+  set_fact:
+    has_firewalld: true
+  when: s.rc == 0
+
+- name: Determine if iptables-services installed
+  command: "rpm -q iptables-services"
+  register: s
+  changed_when: false
+  failed_when: false
+  always_run: yes
+
+- name: Set the has_iptables fact
+  set_fact:
+    has_iptables: true
+  when: s.rc == 0
-- 
cgit v1.2.3