fix: Исправлена команда создания роли
- Создан исправленный скрипт create_role_fixed.sh
- Исправлены проблемы с переменными в шаблонах ролей
- Убраны пустые переменные типа {{ }}
- Исправлены имена переменных с правильным экранированием
- Создана тестовая роль test-role для проверки
Проблемы в старой команде:
- Неправильное экранирование переменных ROLE_NAME
- Пустые переменные в шаблонах
- Неправильные имена переменных в defaults
- Проблемы с заменой плейсхолдеров
Исправления:
- Правильное экранирование переменных
- Корректные переменные в шаблонах
- Правильные имена переменных
- Рабочая замена плейсхолдеров
Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
9
roles/test-role/defaults/main.yml
Normal file
9
roles/test-role/defaults/main.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
# Переменные по умолчанию для роли test-role
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
test-role_package: test-package
|
||||
test-role_service: test-service
|
||||
test-role_enabled: true
|
||||
test-role_started: true
|
||||
7
roles/test-role/handlers/main.yml
Normal file
7
roles/test-role/handlers/main.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
# Обработчики роли test-role
|
||||
|
||||
- name: Перезапустить test-service
|
||||
systemd:
|
||||
name: "{{ test-role_service }}"
|
||||
state: restarted
|
||||
17
roles/test-role/meta/main.yml
Normal file
17
roles/test-role/meta/main.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: Сергей Антропов
|
||||
description: Тестовая роль
|
||||
company: https://devops.org.ru
|
||||
license: MIT
|
||||
min_ansible_version: 2.9
|
||||
platforms:
|
||||
- name: Ubuntu
|
||||
versions: [18.04, 20.04, 22.04]
|
||||
- name: Debian
|
||||
versions: [10, 11, 12]
|
||||
- name: EL
|
||||
versions: [7, 8, 9]
|
||||
galaxy_tags: [test,role]
|
||||
|
||||
dependencies: []
|
||||
18
roles/test-role/tasks/debian.yml
Normal file
18
roles/test-role/tasks/debian.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
# Задачи для Debian/Ubuntu
|
||||
|
||||
- name: Обновить кэш пакетов
|
||||
apt:
|
||||
update_cache: yes
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: Установить пакет test-package
|
||||
apt:
|
||||
name: "{{ test-role_package }}"
|
||||
state: present
|
||||
|
||||
- name: Запустить и включить сервис test-service
|
||||
systemd:
|
||||
name: "{{ test-role_service }}"
|
||||
enabled: "{{ test-role_enabled }}"
|
||||
state: "{{ 'started' if test-role_started else 'stopped' }}"
|
||||
12
roles/test-role/tasks/main.yml
Normal file
12
roles/test-role/tasks/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
# Основные задачи роли test-role
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
|
||||
- name: Включить задачи для Debian/Ubuntu
|
||||
import_tasks: debian.yml
|
||||
when: ansible_os_family == 'Debian'
|
||||
|
||||
- name: Включить задачи для RHEL/CentOS
|
||||
import_tasks: redhat.yml
|
||||
when: ansible_os_family == 'RedHat'
|
||||
13
roles/test-role/tasks/redhat.yml
Normal file
13
roles/test-role/tasks/redhat.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
# Задачи для RHEL/CentOS
|
||||
|
||||
- name: Установить пакет test-package
|
||||
yum:
|
||||
name: "{{ test-role_package }}"
|
||||
state: present
|
||||
|
||||
- name: Запустить и включить сервис test-service
|
||||
systemd:
|
||||
name: "{{ test-role_service }}"
|
||||
enabled: "{{ test-role_enabled }}"
|
||||
state: "{{ 'started' if test-role_started else 'stopped' }}"
|
||||
Reference in New Issue
Block a user