testinfra: проверяем состояние серверов на pytest
Тесты описывают, какими должны быть пакеты, службы и порты после настройки.
Команды и конфиги
# test_web.py
def test_nginx(host):
assert host.package("nginx").is_installed
assert host.service("nginx").is_running
assert host.socket("tcp://0.0.0.0:80").is_listening
pytest --hosts=ssh://root@server test_web.pyНа что обратить внимание
Прогоняйте тесты после каждого изменения конфигурации.