The Apache 2.0 license requires that you include a copy of the license
text in the source code distributed under that license.
Change-Id: I0fd94cece535fbe18bf94c7128e412942e6e30b9
Once a top-level LICENSE file is included, pep8 will compare the license
header of a source file to its expected value and complain if they don't
match. This patch re-formats the headers in question to please pep8.
No license content is changed, only formatting.
Change-Id: I0f1318b23f343523ca679ca331ef6f9f7084ebc2
Adding developer/operation documents including:
1. Glossary
2. Install and configure
3. Deploy Marconi in a minimal HA env
4. Access API with Marconi client
Co-Authored-By: Fei Long Wang <flwang@cn.ibm.com>
Implements: blueprint docs
Change-Id: I2549995fb0754c7f3c8ce718639e1299e2805795
Drop the version requirement for setuptools w/ tox:pypy to workaround:
https://bugs.launchpad.net/openstack-ci/+bug/1290562
Also add in sphinx-reqs to make the docs gate happy.
Change-Id: I5ac510373809733129401b51ad39579d2963fab2
Adding sphinx_build config in setup.cfg, the conf.py which
needed by sphinx_build. And a default index.rst.
Partially implement blueprint: docs
Change-Id: Icfd25f212681595055e5326831191391fd41ed19
This patch allows marconi-server to properly detach from the controlling terminal and daemonize.
Change-Id: Ib6eabf8c44c5526ea71f913908bf2d4d37c06511
Closes-Bug: #1287490
Use six.move.xrange instead of xrange. xrange is replaced
by range in python3.
closes-bug: #1291191
Change-Id: I95b68c055c4a7e7c0d77e08e6ce409cf1892ed56
This patch adds oslo's config generator to the source tree and uses it
to generate marconi's sample configs. It also adds a check to pep8 that
verifies the config file is up-to-date.
Change-Id: Iec7defa244dc8649a5c832bb81b9ec6f30f0ee37
This patch removes the options_iter function and prepares marconi's code
base to play nice with oslo's config.generator. The replacement of lists
with tuples is necessary to avoid oslo's config.generator to parse the
globally defined options. In Marconi's case, we want it to use the
registered entry_points. (This is a workaround).
Change-Id: I56995fe16cd0b6e092b522dac3c32e4ec75bb269
Let sqla follow the pattern used in other storage drivers. This patch
adds a new options module with a function used by the oslo.config.opts
namespace in the entry_point section.
Change-Id: I0e8b24d7de220104cf59c09883415ae8c5bed8f6
Mistakenly, the commit that added the oslo.config.opts entry_points used
a `.` before the final function instead of a `:`. This commit fixes
that.
Change-Id: I305cfe9067640bb91ce30e5f13c540931de800a6
This patch is intended to bring in `config.generator`. It also syncs
Marconi's modules to the latest oslo-incubator version for the sake of
being up-to-date.
Change-Id: I9cd3ccf0ce509349d561132025add42dec83ca0a
This is required for the sqlalchemy driver. We can argue whether it is
needed as a default dependency or completely optional but as of now, I'd
recommend having it as a hard dependency and relaxing it later.
Change-Id: I43df1e9f7386888a354119b659d4de3bc69d3b46
This is the last place we could be writing to stderr from our code. It
seems unlikely this is the root cause of the devstack issue, since our
monkey-patch test should have turned this up, but let's remove it to
be absolutely certain.
Change-Id: Id454d9affcf060d5308f965e25119693ec790624
Partial-Bug: #1287490
Now we have already implemented the sqlalchemy for shards and
catalogue, so this patch will enable the shards test for
sqlalchemy.
Closes-Bug: #1288148
Change-Id: I1bc96419f2525d5211448d68c8c871dda14535a7
Marconi no longer uses set_time_override. Therefore there is no need to
invoke clear_time_override anymore.
Change-Id: Ifa5c6ab958130b2edbce57780fe6462ebfc37409
Related-Bug: #1266962
The message get helper for claims used its own connection and ran
outside the transaction where the 'claiming' happened. This caused the
get to fail at retrieving the messages because the query was being
executed 'before' the transaction.
This patch fixes the aforementioned issue and also ensures that records
ids are 'int' before calling `message_encode`.
Change-Id: I076ffc171adf02fdb15160b6c7b29646ee3fb280
Closes-bug: #1288820
MySQL uses UTC for all date fields but other operations like `now()` use
the timezone of the server. This patch changes the timezone of the
connection to UTC when the connection is first established.
There's space for improvement here. For instance, we could try to avoid
doing this for every new connection and let the operator configure it on
the server side. We could also use `CONVERT_TZ` on every query using
`now()`.
Change-Id: I2e8415dbb9a6ce19d3a66f3226756094b3e0f6a4
Partial-bug: #1288820
This patch adds the length to all the `sa.String` usages in the tables
module. The values chosen are based on the already enforced limits.
Change-Id: Idcdd3f6c8027e6d79a4fb6d006e0d85dd81f3cdd
Several calls to url_prefix has been replaced
with the usage of a common variable in WSGI tests
in order to adjust to DRY principles.
Change-Id: I056e1e8879a97f6a30aff924e55bdf50897c08e4
Closes-Bug: #1285219
Now we're supporting sqlalchemy and the sqlite is deprecated.
So the marconi.conf-sample should be update to reflect the
change so as to avoid confusion.
Closes-Bug: #1288619
Change-Id: Ief5dad6345dc24e70af18e9e47d0f8dd384cee47
Cleared _() from all debug level messages
in order to stick to new translations guidelines
Change-Id: I724f790c733c67f1111a862c77cf44f7f17d194c
Closes-Bug: #1276335
When a primary MongoDB node fails over to a secondary, pymongo raises an
AutoReconnect error. Let's catch that and retry the operation so that
we truly are Highly Available (in the sense that the user will never notice
the few ms of "downtime" caused by a failover).
This is particularly important when hosting backend with a DBaaS that
routinely fails over the master as a way of compacting shards.
NOTE: In order to get all MongoDB tests green, a tiny unrelated bug in
test_shards was fixed as part of this patch.
Closes-Bug: 1214973
Change-Id: Ibf172e30ec6e7fa0bbb8fdcebda9e985d1e49714
The current uses sqlite://memory to test a connection. This is a faulty path to
memory. Corrent path is sqlite://:memory:
Change-Id: I950521f9b9c6aa8ae73be24121a836e84e409ca2
Since the default engine used by the new sqlalchemy driver is sqlite, it
doesn't make sense to keep the sqlite driver around. This patch replaces
all usages of `sqlite` with `sqlalchemy`.
Although sqlite is being deprecated, the patch keeps the entry point for
backwards compatibility so that environments currently using the sqlite
backend won't be suddenly broken.
Implement blueprint: sql-storage-driver
Change-Id: Ib7e32fa56ab0c6621dc9a888feb6b0e4981b4e91
We don't raise DoesNotExist when the queue that a claim has to be
deleted from does not exist.
Implements blueprint: sql-storage-driver
Change-Id: I2a3e11d493b066c5dae7af81db81989468e90726