214 Commits

Author SHA1 Message Date
Gary Kotton
2fc8ff9cbf RPC support for OVS Plugin and Agent
blueprint scalable-agent-comms

This adds support for the OVS plugin.

Change-Id: I613de63f5c7f374be87520f32a2f7129d86ef109
2012-08-13 05:20:58 -04:00
Gary Kotton
58d42b6558 RPC support for Linux Bridge Plugin and Agent
blueprint scalable-agent-comms

This is the first stage of the blueprint. This adds support to the linux bridge
plugin.

The development followed the design described in:
https://docs.google.com/document/d/1MbcBA2Os4b98ybdgAw2qe_68R1NG6KMh8zdZKgOlpvg/edit?pli=1

Change-Id: I4004c05a63ce49f020c2016c8763e73238b465a7
2012-08-08 10:09:47 -04:00
Yong Sheng Gong
afb0b7b141 Introduce files from openstack common.
Because the openstack common project does not stick to latest pep8 rules,
I have to exclude some bad-ruled files in the tox.ini and run_tests.sh.
However pep8 does not support exclude option in the format quantum/openstack/common,
so I have to exclude some of openstack common files one by one.

Also, I have changed the Qunatum Context to base on the common context.

I does not update the setup.py in our openstack common dir and the one
under quantum top dir, since it should be maintained in a consistent way
across all of openstack projects.

After this introduction, we are ready for notification feature.

Change-Id: I2729c2dc3958835374c88d704e842e613785ec14
2012-07-17 06:41:14 +08:00
Mark McClain
37d09064ff implement dhcp agent for quantum
blueprint: quantum-dhcp

This change adds an agent to manage DHCP for Quantum networks

Change-Id: If3c62965550dc0b0a7982b01d3468e2e07e2b775
2012-07-08 14:50:49 -04:00
Monty Taylor
1c93399f6f Use setuptools git plugin for file inclusion.
Fixes bug 1018833. We're looking at this as a possible pan-project
option instead of manual MANIFEST.in inclusion and then looking for
where the tarballs differ.

Change-Id: I25287d5aca2046c6b613b05d54281533bdd6f79f
2012-07-01 05:31:22 -07:00
Juliano Martinez
e5b9078f4c Bug #1013967 - Quantum is breaking on tests with pep 1.3
Fixing files

93/93 files fixed

Change-Id: Ia30f2e2253806fa5f447d44208d13d2c0beba9cd
2012-06-16 15:38:10 -03:00
Dan Wendlandt
95b49fad57 API v2: mprove validation of post/put, rename few attributes
bug #1012438

Additional work for bp v2-api-melange-integration

- rename few attributes:
  op_state -> status
  additional_routes -> additional_host_routes
  prefix -> cidr

- expand request body validation to indicate whether fields can be
specified during create and or update.
- add test cases to validate defaults, and input validation.

- update db_base_plugin_v2 to generate gateway_ip for subnet and mac
for port when unspecified.

- validate that tenant-id is only specified in req by admin users

- automatically set tenant-id based on request.context.tenant_id if needed

- enable port tests in test_db_plugin.py

Change-Id: If7f5101e4974a6ef93ff8a1d945f8642dd21b16e
2012-06-13 10:41:36 -07:00
Jenkins
cc8437e788 Merge "Fix up test running to match jenkins expectation." 2012-06-12 04:15:52 +00:00
Jason Kölker
73f41d370e Add API v2 support
* Implements BP v2-api-melange-integration
* Adds v2 Plugin specification
* Refactors SQLAlchemy usage for multiple BASE's

Change-Id: I45f008f181c18269afdfe4a9b589a7c5ae56d225
2012-06-11 10:36:10 -05:00
Monty Taylor
49983a162a Fix up test running to match jenkins expectation.
Change-Id: I215cd92d707f81ed481897704b31188017a5a8b8
2012-06-10 15:20:16 -04:00
Jenkins
a164532cab Merge "Bug #1002605" 2012-06-07 16:27:11 +00:00
Dan Wendlandt
f297970500 Remove hardcoded version for pep8 from tools/test-requires
In email discussions we decided that the master branch should always
pull in the lastest version of the pep8 tool, which keeps us closest
to the real pep-8 document.  Therefore, I'm removing the hardcoded
version here to match the lack of a pep8 version in tox.ini (which is
what the CI infrastructure uses when running the gating pep8 checks).

Note that your pep8 version will only update when you re-run
pip install --upgrade -r tools/test-requires .

Change-Id: I242cb042cff5f5969aa50d40312f87979191c7b7
2012-06-06 12:41:13 -07:00
Juliano Martinez
73e5fe1fe4 Bug #1002605
update webob to be version 1.2 or above

It's running without any issue with 1.2, the exception problem was caused
by WebTest. We should use at least version 1.3.3 (supplied by Ubuntu 12.04 and Debian Wheezy)

Version to WebTest==1.3.3

Change-Id: Ia8ef543e32ae46f503dd52e93bed4290d077c286
2012-06-01 12:18:40 -03:00
Guilherme Salgado
9003f1ead2 Change Resource.__call__() to not leak internal errors.
That method now catches any non-expected errors raised by the controller's
action method and turn them into an HTTPServerError. Fixes bug 980033.

Change-Id: I7f71c029fae0e27a799f11de0802bde1003683e2
2012-05-09 15:28:27 -03:00
Jenkins
583f5dcf39 Merge "Removed simplejson from pip-requires." 2012-04-29 22:49:38 +00:00
Maru Newby
c0fed833cc Removed simplejson from pip-requires.
* Addresses bug 921295

Change-Id: Ied6015b4115a60778dffc18c18e8907d87a7c83d
2012-04-24 14:01:10 -07:00
Maru Newby
28c5abbc50 Remove dependency on python-quantumclient
* quantum previously depended on python-quantumclient for the
   functionality in quantum/common.  This change migrates
   the required modules to the quantum repo and removes that
   dependency.
 * Addresses bug 977711

Change-Id: Ia17a486859eb1aa993900a5f3b582b258c6a6d78
2012-04-23 18:42:08 -07:00
Monty Taylor
bb49ab0a0c Add sphinx to the test build deps.
Needed for bug 945259

Change-Id: Idf76b3d253259deff8cc894b03d26420f2de278e
2012-04-10 18:58:34 -07:00
Brad Hall
98419e1fa4 Fix path to python-quantumclient
Change-Id: I428cfd05f8eba34efd06fc6a085e1d7272ef525a
2012-03-15 16:45:26 -07:00
Monty Taylor
be1211e4ce Split out pip requires and aligned tox file.
Align tox.ini file with standards.
Align setup.py with openstack-common standards.

Change-Id: I333bbd66648c865a5c97ec2661359ab849274446
2012-03-14 23:20:22 -07:00
Maru Newby
b687188dd7 Downgraded required version of WebOb to 1.0.8.
* Maintaining version parity with other OpenStack projects is
   essential to packaging efforts and shared installation (devstack).
 * fixes bug 950374

Change-Id: I9b16f29a3641df7063ec80bc86b03b4857776b42
2012-03-08 14:54:17 -08:00
Jenkins
d9699fe563 Merge "remove pep8 and strict lxml version from setup.py" 2012-03-05 16:43:13 +00:00
Jenkins
b76664ca29 Merge "bug 934459: pip no longer supports -E" 2012-02-28 05:44:34 +00:00
Ionuț Arțăriși
f33b8b36d7 remove pep8 and strict lxml version from setup.py
Change-Id: I671f3e924641cdfdfb5d20d0b0e3c77e1dc714e2
2012-02-27 12:56:22 +01:00
Isaku Yamahata
9488df9779 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
2012-02-26 13:30:25 +09:00
Dan Wendlandt
09fd1d9ce0 bug 934459: pip no longer supports -E
Change-Id: I2acdef113d147b7130053088d4bcf8515f61b815
2012-02-25 10:24:39 -08:00
Dave Lapsley
2b4016b8e6 blueprint quantum-ovs-tunnel-agent
Enhance existing Quantum OVS Plugin with a tunneling agent that
enables Hypervisors to be connected via GRE tunnels. The new agent
can be enabled/disabled via configuration file and provides backwards
compatibility with existing non-tunneling OVS Agent.

Change-Id: Id3b79430726b162fcb84f99df152d88a5766328f
2012-02-23 17:45:22 -05:00
Salvatore Orlando
277adc0ad9 Bug 925372: remove deprecated webob attributes
(and also specify stable webob version in pip-requires)

Change-Id: Id8dd53368f88042b71fc73a5f94803e635c4140b
2012-02-02 10:56:56 +00:00
Monty Taylor
699365bca8 Pin versions to standard versions.
Change-Id: Id6f9d2c01caee3f4c780366d19889b7311fba8d6
2012-01-25 01:21:07 -08:00
Monty Taylor
bb4f473b00 Split out quantum.client and quantum.common.
Change-Id: I1241bcd3305b6859c0cd2bb8c35b523e27aa3b18
2012-01-24 18:49:31 -08:00
Dan Wendlandt
ef51b90fa1 moving batch config out of quantum-server repo.
a commit to the python-quantumclient repo will add it there.

Change-Id: Iefc293adbbf1eab552f2184f021f184511f9ddeb
2012-01-22 21:43:21 -08:00
Jenkins
5849eea069 Merge "Install a good version of pip in the venv." 2012-01-16 22:24:58 +00:00
Jenkins
618b5ce699 Merge "Rename .quantum-venv to .venv." 2012-01-11 10:18:24 +00:00
Brad Hall
cf3bc9d43d Fix lp bug 897882
This moves the tree to having a standard setup.py.  For those who want to
build individual packages you'll need to use the setup_<package>.py files.

This allows us to support the traditional setup.py commands (i.e. sdist, etc)
that the openstack CI scripts will be using.

Change-Id: I7fe286d9973f43ae118a715276b0c089230f4f7e
2012-01-04 09:38:35 -08:00
Monty Taylor
2e00f5a3ea Install a good version of pip in the venv.
Change-Id: If55032a5018b50cd7cc359ec4a013c8c18dc735e
2012-01-02 13:59:59 -08:00
James E. Blair
ad8c891335 Rename .quantum-venv to .venv.
This simplifies a number of Jenkins jobs which currently, other
than directory names, could be the same for all OpenStack
projects. By renaming the virtualenv directory, the redundant
Jenkins virtualenv build and copy jobs can be eliminated.

Change-Id: I93c7f6577b4c3a76b021f002bda59fcb8fac3f95
2011-12-23 15:02:57 -08:00
James E. Blair
caa061b144 Remove plugin pip-requires.
Fixes bug 906636.

The cisco plugin included ncclient, but does not use it when testing.
The openvswitch plugin included SQLAlchemy which is already required
by quantum itself.

I've also changed the install_venv.py script to only look at
tools/pip-requires, so that it behaves more like the rest of the
OpenStack projects.  In Jenkins that's the only file we look at
to see if we need to rebuild the virtualenv, so it would be best
if the project only hade one pip-requires.

Also added .gitignore to ignore files created during testing.

Change-Id: Ic460452ec89aa8377c975ca63b57563119860e6b
2011-12-19 16:30:54 -08:00
Brad Hall
9bab0960b6 Second round of packaging changes
This change condenses the directory structure to something more similar to
what we had before while producing similar packages.

It also introduces version.py which allows us to get the version from git tags
(or a fallback version if not available).

Fixes lp bug 889336
Fixes lp bug 888795

Change-Id: I86136bd9dbabb5eb1f8366ed665ed9b54f695124
2011-11-28 10:33:52 -08:00
Monty Taylor
07a9070808 Changes to make pip-based tests work with jenkins.
The git line for the cisco pip-requires was wrong.
The venv needs to be installed in the source tree, not in the home
directory for self-contained builds.
The version of python can't be assumed and must be calculated.

Change-Id: I23d381eb273e82796e309483086dc68f27ce6093
2011-11-16 01:32:03 -02:00
Brad Hall
f0464b4f2a Fix for bug 888811
Use version 0.6.24 of python-distribute which allows us to find all of the
test directories on ubuntu oneiric.

Change-Id: Ibdd7f84e3f344b98cc979b2afcdd3dd2d423dfd1
2011-11-14 11:11:30 -08:00
Tyler Smith
5149399df4 Fix for Bug #888820 - pip-requires file support for plugins
Change-Id: I6e0833ec0c875ec38db419a88fd6c2db02142f08
2011-03-11 20:21:25 -05:00
Tyler Smith
1fcde53d0e blueprint quantum-packaging
Change-Id: Ica19170540b06ecddb0fbb6d340ee7a6819c1708
2011-03-07 18:02:05 -05:00
Brad Hall
8052bf68d4 Add code-coverage support to run_tests.sh (lp860160)
Change-Id: I404ba58ea882123b8c6669ea32923fa626b27de5
2011-10-02 15:46:29 -07:00
James E. Blair
b013402b2e Add rfc.sh to help with gerrit workflow.
Change-Id: I1672ec098ea190a5068df941e48f140409b83e66
2011-09-16 09:33:57 -07:00
Salvatore Orlando
b34feadda6 Updating CLI for not using Cheetah anymore.
Now using a mechanism based on Python built-in templates.
2011-09-05 18:23:18 +01:00
Salvatore Orlando
b6112a00d8 Addressing comments from Dan
Also solved issue with output from plug_iface and unplug_iface
2011-08-26 09:41:19 +01:00
Salvatore Orlando
5f0afed4e9 Finishing cli work
Fixing bug with XML deserialization
2011-08-25 18:50:05 +01:00
Somik Behera
2c72f93213 Merging fixes and changes batch-config script. Thanks lp:danwent ! 2011-08-19 10:53:00 -07:00
Salvatore Orlando
3663672808 Introducting cheetah
Updating list_nets in CLI
Writing unit tests for list_nets
Stubbing out with FakeConnection now
2011-08-11 16:29:56 +01:00
Salvatore Orlando
19c8e41bd9 skeleton for cli unit tests 2011-08-10 18:22:17 +01:00