Add Neutron support

Currently create instance doesnt work in OS installation with Neutron.
To get it work, additional parameter 'nics' should be specified
in Nova 'create' call.
This change allows user to pass 'nics' parameter when create instance.
Also possible to specify list of network IDs which should be attached
to instance if networks are not specified by user.

Closes-Bug: #1257838

Change-Id: Ifd98a880dfa22e9677e802bcd779acd9146ec671
Changing DNS to pass string to driver

This commit also moves the "get_ip_address" functions out of
instance.views and into the models code under the SimpleInstance class,
where it's renamed get_visible_ip_addresses().
Also, the content field (the ip address) is now passed to the driver
instead of set on the Entry object by the manager, which allows more
flexibility for dealing with various drivers and will hopefully prevent
issues in the future.
Finally, integration tests were added to keep this from breaking
in the future.

Closes-Bug: 1273446

Change-Id: I70bf37838cc5cecfe579fe6001df79d7f6f5d53e
Migrating trove to entry points

PBR/Distribute generates binscripts for us. By moving the
binscript code into the source tree, we can unit test it
as well. Run setup.py develop to generate the binscripts for
development use.

implements blueprint entrypoints-for-binscripts
Change-Id: I9ad4bb4ddc55f64bcd806c588a795cd6e0847aa9
Merge "Add Neutron support"
Corrects matching of heat resources status

Reason:
- There is no attribute resource.state instead there is
  resource.resource_status.

Changes:
- Changes resource.state by resource.resource_status.
- The allowed value for successful resource created is CREATE_COMPLETE.

Change-Id: Ie1cce3cba6f19d10e7c3ddbb2389a19baf98d707
Closes-Bug: #1273094
Merge "Changing DNS to pass string to driver"
Make test mysql connection code less confusing

There are two similar methods used for connecting to MySQL apps, but
their arguments differed in order which made for some confusion. This
makes their argument signatures identical.

Change-Id: I48818e2eadb81944e7369e12d09af9c3394d6b57
Merge "Migrating trove to entry points"
Fixes resizes for volumes attached to active Nova servers

Currently, Trove fails to resize volumes attached to active Nova
servers. It also skips crucial steps such as unmounting and
mounting the volume and resizing the filesystem. When extending a
volume attached to an active Nova server, the guest must be
stopped, the volume unmounted, detached, and extended. Once the
underlying volume has been extended the volume should be reattached,
have the file system resized, mounted, and then the guest should be
restarted. If all operations complete successfully the task status
should be set to NONE and a usage event sent, reflecting the size of
the volume as reported by Cinder.

This fixes extending volumes attached to active Nova servers to ensure
a proper resize is performed and the task status is set to NONE and a
usage event is sent after all resize operations complete successfully.
Unit tests are also added.

Change-Id: I9a5785f539a2ee138ce1ded3cbd795ef91d66400
Closes-Bug: #1259976
Remove copyright and comments from empty files

According to policy change in HACKING:
http://docs.openstack.org/developer/hacking/#openstack-licensing
empty files should no longer contain any comments and copyright notices.

Change-Id: I78b399db314518be917e1c1931f2ee5c3a2ee95a
Closes-Bug: #1262424
adding configuration group support

This allows users to make custom configurations groups and apply them to
multiple instances. Configuration parameters that can be set are listed
in the validation_rules.json file.

implements blueprint configuration-management

Change-Id: I99b0bfe51c131ace30774e75e30d620101ed2e0b
Adding override.config.template for percona

After the 'adding configuration group support' patch was merged,
percona instance-create is failing because the TM cannot find
the override.config.template for percona. Adding this template
fixes the problem.

Change-Id: I63404cfa8cd9bd850e4fc7457a3d4bcc2711685c
Closes-Bug: #1277376
Ignore outdated messages sent to conductor

Adds a sent_at field to conductor messages in the manager so that
messages that get out of sync on their way to conductor don't cause
trouble by updating instances or backups with out-of-date information.

Implements: blueprint conductor-ignore-old-messages
Change-Id: If06d2f9c9f993100be66f71274240a59b05b66e3
Merge "Make test mysql connection code less confusing"
Adding additional datastore tests

This adds 4 more datastore types and versions tests.

Change-Id: I4da3721a764d76e1bd625da69fdef3976edb64d7
Modifying tests to run with different configurations

Updated datastore tests to make datastore configurable and not
assume that 'mysql' datastore will always exist.

Fixed test_create_with_bad_availability_zone. Before it was
giving a false positive. Now it is testing the right thing.

Change-Id: Ie4e81e173b73302b40e521e4a41569404203b9d2
Closes-Bug: #1276346
Merge "Ignore outdated messages sent to conductor"
Merge "Adding additional datastore tests"
Merge "Modifying tests to run with different configurations"
Corrects service URLs from "%s/%s/" to "%s/%s"

Reasons:
- "%s/%s/" adds extra / making it "//" whenever it goes to the resources
  like nova or heat or cinder.
- Though it was working fine for nova and cinder, but following recent
  changes on heat/heat-client this is giving an error:
  "The resource could not be found.".

Changes:
- Updates the URLs from "%s/%s/" to "%s/%s".

Change-Id: I95b2601c7eaf577eb13590cbb74255ecbd5b9f1d
Closes-Bug: #1271126