tasks: run systemctl daemon-reload after httpd.service.d updates

Run `systemctl daemon-reload` after
`/etc/systemd/system/httpd.service.d/ipa.conf` is created or deleted,
otherwise systemd will not merge the file into httpd.service and therefore
required environment variables will not be set for httpd.

This fixes authentication failures ("No valid Negotiate header in server
response") due to missing `GSS_USE_PROXY=yes` in httpd environment.

https://pagure.io/freeipa/issue/6773

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
This commit is contained in:
Jan Cholasta 2017-03-16 12:51:29 +00:00 committed by Martin Babinsky
parent 4297ad6db0
commit 3de09709cc

View File

@ -483,6 +483,9 @@ class RedHatTaskNamespace(BaseTaskNamespace):
os.chmod(paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF, 0o644) os.chmod(paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF, 0o644)
self.restore_context(paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF) self.restore_context(paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF)
ipautil.run([paths.SYSTEMCTL, "--system", "daemon-reload"],
raiseonerr=False)
def configure_http_gssproxy_conf(self): def configure_http_gssproxy_conf(self):
ipautil.copy_template_file( ipautil.copy_template_file(
os.path.join(paths.USR_SHARE_IPA_DIR, 'gssproxy.conf.template'), os.path.join(paths.USR_SHARE_IPA_DIR, 'gssproxy.conf.template'),
@ -513,6 +516,10 @@ class RedHatTaskNamespace(BaseTaskNamespace):
'Error removing %s: %s', 'Error removing %s: %s',
paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF, e paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF, e
) )
return
ipautil.run([paths.SYSTEMCTL, "--system", "daemon-reload"],
raiseonerr=False)
def set_hostname(self, hostname): def set_hostname(self, hostname):
ipautil.run([paths.BIN_HOSTNAMECTL, 'set-hostname', hostname]) ipautil.run([paths.BIN_HOSTNAMECTL, 'set-hostname', hostname])