diff options
| author | Endi Sukma Dewata <edewata@redhat.com> | 2012-12-18 14:46:41 -0500 |
|---|---|---|
| committer | Endi Sukma Dewata <edewata@redhat.com> | 2013-01-29 17:24:58 -0500 |
| commit | 53b6f1d1dabff720c68eb7615830476b97f973cc (patch) | |
| tree | beab24e89cde7d2a3337cf9e311add33ed689256 /base/deploy/src/pkidestroy | |
| parent | a076bc976666f1713b3f2e3982f4700b88397e74 (diff) | |
| download | pki-ticket-380-7.tar.gz pki-ticket-380-7.tar.xz pki-ticket-380-7.zip | |
Added interactive subsystem installation.ticket-380-7
The pkispawn has been modified such that the configuration file
and subsystem type are optional. The pkidestroy has been modified
such that the instance name and subsystem type are optional.
If any of these options are not specified they will enter an
interactive mode.
Ticket #380
Diffstat (limited to 'base/deploy/src/pkidestroy')
| -rwxr-xr-x | base/deploy/src/pkidestroy | 66 |
1 files changed, 46 insertions, 20 deletions
diff --git a/base/deploy/src/pkidestroy b/base/deploy/src/pkidestroy index edb57e9ac..f2af57578 100755 --- a/base/deploy/src/pkidestroy +++ b/base/deploy/src/pkidestroy @@ -1,4 +1,4 @@ -#!/usr/bin/python -t +#!/usr/bin/python -tu # Authors: # Matthew Harmsen <mharmsen@redhat.com> # @@ -52,6 +52,10 @@ error was: def main(argv): "main entry point" + print "PKI Server Removal" + print "------------------" + print + config.pki_deployment_executable = os.path.basename(argv[0]) # Only run this program as "root". @@ -97,14 +101,46 @@ def main(argv): parser.mandatory.add_argument('-i', dest='pki_deployed_instance_name', action='store', - nargs=1, required=True, metavar='<instance>', + nargs=1, metavar='<instance>', help='FORMAT: ${pki_instance_name}') args = parser.process_command_line_arguments(argv) - # -i <instance name> - config.pki_deployed_instance_name =\ - str(args.pki_deployed_instance_name).strip('[\']') + interactive = False + + while True: + + # -s <subsystem> + if args.pki_subsystem is None: + interactive = True + config.pki_subsystem = parser.read_text('Subsystem (CA/KRA/OCSP/TKS)', + options=['CA', 'KRA', 'OCSP', 'TKS'], + default='CA', caseSensitive=False).upper() + else: + config.pki_subsystem = str(args.pki_subsystem).strip('[\']') + + # -i <instance name> + if args.pki_deployed_instance_name is None: + interactive = True + config.pki_deployed_instance_name = parser.read_text('Instance', default='pki-tomcat') + else: + config.pki_deployed_instance_name = str(args.pki_deployed_instance_name).strip('[\']') + + if interactive: + print + + begin = parser.read_text('Begin removal (Yes/No/Quit)', + options=['Yes', 'Y', 'No', 'N', 'Quit', 'Q'], + sign='?', allowEmpty=False, caseSensitive=False).lower() + + print + + if begin == 'q' or begin == 'quit': + print "Removal canceled." + sys.exit(0) + + elif begin == 'y' or begin == 'yes': + break # verify that previously deployed instance exists deployed_pki_instance_path = config.pki_root_prefix +\ @@ -134,7 +170,8 @@ def main(argv): config.pki_subsystem.lower() + "/" +\ config.USER_DEPLOYMENT_CONFIGURATION - parser.validate() + parser.initialize() + parser.initialize_config() # Enable 'pkidestroy' logging. config.pki_log_dir = config.pki_root_prefix +\ @@ -161,20 +198,6 @@ def main(argv): extra=config.PKI_INDENTATION_LEVEL_0) sys.exit(1) - # NEVER print out 'sensitive' name/value pairs!!! - config.pki_log.debug(log.PKI_DICTIONARY_DEFAULT, - extra=config.PKI_INDENTATION_LEVEL_0) - config.pki_log.debug(pkilogging.format(config.pki_default_dict), - extra=config.PKI_INDENTATION_LEVEL_0) - config.pki_log.debug(log.PKI_DICTIONARY_WEB_SERVER, - extra=config.PKI_INDENTATION_LEVEL_0) - config.pki_log.debug(pkilogging.format(config.pki_web_server_dict), - extra=config.PKI_INDENTATION_LEVEL_0) - config.pki_log.debug(log.PKI_DICTIONARY_SUBSYSTEM, - extra=config.PKI_INDENTATION_LEVEL_0) - config.pki_log.debug(pkilogging.format(config.pki_subsystem_dict), - extra=config.PKI_INDENTATION_LEVEL_0) - # Combine the various sectional dictionaries into a PKI master dictionary parser.compose_pki_master_dictionary() config.pki_master_dict['pki_destroy_log'] = config.pki_log_dir + "/" +\ @@ -200,6 +223,9 @@ def main(argv): config.pki_log.debug(pkilogging.format(config.pki_master_dict), extra=config.PKI_INDENTATION_LEVEL_0) + print + print "Removal complete." + # PKI Deployment Entry Point if __name__ == "__main__": |
