summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
Diffstat (limited to 'base')
-rw-r--r--base/common/python/pki/cli.py7
-rw-r--r--base/server/python/pki/server/__init__.py18
-rw-r--r--base/server/python/pki/server/cli/instance.py28
-rw-r--r--base/server/python/pki/server/cli/migrate.py14
-rw-r--r--base/server/python/pki/server/cli/nuxwdog.py4
-rw-r--r--base/server/python/pki/server/cli/subsystem.py14
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'])