[Openstack] [nova] Accessing instance.flavor.projects fails due to orphaned Flavor

Jay Pipes jaypipes at gmail.com
Thu Jan 12 15:56:50 UTC 2017

On 01/12/2017 05:31 AM, Balazs Gibizer wrote:
> Hi,
> The flavor field of the Instance object is a lazy-loaded field and the
> projects field of the Flavor object is also lazy-loaded. Now it seems to
> me that when the Instance object lazy loads instance.flavor then the
> created Flavor object is orphaned [1] therefore instance.flavor.projects
> will never work and result in an exceptuion: OrphanedObjectError: Cannot
> call _load_projects on orphaned Flavor object.
> Is the Flavor left orphaned by intention or it is a bug?

Depends :) I would say it is intentional for the most part. Is there a 
reason why the Flavor *notification* payload needs to contain a list of 
projects associated with the flavor? My gut says that information isn't 
particularly germane to the relationship of the Instance to the Flavor?

> The payload of instance.<action> notifications contains the flavor
> related data of the instance in question and to have the flavor.projects
> in the payload as well the code would need to access the projects field
> via instance.flavor.projects.

Sure, I understand it would ease the access to the projects field in the 
notification payload packing, but is there really a reason to bother 
retrieving and sending that data each time an Instance notification 
event is made (which is quite often)?


More information about the Openstack mailing list