diff options
| author | David Kupka <dkupka@redhat.com> | 2015-12-16 12:45:24 +0000 |
|---|---|---|
| committer | Martin Basti <mbasti@redhat.com> | 2015-12-21 18:37:32 +0100 |
| commit | f0703d3c2a399012fa4cae0b856c08ff18b42463 (patch) | |
| tree | 3fcc240dab6172e2577c5e30e1a2d1eadff52dae | |
| parent | 30fbc7e948739f0ee758e01d0ef1a3a0a53984b0 (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.py | 7 |
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) |
