Commit 55ca6714 authored by Vincent Pelletier's avatar Vincent Pelletier

Add the possibility to provide a UUID to a node upon startup. Mostly usefull...

Add the possibility to provide a UUID to a node upon startup. Mostly usefull in functional tests where we want to map a process to its UUID.


git-svn-id: https://svn.erp5.org/repos/neo/branches/prototype3@1141 71dcc9de-d417-0410-9af5-da40c76e7ee4
parent 631f2363
...@@ -50,7 +50,7 @@ class Dispatcher: ...@@ -50,7 +50,7 @@ class Dispatcher:
class Application(object): class Application(object):
"""The storage node application.""" """The storage node application."""
def __init__(self, filename, section): def __init__(self, filename, section, uuid=None):
config = ConfigurationManager(filename, section) config = ConfigurationManager(filename, section)
self.name = config.getName() self.name = config.getName()
...@@ -69,7 +69,7 @@ class Application(object): ...@@ -69,7 +69,7 @@ class Application(object):
# The partition table is initialized after getting the number of # The partition table is initialized after getting the number of
# partitions. # partitions.
self.pt = None self.pt = None
self.uuid = None self.uuid = uuid
self.primary_master_node = None self.primary_master_node = None
self.ptid = None self.ptid = None
self.monitoring_handler = MasterMonitoringEventHandler(self) self.monitoring_handler = MasterMonitoringEventHandler(self)
......
...@@ -41,7 +41,7 @@ REQUIRED_NODE_NUMBER = 1 ...@@ -41,7 +41,7 @@ REQUIRED_NODE_NUMBER = 1
class Application(object): class Application(object):
"""The master node application.""" """The master node application."""
def __init__(self, filename, section): def __init__(self, filename, section, uuid=None):
config = ConfigurationManager(filename, section) config = ConfigurationManager(filename, section)
self.connector_handler = getConnectorHandler(config.getConnector()) self.connector_handler = getConnectorHandler(config.getConnector())
...@@ -77,7 +77,9 @@ class Application(object): ...@@ -77,7 +77,9 @@ class Application(object):
self.cluster_state = None self.cluster_state = None
# Generate an UUID for self # Generate an UUID for self
self.uuid = self.getNewUUID(protocol.MASTER_NODE_TYPE) if uuid is None:
uuid = self.getNewUUID(protocol.MASTER_NODE_TYPE)
self.uuid = uuid
# The last OID. # The last OID.
self.loid = None self.loid = None
......
...@@ -39,10 +39,10 @@ from neo.bootstrap import BootstrapManager ...@@ -39,10 +39,10 @@ from neo.bootstrap import BootstrapManager
class Application(object): class Application(object):
"""The storage node application.""" """The storage node application."""
def __init__(self, filename, section, reset=False): def __init__(self, filename, section, reset=False, uuid=None):
config = ConfigurationManager(filename, section) config = ConfigurationManager(filename, section)
self.uuid = None self.uuid = uuid
self.name = config.getName() self.name = config.getName()
logging.debug('the name is %s', self.name) logging.debug('the name is %s', self.name)
self.connector_handler = getConnectorHandler(config.getConnector()) self.connector_handler = getConnectorHandler(config.getConnector())
......
...@@ -22,6 +22,8 @@ from optparse import OptionParser ...@@ -22,6 +22,8 @@ from optparse import OptionParser
from neo import setupLog from neo import setupLog
parser = OptionParser() parser = OptionParser()
parser.add_option('-u', '--uuid', help='specify an UUID to use for this ' \
'process')
parser.add_option('-v', '--verbose', action = 'store_true', parser.add_option('-v', '--verbose', action = 'store_true',
help = 'print verbose messages') help = 'print verbose messages')
parser.add_option('-c', '--config', help = 'specify a configuration file') parser.add_option('-c', '--config', help = 'specify a configuration file')
...@@ -31,10 +33,13 @@ parser.add_option('-l', '--logfile', help = 'specify a logging file') ...@@ -31,10 +33,13 @@ parser.add_option('-l', '--logfile', help = 'specify a logging file')
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
config = options.config or 'neo.conf' config = options.config or 'neo.conf'
section = options.section or 'admin' section = options.section or 'admin'
uuid = options.uuid
if uuid is not None:
uuid = bin(uuid)
logfile = options.logfile or None logfile = options.logfile or None
setupLog(section, logfile, options.verbose) setupLog(section, logfile, options.verbose)
from neo.admin.app import Application from neo.admin.app import Application
app = Application(config, section) app = Application(config, section, uuid)
app.run() app.run()
...@@ -20,8 +20,11 @@ ...@@ -20,8 +20,11 @@
from optparse import OptionParser from optparse import OptionParser
from neo import setupLog from neo import setupLog
from neo.util import bin
parser = OptionParser() parser = OptionParser()
parser.add_option('-u', '--uuid', help='specify an UUID to use for this ' \
'process')
parser.add_option('-v', '--verbose', action = 'store_true', parser.add_option('-v', '--verbose', action = 'store_true',
help = 'print verbose messages') help = 'print verbose messages')
parser.add_option('-c', '--config', help = 'specify a configuration file') parser.add_option('-c', '--config', help = 'specify a configuration file')
...@@ -31,10 +34,13 @@ parser.add_option('-l', '--logfile', help = 'specify a logging file') ...@@ -31,10 +34,13 @@ parser.add_option('-l', '--logfile', help = 'specify a logging file')
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
config = options.config or 'neo.conf' config = options.config or 'neo.conf'
section = options.section or 'master' section = options.section or 'master'
uuid = options.uuid
if uuid is not None:
uuid = bin(uuid)
logfile = options.logfile or None logfile = options.logfile or None
setupLog(section, logfile, options.verbose) setupLog(section, logfile, options.verbose)
from neo.master.app import Application from neo.master.app import Application
app = Application(config, section) app = Application(config, section, uuid)
app.run() app.run()
...@@ -23,6 +23,9 @@ from neo import setupLog ...@@ -23,6 +23,9 @@ from neo import setupLog
parser = OptionParser() parser = OptionParser()
parser.add_option('-u', '--uuid', help='specify an UUID to use for this ' \
'process. Previously assigned UUID takes precedence (ie ' \
'you should always use -R with this switch)')
parser.add_option('-v', '--verbose', action = 'store_true', parser.add_option('-v', '--verbose', action = 'store_true',
help = 'print verbose messages') help = 'print verbose messages')
parser.add_option('-c', '--config', help = 'specify a configuration file') parser.add_option('-c', '--config', help = 'specify a configuration file')
...@@ -34,10 +37,13 @@ parser.add_option('-R', '--reset', action = 'store_true', ...@@ -34,10 +37,13 @@ parser.add_option('-R', '--reset', action = 'store_true',
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
config = options.config or 'neo.conf' config = options.config or 'neo.conf'
section = options.section or 'storage' section = options.section or 'storage'
uuid = options.uuid
if uuid is not None:
uuid = bin(uuid)
logfile = options.logfile or None logfile = options.logfile or None
setupLog(section, logfile, options.verbose) setupLog(section, logfile, options.verbose)
from neo.storage.app import Application from neo.storage.app import Application
app = Application(config, section, options.reset) app = Application(config, section, options.reset, uuid=uuid)
app.run() app.run()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment