Добавлена поддержка собственных образов для molecule тестирования

- Созданы пресеты для тестирования с собственными образами:
  - custom-minimal.yml - минимальный тест (4 хоста)
  - custom-images.yml - полный тест (все образы)
  - custom-performance.yml - тест производительности (8 хостов)
- Обновлен molecule.yml для поддержки собственных образов
- Добавлен скрипт test-custom-images.sh для автоматизации тестирования
- Добавлены команды в Makefile:
  - make custom-images test [minimal|full|performance]
  - make custom-images check - проверка наличия образов
  - make custom-images build - сборка всех образов
- Поддержка образов: ansible-controller, alt-linux, astra-linux, redos, rhel, centos, alma, rocky

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
Сергей Антропов
2025-10-25 15:46:05 +03:00
parent d8fa474522
commit 3b2533c8ee
6 changed files with 612 additions and 0 deletions

View File

@@ -864,6 +864,11 @@ help:
@echo " make presets info - подробная информация о preset'е"
@echo " make presets test - запустить тест с preset'ом"
@echo ""
@echo "🖼️ СОБСТВЕННЫЕ ОБРАЗЫ (AnsibleTemplate):"
@echo " make custom-images test [minimal|full|performance] - тест с собственными образами"
@echo " make custom-images check - проверить наличие собственных образов"
@echo " make custom-images build - собрать все образы для тестирования"
@echo ""
@echo "🐳 DOCKER ОБРАЗЫ (Multi-Arch):"
@echo " make docker prepare - подготовка к работе с Docker Hub"
@echo " make docker build - собрать все Docker образы (amd64 + arm64)"
@@ -921,6 +926,58 @@ help:
@echo "📖 Подробная справка: make [команда]"
@echo "=========================================="
# =============================================================================
# КОМАНДЫ ДЛЯ РАБОТЫ С СОБСТВЕННЫМИ ОБРАЗАМИ
# =============================================================================
custom-images:
@case "$(word 2, $(MAKECMDGOALS))" in \
test) \
echo "🧪 Тестирование с собственными образами AnsibleTemplate..."; \
if [ -z "$(word 3, $(MAKECMDGOALS))" ]; then \
echo "💡 Использование: make custom-images test [minimal|full|performance]"; \
echo "💡 По умолчанию: minimal"; \
./scripts/test-custom-images.sh minimal; \
else \
./scripts/test-custom-images.sh $(word 3, $(MAKECMDGOALS)); \
fi;; \
check) \
echo "🔍 Проверка наличия собственных образов..."; \
./scripts/test-custom-images.sh check;; \
build) \
echo "🔨 Сборка всех образов для тестирования..."; \
$(MAKE) docker build;; \
*) \
echo "🎯 Доступные команды:"; \
echo ""; \
echo " 🧪 make custom-images test [minimal|full|performance] - тест с собственными образами"; \
echo " 💡 minimal - минимальный тест (4 хоста)"; \
echo " 💡 full - полный тест (все образы)"; \
echo " 💡 performance - тест производительности (8 хостов)"; \
echo ""; \
echo " 🔍 make custom-images check - проверить наличие собственных образов"; \
echo " 💡 Показывает: какие образы есть, какие отсутствуют"; \
echo " 💡 Предлагает: команды для сборки отсутствующих образов"; \
echo ""; \
echo " 🔨 make custom-images build - собрать все образы для тестирования"; \
echo " 💡 Выполняет: make docker build"; \
echo " 💡 Собирает: все образы AnsibleTemplate"; \
echo ""; \
echo "💡 Пресеты для тестирования:"; \
echo " - custom-minimal.yml - минимальный тест (4 хоста)"; \
echo " - custom-images.yml - полный тест (все образы)"; \
echo " - custom-performance.yml - тест производительности (8 хостов)"; \
echo ""; \
echo "💡 Собственные образы:"; \
echo " - inecs/ansible-lab:ansible-controller-latest"; \
echo " - inecs/ansible-lab:alt-linux-latest"; \
echo " - inecs/ansible-lab:astra-linux-latest"; \
echo " - inecs/ansible-lab:redos-latest"; \
echo " - inecs/ansible-lab:rhel-latest"; \
echo " - inecs/ansible-lab:centos-latest"; \
echo " - inecs/ansible-lab:alma-latest"; \
echo " - inecs/ansible-lab:rocky-latest";; \
esac
# Пустые цели для совместимости
view create edit show delete lint deploy new advanced list info test build push pull clean prepare update run stop purge clean-builder setup-builder diagnose reset-builder build-image:
@true