Test fail in test_create_tosca_scale & test_create_tosca_alarm_scale

Bug #1753645 reported by Nguyen Hai
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Heat Translator
Invalid
Undecided
Unassigned
tacker
Fix Released
Critical
yong sheng gong

Bug Description

Running "tox -e py27" and "tox -e py35" in Tacker (master: HEAD 3cf7bb9c4dd5d3fceeb6a285f72926dfa747af6e), the below test units are fail.

tacker.tests.unit.vnfm.infra_drivers.openstack.test_openstack.TestOpenStack.test_create_tosca_scale
---------------------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "tacker/tests/unit/vnfm/infra_drivers/openstack/test_openstack.py", line 400, in test_create_tosca_scale
        is_monitor=False
      File "tacker/tests/unit/vnfm/infra_drivers/openstack/test_openstack.py", line 272, in _test_assert_equal_for_tosca_templates
        auth_attr=utils.get_vim_auth_obj())
      File "tacker/common/log.py", line 35, in wrapper
        return method(*args, **kwargs)
      File "tacker/vnfm/infra_drivers/openstack/openstack.py", line 104, in create
        tth.generate_hot()
      File "tacker/common/log.py", line 35, in wrapper
        return method(*args, **kwargs)
      File "tacker/vnfm/infra_drivers/openstack/translate_template.py", line 75, in generate_hot
        self._generate_hot_from_tosca(vnfd_dict, dev_attrs)
      File "tacker/common/log.py", line 35, in wrapper
        return method(*args, **kwargs)
      File "tacker/vnfm/infra_drivers/openstack/translate_template.py", line 303, in _generate_hot_from_tosca
        raise vnfm.HeatTranslatorFailed(error_msg_details=str(e))
    tacker.extensions.vnfm.HeatTranslatorFailed: heat-translator failed: - translate_to_yaml_files_dict() takes exactly 2 arguments (3 given)

----

tacker.tests.unit.vnfm.infra_drivers.openstack.test_openstack.TestOpenStack.test_create_tosca_alarm_scale
---------------------------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "tacker/tests/unit/vnfm/infra_drivers/openstack/test_openstack.py", line 441, in test_create_tosca_alarm_scale
        is_monitor=False
      File "tacker/tests/unit/vnfm/infra_drivers/openstack/test_openstack.py", line 272, in _test_assert_equal_for_tosca_templates
        auth_attr=utils.get_vim_auth_obj())
      File "tacker/common/log.py", line 35, in wrapper
        return method(*args, **kwargs)
      File "tacker/vnfm/infra_drivers/openstack/openstack.py", line 104, in create
        tth.generate_hot()
      File "tacker/common/log.py", line 35, in wrapper
        return method(*args, **kwargs)
      File "tacker/vnfm/infra_drivers/openstack/translate_template.py", line 75, in generate_hot
        self._generate_hot_from_tosca(vnfd_dict, dev_attrs)
      File "tacker/common/log.py", line 35, in wrapper
        return method(*args, **kwargs)
      File "tacker/vnfm/infra_drivers/openstack/translate_template.py", line 303, in _generate_hot_from_tosca
        raise vnfm.HeatTranslatorFailed(error_msg_details=str(e))
    tacker.extensions.vnfm.HeatTranslatorFailed: heat-translator failed: - translate_to_yaml_files_dict() takes exactly 2 arguments (3 given)

Changed in tacker:
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tacker (master)

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

Changed in tacker:
assignee: nobody → Trinh Nguyen (dangtrinhnt)
status: Confirmed → In Progress
Revision history for this message
yong sheng gong (gongysh) wrote :
Download full text (5.7 KiB)

Mar 06 17:26:38.464875 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource Traceback (most recent call last):
Mar 06 17:26:38.465105 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource File "/opt/stack/tacker/tacker/api/v1/resource.py", line 77, in resource
Mar 06 17:26:38.465319 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource result = method(request=request, **args)
Mar 06 17:26:38.465580 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource File "/opt/stack/tacker/tacker/api/v1/base.py", line 393, in create
Mar 06 17:26:38.465798 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource obj = obj_creator(request.context, **kwargs)
Mar 06 17:26:38.465998 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource File "/opt/stack/tacker/tacker/vnfm/plugin.py", line 399, in create_vnf
Mar 06 17:26:38.466207 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource vnf_dict = self._create_vnf(context, vnf_info, vim_auth, infra_driver)
Mar 06 17:26:38.466426 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource File "/opt/stack/tacker/tacker/vnfm/plugin.py", line 348, in _create_vnf
Mar 06 17:26:38.466751 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource self.delete_vnf(context, vnf_id)
Mar 06 17:26:38.466967 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
Mar 06 17:26:38.467192 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource self.force_reraise()
Mar 06 17:26:38.467408 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
Mar 06 17:26:38.467629 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource six.reraise(self.type_, self.value, self.tb)
Mar 06 17:26:38.467856 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource File "/opt/stack/tacker/tacker/vnfm/plugin.py", line 342, in _create_vnf
Mar 06 17:26:38.468063 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource context=context, vnf=vnf_dict, auth_attr=vim_auth)
Mar 06 17:26:38.468279 ubuntu-xenial-rax-dfw-0002811225 tacker-server[24405]: 2018-03-06 17:26:38.460 24405 ERROR tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/driver_manager.py", line 70, in invo...

Read more...

Changed in tacker:
importance: Undecided → Critical
milestone: none → rocky-1
Revision history for this message
Trinh Nguyen (dangtrinhnt) wrote :

Hi gongysh. Could you please paste here the steps to reproduce those errors? Which template did you use? Thanks.

Revision history for this message
Cong Phuoc Hoang (hoangphuoc) wrote :

This happens because the nested HOT template is the same as the main HOT template. Therefore, it causes this error:
ERROR: RequestLimitExceeded: : resources.SP1_group<nested_stack>.resources.4yer4tzczidc<SP1_res.yaml>.resources.SP1_group<nested_stack>.resources.bvuha3ynni5t<SP1_res.yaml>.resources.SP1_group<nested_stack>.resources.svkvjkur36zb<SP1_res.yaml>: : Request limit exceeded: Recursion depth exceeds 5.

https://github.com/openstack/tacker/blob/master/tacker/vnfm/infra_drivers/openstack/translate_template.py#L296

Revision history for this message
Trinh Nguyen (dangtrinhnt) wrote :

Thanks, Phuoc. I will update the patch later.

Changed in tacker:
assignee: Trinh Nguyen (dangtrinhnt) → Cong Phuoc Hoang (hoangphuoc)
Changed in heat-translator:
status: New → Confirmed
Revision history for this message
Trinh Nguyen (dangtrinhnt) wrote :
Changed in tacker:
assignee: Cong Phuoc Hoang (hoangphuoc) → Trinh Nguyen (dangtrinhnt)
Changed in tacker:
assignee: Trinh Nguyen (dangtrinhnt) → Cong Phuoc Hoang (hoangphuoc)
Changed in tacker:
assignee: Cong Phuoc Hoang (hoangphuoc) → yong sheng gong (gongysh)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tacker (master)

Reviewed: https://review.openstack.org/550149
Committed: https://git.openstack.org/cgit/openstack/tacker/commit/?id=47df1d6a2eee8d88c4d8819ed0e8e982275b874e
Submitter: Zuul
Branch: master

commit 47df1d6a2eee8d88c4d8819ed0e8e982275b874e
Author: Trinh Nguyen <email address hidden>
Date: Wed Mar 7 01:22:10 2018 +0900

    Fix heat translator bug due to nested_resource_name

    This patch fix these:

    - If nested_resource_name is 'SP1_res.yaml' it will create
    a loop in heat translator and vnf creation will fail. This
    is a bug of heat translator and this patch is to bypass
    the loop hole by using a different name than 'SP1_res.yaml'.
    - Incorrect syntax:
    ...
    translate_to_yaml_files_dict() takes exactly 2 arguments (3 given)
    ...

    Co-Authored-By: Cong Phuoc Hoang <email address hidden>
    Co-Authored-By: yong sheng gong <gong.yongsheng@99cloud.net>
    Co-Authored-By: Trinh Nguyen <email address hidden>

    Change-Id: I60dc0a6d443598264c29fde8a3959d4bd7fba904
    Closes-bug: #1753645

Changed in tacker:
status: In Progress → Fix Released
Changed in heat-translator:
status: Confirmed → Fix Released
status: Fix Released → Invalid
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.