Fix Redis After Configuration Group Merge

the configuration-group implementation forgot to update the
prepare() method for redis to include overrides. in addition, an
override.config.template is now required to avoid a fatal error in
the taskmanager.

Change-Id: If12a4e4c9f1bbb8e96a3ed443756f70398525bde
Closes-Bug: #1277390
Rename Openstack to OpenStack

Change-Id: I5ac475b3fc2c72abf9a082b3ee406029082fee87
Raise max header size to accommodate large tokens

The max header is exceeded in the following scenario
- Auth tokens built with a keystone v3 API catalog
- A catalog with approximately 8 or more endpoints defined

An equivalent fix will be required for all projects which use
eventlet.wsgi.

Closes-Bug: #1190149

Change-Id: Ia0882e43395f1025137173b51aab147433b54255
Adding "version" to "datastore" field during list instances API call

Closes-Bug: #1279022

Change-Id: I738e37f227ac7d441dda41b48ede661aceada8fd
Fixes get configuration defaults

Querying for the default configuration of an instance fails when
the my.cnf has keys with no values. ie 'skip-external-locking'.
To fix this, we modify the config template to include values

Change-Id: Iab96ec8cd3f8d79fe2b3946c4e9db094a3acbe93
Closes-Bug: 1285428
Security groups workflow update

Reasons:
 - By telling to trove-taskmanager
   that it should create security group with
   datastore default port taskmanager should
   go into config and find default datastore
   specific ports and create custom rule
   for them. But now it creates rule
   which allows access to 3306 port - here comes bottleneck,
   this port should be custom for each datastore.

Changes:
 - Rules are not optional any more, because empty
   security group is meaningless. By allowing usage of
   security groups we telling that it should contain
   rule by default, which mean "not optional";
 - Adding option group for a specific datastore (mysql, redis);
 - Adding tcp and upd ports as possible options.

Implements: blueprint security-groups-workflow-update
Change-Id: Iaf3187ba89d0674f7921cbf92e5eb24de05abc6b
Make backup/restore pluggable

Reason:
 - mutliple datastore support;
 - execute_backup expects that instance that
   is going to be backuped is a mysql server
   (expects that my.cnf exist).
Changes:
 - oslo groups added;
 - updating MySQLDump strategy;
 - cleaning runner parameters;
 - updating tests;

Change-Id: Id98ac37c048db79cd24adfa22f0db722648cf55b
Closes-Bug: #1281127
Initial support for single instance Couchbase

This code adds the ability to create single instance couchbase server.
No other operations supported.

Change-Id: Icaac84c64f89b07ed2e85ad5215809d04ae74ebc
Implements: blueprint couchbase-single-instance-ga
Fixes restore from incremental backups for Percona

Restore from incremental backups is failing for percona. The root
cause is that the prepare starts running before the unpack is
finalized. This causes the prepare to fail when it cannot find
the xtrbackup_checkpoint file, which is obtained by unpacking the
decrypted file from swift. To fix it, i have moved the line that
checks for error in the stream to where child process is supposed
to finish. This will make sure that it will block until the
process is done. Since this line was moved, nothing special
occurs in __exit__. Since there is nothing special going on in
__enter__ either, i decided to remove it, thus removing the 'with'
keyword in backupagent.py.

Also 'self.process' and its pid doesnt need to be part of the
restore object. Due to the recursive behaviour of Restore, these
attributes didnt make sense. So i changed their visibility.

Change-Id: I234e0b2bb71ca90d53cfd8f9c51a159ddc2681c9
Closes-Bug: 1285291
Merge "Security groups workflow update"
Merge "Make backup/restore pluggable"
Add security group rules for Couchbase

Closes-Bug: #1287037
Change-Id: I6529930e91cfa709bd87aa0ae97b286ec65d239c
Merge "Fix Redis After Configuration Group Merge"
simplify dns_ip_address code

'ips' would be False when it is None or empty

Closes-Bug: #1287086

Change-Id: I70d831865af16bfeee969b7927edd6ccc7d2aa11
the check for status.status should happen before trying to log it

otherwise, if status.status is None, status.status.api_status will throw
a TypeError

Closes-Bug: #1287097
Change-Id: I62dafed59dcf8850808b22b8977d346607176403
Merge "Initial support for single instance Couchbase"
Merge "Add security group rules for Couchbase"
Merge "Fixes get configuration defaults"
Merge "Raise max header size to accommodate large tokens"
Adding percona secgroup config

Removing duplicate code around datastore specific configs

Change-Id: I32167b8f9494521a3a2afe125c68db3905a3be53
Closes-Bug: 1287315