summaryrefslogtreecommitdiffstats
path: root/scripts/ansible-playbook-check-diff
blob: 0fe46b72a7980c08da5f5322ba42d5b2d4ade48e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/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()