-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
| - name: set vars_for_distribution_version variables |
Проблема: вышла версия RedOS 8.0.2 и плейбук перестал работать, так как переменных для этой версии нет
Возможные решения:
- скопировать
roles/packages/vars/distributions/RED/8.0вroles/packages/vars/distributions/RED/8.0.2, чтобы находились переменные для нашей версии дистрибутива - добавить в переменные
vars_for_distribution_version_dir: "distributions/RED/8.0", чтобы использовались значения для версии 8.0
кажется лучше сделать комплексное решение, которое будет поддерживать "работоспособность плейбуков" как можно дольше, и брать значения из первого найденого файла, согласно приоритетам
возможный фикс
- name: Load distribution version variables — with optional explicit override
ansible.builtin.include_vars:
file: "{{ vars_for_distribution_version_file }}"
name: vars_for_distribution_version
when: vars_for_distribution_version_file is defined and vars_for_distribution_version_file | length > 0
- name: Load distribution version variables — fallback chain (no explicit override)
ansible.builtin.include_vars:
file: "{{ item }}"
name: vars_for_distribution_version
with_first_found:
- files:
- "distributions/{{ ansible_distribution }}/{{ ansible_distribution_version }}/main.yaml"
- "distributions/{{ ansible_distribution }}/{{ ansible_distribution_major_version }}/main.yaml"
- "distributions/{{ ansible_distribution }}/main.yaml"
paths: "{{ role_path }}/vars"
skip: true
when: vars_for_distribution_version_file is not definedтак мы сохраним возможность выбрать файл из уже существующих и добавим 2 уровня поиска ( чтобы не ломаться на минорных версиях, в них редко переименовываются пакеты) и в крайнем случае использовать дефолтные для дистрибутива значения
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels