Real inital commit
This commit is contained in:
		
							
								
								
									
										6
									
								
								handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: networkd | Reload configuration
 | 
				
			||||||
 | 
					  systemd:
 | 
				
			||||||
 | 
					    name: systemd-networkd
 | 
				
			||||||
 | 
					    state: restarted
 | 
				
			||||||
							
								
								
									
										34
									
								
								tasks/deploy_configs.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								tasks/deploy_configs.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: networkd | Deploy .link configs
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: networkd.j2
 | 
				
			||||||
 | 
					    dest: "/etc/systemd/network/{{ item.priority }}-{{ item.name }}.link"
 | 
				
			||||||
 | 
					    mode: 644
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: root
 | 
				
			||||||
 | 
					  with_items: "{{ networkd.link | default([]) }}"
 | 
				
			||||||
 | 
					  register: networkd_deployed_link
 | 
				
			||||||
 | 
					  notify: networkd | Reload configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: networkd | Deploy .netdev configs
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: networkd.j2
 | 
				
			||||||
 | 
					    dest: "/etc/systemd/network/{{ item.priority }}-{{ item.name }}.netdev"
 | 
				
			||||||
 | 
					    mode: 644
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: root
 | 
				
			||||||
 | 
					  with_items: "{{ networkd.netdev | default([]) }}"
 | 
				
			||||||
 | 
					  register: networkd_deployed_netdev
 | 
				
			||||||
 | 
					  notify: networkd | Reload configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: networkd | Deploy .network configs
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: networkd.j2
 | 
				
			||||||
 | 
					    dest: "/etc/systemd/network/{{ item.priority }}-{{ item.name }}.network"
 | 
				
			||||||
 | 
					    mode: 644
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: root
 | 
				
			||||||
 | 
					  with_items: "{{ networkd.network | default([]) }}"
 | 
				
			||||||
 | 
					  register: networkd_deployed_network
 | 
				
			||||||
 | 
					  notify: networkd | Reload configuration
 | 
				
			||||||
							
								
								
									
										22
									
								
								tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- import_tasks: deploy_configs.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- import_tasks: remove_unmanaged.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: networkd | Deploy resolv.conf
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: resolv.conf.j2
 | 
				
			||||||
 | 
					    dest: /etc/resolv.conf
 | 
				
			||||||
 | 
					    mode: 644
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: networkd | Enable and start service
 | 
				
			||||||
 | 
					  systemd:
 | 
				
			||||||
 | 
					    name: systemd-networkd
 | 
				
			||||||
 | 
					    state: started
 | 
				
			||||||
 | 
					    enabled: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: networkd | Run handlers now
 | 
				
			||||||
 | 
					  meta: flush_handlers
 | 
				
			||||||
							
								
								
									
										20
									
								
								tasks/remove_unmanaged.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								tasks/remove_unmanaged.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: networkd | Collect file list in network dir
 | 
				
			||||||
 | 
					  find:
 | 
				
			||||||
 | 
					    path: /etc/systemd/network
 | 
				
			||||||
 | 
					    hidden: yes
 | 
				
			||||||
 | 
					  register: networkd_found_files
 | 
				
			||||||
 | 
					  check_mode: no
 | 
				
			||||||
 | 
					  changed_when: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: networkd | Remove unmanaged files
 | 
				
			||||||
 | 
					  file:
 | 
				
			||||||
 | 
					    path: "/etc/systemd/network/{{ item.path | basename }}"
 | 
				
			||||||
 | 
					    state: absent
 | 
				
			||||||
 | 
					  with_items:
 | 
				
			||||||
 | 
					   - "{{ networkd_found_files.files }}"
 | 
				
			||||||
 | 
					  when:
 | 
				
			||||||
 | 
					    - (item.path) not in ( networkd_deployed_link | json_query('results[].invocation.module_args.dest') | default([]) )
 | 
				
			||||||
 | 
					    - (item.path) not in ( networkd_deployed_netdev | json_query('results[].invocation.module_args.dest') | default([]) )
 | 
				
			||||||
 | 
					    - (item.path) not in ( networkd_deployed_network | json_query('results[].invocation.module_args.dest') | default([]) )
 | 
				
			||||||
 | 
					  notify: networkd | Reload configuration
 | 
				
			||||||
							
								
								
									
										12
									
								
								templates/networkd.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								templates/networkd.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					# {{ ansible_managed }}
 | 
				
			||||||
 | 
					{% for section in item.content %}
 | 
				
			||||||
 | 
					{% for section_name, section_params in section.items() %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[{{ section_name }}]
 | 
				
			||||||
 | 
					{% for item in section_params %}
 | 
				
			||||||
 | 
					{% for key, value in item.items() %}
 | 
				
			||||||
 | 
					{{ key }}={{ value }}
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
							
								
								
									
										4
									
								
								templates/resolv.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								templates/resolv.conf.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					# {{ ansible_managed }}
 | 
				
			||||||
 | 
					{% for item in networkd_resolver %}
 | 
				
			||||||
 | 
					{{ item }}
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user