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/trove-
specs,n,z
• More information at:
• https://wiki.openstack.org/wiki/Blueprints#Spec_.2B_Blueprint
s_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 Manchanda
PTL – OpenStack Trove
IRC, Twitter, Gmail – SlickNik
Thank You!

Trove Updates - Liberty Edition

  • 2.
  • 3.
    To provide scalableand 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
  • 4.
    Kilo Overview • 266Commits 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
  • 5.
  • 6.
    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/trove- specs,n,z • More information at: • https://wiki.openstack.org/wiki/Blueprints#Spec_.2B_Blueprint s_lifecycle
  • 7.
    Improving Replication • HorizonSupport 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
  • 8.
    Datastore Improvements • Addedimplementations 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)
  • 9.
    Paying off TechnicalDebt • 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
  • 10.
  • 11.
    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
  • 12.
    Datastore Improvements -Redis • Update to latest Redis 3.02 • Support for backup and restore for Redis • Support for Redis configuration groups.
  • 13.
    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
  • 14.
    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
  • 15.
    Horizon Improvements • Abilityto deploy Trove Clusters through Horizon • User / Database management through Horizon •Including root user management • Configuration groups in Horizon
  • 16.
    Simplifying Operations • Bestpractices 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”
  • 17.
    Other Improvements • Exposingdatastore 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
  • 18.
    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.
  • 19.
    Questions? Nikhil Manchanda PTL –OpenStack Trove IRC, Twitter, Gmail – SlickNik
  • 20.