From 9c3ec4186ad5df24a6553cb11b4c787e278e7822 Mon Sep 17 00:00:00 2001 From: George Hunt Date: Wed, 14 Feb 2018 23:49:53 +0000 Subject: [PATCH] use systemd to start usbmount from udev --- roles/network/templates/network/usbmount.rules.j2 | 5 +++++ roles/network/templates/network/usbmount@.service.j2 | 11 +++++++++++ roles/usb-lib/tasks/main.yml | 8 ++++++++ 3 files changed, 24 insertions(+) create mode 100644 roles/network/templates/network/usbmount.rules.j2 create mode 100644 roles/network/templates/network/usbmount@.service.j2 diff --git a/roles/network/templates/network/usbmount.rules.j2 b/roles/network/templates/network/usbmount.rules.j2 new file mode 100644 index 000000000..0b1afd3e5 --- /dev/null +++ b/roles/network/templates/network/usbmount.rules.j2 @@ -0,0 +1,5 @@ +KERNEL=="sd*", DRIVERS=="sbp2", ACTION=="add", PROGRAM="/bin/systemd-escape -p --template=usbmount@.service $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c" +KERNEL=="sd*", SUBSYSTEMS=="usb", ACTION=="add", PROGRAM="/bin/systemd-escape -p --template=usbmount@.service $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c" +KERNEL=="ub*", SUBSYSTEMS=="usb", ACTION=="add", PROGRAM="/bin/systemd-escape -p --template=usbmount@.service $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c" +KERNEL=="sd*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove" + diff --git a/roles/network/templates/network/usbmount@.service.j2 b/roles/network/templates/network/usbmount@.service.j2 new file mode 100644 index 000000000..8ee5cb632 --- /dev/null +++ b/roles/network/templates/network/usbmount@.service.j2 @@ -0,0 +1,11 @@ +[Unit] +BindTo=%i.device +After=%i.device + +[Service] +Type=oneshot +TimeoutStartSec=0 +Environment=DEVNAME=%I +ExecStart=/usr/share/usbmount/usbmount add +RemainAfterExit=yes + diff --git a/roles/usb-lib/tasks/main.yml b/roles/usb-lib/tasks/main.yml index 5280440bd..2d1cefcba 100644 --- a/roles/usb-lib/tasks/main.yml +++ b/roles/usb-lib/tasks/main.yml @@ -15,6 +15,14 @@ mode: 0751 when: usb_lib_enabled +- name: Install udev to systemd link -> usbmount + template: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + with_items: + - { src: 'usbmount@.service.j2' , dest: '/etc/systemd/system/usbmount@.service' } + - { src: 'usbmount.rules.j2' , dest: '/etc/udev/rules.d/usbmount.rules' } + - name: Copy umount file to usbmount when enabled template: src: umount.d/70-usb-library