OKD O-Cloud implementation
[pti/rtp.git] / okd / roles / ocloud_platform_okd / tasks / main.yml
1 ---
2 - name: Gather facts
3   ansible.builtin.setup:
4     gather_subset: all
5
6 - name: Create staging dir for OKD installation
7   ansible.builtin.tempfile:
8     state: directory
9   register: ocloud_platform_okd_staging_dir
10
11 - name: Create staging subdirs
12   ansible.builtin.file:
13     path: "{{ ocloud_platform_okd_staging_dir['path'] }}/{{ item }}"
14     state: directory
15   loop:
16     - bin
17     - cfg
18
19 - name: Download OKD binaries
20   ansible.builtin.get_url:
21     url: "{{ ocloud_platform_okd_base_url }}/{{ ocloud_platform_okd_release }}/{{ item }}-{{ ocloud_platform_okd_release }}.tar.gz"
22     dest: "{{ ocloud_platform_okd_staging_dir['path'] }}"
23   loop:
24     - openshift-client-linux
25     - openshift-install-linux
26
27 - name: Extract OKD binaries
28   ansible.builtin.unarchive:
29     src: "{{ ocloud_platform_okd_staging_dir['path'] }}/{{ item }}-{{ ocloud_platform_okd_release }}.tar.gz"
30     dest: "{{ ocloud_platform_okd_staging_dir['path'] }}/bin"
31     remote_src: true
32   loop:
33     - openshift-client-linux
34     - openshift-install-linux
35
36 - name: Template OKD configs
37   ansible.builtin.template:
38     src: "{{ item }}.j2"
39     dest: "{{ ocloud_platform_okd_staging_dir['path'] }}/cfg/{{ item }}"
40   loop:
41     - agent-config.yaml
42     - install-config.yaml
43
44 - name: Generate OKD agent-based installer image
45   ansible.builtin.shell:
46     cmd: "openshift-install agent create image --dir {{ ocloud_platform_okd_staging_dir['path'] }}/cfg"
47   environment:
48     PATH: "{{ ocloud_platform_okd_staging_dir['path'] }}/bin:{{ ansible_env.PATH }}"
49
50 - debug:
51     msg: |
52        OKD agent-based installer image has been created as {{ ocloud_platform_okd_staging_dir['path'] }}/cfg/agent.x86_64.iso
53        kubeconfig and kubeadmin-password can be found under {{ ocloud_platform_okd_staging_dir['path'] }}/cfg/auth/
54
55 - ansible.builtin.set_fact:
56     ocloud_platform_image: "{{ ocloud_platform_okd_staging_dir['path'] }}/cfg/agent.x86_64.iso"