--- # Copyright 2017, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Create systemd-networkd directory file: path: "/etc/systemd/network" state: directory tags: - systemd-networkd - name: Create systemd-networkd link config_template: src: "systemd-network-link.j2" dest: "/etc/systemd/network/99-default.link" owner: "root" group: "root" mode: "0644" config_overrides: "{{ systemd_link_config_overrides }}" config_type: "ini" tags: - systemd-networkd - name: Run interface cleanup script command: "/usr/local/bin/interface-cleanup" failed_when: false when: - systemd_interface_cleanup | bool tags: - systemd-networkd - name: Create systemd-networkd interface cleanup script template: src: "interface-cleanup.sh.j2" dest: "/usr/local/bin/interface-cleanup" owner: "root" group: "root" mode: "0750" when: - systemd_interface_cleanup | bool tags: - systemd-networkd - name: Create systemd-networkd network device(s) template: src: "systemd-netdev.j2" dest: "/etc/systemd/network/{{ item.0 }}-{{ item.1.NetDev.Name }}.netdev" owner: "root" group: "root" mode: "0644" with_indexed_items: "{{ systemd_netdevs }}" tags: - systemd-networkd - name: Create systemd-networkd network(s) config_template: src: "systemd-network.j2" dest: "/etc/systemd/network/{{ item.0 }}-{{ item.1.interface }}.network" owner: "root" group: "root" mode: "0644" config_overrides: "{{ item.1.config_overrides | default({}) }}" config_type: "ini" with_indexed_items: "{{ systemd_networks }}" tags: - systemd-networkd - name: Restart systemd-networkd systemd: name: "systemd-networkd" daemon_reload: yes enabled: "{{ (systemd_run_networkd | bool) | ternary('yes', 'no') }}" state: "{{ (systemd_run_networkd | bool) | ternary('restarted', omit) }}" tags: - systemd-networkd