From 8d0f8e1b992f41a3914030ed75d77bbecde5f924 Mon Sep 17 00:00:00 2001 From: Mate Lakat Date: Fri, 28 Jun 2013 16:22:04 +0100 Subject: [PATCH] dom0 rootwrap - case insensitive xenapi section As per change https://review.openstack.org/33429 the config sections became lowercase. This patch makes the quantum-rootwrap-xen-dom0 rootwrap to be case insensitive for the xenapi section. This patch also changes the default config file to use a lowercase xenapi section. Fixes bug 1195781 Change-Id: Ic24feb1a9ad6f8823745b1febd4a0edd54e73498 --- bin/quantum-rootwrap-xen-dom0 | 11 ++++++++++- etc/rootwrap.conf | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bin/quantum-rootwrap-xen-dom0 b/bin/quantum-rootwrap-xen-dom0 index 159a44657ae..062fd216414 100755 --- a/bin/quantum-rootwrap-xen-dom0 +++ b/bin/quantum-rootwrap-xen-dom0 @@ -51,13 +51,22 @@ def parse_args(): return exec_name, config_file, user_args +def _xenapi_section_name(config): + sections = [sect for sect in config.sections() if sect.lower() == "xenapi"] + if len(sections) == 1: + return sections[0] + + print "Multiple [xenapi] sections or no [xenapi] section found!" + sys.exit(RC_BADCONFIG) + + def load_configuration(exec_name, config_file): config = ConfigParser.RawConfigParser() config.read(config_file) try: exec_dirs = config.get("DEFAULT", "exec_dirs").split(",") filters_path = config.get("DEFAULT", "filters_path").split(",") - section = 'XENAPI' + section = _xenapi_section_name(config) url = config.get(section, "xenapi_connection_url") username = config.get(section, "xenapi_connection_username") password = config.get(section, "xenapi_connection_password") diff --git a/etc/rootwrap.conf b/etc/rootwrap.conf index 5c70197b545..2169edfa16e 100644 --- a/etc/rootwrap.conf +++ b/etc/rootwrap.conf @@ -9,7 +9,7 @@ filters_path=/etc/quantum/rootwrap.d,/usr/share/quantum/rootwrap # These directories MUST all be only writeable by root ! exec_dirs=/sbin,/usr/sbin,/bin,/usr/bin -[XENAPI] +[xenapi] # XenAPI configuration is only required by the L2 agent if it is to # target a XenServer/XCP compute host's dom0. xenapi_connection_url=