--- # Copyright 2018, 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 networkd directory file: path: "/etc/systemd/network" state: directory - name: Drop container network file (interfaces) template: src: "container_network.network.j2" dest: "/etc/systemd/network/{{ item.value.interface }}.network" owner: "root" group: "root" mode: "0644" with_dict: "{{ lxc_container_networks_combined }}" notify: - Enable dbus - Enable resolved - Restart networkd - name: Create resolved link file: src: "/var/run/systemd/resolve/resolv.conf" dest: "/etc/resolv.conf" force: true state: link when: - lxc_container_enable_resolved | bool notify: - Enable dbus - Enable resolved ### REMOVE IN "S" # NOTE(cloudnull): These tasks are cleaning up the old interfaces # files. Remove this in the "S" release. - name: Remove old route network interface(s) file: path: "{{ lxc_container_default_route_interfaces }}" state: absent with_dict: "{{ lxc_container_networks_combined }}" when: - lxc_container_default_route_interfaces is defined - name: Remove old network interface(s) file: path: "{{ lxc_container_interface_target }}" state: absent with_dict: "{{ lxc_container_networks_combined }}" when: - lxc_container_interface_target is defined - name: Remove old default network interface file: path: "{{ lxc_container_default_interface }}" state: absent when: - lxc_container_default_interface is defined