From 79bfeda971b869869964f5d8191d191a3aaa4d73 Mon Sep 17 00:00:00 2001 From: Samuli Silvius Date: Tue, 12 Feb 2019 21:08:26 +0200 Subject: package-repository role to streamline playbook 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 --- ansible/group_vars/all.yml | 5 ++--- ansible/infrastructure.yml | 22 +--------------------- ansible/roles/package-repository/defaults/main.yml | 2 ++ ansible/roles/package-repository/tasks/main.yml | 19 +++++++++++++++++++ 4 files changed, 24 insertions(+), 24 deletions(-) create mode 100644 ansible/roles/package-repository/defaults/main.yml create mode 100644 ansible/roles/package-repository/tasks/main.yml (limited to 'ansible') diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index cd8c7f58..8e81d7f0 100755 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -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 diff --git a/ansible/infrastructure.yml b/ansible/infrastructure.yml index e4715a9c..89d63e89 100644 --- a/ansible/infrastructure.yml +++ b/ansible/infrastructure.yml @@ -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 index 00000000..ea5796df --- /dev/null +++ b/ansible/roles/package-repository/defaults/main.yml @@ -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 index 00000000..686310e4 --- /dev/null +++ b/ansible/roles/package-repository/tasks/main.yml @@ -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 -- cgit 1.2.3-korg