Skip to content

Commit

Permalink
Added pki-server status CLI
Browse files Browse the repository at this point in the history
A new pki-server command has been added to display the server
status.
  • Loading branch information
edewata committed Feb 11, 2019
1 parent 6fec18a commit d09bb7d
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 5 deletions.
2 changes: 1 addition & 1 deletion base/server/python/pki/server/__init__.py
Expand Up @@ -91,7 +91,7 @@ def __lt__(self, other):
return self.name < other.name

def is_valid(self):
return os.path.exists(self.server_xml)
return os.path.exists(self.base_dir)

def validate(self):
if not self.is_valid():
Expand Down
83 changes: 79 additions & 4 deletions base/server/python/pki/server/cli/__init__.py
Expand Up @@ -21,6 +21,7 @@
from __future__ import absolute_import
from __future__ import print_function
import getopt
import logging
import sys

import pki.cli
Expand Down Expand Up @@ -52,6 +53,7 @@ def __init__(self):
'pki-server',
'PKI server command-line interface')

self.add_module(pki.server.cli.StatusCLI())
self.add_module(pki.server.cli.StartCLI())
self.add_module(pki.server.cli.StopCLI())

Expand Down Expand Up @@ -116,6 +118,67 @@ def execute(self, argv):

super(PKIServerCLI, self).execute(args)

@staticmethod
def print_status(server):
print(' Server ID: %s' % server.name)
print(' Active: %s' % server.is_active())


class StatusCLI(pki.cli.CLI):

def __init__(self):
super(StatusCLI, self).__init__('status', 'Display server status')

def print_help(self):
print('Usage: pki-server status [OPTIONS] [<server ID>]')
print()
print(' -v, --verbose Run in verbose mode.')
print(' --debug Run in debug mode.')
print(' --help Show help message.')
print()

def execute(self, argv):

logging.basicConfig(format='%(levelname)s: %(message)s')

try:
opts, args = getopt.gnu_getopt(argv, 'v', [
'verbose', 'debug', 'help'])

except getopt.GetoptError as e:
print('ERROR: %s' % e)
self.print_help()
sys.exit(1)

server_name = 'pki-tomcat'

for o, _ in opts:
if o in ('-v', '--verbose'):
logging.getLogger().setLevel(logging.INFO)

elif o == '--debug':
logging.getLogger().setLevel(logging.DEBUG)

elif o == '--help':
self.print_help()
sys.exit()

else:
print('ERROR: Unknown option: %s' % o)
self.print_help()
sys.exit(1)

if len(args) > 0:
server_name = args[0]

server = pki.server.PKIServer(server_name)

if not server.is_valid():
print('ERROR: Invalid server: %s' % server_name)
sys.exit(1)

PKIServerCLI.print_status(server)


class StartCLI(pki.cli.CLI):

Expand All @@ -126,14 +189,17 @@ def print_help(self):
print('Usage: pki-server start [OPTIONS] [<server ID>]')
print()
print(' -v, --verbose Run in verbose mode.')
print(' --debug Run in debug mode.')
print(' --help Show help message.')
print()

def execute(self, argv):

logging.basicConfig(format='%(levelname)s: %(message)s')

try:
opts, args = getopt.gnu_getopt(argv, 'v', [
'verbose', 'help'])
'verbose', 'debug', 'help'])

except getopt.GetoptError as e:
print('ERROR: %s' % e)
Expand All @@ -144,7 +210,10 @@ def execute(self, argv):

for o, _ in opts:
if o in ('-v', '--verbose'):
self.set_verbose(True)
logging.getLogger().setLevel(logging.INFO)

elif o == '--debug':
logging.getLogger().setLevel(logging.DEBUG)

elif o == '--help':
self.print_help()
Expand Down Expand Up @@ -180,14 +249,17 @@ def print_help(self):
print('Usage: pki-server stop [OPTIONS] [<server ID>]')
print()
print(' -v, --verbose Run in verbose mode.')
print(' --debug Run in debug mode.')
print(' --help Show help message.')
print()

def execute(self, argv):

logging.basicConfig(format='%(levelname)s: %(message)s')

try:
opts, args = getopt.gnu_getopt(argv, 'v', [
'verbose', 'help'])
'verbose', 'debug', 'help'])

except getopt.GetoptError as e:
print('ERROR: %s' % e)
Expand All @@ -198,7 +270,10 @@ def execute(self, argv):

for o, _ in opts:
if o in ('-v', '--verbose'):
self.set_verbose(True)
logging.getLogger().setLevel(logging.INFO)

elif o == '--debug':
logging.getLogger().setLevel(logging.DEBUG)

elif o == '--help':
self.print_help()
Expand Down

0 comments on commit d09bb7d

Please sign in to comment.