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
This is second and last part of removing mox
module from manila's dependencies, that became deprecated.
Rewrote unittests for scheduler, fixed and enabled them.
Partially implements: blueprint replace-mox-with-mock
Change-Id: Ida60abaa287e42a42c59f900bb168992575e311e
It allows us to use a bunch of skip
decorators, addCleanup method with
2.6 and 2.7 python versions.
Provides more strict usage of setUp
and tearDown methods.
Change-Id: I62144ba43d62e3becb90427d5d6600f97db458df
This dependency, at first, is unused,
and at second - was removed from
openstack requirements:
01ceffe54f
It breaks devstack installation on ci jobs.
Change-Id: I09a3ac8c7f64c6baef74454d98b03daf613cade9
This brings along Hacking requirements to match
other OpenStack projects. Since hacking already
requires the right pep8 pyflakes etc version,
those dependencies are not necessary to be specified
here.
Change-Id: Ifb575aa549bfd0288e44acda9a750ea40b9d14c2