summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--gluster-block.spec.in4
-rw-r--r--systemd/Makefile.am5
-rw-r--r--systemd/gluster-block-target.service14
-rw-r--r--systemd/gluster-blockd.service.in6
5 files changed, 26 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index d66bf2f..dcd88ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,7 +21,7 @@ m4/
stamp-h1
.deps
*.spec
-*.service
+gluster-blockd.service
*.tar.gz
cscope.*
diff --git a/gluster-block.spec.in b/gluster-block.spec.in
index c4216ae..e9e01e1 100644
--- a/gluster-block.spec.in
+++ b/gluster-block.spec.in
@@ -54,10 +54,14 @@ rm -rf ${RPM_BUILD_ROOT}
%{_mandir}/man8/gluster-block*.8*
%if ( 0%{?_with_systemd:1} )
%{_unitdir}/gluster-blockd.service
+%{_unitdir}/gluster-block-target.service
%config(noreplace) %{_sysconfdir}/sysconfig/gluster-blockd
%endif
%changelog
+* Fri Aug 11 2017 Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
+- add wrapper target service unit
+
* Tue Jun 22 2017 Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
- update with missing dependencies
diff --git a/systemd/Makefile.am b/systemd/Makefile.am
index 2cdda4c..bbec9d4 100644
--- a/systemd/Makefile.am
+++ b/systemd/Makefile.am
@@ -2,11 +2,12 @@ DISTCLEANFILES = Makefile.in gluster-blockd.service
CLEANFILES = *~ gluster-blockd.service
-EXTRA_DIST = gluster-blockd.service.in gluster-blockd.sysconfig
+EXTRA_DIST = gluster-blockd.service.in gluster-block-target.service \
+ gluster-blockd.sysconfig
if USE_SYSTEMD
# systemddir is already defined through configure.ac
-systemd_DATA = gluster-blockd.service
+systemd_DATA = gluster-blockd.service gluster-block-target.service
endif
install-data-local:
diff --git a/systemd/gluster-block-target.service b/systemd/gluster-block-target.service
new file mode 100644
index 0000000..a509ec3
--- /dev/null
+++ b/systemd/gluster-block-target.service
@@ -0,0 +1,14 @@
+# This file is part of gluster-block.
+#
+# This is a wrapper unit over target.service which ensures that
+# tcmu-runner.service is running which intern has a check to see if
+# glusterd.service is active
+#
+
+.include /usr/lib/systemd/system/target.service
+
+[Unit]
+Conflicts=target.service
+Requisite=glusterd.service
+BindsTo=tcmu-runner.service
+After=glusterd.service tcmu-runner.service
diff --git a/systemd/gluster-blockd.service.in b/systemd/gluster-blockd.service.in
index e6881ff..7a422df 100644
--- a/systemd/gluster-blockd.service.in
+++ b/systemd/gluster-blockd.service.in
@@ -1,7 +1,9 @@
[Unit]
Description=Gluster block storage utility
-Requires=rpcbind.service target.service tcmu-runner.service
-After=rpcbind.service target.service tcmu-runner.service
+Requisite=glusterd.service
+Requires=rpcbind.service
+BindsTo=gluster-block-target.service
+After=gluster-block-target.service
[Service]
Type=simple