#5 - Replace class khaganatHTTPServer by OpenNeLHTTPServer
This commit is contained in:
parent
00160cdf5c
commit
8d8f199037
7 changed files with 50 additions and 42 deletions
|
@ -217,7 +217,7 @@ class Certificate:
|
||||||
'stateOrProvinceName_default = France\n'
|
'stateOrProvinceName_default = France\n'
|
||||||
'localityName = Locality Name (eg, city)\n'
|
'localityName = Locality Name (eg, city)\n'
|
||||||
'0.organizationName = Organization Name (eg, company)\n'
|
'0.organizationName = Organization Name (eg, company)\n'
|
||||||
'0.organizationName_default = Khanat\n'
|
'0.organizationName_default = OpenNeL\n'
|
||||||
'organizationalUnitName = Organizational '
|
'organizationalUnitName = Organizational '
|
||||||
'Unit Name (eg, section)\n'
|
'Unit Name (eg, section)\n'
|
||||||
'commonName = Common Name (e.g. server FQDN or YOUR name)\n'
|
'commonName = Common Name (e.g. server FQDN or YOUR name)\n'
|
||||||
|
@ -529,9 +529,9 @@ def main(arguments=sys.argv[1:]):
|
||||||
help='stateOrProvinceName for certicate')
|
help='stateOrProvinceName for certicate')
|
||||||
parser.add_argument('--locality_name', default='Paris',
|
parser.add_argument('--locality_name', default='Paris',
|
||||||
help='localityName for certicate')
|
help='localityName for certicate')
|
||||||
parser.add_argument('--organization_name', default='khanat',
|
parser.add_argument('--organization_name', default='OpenNeL',
|
||||||
help='organizationName for certicate')
|
help='organizationName for certicate')
|
||||||
parser.add_argument('--common_name', default='khanat',
|
parser.add_argument('--common_name', default='OpenNeL',
|
||||||
help='commonName for certicate')
|
help='commonName for certicate')
|
||||||
print("--")
|
print("--")
|
||||||
args = parser.parse_args(arguments)
|
args = parser.parse_args(arguments)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# script to send command to manager khaganat process
|
# script to send command to manager OpenNeL process
|
||||||
#
|
#
|
||||||
# Copyright (C) 2017 AleaJactaEst
|
# Copyright (C) 2017 AleaJactaEst
|
||||||
#
|
#
|
||||||
|
@ -41,7 +41,7 @@ This script need configuration file (see below for model)::
|
||||||
address = 127.0.0.1
|
address = 127.0.0.1
|
||||||
|
|
||||||
|
|
||||||
Manipulate manager khaganat
|
Manipulate manager OpenNeL
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
We can end some command to manager.
|
We can end some command to manager.
|
||||||
|
@ -66,15 +66,15 @@ We can end some command to manager.
|
||||||
|
|
||||||
Example ::
|
Example ::
|
||||||
|
|
||||||
pyclient --command="START" --program="aes" -c /home/gameserver/cfg/khaganat.cfg --log="info" --show-log-console
|
pyclient --command="START" --program="aes" -c /home/gameserver/cfg/opennel_manager.cfg --log="info" --show-log-console
|
||||||
pyclient --command="STATUS" --program="aes" -c /home/gameserver/cfg/khaganat.cfg --log="debug" --show-log-console
|
pyclient --command="STATUS" --program="aes" -c /home/gameserver/cfg/opennel_manager.cfg --log="debug" --show-log-console
|
||||||
pyclient --command="STDIN" --program="aes" --stdin="help all" -c /home/gameserver/cfg/khaganat.cfg --log="debug" --show-log-console
|
pyclient --command="STDIN" --program="aes" --stdin="help all" -c /home/gameserver/cfg/opennel_manager.cfg --log="debug" --show-log-console
|
||||||
pyclient --command="STDOUT" --program="aes" --firstline=0 -c /home/gameserver/cfg/khaganat.cfg --log="debug" --show-log-console
|
pyclient --command="STDOUT" --program="aes" --firstline=0 -c /home/gameserver/cfg/opennel_manager.cfg --log="debug" --show-log-console
|
||||||
pyclient --command="STOP" --program="aes" -c /home/gameserver/cfg/khaganat.cfg --log="debug" --show-log-console
|
pyclient --command="STOP" --program="aes" -c /home/gameserver/cfg/opennel_manager.cfg --log="debug" --show-log-console
|
||||||
pyclient --command="LIST" -c /home/gameserver/cfg/khaganat.cfg --log="debug" --show-log-console
|
pyclient --command="LIST" -c /home/gameserver/cfg/opennel_manager.cfg --log="debug" --show-log-console
|
||||||
pyclient --command="SHUTDOWN" -c /home/gameserver/cfg/khaganat.cfg --log="debug" --show-log-console
|
pyclient --command="SHUTDOWN" -c /home/gameserver/cfg/opennel_manager.cfg --log="debug" --show-log-console
|
||||||
pyclient --command="STARTALL" -c /home/gameserver/cfg/khaganat.cfg --log="debug" --show-log-console
|
pyclient --command="STARTALL" -c /home/gameserver/cfg/opennel_manager.cfg --log="debug" --show-log-console
|
||||||
pyclient --command="STATUSALL" -c /home/gameserver/cfg/khaganat.cfg --log="debug" --show-log-console
|
pyclient --command="STATUSALL" -c /home/gameserver/cfg/opennel_manager.cfg --log="debug" --show-log-console
|
||||||
|
|
||||||
|
|
||||||
You can use curl (to replace this script).
|
You can use curl (to replace this script).
|
||||||
|
@ -366,6 +366,14 @@ def root(command,
|
||||||
client.send_json({'name': program}, 'POST', "/" + command)
|
client.send_json({'name': program}, 'POST', "/" + command)
|
||||||
elif command == 'STATUS':
|
elif command == 'STATUS':
|
||||||
client.send_json({'name': program}, 'GET', "/" + command)
|
client.send_json({'name': program}, 'GET', "/" + command)
|
||||||
|
elif command == 'CONFIG':
|
||||||
|
client.send_json({'name': program}, 'GET', "/" + command)
|
||||||
|
elif command == 'INFO':
|
||||||
|
client.send_json({'name': program}, 'GET', "/" + command)
|
||||||
|
elif command == 'PLAYER':
|
||||||
|
client.send_json({'name': program}, 'GET', "/" + command)
|
||||||
|
elif command == 'ADMINCOMMAND':
|
||||||
|
client.send_json({'name': program}, 'GET', "/" + command)
|
||||||
elif command == 'STDIN':
|
elif command == 'STDIN':
|
||||||
client.send_json({'name': program, 'action': stdin}, 'POST', "/" + command)
|
client.send_json({'name': program, 'action': stdin}, 'POST', "/" + command)
|
||||||
elif command == 'STDOUT':
|
elif command == 'STDOUT':
|
||||||
|
@ -385,7 +393,7 @@ def main(args=sys.argv[1:]):
|
||||||
|
|
||||||
:param list args: all arguments ('--help, '--version', ...)
|
:param list args: all arguments ('--help, '--version', ...)
|
||||||
"""
|
"""
|
||||||
parser = argparse.ArgumentParser(description='Manipulate khaganat process')
|
parser = argparse.ArgumentParser(description='Manipulate OpenNeL process')
|
||||||
parser.add_argument('--version', action='version', version='%(prog)s ' + __VERSION__)
|
parser.add_argument('--version', action='version', version='%(prog)s ' + __VERSION__)
|
||||||
parser.add_argument('--show-log-console', action='store_true',
|
parser.add_argument('--show-log-console', action='store_true',
|
||||||
help='show message in console', default=False)
|
help='show message in console', default=False)
|
||||||
|
@ -393,8 +401,8 @@ def main(args=sys.argv[1:]):
|
||||||
default=None, help='log file')
|
default=None, help='log file')
|
||||||
parser.add_argument('--log',
|
parser.add_argument('--log',
|
||||||
default='INFO', help='log level [DEBUG, INFO, WARNING, ERROR')
|
default='INFO', help='log level [DEBUG, INFO, WARNING, ERROR')
|
||||||
parser.add_argument('--command', help='command send to khganat', default='/STATUS')
|
parser.add_argument('--command', help='command send to OpenNeL', default='/STATUS')
|
||||||
parser.add_argument('--program', help='program khaganat id', default='aes')
|
parser.add_argument('--program', help='program OpenNeL id', default='aes')
|
||||||
parser.add_argument('--stdin', help='action send to stdin', default='')
|
parser.add_argument('--stdin', help='action send to stdin', default='')
|
||||||
parser.add_argument('--firstline', type=int,
|
parser.add_argument('--firstline', type=int,
|
||||||
help='define fistline read for log command', default=0)
|
help='define fistline read for log command', default=0)
|
||||||
|
@ -405,7 +413,7 @@ def main(args=sys.argv[1:]):
|
||||||
'(this option keep current color state)',
|
'(this option keep current color state)',
|
||||||
default=False)
|
default=False)
|
||||||
parser.add_argument('-c', '--conf', type=argparse.FileType('r'),
|
parser.add_argument('-c', '--conf', type=argparse.FileType('r'),
|
||||||
default='khaganat.cfg', help='configuration file')
|
default='opennel_manager.cfg', help='configuration file')
|
||||||
parser.add_argument('-b', '--password-comand-line', action='store_true',
|
parser.add_argument('-b', '--password-comand-line', action='store_true',
|
||||||
help='Use the password from the command line rather than prompting for it.',
|
help='Use the password from the command line rather than prompting for it.',
|
||||||
default=False)
|
default=False)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# script to start/stop/status/send command/read log for khaganat process
|
# script to start/stop/status/send command/read log for OpenNeL process
|
||||||
#
|
#
|
||||||
# Copyright (C) 2017 AleaJactaEst
|
# Copyright (C) 2017 AleaJactaEst
|
||||||
#
|
#
|
||||||
|
@ -88,7 +88,7 @@ This script need configuration file (see below for model)::
|
||||||
Manager
|
Manager
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Manage all process khaganat
|
Manage all process OpenNeL
|
||||||
Launch this prorgam in background and use clientManager to manipulate process
|
Launch this prorgam in background and use clientManager to manipulate process
|
||||||
|
|
||||||
Design
|
Design
|
||||||
|
@ -101,8 +101,8 @@ Design
|
||||||
"Manager" -> "ManageCommand (command 2)";
|
"Manager" -> "ManageCommand (command 2)";
|
||||||
"ManageCommand (command 2)" -> "read_output (thread2)";
|
"ManageCommand (command 2)" -> "read_output (thread2)";
|
||||||
"Manager" -> "ServerHttp";
|
"Manager" -> "ServerHttp";
|
||||||
"ServerHttp" -> "khaganatHTTPServer";
|
"ServerHttp" -> "OpenNeLHTTPServer";
|
||||||
"khaganatHTTPServer" -> "ManageHttpRequest";
|
"OpenNeLHTTPServer" -> "ManageHttpRequest";
|
||||||
"ManageHttpRequest" -> "ManageCommand (command 1)" [style=dashed];
|
"ManageHttpRequest" -> "ManageCommand (command 1)" [style=dashed];
|
||||||
"ManageHttpRequest" -> "ManageCommand (command 2)" [style=dashed];
|
"ManageHttpRequest" -> "ManageCommand (command 2)" [style=dashed];
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ http(s) command :
|
||||||
|
|
||||||
Example ::
|
Example ::
|
||||||
|
|
||||||
nohup pymanager --log info --filelog /home/gameserver/log/manager.log -c /home/gameserver/cfg/khaganat.cfg 2>/dev/null 1>/dev/null 0</dev/zero &
|
nohup pymanager --log info --filelog /home/gameserver/log/manager.log -c /home/gameserver/cfg/opennel_manager.cfg 2>/dev/null 1>/dev/null 0</dev/zero &
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -510,9 +510,9 @@ class ManageHttpRequest(http.server.SimpleHTTPRequestHandler):
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
|
|
||||||
|
|
||||||
class khaganatHTTPServer(ThreadingMixIn, http.server.HTTPServer):
|
class OpenNeLHTTPServer(ThreadingMixIn, http.server.HTTPServer):
|
||||||
"""
|
"""
|
||||||
Class khaganatHTTPServer
|
Class OpenNeLHTTPServer
|
||||||
Redefine HTTPServer (adding queue input & queue output, use by ManageHttpRequest)
|
Redefine HTTPServer (adding queue input & queue output, use by ManageHttpRequest)
|
||||||
"""
|
"""
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
|
@ -554,13 +554,13 @@ class ServerHttp(multiprocessing.Process):
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
server_address = (self.address, self.port)
|
server_address = (self.address, self.port)
|
||||||
httpd = khaganatHTTPServer(self.listQueueIn,
|
httpd = OpenNeLHTTPServer(self.listQueueIn,
|
||||||
self.listQueueOut,
|
self.listQueueOut,
|
||||||
self.listSemaphore,
|
self.listSemaphore,
|
||||||
server_address,
|
server_address,
|
||||||
ManageHttpRequest,
|
ManageHttpRequest,
|
||||||
self.authentification,
|
self.authentification,
|
||||||
self.users)
|
self.users)
|
||||||
if self.method == 'http':
|
if self.method == 'http':
|
||||||
logging.info('http listen')
|
logging.info('http listen')
|
||||||
elif self.method == 'https':
|
elif self.method == 'https':
|
||||||
|
@ -1350,7 +1350,7 @@ class Manager():
|
||||||
activate_filter, size_max_filter, add_filter, del_filter,
|
activate_filter, size_max_filter, add_filter, del_filter,
|
||||||
autostart, restart_after_crash, restart_delay, egs_filter):
|
autostart, restart_after_crash, restart_delay, egs_filter):
|
||||||
"""
|
"""
|
||||||
Thread to manage khaganat program
|
Thread to manage OpenNeL program
|
||||||
"""
|
"""
|
||||||
logging.debug("Initialize '%s'" % name)
|
logging.debug("Initialize '%s'" % name)
|
||||||
manageCommand = ManageCommand(name=name,
|
manageCommand = ManageCommand(name=name,
|
||||||
|
@ -1504,10 +1504,10 @@ def main(args=sys.argv[1:]):
|
||||||
|
|
||||||
:param list args: all arguments ('--help, '--version', ...)
|
:param list args: all arguments ('--help, '--version', ...)
|
||||||
"""
|
"""
|
||||||
parser = argparse.ArgumentParser(description='Manage khaganat process')
|
parser = argparse.ArgumentParser(description='Manage OpenNeL process')
|
||||||
parser.add_argument('--version', action='version', version='%(prog)s ' + __VERSION__)
|
parser.add_argument('--version', action='version', version='%(prog)s ' + __VERSION__)
|
||||||
parser.add_argument('-c', '--conf', type=argparse.FileType('r'),
|
parser.add_argument('-c', '--conf', type=argparse.FileType('r'),
|
||||||
default='khaganat.cfg', help='configuration file')
|
default='opennel_manager.cfg', help='configuration file')
|
||||||
parser.add_argument('--show-log-console', action='store_true',
|
parser.add_argument('--show-log-console', action='store_true',
|
||||||
help='show message in console', default=False)
|
help='show message in console', default=False)
|
||||||
parser.add_argument('--filelog', type=argparse.FileType('wt'),
|
parser.add_argument('--filelog', type=argparse.FileType('wt'),
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Configuration management program khaganat
|
# Configuration management program OpenNeL
|
||||||
#
|
#
|
||||||
# Copyright (C) 2017 AleaJactaEst
|
# Copyright (C) 2017 AleaJactaEst
|
||||||
#
|
#
|
||||||
|
|
|
@ -39,8 +39,8 @@ class TestCertificate(unittest.TestCase):
|
||||||
self.country_name = 'FR'
|
self.country_name = 'FR'
|
||||||
self.state_or_province_name = 'France'
|
self.state_or_province_name = 'France'
|
||||||
self.locality_name = 'Paris'
|
self.locality_name = 'Paris'
|
||||||
self.organization_name = 'khanat'
|
self.organization_name = 'OpenNeL'
|
||||||
self.common_name = 'khanat'
|
self.common_name = 'OpenNeL'
|
||||||
|
|
||||||
def testInitialize(self):
|
def testInitialize(self):
|
||||||
logfile = tempfile.NamedTemporaryFile(suffix=".log")
|
logfile = tempfile.NamedTemporaryFile(suffix=".log")
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Configuration management program khaganat
|
# Configuration management program OpenNeL
|
||||||
#
|
#
|
||||||
# Copyright (C) 2017 AleaJactaEst
|
# Copyright (C) 2017 AleaJactaEst
|
||||||
#
|
#
|
||||||
|
|
|
@ -75,8 +75,8 @@ class TestManager(unittest.TestCase):
|
||||||
self.country_name = 'FR'
|
self.country_name = 'FR'
|
||||||
self.state_or_province_name = 'France'
|
self.state_or_province_name = 'France'
|
||||||
self.locality_name = 'Paris'
|
self.locality_name = 'Paris'
|
||||||
self.organization_name = 'khanat'
|
self.organization_name = 'OpenNeL'
|
||||||
self.common_name = 'khanat'
|
self.common_name = 'OpenNeL'
|
||||||
self.path = os.path.dirname(os.path.abspath(__file__))
|
self.path = os.path.dirname(os.path.abspath(__file__))
|
||||||
self.program = os.path.join(self.path, 'simulate_program.py')
|
self.program = os.path.join(self.path, 'simulate_program.py')
|
||||||
self.badprogram = os.path.join(self.path, 'test.cfg')
|
self.badprogram = os.path.join(self.path, 'test.cfg')
|
||||||
|
@ -674,7 +674,7 @@ class TestManager(unittest.TestCase):
|
||||||
|
|
||||||
def _runCommand(self, name, command, path, logsize, bufsize, queueIn, queueOut, semaphore):
|
def _runCommand(self, name, command, path, logsize, bufsize, queueIn, queueOut, semaphore):
|
||||||
"""
|
"""
|
||||||
Thread to manage khaganat program
|
Thread to manage OpenNeL program
|
||||||
"""
|
"""
|
||||||
signal.alarm(10)
|
signal.alarm(10)
|
||||||
manageCommand = Manager.ManageCommand(name=name,
|
manageCommand = Manager.ManageCommand(name=name,
|
||||||
|
|
Loading…
Reference in a new issue