The baremetal driver has been accessing some libvirt driver
private classes and config variables. Any code that is intended
to be shared across virt drivers should be in a common package
instead. Add a hacking file to enforce this for imports and
config options so that no further problems like this are made
in the future.
NB, this skips verification of the baremetal driver until
bugs 1261826 and 1261827 are fixed, or the baremetal driver is
removed, whichever comes first.
Change-Id: Ifbfe597795795a847830f9bd937dc459cd37d118
Closes-Bug: #1261842
We don't need to have the vi modelines in each source file,
it can be set in a user's vimrc if required.
Also a check is added to hacking to detect if they are re-added.
Change-Id: I347307a5145b2760c69085b6ca850d6a9137ffc6
Closes-Bug: #1229324
The current link in the HACKING file is broken. This references the
correct location for contributors to view.
Change-Id: I3cd4841035400d09a3e3e3369bb3a2a8c4bdee30
timeutils.utcnow() should be used instead of direct calls to
datetime.datetime.utcnow() to make it easy to override its return
value in tests.
Add a hacking rule to prevent regressions.
Fixes bug 1200141.
Change-Id: I170dbd7c9093bd627e2a0d5984b7ad1bf105c8d5
Add a HACKING check to enforce that public db/api and db/sqlalchemy/api
methods to not accept a 'session' parameter.
This check is initially disabled, since it is failing ~24 times right
now, but will be enabled once bp/db-session-cleanup is complete.
Change-Id: Ib89eea58555032dd142d4e21e62d66e2726f0d06
Reference the OpenStack hacking guide in HACKING.rst and remove
duplicated entries. Add new section for nova specific rules.
Change-Id: I704a49a0675acf1870953c76eba4978a1c4490eb
Mechanical translation of the deprecated
except x,y: construct with except x as y:
The latter works with any Python >= 2.6.
Add Hacking check.
Change-Id: I845829d97d379c1cd9b3a77e7e5786586f263b64
The nova gate should recommend 50 characters or less for a git commit
but actually enforce 72 characters.
This patch changes the hacking.rst docs to indicate the actual limit
is 72 characters rather then 50 characters.
Change-Id: I47f1f1f1007f5744bf1fef419df7e033803b4a53
Fixes: Bug #1144840
This fixes all of the files incorrectly importing logging directly
and removes the workaround in hacking.py that was due to improper
from nova.openstack.common.log import logging statements.
Change-Id: Icfc25dc148c4a7b5fa7f6a7b609cd6c3d94efee1
* Implementing the * import detection (it is disabled for now)
* New style relative import testing based on syntax rules
* Old style relative import testing based on module search
* Inspection based solution replaced by PYTHONPATH search
in order to avoid module compile and initialization steps
(code execution) in a syntax checking phase.
This solution is faster and safer, but does not able to recognize
modules added dynamically to the module scope.
Change-Id: Ifc871f4fdbcd4a9a736170ceb4475f4f2cbe66bc
Add an entry to the HACKING file about testr. While in there, noticed a
reference to the now-defunct nova/testing dir. Fixed that, moved the testing
README into nova/tests and remove the nova/testing dir.
Change-Id: Ibf6fb82658ba73eee9123fa53b340d0b72afb292
triggered by this slipping into quantum, now that we have more windows
developers we should ensure that \r\n doesn't land in the code as
a line ending. This check prevents it.
Change-Id: I0a82be0e74915d3c3c25203db110d279580c148b
This makes hacking.py complain if someone adds something like:
from nova import db
into any of the files in nova/virt/* (aside from the fake.py file).
It also removes the rest of the dangling db imports that are no
longer needed.
Yay!
Change-Id: Iba3d53b87e65e33a55f8e5033b5d1d33b28d12f7
Prefixing the commit message's first line with the driver makes it
easier for reviewers, at a glance, to find reviews that relate to their
area of expertise as well as improving the overall readability of the
git history.
Change-Id: I376d2cdb5dc344717fb7749a80e33ee88603e68c
The HACKING file contains a short example of an effective
commit message. For reasons for space, it cannot describe
the rationale behind this example. It also does not have
space to describe how to split up a patch into a series
of commits. Add a link from the HACKING file to the wiki
http://wiki.openstack.org/GitCommitMessages
where further information can be found
Change-Id: I34d44485486b623b11743106f09d5ef631d35888
* cleaner output
* fix bug 980009
* Fix N201
* N306: alphabetical order imports
* N401: docstring start
* N402: one line docstring start
* N403: multi line docstring end
* Until fixed, N40* will be disabled by default
Change-Id: I9addafdaa7a1f8fb950e14a5409f661dec6c7b87
Just putting this out there... I'm pretty sure that
import nova.flags
comes after
from nova.endpoint import cloud
Unless I'm totally misunderstanding how this is supposed to work,
which is likely.
Change-Id: I51096ab25dbca42d73a593872b83b25f2c451210
unittest will keep each test case around after completion pinning any
objects references by attributes on the test case. This can bloat
the memory used during a full test suite run to the point where
the test suite will require much more memory than running all of
the services does. On systems witout lots of memory, test suite
failures will occur as test cases cannot fork to execute programs.
Clearing out __dict__ of any attributes that don't start with a _
(since some are needed by unittest itself) reduces memory
significantly. This does require the super class tearDown to be
called last in some cases however.
Change-Id: I0e660b6c2a77c5613c5a523ba0a64c3d7f6dd128
Expecting that Exception is raised can end up passing an a test when an
unexpected error occurs. For instance, errors in the unit test itself
can be masked:
https://review.openstack.org/4848https://review.openstack.org/4873https://review.openstack.org/4874
Change a variety of unit tests to expect a more specific exception so
we don't run into false positive tests in the future.
Change-Id: Ibc0c63b1f6b5574a3ce93d9f02c9d1ff5ac4a8b0
Use openstack-common's update.py script to pull in some recent changes:
* Add the Mapping interface to cfg.ConfigOpts
* Add support to cfg for disabling interspersed args
Make use of both of these in nova/flags.py.
Add some dire warnings to HACKING about directly modifying the copy of
openstack-common code. I'm confident they won't be ignored :-)
Change-Id: I7ef75d18922c0bbb8844453b48cad0418034bc11
Removes the requirement for a trailing blank line in multiline
docstrings, just before the closing '"""'. This blank line is not
needed anymore, as the editors it was recommended for no longer
have the problem that this blank line was working around.
Change-Id: I4e532231f1d99e9f5048cbfcc791a4328fb1e8f5
This commit begins to implement blueprint consolidate-testing-infrastructure by
adding a 'testing' subpackage and moving some modules into it.
Change-Id: I04bf860bc386bd2016e7dbc5a6f6ef7379a855bb