ansible/playbooks/update-proxy-dns.yml
Ricky Elrod 6ad0cd31e0 Make DNS changes affect getfedora.org too
Signed-off-by: Ricky Elrod <codeblock@fedoraproject.org>
2015-03-11 18:41:16 +00:00

53 lines
2 KiB
YAML

# Must be called with --extra-vars. requires:
# - proxies -- which proxies to change
# - status -- what to do. must be either 'enable' or 'disable'
# - userstring -- the git commit userstring for the dns repo
- name: Either take a proxy out of dns or put it back in
hosts: "{{ proxies }}"
user: root
serial: 1
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
vars:
- userstring: "Ansible update-proxy-dns.yml <root@fedoraproject.org>"
tasks:
- name: Make up a tempdir..
local_action: command mktemp -p /var/tmp -d dns-checkout.XXXXXXXX
register: tmp
- name: Clone the dns repo into /var/tmp/dns-checkout.....
local_action: git repo=/git/dns/ dest={{tmp.stdout}}
- name: Run zone-template (fedoraproject.org)
local_action: command {{tmp.stdout}}/zone-template {{tmp.stdout}}/fedoraproject.org.cfg {{status}} {{ansible_default_ipv4.address}} chdir={{tmp.stdout}}
- name: Run zone-template (getfedora.org)
local_action: command {{tmp.stdout}}/zone-template {{tmp.stdout}}/getfedora.org.cfg {{status}} {{ansible_default_ipv4.address}} chdir={{tmp.stdout}}
- name: Commit once
local_action: command git commit -a -m '{{status}} {{inventory_hostname}}' --author '{{userstring}}' chdir={{tmp.stdout}}
- name: Do domains
local_action: command {{tmp.stdout}}/do-domains chdir={{tmp.stdout}}
- name: Commit second time
local_action: command git commit -a -m 'done build' --author '{{userstring}}' chdir={{tmp.stdout}}
- name: Push our changes back
local_action: command git push chdir={{tmp.stdout}}
- name: Destroy our temporary clone of /git/dns/ in /var/tmp/dns-checkout....
local_action: file dest={{tmp.stdout}} state=absent
- name: Run update-dns on each nameserver
command: /usr/local/bin/update-dns
delegate_to: "{{item}}"
with_items: groups.dns
- name: Wait for dns to percolate (5 minutes)
pause: minutes=5