Adding systemd unit files in OpenStack packages

Michael Stapelberg stapelberg at debian.org
Wed Jul 9 08:09:25 BST 2014


Hi Thomas,

Thomas Goirand <zigo at debian.org> writes:
> I do agree in principle. However, practically, many daemon do need the
> network to be up to be able to bind correctly. :(
They should be modified to use the IP_FREEBIND sockopt:
https://bugzilla.kernel.org/show_bug.cgi?id=20082

> Do you know what's the default behavior if you bind on 0.0.0.0? Will the
> daemon just pick-up whatever new IP is configured after its started?
AFAIK yes, but to be sure, test it.

> However, systemd journal have some issues, as much as I have read, and
> unless things changed. First, it wouldn't do network logging, just like
> syslog does (am I right here?). And then, it wouldn't handle extreme
> loads in the order of terabytes per day. So I want to keep things
> configurable.
I think network logging is being worked on but not ready. You can always
use rsyslog (as Debian does) behind journald and enable remote syslog
there.

I’m not aware of load issues with journald. You should open an upstream
bug for that if you can reproduce that.

> Ok, so it will read stuff in /etc/default/openstack. But then how do I
> make ExecStart have different startup command depending on the
> EnvironmentFile? What if EnvironmentFile=/etc/default/openstack doesn't
> exist (which would be the default case)? Would it still continue to work
> and start the daemon?
Define a variable in /etc/default/openstack, e.g. OPENSTACK_ARGS and use
that in ExecStart? Not sure what happens if the file is not present. I
think if you use EnvironmentFile=-/etc/default/openstack, the missing
file is ignored and any non-defined variables default to empty.

In any case, why don’t you try it before you ask? You’ll see that you’ll
be able to figure out most things on your own, I think :).

-- 
Best regards,
Michael




More information about the Pkg-systemd-maintainers mailing list