summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Kupka <dkupka@redhat.com>2015-12-16 12:45:24 +0000
committerMartin Basti <mbasti@redhat.com>2015-12-21 18:37:32 +0100
commitf0703d3c2a399012fa4cae0b856c08ff18b42463 (patch)
tree3fcc240dab6172e2577c5e30e1a2d1eadff52dae
parent30fbc7e948739f0ee758e01d0ef1a3a0a53984b0 (diff)
installer: Fix logic of reading option values from cache.
Only options explicitly set must be stored before installer exits first step of external CA setup. When installer continues all stored option values must be restored. https://fedorahosted.org/freeipa/ticket/5556 Reviewed-By: Jan Cholasta <jcholast@redhat.com>
-rw-r--r--ipaserver/install/server/install.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/ipaserver/install/server/install.py b/ipaserver/install/server/install.py
index a07ca664e..2da1e3d04 100644
--- a/ipaserver/install/server/install.py
+++ b/ipaserver/install/server/install.py
@@ -444,9 +444,7 @@ def install_check(installer):
sys.exit("Directory Manager password required")
try:
cache_vars = read_cache(dm_password)
- for name, value in cache_vars.items():
- if name not in options.__dict__:
- options.__dict__[name] = value
+ options.__dict__.update(cache_vars)
if cache_vars.get('external_ca', False):
options.external_ca = False
options.interactive = False
@@ -867,7 +865,8 @@ def install(installer):
options.admin_password = admin_password
options.host_name = host_name
options.reverse_zones = dns.reverse_zones
- cache_vars = {n: getattr(options, n) for o, n in installer.knobs()}
+ cache_vars = {n: options.__dict__[n] for o, n in installer.knobs()
+ if n in options.__dict__}
write_cache(cache_vars)
ca.install_step_0(False, None, options)