diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/common/python/pki/cli.py | 7 | ||||
-rw-r--r-- | base/server/python/pki/server/__init__.py | 18 | ||||
-rw-r--r-- | base/server/python/pki/server/cli/instance.py | 28 | ||||
-rw-r--r-- | base/server/python/pki/server/cli/migrate.py | 14 | ||||
-rw-r--r-- | base/server/python/pki/server/cli/nuxwdog.py | 4 | ||||
-rw-r--r-- | base/server/python/pki/server/cli/subsystem.py | 14 |
6 files changed, 56 insertions, 29 deletions
diff --git a/base/common/python/pki/cli.py b/base/common/python/pki/cli.py index 4379780b2..2c51056f8 100644 --- a/base/common/python/pki/cli.py +++ b/base/common/python/pki/cli.py @@ -31,7 +31,6 @@ class CLI(object): self.name = name self.description = description self.parent = None - self.top = self self.verbose = False self.debug = False @@ -59,11 +58,15 @@ class CLI(object): def add_module(self, module): self.modules[module.name] = module module.parent = self - module.top = self.top def get_module(self, name): return self.modules.get(name) + def get_top_module(self): + if self.parent: + return self.parent.get_top_module() + return self + def print_message(self, message): print '-' * len(message) print message diff --git a/base/server/python/pki/server/__init__.py b/base/server/python/pki/server/__init__.py index 89d4acfd5..dbb18cd3d 100644 --- a/base/server/python/pki/server/__init__.py +++ b/base/server/python/pki/server/__init__.py @@ -431,3 +431,21 @@ class PKIServerException(pki.PKIException): self.instance = instance self.subsystem = subsystem + + +class Tomcat(object): + + @classmethod + def get_major_version(self): + + # run "tomcat version" + output = subprocess.check_output(['/usr/sbin/tomcat', 'version']) + + # find "Server version: Apache Tomcat/<major version>.<minor version>" + match = re.search(r'^Server version:[^/]*/(\d+).*$', output, re.MULTILINE) + + if not match: + raise Exception('Unable to determine Tomcat version') + + # return major version + return match.group(1) diff --git a/base/server/python/pki/server/cli/instance.py b/base/server/python/pki/server/cli/instance.py index becad1447..9f0788b69 100644 --- a/base/server/python/pki/server/cli/instance.py +++ b/base/server/python/pki/server/cli/instance.py @@ -63,7 +63,7 @@ class InstanceFindCLI(pki.cli.CLI): def execute(self, argv): try: - opts, _ = getopt.getopt(argv, 'i:v', [ + opts, _ = getopt.gnu_getopt(argv, 'i:v', [ 'verbose', 'help']) except getopt.GetoptError as e: @@ -123,7 +123,7 @@ class InstanceShowCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'verbose', 'help']) except getopt.GetoptError as e: @@ -172,7 +172,7 @@ class InstanceStartCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'verbose', 'help']) except getopt.GetoptError as e: @@ -222,7 +222,7 @@ class InstanceStopCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'verbose', 'help']) except getopt.GetoptError as e: @@ -274,7 +274,7 @@ class InstanceMigrateCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'tomcat=', 'verbose', 'debug', 'help']) except getopt.GetoptError as e: @@ -311,11 +311,12 @@ class InstanceMigrateCLI(pki.cli.CLI): sys.exit(1) if not tomcat_version: - print 'ERROR: missing Tomcat version' - self.print_help() - sys.exit(1) + tomcat_version = pki.server.Tomcat.get_major_version() + + if self.verbose: + print('Migrating to Tomcat %s' % tomcat_version) - module = self.top.find_module('migrate') + module = self.get_top_module().find_module('migrate') module.set_verbose(self.verbose) module.set_debug(self.debug) @@ -343,7 +344,7 @@ class InstanceNuxwdogEnableCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'verbose', 'help']) except getopt.GetoptError as e: @@ -369,7 +370,7 @@ class InstanceNuxwdogEnableCLI(pki.cli.CLI): self.print_help() sys.exit(1) - #module = self.top.find_module('nuxwdog-enable') + module = self.get_top_module().find_module('nuxwdog-enable') module = pki.server.cli.nuxwdog.NuxwdogEnableCLI() module.set_verbose(self.verbose) @@ -397,7 +398,7 @@ class InstanceNuxwdogDisableCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'verbose', 'help']) except getopt.GetoptError as e: @@ -423,8 +424,7 @@ class InstanceNuxwdogDisableCLI(pki.cli.CLI): self.print_help() sys.exit(1) - # module = self.top.find_module('nuxwdog-disable') - module = pki.server.cli.nuxwdog.NuxwdogDisableCLI() + module = self.get_top_module().find_module('nuxwdog-disable') module.set_verbose(self.verbose) instance = pki.server.PKIInstance(instance_name) diff --git a/base/server/python/pki/server/cli/migrate.py b/base/server/python/pki/server/cli/migrate.py index bb807d8ca..cb3ba8f6c 100644 --- a/base/server/python/pki/server/cli/migrate.py +++ b/base/server/python/pki/server/cli/migrate.py @@ -48,7 +48,7 @@ class MigrateCLI(pki.cli.CLI): def execute(self, argv): try: - opts, _ = getopt.getopt(argv, 'i:v', [ + opts, _ = getopt.gnu_getopt(argv, 'i:v', [ 'tomcat=', 'verbose', 'debug', 'help']) except getopt.GetoptError as e: @@ -79,9 +79,10 @@ class MigrateCLI(pki.cli.CLI): sys.exit(1) if not tomcat_version: - print 'ERROR: missing Tomcat version' - self.print_help() - sys.exit(1) + tomcat_version = pki.server.Tomcat.get_major_version() + + if self.verbose: + print('Migrating to Tomcat %s' % tomcat_version) instances = pki.server.PKIServer.instances() @@ -97,6 +98,9 @@ class MigrateCLI(pki.cli.CLI): def migrate_instance(self, instance, tomcat_version): + if self.verbose: + print('Migrating %s instance' % instance.name) + server_xml = os.path.join(instance.conf_dir, 'server.xml') self.migrate_server_xml(server_xml, tomcat_version) @@ -376,6 +380,8 @@ class MigrateCLI(pki.cli.CLI): self.migrate_subsystem(subsystem, tomcat_version) def migrate_subsystem(self, subsystem, tomcat_version): + if self.verbose: + print('Migrating %s/%s subsystem' % (subsystem.instance.name, subsystem.name)) self.migrate_context_xml(subsystem.context_xml, tomcat_version) diff --git a/base/server/python/pki/server/cli/nuxwdog.py b/base/server/python/pki/server/cli/nuxwdog.py index d6ef91e43..5f14e61fe 100644 --- a/base/server/python/pki/server/cli/nuxwdog.py +++ b/base/server/python/pki/server/cli/nuxwdog.py @@ -66,7 +66,7 @@ class NuxwdogEnableCLI(pki.cli.CLI): def execute(self, argv): try: - opts, _ = getopt.getopt(argv, 'i:v', [ + opts, _ = getopt.gnu_getopt(argv, 'i:v', [ 'verbose', 'help']) except getopt.GetoptError as e: @@ -272,7 +272,7 @@ class NuxwdogDisableCLI(pki.cli.CLI): def execute(self, argv): try: - opts, _ = getopt.getopt(argv, 'i:v', [ + opts, _ = getopt.gnu_getopt(argv, 'i:v', [ 'verbose', 'help']) except getopt.GetoptError as e: diff --git a/base/server/python/pki/server/cli/subsystem.py b/base/server/python/pki/server/cli/subsystem.py index 19db203c0..cd0e8566e 100644 --- a/base/server/python/pki/server/cli/subsystem.py +++ b/base/server/python/pki/server/cli/subsystem.py @@ -67,7 +67,7 @@ class SubsystemFindCLI(pki.cli.CLI): def execute(self, args): try: - opts, _ = getopt.getopt(args, 'i:v', [ + opts, _ = getopt.gnu_getopt(args, 'i:v', [ 'instance=', 'verbose', 'help']) @@ -125,7 +125,7 @@ class SubsystemShowCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'instance=', 'verbose', 'help']) @@ -182,7 +182,7 @@ class SubsystemEnableCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'instance=', 'verbose', 'help']) @@ -242,7 +242,7 @@ class SubsystemDisableCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'instance=', 'verbose', 'help']) @@ -322,7 +322,7 @@ class SubsystemCertFindCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'instance=', 'verbose', 'help']) @@ -390,7 +390,7 @@ class SubsystemCertShowCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'instance=', 'verbose', 'help']) @@ -455,7 +455,7 @@ class SubsystemCertUpdateCLI(pki.cli.CLI): def execute(self, argv): try: - opts, args = getopt.getopt(argv, 'i:v', [ + opts, args = getopt.gnu_getopt(argv, 'i:v', [ 'instance=', 'verbose', 'help']) |