--- - name: Get cluster version kubernetes.core.k8s_info: api_version: config.openshift.io/v1 kind: ClusterVersion name: version kubeconfig: /auth/kubeconfig register: cluster_version - name: Set OCP version fact ansible.builtin.set_fact: ocp_version: "{{ cluster_version.resources[0].status.desired.version }}" - name: Create temporary directory for s390x artifacts ansible.builtin.tempfile: state: directory suffix: s390x register: temp_dir - name: Debug temp directory ansible.builtin.debug: msg: "Using temporary directory: {{ temp_dir.path }}" - name: ensure container config dir file: path: /root/.config/containers state: directory mode: '0700' - name: create container auth file copy: dest: /root/.config/containers/auth.json content: | { "auths": { "quay.io": { "auth": "{{ (((ocp_pull_secret | string | from_json).auths['quay.io'].auth | b64decode))| b64encode }}" } } } mode: '0600' - name: Extract s390x release tools ansible.builtin.command: cmd: >- oc adm release extract --command=openshift-install quay.io/openshift-release-dev/ocp-release:{{ ocp_version }}-s390x --to={{ temp_dir.path }} chdir: "{{ temp_dir.path }}" register: extract_result changed_when: extract_result.rc == 0 - name: List directory contents ansible.builtin.command: cmd: "ls -la {{ temp_dir.path }}" register: dir_contents - name: Debug directory contents ansible.builtin.debug: msg: "{{ dir_contents.stdout_lines }}" - name: Install coreos-installer ansible.builtin.package: name: coreos-installer state: present become: true - name: Create directory for artifacts ansible.builtin.file: path: "{{ temp_dir.path }}" state: directory mode: '0755' - name: Get release info ansible.builtin.command: cmd: >- oc adm release info quay.io/openshift-release-dev/ocp-release:{{ ocp_version }}-s390x register: release_info_all changed_when: false - name: Debug release info ansible.builtin.debug: msg: "{{ release_info_all.stdout }}" - name: Get RHCOS image ansible.builtin.command: cmd: >- oc adm release info quay.io/openshift-release-dev/ocp-release:{{ ocp_version }}-s390x --image-for=installer-artifacts register: release_info changed_when: false - name: Extract RHCOS ISO from release ansible.builtin.command: cmd: >- oc image extract {{ release_info.stdout }} --path /artifacts/rhcos-live.s390x.iso:{{ temp_dir.path }} --registry-config /root/.config/containers/auth.json --confirm chdir: "{{ temp_dir.path }}" register: iso_extract_result changed_when: iso_extract_result.rc == 0 - name: List extracted files ansible.builtin.find: paths: "{{ temp_dir.path }}" recurse: yes register: extracted_files - name: Debug extracted files ansible.builtin.debug: msg: "Extracted files: {{ extracted_files.files | map(attribute='path') | list }}" - name: Get cluster infrastructure details kubernetes.core.k8s_info: api_version: config.openshift.io/v1 kind: Infrastructure name: cluster kubeconfig: /auth/kubeconfig register: cluster_infrastructure - name: zzzzzzzzzzzzzzz ansible.builtin.shell: cmd: "sleep 3600" - name: Generate worker ignition config ansible.builtin.shell: cmd: "./openshift-install create worker-ignition" chdir: "{{ temp_dir.path }}" environment: OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE: "quay.io/openshift-release-dev/ocp-release:{{ ocp_version }}-s390x" - name: Create ISO for s390x nodes ansible.builtin.command: cmd: >- coreos-installer iso customize --dest-ignition {{ temp_dir.path }}/worker.ign --output {{ temp_dir.path }}/s390x-worker.iso {{ temp_dir.path }}/rhcos-live.s390x.iso register: customize_result changed_when: customize_result.rc == 0 failed_when: customize_result.rc != 0 - name: Copy ISO to jumphost ansible.builtin.copy: src: "{{ temp_dir.path }}/s390x-worker.iso" dest: "{{ ansible_env.HOME }}/s390x-worker.iso" remote_src: true mode: '0644'