apgw: update the log format

Write to syslog in the proper format.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
FUJITA Tomonori 2014-02-08 04:32:49 -08:00
parent 9b9208d9e6
commit 152ad2ea3e
2 changed files with 19 additions and 8 deletions

View File

@ -26,11 +26,16 @@ from ryu.base import app_manager
from ryu.controller import event
from ryu.controller import handler
from ryu.lib import hub
from ryu.lib import apgw
from ryu.lib.packet import vrrp
from ryu.services.protocols.vrrp import event as vrrp_event
from ryu.services.protocols.vrrp import api as vrrp_api
_ = type('', (apgw.StructuredMessage,), {})
_.COMPONENT_NAME = 'vrrp'
# TODO: improve Timer service and move it into framework
class Timer(object):
def __init__(self, handler_):
@ -139,6 +144,7 @@ class VRRPRouter(app_manager.RyuApp):
_EVENTS = [vrrp_event.EventVRRPStateChanged]
_CONSTRUCTORS = {}
_STATE_MAP = {} # should be overrided by concrete class
LOGGER_NAME = 'vrrp'
@staticmethod
def register(version):
@ -271,8 +277,8 @@ class VRRPRouter(app_manager.RyuApp):
@handler.set_ev_handler(_EventStatisticsOut)
def statistics_handler(self, ev):
# sends stats to somewhere here
# print self.statistics.get_stats()
stats = self.statistics.get_stats()
self.logger.info(_(msg=stats, log_type='stats'))
self.stats_out_timer.start(self.statistics.statistics_interval)
# RFC defines that start timer, then change the state.

View File

@ -24,6 +24,7 @@ from ryu.services.protocols.vrrp import api as vrrp_api
from ryu.lib import rpc
from ryu.lib import hub
from ryu.lib import mac
from ryu.lib import apgw
VRRP_RPC_PORT = 50004 # random
CONF = cfg.CONF
@ -32,6 +33,9 @@ CONF.register_opts([
cfg.IntOpt('vrrp-rpc-port', default=VRRP_RPC_PORT,
help='port for vrrp rpc interface')])
_ = type('', (apgw.StructuredMessage,), {})
_.COMPONENT_NAME = 'vrrp'
class RPCError(Exception):
pass
@ -47,6 +51,8 @@ class Peer(object):
class RpcVRRPManager(app_manager.RyuApp):
LOGGER_NAME = 'vrrp'
def __init__(self, *args, **kwargs):
super(RpcVRRPManager, self).__init__(*args, **kwargs)
self._args = args
@ -55,6 +61,7 @@ class RpcVRRPManager(app_manager.RyuApp):
self._rpc_events = hub.Queue(128)
self.server_thread = hub.spawn(self._peer_accept_thread)
self.event_thread = hub.spawn(self._rpc_request_loop_thread)
apgw.update_syslog_format()
def _rpc_request_loop_thread(self):
while True:
@ -63,6 +70,9 @@ class RpcVRRPManager(app_manager.RyuApp):
error = None
result = None
try:
self.logger.info(_(msg={'msgid': msgid,
'target_method': target_method,
'params': params}))
if target_method == "vrrp_config":
result = self._config(msgid, params)
elif target_method == "vrrp_list":
@ -102,7 +112,6 @@ class RpcVRRPManager(app_manager.RyuApp):
return d
def _config(self, msgid, params):
self.logger.debug('handle vrrp_config request')
try:
param_dict = params[0]
except:
@ -149,7 +158,6 @@ class RpcVRRPManager(app_manager.RyuApp):
return None
def _config_change(self, msgid, params):
self.logger.debug('handle vrrp_config_change request')
try:
config_values = params[0]
except:
@ -167,7 +175,6 @@ class RpcVRRPManager(app_manager.RyuApp):
return {}
def _list(self, msgid, params):
self.logger.debug('handle vrrp_list request')
result = vrrp_api.vrrp_list(self)
instance_list = result.instance_list
ret_list = []
@ -186,13 +193,11 @@ class RpcVRRPManager(app_manager.RyuApp):
@handler.set_ev_cls(vrrp_event.EventVRRPStateChanged)
def vrrp_state_changed_handler(self, ev):
self.logger.info('handle EventVRRPStateChanged')
name = ev.instance_name
old_state = ev.old_state
new_state = ev.new_state
vrid = ev.config.vrid
self.logger.info('VRID:%s %s: %s -> %s', vrid, name, old_state,
new_state)
params = {'vrid': vrid, 'old_state': old_state, 'new_state': new_state}
self.logger.info(_(msg=params))
for peer in self._peers:
peer._endpoint.send_notification("notify_status", [params])