Adds support for "extra specs", additional capability requirements associated with instance types.
Adds support for "extra specs", additional capability requirements associated with instance types.

The instance_type dictionary now has a new extra_specs field.

Adds a new table to the database: InstanceTypeExtraSpecs. This is modeled on the existing InstanceMetadata table, except that it is associated with additional capability requirements of instance types rather than generic metadata for instances.

The InstanceTypeFilter has been modified to check for extra specs.

This will ultimately be needed for supporting heterogeneous instances: we'll annotate the instance types with info about whether GPUs are present, so users will be able to request something like a "cg1.4xlarge".

Includes api support as an extension for querying and modifying this info.
rajarammallya/melange,openstack-attic/melange,rackerlabs/melange,openstack-attic/melange,rackerlabs/melange,rajarammallya/melange,openstack-attic/melange,rajarammallya/melange,rackerlabs/melange