This commit takes the trove tests which previously lived in tempest
and creates an in-tree tempest plugin out of them. The contents of
the plugin are taken with tempest checkout out at commit:
eda607cb1c89762a54290c4525d81c1b192c421f with modifications made for
things to live in the trove repo.
Change-Id: Ibad5502cdca0e34cca4b5bc8a7106611f7393cf2
The recent addition of module support in Trove (see
https://blueprints.launchpad.net/trove/+spec/module-management ) does
not include the New Relic license module driver. This has been added.
A decorator to streamline writing drivers (by handling common errors)
was also added, and the ping driver modified to use it as well.
Since this code is dependent on having an image with New Relic
installed, no changes were made to the scenario tests with
respect to this new driver.
An addition flag was added to the 'apply' interface that passes in
whether a module was created with 'admin options.' This allows
some rudimentary access control to be implemented.
Depends-On: I6fb23b3dbbec98de9ee1e2731bcfc56ab3c0ca42
Change-Id: I282cf533c99e351d23f3b86aae727ae4bf279b64
Closes-Bug: #1571711
This changeset handles the details of applying,
removing, listing and retrieving 'modules'
from Trove instances.
See https://review.openstack.org/#/c/290177 for
the corresponding troveclient changes.
Scenario tests have been extended to cover the
new functionality. These tests can be run by:
./redstack int-tests --group=module
A sample module type 'driver' - ping - is included
that simply parses the module contents for a
message=Text string and returns the 'Text' as the
status message. If no 'message=' tag is found, then
the driver reports an error message.
Due to time constraints, a few unimplemented
parts/tests of the blueprint have been triaged as bugs
and are scheduled to be fixed before mitaka-rc1.
These include:
Vertica license module driver:
https://bugs.launchpad.net/trove/+bug/1554898
Incomplete module-instances command:
https://bugs.launchpad.net/trove/+bug/1554900
Incomplete 'live-update' of modules:
https://bugs.launchpad.net/trove/+bug/1554903
Co-Authored-by: Peter Stachowski <peter@tesora.com>
Co-Authored-by: Simon Chang <schang@tesora.com>
Partially Implements: blueprint module-management
Change-Id: Ia8d3ff2f4560a6d997df99d41012ea61fb0096f7
Depends-On: If62f5e51d4628cc6a8b10303d5c3893b3bd5057e
Mark the start of the Mitaka development branch by upping the
preversion. The Liberty release branch will be cut from the
previous commit.
Change-Id: I1b929ea560a9717aff864eeaf379d16e20898f9e
Bump pre-version in setup.cfg to formally open Liberty development.
Kilo release branch will be cut from the previous commit.
Change-Id: I2291c69fee029dcac163b5fb05137bb5c45a1988
Port Trove to use oslo messaging library instead of obsolete messaging
code from oslo incubator.
Change-Id: Ibd886f3cb4a45250c7c434b3af711abee266671c
Implements: blueprint rpc-versioning
Trove does not support Python 2.6 anymore starting with Kilo and might
not work correctly with it, so remove the classifier.
Change-Id: Ida17ce3ce76258442222b591846e1e1717119eed
Universal is used to identify pure-Python module(by bdist_wheel). For
these, it is sufficient to build a wheel with _any_ Python ABI
version and publish that to PyPI (by whatever means).
Change-Id: I41c1bddf27be9986c43ce408eccfc6b43c5562a1
The current trove impl loads trove API extensions by searching on a
single file path which is exposed as a conf property. This results in a
less than optimal approach from a consumer extension POV. This change
replaces the single extension path approach with dyanmic loading using
stevedore. Consumers can now bind into the API extensions using the
'trove.api.extensions' entry point; a standard means to define extension
points. Moreover this change refactors to the
trove.openstack.common.extensions logic into trove.common.extensions.
In addition this change includes base unit tests to ensure the
existing trove proper extension points are loaded and that some basic
checks are in place W/R/T validating trove extension points.
Change-Id: Id3e712b536aef3bc9c9d1603367cdc0d4816b970
Implements: blueprint dynamic-extension-loading
Bump preversion to 2014.2 to formally open Juno development.
The Icehouse release branch (milestone-proposed) will be cut
from the last commit before this one.
Change-Id: If15dd3aa2b9470570d3d9afaf3551618f41ebb97
The upstream-translation-job exists already but fails since trove
is not setup properly for translation.
Add the usual babel.cfg file, update setup.cfg for translation and
create initial trove.pot file.
Change-Id: I65ca2c974fc54e005ba8887dceb66ac08432c6d1
PBR/Distribute generates binscripts for us. By moving the
binscript code into the source tree, we can unit test it
as well. Run setup.py develop to generate the binscripts for
development use.
implements blueprint entrypoints-for-binscripts
Change-Id: I9ad4bb4ddc55f64bcd806c588a795cd6e0847aa9
Previously, instances updated their status by
updating the database on the host directly.
Necessarily, each instance would need access to the
database to stay updated.
Trove's new conductor service eliminates that need by
working as a proxy for those instances. By sending a heartbeat
to conductor via RPC, conductor updates the database
on the host on behalf of the instance.
As backups also made use of the host database, the backup
code has been refactored to take richer inputs to remove
the need to query the host database, and now conductor is
also used to submit updates to backup states.
Implements: blueprint trove-conductor
Change-Id: I4cb34baedd0e3a50051f9e66de95c9028c66e4b5
This commit adds code to register taskmanager as a fake endpoint.
This allows the fake daemon to work again.
Fixes bug 1238901
Change-Id: Icb7c97cad3d76dc36a38126eb7f8b5929dc0d591
Added initial sphinx/docutils documentation for Trove. Also made
corresponding changes to setup.cfg so that OpenStack CI is able
to build the Trove developer docs.
Fixes blueprint: trove-dev-docs
Change-Id: I900ffd2c0b661fb7642fa06c08ee92892eb176f0