Comment # 13 on bug 916005 from
Of course. You have to do two things:

a) Provide a sysconfig/puppet or sysconfig/puppetagent file that is like this
(as in 12.3):

PUPPET_SERVER=puppet
PUPPET_PORT=8140
PUPPET_LOG=/var/log/puppet/puppet.log
PUPPET_EXTRA_OPTS=""

The reason is that according to "man 5 systemd.exec" for Environment variables:

"Variable expansion is not performed inside the strings, however, specifier
expansion is possible. The $ character has no special meaning."

This means that you can _not_ supply environment variables inside the sysconfig
file variables.

i.e: 
PUPPET_SERVER="$HOSTNAME"

is not possible inside the sysconfig file as the "$HOSTNAME" would not be
expanded.


b) change ./system/multi-user.target.wants/puppet.service according to this
(reverts back to the state of pre 13.1):

diff -Pdpru ./system/multi-user.target.wants/puppet.service-orig
./system/multi-user.target.wants/puppet.service
--- ./system/multi-user.target.wants/puppet.service-orig    2016-01-29
09:21:24.700647029 +0100
+++ ./system/multi-user.target.wants/puppet.service    2016-01-29
09:22:05.197204045 +0100
@@ -6,7 +6,7 @@ After=basic.target network.target puppet
 [Service]
 EnvironmentFile=-/etc/sysconfig/puppetagent
 EnvironmentFile=-/etc/sysconfig/puppet
-ExecStart=/usr/bin/puppet agent ${PUPPET_EXTRA_OPTS} --no-daemonize
+ExecStart=/usr/bin/puppet agent --server=${PUPPET_SERVER}
--masterport=${PUPPET_PORT} --logdest=${PUPPET_LOG} $PUPPET_EXTRA_OPTS 

 [Install]
 WantedBy=multi-user.target



This way the variable content from the sysconfig file is filled into the
variables on the commandline at a later date.

Other ways of providing the commandline options have failed me (see comment#6).

Did I forget to mention anything?


You are receiving this mail because: