Comment 34 for bug 1526283

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

Reviewed: https://review.openstack.org/476779
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=8e7d795db5e614de6a3d8dd19ff26f869c8e9f9a
Submitter: Jenkins
Branch: master

commit 8e7d795db5e614de6a3d8dd19ff26f869c8e9f9a
Author: Ruby Loo <email address hidden>
Date: Fri Jun 23 01:00:42 2017 -0400

    Modifications for rolling upgrades

    This contains some changes to conversions of objects during a rolling
    upgrade.

    This changes objects.base.IronicObject.convert_to_version() to have a new
    parameter 'remove_unavail_fields': True (default) to remove fields that are
    unavailable in the target version -- for serialization/deserialization
    of objects. False to change unavailable fields as appropriate (for DB
    interactions). The reason for doing this is to make sure that during
    serialization (eg for RPC), that we don't include any object
    fields that are not supported.

    To make the code a bit more performant, we don't perform object
    conversions when the API service is serializing the objects for RPC to
    the conductor. This is because the conductor will always be running the
    same or a newer release as the API service.

    Change-Id: I6f77b24199412e3489dd6f3dcf0f51ed04c5c7c0
    Partial-Bug: #1526283