Book Image

OpenStack Trove Essentials

By : Alok Shrivastwa, Sunil Sarat, Doug Shelley, Amrith Kumar
Book Image

OpenStack Trove Essentials

By: Alok Shrivastwa, Sunil Sarat, Doug Shelley, Amrith Kumar

Overview of this book

OpenStack has become an extremely popular solution to build public and private clouds with. Database as a Service (DBaaS) enables the delivery of more agile database services at lower costs. Some other benefits of DBaaS are secure database deployments and compliance to standards and best practices. Trove is a DBaaS built on OpenStack and is becoming more popular by the day. Since Trove is one of the most recent projects of OpenStack, DBAs and system administrators can find it difficult to set up and run a DBaaS using OpenStack Trove. This book helps DBAs make that step. We start by introducing you to the concepts of DBaaS and how is it implemented using OpenStack Trove. Following this, we look at implementing OpenStack and deploying Trove. Moving on, you will learn to create guest images to be used with Trove. We then look at how to provision databases in self-service mode, and how to perform administration tasks such as backup and recovery, and fine-tuning databases. At the end of the book, we will examine some advanced features of Trove such as replication.
Table of Contents (15 chapters)
OpenStack Trove Essentials
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Putting it all together


Now that you have understood the architecture and terminologies, we will take a look at the general steps that are followed:

  1. Horizon/Trove CLI requests a new database instance and passes the datastore name and version, along with the flavor ID and volume size as mandatory parameters. Optional parameters such as the configuration group, AZ, replica-of, and so on can also be passed.

  2. The Trove API requests Nova for an instance with the particular image and a Cinder volume of a specific size to be added to the instance.

  3. The Nova instance boots and follows these steps:

    1. The cloud-init scripts are run (like all other Nova instances).

    2. The configuration files (for example, trove-guestagent.conf) are copied down to the instance.

    3. The guest agent is installed.

  4. The Trove API will also have sent the request to the task manager, which will then send the prepare call to the message bus topic.

  5. After booting, the guest agent listens to the message bus for any activities for it to do, and once it finds a message for itself, it processes the prepare command and performs the following functions:

    • Installing the database distribution (if not already installed on the image)

    • Creating the configuration file with the default configuration for the database engine (and any configuration from the configuration groups associated overriding the defaults)

    • Starting the database engine and enabling auto-start

    • Polling the database engine for availability (until the database engine is available or the timeout is reached)

    • Reporting the status back to the Trove backend using the Trove conductor

  6. The Trove manager reports back to the API and the status of the machine is changed.