From e347ccc3357d3a4d0db0566883fa2492a44746ed Mon Sep 17 00:00:00 2001 From: Petr OspalĂ˝ Date: Wed, 19 Dec 2018 14:52:07 +0100 Subject: Add the infrastructure playbook to setup cluster MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It will make arrangements to make offline installation possible - especially: dns handling nexus repository package installation Issue-ID: OOM-1551 Change-Id: I3c60efd413f558454d63d4e79948bcc421f7bcd1 Signed-off-by: Petr OspalĂ˝ --- ansible/infrastructure.yml | 71 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 ansible/infrastructure.yml (limited to 'ansible/infrastructure.yml') diff --git a/ansible/infrastructure.yml b/ansible/infrastructure.yml new file mode 100644 index 00000000..789f8716 --- /dev/null +++ b/ansible/infrastructure.yml @@ -0,0 +1,71 @@ +--- +- name: Perform common environment setup for nodes + hosts: infrastructure, kubernetes + tasks: + - name: Setup resolv.conf + lineinfile: + line: "nameserver {{ hostvars[groups.infrastructure[0]].ansible_host }}" + 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' 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: + - role: firewall + vars: + state: disable + +- name: Setup infrastructure servers + hosts: infrastructure + roles: + - certificates + - docker + - dns + - vncserver + - role: nexus + vars: + phase: install + - nginx + tasks: + - name: "wait for nexus to come up" + uri: + url: "{{ nexus_url }}/service/metrics/healthcheck" + user: admin + password: admin123 + force_basic_auth: yes + method: GET + register: nexus_wait + until: not nexus_wait.failed + retries: 30 + delay: 10 + +- name: Nexus changes in runtime + hosts: infrastructure + roles: + - role: nexus + vars: + phase: configure + when: populate_nexus | bool + - role: nexus + vars: + phase: runtime-populate + when: runtime_images is defined + +- name: Setup base for Kubernetes nodes + hosts: kubernetes + roles: + - docker + tasks: + - import_tasks: roles/certificates/tasks/upload_root_ca.yml -- cgit 1.2.3-korg