I strongly recommend you to use a way to configure your service in a way
as to keep the entire commandline in one place, instead of keeping it in
several files.

Environmentfiles are good for giving a running service environment
variables for it to use after startup. I do not recommend using it for
creating commandlines when there are other options available.  With
sysvinit it was the least-worst option.

If you _do_ want to split the options into another file, and you use
systemd, please consider adding a  /etc/systemd/system/varnish.service.d
/read-options-from-environment.conf with:

[Service]
# at least one of...
EnvironmentFile=-/etc/sysconfig/varnish
EnvironmentFile=-/etc/default/varnish
EnvironmentFile=-/etc/varnish/environment
# Reset and set commandline
ExecStart=
ExecStart=/usr/sbin/varnishd $OPTIONS

Also, look at man:systemd.service(5) for how systemd parses whitespace
inside variables for constructing command line arguments.  You may need
to add several option variables if some arguments contain whitespace.

Also, I do not think you should blame systemd for this.  As the package
maintainer, _I_ discourage the use of EnviromentFile= for command line
arguments.  Systemd does not, and documents it rather well.

You are free to use both ways to configure your service, and you can add
a service configuration fragment to do so if you like.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1573561

Title:
  /etc/default/varnish is ignored (fixed values in systemd service)

To manage notifications about this bug go to:
https://bugs.launchpad.net/hundredpapercuts/+bug/1573561/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to