summaryrefslogtreecommitdiffstats
path: root/nvmf-autoconnect/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'nvmf-autoconnect/systemd')
-rw-r--r--nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in13
-rw-r--r--nvmf-autoconnect/systemd/nvmf-autoconnect.service.in15
-rw-r--r--nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in14
-rw-r--r--nvmf-autoconnect/systemd/nvmf-connect.target.in2
-rw-r--r--nvmf-autoconnect/systemd/nvmf-connect@.service.in16
5 files changed, 60 insertions, 0 deletions
diff --git a/nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in b/nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in
new file mode 100644
index 0000000..7036625
--- /dev/null
+++ b/nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Auto-connect to subsystems on FC-NVME devices found during boot
+ConditionPathExists=/sys/class/fc/fc_udev_device/nvme_discovery
+DefaultDependencies=no
+After=systemd-udevd.service
+Before=local-fs-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=/bin/sh -c "echo add > /sys/class/fc/fc_udev_device/nvme_discovery"
+
+[Install]
+WantedBy=default.target
diff --git a/nvmf-autoconnect/systemd/nvmf-autoconnect.service.in b/nvmf-autoconnect/systemd/nvmf-autoconnect.service.in
new file mode 100644
index 0000000..92960cd
--- /dev/null
+++ b/nvmf-autoconnect/systemd/nvmf-autoconnect.service.in
@@ -0,0 +1,15 @@
+[Unit]
+Description=Connect NVMe-oF subsystems automatically during boot
+ConditionPathExists=|@SYSCONFDIR@/nvme/config.json
+ConditionPathExists=|@SYSCONFDIR@/nvme/discovery.conf
+Wants=modprobe@nvme_fabrics.service
+After=modprobe@nvme_fabrics.service
+After=network-online.target
+Before=remote-fs-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=@SBINDIR@/nvme connect-all --context=autoconnect
+
+[Install]
+WantedBy=default.target
diff --git a/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in b/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in
new file mode 100644
index 0000000..820e6ce
--- /dev/null
+++ b/nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in
@@ -0,0 +1,14 @@
+# This unit is meant to be started by network management software
+# after a network interface defined in the NBFT gets set up
+[Unit]
+Description=Connect NBFT-defined NVMe-oF subsystems automatically
+ConditionPathExists=|/sys/firmware/acpi/tables/NBFT
+ConditionPathExists=|/sys/firmware/acpi/tables/NBFT1
+Wants=modprobe@nvme_fabrics.service
+After=modprobe@nvme_fabrics.service
+After=network-online.target
+Before=remote-fs-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=@SBINDIR@/nvme connect-all --nbft
diff --git a/nvmf-autoconnect/systemd/nvmf-connect.target.in b/nvmf-autoconnect/systemd/nvmf-connect.target.in
new file mode 100644
index 0000000..f64a37c
--- /dev/null
+++ b/nvmf-autoconnect/systemd/nvmf-connect.target.in
@@ -0,0 +1,2 @@
+[Unit]
+Description=All instances of nvmf-autoconnect daemon
diff --git a/nvmf-autoconnect/systemd/nvmf-connect@.service.in b/nvmf-autoconnect/systemd/nvmf-connect@.service.in
new file mode 100644
index 0000000..5ba7086
--- /dev/null
+++ b/nvmf-autoconnect/systemd/nvmf-connect@.service.in
@@ -0,0 +1,16 @@
+#
+# Unit file used by 70-nvmf-autoconnect.rules.
+#
+
+[Unit]
+Description=NVMf auto-connect scan upon nvme discovery controller Events
+DefaultDependencies=no
+After=systemd-udevd.service
+Before=local-fs-pre.target
+PartOf=nvmf-connect.target
+Requires=nvmf-connect.target
+
+[Service]
+Type=simple
+Environment="CONNECT_ARGS=%i"
+ExecStart=/bin/sh -c "@SBINDIR@/nvme connect-all --context=autoconnect --quiet `/bin/echo -e '${CONNECT_ARGS}'`"