Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Always ensure the correct services are enabled/disabled #3

Merged
merged 4 commits into from Jan 14, 2020
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
16 changes: 10 additions & 6 deletions README.md
Expand Up @@ -5,6 +5,9 @@ configuration.
"systemd-networkd is a system service that manages networks".
For DNS resolution, you can choose between systemd-resolved and resolvconf.

The legacy `networking.service` can optionally be enabled, see
[`systemd_network_enable_legacy_networking`](#role-variable-defaults).

## Requirements

An apt based system that has systemd-networkd preinstalled,
Expand Down Expand Up @@ -276,9 +279,10 @@ systemd_network_networks:

## Role variable defaults

| Name | Default | Description |
| :----------------------------- | :----------------- | :--------------------------------------------- |
| `systemd_network_netdevs` | `{}` | [#detailed-description](#detailed-description) |
| `systemd_network_networks` | `{}` | [#detailed-description](#detailed-description) |
| `systemd_network_copy_files` | `[]` | [#upload-extra-files](#upload-extra-files) |
| `systemd_network_dns_resolver` | `systemd-resolved` | [#dns-resolver](#dns-resolver) |
| Name | Default | Description |
| :----------------------------------------- | :------------------- | :--------------------------------------------- |
| `systemd_network_netdevs` | `{}` | [#detailed-description](#detailed-description) |
| `systemd_network_networks` | `{}` | [#detailed-description](#detailed-description) |
| `systemd_network_copy_files` | `[]` | [#upload-extra-files](#upload-extra-files) |
| `systemd_network_dns_resolver` | `"systemd-resolved"` | [#dns-resolver](#dns-resolver) |
| `systemd_network_enable_legacy_networking` | `False` | Whether to enable `networking.service` |
1 change: 1 addition & 0 deletions defaults/main.yml
Expand Up @@ -3,3 +3,4 @@ systemd_network_netdevs: {}
systemd_network_networks: {}
systemd_network_copy_files: []
systemd_network_dns_resolver: systemd-resolved
systemd_network_enable_legacy_networking: False
15 changes: 0 additions & 15 deletions handlers/main.yml
Expand Up @@ -8,18 +8,3 @@
name: systemd-networkd
enabled: True
state: restarted

- name: Disable unwanted resolvers
service:
name: "{{ item }}"
enabled: False
state: stopped
loop: "{{ _systemd_network_resolv_conf_paths.keys() | difference([systemd_network_dns_resolver]) }}"
listen: Configure resolver

- name: Enable wanted resolver
service:
name: "{{ systemd_network_dns_resolver }}"
enabled: True
state: started
listen: Configure resolver
27 changes: 25 additions & 2 deletions tasks/main.yml
Expand Up @@ -42,5 +42,28 @@
state: link
src: "{{ _systemd_network_resolv_conf_paths[systemd_network_dns_resolver] }}"
force: True
notify:
- Configure resolver

- name: Disable unwanted resolvers
service:
name: "{{ item }}"
enabled: False
state: stopped
loop: "{{ _systemd_network_resolv_conf_paths.keys() | difference([systemd_network_dns_resolver]) }}"

- name: Enable wanted resolver
service:
name: "{{ systemd_network_dns_resolver }}"
enabled: True
state: started

- name: Configure legacy networking
service:
name: networking
enabled: "{{ systemd_network_enable_legacy_networking }}"
state: "{% if systemd_network_enable_legacy_networking %}started{% else %}stopped{% endif %}"
Mr-Pi marked this conversation as resolved.
Show resolved Hide resolved

- name: Enable systemd-networkd
service:
name: systemd-networkd
enabled: True
state: started