[openstack-announce] [release][trove] trove 5.0.0 release (mitaka)

no-reply at openstack.org no-reply at openstack.org
Thu Apr 7 07:55:37 UTC 2016


We are eager to announce the release of:

trove 5.0.0: OpenStack DBaaS

This release is part of the mitaka release series.

For more details, please see below.

5.0.0
^^^^^


New Features
************

* Support has been added for Cassandra backup and resture using the
  Nodetool utility.

* Implement configuration groups for Cassandra 2.1. You can now
  manage configuration of Cassandra datastores using the Trove
  configuration groups capability.

* This patch set implements the following functionality for
  Cassandra datastore. create/delete/get user list users change
  password grant/revoke/list access update attributes create/delete
  database list databases Notes on Cassandra users In Cassandra only
  SUPERUSERS can create other users and grant permissions to database
  resources. Trove uses the 'os_admin' superuser to perform its
  administrative tasks. It proactively removes the built-in
  'cassandra' superuser on prepare. The users it creates are all
  'normal' (NOSUPERUSER) accounts. The permissions it can grant are
  also limited to non- superuser operations. This is to prevent
  anybody from creating a new superuser via the Trove API. Updatable
  attributes include username and password. The configuration template
  had to be updated to enable authentication and authorization support
  (original configuration allowed anonymous connections). Default
  implementations used are authenticator
  org.apache.cassandra.auth.PasswordAuthenticator authorizer
  org.apache.cassandra.auth.CassandraAuthorizer The superuser password
  is set to a random Trove password which is then stored in a Trove-
  read-only file in '~/.cassandra/cqlshrc' which is also the default
  location for client settings. Notes on Cassandra keyspaces Cassandra
  stores replicas on multiple nodes to ensure reliability and fault
  tolerance. All replicas are equally important; there is no primary
  or master. A replication strategy determines the nodes where
  replicas are placed. The total number of replicas across the cluster
  is referred to as the replication factor. The above 'create
  database' implementation uses 'SimpleStrategy' with just a single
  replica on the guest machine. This is a very simplistic
  configuration only good for the most basic applications and
  demonstration purposes. SimpleStrategy is for a single data center
  only. The following system keyspaces have been included in the
  default 'ignore_dbs' configuration list and therefore excluded from
  all database operations 'system', 'system_auth', 'system_traces'
  Notes on user rename Cassandra does not have a native way for
  renaming users. The reason why Cassandra itself does not implement
  rename is apparently just lack of demand for that feature. We
  implement it by creating a new user, transferring permissions and
  dropping the old one (which also removes its existing permissions).
  I asked about the sanity of this rename approach on the Cassandra
  mailing list and IRC channel and there should not be anything
  inherently wrong with the proposed procedure. This method, however,
  requires the user to always provide a password. Additional notes
  Trove uses the official open-source Python driver for Cassandra to
  connect to the database and execute queries. The connection is
  implemented in CassandraConnection. It is now also used to obtain
  the current database status as opposed to the original method of
  parsing output of the client tool. The 'common/operating_system'
  module was extended with two new functions for reading/writing ini-
  style and YAML configuration files to/from Python dicts. Unit tests
  were added to 'guestagent/test_operating_system'. The existing
  Manager unit tests were extended to include the added functionality.
  Also includes some minor improvements to comments and log messages.
  Used the existing operating_system interface to update file
  ownership. The system module was removed and its contents moved to
  the Application class. This is to reduce the number of files and
  help facilitate overriding.

* Support has been added for CouchDB Backup and Restore.

* Support has been added for CouchDB database and user functions.

* Support has been added for DB2 Express-C Backup and Restore.

* Additional Ceilometer notifications have been provided by Trove
  including create, end, error notifications for all state-changing
  API calls.

* OpenStack Trove now supports clustering for Cassandra datastores.
  You can access clustering capabilities through the Trove cluster
  API.

* OpenStack Trove now supports superuser access for the Cassandra
  datastore via the root-enable and root-disable API's.

* OpenStack Trove now supports clustering for MariaDB datastores.
  You can access clustering capabilities through the Trove cluster
  API.

* Implements replication based on GTIDs for MariaDB. Adds GTID
  replication strategy for MariaDB. Implements MariaDB specific GTID
  handling in guestagent. Configures MariaDB config template to
  support bin logging. Adds MariaDB helper overrides to eliminate
  configuration group tests from scenario tests.

* A new feature called 'module management' has been added to Trove.
  Users can now create, update, list and delete modules. A module is a
  file that is provided to Trove, and when a database instance is
  launched, that file is deposited on the guest instance. This feature
  can be used for depositing files like, for example, license files
  onto guest database instances.

* Support has been added for Percona XtraBackup version 2.3.

* Adding the ability to root enable a pxc cluster.

* The adds support for pxc to grow a cluster. * api and taskmanager
  support for shrinking a cluster * validate that the networks given
  are the same for each instance in the cluster. * make sure to add
  the existing networks on an instance in the cluster. * add new Error
  task for grow and shrink. * nova client version configuration
  changed to a string option rather than an int option because the
  nova microversions change nova api output. This was needed for the
  network interfaces on existing instances. * testing for grow and
  shrink cluster

* Implemented configuration groups capability for Vertica
  datastores.

* Implemented grow and shrink for clusters of Vertica datastore. The
  number of nodes in the cluster must be greater than the number
  required to satisfy the min_ksafety configuration setting.

* Vertica comes with a User Defined Load function that takes a URL
  as a load source. This can be used to load files that are stored in
  Swift. As this is a common use case, it is valuable to enable this
  by default. This can be done in the post-prepare method for Vertica.
  A new UDL_LIBS list has been added that describes any UDLs to be
  loaded into the database. This change only has one entry - the curl
  function.


Deprecation Notes
*****************

* Dropping support for python 2.6


Security Issues
***************

* Fixes bug 1507841, provides a configuration setting to enable Role
  Based Access Control (RBAC) for MongoDB clusters. If
  mongodb.cluster_secure is set to False (default is True) then RBAC
  will be disabled.


Bug Fixes
*********

* If given, apply the configuration overrides in prepare, just
  before creating initial users and/or databases. Failure to apply the
  given configuration should flip the instance into a failed state.
  Default implementation saves the overrides and restarts the database
  service to apply the changes. Datastores that do not require restart
  may potentially override the base implementation in
  'apply_overrides_on_prepare()'.

* The guest log code raises a non-serializable exception if the
  given Swift endpoint is invalid. This causes an ambiguous "Circular
  reference detected" error on the guest, and a timeout on the caller.
  This case is now caught and the correct exception raised.

* Fixes bug 1526024, a failure in growing a mongodb cluster because
  of a problem in the way in which passwords were synchronized with
  new query routers.

* Generate trove events for the current period, and not a future
  period.

* Filter ignored users in the original query before the result gets
  paginated (like in list_databases).

* Mongo cluster grow operations were not creating instances with the
  provided az and nic values. These should be used if the caller
  provided them.

* Fix bug 1537986 which corrects the pagination in the mysql user
  list command. When internal users (ignore_users) are eliminated from
  the list, the pagination was not correctly handled.

* Fixes bug 1558794. The 2.3 version of Percona XtraBackup performs
  some additional validations of the command line options passed to
  innobackupex. The Trove code now complies with the new validations
  being performed.


Other Notes
***********

* Added CORS support.

* Refactor the datastore guest manager code.

* Starting with 1.0.0 osprofiler release config options needed for
  its workability are consolidated inside osprofiler itself.

Changes in trove 5.0.0.0rc1..5.0.0
----------------------------------

4e3e804 Trove's tox tests should respect upper-constraints.txt
18331be Address change in Route v2.3
f34581a Update .gitreview for stable/mitaka

Diffstat (except docs and test files)
-------------------------------------

.gitreview                 |  1 +
tox.ini                    | 26 +++++++++++++++++++++++++-
trove/common/extensions.py |  5 +++--
3 files changed, 29 insertions(+), 3 deletions(-)






More information about the OpenStack-announce mailing list