BVT can't get cluster deployment info before starting OpenStack installation: 'File "/usr/lib/python2.7/site-packages/ply/lex.py", line 253, in input c = s[:1] TypeError: unhashable type'

Bug #1569778 reported by Artem Panchenko
38
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
Critical
Bulat Gaifullin
Mitaka
Fix Released
Critical
Bulat Gaifullin

Bug Description

BVT can't download cluster deployment info before starting OpenStack installation:

http://paste.openstack.org/show/493906/

Detailed bug description:

Test gets 500 error from API, here is an error from Nailgun logs:

2016-04-13 03:41:27.994 ERROR [7f4a67960880] (base) Unexpected exception occured
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nailgun/api/v1/handlers/base.py", line 285, in content_json
    resp = func(cls, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/nailgun/api/v1/handlers/orchestrator.py", line 86, in GET
    return self._serialize(cluster, nodes)
  File "/usr/lib/python2.7/site-packages/nailgun/api/v1/handlers/orchestrator.py", line 158, in _serialize
    graph, cluster, nodes, ignore_customized=True)
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/deployment_serializers.py", line 884, in serialize
    cluster, nodes, ignore_customized
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/deployment_serializers.py", line 875, in _invoke_serializer
    cluster, nodes, ignore_customized=ignore_customized
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/deployment_serializers.py", line 119, in serialize
    self.set_tasks(serialized_nodes)
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/deployment_serializers.py", line 336, in set_tasks
    node['tasks'] = self.task_graph.deploy_task_serialize(node)
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/orchestrator_graph.py", line 475, in deploy_task_serialize
    if not serializer.should_execute():
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/tasks_serializer.py", line 68, in should_execute
    strict=False).evaluate()
  File "/usr/lib/python2.7/site-packages/nailgun/expression/__init__.py", line 24, in __init__
    self.compiled_expression = parse(self)
  File "/usr/lib/python2.7/site-packages/nailgun/expression/expression_parser.py", line 151, in parse
    return parser.parse(expression.expression_text, lexer=lexer)
  File "/usr/lib/python2.7/site-packages/ply/yacc.py", line 265, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/site-packages/ply/yacc.py", line 889, in parseopt_notrack
    lexer.input(input)
  File "/usr/lib/python2.7/site-packages/ply/lex.py", line 253, in input
    c = s[:1]
TypeError: unhashable type

Steps to reproduce:

1. Run system tests with bvt_2 group

Expected results:

test passed

Actual result:

test fail before starting deplyment with error: 'Internal Server Error code 500 [unhashable type]'

Reproducibility:

always

Workaround:

no workaround

Impact:

BVT permanently fail

Revision history for this message
Artem Panchenko (apanchenko-8) wrote :
Changed in fuel:
importance: High → Critical
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Igor Kalnitsky (ikalnitsky)
status: New → Confirmed
Revision history for this message
Ihor Kalnytskyi (ikalnytskyi) wrote :

The endpoint:

   /api/clusters/1/orchestrator/deployment/defaults/

calls legacy graph resolver, the one that doesn't know how to deal with YAQL-based expressions. We need to fix that endpoint to use different resolvers (serializers) depending on task types.

Changed in fuel:
status: Confirmed → Triaged
assignee: Igor Kalnitsky (ikalnitsky) → Bulat Gaifullin (bgaifullin)
Changed in fuel:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (master)

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

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

Reviewed: https://review.openstack.org/305084
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=87fe57d055488cd3adcfa2f105f0ab6aba8518e7
Submitter: Jenkins
Branch: master

commit 87fe57d055488cd3adcfa2f105f0ab6aba8518e7
Author: Bulat Gaifullin <email address hidden>
Date: Wed Apr 13 13:15:28 2016 +0300

    Fixed OrchestratorInfo handlers for LCM

    The LCM serializers should be used for all releases
    that are LCM ready.
    Also the plugin hooks was removed in LCM and
    the hooks can not be retrieved. The tasks graph API
    can be used to get information about tasks from plugins.

    DocImpact
    Closes-Bug: 1569778

    Change-Id: I037f79c5b4f51dd40bf05d7a00bde9a38c4b4454

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/305447

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (stable/mitaka)

Reviewed: https://review.openstack.org/305447
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=3523ba6092addab55b5dc27d5c7ab95cbf6fec09
Submitter: Jenkins
Branch: stable/mitaka

commit 3523ba6092addab55b5dc27d5c7ab95cbf6fec09
Author: Bulat Gaifullin <email address hidden>
Date: Wed Apr 13 13:15:28 2016 +0300

    Fixed OrchestratorInfo handlers for LCM

    The LCM serializers should be used for all releases
    that are LCM ready.
    Also the plugin hooks was removed in LCM and
    the hooks can not be retrieved. The tasks graph API
    can be used to get information about tasks from plugins.

    DocImpact
    Closes-Bug: 1569778

    Change-Id: I037f79c5b4f51dd40bf05d7a00bde9a38c4b4454
    (cherry picked from commit 87fe57d055488cd3adcfa2f105f0ab6aba8518e7)

Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

Fix verified on MOS 9.0 #201, all MOS-related deployments passed.

Changed in fuel:
status: Fix Committed → Fix Released
tags: added: release-notes
Revision history for this message
Olena Logvinova (ologvinova) wrote :

Reviewed: https://review.fuel-infra.org/21464
Submitter: Evgeny Konstantinov <email address hidden>
Branch: master

Commit: 46f43d7dcb24b32d37a4224542854746791ba39c
Author: Olena Logvinova <email address hidden>
Date: Wed Jun 1 13:16:08 2016

[RN 9.0] Fixed bug description 1569778

This patch adds the following fixed bug
description to the RN 9.0 page:

https://bugs.launchpad.net/fuel/+bug/1569778

Change-Id: I024754aded938428dcfc5a062d3e0a5335dc52a9
Closes-Bug: #1570235

The RN is published at https://docs.mirantis.com/openstack/fuel/fuel-master/release-notes.html#mirantis-openstack-components-resolved-issues.

tags: added: release-notes-done
removed: release-notes
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.