project specific flavors support

Registered by Qiu Yu

Currently flavor (instance type) settings in Nova are shared by all projects. However, there're cases in private cloud deployments that project specific flavor settings are necessary.

In contrast to global flavor setting, project specific flavor is visible and available for specific project only.

* flavor type is public by default, which is accessible to all projects
* non-public flavor type (project specific flavor, or private flavor) is only accessible to those project on the access list, and invisible to all other projects
* admin user is able to query all flavor types ( public flavor by default )
* project members could list all public flavor types and current project specific flavor types

API Extension
--
GET v2/{tenant_id}/flavors/{flavor_id}/os-flavor-access list of project with access to flavor
POST v2/{tenant_id}/flavors/{flavor_id}/action add / remove project to flavor access list

Also implements client bindings for project specific flavor management

Command Use
--
nova flavor-access-list --flavor flavorid return access list of specified flavorid
nova flavor-access-add flavorid projectid add project to private flavor's access list
nova flavor-access-remove flavorid projectid remove project from private flavor access list

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Low
Drafter:
Qiu Yu
Direction:
Approved
Assignee:
Qiu Yu
Definition:
Approved
Series goal:
Accepted for folsom
Implementation:
Implemented
Milestone target:
milestone icon 2012.2
Started by
Qiu Yu
Completed by
Qiu Yu

Related branches

Sprints

Whiteboard

I'd argue that this is also a public-cloud problem domain as well. For instance, if I'm a service provider that has a number of reseller tenants, I think it would be great to be able to allow those resellers to customize the flavor and images they offer.

Gerrit topic: https://review.openstack.org/#q,topic:bp/project-specific-flavors,n,z

Addressed by: https://review.openstack.org/11270
    Implement project specific flavors API

Addressed by: https://review.openstack.org/11273
    Implement project specific flavors API - client binding

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.