diff options
| author | Petr Spacek <pspacek@redhat.com> | 2015-10-30 10:39:49 +0100 |
|---|---|---|
| committer | Martin Basti <mbasti@redhat.com> | 2015-10-30 13:45:36 +0100 |
| commit | d7f0d633d93d3d7791ea0c3cedf084f004cbf27b (patch) | |
| tree | a0fd8edc6893c06fe32537cc56c70b633d1d9c79 | |
| parent | 9ffb3882532436dfd475831ee74b06e1b785251f (diff) | |
DNSSEC: on uninstall, do not restore OpenDNSSEC kasp.db if backup failed
Reviewed-By: Martin Basti <mbasti@redhat.com>
| -rw-r--r-- | ipaserver/install/opendnssecinstance.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/ipaserver/install/opendnssecinstance.py b/ipaserver/install/opendnssecinstance.py index 34dce0f32..ba8328007 100644 --- a/ipaserver/install/opendnssecinstance.py +++ b/ipaserver/install/opendnssecinstance.py @@ -343,6 +343,9 @@ class OpenDNSSECInstance(service.Service): 'ISMASTER', None, quotes=False, separator='=') + restore_list = [paths.OPENDNSSEC_CONF_FILE, paths.OPENDNSSEC_KASP_FILE, + paths.SYSCONFIG_ODS, paths.OPENDNSSEC_ZONELIST_FILE] + if ipautil.file_exists(paths.OPENDNSSEC_KASP_DB): # force to export data @@ -358,14 +361,16 @@ class OpenDNSSECInstance(service.Service): paths.IPA_KASP_DB_BACKUP) except IOError as e: root_logger.error( - "Unable to backup OpenDNSSEC database: %s", e) + "Unable to backup OpenDNSSEC database %s, " + "restore will be skipped: %s", paths.OPENDNSSEC_KASP_DB, e) else: root_logger.info("OpenDNSSEC database backed up in %s", paths.IPA_KASP_DB_BACKUP) + # restore OpenDNSSEC's KASP DB only if backup succeeded + # removing the file without backup could totally break DNSSEC + restore_list.append(paths.OPENDNSSEC_KASP_DB) - for f in [paths.OPENDNSSEC_CONF_FILE, paths.OPENDNSSEC_KASP_FILE, - paths.OPENDNSSEC_KASP_DB, paths.SYSCONFIG_ODS, - paths.OPENDNSSEC_ZONELIST_FILE]: + for f in restore_list: try: self.fstore.restore_file(f) except ValueError as error: |
