From 7006d56ab818ca8eeb7aaeb286f34423be4e1068 Mon Sep 17 00:00:00 2001
From: Smaine Kahlouch <smaine.kahlouch@arkena.com>
Date: Thu, 31 Dec 2015 14:07:02 +0100
Subject: [PATCH] split role download and preinstall

---
 roles/download/defaults/main.yml              | 15 ++++++++++++
 .../download.yml => download/tasks/main.yml}  |  0
 roles/kubernetes/preinstall/defaults/main.yml | 24 +++++++------------
 roles/kubernetes/preinstall/tasks/main.yml    | 24 ++++++++++++++-----
 4 files changed, 41 insertions(+), 22 deletions(-)
 create mode 100644 roles/download/defaults/main.yml
 rename roles/{kubernetes/preinstall/tasks/download.yml => download/tasks/main.yml} (100%)

diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
new file mode 100644
index 000000000..238da93be
--- /dev/null
+++ b/roles/download/defaults/main.yml
@@ -0,0 +1,15 @@
+---
+etcd_version: v2.2.2
+flannel_version: 0.5.5
+
+kube_version: v1.1.3
+kubectl_checksum: "01b9bea18061a27b1cf30e34fd8ab45cfc096c9a9d57d0ed21072abb40dd3d1d"
+kubelet_checksum: "62191c66f2d670dd52ddf1d88ef81048977abf1ffaa95ee6333299447eb6a482"
+kube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/amd64"
+
+calico_version: v0.13.0
+calico_plugin_version: v0.7.0
+
+flannel_download_url: "https://github.com/coreos/flannel/releases/download"
+calico_download_url: "https://github.com/Metaswitch/calico-docker/releases/download"
+calico_plugin_download_url: "https://github.com/projectcalico/calico-kubernetes/releases/download/{{calico_plugin_version}}/calico_kubernetes"
diff --git a/roles/kubernetes/preinstall/tasks/download.yml b/roles/download/tasks/main.yml
similarity index 100%
rename from roles/kubernetes/preinstall/tasks/download.yml
rename to roles/download/tasks/main.yml
diff --git a/roles/kubernetes/preinstall/defaults/main.yml b/roles/kubernetes/preinstall/defaults/main.yml
index 790a52b04..4b2e6e36f 100644
--- a/roles/kubernetes/preinstall/defaults/main.yml
+++ b/roles/kubernetes/preinstall/defaults/main.yml
@@ -1,23 +1,15 @@
 ---
-etcd_version: v2.2.2
-flannel_version: 0.5.5
-
-kube_version: v1.1.3
-kubectl_checksum: "01b9bea18061a27b1cf30e34fd8ab45cfc096c9a9d57d0ed21072abb40dd3d1d"
-kubelet_checksum: "62191c66f2d670dd52ddf1d88ef81048977abf1ffaa95ee6333299447eb6a482"
-kube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/amd64"
-
-calico_version: v0.13.0
-calico_plugin_version: v0.7.0
-
-flannel_download_url: "https://github.com/coreos/flannel/releases/download"
-calico_download_url: "https://github.com/Metaswitch/calico-docker/releases/download"
-calico_plugin_download_url: "https://github.com/projectcalico/calico-kubernetes/releases/download/{{calico_plugin_version}}/calico_kubernetes"
-
-req_debian_pkg:
+common_required_pkgs:
   - python-httplib2
+  - openssl
+  - curl
+
+debian_required_pkgs:
   - python-apt
   - python-pip
 
+rh_required_pkgs:
+  - libselinux-python
+
 pypy_version: 2.4.0
 python_pypy_url: "https://bitbucket.org/pypy/pypy/downloads/pypy-{{ pypy_version }}.tar.bz2"
diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml
index be017b5b6..efb4d50ea 100644
--- a/roles/kubernetes/preinstall/tasks/main.yml
+++ b/roles/kubernetes/preinstall/tasks/main.yml
@@ -1,13 +1,10 @@
 ---
-- include: download.yml
-  run_once: true
-  delegate_to: "{{ groups['downloader'][0] }}"
-
 - name: "Identify init system"
   shell: >
     if $(pgrep systemd > /dev/null); then
       echo systemd;
-      else echo sysvinit;
+    else
+      echo sysvinit;
     fi
   always_run: True
   register: init_system_output
@@ -15,12 +12,27 @@
 - set_fact:
     init_system: "{{ init_system_output.stdout }}"
 
+- name: Install packages requirements
+  action:
+    module: "{{ ansible_pkg_mgr }}"
+    name: "{{ item }}"
+    state: latest
+  with_items: common_required_pkgs
+
 - name: Install debian packages requirements
   apt:
     name: "{{ item }}"
     state: latest
   when: ansible_os_family == "Debian"
-  with_items: req_debian_pkg
+  with_items: debian_required_pkgs
+
+- name: Install redhat packages requirements
+  action:
+    module: "{{ ansible_pkg_mgr }}"
+    name: "{{ item }}"
+    state: latest
+  when: ansible_os_family == "RedHat"
+  with_items: rh_required_pkgs
 
 - include: python-bootstrap.yml
   when: ansible_os_family not in [ "Debian", "RedHat" ]
-- 
GitLab