mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-01-28 03:51:21 +01:00
For example, app-A has app-X in CONTEXTS, and app-B depends on app-X as
SERVICE. When app-B is specified in the app-lists before app-A, the
instantiating app-X fails by an assertion.
$ PYTHONPATH=. bin/ryu-manager ryu.app.quantum_adapter ryu.app.gre_tunnel
loading app ryu.app.quantum_adapter
loading app ryu.app.gre_tunnel
loading app ryu.controller.dpset
loading app ryu.controller.ofp_handler
loading app ryu.controller.ofp_handler
loading app ryu.controller.ofp_handler
instantiating app None of QuantumIfaces
creating context quantum_ifaces
instantiating app None of ConfSwitchSet
creating context conf_switch
instantiating app None of Network
creating context network
instantiating app None of Tunnels
creating context tunnels
instantiating app None of DPSet
creating context dpset
instantiating app ryu.app.gre_tunnel of GRETunnel
instantiating app ryu.controller.dpset of DPSet
Traceback (most recent call last):
File "/opt/stack/ryu/bin/ryu-manager", line 19, in <module>
main()
File "/opt/stack/ryu/ryu/cmd/manager.py", line 77, in main
services.extend(app_mgr.instantiate_apps(**contexts))
File "/opt/stack/ryu/ryu/base/app_manager.py", line 434, in instantiate_apps
self._instantiate(app_name, cls, *args, **kwargs)
File "/opt/stack/ryu/ryu/base/app_manager.py", line 421, in _instantiate
register_app(app)
File "/opt/stack/ryu/ryu/base/app_manager.py", line 50, in register_app
assert app.name not in SERVICE_BRICKS
AssertionError
This patch avoid the double loading of app in context and service.
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
What's Ryu ========== Ryu is a component-based software defined networking framework. Ryu provides software components with well defined API that make it easy for developers to create new network management and control applications. Ryu supports various protocols for managing network devices, such as OpenFlow, Netconf, OF-config, etc. About OpenFlow, Ryu supports fully 1.0, 1.2, 1.3, 1.4 and Nicira Extensions. All of the code is freely available under the Apache 2.0 license. Ryu is fully written in Python. Quick Start =========== Installing Ryu is quite easy:: % pip install ryu If you prefer to install Ryu from the source code:: % git clone git://github.com/osrg/ryu.git % cd ryu; python ./setup.py install If you want to use Ryu with `OpenStack <http://openstack.org/>`_, please refer `detailed documents <http://ryu.readthedocs.org/en/latest/using_with_openstack.html>`_. You can create tens of thousands of isolated virtual networks without using VLAN. The Ryu application is included in OpenStack mainline as of Essex release. If you want to write your Ryu application, have a look at `Writing ryu application <http://ryu.readthedocs.org/en/latest/writing_ryu_app.html>`_ document. After writing your application, just type:: % ryu-manager yourapp.py Support ======= Ryu Official site is `<http://osrg.github.io/ryu/>`_. If you have any questions, suggestions, and patches, the mailing list is available at `ryu-devel ML <https://lists.sourceforge.net/lists/listinfo/ryu-devel>`_. `The ML archive at Gmane <http://dir.gmane.org/gmane.network.ryu.devel>`_ is also available.
Description
Languages
Python
86.8%
Erlang
12.4%
C
0.4%
Shell
0.3%
JavaScript
0.1%