'Result' object has no attribute 'copy' - overcloud deployment fails

Bug #1623086 reported by Ryan Hallisey
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Dougal Matthews

Bug Description

openstack overcloud deploy --templates=tripleo-heat-templates -e /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml -e /usr/share/openstack-tripleo-heat-templa
tes/environments/puppet-pacemaker.yaml --control-scale 3 --compute-scale 1 --libvirt-type qemu --ntp-server '0.fedora.pool.ntp.org'
WARNING: openstackclient.common.utils is deprecated and will be removed after Jun 2017. Please use osc_lib.utils
WARNING: openstackclient.common.exceptions is deprecated and will be removed after Jun 2017. Please use osc_lib.exceptions
Creating Swift container to store the plan
Creating plan from template files in: tripleo-heat-templates
Plan created
Deploying templates in the directory /home/stack/tripleo-heat-templates
Object GET failed: http://192.0.2.1:8080/v1/AUTH_d3a64cb832264c958e004e706202fac9/overcloud/overcloud-without-mergepy.yaml 404 Not Found [first 60 chars of response] <html><h1>Not Found</h1><p>The resource could not be found.<
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 1565, in _retry
    service_token=self.service_token, **kwargs)
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 1116, in get_object
    http_response_content=body)
ClientException: Object GET failed: http://192.0.2.1:8080/v1/AUTH_d3a64cb832264c958e004e706202fac9/overcloud/overcloud-without-mergepy.yaml 404 Not Found [first 60 chars of response] <html><h1>Not Found</h1><p>The resource could not be found.<
{u'execution': {u'id': u'bcae2248-5fcc-4d23-8cd6-e0415502776d',
                u'input': {u'container': u'overcloud',
                           u'queue_name': u'f08e7111-0468-41f9-b10e-b6b33dfd6318',
                           u'timeout': 240},
                u'params': {},
                u'spec': {u'input': [u'container',
                                     {u'timeout': 240},
                                     {u'queue_name': u'tripleo'}],
                          u'name': u'deploy_plan',
                          u'tasks': {u'copy_validation_ssh_keys': {u'name': u'copy_validation_ssh_keys',
                                                                   u'on-complete': u'send_message',
                                                                   u'type': u'direct',
                                                                   u'version': u'2.0',
                                                                   u'workflow': u'tripleo.validations.v1.copy_ssh_key'},
                                     u'deploy': {u'action': u'tripleo.deploy timeout=<% $.timeout %> container=<% $.container %>',
                                                 u'name': u'deploy',
                                                 u'on-error': u'set_deployment_failed',
                                                 u'on-success': u'test_validations_enabled',
                                                 u'type': u'direct',
                                                 u'version': u'2.0'},
                                     u'send_message': {u'action': u'zaqar.queue_post',
                                                       u'input': {u'messages': {u'body': {u'payload': {u'execution': u'<% execution() %>',
                                                                                                       u'message': u"<% $.get('message', '') %>",
                                                                                                       u'status': u"<% $.get('status', 'SUCCESS') %>"},
                                                                                          u'type': u'tripleo.deployment.v1.deploy_plan'}},
                                                                  u'queue_name': u'<% $.queue_name %>'},
                                                       u'name': u'send_message',
                                                       u'type': u'direct',
                                                       u'version': u'2.0'},
                                     u'set_deployment_failed': {u'name': u'set_deployment_failed',
                                                                u'on-success': u'send_message',
                                                                u'publish': {u'message': u'<% task(deploy).result %>',
                                                                             u'status': u'FAILED'},
                                                                u'type': u'direct',
                                                                u'version': u'2.0'},
                                     u'test_validations_enabled': {u'action': u'tripleo.validations.enabled',
                                                                   u'name': u'test_validations_enabled',
                                                                   u'on-error': u'send_message',
                                                                   u'on-success': u'copy_validation_ssh_keys',
                                                                   u'type': u'direct',
                                                                   u'version': u'2.0'}},
                          u'version': u'2.0'}},
 u'message': u"Failed to run action [action_ex_id=3a8e76b3-d2f5-4838-a3f1-4d7e6541afca, action_cls='<class 'mistral.actions.action_factory.DeployStackAction'>', attributes='{}', params='{u'container': u'overcloud', u'timeout': 240}']\n 'Result' object has no attribute 'copy'",
 u'status': u'FAILED'}

Changed in tripleo:
assignee: nobody → Julie Pichon (jpichon)
status: New → In Progress
Revision history for this message
Julie Pichon (jpichon) wrote :

From what I understand, this hides the real error message.

Changed in tripleo:
assignee: Julie Pichon (jpichon) → Dougal Matthews (d0ugal)
importance: Undecided → High
milestone: none → newton-rc1
Revision history for this message
Ryan Hallisey (rthall14) wrote :

I think this is user error. I was passing the wrong vars for the overcloud deploy that was pointing at THT master and not the newton bits. We can re open if this comes up again.

Changed in tripleo:
milestone: newton-rc1 → newton-rc2
Revision history for this message
Julie Pichon (jpichon) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-common (master)

Reviewed: https://review.openstack.org/368081
Committed: https://git.openstack.org/cgit/openstack/tripleo-common/commit/?id=cd9a49a4fda137805e73e637e2570ecd9f906636
Submitter: Jenkins
Branch: master

commit cd9a49a4fda137805e73e637e2570ecd9f906636
Author: Dougal Matthews <email address hidden>
Date: Fri Sep 9 16:27:53 2016 +0100

    Check the result of the parent action when subclassing

    If the parent action fails, it returns a Result instance with the
    error information. We should just return that. It is possible we
    could solve this in a more elegant way with exceptions.

    Change-Id: I4a84eb70bb6577e67069df8150ec5b73a493af5a
    Closes-Bug: #1623086

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

This issue was fixed in the openstack/tripleo-common 5.2.0 release.

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.