Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
- Закомментирована установка common tools для всех ОС (Debian/Ubuntu, RHEL/CentOS, Alt Linux, Astra Linux) - Закомментировано создание пользователя testuser - Закомментирована настройка sudo для testuser - Закомментировано создание директории /tmp/ansible-test Это ускорит выполнение тестов, так как не будет устанавливать дополнительные пакеты и создавать пользователей.
217 lines
6.1 KiB
YAML
217 lines
6.1 KiB
YAML
---
|
||
# Универсальный playbook для тестирования Ansible ролей
|
||
# Автор: Сергей Антропов
|
||
# Сайт: https://devops.org.ru
|
||
#
|
||
# Этот файл отвечает за:
|
||
# 1. Обновление пакетов в контейнерах при запуске тестов
|
||
# 2. Установку common tools для корректной работы тестов
|
||
# 3. Подготовку окружения для тестирования ролей
|
||
# 4. Запуск всех ролей из директории roles/
|
||
|
||
- name: Подготовка окружения для тестирования
|
||
hosts: all
|
||
become: true
|
||
tasks:
|
||
# Создание tmp директории для Ansible
|
||
- name: Create Ansible tmp directory
|
||
file:
|
||
path: /tmp/.ansible-tmp
|
||
state: directory
|
||
mode: '0755'
|
||
owner: root
|
||
group: root
|
||
tags:
|
||
- setup
|
||
- tmp
|
||
# Обновление кеша пакетов для Debian/Ubuntu
|
||
- name: Update package cache (Debian/Ubuntu)
|
||
apt:
|
||
update_cache: true
|
||
cache_valid_time: 3600
|
||
when: ansible_os_family == 'Debian'
|
||
changed_when: false
|
||
tags:
|
||
- setup
|
||
- update
|
||
|
||
# Обновление кеша пакетов для RHEL/CentOS/AlmaLinux/Rocky
|
||
- name: Update package cache (RHEL/CentOS/AlmaLinux/Rocky)
|
||
yum:
|
||
update_cache: true
|
||
when: ansible_os_family == 'RedHat'
|
||
changed_when: false
|
||
tags:
|
||
- setup
|
||
- update
|
||
|
||
# Обновление кеша пакетов для Alt Linux
|
||
- name: Update package cache (Alt Linux)
|
||
command: apt-get update
|
||
when: ansible_os_family == 'Altlinux'
|
||
changed_when: false
|
||
failed_when: false
|
||
tags:
|
||
- setup
|
||
- update
|
||
|
||
# Обновление кеша пакетов для Astra Linux
|
||
- name: Update package cache (Astra Linux)
|
||
command: apt-get update
|
||
when: ansible_os_family == 'Astra Linux'
|
||
changed_when: false
|
||
failed_when: false
|
||
tags:
|
||
- setup
|
||
- update
|
||
|
||
# Установка common tools для всех ОС (ЗАКОММЕНТИРОВАНО)
|
||
# - name: Install common tools (Debian/Ubuntu)
|
||
# apt:
|
||
# name:
|
||
# - curl
|
||
# - jq
|
||
# - ca-certificates
|
||
# - iproute2
|
||
# - iputils-ping
|
||
# - procps
|
||
# - net-tools
|
||
# - vim
|
||
# - wget
|
||
# - unzip
|
||
# - git
|
||
# state: present
|
||
# update_cache: false
|
||
# when: ansible_os_family == 'Debian'
|
||
# tags:
|
||
# - setup
|
||
# - tools
|
||
|
||
# - name: Install common tools (RHEL/CentOS/AlmaLinux/Rocky)
|
||
# yum:
|
||
# name:
|
||
# - curl
|
||
# - jq
|
||
# - ca-certificates
|
||
# - iproute
|
||
# - iputils
|
||
# - procps-ng
|
||
# - net-tools
|
||
# - vim
|
||
# - wget
|
||
# - unzip
|
||
# - git
|
||
# state: present
|
||
# when: ansible_os_family == 'RedHat'
|
||
# tags:
|
||
# - setup
|
||
# - tools
|
||
|
||
# - name: Install common tools (Alt Linux)
|
||
# command: apt-get install -y curl jq ca-certificates iproute2 iputils procps net-tools vim wget unzip git
|
||
# when: ansible_os_family == 'Altlinux'
|
||
# changed_when: false
|
||
# failed_when: false
|
||
# tags:
|
||
# - setup
|
||
# - tools
|
||
|
||
# - name: Install common tools (Astra Linux)
|
||
# command: apt-get install -y curl jq ca-certificates iproute2 iputils procps net-tools vim wget unzip git
|
||
# when: ansible_os_family == 'Astra Linux'
|
||
# changed_when: false
|
||
# failed_when: false
|
||
# tags:
|
||
# - setup
|
||
# - tools
|
||
|
||
# Установка Python для Ansible (если не установлен)
|
||
- name: Install Python (Debian/Ubuntu)
|
||
apt:
|
||
name:
|
||
- python3
|
||
- python3-pip
|
||
- python3-venv
|
||
state: present
|
||
when: ansible_os_family == 'Debian'
|
||
tags:
|
||
- setup
|
||
- python
|
||
|
||
# Установка Python 3.8+ для RHEL/CentOS/Rocky/AlmaLinux
|
||
- name: Install Python 3.8+ (RHEL/CentOS/Rocky/AlmaLinux)
|
||
yum:
|
||
name:
|
||
- python3
|
||
- python3-pip
|
||
state: present
|
||
when: ansible_os_family == 'RedHat'
|
||
tags:
|
||
- setup
|
||
- python
|
||
|
||
- name: Install Python (RHEL/CentOS/AlmaLinux/Rocky)
|
||
yum:
|
||
name:
|
||
- python3
|
||
- python3-pip
|
||
state: present
|
||
when: ansible_os_family == 'RedHat'
|
||
tags:
|
||
- setup
|
||
- python
|
||
|
||
- name: Install Python (Alt Linux)
|
||
command: apt-get install -y python3 python3-pip
|
||
when: ansible_os_family == 'Altlinux'
|
||
changed_when: false
|
||
failed_when: false
|
||
tags:
|
||
- setup
|
||
- python
|
||
|
||
- name: Install Python (Astra Linux)
|
||
command: apt-get install -y python3 python3-pip
|
||
when: ansible_os_family == 'Astra Linux'
|
||
changed_when: false
|
||
failed_when: false
|
||
tags:
|
||
- setup
|
||
- python
|
||
|
||
# Создание пользователя для тестирования (ЗАКОММЕНТИРОВАНО)
|
||
# - name: Create test user
|
||
# user:
|
||
# name: testuser
|
||
# shell: /bin/bash
|
||
# create_home: yes
|
||
# state: present
|
||
# tags:
|
||
# - setup
|
||
# - user
|
||
|
||
# Настройка sudo для тестового пользователя (ЗАКОММЕНТИРОВАНО)
|
||
# - name: Configure sudo for test user
|
||
# lineinfile:
|
||
# path: /etc/sudoers
|
||
# line: "testuser ALL=(ALL) NOPASSWD:ALL"
|
||
# state: present
|
||
# validate: 'visudo -cf %s'
|
||
# tags:
|
||
# - setup
|
||
# - sudo
|
||
|
||
# Создание директории для тестов (ЗАКОММЕНТИРОВАНО)
|
||
# - name: Create test directory
|
||
# file:
|
||
# path: /tmp/ansible-test
|
||
# state: directory
|
||
# mode: '0755'
|
||
# owner: testuser
|
||
# group: testuser
|
||
# tags:
|
||
# - setup
|
||
# - directory
|
||
|
||
- import_playbook: ../../roles/deploy.yml
|