software deployment AttributeError: _get with latest heatclient

Bug #1308770 reported by Dan Prince
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
Critical
Dan Prince
Icehouse
Fix Released
Critical
Gonéri Le Bouder

Bug Description

As of today I get the following heat-engine exception when trying to create an overcloud:

Apr 16 15:55:30 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:30.617 3998 WARNING heat.common.keystoneclient [-] Falling back to legacy non-domain keypair, configure domain in heat.conf
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 ERROR heat.engine.resource [-] CREATE : StructuredDeployment "controller0Deployment" [c4c14dd5-6df6-4245-867d-871c7594bbe6] Stack "overcloud" [ee35856f-6968-4271-aad3-9b69597f2714]
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource Traceback (most recent call last):
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource File "/opt/stack/venvs/openstack/lib/python2.7/site-packages/heat/engine/resource.py", line 409, in _do_action
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource while not check(handle_data):
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource File "/opt/stack/venvs/openstack/lib/python2.7/site-packages/heat/engine/resources/software_config/software_deployment.py", line 367, in check_create_complete
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource return self._check_complete(sd)
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource File "/opt/stack/venvs/openstack/lib/python2.7/site-packages/heat/engine/resources/software_config/software_deployment.py", line 228, in _check_complete
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource sd._get()
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource File "/opt/stack/python-heatclient/heatclient/openstack/common/apiclient/base.py", line 462, in __getattr__
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource return self.__getattr__(k)
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource File "/opt/stack/python-heatclient/heatclient/openstack/common/apiclient/base.py", line 464, in __getattr__
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource raise AttributeError(k)
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource AttributeError: _get
Apr 16 15:55:32 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:32.825 3998 TRACE heat.engine.resource
Apr 16 15:55:34 undercloud-undercloud-ruhm6bgh6ads heat-engine[3998]: 2014-04-16 15:55:34.738 3998 WARNING heat.engine.service [-] Stack create failed, status FAILED

Dan Prince (dan-prince)
Changed in tripleo:
importance: Undecided → Critical
status: New → Triaged
Revision history for this message
Dan Prince (dan-prince) wrote :

More information:

I'm using the common-venv to test and hit this. I suspect the issue is that the latest heatclient doesn't work with the new heat software deployment resources we are using.

Heatclient 72017c566850da589f7dc7dc275871986aadbd54 looks suspicious... will investigate further.

Dan Prince (dan-prince)
Changed in tripleo:
assignee: nobody → Dan Prince (dan-prince)
Dan Prince (dan-prince)
summary: - TRACE heat.engine.resource AttributeError: _get
+ software deployment AttributeError: _get with latest heatclient
affects: tripleo → heat
Revision history for this message
Openstack Gerrit (openstack-gerrit) wrote : Fix proposed to heat (master)

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

Changed in heat:
status: Triaged → In Progress
Revision history for this message
Openstack Gerrit (openstack-gerrit) wrote : Fix merged to heat (master)

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

commit a7d782395084c6c16304f17d14b824028c5ba450
Author: Dan Prince <email address hidden>
Date: Thu Apr 17 13:56:17 2014 -0400

    Support multiple heatclient versions for SD

    The software_deployment resources lazy loads data via the
    heatclient _get() function. Not only is this function private
    but the oslo-incubator recently reverted things such that
    get() should once again be used for lazy loading details.

    See oslo-incubator commit 04a1abe59ac39890f57d2eed57d3d1b12bb5d757

    This was merged into heatclient master in:

    72017c566850da589f7dc7dc275871986aadbd54

    This patch makes it so that heat will work with both versions
    of heatclient.

    Change-Id: I1799636d39cea410b55ffe72eeecba4f4a7a0f80
    Closes-bug: #1308770

Changed in heat:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in heat:
milestone: none → juno-1
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (stable/icehouse)

Fix proposed to branch: stable/icehouse
Review: https://review.openstack.org/118336

Steven Hardy (shardy)
tags: added: icehouse-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (stable/icehouse)

Reviewed: https://review.openstack.org/118336
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=c1c48e201afa07935c3af92c845ffc517719297b
Submitter: Jenkins
Branch: stable/icehouse

commit c1c48e201afa07935c3af92c845ffc517719297b
Author: Dan Prince <email address hidden>
Date: Thu Apr 17 13:56:17 2014 -0400

    Support multiple heatclient versions for SD

    The software_deployment resources lazy loads data via the
    heatclient _get() function. Not only is this function private
    but the oslo-incubator recently reverted things such that
    get() should once again be used for lazy loading details.

    See oslo-incubator commit 04a1abe59ac39890f57d2eed57d3d1b12bb5d757

    This was merged into heatclient master in:

    72017c566850da589f7dc7dc275871986aadbd54

    This patch makes it so that heat will work with both versions
    of heatclient.

    Change-Id: I1799636d39cea410b55ffe72eeecba4f4a7a0f80
    Closes-bug: #1308770
    (cherry picked from commit a7d782395084c6c16304f17d14b824028c5ba450)

Thierry Carrez (ttx)
Changed in heat:
milestone: juno-1 → 2014.2
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.