package-repository role to streamline playbook 31/78331/5
authorSamuli Silvius <s.silvius@partner.samsung.com>
Tue, 12 Feb 2019 19:08:26 +0000 (21:08 +0200)
committerSamuli Silvius <s.silvius@partner.samsung.com>
Sun, 3 Mar 2019 12:16:31 +0000 (14:16 +0200)
Create own role for repository handling to move functionality
to roles from playbooks. This will make roles easier to test
and make it easier to implement other OS support later.

Issue-ID: OOM-1649

Change-Id: Ie8d25f83c54ec9f5a50fc6376a1ba7e166f07132
Signed-off-by: Samuli Silvius <s.silvius@partner.samsung.com>
ansible/group_vars/all.yml
ansible/infrastructure.yml
ansible/roles/package-repository/defaults/main.yml [new file with mode: 0644]
ansible/roles/package-repository/tasks/main.yml [new file with mode: 0644]

index cd8c7f5..8e81d7f 100755 (executable)
@@ -59,9 +59,8 @@ certificates:
 # Default value is to allow redeploy
 redeploy_k8s_env: yes
 
-# Distribute offline rpm repository
-# Default value is to distribute rpm
-deploy_rpm_repository: yes
+# Distribute offline software package (rpm,apt) repository
+deploy_package_repository: yes
 
 # Offline solution is deploying app specific rpm repository and requires some name
 # also for k8s cluster
index e4715a9..89d63e8 100644 (file)
@@ -1,28 +1,8 @@
 ---
 - name: Perform common environment setup for nodes
-  hosts: infrastructure, kubernetes
-  tasks:
-    - name: Setup resolv.conf
-      lineinfile:
-        line: "nameserver {{ hostvars[groups.infrastructure[0]].cluster_ip }}"
-        path: /etc/resolv.conf
-        state: present
-        insertbefore: BOF
-      become: yes
-    - name: Add application offline rpm repository
-      yum_repository:
-        name: "{{ app_name }}"
-        file: "{{ app_name | lower }}"
-        description: "{{ app_name }} offline repository"
-        baseurl: "{{ 'http://repo.infra-server/rhel' if 'infrastructure' not in group_names else 'file://' + app_data_path + '/pkg/rhel' }}"
-        gpgcheck: no
-        enabled: yes
-      when: deploy_rpm_repository
-      become: yes
-
-- name: Setup firewall
   hosts: infrastructure, kubernetes
   roles:
+    - package-repository
     - role: firewall
       vars:
         state: disable
diff --git a/ansible/roles/package-repository/defaults/main.yml b/ansible/roles/package-repository/defaults/main.yml
new file mode 100644 (file)
index 0000000..ea5796d
--- /dev/null
@@ -0,0 +1,2 @@
+---
+deploy_package_repository: true
diff --git a/ansible/roles/package-repository/tasks/main.yml b/ansible/roles/package-repository/tasks/main.yml
new file mode 100644 (file)
index 0000000..686310e
--- /dev/null
@@ -0,0 +1,19 @@
+---
+- name: Setup resolv.conf for node to find package repository by name from infra
+  lineinfile:
+    line: "nameserver {{ hostvars[groups.infrastructure[0]].cluster_ip }}"
+    path: /etc/resolv.conf
+    state: present
+    insertbefore: BOF
+  become: true
+
+- name: Add application offline package repository
+  yum_repository:
+    name: "{{ app_name }}"
+    file: "{{ app_name | lower }}"
+    description: "{{ app_name | upper }} offline repository"
+    baseurl: "{{ 'http://repo.infra-server/rhel' if 'infrastructure' not in group_names else 'file://' + app_data_path + '/pkg/rhel' }}"
+    gpgcheck: false
+    enabled: true
+  when: deploy_package_repository
+  become: true