Systemd unit file implementation questions (ypbind)

Michal Hlavinka mhlavink at redhat.com
Thu Apr 14 12:51:53 UTC 2011


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.

> 
> > 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.

> Can 
> they be patched to use socket activation? Because then you could simply 
> stop thinking about expressing the dependencies manually.

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.

And as I said above, this must be done the way that won't break existing configuration.

> Also note that there are two distinct kinds of dependencies: 
> requirements and ordering. I don't think ordering dependencies change 
> depending on the configuration, or do they?

Somehow. Upsmon can require upsd or not based on configuration, but it does not say 
anything whether upsd should run or not (if it is not required).


More information about the devel mailing list