summaryrefslogtreecommitdiffstats
path: root/roles/contiv_facts/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/contiv_facts/tasks')
-rw-r--r--roles/contiv_facts/tasks/fedora-install.yml24
-rw-r--r--roles/contiv_facts/tasks/main.yml88
-rw-r--r--roles/contiv_facts/tasks/rpm.yml24
3 files changed, 136 insertions, 0 deletions
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