diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2009-10-26 12:54:38 +0100 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-10-27 13:35:11 -0400 |
commit | b303921f249efeaa8c2b699f3877a70a3b5c98de (patch) | |
tree | 9e674cda61bdcfe3f61e0b4f89c6cbfcf4a4596b /server/upgrade/upgrade_config.py | |
parent | cdde1457c1fe5d3ef4f45b82edc41dec0a198172 (diff) | |
download | sssd-b303921f249efeaa8c2b699f3877a70a3b5c98de.tar.gz sssd-b303921f249efeaa8c2b699f3877a70a3b5c98de.tar.xz sssd-b303921f249efeaa8c2b699f3877a70a3b5c98de.zip |
Fix migration script for pre-0.5 local domains
Configuration files before 0.5.0 did not enforce provider= in local
domains it did special-case by domain name (LOCAL). Our script was
relying on provider= value, this patch adds the special-casing in case
the domain was called LOCAL.
Diffstat (limited to 'server/upgrade/upgrade_config.py')
-rw-r--r-- | server/upgrade/upgrade_config.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/server/upgrade/upgrade_config.py b/server/upgrade/upgrade_config.py index 87e3990d3..fe2081123 100644 --- a/server/upgrade/upgrade_config.py +++ b/server/upgrade/upgrade_config.py @@ -25,6 +25,7 @@ import sys import shutil import traceback from ConfigParser import RawConfigParser +from ConfigParser import NoOptionError from optparse import OptionParser class SSSDConfigParser(RawConfigParser): @@ -211,11 +212,19 @@ class SSSDConfigFile(object): self._migrate_kw(new_domsec, old_domsec, ldap_kw) self._migrate_kw(new_domsec, old_domsec, krb5_kw) + # configuration files before 0.5.0 did not enforce provider= in local domains + # it did special-case by domain name (LOCAL) + try: + prv = self._new_config.get(new_domsec, 'id_provider') + except NoOptionError: + if old_domsec == 'domains/LOCAL': + prv = 'local' + self._new_config.set(new_domsec, 'id_provider', prv) + # if domain was local, update with parameters from [user_defaults] - if self._new_config.get(new_domsec, 'id_provider') == 'local': + if prv == 'local': self._migrate_kw(new_domsec, 'user_defaults', user_defaults_kw) - def _migrate_domains(self): for domain in [ s.replace('domains/','') for s in self._config.sections() if s.startswith("domains/") ]: domain = domain.strip() |