LGTM Thanks,
Guido On Fri, Jan 18, 2013 at 2:49 PM, Michael Hanselmann <[email protected]> wrote: > Stop hardcoding the path in “hv_xen.py”. > > Signed-off-by: Michael Hanselmann <[email protected]> > --- > Makefile.am | 2 ++ > configure.ac | 9 +++++++++ > lib/hypervisor/hv_xen.py | 13 ++++++++----- > lib/pathutils.py | 1 + > man/gnt-cluster.rst | 2 +- > 5 files changed, 21 insertions(+), 6 deletions(-) > > 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..3f9b29e 100644 > --- a/lib/hypervisor/hv_xen.py > +++ b/lib/hypervisor/hv_xen.py > @@ -37,9 +37,10 @@ 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 +74,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 +91,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 > -- > 1.7.7.3 > -- Guido Trotter Ganeti engineering Google Germany
