From 91b928c2af51d3744f1a2220e69d77cfd96021aa Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Tue, 18 Jul 2023 10:22:05 -0500 Subject: [PATCH] Update pkidestroy to use PKIServerFactory The code that creates the PKIInstance object in pkidestroy has been modified to use PKIServerFactory instead. --- .../python/pki/server/deployment/pkiconfig.py | 1 - base/server/python/pki/server/pkidestroy.py | 41 ++++++++----------- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/base/server/python/pki/server/deployment/pkiconfig.py b/base/server/python/pki/server/deployment/pkiconfig.py index 038413122ef..34f2cb6a339 100644 --- a/base/server/python/pki/server/deployment/pkiconfig.py +++ b/base/server/python/pki/server/deployment/pkiconfig.py @@ -48,7 +48,6 @@ "-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-" PKI_DEPLOYMENT_SOURCE_ROOT = "/usr/share/pki" -PKI_DEPLOYMENT_BASE_ROOT = "/var/lib/pki" # NOTE: Top-level "/etc/pki" is owned by the "filesystem" package! PKI_DEPLOYMENT_CONFIGURATION_ROOT = "/etc/pki" PKI_DEPLOYMENT_LOG_ROOT = "/var/log/pki" diff --git a/base/server/python/pki/server/pkidestroy.py b/base/server/python/pki/server/pkidestroy.py index e97cd7e5214..94a64d84a78 100644 --- a/base/server/python/pki/server/pkidestroy.py +++ b/base/server/python/pki/server/pkidestroy.py @@ -170,33 +170,29 @@ def main(argv): # --remove-logs deployer.remove_logs = args.remove_logs - # verify that previously deployed instance exists - deployed_pki_instance_path = os.path.join( - config.PKI_DEPLOYMENT_BASE_ROOT, config.pki_deployed_instance_name - ) - if not os.path.exists(deployed_pki_instance_path) and not deployer.force: - print("ERROR: " + log.PKI_INSTANCE_DOES_NOT_EXIST_1 % - deployed_pki_instance_path) - print() - parser.arg_parser.exit(-1) + instance_name = config.pki_deployed_instance_name + instance = pki.server.instance.PKIServerFactory.create(instance_name) - # verify that previously deployed subsystem for this instance exists - subsystem_path = os.path.join( - deployed_pki_instance_path, - deployer.subsystem_name.lower()) + if not instance.exists(): + logger.error('No such instance: %s', instance_name) + sys.exit(1) - if not os.path.exists(subsystem_path) and not deployer.force: - print("ERROR: " + log.PKI_SUBSYSTEM_DOES_NOT_EXIST_2 % - (deployer.subsystem_name, deployed_pki_instance_path)) - print() - parser.arg_parser.exit(-1) + instance.load() + + subsystem_name = deployer.subsystem_name.lower() + subsystem = instance.get_subsystem(subsystem_name) + + if not subsystem: + logger.error('No %s subsystem in %s instance', + subsystem_name.upper(), instance_name) + sys.exit(1) config.default_deployment_cfg = \ config.PKI_DEPLOYMENT_DEFAULT_CONFIGURATION_FILE # establish complete path to previously deployed configuration file config.user_deployment_cfg = os.path.join( - subsystem_path, + subsystem.base_dir, "registry", deployer.subsystem_name.lower(), config.USER_DEPLOYMENT_CONFIGURATION @@ -222,11 +218,6 @@ def main(argv): parser.compose_pki_master_dictionary() deployer.init() - instance = pki.server.instance.PKIInstance( - deployer.mdict['pki_instance_name'], - user=deployer.mdict['pki_user'], - group=deployer.mdict['pki_group']) - if args.log_file: print('Uninstallation log: %s' % args.log_file) @@ -237,7 +228,7 @@ def main(argv): logger.debug(pkilogging.log_format(parser.mdict)) print("Uninstalling " + deployer.subsystem_name + " from " + - deployed_pki_instance_path + ".") + instance.base_dir + ".") # Process the various "scriptlets" to remove the specified PKI subsystem. pki_subsystem_scriptlets = parser.mdict['destroy_scriplets'].split()