--- - assert: that: - zipfile_dest is defined - keycloak_rhsso_enable quiet: true - set_fact: rhn_download_url: "{{ keycloak_rhsso_base_url }}{{ rhsso_rhn_id }}" when: - rhsso_rhn_id is defined - name: "Check zipfile dest directory {{ zipfile_dest }}" stat: path: "{{ zipfile_dest }}" register: archive_path - name: "Download zipfile from RHN: {{ rhn_download_url }}" redhat_csp_download: url: "{{ rhn_download_url }}" dest: "{{ zipfile_dest }}" username: "{{ rhn_username }}" password: "{{ rhn_password }}" no_log: "{{ omit_rhn_output | default(true) }}" when: - archive_path is defined - archive_path.stat is defined - not archive_path.stat.exists - rhn_username is defined - rhn_password is defined - rhsso_rhn_id is defined - name: "Copy zipfile from source like Nexus etc : {{ rhsso_source_download_url }}" get_url: url: "{{ rhsso_source_download_url }}" dest: "{{ zipfile_dest }}" owner: "{{ keycloak_service_user }}" group: "{{ keycloak_service_group }}" mode: 0750 when: - archive_path is defined - archive_path.stat is defined - not archive_path.stat.exists - rhsso_source_download_url is defined - name: "Copy zipfile from local source: {{ zip_file_local_path }}" ansible.builtin.copy: src: "{{ zip_file_local_path }}" dest: "{{ zipfile_dest }}" owner: "{{ keycloak_service_user }}" group: "{{ keycloak_service_group }}" mode: 0750 when: - archive_path is defined - archive_path.stat is defined - not archive_path.stat.exists - zip_file_local_path is defined - name: "Check zipfile dest directory {{ zipfile_dest }}" stat: path: "{{ zipfile_dest }}" register: path_to_downloaded_artifact - block: - file: path: "{{ work_dir }}" state: directory owner: "{{ keycloak_service_user }}" group: "{{ keycloak_service_group }}" mode: 0750 - name: "Check directory {{ target_dir }}" stat: path: "{{ target_dir }}" register: target_dir_state - assert: that: - target_dir_state is defined - target_dir_state.stat is defined fail_msg: "Directory layout for {{ target_dir }} is invalid." quiet: true - name: "Decompress {{ zipfile_dest }} into {{ work_dir }} (results in {{ target_dir }}." unarchive: src: "{{ zipfile_dest }}" dest: "{{ work_dir }}" owner: "{{ keycloak_service_user }}" group: "{{ keycloak_service_user }}" remote_src: yes creates: "{{ target_dir }}" when: - not target_dir_state.stat.exists - debug: msg: "{{ target_dir }} already exists, skipping decompressing {{ zipfile_dest }}" when: - target_dir_state.stat.exists when: - path_to_downloaded_artifact is defined - path_to_downloaded_artifact.stat is defined - path_to_downloaded_artifact.stat.exists - target_dir is defined - work_dir is defined