Object versioning is unstable in case of inheritance

Bug #1602839 reported by Stan Lagun
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Murano
Fix Released
High
Stan Lagun

Bug Description

Suppose that we deployed an instance of class A which is derived from class B. After the deployment version of the A class is written to the object model for the instance of A. However the version of B (which is a part of A) is chosen according to A's requirements which can be wide enough. So on the next object model load it might happen that another version of B is used for that purpose. It is okay from the A's stand point because this another version still meets the requirements. However the internal state (attribute set) of that another version might be different. Thus that another version might not understand the state produced by its predecessor. Things get even worse considering that it still might be the first version again upon the next model load

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to murano (master)

Fix proposed to branch: master
Review: https://review.openstack.org/341961

Changed in murano:
assignee: nobody → Stan Lagun (slagun)
status: New → In Progress
Changed in murano:
milestone: none → newton-2
importance: Undecided → High
Changed in murano:
milestone: newton-2 → newton-3
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to murano (master)

Reviewed: https://review.openstack.org/341961
Committed: https://git.openstack.org/cgit/openstack/murano/commit/?id=904cb248e46c05708547f3593406202ce20e6f1c
Submitter: Jenkins
Branch: master

commit 904cb248e46c05708547f3593406202ce20e6f1c
Author: Stan Lagun <email address hidden>
Date: Wed Jul 13 22:47:27 2016 -0700

    Fix used package versions for stable inheritance

    When an object from an object model is deserialized
    on subsequent deployment it's version is usually
    fixed in the object model. However the version of
    base classes for that object is not as long as it meets
    to the class requirements. Thus slightly different version
    might be used on each deployment that does satisfies the
    requirements but may have different internal state representation.

    To solve this a list of all package versions that are in use by the
    object model is written to the hidden section of the object model.
    On the subsequent load package loader will prefer versions in the
    list over newer versions available in the catalog at that time

    Change-Id: I17087c0045210d28b87aba4d50c329f688df3954
    Closes-Bug: #1602839

Changed in murano:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/murano 3.0.0.0b3

This issue was fixed in the openstack/murano 3.0.0.0b3 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.