Updated quantum integration to configure pool for floating IP addresses
for use with nova floating-* and pass quantum host and port to
quantum-network-service for use in nova-api-metadata proxy services.
Add 3 new functions: determine_services, determine_packages,
determine_quantum_config.
This avoids many calls into 'config-get' on every hook evocuation and
only calls them when they are needed. We need to be able to support
many different service and package combinations depending on OS version
and other services that are deployed. Its best to stuff this logic into
functions that can be called when needed, rather than clutter the hook
execution for all hooks.
Also adds some fixes into the common library to support Grizzly.
Removes the cloud-controller and network-controller relations. All of the
functionality contained in these hooks can be easily condensed into the
cloud-compute/nova-volume-services interfaces. This simplifies deployment,
avoids redundant and ambigious relations and makes things generally cleaner.
Rename config option for consistency across charms:
nova-release -> openstack-origin.
Move restarting remote services via the cloud-controller interface
to common code. Also restart remote services after first db migration
in db_joined (since nova-c-c is the only service doing the migrations, now).
Use the cloud-controller interface to trigger events on remote nova units.
In this case, it is used to restart nova services on remote units after a
database migration. In the future, this can be used to trigger reconfiguration
events when the new services are related (keystone, cinder, etc).
* Moves more common stuff into hooks/lib/ to make it easier to sync
between nova and other openstack charms.
* Improved logging calls.
* nova-api-os-volume package and associated enndpoint are now only
managed when a relation to nova-volume exists.
* Allow upgrading from Essex to Folsom.
This paves the way for better folsom support and upgrade ability.
* Move functions that can be shared across all nova charms
to hooks/lib/nova-common to allow easier managing / syncing
among charms.
* Add cinder-volume relations.
* Make nova-volume API an optional service. It is only installed
and configured upon relation to a nova-volume service.
* nova-volume relations trigger a new endpoint to be configured in
keystone via identity-service relation, if it exists. This is not
necessary for cinder.