All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] multipath: systemd unit file
@ 2011-09-01  3:00 Benjamin Marzinski
  2011-09-01  6:23 ` Hannes Reinecke
  0 siblings, 1 reply; 6+ messages in thread
From: Benjamin Marzinski @ 2011-09-01  3:00 UTC (permalink / raw)
  To: device-mapper development; +Cc: Christophe Varoqui

Here is a systemd unit file for managing multipathd.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
---
 Makefile.inc                  |    1 +
 multipathd/Makefile           |    3 +++
 multipathd/multipathd.service |   14 ++++++++++++++
 3 files changed, 18 insertions(+)

Index: multipath-tools-110831/Makefile.inc
===================================================================
--- multipath-tools-110831.orig/Makefile.inc
+++ multipath-tools-110831/Makefile.inc
@@ -31,6 +31,7 @@ man5dir     = $(prefix)/usr/share/man/ma
 rcdir	    = $(prefix)/etc/init.d
 syslibdir   = $(prefix)/$(LIB)
 libdir	    = $(prefix)/$(LIB)/multipath
+unitdir     = $(prefix)/lib/systemd/system
 
 GZIP        = /bin/gzip -9 -c
 INSTALL_PROGRAM = install
Index: multipath-tools-110831/multipathd/Makefile
===================================================================
--- multipath-tools-110831.orig/multipathd/Makefile
+++ multipath-tools-110831/multipathd/Makefile
@@ -35,6 +35,8 @@ install:
 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
 	$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(rcdir)
+	$(INSTALL_PROGRAM) -d $(DESTDIR)$(unitdir)
+	$(INSTALL_PROGRAM) -m 644 $(EXEC).service $(DESTDIR)$(unitdir)
 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
 	$(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
 
@@ -42,6 +44,7 @@ uninstall:
 	rm -f $(DESTDIR)$(bindir)/$(EXEC)
 	rm -f $(DESTDIR)$(rcdir)/$(EXEC)
 	rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz
+	rm -f $(DESTDIR)$(unitdir)/$(EXEC).service
 
 clean:
 	rm -f core *.o $(EXEC) *.gz
Index: multipath-tools-110831/multipathd/multipathd.service
===================================================================
--- /dev/null
+++ multipath-tools-110831/multipathd/multipathd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Device-Mapper Multipath Device Controller
+Before=iscsi.service iscsid.service
+After=syslog.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/multipathd.pid
+ExecStart=/sbin/multipathd
+ExecReload=/bin/kill -HUP $MAINPID
+#ExecStop=/path/to/scrip delete-me if not necessary
+
+[Install]
+WantedBy=multi-user.target

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] multipath: systemd unit file
  2011-09-01  3:00 [PATCH] multipath: systemd unit file Benjamin Marzinski
@ 2011-09-01  6:23 ` Hannes Reinecke
  2011-09-01  7:04   ` Christophe Varoqui
  2011-09-01 14:46   ` [PATCH] " Benjamin Marzinski
  0 siblings, 2 replies; 6+ messages in thread
From: Hannes Reinecke @ 2011-09-01  6:23 UTC (permalink / raw)
  To: device-mapper development

On 09/01/2011 05:00 AM, Benjamin Marzinski wrote:
> Here is a systemd unit file for managing multipathd.
>
[ .. ]
> Index: multipath-tools-110831/multipathd/multipathd.service
> ===================================================================
> --- /dev/null
> +++ multipath-tools-110831/multipathd/multipathd.service
> @@ -0,0 +1,14 @@
> +[Unit]
> +Description=Device-Mapper Multipath Device Controller
> +Before=iscsi.service iscsid.service
> +After=syslog.target
> +
> +[Service]
> +Type=forking
> +PIDFile=/var/run/multipathd.pid
> +ExecStart=/sbin/multipathd
> +ExecReload=/bin/kill -HUP $MAINPID
> +#ExecStop=/path/to/scrip delete-me if not necessary
> +
> +[Install]
> +WantedBy=multi-user.target
>
Hmm. First of all, I'm trying to get rid of the PID file, as with it 
it's quite hard to start multipathing when /var/run isn't mounted.
Plus it's not actually needed; everything can be done via multipathd 
-k nowadays.

So may I suggest to use
ExecReload=/sbin/multipathd -k'reconfigure'

here?
And do we actually need
PIDFile=
for systemd?
If not I'd rather remove that line, too.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] multipath: systemd unit file
  2011-09-01  6:23 ` Hannes Reinecke
@ 2011-09-01  7:04   ` Christophe Varoqui
  2011-09-01  7:11     ` Hannes Reinecke
  2011-09-01 17:08     ` [PATCH v2] " Benjamin Marzinski
  2011-09-01 14:46   ` [PATCH] " Benjamin Marzinski
  1 sibling, 2 replies; 6+ messages in thread
From: Christophe Varoqui @ 2011-09-01  7:04 UTC (permalink / raw)
  To: device-mapper development

> > +[Unit]
> > +Description=Device-Mapper Multipath Device Controller
> > +Before=iscsi.service iscsid.service
> > +After=syslog.target
> > +
> > +[Service]
> > +Type=forking
> > +PIDFile=/var/run/multipathd.pid
> > +ExecStart=/sbin/multipathd
> > +ExecReload=/bin/kill -HUP $MAINPID
> > +#ExecStop=/path/to/scrip delete-me if not necessary
> > +
> > +[Install]
> > +WantedBy=multi-user.target
> >
> Hmm. First of all, I'm trying to get rid of the PID file, as with it 
> it's quite hard to start multipathing when /var/run isn't mounted.
> Plus it's not actually needed; everything can be done via multipathd 
> -k nowadays.
> 
Agreed

> So may I suggest to use
> ExecReload=/sbin/multipathd -k'reconfigure'
> 
Or even:
ExecReload=multipathd reconfigure

Regards,
-- 
Christophe Varoqui
OpenSVC - Tools to scale
http://www.opensvc.com/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] multipath: systemd unit file
  2011-09-01  7:04   ` Christophe Varoqui
@ 2011-09-01  7:11     ` Hannes Reinecke
  2011-09-01 17:08     ` [PATCH v2] " Benjamin Marzinski
  1 sibling, 0 replies; 6+ messages in thread
From: Hannes Reinecke @ 2011-09-01  7:11 UTC (permalink / raw)
  To: christophe.varoqui, device-mapper development

On 09/01/2011 09:04 AM, Christophe Varoqui wrote:
>>> +[Unit]
>>> +Description=Device-Mapper Multipath Device Controller
>>> +Before=iscsi.service iscsid.service
>>> +After=syslog.target
>>> +
>>> +[Service]
>>> +Type=forking
>>> +PIDFile=/var/run/multipathd.pid
>>> +ExecStart=/sbin/multipathd
>>> +ExecReload=/bin/kill -HUP $MAINPID
>>> +#ExecStop=/path/to/scrip delete-me if not necessary
>>> +
>>> +[Install]
>>> +WantedBy=multi-user.target
>>>
>> Hmm. First of all, I'm trying to get rid of the PID file, as with it
>> it's quite hard to start multipathing when /var/run isn't mounted.
>> Plus it's not actually needed; everything can be done via multipathd
>> -k nowadays.
>>
> Agreed
>
>> So may I suggest to use
>> ExecReload=/sbin/multipathd -k'reconfigure'
>>
> Or even:
> ExecReload=multipathd reconfigure
>
That works? Cool.

Bet it's not documented in the manpage ...

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] multipath: systemd unit file
  2011-09-01  6:23 ` Hannes Reinecke
  2011-09-01  7:04   ` Christophe Varoqui
@ 2011-09-01 14:46   ` Benjamin Marzinski
  1 sibling, 0 replies; 6+ messages in thread
From: Benjamin Marzinski @ 2011-09-01 14:46 UTC (permalink / raw)
  To: device-mapper development

On Thu, Sep 01, 2011 at 08:23:26AM +0200, Hannes Reinecke wrote:
> On 09/01/2011 05:00 AM, Benjamin Marzinski wrote:
>> Here is a systemd unit file for managing multipathd.
>>
> [ .. ]
>> Index: multipath-tools-110831/multipathd/multipathd.service
>> ===================================================================
>> --- /dev/null
>> +++ multipath-tools-110831/multipathd/multipathd.service
>> @@ -0,0 +1,14 @@
>> +[Unit]
>> +Description=Device-Mapper Multipath Device Controller
>> +Before=iscsi.service iscsid.service
>> +After=syslog.target
>> +
>> +[Service]
>> +Type=forking
>> +PIDFile=/var/run/multipathd.pid
>> +ExecStart=/sbin/multipathd
>> +ExecReload=/bin/kill -HUP $MAINPID
>> +#ExecStop=/path/to/scrip delete-me if not necessary
>> +
>> +[Install]
>> +WantedBy=multi-user.target
>>
> Hmm. First of all, I'm trying to get rid of the PID file, as with it it's 
> quite hard to start multipathing when /var/run isn't mounted.
> Plus it's not actually needed; everything can be done via multipathd -k 
> nowadays.

At least on fedora, The systemd people changed /var/run so that it's now just a symlink
to /run, which is a tmpfs filesystem.
>
> So may I suggest to use
> ExecReload=/sbin/multipathd -k'reconfigure'

Makes sense. Sure.

> here?
> And do we actually need
> PIDFile=
> for systemd?
> If not I'd rather remove that line, too.

To comply with the Systemd Daemon best practices (in man
systemd.service(5)), I appears so. But I don't believe that it's
strictly necessary. If you don't add it, systemd will try to guess the
mainpid, and since multipath multi-thread instead of multi-process, I'm
pretty sure it will guess correctly.

But if /var/run becomes a tmpfs, then I don't see a need to remove the
pidfile. 

-Ben

> Cheers,
>
> Hannes
> -- 
> Dr. Hannes Reinecke		      zSeries & Storage
> hare@suse.de			      +49 911 74053 688
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
> GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
>
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] multipath: systemd unit file
  2011-09-01  7:04   ` Christophe Varoqui
  2011-09-01  7:11     ` Hannes Reinecke
@ 2011-09-01 17:08     ` Benjamin Marzinski
  1 sibling, 0 replies; 6+ messages in thread
From: Benjamin Marzinski @ 2011-09-01 17:08 UTC (permalink / raw)
  To: christophe.varoqui, device-mapper development

Here is a systemd unit file for managing multipathd.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
---
 Makefile.inc                  |    1 +
 multipathd/Makefile           |    3 +++
 multipathd/multipathd.service |   14 ++++++++++++++
 3 files changed, 18 insertions(+)

Index: multipath-tools-110831/Makefile.inc
===================================================================
--- multipath-tools-110831.orig/Makefile.inc
+++ multipath-tools-110831/Makefile.inc
@@ -31,6 +31,7 @@ man5dir     = $(prefix)/usr/share/man/ma
 rcdir	    = $(prefix)/etc/init.d
 syslibdir   = $(prefix)/$(LIB)
 libdir	    = $(prefix)/$(LIB)/multipath
+unitdir     = $(prefix)/lib/systemd/system
 
 GZIP        = /bin/gzip -9 -c
 INSTALL_PROGRAM = install
Index: multipath-tools-110831/multipathd/Makefile
===================================================================
--- multipath-tools-110831.orig/multipathd/Makefile
+++ multipath-tools-110831/multipathd/Makefile
@@ -35,6 +35,8 @@ install:
 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
 	$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(rcdir)
+	$(INSTALL_PROGRAM) -d $(DESTDIR)$(unitdir)
+	$(INSTALL_PROGRAM) -m 644 $(EXEC).service $(DESTDIR)$(unitdir)
 	$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
 	$(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
 
@@ -42,6 +44,7 @@ uninstall:
 	rm -f $(DESTDIR)$(bindir)/$(EXEC)
 	rm -f $(DESTDIR)$(rcdir)/$(EXEC)
 	rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz
+	rm -f $(DESTDIR)$(unitdir)/$(EXEC).service
 
 clean:
 	rm -f core *.o $(EXEC) *.gz
Index: multipath-tools-110831/multipathd/multipathd.service
===================================================================
--- /dev/null
+++ multipath-tools-110831/multipathd/multipathd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Device-Mapper Multipath Device Controller
+Before=iscsi.service iscsid.service
+After=syslog.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/multipathd.pid
+ExecStart=/sbin/multipathd
+ExecReload=/sbin/multipathd reconfigure
+#ExecStop=/path/to/scrip delete-me if not necessary
+
+[Install]
+WantedBy=multi-user.target

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-09-01 17:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-01  3:00 [PATCH] multipath: systemd unit file Benjamin Marzinski
2011-09-01  6:23 ` Hannes Reinecke
2011-09-01  7:04   ` Christophe Varoqui
2011-09-01  7:11     ` Hannes Reinecke
2011-09-01 17:08     ` [PATCH v2] " Benjamin Marzinski
2011-09-01 14:46   ` [PATCH] " Benjamin Marzinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.