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