Skip to content

Commit

Permalink
Added pki-server restart
Browse files Browse the repository at this point in the history
  • Loading branch information
edewata committed Apr 11, 2019
1 parent 6e6ed1d commit 07e6a9d
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
5 changes: 5 additions & 0 deletions base/server/python/pki/server/__init__.py
Expand Up @@ -234,6 +234,11 @@ def stop(self):
logger.debug('Command: %s', ' '.join(cmd))
subprocess.check_call(cmd)

def restart(self):
cmd = ['systemctl', 'restart', '%s.service' % self.service_name]
logger.debug('Command: %s', ' '.join(cmd))
subprocess.check_call(cmd)

def makedirs(self, path, force=False):
pki.util.makedirs(
path, uid=self.uid, gid=self.gid, force=force)
Expand Down
55 changes: 55 additions & 0 deletions base/server/python/pki/server/cli/__init__.py
Expand Up @@ -63,6 +63,7 @@ def __init__(self):
self.add_module(pki.server.cli.StatusCLI())
self.add_module(pki.server.cli.StartCLI())
self.add_module(pki.server.cli.StopCLI())
self.add_module(pki.server.cli.RestartCLI())

self.add_module(pki.server.cli.http.HTTPCLI())
self.add_module(pki.server.cli.listener.ListenerCLI())
Expand Down Expand Up @@ -427,3 +428,57 @@ def execute(self, argv):
return

instance.stop()


class RestartCLI(pki.cli.CLI):

def __init__(self):
super(RestartCLI, self).__init__('restart', 'Restart instance')

def print_help(self):
print('Usage: pki-server restart [OPTIONS] [<instance 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):

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)

instance_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:
instance_name = args[0]

instance = pki.server.PKIServerFactory.create(instance_name)

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

instance.restart()

0 comments on commit 07e6a9d

Please sign in to comment.