preview_update_stack inconsistent with update_stack

Bug #1501207 reported by Steven Hardy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
High
Steve Baker
python-heatclient
Fix Committed
High
Steven Hardy

Bug Description

The recent changes to add full PATCH update support to update_stack in service.py should have been refactored into a helper function such that preview_update_stack also allowed consistent results for PATCH update's when previewing what would be done.

This was an oversight by me, and we should rework so both respond in a consistent way.

Steven Hardy (shardy)
Changed in heat:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Steven Hardy (shardy)
milestone: none → mitaka-1
tags: added: liberty-rc-potential
Revision history for this message
Steven Hardy (shardy) wrote :

Actually, it's not just inconsistent, if you attempt a --dry-run patch update it fails with:

"AttributeError: 'Environment' object has no attribute 'patch_previous_parameters'"

That is because that function was removed by https://review.openstack.org/#/c/205283/

Revision history for this message
Steven Hardy (shardy) wrote :

Actually re comment #1 - that's actually not something users could hit AFAICT, because we don't have a update_preview PATCH endpoint defined in the API, even though there's some previously unreachable code to handle PATCH updates in service.py (I hit that after adding the PATCH endpoint/path to the API)

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/230054

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/230054
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=604595a39c9345d214f9f02c2ab8d7d1d768fcbe
Submitter: Jenkins
Branch: master

commit 604595a39c9345d214f9f02c2ab8d7d1d768fcbe
Author: Steven Hardy <email address hidden>
Date: Thu Oct 1 17:16:01 2015 +0100

    Update preview_update_stack to align with PATCH updates

    Currently attempting to do a preview update call with PATCH fails,
    because we didn't align the behavior of preview update with the
    actual update in the recent additions to fix bug #1224828

    So, refactor to ensure both preview_update & update use the same
    code, and add a PATCH path to the update API.

    Change-Id: I8ce5c0ea4035a7b9563db10ea10433e7f5f99a4f
    Closes-Bug: #1501207

Changed in heat:
status: In Progress → Fix Committed
Steven Hardy (shardy)
Changed in python-heatclient:
assignee: nobody → Steven Hardy (shardy)
status: New → In Progress
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-heatclient (master)

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

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

Reviewed: https://review.openstack.org/230337
Committed: https://git.openstack.org/cgit/openstack/python-heatclient/commit/?id=7998ec89affef39f814b97050657e8aef5c7e43e
Submitter: Jenkins
Branch: master

commit 7998ec89affef39f814b97050657e8aef5c7e43e
Author: Steven Hardy <email address hidden>
Date: Fri Oct 2 10:33:03 2015 +0100

    Add PATCH support for stack-update --dry-run

    Previously we just passed the "existing" kwarg directly to the PUT,
    which was then ignored by the API, so PATCH update preview commands
    wouldn't work. Now heat supports PATCH preview_update_stack, we
    can revise this to use the PATCH method when appropriate.

    Requires this heat patch for --existing --dry-run to work when used
    together: https://review.openstack.org/#/c/230054

    Change-Id: Ib07c0a83edfbef7a08b4af344850d0a791b7704d
    Closes-Bug: #1501207

Changed in python-heatclient:
status: In Progress → Fix Committed
no longer affects: python-heatclient/liberty
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/231277

Thierry Carrez (ttx)
no longer affects: heat/mitaka
no longer affects: heat/liberty
Changed in heat:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (stable/liberty)

Reviewed: https://review.openstack.org/231277
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=4b30adeae16a908e2415d379fbd262e7913d88da
Submitter: Jenkins
Branch: stable/liberty

commit 4b30adeae16a908e2415d379fbd262e7913d88da
Author: Steven Hardy <email address hidden>
Date: Thu Oct 1 17:16:01 2015 +0100

    Update preview_update_stack to align with PATCH updates

    Currently attempting to do a preview update call with PATCH fails,
    because we didn't align the behavior of preview update with the
    actual update in the recent additions to fix bug #1224828

    So, refactor to ensure both preview_update & update use the same
    code, and add a PATCH path to the update API.

    Change-Id: I8ce5c0ea4035a7b9563db10ea10433e7f5f99a4f
    Closes-Bug: #1501207
    (cherry picked from commit 604595a39c9345d214f9f02c2ab8d7d1d768fcbe)

tags: added: in-stable-liberty
Thierry Carrez (ttx)
Changed in heat:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in heat:
milestone: liberty-rc2 → 5.0.0
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/235237

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (master)
Download full text (9.5 KiB)

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

commit 4348b7ababd1048e17ec354ca38c903c908cd74e
Author: Steve Baker <email address hidden>
Date: Tue Oct 6 12:54:24 2015 +1300

    Do no net/subnet checks during validate

    Currently validation fails if the network or the subnet are defined in
    the same template as the server because they don't exist during
    validate.

    _validate_belonging_subnet_to_net is called during _build_nics so this
    check still happens when the required resources actually exist.

    Also, test method validate_internal_port_subnet_not_this_network was not
    running because its name was not prefixed with test_. Fixing and
    updating this test revealed issues with the validation failed message.

    Closes-Bug: #1503060
    Change-Id: I2e062abf5b9fb7446b979ba6acc2e2b531d957d6

commit 7e911cec083e98f344bfcfeb7e2e843ce2330d5d
Author: Pratik Mallya <email address hidden>
Date: Mon Oct 5 00:34:12 2015 -0500

    Correctly filter events on resource name

    Filtering on resource name can be accomplished by using the db
    filters instead of using a filter method. Furthermore, using a
    custom filter breaks certain assumptions made by other parts of
    the codebase, which lead to pagination being broken.
    Specifically, custom filter for resource name is applied only
    after other filtering is finished. As a result, we try to find
    result from only 1 event and this event belongs to whole
    stack and thus its resource_name is equal to the stack name.
    This returns an event not found error instead of returning
    the first event assosciated with the resource name.

    Change-Id: Ie7d28ffb88a79d6e0f516f0db385be2eed59f7f0
    Closes-Bug: #1502751
    (cherry picked from commit 6322ff6fceabdfa226e5359328bde292d189e703)

commit fecc2bacb51c7dabdb83b87313df48dea527feae
Author: Pratik Mallya <email address hidden>
Date: Thu Oct 1 17:41:09 2015 -0500

    Check if os-interface extension is present before saving ports

    If that extension is not present, then the code to extract and
    save ports created during server create by nova will fail.

    Change-Id: I6008a0da0c16a34c40e343af4e7237520db4ae36
    Closes-Bug: #1499877
    (cherry picked from commit 46d8c276b70e7698438988faa9d997577a7e1750)

commit 6c3fa4e25d3e35adf53ad1e80d5455bf9f7a924a
Author: Peter Razumovsky <email address hidden>
Date: Mon Sep 14 17:43:49 2015 +0300

    Fix translating for props with get_param value

    If some map or list type properties specified with
    json-type or commadelimitedlist parameters, error
    raised in case of wrong properties data parsing.
    Fix this case by adding check if data is GetParam
    instance, resolve it. Other function can be safely
    replaced without resolve.

    Change-Id: I0c9a6af29b56b629cbdad2acb868c3033e38b5ef
    Closes-bug: #1494364
    (cherry picked from commit aea59ecdac6ed6635125eb2064554140e3e645fc)

commit 8810a28a9016b3bfa515fc11efd5f5dfa103b380
Author: OpenStack Propos...

Read more...

Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/heat 6.0.0.0b1

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

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/python-heatclient 0.9.0

This issue was fixed in the openstack/python-heatclient 0.9.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on heat (master)

Change abandoned by Steven Hardy (<email address hidden>) on branch: master
Review: https://review.openstack.org/230340

Changed in python-heatclient:
milestone: none → 1.3.0
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.