diff options
author | Petr Ospalý <p.ospaly@partner.samsung.com> | 2018-12-19 14:52:07 +0100 |
---|---|---|
committer | Petr Ospalý <p.ospaly@partner.samsung.com> | 2018-12-19 14:54:52 +0100 |
commit | e347ccc3357d3a4d0db0566883fa2492a44746ed (patch) | |
tree | 17b79dbb0ea425ef52431ae2829a320fa3b6e711 /ansible/infrastructure.yml | |
parent | b8f3d733e03045b0484acee786e3e095cc1b4d92 (diff) |
Add the infrastructure playbook to setup cluster
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ý <p.ospaly@partner.samsung.com>
Diffstat (limited to 'ansible/infrastructure.yml')
-rw-r--r-- | ansible/infrastructure.yml | 71 |
1 files changed, 71 insertions, 0 deletions
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 |