#!/usr/bin/python -tt
import os
import os.path
import subprocess

rootpath = "/srv/web/infra/ansible/playbooks"

#
# Find all the .yml files under playbooks/groups and hosts and run ansible-playbook on them
# With --check and --diff for now. We don't run the 'manual' subdir ones. 

for dir in ("hosts", "groups"):
    hostsplaybookspath = os.path.join(rootpath, dir)
    for path, dirs, files in os.walk(hostsplaybookspath):
        for file in files:
            if not file.endswith(".yml"):
                continue  
            playbookpath = os.path.join(path, file)
            cmd = ("ansible-playbook", playbookpath, "--check", "--diff")
            ansibleprocess = subprocess.Popen(cmd)
            ansibleprocess.communicate()