Hello All,
I have wriiten a module to obtain the individual flow entries from the OVS.
I run it along with the monitoring component.*
*
The code in the module is as follows:*
from nox.lib.core import *
import nox.lib.pyopenflow as of
from nox.netapps.monitoring.monitoring import Monitoring
from twisted.python import log
import logging
log = logging.getLogger('nox.coreapps.examples.mymonitor')
#global mymonitor instance
#inst=None
class MyMonitor(Component):
def __init__(self, ctxt):
#global inst
Component.__init__(self, ctxt)
self.ctxt = ctxt
log.info("Reached the first chkpoint.")
self.Monitoring =
ctxt.resolve("nox.netapps.monitoring.monitoring.Monitoring")
log.info("I have come till second chkpoint")
def install(self):
self.register_for_flow_stats_in(flow_stats_in_handler)
#for sending flow stats request
def send_flow_stats_request():
global xid
flows = of.ofp_match()
flows.wildcards = of.OFPFW_ALL
self.Monitoring.send_flow_stats_request(dpid, flows, 0xff, xid)
xid += 1
#for handling the flow stats in
def flow_stats_in_handler(dpid, flows, more, xid):
print "---------Flow stats report----------"
print str(dpid)+" "+str(flows)
for i in flows:
print flows[i]
def getFactory():
class Factory:
def instance(self, ctxt):
return MyMonitor(ctxt)
return Factory()*
I run it from the command line as follows:
*sudo ./nox_core -v -i ptcp:6633 pyswitch monitoring mymonitor*
And I get the following error on running it:
*00001|nox|INFO:Starting nox_core
(/home/openflow/noxcore/build/src/.libs/lt-nox_core)
00002|monitoring|INFO:Simple monitoring started!
00003|monitoring|INFO:Finished configuring monitoring
00004|nox.coreapps.examples.mymonitor|INFO:Reached the first chkpoint.
00005|nox.coreapps.examples.mymonitor|INFO:I have come till second chkpoint
00006|nox|ERR:Cannot change the state of 'mymonitor' to INSTALLED:
'mymonitor' ran into an error:
cannot retrieve the Python component interface description: *
I have also the added the folowing entry in the meta.json file present in
the coreapps/example directory:
*{
"name": "mymonitor" ,
"dependencies": [
"python"
],
"python": "nox.coreapps.examples.mymonitor"
},*
Has something else be added here?
Can someone please tell me what this error is and what has to be done to
solve it?
Many Thanks,
Udita
On Sat, Apr 6, 2013 at 9:24 PM, Murphy McCauley
<[email protected]>wrote:
> On Apr 6, 2013, at 11:13 AM, udita gangwal wrote:
>
> > I want to obtain the individual flow entries from the OVS and display
> them on the NOX console. How can I do this?
>
> By sending a flow_stats request and handling the response.
>
> > What does the monitor module do in NOX?
>
> It's described (briefly) on the NOX wiki:
> https://github.com/noxrepo/nox-classic/wiki/Monitoring
>
> It periodically sends stats requests. You can probably either use it or
> base your own flow stats query code on it.
>
> -- Murphy