summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrasanna Kumar Kalever <prasanna.kalever@redhat.com>2017-08-11 22:19:38 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2017-09-15 13:56:25 +0000
commitf20605d85396132575a83da6b827f854c03dbf01 (patch)
tree75a98b0e5de4fb92009e53248425de43ae1f1f3b
parent9d76a57dc9cd804f15042ccd683b7d05e35b9b7a (diff)
systemd: fix systemd dependency list
This patch brings a wrapper target service unit 'gluster-block-target.service' which ensures tcmu-runner gets activated. To fix this properly we need a change in tcmu-runner [1] unit which has to define precedence of glusterd service. [1] https://github.com/open-iscsi/tcmu-runner/pull/296 Change-Id: I32d7d82eec03e0cc9111eb58241190af30244a3c Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
-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