RETIRED, Part of OpenStack's Oslo project. New Oslo APIs go through an incubation phase in this repository before being released as part of a proper Python library.
Go to file
Roman Podoliaka 70ebb197a1 Fix mocking of utcnow() for model datetime cols
Now when we are going to deprecate timeutils.set_time_override()
and use mock instead, it easy to hit the following gotcha: when
testr does tests discovering, it imports all modules within a given
directory and it might happen that common.db.sqlalchemy.models
is imported before timeutils.utcnow() is mocked in a test case.
In this case the SQLAlchemy model will save the reference to the
original timeutils.utcnow() function, which will be called later
when the model will be saved to a DB, if created_at or updated_at
value aren't provided.

In order to overcome this we can defer resolution of timeutils.utcnow
reference by passing lambda functions to SA Column __init__().

Related-Bug: #1266962

Change-Id: I7adce90eacb4a3f334d77da7b4a176c31ff818ed
2014-01-17 17:06:04 +02:00
doc/source Convert unicode strings for python3 portability 2013-05-07 11:55:56 -05:00
etc/oslo Remove unused etc/openstack-common.conf.test 2013-01-21 13:10:53 +00:00
openstack Fix mocking of utcnow() for model datetime cols 2014-01-17 17:06:04 +02:00
pypi Update references with new Mailing List location 2013-07-29 08:56:33 -07:00
tests Merge "lockutils: remove lock_path parameter" 2014-01-17 06:28:42 +00:00
tools Use entry points to discover options in libraries 2014-01-15 22:13:16 +00:00
.coveragerc Update .coveragerc 2013-02-06 16:47:06 +02:00
.gitignore Add eclipse project files to .gitignore 2013-07-18 22:45:38 +00:00
.gitreview Correcting openstack-common mv to oslo-incubator. 2012-11-11 23:44:12 +00:00
.mailmap Update mailmap for Joe Gordon 2013-10-28 10:11:02 +00:00
.testr.conf The ability to run tests at various backend 2013-11-26 14:48:32 +02:00
HACKING.rst Update URL for global HACKING document 2013-11-11 10:36:08 -08:00
LICENSE Incorporating MIT licensed code 2013-12-02 11:57:19 +00:00
MAINTAINERS Adding cache entry to Maintainers file 2014-01-16 09:04:02 -06:00
MANIFEST.in Don't include versioninfo in manifest. 2013-01-14 03:17:32 -08:00
README.rst The ability to run tests at various backend 2013-11-26 14:48:32 +02:00
TESTING.rst Creates a new file TESTING.rst. 2013-06-20 20:44:43 -04:00
requirements.txt Sort requirements.txt to be more readable 2014-01-08 09:07:01 +08:00
run_tests.sh Move `./run_tests.sh` to Oslo 2013-08-13 18:06:11 +03:00
setup.cfg Implement cache abstraction layer 2014-01-13 12:15:05 +01:00
setup.py Updated from global requirements 2013-12-10 07:23:28 -05:00
test-requirements.txt Pin sphinx to <1.2 2013-12-10 20:14:57 +00:00
tox.ini Use hacking import_exceptions for gettextutils._ 2013-12-20 18:11:50 -08:00
update.py Remove vim header 2013-11-25 12:16:11 +08:00
update.sh Fix typo in update.py 2013-12-30 13:00:22 +08:00

README.rst

The Oslo Incubator

The Oslo program produces a set of python libraries containing infrastructure code shared by OpenStack projects. The APIs provided by these libraries should be high quality, stable, consistent and generally useful.

The process of developing a new Oslo API usually begins by taking code which is common to some OpenStack projects and moving it into this repository. Incubation shouldn't be seen as a long term option for any API - it is merely a stepping stone to inclusion into a published Oslo library.

For more information, see our wiki page:

https://wiki.openstack.org/wiki/Oslo

Running Tests

To run tests in virtualenvs (preferred):

sudo pip install tox tox

To run tests in the current environment:

sudo pip install -r requirements.txt nosetests

To run tests using MySQL or PostgreSQL as a DB backend do:

OS_TEST_DBAPI_ADMIN_CONNECTION=mysql://user:password@host/database tox -e py27

Note, that your DB user must have permissions to create and drop databases.