Openstack trove-updates

21

Transcript of Openstack trove-updates

Trove Kilo to Liberty

To provide scalable and reliable Cloud Database as a Service provisioning functionality for both relational and non-relational database engines,

and to continue to improve its fully-featured and extensible open source framework.

Mission Statement

Kilo Overview

• 266 Commits from 71 different contributors

• ~22 BPs and ~150 bugs fixed

• ~3000 code reviews with 45956 total Lines of Code changed.

• More details:• https://launchpad.net/trove/juno• http://stackalytics.com/?release=juno&module=trove-group

Kilo

Specs for Trove• Specifying specs on the wiki was getting cumbersome• Hard to do reviews• Hard to get feedback from ops, and users• Hard to track changes

• In Kilo Trove moved to doing specs using gerrit • http://specs.openstack.org/openstack/trove-specs • https://review.openstack.org/#/q/status:open+project:openstack/tr

ove-specs,n,z

• More information at:• https://wiki.openstack.org/wiki/Blueprints#Spec_.2B_Bl

ueprints_lifecycle

Improving Replication

• Horizon Support for Replication• Create instance as replica• Detach replica from replication source

• Support for GTID based replication for MySQL

• Support for various methods of failover• detach-instance• eject-replica-source

Datastore Improvements • Added implementations of new datastores

• Single instance CouchDB

• Single instance IBM DB/2

• Support for HP Vertica• Single instance support• Support for Vertica Clusters for community (3

nodes)

Paying off Technical Debt

• Removal of 3rd Party external “Deprecated Trove CI”• All testing and CI now run under OpenStack Infra• Functional / int-tests run in devstack-vm-gate

environment

• Cleaning out deprecated oslo-incubator code.• Switch to oslo.messaging for RPC• Updates to latest oslo-incubator code

Liberty

Datastore Improvements - MongoDB

• Support for backup and restore for MongoDB

• Using mongodump as initial strategy

• Support for MongoDB configuration groups

• Basic user and database management

Datastore Improvements - Redis

• Update to latest Redis 3.02

• Support for backup and restore for Redis

• Support for Redis configuration groups.

Improvements to Clustering

• Support for synchronous multi-master MySQL clusters

• Galera cluster using Percona XtraDB Cluster

• Support for Redis clusters

• Based on newly released Redis 3.02

Flavors Per Datastore

• Limit certain datastores to only run on certain flavors

• Increasingly important as Trove supports more datastores

• E.g. MySQL can run fine on a small instance with 2G disk, but Vertica or MongoDB cannot

Horizon Improvements

• Ability to deploy Trove Clusters through Horizon

• User / Database management through Horizon

• Including root user management

• Configuration groups in Horizon

Simplifying Operations

• Best practices deploying Trove in production

• Based on feedback from the Mailing List and Summit

• New operations manual tackling deployment issues

• Ability to deploy Trove instances in a “Service Tenant”

Other Improvements

• Exposing datastore logs to users through the Trove API

• Support for management APIs in python-troveclient

• Extending guest heartbeats to monitor datastores

• Metadata support for Trove instances

Your Idea Here!

• Growing community of contributors• 136 contributors from 30+ companies• 2116 commits, and ~150,000 lines of code

• Always open to new ideas, and code

• Lots of room for improvement

• Find us at #openstack-trove on FreeNode.

Questions?

Nikhil ManchandaPTL – OpenStack Trove

IRC, Twitter, Gmail – SlickNik

Thank You!