Files
kubespray/roles/download/tasks/prep_download.yml
T
Max Gautier 7462b8b93b download: hardcode artifacts mode & owner (#13570)
The artifacts acquisition does not need particular owner or mode, it
only needs to be readable by other parts of kubespray actually installing
the artefacts where needed.

Thus, remove all mode / owner specific maniulation in download and
hardcode to 0644/0755 for file/directory.
2026-09-25 13:02:30 +00:00

89 lines
2.5 KiB
YAML

---
- name: Prep_download | Set a few facts
set_fact:
download_force_cache: "{{ true if download_run_once else download_force_cache }}"
tags:
- facts
- name: Prep_download | On localhost, check if passwordless root is possible
command: "true"
delegate_to: localhost
connection: local
run_once: true
register: test_become
changed_when: false
ignore_errors: true # noqa ignore-errors
become: true
when:
- download_localhost
tags:
- localhost
- asserts
- name: Prep_download | On localhost, check if user has access to the container runtime without using sudo
shell: "{{ image_info_command_on_localhost }}" # noqa command-instead-of-shell - image_info_command_on_localhost contains pipe, therefore requires shell
delegate_to: localhost
connection: local
run_once: true
register: test_docker
changed_when: false
ignore_errors: true # noqa ignore-errors
become: false
when:
- download_localhost
tags:
- localhost
- asserts
- name: Prep_download | Parse the outputs of the previous commands
set_fact:
user_in_docker_group: "{{ not test_docker.failed }}"
user_can_become_root: "{{ not test_become.failed }}"
when:
- download_localhost
tags:
- localhost
- asserts
- name: Prep_download | Check that local user is in group or can become root
assert:
that: "user_in_docker_group or user_can_become_root"
msg: >-
Error: User is not in docker group and cannot become root. When download_localhost is true, at least one of these two conditions must be met.
when:
- download_localhost
tags:
- localhost
- asserts
- name: Prep_download | Register docker images info
shell: "{{ image_info_command }}" # noqa command-instead-of-shell - image_info_command contains pipe therefore requires shell
no_log: "{{ not (unsafe_show_logs | bool) }}"
register: docker_images
failed_when: false
changed_when: false
check_mode: false
when: download_container
- name: Prep_download | Create staging directory on remote node
file:
path: "{{ local_release_dir }}/images"
state: directory
mode: "0755"
when:
- ansible_os_family != "Flatcar"
- name: Prep_download | Create local cache for files and images on control node
file:
path: "{{ download_cache_dir }}/images"
state: directory
mode: "0755"
delegate_to: localhost
connection: local
delegate_facts: false
run_once: true
become: false
when: download_force_cache or download_run_once
tags:
- localhost