fix: Исправлена команда создания роли

- Создан исправленный скрипт create_role_fixed.sh
- Исправлены проблемы с переменными в шаблонах ролей
- Убраны пустые переменные типа {{  }}
- Исправлены имена переменных с правильным экранированием
- Создана тестовая роль test-role для проверки

Проблемы в старой команде:
- Неправильное экранирование переменных ROLE_NAME
- Пустые переменные в шаблонах
- Неправильные имена переменных в defaults
- Проблемы с заменой плейсхолдеров

Исправления:
- Правильное экранирование переменных
- Корректные переменные в шаблонах
- Правильные имена переменных
- Рабочая замена плейсхолдеров

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-10-22 16:35:42 +03:00
parent 4f9b3029cc
commit 2d8d770b3f
8 changed files with 230 additions and 16 deletions

View 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

View File

@@ -0,0 +1,7 @@
---
# Обработчики роли test-role
- name: Перезапустить test-service
systemd:
name: "{{ test-role_service }}"
state: restarted

View 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: []

View 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' }}"

View 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'

View 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' }}"