Add role for chrony
This commit is contained in:
		
							
								
								
									
										7
									
								
								roles/chrony/defaults/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								roles/chrony/defaults/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					chrony_package_name: 'chrony'
 | 
				
			||||||
 | 
					chrony_package_state: 'present'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					chrony_service_name: 'chrony'
 | 
				
			||||||
 | 
					chrony_service_state: 'started'
 | 
				
			||||||
 | 
					chrony_service_enabled: yes
 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/chrony/handlers/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/chrony/handlers/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: reload chrony
 | 
				
			||||||
 | 
					  service:
 | 
				
			||||||
 | 
					    name: "{{ chrony_service_name }}"
 | 
				
			||||||
 | 
					    state: reloaded
 | 
				
			||||||
 | 
					  when: chrony_service_enabled
 | 
				
			||||||
							
								
								
									
										30
									
								
								roles/chrony/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								roles/chrony/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: gather OS specific variables
 | 
				
			||||||
 | 
					  include_vars: "{{ item }} "
 | 
				
			||||||
 | 
					  with_first_found:
 | 
				
			||||||
 | 
					    - "{{ ansible_distribution }}.yaml"
 | 
				
			||||||
 | 
					    - "{{ ansible_os_family }}.yaml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: stop/disable systemd-timesyncd
 | 
				
			||||||
 | 
					  service:
 | 
				
			||||||
 | 
					    name: systemd-timesyncd.service
 | 
				
			||||||
 | 
					    state: stopped
 | 
				
			||||||
 | 
					    enabled: no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: install chrony
 | 
				
			||||||
 | 
					  package:
 | 
				
			||||||
 | 
					    name: "{{ chrony_package_name }}"
 | 
				
			||||||
 | 
					    state: "{{ chrony_package_state }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: configure chrony
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: chrony.conf.j2
 | 
				
			||||||
 | 
					    dest: /etc/chrony/chrony.conf
 | 
				
			||||||
 | 
					  notify:
 | 
				
			||||||
 | 
					    - reload chrony
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: start chrony
 | 
				
			||||||
 | 
					  service:
 | 
				
			||||||
 | 
					    name: "{{ chrony_service_name }}"
 | 
				
			||||||
 | 
					    state: "{{ chrony_service_state }}"
 | 
				
			||||||
 | 
					    enabled: "{{ chrony_service_enabled }}"
 | 
				
			||||||
							
								
								
									
										46
									
								
								roles/chrony/templates/chrony.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								roles/chrony/templates/chrony.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					# {{ ansible_managed }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Welcome to the chrony configuration file. See chrony.conf(5) for more
 | 
				
			||||||
 | 
					# information about usuable directives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This will use (up to):
 | 
				
			||||||
 | 
					# - 4 sources from ntp.ubuntu.com which some are ipv6 enabled
 | 
				
			||||||
 | 
					# - 2 sources from 2.ubuntu.pool.ntp.org which is ipv6 enabled as well
 | 
				
			||||||
 | 
					# - 1 source from [01].ubuntu.pool.ntp.org each (ipv4 only atm)
 | 
				
			||||||
 | 
					# This means by default, up to 6 dual-stack and up to 2 additional IPv4-only
 | 
				
			||||||
 | 
					# sources will be used.
 | 
				
			||||||
 | 
					# At the same time it retains some protection against one of the entries being
 | 
				
			||||||
 | 
					# down (compare to just using one of the lines). See (LP: #1754358) for the
 | 
				
			||||||
 | 
					# discussion.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# About using servers from the NTP Pool Project in general see (LP: #104525).
 | 
				
			||||||
 | 
					# Approved by Ubuntu Technical Board on 2011-02-08.
 | 
				
			||||||
 | 
					# See http://www.pool.ntp.org/join.html for more information.
 | 
				
			||||||
 | 
					{% for p in chrony_pool %}
 | 
				
			||||||
 | 
					pool {{ p }} 
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This directive specify the location of the file containing ID/key pairs for
 | 
				
			||||||
 | 
					# NTP authentication.
 | 
				
			||||||
 | 
					keyfile /etc/chrony/chrony.keys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This directive specify the file into which chronyd will store the rate
 | 
				
			||||||
 | 
					# information.
 | 
				
			||||||
 | 
					driftfile /var/lib/chrony/chrony.drift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Uncomment the following line to turn logging on.
 | 
				
			||||||
 | 
					#log tracking measurements statistics
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Log files location.
 | 
				
			||||||
 | 
					logdir /var/log/chrony
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Stop bad estimates upsetting machine clock.
 | 
				
			||||||
 | 
					maxupdateskew 100.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This directive enables kernel synchronisation (every 11 minutes) of the
 | 
				
			||||||
 | 
					# real-time clock. Note that it can’t be used along with the 'rtcfile' directive.
 | 
				
			||||||
 | 
					rtcsync
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Step the system clock instead of slewing it if the adjustment is larger than
 | 
				
			||||||
 | 
					# one second, but only in the first three clock updates.
 | 
				
			||||||
 | 
					makestep 1 3
 | 
				
			||||||
							
								
								
									
										1
									
								
								roles/chrony/vars/RedHat.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								roles/chrony/vars/RedHat.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/chrony/vars/Ubuntu.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/chrony/vars/Ubuntu.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					chrony_pool:
 | 
				
			||||||
 | 
					  - ntp.ubuntu.com        iburst maxsources 4
 | 
				
			||||||
 | 
					  - 0.ubuntu.pool.ntp.org iburst maxsources 1
 | 
				
			||||||
 | 
					  - 1.ubuntu.pool.ntp.org iburst maxsources 1
 | 
				
			||||||
 | 
					  - 2.ubuntu.pool.ntp.org iburst maxsources 2
 | 
				
			||||||
		Reference in New Issue
	
	Block a user