OpenStack Database As A Service (Trove)
Go to file
Peter Stachowski eecca3f9e8 Redis should perform backup using BGSAVE not SAVE
When Redis backup was implemented, using the save() command was
chosen as it blocks, making the code simpler to read and understand.
Unfortunately SAVE and BGSAVE have differences beyond one being
synchronous and the other asynchronous, in that SAVE also blocks
client connections while it runs. This behaviour is not optimal,
so the code was changed to use BGSAVE and wait until it completes.

In the case where bgsave() fails (possibly due to memory issues,
save() is called so that the backup will still complete.

The Redis helper was also modified to allow adding more data (to
increase the time the backup takes) and tests were rearranged
to improve chances of success.

Change-Id: I75d9df54b8550b08ce0112e516c17fd717ebb857
Closes-Bug: #1538334
2016-02-01 22:37:35 +00:00
apidocs Move to oslo_db 2015-12-14 02:18:06 +00:00
contrib Fixes hacking rules 2015-05-29 07:27:59 +00:00
devstack Merge "Make scenario-tests work with all datastores" 2016-01-28 01:19:05 +00:00
doc Merge "Use stevedore directive to document plugins" 2015-12-02 03:30:40 +00:00
etc Added Keystone and RequestID headers to CORS middleware 2016-01-08 11:26:40 -08:00
releasenotes updating with other reno changes 2015-12-02 13:55:48 -06:00
tools Remove Python 2.6 classifier 2014-12-02 09:57:52 +01:00
trove Redis should perform backup using BGSAVE not SAVE 2016-02-01 22:37:35 +00:00
.coveragerc Rename from reddwarf to trove. 2013-06-24 14:11:15 -07:00
.gitignore Add reno for release notes management 2015-11-05 13:12:35 -06:00
.gitreview Renamed repos to trove. 2013-06-14 18:25:42 -04:00
.testr.conf Rename from reddwarf to trove. 2013-06-24 14:11:15 -07:00
CONTRIBUTING.rst Update CONTRIBUTING.RST file 2015-02-04 11:10:28 -08:00
LICENSE Add Apache 2.0 LICENSE file. 2013-04-29 18:01:12 -04:00
MANIFEST.in Package AUTHORS and ChangeLog file 2013-06-25 10:41:57 +02:00
README.rst Fix description for "Inapt spelling of a word" 2015-08-20 04:07:30 +00:00
babel.cfg Setup trove for translation 2014-03-19 15:06:23 +01:00
doc-test.conf Update database-api to follow OpenStack conventions 2014-05-23 07:32:29 +02:00
generate_examples.py Fixes hacking rules 2015-05-29 07:27:59 +00:00
requirements.txt Updated from global requirements 2016-01-27 14:26:36 +00:00
run_tests.py Port run_tests.py to Python 3 2015-11-19 10:25:01 +00:00
run_tests.sh Remove extraneous vim configuration comments 2014-02-27 15:05:21 +08:00
setup.cfg Trivial: replace deprecated _impl_messaging 2016-01-05 17:51:53 +08:00
setup.py Updated from global requirements 2015-09-23 14:14:17 +00:00
test-requirements.txt Fix issue of mismatched test-requirements.txt file 2016-01-30 11:25:50 -05:00
tox.ini Add debug testenv in tox 2016-01-09 17:26:33 +08:00

README.rst

Trove

Trove is Database as a Service for OpenStack.

Usage for integration testing

If you'd like to start up a fake Trove API daemon for integration testing with your own tool, run:

$ ./tools/start-fake-mode.sh

Stop the server with:

$ ./tools/stop-fake-mode.sh

Tests

To run all tests and PEP8, run tox, like so:

$ tox

To run just the tests for Python 2.7, run:

$ tox -epy27

To run just PEP8, run:

$ tox -epep8

To generate a coverage report,run:

$ tox -ecover

(note: on some boxes, the results may not be accurate unless you run it twice)

If you want to run only the tests in one file you can use testtools e.g.

$ python -m testtools.run trove.tests.unittests.python.module.path