Adds missing dependency to the documentation

Trove depends on MySQL-python package, to compile and install it is
required libmysqlclient-dev, otherwise the installation procedure
described in 'doc/source/dev/manual_install.rst' will fail in recently
installed boxes.

Closes-Bug: #1261525
Change-Id: I0cc325eb7efb056efe9682fa3478795ae025bfa1
Cleans and improves heat code path

Reasons:
- Heat code path contains cinder code.
- Heat code path contains nova code.
- Heat template is frozen with Volume support,
  it cannot act in a volume disabled environment.

Changes:
- Adds conditional Volume support in heat.template.
- Adds conditional template rendering.
- Cleans nova code from heat code path.
- Cleans cinder code from heat code path.

Change-Id: I7e4d6edf8bb11de0bcf913a58b257c625468322c
Closes-Bug: #1262378
Adds tenant_id to guest_info in heat code

Reasons:
- Heat code and used mysql/heat.template are missing tenant_id
- tenant_id is needed to simplify the identification of owner
  of the instance.

Changes:
- Adds tenant_id to heat.template and in heat code.

Change-Id: I08a8703e8d5f3db627a280c9df774d734437fcea
Closes-Bug: #1263159
Removes BuiltInstanceTasks.get_volume_mountpoint

Reasons:
- Method is not being used in the project.
- Method has an unassigned variable used volume_id.

Changes:
- Removes get_volume_mountpoint from trove.taskmanager.models.

Change-Id: I2942a4cc952a473dd1ed1d52c8cb2205566b68ae
Closes-Bug: #1263371
Adds LOG in event_simulator.py

Reasons:
- Module method event_simulator_sleep uses LOG, but LOG was nowhere
  implemented in module.

Changes:
- Added LOG in the module.

Change-Id: I0ddee7a5d933317e3ad0add4b791e945f000629d
Closes-Bug: #1264721
Add volume total to Mgmt Instance Get

Add volume.total attribute and value to instance info returned by
mgmt show/get call in addition to volume.used.

This will help in validating cinder volume size reflects actual
filesystem size.

Change-Id: Ia89269edbf90b91967dedcc787dd54f8a56695de
Implements: blueprint add-volume-total-attribute
Removes unused "server" from taskmanager

Reasons:
- server has not got any proper used-case in the code.
- Methods for server creation do not need to return server.

Changes
- Removes server from return of server creation methods.
- Removes server from FreshInstanceTasks.create_instance.

Closes-Bug: #1265896
Change-Id: I729992a7f5124d4a6da12835a08b07e38b583f61
Using base32 encoding to generate DNS records

The Designate driver generate record names by
hashing and 64-base encoding the instance ID.
The problem is that 64-base encoding can generate
hyphens and upper/lower case letters. Hyphens are
illegal when it is at the beginning of the name.
Name is also case insensitive. So the best solution
is to use BASE-32 encoding.

Change-Id: Ie98a0a50a609207df041c5f0bc2f622701ee9848
Closes-Bug: #1262789
Instance details view shows hostname (if it has it) or IP

Currently the hostname and IP is controlled by two config values:
trove_dns_support and add_addresses. I dont see a point of having
the hostname and IP indenpendent. It causes issues for old instances
when DNS is enabled.

I propose to simplify the view by showing hostname if it is set or
show the IP if it is not set.

Closes-bug: #1260567

Change-Id: Ia1fd47cbee89b10d53b0821e104a34eb31543846
Make use of IP filtering when creating DNS records

Previously, the return list from get_ip_address in
trove.instance.views was not filtering by the CONF.ip_regex.
(See blueprint add-ip-addr-filter-to-instance-view for more
information). DNS uses this method to get the IP. Therefore
it was not creating record with the right IP. Moving the filtering
logic to the get_ip_address method will ensure that both DNS and
instance view will obtain the right IP.

Change-Id: I4ce7c65e24f6d105f555e6c36d788558daa25f12
Closes-Bug: #1260089
Update for datastore tests to support multiple datastore types

This resolves some issues with datastore tests
Change-Id: I6065dc763b0e3c7df55986100dff9416401bc97e
Enabled F403 flake8 rule

Reasons:
- F403 is disabled.
- code contains "import *" statements.

Changes:
- Updates tox.ini to enable F403 rules.
- Updates code for F403 violation.

Change-Id: If932a910c073ae7bffb74908495f35dbc4f4d1f9
Closes-Bug: #1264724
Removes deprecated usage of BaseException.message

Reasons:
- util\mysql.py is using deprecated BaseException.message
- message pops up in integration tests logs too.

Changes:
- Fixed the warning messages during tests.

Change-Id: I8bfe1cb8b1755d5481eda8d0b660340b04d2a171
Closes-Bug: #1267201
Merge "Update for datastore tests to support multiple datastore types"
Added Redis Crud Operations

blueprint redis-support

Change-Id: I741b3a39e1ec24ee81d441788be72f72726eda10
Merge "Add volume total to Mgmt Instance Get"
Merge "Adds tenant_id to guest_info in heat code"
Log service_status.status instead of service_status

Reasons:
- While printing the service status to log instead of printing status
  it prints the object id for service_status object.

Changes:
- Replaces service_status by service_status.status.
- Now it prints the service status to the log.

Change-Id: I98b78eb065bb6a2bce31a9dfcc591423e653dbae
Closes-Bug: #1265141
Fixed misspelled help message in cfg.py

Reasons:
- Help message for exists_notification_ticks has misspelled
  reference to report_intevals.

Changes:
- Corrected report_intevals to report_intervals.

Change-Id: Iac13298a5f1a9fa938283982a9e52455c0ef0ae9
Closes-Bug: #1267822
Fixup indentation errors found by Pep8 1.4.6+

Closes-Bug: #1267994

Change-Id: I2662c863e21baa6a290311ec8eb12a01193eed94