Improve readme.rst

This file must be readable and have sections to separate usage
from tests.
Path for using trove in integration are wrong, the directory
bin does not exists.

Change-Id: I75dcf229580ead055233f8d7f7ea4acc07baadcf
Closes-Bug: #1287186
Removes XML api from trove

The XML api is no longer a requirement, as dictated by the TC.

implements blueprint destroy-xml-api

Change-Id: Ib4669155c19562ae1dda75cd30ad1a8f92b6be6a
Don't run main() on import

This patch adds the usual __name__ test to the database migration script to
avoid execution of the main() function in case of a module import (which
happens when running the configuration options discovery script from
openstack-doc-tools).

Closes-Bug: #1290708
Change-Id: I863a36bcbbbbb02652a4aae8ec1f383c43b5bc56
Fixes insecure update of /etc/fstab file

Reasons:
- While updating /etc/fstab in write_to_fstab in
  trove/guestagent/volume.py, the temporary file-name was easy to
  guess and had a permanent name making it prone to unwanted access.
- The temporary file-permission was set to 666, making it insecure.

Changes:
- Uses NamedTemporaryFile for temporary file creation.
- Used file reading instead of copying the file.
- These changes eliminate the chances of guessing the file-name,
  as well as updating the same.

Change-Id: I07c3980e40fe218d35605a851a17535cd3972c11
Closes-Bug: #1267991
Fixed Instance Status usage

    Instance Status in Instance Service Status were inconsistently
    used in the code base.  Sometime strings were used in places of
    object. Sometimes the wrong object type was used in place of
    another.  Sometimes lower-case strings were compared to
    upper-case string
    Added comments and type hints in various classes
    to prevent further issues and to aid in troubleshooting
    Changed usage of mysql to datastore in instance and task
    functions

Partially Implements: blueprint improve-instance-status
Change-Id: I3e36d4ab879073b685a0585d02a62dfe157a5b3c
Make hostnames in designate driver all lower case

Currently hostnames are uppercase, this enforces lower case which
is the norm when specifying hostnames.

Closes-bug: 1291189
Change-Id: Ief92bc1aeffddd5dee99cd19d703c8a75bc50845
Parses default configuration of an instance

The call to get the default configuration of an instance failed if the
my.cnf template has a key with no value.

Change-Id: Ib0ea6166b25ccd0e230cd97c22c419b432484c92
Closes-Bug: #1291158
Add timeout on prepare call per datastore

Reasons:
 - each datastore requires its own timeout due to amount of
   time that needed for packages to be installed and time
   that needed for start scripts.

Changes:
 - timeout option per datastore proposed.

Change-Id: I111e4d9384668ed341dab2d27f7795979dc2ceba
Implements: blueprint timeout-per-datastore
Merge "Don't run main() on import"
Merge "Improve readme.rst"
Merge "Add timeout on prepare call per datastore"
Merge "Fixed Instance Status usage"
Merge "Parses default configuration of an instance"
Hide Datastores In List With No Active Versions

in a datastore-list operation, for non-admin, filters out
datastores that either have no versions or have no active
versions for non-admin users. admins continue to see all
datastores, active or inactive, in a datastore-list
operation.

Change-Id: Iccaf9ae59469fd0f4cb346ee258d3132eed83660
Co-Authored-By: Andrey Shestakov <ashestakov@mirantis.com>
Closes-Bug: #1290617
Improve Datastore Not Implemented exceptions

Added exception for not implemented exceptions
that indicates the operation name.
Added missing un-implemented methods to redis.
Change handling of remote errors from guest agent
api to only pass along the root exception message
rather than the full traceback

Change-Id: I0d4fdc5340bfb40370595636cc57cc5c87889507
Closes-Bug: #1276860
Fix Timestamp diff in Instance and Notification

    Code is updating timestamp to clear out task status after it
    has already completed the task and updated the instance db
    info.  Made this an single transaction so that the timestamp
    in the db matches the actual action and the notification

Closes-Bug: 1236620

Change-Id: Iaa59f6e6d0b958e79b0491bfa2a838f5896d9705
Merge "Make hostnames in designate driver all lower case"
Merge "Improve Datastore Not Implemented exceptions"
Merge "Removes XML api from trove"
Merge "Fix Timestamp diff in Instance and Notification"