diff --git a/bin/quantum-rootwrap-xen-dom0 b/bin/quantum-rootwrap-xen-dom0 index 159a44657..062fd2164 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 5c70197b5..2169edfa1 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=