Controller deletion from the cluster failed with TypeError: unhashable type

Bug #1578571 reported by Andrey Sledzinskiy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Nikita Zubkov
Mitaka
Fix Released
High
Nikita Zubkov

Bug Description

fuel version - 9.0-275

Steps:
1. Create and deploy next cluster - all default settings, 3 controller, 1 compute node
2. After deployment shut-down primary controller
3. After it marked as offline on UI click on 'remove' button near controller

Expected result - controller is deleted from the cluster
Actual result - deployment failed, task message - 'unhashable type'

from nailgun/app.log:
2016-05-03 07:46:16.765 DEBUG [7fcb566fe880] (task) tasks serialization is started.
2016-05-03 07:46:16.786 ERROR [7fcb566fe880] (manager) Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nailgun/task/manager.py", line 57, in _call_silently
    to_return = method(task, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/nailgun/task/task.py", line 247, in message
    events=reexecutable_filter, force=force
  File "/usr/lib/python2.7/site-packages/nailgun/task/task.py", line 142, in call_deployment_method
    args = getattr(cls, method)(transaction, **kwargs)
  File "/usr/lib/python2.7/site-packages/nailgun/task/task.py", line 349, in task_deploy
    selected_task_ids, tasks_events
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/task_based_deployment.py", line 441, in serialize
    serializer.resolve_nodes(add_plugin_deployment_hooks(tasks))
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/task_based_deployment.py", line 467, in resolve_nodes
    self.process_task(task, self.role_resolver, skip)
  File "/usr/lib/python2.7/site-packages/nailgun/orchestrator/task_based_deployment.py", line 488, in process_task
    skipped = skip or not task_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

the problem might be the same as here https://bugs.launchpad.net/fuel/+bug/1569778

Tags: area-python
Revision history for this message
Andrey Sledzinskiy (asledzinskiy) wrote :
Changed in fuel:
assignee: nobody → Fuel Sustaining (fuel-sustaining-team)
status: New → Confirmed
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
assignee: Fuel Sustaining (fuel-sustaining-team) → Fuel Toolbox (fuel-toolbox)
Nikita Zubkov (zubchick)
Changed in fuel:
assignee: Fuel Toolbox (fuel-toolbox) → Nikita Zubkov (zubchick)
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/316127

Changed in fuel:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

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

commit f3fc1e9651fea4bc3564ee307e32461075a16607
Author: Nikita Zubkov <email address hidden>
Date: Fri May 13 17:29:48 2016 +0300

    Fix usage of old deployment task for controller deletion

    When we remove the controller from cluster we need a redeployment of all
    left controllers. Before this patch we always use tasks.DeploymentTask,
    now if lcm supported we use tasks.ClusterTransaction​

    Change-Id: Ia5a226221eae4f1d2ade3633bc32d22cdf24a3f2
    Closes-Bug: #1578571

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

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

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

commit cb49739460b46d98c31780653f22906ead8d18b2
Author: Nikita Zubkov <email address hidden>
Date: Fri May 13 17:29:48 2016 +0300

    Fix usage of old deployment task for controller deletion

    When we remove the controller from cluster we need a redeployment of all
    left controllers. Before this patch we always use tasks.DeploymentTask,
    now if lcm supported we use tasks.ClusterTransaction​

    Change-Id: Ia5a226221eae4f1d2ade3633bc32d22cdf24a3f2
    Closes-Bug: #1578571
    (cherry picked from commit f3fc1e9651fea4bc3564ee307e32461075a16607)

tags: added: on-verification
Revision history for this message
Alisa Tselovalnikova (atselovalnikova) wrote :

Verify on fuel-9.0-mos-445-2016-06-06.
Controller is deleted from the cluster.

tags: removed: on-verification
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.