From: Michael Hanselmann Date: Fri, 18 Jan 2013 12:57:50 +0000 (+0100) Subject: Make Xen config path a build-time option X-Git-Tag: v2.7.0beta1~68 X-Git-Url: https://code.grnet.gr/git/ganeti-local/commitdiff_plain/a8e8c0c6afd0a8c124571d47b07b1998d2aefc78 Make Xen config path a build-time option Stop hardcoding the path in “hv_xen.py”. Signed-off-by: Michael Hanselmann Reviewed-by: Guido Trotter --- diff --git a/Makefile.am b/Makefile.am index b992c86..792c526 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1381,6 +1381,7 @@ lib/_autoconf.py: Makefile | stamp-directories echo "OS_SEARCH_PATH = [$(OS_SEARCH_PATH)]"; \ echo "ES_SEARCH_PATH = [$(ES_SEARCH_PATH)]"; \ echo "XEN_BOOTLOADER = '$(XEN_BOOTLOADER)'"; \ + echo "XEN_CONFIG_DIR = '$(XEN_CONFIG_DIR)'"; \ echo "XEN_KERNEL = '$(XEN_KERNEL)'"; \ echo "XEN_INITRD = '$(XEN_INITRD)'"; \ echo "KVM_KERNEL = '$(KVM_KERNEL)'"; \ @@ -1497,6 +1498,7 @@ $(REPLACE_VARS_SED): $(SHELL_ENV_INIT) Makefile stamp-directories echo 's#@''GNTDAEMONSGROUP@#$(DAEMONS_GROUP)#g'; \ echo 's#@''CUSTOM_ENABLE_CONFD@#$(ENABLE_CONFD)#g'; \ echo 's#@''MODULES@#$(strip $(lint_python_code))#g'; \ + echo 's#@''XEN_CONFIG_DIR@#$(XEN_CONFIG_DIR)#g'; \ echo; \ echo '/^@SHELL_ENV_INIT@$$/ {'; \ echo ' r $(SHELL_ENV_INIT)'; \ diff --git a/configure.ac b/configure.ac index 14ebe81..2c93bfc 100644 --- a/configure.ac +++ b/configure.ac @@ -49,6 +49,15 @@ AC_ARG_WITH([ssh-config-dir], [ssh_config_dir="/etc/ssh"]) AC_SUBST(SSH_CONFIG_DIR, $ssh_config_dir) +# --with-xen-config-dir=... +AC_ARG_WITH([xen-config-dir], + [AS_HELP_STRING([--with-xen-config-dir=DIR], + m4_normalize([Xen configuration directory + (default: /etc/xen)]))], + [xen_config_dir="$withval"], + [xen_config_dir=/etc/xen]) +AC_SUBST(XEN_CONFIG_DIR, $xen_config_dir) + # --with-os-search-path=... # do a bit of black sed magic to for quoting of the strings in the list AC_ARG_WITH([os-search-path], diff --git a/lib/hypervisor/hv_xen.py b/lib/hypervisor/hv_xen.py index d60f6f8..1afc1d9 100644 --- a/lib/hypervisor/hv_xen.py +++ b/lib/hypervisor/hv_xen.py @@ -33,13 +33,13 @@ from ganeti.hypervisor import hv_base from ganeti import netutils from ganeti import objects from ganeti import pathutils -from ganeti import vcluster from ganeti import ssconf -XEND_CONFIG_FILE = vcluster.AddNodePrefix("/etc/xen/xend-config.sxp") -XL_CONFIG_FILE = vcluster.AddNodePrefix("/etc/xen/xl.conf") -VIF_BRIDGE_SCRIPT = vcluster.AddNodePrefix("/etc/xen/scripts/vif-bridge") +XEND_CONFIG_FILE = utils.PathJoin(pathutils.XEN_CONFIG_DIR, "xend-config.sxp") +XL_CONFIG_FILE = utils.PathJoin(pathutils.XEN_CONFIG_DIR, "xen/xl.conf") +VIF_BRIDGE_SCRIPT = utils.PathJoin(pathutils.XEN_CONFIG_DIR, + "scripts/vif-bridge") _DOM0_NAME = "Domain-0" @@ -73,7 +73,7 @@ class XenHypervisor(hv_base.BaseHypervisor): @rtype: str """ - return "/etc/xen/%s" % instance_name + return utils.PathJoin(pathutils.XEN_CONFIG_DIR, instance_name) @classmethod def _WriteConfigFile(cls, instance, startup_memory, block_devices): @@ -90,7 +90,9 @@ class XenHypervisor(hv_base.BaseHypervisor): """ # just in case it exists - utils.RemoveFile("/etc/xen/auto/%s" % instance_name) + utils.RemoveFile(utils.PathJoin(pathutils.XEN_CONFIG_DIR, "auto", + instance_name)) + cfg_file = XenHypervisor._ConfigFileName(instance_name) try: utils.WriteFile(cfg_file, data=data) diff --git a/lib/pathutils.py b/lib/pathutils.py index 8af21ba..fe53180 100644 --- a/lib/pathutils.py +++ b/lib/pathutils.py @@ -36,6 +36,7 @@ EXPORT_DIR = vcluster.AddNodePrefix(_autoconf.EXPORT_DIR) OS_SEARCH_PATH = _autoconf.OS_SEARCH_PATH ES_SEARCH_PATH = _autoconf.ES_SEARCH_PATH SSH_CONFIG_DIR = _autoconf.SSH_CONFIG_DIR +XEN_CONFIG_DIR = vcluster.AddNodePrefix(_autoconf.XEN_CONFIG_DIR) SYSCONFDIR = vcluster.AddNodePrefix(_autoconf.SYSCONFDIR) TOOLSDIR = _autoconf.TOOLSDIR LOCALSTATEDIR = vcluster.AddNodePrefix(_autoconf.LOCALSTATEDIR) diff --git a/man/gnt-cluster.rst b/man/gnt-cluster.rst index 0511bbf..bcba7ef 100644 --- a/man/gnt-cluster.rst +++ b/man/gnt-cluster.rst @@ -302,7 +302,7 @@ migration\_port This options specifies the TCP port to use for live-migration. For Xen, the same port should be configured on all nodes in the - ``/etc/xen/xend-config.sxp`` file, under the key + ``@XEN_CONFIG_DIR@/xend-config.sxp`` file, under the key "xend-relocation-port". migration\_bandwidth