Commit e12bb75e authored by Michal 'vorner' Vaner's avatar Michal 'vorner' Vaner
Browse files

[2922] More line wrapping

parent 7035e189
......@@ -89,7 +89,8 @@ logger = isc.log.Logger("init")
DBG_PROCESS = logger.DBGLVL_TRACE_BASIC
DBG_COMMANDS = logger.DBGLVL_TRACE_DETAIL
# Messages sent over the unix domain socket to indicate if it is followed by a real socket
# Messages sent over the unix domain socket to indicate if it is followed by a
# real socket
CREATOR_SOCKET_OK = b"1\n"
CREATOR_SOCKET_UNAVAILABLE = b"0\n"
......@@ -200,7 +201,8 @@ class Init:
verbose=False, nokill=False, setuid=None, setgid=None,
username=None, cmdctl_port=None, wait_time=10):
"""
Initialize the Init of BIND. This is a singleton (only one can run).
Initialize the Init of BIND. This is a singleton (only one can
run).
The msgq_socket_file specifies the UNIX domain socket file that the
msgq process listens on. If verbose is True, then b10-init reports
......@@ -223,12 +225,13 @@ class Init:
self.component_config = {}
# Some time in future, it may happen that a single component has
# multple processes (like a pipeline-like component). If so happens,
# name "components" may be inappropriate. But as the code isn't probably
# completely ready for it, we leave it at components for now. We also
# want to support multiple instances of a single component. If it turns
# out that we'll have a single component with multiple same processes
# or if we start multiple components with the same configuration (we do
# this now, but it might change) is an open question.
# name "components" may be inappropriate. But as the code isn't
# probably completely ready for it, we leave it at components for
# now. We also want to support multiple instances of a single
# component. If it turns out that we'll have a single component with
# multiple same processes or if we start multiple components with the
# same configuration (we do this now, but it might change) is an open
# question.
self.components = {}
# Simply list of components that died and need to wait for a
# restart. Components manage their own restart schedule now
......@@ -351,7 +354,8 @@ class Init:
def command_handler(self, command, args):
logger.debug(DBG_COMMANDS, BIND10_RECEIVED_COMMAND, command)
answer = isc.config.ccsession.create_answer(1, "command not implemented")
answer = isc.config.ccsession.create_answer(1,
"command not implemented")
if type(command) != str:
answer = isc.config.ccsession.create_answer(1, "bad command")
else:
......@@ -440,7 +444,8 @@ class Init:
if pid is None:
logger.debug(DBG_PROCESS, BIND10_STARTED_PROCESS, self.curproc)
else:
logger.debug(DBG_PROCESS, BIND10_STARTED_PROCESS_PID, self.curproc, pid)
logger.debug(DBG_PROCESS, BIND10_STARTED_PROCESS_PID, self.curproc,
pid)
def process_running(self, msg, who):
"""
......@@ -499,7 +504,8 @@ class Init:
if msgq_proc.process:
msgq_proc.process.kill()
logger.error(BIND10_CONNECTING_TO_CC_FAIL)
raise CChannelConnectError("Unable to connect to c-channel after 5 seconds")
raise CChannelConnectError("Unable to connect to c-channel " +
"after 5 seconds")
# try to connect, and if we can't wait a short while
try:
......@@ -507,8 +513,8 @@ class Init:
except isc.cc.session.SessionError:
time.sleep(0.1)
# Subscribe to the message queue. The only messages we expect to receive
# on this channel are once relating to process startup.
# Subscribe to the message queue. The only messages we expect to
# receive on this channel are once relating to process startup.
if self.cc_session is not None:
self.cc_session.group_subscribe("Init")
......@@ -516,9 +522,9 @@ class Init:
def wait_msgq(self):
"""
Wait for the message queue to fully start. It does so only after the
config manager connects to it. We know it is ready when it starts
answering commands.
Wait for the message queue to fully start. It does so only after
the config manager connects to it. We know it is ready when it
starts answering commands.
We don't add a specific command for it here, an error response is
as good as positive one to know it is alive.
......@@ -530,7 +536,8 @@ class Init:
while time_remaining > 0 and retry:
try:
self.ccs.rpc_call('AreYouThere?', 'Msgq')
# We don't expect this to succeed. If it does, it's programmer error
# We don't expect this to succeed. If it does, it's programmer
# error
raise Exception("Non-existing RPC call succeeded")
except isc.config.RPCRecipientMissing:
retry = True # Not there yet
......@@ -565,14 +572,16 @@ class Init:
# time to wait can be set on the command line.
time_remaining = self.wait_time
msg, env = self.cc_session.group_recvmsg()
while time_remaining > 0 and not self.process_running(msg, "ConfigManager"):
while time_remaining > 0 and not self.process_running(msg,
"ConfigManager"):
logger.debug(DBG_PROCESS, BIND10_WAIT_CFGMGR)
time.sleep(1)
time_remaining = time_remaining - 1
msg, env = self.cc_session.group_recvmsg()
if not self.process_running(msg, "ConfigManager"):
raise ProcessStartError("Configuration manager process has not started")
raise ProcessStartError("Configuration manager process has not " +
"started")
return bind_cfgd
......@@ -596,7 +605,8 @@ class Init:
# A couple of utility methods for starting processes...
def start_process(self, name, args, c_channel_env, port=None, address=None):
def start_process(self, name, args, c_channel_env, port=None,
address=None):
"""
Given a set of command arguments, start the process and output
appropriate log messages. If the start is successful, the process
......@@ -641,9 +651,9 @@ class Init:
# The next few methods start up the rest of the BIND-10 processes.
# Although many of these methods are little more than a call to
# start_simple, they are retained (a) for testing reasons and (b) as a place
# where modifications can be made if the process start-up sequence changes
# for a given process.
# start_simple, they are retained (a) for testing reasons and (b) as a
# place where modifications can be made if the process start-up sequence
# changes for a given process.
def start_auth(self):
"""
......@@ -722,7 +732,8 @@ class Init:
try:
self.cc_session = isc.cc.Session(self.msgq_socket_file)
logger.fatal(BIND10_MSGQ_ALREADY_RUNNING)
return "b10-msgq already running, or socket file not cleaned , cannot start"
return "b10-msgq already running, or socket file not cleaned , " +\
"cannot start"
except isc.cc.session.SessionError:
# this is the case we want, where the msgq is not running
pass
......@@ -981,8 +992,8 @@ class Init:
def set_creator(self, creator):
"""
Registeres a socket creator into the b10-init. The socket creator is not
used directly, but through a cache. The cache is created in this
Registeres a socket creator into the b10-init. The socket creator is
not used directly, but through a cache. The cache is created in this
method.
If called more than once, it raises a ValueError.
......@@ -1154,9 +1165,12 @@ def parse_args(args=sys.argv[1:], Parser=OptionParser):
parser = Parser(version=VERSION)
parser.add_option("-m", "--msgq-socket-file", dest="msgq_socket_file",
type="string", default=None,
help="UNIX domain socket file the b10-msgq daemon will use")
help="UNIX domain socket file the b10-msgq daemon " +
"will use")
parser.add_option("-i", "--no-kill", action="store_true", dest="nokill",
default=False, help="do not send SIGTERM and SIGKILL signals to modules during shutdown")
default=False,
help="do not send SIGTERM and SIGKILL signals to " +
"modules during shutdown")
parser.add_option("-u", "--user", dest="user", type="string", default=None,
help="Change user after startup (must run as root)")
parser.add_option("-v", "--verbose", dest="verbose", action="store_true",
......@@ -1180,7 +1194,9 @@ def parse_args(args=sys.argv[1:], Parser=OptionParser):
default=None,
help="file to dump the PID of the BIND 10 process")
parser.add_option("-w", "--wait", dest="wait_time", type="int",
default=10, help="Time (in seconds) to wait for config manager to start up")
default=10,
help="Time (in seconds) to wait for config manager to "
"start up")
(options, args) = parser.parse_args(args)
......
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