Hi Iwase,

I did actually enable --verbose and saw that the service was loaded, and I
was able to see the first request processed. The second request however was
lost.

The test app looks something like this:

from xxx import api

def __init__(...):
    hub.spawn(_test)

def _test(...):
    rep = api.getsomething(a,b)
    print(rep) # success
    rep = api.getsomethingelse(a,b)
    print(rep) # failure


On Wed, May 17, 2017 at 9:13 PM Iwase Yusuke <[email protected]>
wrote:

> Hi Yikai,
>
> Sorry if I couldn't understand your question well.
>
>
> On 2017年05月17日 15:20, Yikai Lin wrote:
> > The first problem was somehow fixed by removing xxx from that line of
> code, so it goes handler.register_service('service)', which is weird. But
> the second problem was not resolved.
>
> The arguments of handler.register_service() is the string which is the
> "Python module path"
> from your current "sys.path".
> For example, if you set PYTHONPATH=/path/to/yourapp and service is placed
> at
> /path/to/yourapp/service.py, you need to specify just "service" to
> register_service.
>
> For the second problem, if you got "EVENT LOST", this messages shows your
> application or
> service were not loaded as expected.
> Please confirm the dump of services at starting of ryu-manager with
> "--verbose" option.
> e.g.)
> $ ryu-manager --verbose ryu/app/simple_switch_13.py
> Registered VCS backend: git
> Registered VCS backend: hg
> Registered VCS backend: svn
> Registered VCS backend: bzr
> loading app ryu/app/simple_switch_13.py
> loading app ryu.controller.ofp_handler
> instantiating app ryu/app/simple_switch_13.py of SimpleSwitch13
> instantiating app ryu.controller.ofp_handler of OFPHandler
> BRICK ofp_event
>   PROVIDES EventOFPSwitchFeatures TO {'SimpleSwitch13': {'config'}}
>   PROVIDES EventOFPPacketIn TO {'SimpleSwitch13': {'main'}}
>   CONSUMES EventOFPSwitchFeatures
>   CONSUMES EventOFPHello
>   CONSUMES EventOFPPortStatus
>   CONSUMES EventOFPEchoRequest
>   CONSUMES EventOFPErrorMsg
>   CONSUMES EventOFPPortDescStatsReply
>   CONSUMES EventOFPEchoReply
> BRICK SimpleSwitch13
>   CONSUMES EventOFPSwitchFeatures
>   CONSUMES EventOFPPacketIn
>
> Thanks,
> Iwase
>
>
> >
> > On Wed, May 17, 2017 at 2:15 AM Yikai Lin <[email protected] <mailto:
> [email protected]>> wrote:
> >
> >     Hi,
> >
> >     I was trying to wrote an "topology" like service app that exposes
> APIs for other applications. So I started from mimicing the topology app,
> and I created the api.py, event.py and the main file service.py. I have
> another test program that basically calls the api and sends several
> sequential requests to the service app and it basically just returns a
> reply for the test program to print out. I ran into some issues:
> >
> >     1. I didn't put the codes under ryu's folder, I actually added my
> project path and tried to run from there, but if I added
> "handler.register_service('myapp.xxx.service')" to event.py, ryu-manager
> tried to load two services xxx/service and xxx.service and it couldn't find
> the latter
> >     2. If I didn't put that code in event.py, the two apps can run, but
> only the first request was received and replied, after which an "event
> lost" was reported. I didn't spawn any new threads in the service.py, just
> a bunch of functions with decorators.
> >
> >     So my questions will be, what will be a nice way to write a
> low-level service app and where should I place them(if that matters)? And
> what is the right way to implement that service app?
> >
> >     Thanks a lot
> >     Yikai
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> >
> >
> >
> > _______________________________________________
> > Ryu-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/ryu-devel
> >
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to