[Openstack] [nova] Accessing instance.flavor.projects fails due to orphaned Flavor
jaypipes at gmail.com
Thu Jan 12 15:56:50 UTC 2017
On 01/12/2017 05:31 AM, Balazs Gibizer wrote:
> 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  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