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

#
# Add this if you want to run them one at a time instead of all forked off in a bunch.
#            ansibleprocess.communicate() 
#