Yoshihiro Kaneko 6fbd67e29b fix failure of instantiating app
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>
2014-06-11 15:40:24 +09:00
2014-04-21 19:06:25 +09:00
2014-06-11 15:40:24 +09:00
2013-09-02 14:44:29 +09:00
2012-06-27 20:57:07 +09:00
2013-09-08 17:47:52 +09:00
2014-04-16 15:56:59 +09:00
2014-05-14 15:39:33 +09:00
2014-04-21 19:05:46 +09:00
2014-05-14 15:39:33 +09:00

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
No description provided
Readme Apache-2.0 30 MiB
Languages
Python 86.8%
Erlang 12.4%
C 0.4%
Shell 0.3%
JavaScript 0.1%