The sync includes change that drastically enhances performance on Python
2.6 with fresh simplejson library installed.
The sync adds a new 'strutils' module that is now used in jsonutils.
Changes:
jsonutils
---------
0d7296f Add kwargs to jsonutils.load(s) functions
18f2bc1 Enforce unicode json output for jsonutils.load[s]()
9e5a393 jsonutils.load() accepts file pointer, not string
a6b2aec On Python <= 2.6, use simplejson if available
e3a1d9c Use six.moves.xmlrpc_client instead of xmlrpclib
3a31bba Python3 support for xmlrpclib
e6494c2 Use six.iteritems to make dict work on Python2/3
12bcdb7 Remove vim header
3d7504b Ensure that Message objects will be sent via RPC in unicode format
gettextutils
------------
de4adbc pep8: fixed multiple violations
9912e5d Add API for creating translation functions
6cc96d0 Fix test_gettextutils on Python 3
fd33d1e Fix gettextutil.Message handling of deep copy failures
047b2e4 Change lazy translation to retain complete dict
6d55e26 Add support for translating log levels separately
afdbc0a Fix E501 in individual openstack projects
9d529dd Make Message keep string interpolation args
ec6d900 Add support for locales missing from babel
221c37d Allow the Message class to have non-English default locales
0e1af5b Implementation of translation log handler
8b2b0b7 Use hacking import_exceptions for gettextutils._
2cfc1a7 Translation Message improvements
45658e2 Fix violations of H302:import only modules
12bcdb7 Remove vim header
3970d46 Fix typos in oslo
88db9c8 When translating if no locale is given use default locale
04c1b5a Type check for Message param to avoid AttributeError
89369c3 gettextutils: port to Python 3
6d49bca Translate all substitution elements of a Message object
importutils
-----------
1173e46 Remove ValueError when accessing sys.modules
885828a Deleted duplicated method in cliutils.
12bcdb7 Remove vim header
strutils
--------
8a0f567 Remove str() from LOG.* and exceptions
fd18c28 Fix safe_encode(): return bytes on Python 3
302c7c8 strutils: Allow safe_{encode,decode} to take bytes as input
bec3a5e Implements SI/IEC unit system conversion to bytes
e53fe85 strutils bool_from_string, allow specified default
8b2b0b7 Use hacking import_exceptions for gettextutils._
84d461e Fix a bug in safe_encode where it returns a bytes object in py3
12bcdb7 Remove vim header
3970d46 Fix typos in oslo
1a2df89 Enable H302 hacking check
67bd769 python3: Fix traceback while running python3.
b0c51ec Refactors to_bytes
472d8ed Add slugify to strutils
7119e29 Enable hacking H404 test.
4246ce0 Added common code into fileutils and strutils.
536c39e Add 't', 'y', and `strict` to `bool_from_string`
d9b0719 Handle ints passed to `boolean_from_string`
8c964a2 Do not import openstack.common.log in strutils
e700d92 Replaces standard logging with common logging
547ab34 Fix Copyright Headers - Rename LLC to Foundation
bd5dad9 Decode / Encode string utils for openstack
7cf239c Rename utils.py to strutils.py
timeutils
---------
250cd88 Fixed a new pep8 error and a small typo
71208fe Fix spelling errors in comments
7013471 Fix typo in parameter documentation (timeutils)
ae931a9 Avoid TypeError in is_older_than, is_newer_than
12bcdb7 Remove vim header
f3b5f17 Add helper method total_seconds in timeutils.py
53ebd30 python3: use six.text_types for unicode()
3bc6f79 Fix timeutils.set_override_time not defaulting to current wall time
af76064 Optimize timeutils.utcnow_ts()
Change-Id: Ib3dc0b713ed90396919feba018772243b3b9c90f
Closes-Bug: 1314129
Trove
Trove is Database as a Service for Open Stack.
Usage for integration testing
If you'd like to start up a fake Trove API daemon for integration testing with your own tool, run:
Stop the server with:
Tests
To run all tests and PEP8, run tox, like so:
To run just the tests for Python 2.7, run:
To run just PEP8, run:
To generate a coverage report,run:
(note: on some boxes, the results may not be accurate unless you run it twice)
Docs
This repository contains the following OpenStack manual:
- Database Services API Reference
Prerequisites
Apache Maven must be installed to build the documentation.
To install Maven 3 for Ubuntu 12.04 and later, and Debian wheezy and later:
apt-get install maven
On Fedora 15 and later:
yum install maven3
Building
The manuals are in the apidocs directory.
To build a specific guide, look for a pom.xml file
within a subdirectory, then run the mvn command in that
directory. For example:
cd apidocs
mvn clean generate-sources
The generated PDF documentation file is:
apidocs/target/docbkx/webhelp/cdb-devguide/cdb-devguide-reviewer.pdf
The root of the generated HTML documentation is:
apidocs/target/docbkx/webhelp/cdb-devguide/content/index.html
Testing of changes and building of the manual
Install the python tox package and run tox from the
top-level directory to use the same tests that are done as part of our
Jenkins gating jobs.
If you like to run individual tests, run:
tox -e checkniceness- to run the niceness teststox -e checksyntax- to run syntax checkstox -e checkdeletions- to check that no deleted files are referencedtox -e checkbuild- to actually build the manual
tox will use the openstack-doc-tools package for execution of these tests. openstack-doc-tools has a requirement on maven for the build check.
Contributing
Our community welcomes all people interested in open source cloud computing, and encourages you to join the OpenStack Foundation.
The best way to get involved with the community is to talk with
others online or at a meetup and offer contributions through our
processes, the OpenStack wiki,
blogs, or on IRC at #openstack on
irc.freenode.net.
We welcome all types of contributions, from blueprint designs to documentation to testing to deployment scripts.
If you would like to contribute to the documents, please see the Documentation HowTo.
Bugs
Bugs should be filed on Launchpad, not GitHub:
Installing
Refer to http://docs.openstack.org to see where these documents are published and to learn more about the OpenStack project.