mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-01-23 09:32:07 +01:00
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:
parent
9b9208d9e6
commit
152ad2ea3e
@ -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.
|
||||
|
||||
@ -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])
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user