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
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 = {
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,
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 = {}
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