This patch fixes bug 938637
Quantum unittests doesn't pass with plugin (openvswitch, linuxbridge) in venv
as follows.
This is because config file under <quantum src>/etc/ can't be find due to
FLAGS.state_path points to <python-quantumclient src> which can be different
from <quantum src>.
Set FLAGS.state_path to <quantum src> when quantum unit tests.
$ PLUGIN_DIR=quantum/plugins/openvswitch ./run_tests.sh -V
<snip>
ActionExtensionTest
test_extended_action_for_adding_extra_data (quantum.tests.unit.test_extensions.ActionExtensionTest)ERROR
<snip>
======================================================================
ERROR: test_extended_action_for_adding_extra_data (quantum.tests.unit.test_extensions.ActionExtensionTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/quantum/tests/unit/test_extensions.py", line 212, in setUp
self.extension_app = setup_extensions_test_app()
File "/quantum-src/quantum/tests/unit/test_extensions.py", line 474, in setup_extensions_test_app
return TestApp(setup_extensions_middleware(extension_manager))
File "/quantum-src/quantum/tests/unit/test_extensions.py", line 469, in setup_extensions_middleware
conf, app = config.load_paste_app('extensions_test_app', options, None)
File "/quantum-src/.venv/src/python-quantumclient/quantum/common/config.py", line 316, in load_paste_app
conf_file, conf = load_paste_config(app_name, options, args)
File "/quantum-src/.venv/src/python-quantumclient/quantum/common/config.py", line 286, in load_paste_config
"Cannot load application %s" % app_name)
RuntimeError: Unable to locate any configuration file. Cannot load application extensions_test_app
-------------------- >> begin captured logging << --------------------
quantum.extensions.extensions: INFO: Initializing extension manager.
quantum.extensions.extensions: INFO: Loading extension file: foxinsocks.py
quantum.extensions.extensions: DEBUG: Ext name: Fox In Socks
quantum.extensions.extensions: DEBUG: Ext alias: FOXNSOX
quantum.extensions.extensions: DEBUG: Ext description: The Fox In Socks Extension
quantum.extensions.extensions: DEBUG: Ext namespace: http://www.fox.in.socks/api/ext/pie/v1.0
quantum.extensions.extensions: DEBUG: Ext updated: 2011-01-22T13:25:27-06:00
quantum.extensions.extensions: WARNING: Loaded extension: FOXNSOX
quantum.extensions.extensions: INFO: Loading extension file: __init__.py
quantum.extensions.extensions: INFO: Loading extension file: foxinsocks.pyc
quantum.extensions.extensions: INFO: Loading extension file: __init__.pyc
--------------------- >> end captured logging << ---------------------
Bob Kukura [Fri, 17 Feb 2012 22:00:52 +0000 (17:00 -0500)]
Cleanup the source distribution.
Missing text files such as LICENSE and various READMEs are now
included in the tarball source distribution. The Makefile and shell
script for installing the openvswitch agent on xen are also now
included. The openvswitch and linuxbridge agents are included, and
executable wrapper scripts for the agents are provided. The cisco and
linuxbridge nova drivers are now setup to be run from the quantum
namespace rather than copied to nova. Finally, the setup_*.py scripts
have been removed from the project. Fixes bug 925074.
Test by running "python setup.py sdist" and examining the generated
tarball.
Change-Id: I33d336a5eb13678e6d527b575958393b337b6f3d Signed-off-by: Bob Kukura <rkukura@redhat.com>
Removing the specialized db modules (which used InnoDB engine) and
instead using the Quantum DB now.
Incorporated changes to setup so that the Linux Bridge plugin can be
installed.
Other changes to README and tests.
Bob Kukura [Fri, 3 Feb 2012 21:20:28 +0000 (16:20 -0500)]
Remove quantum CLI console script.
The quantum CLI console script is now installed by the
python-quantumclient project, so remove it from the quantum project's
setup.py. Fixes bug 925596.
Test by running "python setup.py install --root <somedir>" and
checking that <somedir>/usr/bin/quantum is not created.
Change-Id: Icd7eff79c8d30511693942a859334829cbf0d9af Signed-off-by: Bob Kukura <rkukura@redhat.com>
Jenkins [Wed, 25 Jan 2012 02:57:30 +0000 (02:57 +0000)]
Merge "bp/api-error-codes Restructured API error codes for Quantum API v1.1 This changeset provides the following changes: - Only standard HTTP errors for Quantum API v1.1 - Customized fault response body formatting according to API version - Changes to unit tests to deal with version specific status codes"
bp/api-error-codes
Restructured API error codes for Quantum API v1.1
This changeset provides the following changes:
- Only standard HTTP errors for Quantum API v1.1
- Customized fault response body formatting according to API version
- Changes to unit tests to deal with version specific status codes
NOTE: Client side changes are not in this branch.
They should be implemented within bp/quantum-client-1.1.
NOTE-2: Fixing references to QuantumHTTPErrors in extensions framework
James E. Blair [Mon, 16 Jan 2012 21:02:10 +0000 (08:02 +1100)]
Base version.py on glance.
This makes setting and calculating the versioning of quantum more
like other OpenStack projects, simplifying the work of the CI
and Release Management teams.
Addresses bug 916018 which prevents the quantum-tarball job from
running correctly.
Luiz H Ozaki [Thu, 5 Jan 2012 20:09:38 +0000 (18:09 -0200)]
Add __init__.py from plugin to be copied on setup scripts
Using debian building scripts to package Quantum and I was getting this error:
('Inner Exception: %s', ImportError('No module named plugins.sample.SamplePlugin',))
Because none of the setup_*.py was copying the __init__.py from the plugins
lzyeval [Wed, 4 Jan 2012 09:10:35 +0000 (17:10 +0800)]
PEP8 quantum cleanup
Fixes bug #911663
The None, True, and False values are singletons.
All variable *comparisons* to singletons should use 'is' or 'is not'.
All variable *evaluations* to boolean should use 'if' or 'if not'.
All Object type comparisons should use isinstance()
instead of comparing types directly.
James E. Blair [Fri, 23 Dec 2011 23:02:57 +0000 (15:02 -0800)]
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.
James E. Blair [Tue, 20 Dec 2011 00:25:21 +0000 (16:25 -0800)]
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.
Dan Wendlandt [Wed, 14 Dec 2011 09:53:55 +0000 (01:53 -0800)]
blueprint refactor-readme-to-manual
Removes most of the content from the README to avoid it becoming outdated
and stale given that our currently maintained docs are now on
http://docs.openstack.org . In some cases, including keystone config,
extension writing, etc. this means text from the README is being
transferred directly from the README to an external doc so we make
sure we don't lose anything.
Change run_tests.sh for running pep8/pylint validation only
(also adds .pylintrc file)
Resubmitting this time making sure we run pylint for Quantum!
Also run just with -l for total number of messages
Run with -l -v for detailed pylint messages
Edgar Magana [Tue, 13 Dec 2011 07:41:59 +0000 (23:41 -0800)]
Implementation of the BP services-insertion-wrapper inside the Cisco Plugin
This utility offers a simplify way to insert and remove network services
in the path of the traffic to the server VMs, by splitting the network
into two, and having the service bridge between the two networks,
in the process applying the service. This model is called In-Path
(Bump in the Wire)
Dan Wendlandt [Tue, 13 Dec 2011 20:54:02 +0000 (12:54 -0800)]
blueprint operational-status-ovs-plugin
Implements operational status API for OVS plugin. Uses existing
database model for operational status. For network, status is always
up. For a port, status is down unless there is an agent that
indicates that the port is active on its compute host.
Updated: use Salvatore's config hook to set default op-status for OVS
in OVS run_tests.py
Updated: fixed issue in _make_port_dict() found by Brad.
Brad Hall [Mon, 12 Dec 2011 18:26:21 +0000 (18:26 +0000)]
Fix for bug 902175
We can't use merge if we're removing a field from the port object so use add
instead. Also, pass the session to port_get so that we don't run into the
"this port is already bound to session x" error.
Ghe Rivero [Thu, 1 Dec 2011 01:14:29 +0000 (01:14 +0000)]
blueprint api-framework-essex
Addressing Dan's comments.
This changeset provides:
- improved framework for API versioning, with separated controllers for each API version
- Taken from nova:'Resource' class in WSGI framework. This class is a container for serializers, deserializers and controller
- Better deserialization thanks to resource class. _parse_request_params has been removed
- Improved management of HTTP client errors
NOTE: this changeset does not update the framework used by API extensions.
Dan Wendlandt [Wed, 16 Nov 2011 18:07:03 +0000 (10:07 -0800)]
bug #891267 : for XS, grab iface-id from XAPI directly if needed.
The version of OVS that ships with XenServer by default does not include
the script to automatically sync the XAPI other_config:nicira-iface-id
field of a VIF with the external_ids:iface-id in the OVS interfaces table.
Thus, make the agent grab the value directly from XAPI if iface-id is
not already populated.
Monty Taylor [Wed, 16 Nov 2011 03:30:40 +0000 (01:30 -0200)]
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.
Brad Hall [Sat, 5 Nov 2011 11:42:16 +0000 (04:42 -0700)]
Fix for bug 877525
We now have a verbose flag (-v) for run_tests.sh if you want ot see all that
crap printed to the screen. The default behavior is just to print "test nam
.. OK". Also, we took the code from nova to cat run_tests.log if there is a
error so that if we hit an import error we will see it in the console jenkin
output.
Dan Wendlandt [Wed, 9 Nov 2011 04:03:57 +0000 (20:03 -0800)]
Bug #875995: Quantum README fixes
Fix the most obvious issues with the Quantum README and add pointers to
external documentation resources.
In a future commit, we plan to remove most of the content in the README
and leave it just as references to external documentation. However,
this change requires us to be able to support multiple version of our
external documentation (not yet possible) and have a good location for
developer documentation.
Brad Hall [Mon, 3 Oct 2011 05:39:26 +0000 (22:39 -0700)]
Swich over to update_{net,port} instead of rename_net and set_port_state
This commit changes the plugin interface so that we have update() functions
that can upate any attributes of the port or network. In the future when we
add more things like operational state this will give us the flexibility to be
able to update those. This also allows data extensions to be passed into the
update calls.
Thanks to Tyler and the others at cisco for making the changes to the cisco
plugins and tests (their patch is included in this commit).
Modifies quantum.conf to include authN filter and pipeline with auth (optional)
Removes bufferedhttp.py (not used anymore as middleware stays in keystone's tree)
Jenkins [Fri, 28 Oct 2011 20:17:21 +0000 (20:17 +0000)]
Merge "Moved the initialization of the blade state so that the interfaces which are configured outside of Quantum are also initialized in the blade state."