diff options
author | Rob Crittenden <rcritten@redhat.com> | 2008-02-22 14:47:15 -0500 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2008-02-22 14:47:15 -0500 |
commit | 8f0d4a8ed3cd80ee1c68d3f17e777fa89bcc105a (patch) | |
tree | 2ebef2f9a4b1d684f70e5f6192cb4b2c5ab96fb4 /ipa-python/config.py | |
parent | c367b917d78f3de357d01fdc409ee7824e24a8d1 (diff) | |
download | freeipa-8f0d4a8ed3cd80ee1c68d3f17e777fa89bcc105a.tar.gz freeipa-8f0d4a8ed3cd80ee1c68d3f17e777fa89bcc105a.tar.xz freeipa-8f0d4a8ed3cd80ee1c68d3f17e777fa89bcc105a.zip |
Add failover to the XML-RPC client
433506
Diffstat (limited to 'ipa-python/config.py')
-rw-r--r-- | ipa-python/config.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/ipa-python/config.py b/ipa-python/config.py index 52f5794c0..2f5c54f68 100644 --- a/ipa-python/config.py +++ b/ipa-python/config.py @@ -23,6 +23,7 @@ from optparse import OptionParser import krbV import socket import ipa.dnsclient +import re class IPAConfigError(Exception): def __init__(self, msg=''): @@ -37,7 +38,7 @@ class IPAConfigError(Exception): class IPAConfig: def __init__(self): self.default_realm = None - self.default_server = None + self.default_server = [] def get_realm(self): if self.default_realm: @@ -62,7 +63,8 @@ def __parse_config(): if not config.default_realm: config.default_realm = p.get("defaults", "realm") if not config.default_server: - config.default_server = p.get("defaults", "server") + s = p.get("defaults", "server") + config.default_server = re.sub("\s+", "", s).split(',') except: pass @@ -95,12 +97,12 @@ def __discover_config(): for r in rs: if r.dns_type == ipa.dnsclient.DNS_T_SRV: rsrv = r.rdata.server.rstrip(".") - # we take only the first one returned for now - config.default_server = rsrv - return True + config.default_server.append(rsrv) - #if none found - return False + if config.default_server: + return True + else: + return False except: return False |