Systemd unit file implementation questions (ypbind)

Lennart Poettering mzerqung at 0pointer.de
Thu Apr 14 13:48:09 UTC 2011


On Thu, 14.04.11 14:51, Michal Hlavinka (mhlavink at redhat.com) wrote:

> 
> On Thursday, April 14, 2011 13:26:02 Michal Schmidt wrote:
> > On 04/14/2011 11:14 AM, Michal Hlavinka wrote:
> > > d) split it to more service files and make dependency there
> > >
> > > this would be incompatible change in configuration and hard to do,
> > 
> > Hard maybe, but solvable. Incompatibility happens from time to time. 
> > That's what release notes are for.
> 
> Upstream has their cross-distribution packaging "guidelines" / effort / ... 
> (I can't find the proper description.) Making configuration work different 
> way then on other systems won't make anyone happy. If there is a way to 
> keep current configuration working, then it's the way it will be done. Option c)
> would work, I'm just looking for another possibility to make it work the same 
> way but also more systemd-like way.

I presume their guidelines just cover SysV-style bootups?

Ideally the systemd unit files are shipped with the upstream
packages. In this case if upstream is interested in keeping things
identical among distributions it might be easy to convince them to
integrate such a patch which gets things right?

> 
> > 
> > > because dependency can change with configuration
> > 
> > Can you elaborate on this?
> 
> a) ups driver - runs when you have ups attached to that host
> b) upsd - runs when you have ups attached to that host
> c) upsmon (master/slave mode) - usualy runs on machine where you have ups, but it can run
> on machine without ups or work with different ups than the attached one
> 
> > 
> > What kind of dependencies exist between the three services? Are they 3 
> > separate daemons? How exactly do they communicate with each other? 
> 
> upsd requires ups driver, upsmon requires upsd (but can be upsd from different machine), 
> on machine where upsd and ups driver run there usualy is upsmon, but
> it can be on different machine.

If upsd strictly requires ups driver, then a Requires= directive in its
unit file is a good idea. 

> Somehow, but you still need to decide whether to start upsmon (which maybe starts
> upsd and the driver) or start just upsd and driver "manualy" without
> upsmon.

Levae that to the user by invoking "systemctl enable" on either both or
just one of the units.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the devel mailing list