diff --git a/Makefile.am b/Makefile.am index f51024e1d11d8754fe0e585f0ae321ab5c48a246..6edaff5b907cde8abc480bcad9f9292dd5738ccf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -408,7 +408,6 @@ lib/_autoconf.py: Makefile stamp-directories echo "VERSION_FULL = '$(VERSION_FULL)'"; \ echo "LOCALSTATEDIR = '$(localstatedir)'"; \ echo "SYSCONFDIR = '$(sysconfdir)'"; \ - echo "SSH_INITD_SCRIPT = '$(SSH_INITD_SCRIPT)'"; \ echo "EXPORT_DIR = '$(EXPORT_DIR)'"; \ echo "OS_SEARCH_PATH = [$(OS_SEARCH_PATH)]"; \ echo "XEN_BOOTLOADER = '$(XEN_BOOTLOADER)'"; \ @@ -437,6 +436,7 @@ $(REPLACE_VARS_SED): Makefile echo 's#@CUSTOM_XEN_KERNEL@#$(XEN_KERNEL)#g'; \ echo 's#@CUSTOM_XEN_INITRD@#$(XEN_INITRD)#g'; \ echo 's#@RPL_FILE_STORAGE_DIR@#$(FILE_STORAGE_DIR)#g'; \ + echo 's#@RPL_SSH_INITD_SCRIPT@#$(SSH_INITD_SCRIPT)#g'; \ echo 's#@PKGLIBDIR@#$(pkglibdir)#g'; \ } > $@ diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in index 12b4afbf8c7ca8f56f095207abb3a33535ed3640..ab58ac5d63f9c134a3c5f8f6b9918d2bc85b1cbc 100755 --- a/daemons/daemon-util.in +++ b/daemons/daemon-util.in @@ -104,6 +104,11 @@ stop_master() { stop ganeti-masterd } +# Reloads the SSH keys +reload_ssh_keys() { + @RPL_SSH_INITD_SCRIPT@ restart +} + if [[ "$#" -lt 1 ]]; then echo "Usage: $0 <action>" >&2 exit 1 diff --git a/lib/backend.py b/lib/backend.py index 2961371fb706754972dd899fdc1eb33d85dd7f9c..0a50100b390b55e766926a965f7c041dc5d86d04 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -355,7 +355,10 @@ def AddNode(dsa, dsapub, rsa, rsapub, sshkey, sshpub): utils.AddAuthorizedKey(auth_keys, sshpub) - utils.RunCmd([constants.SSH_INITD_SCRIPT, "restart"]) + result = utils.RunCmd([constants.DAEMON_UTIL, "reload-ssh-keys"]) + if result.failed: + _Fail("Unable to reload SSH keys (command %r, exit code %s, output %r)", + result.cmd, result.exit_code, result.output) def LeaveCluster(modify_ssh_setup): diff --git a/lib/constants.py b/lib/constants.py index 659e26a8645039d85381cf03802a724d0581e583..b3a20a9ab8319c798a8ec74f54e860b77df55b00 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -338,7 +338,6 @@ OS_API_FILE = 'ganeti_api_version' OS_VARIANTS_FILE = 'variants.list' # ssh constants -SSH_INITD_SCRIPT = _autoconf.SSH_INITD_SCRIPT SSH_CONFIG_DIR = "/etc/ssh/" SSH_HOST_DSA_PRIV = SSH_CONFIG_DIR + "ssh_host_dsa_key" SSH_HOST_DSA_PUB = SSH_HOST_DSA_PRIV + ".pub"