Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
Kea
Commits
9d00b71c
Commit
9d00b71c
authored
Feb 15, 2013
by
Michal 'vorner' Vaner
Browse files
[2676] Convert ZoneMgr to use the rpc_call
Just a plain conversion.
parent
2b0ef32a
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/bin/zonemgr/tests/zonemgr_test.py
View file @
9d00b71c
...
...
@@ -41,23 +41,16 @@ TEST_SQLITE3_DBFILE = os.getenv("TESTDATAOBJDIR") + '/initdb.file'
class
ZonemgrTestException
(
Exception
):
pass
class
MySession
():
def
__init__
(
self
):
pass
def
group_sendmsg
(
self
,
msg
,
module_name
):
if
module_name
not
in
(
"Auth"
,
"Xfrin"
):
raise
ZonemgrTestException
(
"module name not exist"
)
def
group_recvmsg
(
self
,
nonblock
,
seq
):
return
None
,
None
class
FakeCCSession
(
isc
.
config
.
ConfigData
,
MockModuleCCSession
):
def
__init__
(
self
):
module_spec
=
isc
.
config
.
module_spec_from_file
(
SPECFILE_LOCATION
)
ConfigData
.
__init__
(
self
,
module_spec
)
MockModuleCCSession
.
__init__
(
self
)
def
rpc_call
(
self
,
command
,
module
,
instance
=
"*"
,
to
=
"*"
,
params
=
None
):
if
module
not
in
(
"Auth"
,
"Xfrin"
):
raise
ZonemgrTestException
(
"module name not exist"
)
def
get_remote_config_value
(
self
,
module_name
,
identifier
):
if
module_name
==
"Auth"
and
identifier
==
"database_file"
:
return
TEST_SQLITE3_DBFILE
,
False
...
...
@@ -84,7 +77,7 @@ class MyZonemgrRefresh(ZonemgrRefresh):
return
None
sqlite3_ds
.
get_zone_soa
=
get_zone_soa
ZonemgrRefresh
.
__init__
(
self
,
MySession
()
,
TEST_SQLITE3_DBFILE
,
ZonemgrRefresh
.
__init__
(
self
,
None
,
TEST_SQLITE3_DBFILE
,
self
.
_slave_socket
,
FakeCCSession
())
current_time
=
time
.
time
()
self
.
_zonemgr_refresh_info
=
{
...
...
@@ -619,7 +612,6 @@ class MyZonemgr(Zonemgr):
self
.
_db_file
=
TEST_SQLITE3_DBFILE
self
.
_zone_refresh
=
None
self
.
_shutdown_event
=
threading
.
Event
()
self
.
_cc
=
MySession
()
self
.
_module_cc
=
FakeCCSession
()
self
.
_config_data
=
{
"lowerbound_refresh"
:
10
,
...
...
src/bin/zonemgr/zonemgr.py.in
View file @
9d00b71c
...
...
@@ -105,6 +105,7 @@ class ZonemgrRefresh:
def __init__(self, cc, db_file, slave_socket, module_cc_session):
self._cc = cc
self._mccs = module_cc_session
self._check_sock = slave_socket
self._db_file = db_file
self._zonemgr_refresh_info = {}
...
...
@@ -277,15 +278,12 @@ class ZonemgrRefresh:
def _send_command(self, module_name, command_name, params):
"""Send command between modules."""
msg = create_command(command_name, params)
try:
seq = self._cc.group_sendmsg(msg, module_name)
try:
answer, env = self._cc.group_recvmsg(False, seq)
except isc.cc.session.SessionTimeout:
pass # for now we just ignore the failure
except socket.error:
self._mccs.rpc_call(command_name, module_name, params=params)
except socket.error: # FIXME: WTF?
logger.error(ZONEMGR_SEND_FAIL, module_name)
except (isc.cc.session.SessionTimeout, isc.config.RPCError):
pass # for now we just ignore the failure
def _find_need_do_refresh_zone(self):
"""Find the first zone need do refresh, if no zone need
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment