- name: Does systemd-udevd.service exist
  stat:
    path: "{{ systemd_location }}/systemd-udevd.service"
  register: udev_unit

- name: Copy udevd service to /etc/systemd/system to modify
  copy:
    src: "{{ systemd_location }}/systemd-udevd.service"
    dest: /etc/systemd/system/systemd-udevd.service
    owner: root
    group: root
    mode: 0644
  when: udev_unit.stat.exists is defined and udev_unit.stat.exists

- name: Change MountFlags from slave to shared
  lineinfile:
    backup: no
    dest: /etc/systemd/system/systemd-udevd.service
    regexp: '^MountFlags'
    line: 'MountFlags=shared'
    state: present
  when: udev_unit.stat.exists is defined and udev_unit.stat.exists

# ubuntu 16.04 comes with ansible 2.0.0.2 -- no systemd module
- name: Ask systemd to reread unit files (daemon-reload)
  systemd:
    daemon_reload: yes
  when: udev_unit.stat.exists is defined and udev_unit.stat.exists

- name: Restart so systemd recognizes the changes
  shell: systemctl restart systemd-udevd.service
  when: udev_unit.stat.exists is defined and udev_unit.stat.exists

- name: Reload systemd-udevd so it has rootfs open read-write
  template:
    src: udev-reload.service
    dest: /etc/systemd/system/

- name: Enable the reload service
  shell: systemctl enable udev-reload.service
