[plugins]Deploy stucks when changing compatible releases and updating plugin

Bug #1440142 reported by Alexander Kurenyshev
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Evgeniy L

Bug Description

Steps to reproduce:
1) Deploy Fuel 6.1
2) Create plugin which support 6.1 Fuel release:
Cut of metadata.yaml output:
releases:
  - os: ubuntu
    version: 2014.2.1-6.1
    mode: ['ha', 'multinode']
    deployment_scripts_path: deployment_scripts/
    repository_path: repositories/ubuntu
  - os: centos
    version: 2014.2.1-6.1
    mode: ['ha', 'multinode']
    deployment_scripts_path: deployment_scripts/
    repository_path: repositories/centos

3) Install plugin
4) Create new environment and enable plugin at the UI
4) Modify plugin: increase plugin version, change supported release to 6.0 (make plugin unsupported in current installation)
5) Install plugin
6) Deploy cluster

Observed behaviour:
Deploy stucks, below at the astute logs:
[7f0f5cd2f740] (manager) Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/nailgun/task/manager.py", line 54, in _call_silently
    to_return = method(task, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/nailgun/task/task.py", line 166, in message
    orchestrator_graph, task.cluster, nodes)
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/stages.py", line 46, in pre_deployment_serialize
    graph_tasks, cluster, nodes)
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/stages.py", line 36, in stage_serialize
    tasks.extend(plugins.serialize())
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/plugins_serializers.py", line 118, in serialize
    tasks.extend(self.create_repositories(plugins))
  File "/usr/lib/python2.6/site-packages/nailgun/orchestrator/plugins_serializers.py", line 132, in create_repositories
    if not uids or not plugin.repo_files(self.cluster):
  File "/usr/lib/python2.6/site-packages/nailgun/plugins/attr_plugin.py", line 194, in repo_files
    release_info = self.get_release_info(cluster.release)
  File "/usr/lib/python2.6/site-packages/nailgun/plugins/attr_plugin.py", line 191, in get_release_info
    return release_info[0]
IndexError: list index out of range

Revision history for this message
Alexander Kurenyshev (akurenyshev) wrote :
Changed in fuel:
milestone: none → 6.1
Changed in fuel:
status: New → Confirmed
assignee: Fuel Python Team (fuel-python) → Vladimir Sharshov (vsharshov)
Dmitry Pyzhov (dpyzhov)
tags: added: feature-plugins
Dmitry Pyzhov (dpyzhov)
tags: added: tricky
Evgeniy L (rustyrobot)
Changed in fuel:
assignee: Vladimir Sharshov (vsharshov) → Evgeniy L (rustyrobot)
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/177164

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/177164
Committed: https://git.openstack.org/cgit/stackforge/fuel-web/commit/?id=5c363c91e2f3f3fe79a4547fcdb762d6cc6169b5
Submitter: Jenkins
Branch: master

commit 5c363c91e2f3f3fe79a4547fcdb762d6cc6169b5
Author: Evgeniy L <email address hidden>
Date: Fri Apr 24 13:47:03 2015 +0300

    Major version of plugin releases should be used

    Use special method which finds release by
    major version

    Change-Id: I50cc19ae57e2afa2e96bb7943cfc9193d282e50f
    Closes-bug: #1448060
    Closes-bug: #1440142

Changed in fuel:
status: In Progress → Fix Committed
tags: added: on-verification
Revision history for this message
Alexander Kurenyshev (akurenyshev) wrote :

Verified on the #521 ISO.

Deploy failed with error "list index out of range" as expected.

Changed in fuel:
status: Fix Committed → Fix Released
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.