Convergence: magnum gate jobs fail with convergence engine

Bug #1582649 reported by Anant Patil
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
Medium
Anant Patil

Bug Description

Reference: https://review.openstack.org/#/c/316073/

A patch uploaded to test magnum with convergence engine showed up failed gate jobs. There are few tests failing:
gate-functional-dsvm-magnum-api (2 out-of 24 failures)
gate-functional-dsvm-magnum-k8s (4/8 failures)
gate-functional-dsvm-magnum-swarm (all 4/4 failed)
gate-functional-dsvm-magnum-mesos (all 2/2 failed)

All of them failed with following type of error:
2016-05-14 03:07:41.345 32231 ERROR heat.engine.resource Traceback (most recent call last):
2016-05-14 03:07:41.345 32231 ERROR heat.engine.resource File "/opt/stack/new/heat/heat/engine/resource.py", line 696, in _action_recorder
2016-05-14 03:07:41.345 32231 ERROR heat.engine.resource yield
2016-05-14 03:07:41.345 32231 ERROR heat.engine.resource File "/opt/stack/new/heat/heat/engine/resource.py", line 765, in _do_action
2016-05-14 03:07:41.345 32231 ERROR heat.engine.resource pre_func()
2016-05-14 03:07:41.345 32231 ERROR heat.engine.resource File "/opt/stack/new/heat/heat/engine/properties.py", line 407, in validate
2016-05-14 03:07:41.345 32231 ERROR heat.engine.resource message=ex.error_message
2016-05-14 03:07:41.345 32231 ERROR heat.engine.resource StackValidationFailed: Property error: api_pool_member.Properties.address: Error validating value '': Invalid IP address

The issue seems to be with resolving attributes.

Anant Patil (ananta)
Changed in heat:
assignee: nobody → Anant Patil (ananta)
status: New → In Progress
status: In Progress → New
Revision history for this message
Anant Patil (ananta) wrote :

The issue is with a floatingip resource with definition:

api_pool_floating:
    type: OS::Neutron::FloatingIP
    depends_on:
      - extrouter_inside
    properties:
      floating_network: {get_param: external_network}
      port_id: {get_attr: [api_pool, vip, port_id]}

When creating the floating IP, heat is not able to resolve the port_id. We have a similar test case with neutron autoscaling LB (test_autoscaling_lb.py) scenario test but it works: https://github.com/openstack/heat/blob/master/heat_integrationtests/scenario/templates/test_autoscaling_lb_neutron.yaml#L97

The difference is with the template version, magnum uses version 2013-05-23 and the neutron autoscaling LB test uses template of version 2015-04-30

In hot template version 2013-05-23 the get_attr is mapped to GetAttrThenSelect function and all other versions it is mapped to GetAttr function. Looks like the problem is with GetAttrThenSelect function.

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

Changed in heat:
status: New → In Progress
Revision history for this message
Rabi Mishra (rabi) wrote :

Any reason why this happens only with convergence? If they are using old template version then it should not work with legacy heat too. no?

Rico Lin (rico-lin)
Changed in heat:
importance: Undecided → Medium
milestone: none → newton-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (master)

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

commit e5856761701a6d9f111bbc24f18c0248d89286d9
Author: Anant Patil <email address hidden>
Date: Mon May 23 06:02:06 2016 +0000

    Fix GetAttThenSelect for convergence

    The GetAttThenSelect dep_attrs implementaion is changed to return the
    attribute only instead of (attribute + path component). It is wrong to
    return the (attribute + path component) and that was breaking the
    GetAttThenSelect for convergence.

    Change-Id: I117dc3e587386f4d48e70ef89c61bb857c751717
    Closes-Bug: #1582649

Changed in heat:
status: In Progress → Fix Released
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/heat 7.0.0.0b2

This issue was fixed in the openstack/heat 7.0.0.0b2 development milestone.

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.