/home/zuul/src/opendev.org/openstack/openstack-ansible-lxc_hosts/handlers/main.yml
---
# Copyright 2014, 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: Start apparmor
  systemd:
    name: "apparmor"
    enabled: yes
    state: "started"

- name: Reload apparmor
  systemd:
    name: "apparmor"
    state: "restarted"

- name: Init reload
  command: "initctl reload-configuration"

- name: Restart importd
  systemd:
    name: "systemd-importd.service"
    state: "restarted"

- name: Enable machines mount
  systemd:
    daemon_reload: yes
    name: "var-lib-machines.mount"
    enabled: "yes"
  listen: Start machines mount

# NOTE(cloudnull): The systemd module is not used to start the
#                  mount because we dont want to "restart" the
#                  mount unnecessarily. To ensure we're able to
#                  load new options without requiring a mount
#                  restart the systemctl command is used with
#                  the "reload-or-restart" argument.
- name: Start or reload the machines mount
  command: "systemctl reload-or-restart var-lib-machines.mount"
  args:
    warn: no
  listen: Start machines mount
  tags:
    - skip_ansible_lint

- name: Restart irqbalance
  systemd:
    name: "irqbalance"
    state: "restarted"
    enabled: "yes"
    daemon_reload: yes

- name: Restart bridge
  shell: "ifdown {{ lxc_net_bridge }} || true"
  notify:
    - Bring bridge up
    - Reload networkd
    - Veth check

- name: Bring bridge up
  command: "ifup {{ lxc_net_bridge }}"
  when:
    - "ansible_distribution | lower != 'gentoo'"

- name: Reload networkd
  systemd:
    name: "systemd-networkd"
    state: "restarted"
    enabled: "yes"
    daemon_reload: "yes"
  retries: 5
  delay: 5
  when:
    - "ansible_distribution | lower == 'gentoo'"

- name: Veth check
  command: "/usr/local/bin/lxc-veth-check"

- name: Reload systemd units
  systemd:
    # TODO(hwoarang): We only want to reload the units so the 'name'
    # parameter can be removed when we move to Ansible 2.4
    name: it_does_not_matter
    daemon_reload: yes

- name: Remove rootfs archive
  file:
    path: "/tmp/{{ cache_basename }}"
    state: "absent"

- name: Restart dnsmasq
  systemd:
    name: "lxc-dnsmasq"
    state: "restarted"
    enabled: "yes"
    daemon_reload: yes
  register: _lxc_dnsmasq_systemd
  until: _lxc_dnsmasq_systemd is success
  retries: 5
  delay: 5