AZ support for cells
Support consoleauth at child cells
Restricted and direct only cell scheduler filters

Change-Id: I38a1a5c1fa90c9ec26ad9184deb0aa60f72abebf
Added scheduler filter to filter on hosts in aggregates that have
instance_name keys. These must match the requested instance_type.
(cherry picked from commit ed5d31011ddcee43cfd59df612fe3ebf2febe76c)

Signed-off-by: Kieran Spear <kispear@gmail.com>
Support flavor create call with cells

Change-Id: I695963448122e6c9951fc45e7b9e5fea0fd01b1f
Makes the host aggregate functionality work with cells

 + In the openstack api, it moves database access and other
   functionality to the nova.compute layer
 + It adds support for aggregates in nova.compute.cells_api
 + It adds the following host aggregate related functions to the cells
   rpcapi and messaging systems:
     * create_aggregate(self, ctxt, aggregate_name, availability_zone)
     * get_aggregate(self, ctxt, aggregate_id)
     * get_aggregate_list(self, ctxt, cell=None)
     * update_aggregate(self, ctxt, aggregate_id, values)
     * update_aggregate_metadata(self, ctxt, aggregate_id, metadata)
     * delete_aggregate(self, ctxt, aggregate_id)
     * add_host_to_aggregate(self, ctxt, aggregate_id, host_name)
     * remove_host_from_aggregate(self, ctxt, aggregate_id, host_name)
 + It increments the cells_api version from 1.19 to 1.20

blueprint cells-aggregate-support
Change-Id: I079f767ad1c4e966c22d6722c0dfea6d5f35c54d

Conflicts:
	nova/cells/manager.py
	nova/cells/messaging.py
	nova/cells/rpcapi.py
	nova/tests/cells/test_cells_manager.py
	nova/tests/cells/test_cells_messaging.py
	nova/tests/cells/test_cells_rpcapi.py
Update supported cells RPC version for NeCTAR mods

Change-Id: Ia75b3a91e2c0686d229b2d345bd0fcf77f89b7d1
Support public-ipv4 metadata lookup without floating IPs

Change-Id: I92dcdd1a5e0bbc0664d97b22c30b9c6990a8b03c
Expire reservations in cells manager

Normally reservations are expired by a periodic task in nova-scheduler.
In a cells deployment quotas are usually enabled only on the api-level
cell. This uses a separate DB from the scheduler, so any reservations
on the top level never get expired.

This change adds the same periodic task to the cells manager so
reservations at all levels have a chance to be expired. The task is
disabled by default and can be turned on with the
CONF.cells.expire_reservations option.

Change-Id: I217f5b5e947662a858eb295f2add5c3227c3b531
Cells: Event-based secgroup/rule/assoc syncing

- ec2 security groups with source groups
- create security group if it doesn't exist on rule create
- management command to force a sync of secgroups down cells
Support a list of hosts in RPC server_params

Change-Id: I2c45500476a55e4906818755fdd8547c09d86611
Support a list of hosts in rpc_host cell db field

Change-Id: I0a29d13507362653497de8df105840be5f0d3d1e
Added simple ip filtering to fix #2848

This filtering will do regular expression matches so when searching for
absolute ip addresses, a dollar sign will be required to terminate the
string.

Change-Id: Ib5748d22d723279df31911e787239cc34f2f19fc
Cells: DB healing for groups/rules/instance assocs
Healing for EC2 inst/vol and S3 image mappings