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

Reply via email to