Neutron port fixed_ips backwards incompatible change wrt "[]"

Bug #1538473 reported by Steven Hardy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
High
Rabi Mishra

Bug Description

Since this change, we're seeing different behaviour in existing tripleo templates:

https://review.openstack.org/#/c/256328/7/heat/engine/resources/openstack/neutron/port.py

The problem is that we wire in a parameter, which relies on the existing behavior where an empty list is treated the same as not passing any fixed_ips:

https://github.com/openstack/tripleo-heat-templates/blob/master/overcloud.yaml#L1220

https://github.com/openstack/tripleo-heat-templates/blob/master/overcloud.yaml#L72

ControlFixedIPs has a default of an empty list, which used to mean neutron assigned the IPs, but now it means we literally get an empty list, e.g no IPs

This breaks TripleO, and despite being more technically correct from a neutron interface perspective, it's a backwards incompatible change.

I think we have to work out a way to not break existing templates, even if the new behaviour has to be introduced via a new property or something.

Steven Hardy (shardy)
tags: added: tripleo
Rabi Mishra (rabi)
Changed in heat:
assignee: nobody → Rabi Mishra (rabi)
Steven Hardy (shardy)
Changed in heat:
status: New → Triaged
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (master)

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

Changed in heat:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (master)

Reviewed: https://review.openstack.org/272983
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=2e7753ee7d9f28eb3e7a29f3d7472d7dd84d3b20
Submitter: Jenkins
Branch: master

commit 2e7753ee7d9f28eb3e7a29f3d7472d7dd84d3b20
Author: Rabi Mishra <email address hidden>
Date: Wed Jan 27 15:46:29 2016 +0530

    Don't pass [] for fixed_ips to neutron

    Earlier we used to remove `fixed_ips` attibute while calling neutron,
    if it's [] for both create and update. This was masking the
    behaviour of releasing fixed_ips from a port during update or creating
    a port without fixed_ips.

    The recent change[1] to fix this is backward incompatible with some
    tripleo templates.

    This patch fixes it by reverting to the original behaviour.

    [1] https://review.openstack.org/#/c/256328/

    Change-Id: I72d9533ff7ed7656224849f6b134652db0532aef
    Closes-Bug: #1538473

Changed in heat:
status: In Progress → Fix Released
Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/heat 6.0.0.0b3

This issue was fixed in the openstack/heat 6.0.0.0b3 development milestone.

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

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to heat (master)

Reviewed: https://review.openstack.org/493841
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=a7702ff006f2a277de1177942c23bccb9d10d582
Submitter: Jenkins
Branch: master

commit a7702ff006f2a277de1177942c23bccb9d10d582
Author: rabi <email address hidden>
Date: Tue Aug 15 16:57:14 2017 +0530

    Don't call update_port with empty dict

    Change-Id: I98d56645df04a6d0c830428053553b8eeecf5747
    Closes-Bug: #1710833
    Related-Bug: #1538473

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to heat (stable/pike)

Related fix proposed to branch: stable/pike
Review: https://review.openstack.org/504999

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to heat (stable/pike)

Reviewed: https://review.openstack.org/504999
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=dec60a0c9d11ddacdd2c6f7c28f87b52e2a59853
Submitter: Jenkins
Branch: stable/pike

commit dec60a0c9d11ddacdd2c6f7c28f87b52e2a59853
Author: rabi <email address hidden>
Date: Tue Aug 15 16:57:14 2017 +0530

    Don't call update_port with empty dict

    Change-Id: I98d56645df04a6d0c830428053553b8eeecf5747
    Closes-Bug: #1710833
    Related-Bug: #1538473
    (cherry picked from commit a7702ff006f2a277de1177942c23bccb9d10d582)

tags: added: in-stable-pike
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.