From 621d9e5c413e561293d7484b93882d985b3fe15f Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Sat, 24 Mar 2012 02:27:47 -0500 Subject: Removed unnecessary pki folder. Previously the source code was located inside a pki folder. This folder was created during svn migration and is no longer needed. This folder has now been removed and the contents have been moved up one level. Ticket #131 --- base/deploy/src/pkidestroy | 151 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100755 base/deploy/src/pkidestroy (limited to 'base/deploy/src/pkidestroy') diff --git a/base/deploy/src/pkidestroy b/base/deploy/src/pkidestroy new file mode 100755 index 000000000..a762e143a --- /dev/null +++ b/base/deploy/src/pkidestroy @@ -0,0 +1,151 @@ +#!/usr/bin/python -t +# Authors: +# Matthew Harmsen +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Copyright (C) 2011 Red Hat, Inc. +# All rights reserved. +# + +# System Imports +import sys +if not hasattr(sys, "hexversion") or sys.hexversion < 0x020700f0: + print "Python version %s.%s.%s is too old." % sys.version_info[:3] + print "Please upgrade to at least Python 2.7.0." + sys.exit(1) +try: + import argparse + import logging + import os + import pprint + from pki.deployment import pkiconfig as config + from pki.deployment import pkihelper + from pki.deployment import pkilogging + from pki.deployment import pkimessages as log +except ImportError: + print >> sys.stderr, """\ +There was a problem importing one of the required Python modules. The +error was: + + %s +""" % sys.exc_value + sys.exit(1) + + +# PKI Deployment Functions +def main(argv): + "main entry point" + + # Only run this program as "root". + if not os.geteuid() == 0: + sys.exit("'%s' must be run as root!" % argv[0]) + + # Initialize 'pretty print' for objects + pp = pprint.PrettyPrinter(indent=4) + + # Read and process command-line arguments. + pkihelper.process_command_line_arguments(argv) + + # Enable 'pkidestroy' logging. + config.pki_log_dir = config.pki_root_prefix +\ + config.PKIDESTROY_LOG_PATH + config.pki_log_name = config.PKIDESTROY_LOG_PREFIX +\ + config.pki_subsystem.lower() +\ + config.PKIDESTROY_LOG_SUFFIX + rv = pkilogging.enable_pki_logger(config.pki_log_dir, + config.pki_log_name, + config.pki_log_level, + config.pki_console_log_level, + config.PKIDESTROY_LOGGER) + if rv != OSError: + config.pki_log = rv + else: + print log.PKI_UNABLE_TO_CREATE_LOG_DIRECTORY_1 % config.pki_log_dir + sys.exit(1) + + # Read the specified PKI configuration file. + rv = pkihelper.read_pki_configuration_file() + if rv != 0: + config.pki_log.error(PKI_UNABLE_TO_PARSE_1, rv) + sys.exit(1) + else: + config.pki_log.debug(log.PKI_DICTIONARY_COMMON) + config.pki_log.debug(pp.pformat(config.pki_common_dict)) + config.pki_log.debug(log.PKI_DICTIONARY_WEB_SERVER) + config.pki_log.debug(pp.pformat(config.pki_web_server_dict)) + config.pki_log.debug(log.PKI_DICTIONARY_SUBSYSTEM) + config.pki_log.debug(pp.pformat(config.pki_subsystem_dict)) + + # Override PKI configuration file values with 'custom' command-line values. + if not config.pki_instance_name is None: + config.pki_common_dict['pki_instance_name'] =\ + config.pki_instance_name + if not config.pki_http_port is None: + config.pki_web_server_dict['pki_http_port'] =\ + config.pki_http_port + if not config.pki_https_port is None: + config.pki_web_server_dict['pki_https_port'] =\ + config.pki_https_port + if not config.pki_ajp_port is None: + config.pki_web_server_dict['pki_ajp_port'] =\ + config.pki_ajp_port + config.pki_log.debug(log.PKI_DICTIONARY_COMMON) + config.pki_log.debug(pp.pformat(config.pki_common_dict)) + config.pki_log.debug(log.PKI_DICTIONARY_WEB_SERVER) + config.pki_log.debug(pp.pformat(config.pki_web_server_dict)) + config.pki_log.debug(log.PKI_DICTIONARY_SUBSYSTEM) + config.pki_log.debug(pp.pformat(config.pki_subsystem_dict)) + + # Combine the various sectional dictionaries into a PKI master dictionary + pkihelper.create_pki_master_dictionary() + config.pki_log.debug(log.PKI_DICTIONARY_MASTER) + config.pki_log.debug(pp.pformat(config.pki_master_dict)) + + # Remove the specified PKI subsystem. + pki_scriptlets_path = config.pki_root_prefix +\ + config.PKIDESTROY_PATH +\ + "/" + config.pki_subsystem.lower() + if not os.path.exists(pki_scriptlets_path) or\ + not os.path.isdir(pki_scriptlets_path): + config.pki_log.error(log.PKI_DIRECTORY_MISSING_OR_NOT_A_DIRECTORY_1, + pki_scriptlets_path) + sys.exit(1) + pki_subsystem_scriptlets = os.listdir(pki_scriptlets_path) + pki_subsystem_scriptlets.sort() + + # Process the various "scriptlets" for the specified PKI subsystem. + rv = 0 + config.pki_log.info(log.PKIDESTROY_BEGIN_MESSAGE_2, + config.pki_subsystem, + config.pki_master_dict['pki_instance_name']) + for pki_scriptlet in pki_subsystem_scriptlets: + scriptlet = __import__(config.PKI_DEPLOYMENT_SCRIPTLETS_MODULE +\ + '.' + pki_scriptlet[5:], + fromlist = [pki_scriptlet[5:]]) + instance = scriptlet.PkiScriptlet() + rv = instance.destroy() + if rv != 0: + sys.exit(1) + config.pki_log.info(log.PKIDESTROY_END_MESSAGE_2, + config.pki_subsystem, + config.pki_master_dict['pki_instance_name']) + config.pki_log.debug(log.PKI_DICTIONARY_MASTER) + config.pki_log.debug(pp.pformat(config.pki_master_dict)) + + +# PKI Deployment Entry Point +if __name__ == "__main__": + main(sys.argv) + -- cgit