[Freeipa-devel] 389 systemd changes

Alexander Bokovoy abokovoy at redhat.com
Mon Jan 23 14:37:08 UTC 2012


On Mon, 23 Jan 2012, Simo Sorce wrote:
> On Mon, 2012-01-23 at 08:03 +0200, Alexander Bokovoy wrote:
> > On Sun, 22 Jan 2012, Simo Sorce wrote:
> > > > > Shouldn't we just 'include' the original file and not copy it ?
> > > > > If we include it a change in the file will be automatically picked up.
> > > > We can't due to systemd design and use of it in 389-ds.
> > > > 
> > > > LimitNOFILE needs to be changed in the service file directly, not in 
> > > > the environment file in /etc/sysconfig or otherwise it will not be 
> > > > picked up by the systemd.
> > > 
> > > I am not talking about using /set/sysconfig options, but the .include
> > > directive for service files.
> > So, something like this for 389-ds?
> 
> No, you should include the actual dirsrv default service file (if any,
> otherwise the sysconfig one might be ok I guess).
There is /lib/systemd/system/dirsrv at .service. The content below is 
from there and I think there is no need to make .include in a 
/etc/systemd/system/dirsrv at .service copy of it as we can ask Rich to 
make proper change in the original service unit.

This way we only would have settings in /etc/sysconfig (or in 
/etc/dirsrv if that's better) and you'd have no need to intervene into 
/etc/systemd/system. Paths are irrelevant but I'd prefer to use common 
places like /etc/sysconfig.

> 
> > ----8<--------8<--------8<---------
> > [Unit]
> > Description=389 Directory Server %i.
> > BindTo=dirsrv.target
> > After=dirsrv.target
> > 
> > [Service]
> > Type=forking
> > Environment=PIDDIR=/var/run/dirsrv
> > EnvironmentFile=/etc/sysconfig/dirsrv
> > EnvironmentFile=/etc/sysconfig/dirsrv-%i
> > ExecStart=/usr/sbin/ns-slapd -D /etc/dirsrv/slapd-%i -i ${PIDDIR}/slapd-%i.pid -w ${PIDDIR}/slapd-%i.startpid
> > .include /etc/sysconfig/dirsrv.systemd
> > ----8<--------8<--------8<---------
> > 
> > and then with following /etc/sysconfig/dirsrv.systemd:
> > ----8<--------8<--------8<---------
> > [Service]
> > LimitNOFILE=8192
> > ----8<--------8<--------8<---------
> > 
> > local overrides can be created?
> 
> Yes I think if you put directives after the include they will override
> whatever is in the include.
Depends on directive.

 
> Also I would put as much as possible in the include file and put in the
> specific instance files only the parameters we need to override.
There is no specific instance service unit. There is one service unit 
that processes all instances, that's the whole purpose of @-services 
(dirsrv at .service).

> 
> > It seems to work. You can't use %i macro in .include unfortunately so 
> > any configuration change will be global, not per service instance.
> 
> That's fine we want to put in there only global configuration anyways,
> and then override in our specific per instance control files.
See above. There are no per-instance control files.

-- 
/ Alexander Bokovoy




More information about the Freeipa-devel mailing list