To allow for our developer reference to be consistent with
the rest of the openstack documentation, we need to import
and render this theme on our developer reference.
This gives users a consistent experience as they may
be acquainted with the rest of the OpenStack documentation
(Admin Guide, User Guide, API Guide etc.)
before perusing the Manila developer reference.
It also provides our devref the "log-a-bug" feature so
readers may bring any mis-information to our attention.
This patch is part of a series of commits to improve
in-tree documentation.
Change-Id: I0e4686a273c5bf45c1d57764cd4c312870b06d6e
Partially-implements: bp improve-manila-developer-docs
that says 'PyMySQL' and 'psycopg2' dependencies should not be removed
as they are used for DB migration tests. And code, that handles it, is
located in oslo_db lib.
Change-Id: Ib7141d568287a5499c3802d1a2d7015de0a5a89f
The ostestr command provides a wrapper around the testr command.
By default it also has output that is much more useful for OpenStack’s
test including lists of all and failed tests and lists of the 10
slowest tests.
ref:
http://docs.openstack.org/developer/os-testr/ostestr.html
Change-Id: If005d1987b2a4e586cf35f0cc1d07739f84235d2
We bump hacking>=0.10.0, and hacking removed some rules, for
the full list of rules please see [1]. So don't need them any more.
Hacking related commits:
Remove H904 in commit b1fe19ebebe47a36b905d709467f5e82521bbd96
Add H105 using author tags
Add H238 hacking no old style class
Add H501 hacking no locals
[1]https://github.com/openstack-dev/hacking/blob/master/setup.cfg#L30
Change-Id: I6a1f3c3ef22be0962ffb81a5da5660837552e5d7
Manila is broken is threee places, so fix them:
1) test 'test_misc' with WebOb 1.5
WebOb 1.5 was released at 2015-10-11. With this new version,
webob.exc.WSGIHTTPException() constructor now fails with a KeyError
when the HTTP status code is 0.
test_exceptions_raise() of test_misc tries to instantiate all
exceptions of manila.exception. The problem is that
ConvertedException uses a default HTTP status code of 0.
Modify the default HTTP status code of ConvertedException to 400 to
fix the unit tests.
2) Add dependency for 'testresources' that is required by migration
tests.
3) Remove 2 unit tests related to testing of oslo.policy lib
functionality that should not be tested in Manila. It started failing
because under-the-hood behaviour was changed in new realese 0.12.0
Closes-Bug: #1505153
Closes-Bug: #1505374
Change-Id: I0f28f3c3fb2c7eec1bafc3a617344990f86810cf
As discussed in the Liberty Design Summit "Moving apps to Python 3"
cross-project workshop, the way forward in the near future is to
switch to the pure-python PyMySQL library as a default.
https://etherpad.openstack.org/p/liberty-cross-project-python3
Change-Id: Ic5b8afd5968a3ea9cb32069d289f3c59729d776e
bashate checks shell script syntax (similar to pep8 for python). Fix
currently available scripts and enable the check for the scripts.
Change-Id: I33dc8c44a58f40e8bca9e29cd717caf46e5cd586
Currently validation method _check_metadata_properties()
expects that metadata parameter is a dict which contains
string keys and values, but this assumption is incorrect,
because user can specify key without value or vice versa.
Change-Id: I5cc863bb89f986815a4f6c1addf593f2da62530f
Closes-Bug: #1392827
Sync with global requirements file so that manila uses the same
requirements as all other OpenStack projects.
Change-Id: I22383ab8d343eac51bae44132230a6526fa50489
A packaging review in Fedora found that we had a copy of jQuery code.
Apparently, other OpenStack projects applied a patch to remove this
code, but Manila forked Cinder code from before. The across-the-board
change in OpenStack missed Manila, because we weren't incubated yet.
This patch is almost an exact copy of Cinder patch, but not cherry-
picked because of additional changes, such as the move from oslo.sphinx
to oslosphinx.
Patch is verified to produce readable documentation.
Change-Id: Id0b57f89ae6b63b26b7f0c3fa9af5a529e92ac69
Sync requirements.txt and test-requirements from global
OpenStack requirements repository.
The oslo.db >= 0.4.0 is needed by the recent patch to fix
the testsuite (https://review.openstack.org/116192).
Change-Id: I429dee9caf8c32963da683d596e25b14f62f77ee
Use oslo.db library instead of own implementation.
Oslo.db code contains different utils for work with db api, db session,
migrations, test classes for db testing, tools for automatic retry
db.api query if db connection was lost, etc.
Oslo.db code was tested better as it is currently used in many projects,
there will be no need in testing our own implementation.
In many cases our own implementation of work with db duplicates
oslo.db code.
Remove:
- manila/common/sqlalchemyutils.py;
- manila/db/sqlalchemy/utils.py;
- manila/db/sqlalchemy/session.py;
- manila/db/sqlalchemy/migration.py;
- DBError, wrap_db_error, InvalidUnicodeParameter exceptions;
- db_sync, db_version, db_version_control, _find_migrate_repo
function
and replace it with appropriate oslo.db functions.
Add 'joinedload' statement to db queries if necessary.
Fix unit tests, clean up test_migrations.py
Implements bp oslo.db
Change-Id: I48a4da797594cf020f67f78024bd0f86b5abd5ef
Manila's test framework is pretty old and requires update.
Changes:
- usage of nose replaced with testr
- now all the tests are thread safe
- added new options for run_tests.sh, such as --concurrency, --debug, etc...
- new '--concurrency' option for run_tests.sh defaults to 1, examples:
./run_tests.sh # will run in 1 thread
./run_tests.sh --concurrency 2 # will run tests in 2 threads
- added tools/colorizer.py for colorizing output of testrun with run_tests.sh
- tests running with tox use as much threads as cores available by default
- examples of testrun with tox:
tox # will run test suites defined with 'envlist' in tox.ini, now it is pep8,py26,py27
tox -epy27 # amount of threads is equal to amount of cores
tox -epy27 -- --concurrency=2 # amount of threads is 2
tox -epy27 -- --concurrency=4 # amount of threads is 4
- Added 'Database' class to manila.test module, for more conveniant db testing
- updated policy file 'manila/tests/policy.json' to allow share-network actions
- removed nose-related requirements
- added new requirements for testrepository, subunit
With merge of this change all old installed virtual environments become
incompatible and should be removed with "rm -rf .tox .venv" before testrun.
Implements blueprint testr-with-unittests
Change-Id: I9579ecd538e29d478dbc12adc7dcc33fc668b397
Get requirements in sync with global requirements again.
As this updates hacking to a more recent version, add
some blacklisting of hacking warnings to tox.ini to
get the gate passing. Those will be cleaned up
in followup commits.
Change-Id: I18f956d999db21be197ce35044623eaa22ed4185
Manila uses oslo-incubator/rpc as an RPC library.
During Havana, oslo/rpc was cleaned up and moved into
oslo.messaging with a more stable and well-defined API.
oslo-incubator/rpc considered as deprecated and should be
replaced with oslo.messaging in Manila.
Sum changes:
* New dependency oslo.messaging>=1.3.0 is required
* The new rpc module has init() and cleanup() methods which manage the
global oslo.messaging transport state. The TRANSPORT and NOTIFIER
globals are conceptually similar to the current RPCIMPL global,
except we're free to create and use alternate Transport objects.
* The rpc.get_{client,server,notifier}() methods are just helpers
which wrap the global messaging state, specifiy serializers and
specify the use of the eventlet executor.
* In oslo.messaging, a request context is expected to be a dict, so
RequestContextSerializer was added which can serialize to and from
dicts using RequestContext.{to,from}_dict()
* The allowed_rpc_exception_modules configuration option is replaced
by an allowed_remote_exmods get_transport() parameter. This is not
something that users ever need to configure, but it is something
each project using oslo.messaging needs to be able to customize.
* We maintain a global NOTIFIER object and create specializations of
it with specific publisher IDs in order to avoid notification driver
loading overhead.
* rpc.py contains transport aliases for backwards compatibility
purposes. setup.cfg also contains notification driver aliases for
backwards compat.
* messaging.ConfFixture is used in tests to override oslo.messaging
config options, rather than making assumptions about the options
registered by the library.
Partially-implements bp oslo-messaging
Change-Id: I42cd582f3e1ff96c8f6e8957122b8e9176b1771d
After manila's fork from cinder, its docs were not
updated well.
This info is used by doc-builder, see doc/README.rst
Partially implements: blueprint manila-documentation
Change-Id: Ic97584db291b60505d5d310a517c2866fc6fcf5f