-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathstandard_ntp_enable.yml
102 lines (87 loc) · 2.53 KB
/
standard_ntp_enable.yml
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
---
- hosts: ios_devices*
gather_facts: no
connection: local
strategy: debug
#check_mode: yes
vars:
dns_servers:
- ip name-server 8.8.8.8
- ip name-server 8.8.4.4
ntp_servers:
- ntp server uk.pool.ntp.org
- ntp server time.apple.com
tasks:
- name: Include Login Credentials
include_vars: secrets.yml
- name: Define Provider
set_fact:
provider:
host: "{{ ansible_host }}"
username: "{{ creds['username'] }}"
password: "{{ creds['password'] }}"
- name: Define Provider (Enable)
when: inventory_hostname in groups.ios_devices_enable
set_fact:
enable:
auth_pass: "{{ creds['auth_pass'] }}"
authorize: yes
- name: Update Provider (Enable)
when: inventory_hostname in groups.ios_devices_enable
set_fact:
provider: "{{ provider | combine(enable) }}"
- name: BACKUP
ios_config:
provider: "{{ provider }}"
backup: yes
- name: "GET CONFIG"
ios_command:
provider: "{{ provider }}"
commands:
- "show running-config | include ip name-server"
- "show running-config | include ntp server"
register: get_config
- debug: var=get_config.stdout_lines
- name: RUN 'Set DNS'
with_items: "{{ dns_servers }}"
ios_config:
provider: "{{ provider }}"
lines:
- "{{ item }}"
register: set_dns
- name: RUN 'Remove DNS'
when: "(get_config.stdout_lines[0][0] != '') and (item not in dns_servers)"
with_items: "{{ get_config.stdout_lines[0] }}"
register: remove_dns
ios_config:
provider: "{{ provider }}"
lines:
- "no {{ item }}"
- name: CHECK CHANGE - dns
when: "(set_dns.changed == true) or (remove_dns.changed == true)"
set_fact: configured=true
- name: RUN 'Set NTP'
with_items: "{{ ntp_servers }}"
ios_config:
provider: "{{ provider }}"
lines:
- "{{ item }}"
register: set_ntp
- name: RUN 'Remove NTP'
when: "(get_config.stdout_lines[1][0] != '') and (item not in ntp_servers)"
with_items: "{{ get_config.stdout_lines[1] }}"
register: remove_ntp
ios_config:
provider: "{{ provider }}"
lines:
- "no {{ item }}"
- name: CHECK CHANGE - ntp
when: "(set_ntp.changed == true) or (remove_ntp.changed == true)"
set_fact: configured=true
- name: RUN 'wr mem'
when: "(configured is defined) and (configured == true)"
register: save_config
ios_command:
provider: "{{ provider }}"
commands:
- "write memory"