2021-12-14 10:26:42 +00:00
---
- assert :
that :
- zipfile_dest is defined
2022-01-12 15:13:53 +00:00
- (rhn_username is defined and rhn_password is defined and rhn_id_file is defined) or rhsso_zip_file_local_path is defined or rhsso_source_download_url is defined
2021-12-14 10:26:42 +00:00
quiet : true
- set_fact :
2021-12-15 12:55:41 +00:00
rhn_download_url : "{{ keycloak_rhsso_base_url }}{{ rhn_id_file }}"
2021-12-14 10:26:42 +00:00
- name : "Check zipfile dest directory {{ zipfile_dest }}"
stat :
path : "{{ zipfile_dest }}"
register : archive_path
2022-01-12 15:13:53 +00:00
- name : "Download zipfile from RHN: {{ rhn_download_url }}"
2021-12-14 10:26:42 +00:00
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
2022-01-12 15:13:53 +00:00
- 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
2022-01-11 07:34:06 +00:00
- name : "Copy zipfile from local source: {{ rhsso_zip_file_local_path }}"
ansible.builtin.copy :
src : "{{ rhsso_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
- rhsso_zip_file_local_path is defined
2021-12-14 10:26:42 +00:00
- name : "Check zipfile dest directory {{ zipfile_dest }}"
stat :
path : "{{ zipfile_dest }}"
2022-01-11 07:34:06 +00:00
register : path_to_downloaded_artifact
2021-12-14 10:26:42 +00:00
- block :
- file :
path : "{{ work_dir }}"
state : directory
2021-12-14 10:34:41 +00:00
owner : "{{ keycloak_service_user }}"
group : "{{ keycloak_service_group }}"
mode : 0750
2021-12-14 10:26:42 +00:00
2021-12-14 10:34:41 +00:00
- name : "Check directory {{ target_dir }}"
stat :
2021-12-14 10:26:42 +00:00
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 :
2022-01-11 07:34:06 +00:00
- path_to_downloaded_artifact is defined
- path_to_downloaded_artifact.stat is defined
- path_to_downloaded_artifact.stat.exists
2021-12-14 10:26:42 +00:00
- target_dir is defined
- work_dir is defined