]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
plugin: introduce ryu plugin
authorIsaku Yamahata <yamahata@valinux.co.jp>
Sat, 19 Nov 2011 09:17:03 +0000 (18:17 +0900)
committerIsaku Yamahata <yamahata@valinux.co.jp>
Sun, 26 Feb 2012 04:30:25 +0000 (13:30 +0900)
commita5f97ccc3b2f055554d8b9476f5299637a9266d1
treec087097a28ca2ea3fca3851a27f427476d6e9770
parent543e150d6dc9144ebcc588b7d2bd66374a107730
plugin: introduce ryu plugin

blueprint ovs-driver-extention
This patch implements the blueprint ovs-driver-extention
https://blueprints.launchpad.net/quantum/+spec/ovs-driver-extension

This patch factors out ovs common logic from ovs plugin into ovscommon
and adds Ryu NOS plugin.
This patch enhances ovs plugin for generic OVS controller support and

This patch is to add ofp controller support to OVS.
Store ofp controller address in ovs quantum data base.
- nova firewall_driver
- nova linuxnet_interface_driver

There may be ports unmanaged by nova/quantum. Those ports are used
to connect vm to outside of physical machine. They needs special care.

---
Changes 12 -> 13:
- rebased to 543e150d6dc9144ebcc588b7d2bd66374a107730
  changed files are only MANIFEST.in, setup.py, tools/pip-requres

Changes 11 -> 12:
- ryu agent
  eliminated from quantum.common import exceptions as exc
- ryu.db.api
  eliminated ofp_has_servers
- ryu.nova
  eliminated from quantum.plugins.ryu.nova import ovs_utils
  and eliminate ovs_utils

Chnages 10 -> 11:
- rebased to a945d1a30478c644d307c77a8a85f3a08e5a834e
- more Maru's review
- setup.py: fix setup() argument
  This isn't directly related to ryu plugin though
- improve fake ini file when unit test
  remove fake ini file after unit tests.
  use StringIO when no file is required.
- LOG: don't use %

Chnages 8 -> 9 -> 10:
- minor fixes: forgot to commit some hunks

Chnages 7 -> 8:
- rebased to d6bf2b76162ba806b2ad1f636f6273e47e03a117
- catch up d6bf2b76162ba806b2ad1f636f6273e47e03a117 change
  introduced bin/quantum_ryu_agent
- addressed Maru's review
  - avoid custom patching, use mock for test
    and added mox and mock to pip-requires
  - more pep8
  - avoid \ for line continuation
  - avoid single char variables
  - db.api: first() -> one()
  - utilize implicit conversion
    var is not None -> var
  - and more...

Changes 6 -> 7:
- update comment in ryu/run_tests.py
- make unit tests pass without ryu installed
  i.e.
  PLUGIN_DIR=quantum/plugins/ryu/ ./run_tests.sh
  works now

Chages 5 -> 6:
- remove comment

Change 4 -> 5:
- eliminate relative imports
- copyright
- doc string
- naming (s/CONF_FILE/conf_file/g)
- add " check to ryu/nova/ovs_utils
- ryu/nova/linux_net: comment
- ryu agent: eliminated unused methods
- updated ryu/README: add http://www.osrg.net/ryu/using_with_openstack.html
- added unit tests

Changes 3 -> 4:
- reflected Dan's review
- on-OVS in ryu.ini
- update @author
- some naming

Changes 2 -> 3:
- rebased to 04d144ae0b2ad5618847d1784cea48a08d53a46a
- abandoned to share code and duplicated codes from openvswitch plugin
  for ovs plugin stability.
- dropped setup_ryu.sh and added README
- update nova driver to catch up upstream change (gflags -> cfg)

Changes 1 -> 2:
- unbreak openvswtich unit test
- MANIFEST.in

Changes 3 -> new 1:
- rebased to 1eb3c693b5f6f3f301047100c36c7915434f8be7
- factor out common loginc from openvswitch plugin into ovscommon
- Introduced a new independent ryu plugin
- try new review due to the previous effort was marked abandoned.
  > https://review.openstack.org/#change,3055
  > Change-Id: I17801a7a74d4087838a8a26c1b1f97f28c2dcef3

Changes:
- rebased to 9c5c2caef13fa58234987527ab6caff829a37050
- some clean ups

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Change-Id: Ia9fe87525cebccc87b7c18a533f48607272cd97f
30 files changed:
MANIFEST.in
bin/quantum-ryu-agent [new file with mode: 0755]
etc/quantum/plugins/ryu/ryu.ini [new file with mode: 0644]
quantum/db/api.py
quantum/plugins/ryu/README [new file with mode: 0644]
quantum/plugins/ryu/__init__.py [new file with mode: 0644]
quantum/plugins/ryu/agent/__init__.py [new file with mode: 0644]
quantum/plugins/ryu/agent/ryu_quantum_agent.py [new file with mode: 0755]
quantum/plugins/ryu/db/__init__.py [new file with mode: 0644]
quantum/plugins/ryu/db/api.py [new file with mode: 0644]
quantum/plugins/ryu/db/models.py [new file with mode: 0644]
quantum/plugins/ryu/nova/__init__.py [new file with mode: 0644]
quantum/plugins/ryu/nova/firewall.py [new file with mode: 0644]
quantum/plugins/ryu/nova/linux_net.py [new file with mode: 0644]
quantum/plugins/ryu/nova/vif.py [new file with mode: 0644]
quantum/plugins/ryu/ofp_service_type.py [new file with mode: 0644]
quantum/plugins/ryu/ovs_quantum_plugin_base.py [new file with mode: 0644]
quantum/plugins/ryu/run_tests.py [new file with mode: 0644]
quantum/plugins/ryu/ryu_quantum_plugin.py [new file with mode: 0644]
quantum/plugins/ryu/tests/__init__.py [new file with mode: 0644]
quantum/plugins/ryu/tests/unit/__init__.py [new file with mode: 0644]
quantum/plugins/ryu/tests/unit/basetest.py [new file with mode: 0644]
quantum/plugins/ryu/tests/unit/fake_plugin.py [new file with mode: 0644]
quantum/plugins/ryu/tests/unit/fake_rest_nw_id.py [new file with mode: 0644]
quantum/plugins/ryu/tests/unit/fake_ryu_client.py [new file with mode: 0644]
quantum/plugins/ryu/tests/unit/test_plugin_base.py [new file with mode: 0644]
quantum/plugins/ryu/tests/unit/test_ryu_driver.py [new file with mode: 0644]
quantum/plugins/ryu/tests/unit/utils.py [new file with mode: 0644]
setup.py
tools/pip-requires