An administrator would like the ability to associate a flavor with multiple projects that are not the one’s creating the flavor. This blueprint proposes an update to an existing resource type, nova flavor.
The traditional OS::Nova::Flavor allows the definition of a private flavor, but it only associates the flavor with the project making the request. This change allows the resource type to be used by an Admin user to associate a private flavor with multiple projects that are not the one’s creating the flavor.
This feature becomes necessary in a large Openstack cloud operator where there might be dozens or hundreds of regions. Managing flavors manually across multiple regions becomes untenable. The notion of building tools that, via orchestrating, help manage this largely distributed environment is what the purpose of this enhancement is.
This blueprint proposes to alter an existing resource type OS::Nova::Flavor in heat to address the problem described. This will be done by taking the existing flavor.py and updating the resource type.
From that file we will add PROJECTS to the list of PROPERTIES as well as its schema. The schema will look something like:
PROJECTS: properties.Schema( properties.Schema.LIST, _('List of projects.'), update_allowed=True, default=None )
An alternative would be to add the association to each project manually.