MOS deployment fails because astute mixes up hooks and tasks from different plugins

Bug #1438649 reported by Patrick Petit
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Evgeniy L

Bug Description

When trying to deploy more than one base-os role plugins on an node I get the following error:

[555] Error running RPC method granular_deploy: Failed to execute hook lma_collector-6.1.0.
---
uids:
- '18'
parameters:
  puppet_modules: "puppet/modules"
  puppet_manifest: "puppet/manifests/setup_disks.pp"
  timeout: 600
  cwd: "/etc/fuel/plugins/lma_collector-6.1/"
priority: 700
fail_on_error: true
type: puppet
diagnostic_name: lma_collector-6.1.0
, trace:

Only the problem is that setup_disks.pp is not a task defined in lma_collector-6.1.0 hook as shown below but a task of elasticsearch_kibana-6.1 hook!

Astute mixes up hooks and tasks from two different plugins.

[root@fuel lma_collector-6.1]# cat tasks.yaml
- role: '*'
  stage: post_deployment
  type: puppet
  parameters:
    puppet_manifest: puppet/manifests/base.pp
    puppet_modules: puppet/modules
    timeout: 600

- role: ['controller', 'primary-controller']
  stage: post_deployment
  type: puppet
  parameters:
    puppet_manifest: puppet/manifests/controller.pp
    puppet_modules: puppet/modules
    timeout: 600

- role: [ 'compute' ]
  stage: post_deployment
  type: puppet
  parameters:
    puppet_manifest: puppet/manifests/compute.pp
    puppet_modules: puppet/modules
    timeout: 600

- role: ['cinder']
  stage: post_deployment
  type: puppet
  parameters:
    puppet_manifest: puppet/manifests/cinder.pp
    puppet_modules: puppet/modules
    timeout: 600

[root@fuel elasticsearch_kibana-6.1]# cat tasks.yaml

- role: ['base-os']
  stage: post_deployment
  type: puppet
  parameters:
    puppet_manifest: puppet/manifests/setup_disks.pp
    puppet_modules: puppet/modules
    timeout: 600

[....]

Changed in fuel:
assignee: nobody → Fuel Python Team (fuel-python)
milestone: none → 6.1
importance: Undecided → High
Dmitry Pyzhov (dpyzhov)
tags: added: feature-plugins
Evgeniy L (rustyrobot)
Changed in fuel:
status: New → Triaged
assignee: Fuel Python Team (fuel-python) → Evgeniy L (rustyrobot)
status: Triaged → In Progress
Revision history for this message
Vladimir Sharshov (vsharshov) wrote :

Hi. Please attach logs to bug. It will be very helpful.

Revision history for this message
Patrick Petit (patrick-michel-petit) wrote : Re: [Bug 1438649] Re: MOS deployment fails because astute mixes up hooks and tasks from different plugins

Vladimir,

The bug as astute log snippet. Sorry I don't have more logs anymore because
I crashed my environment. I have a demo to prepare and had to move on with
an older ISO version which doesn't have this problem.

Patrick

On Wed, Apr 1, 2015 at 12:19 PM, Vladimir Sharshov <email address hidden>
wrote:

> Hi. Please attach logs to bug. It will be very helpful.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1438649
>
> Title:
> MOS deployment fails because astute mixes up hooks and tasks from
> different plugins
>
> Status in Fuel: OpenStack installer that works:
> In Progress
>
> Bug description:
> When trying to deploy more than one base-os role plugins on an node I
> get the following error:
>
> [555] Error running RPC method granular_deploy: Failed to execute hook
> lma_collector-6.1.0.
> ---
> uids:
> - '18'
> parameters:
> puppet_modules: "puppet/modules"
> puppet_manifest: "puppet/manifests/setup_disks.pp"
> timeout: 600
> cwd: "/etc/fuel/plugins/lma_collector-6.1/"
> priority: 700
> fail_on_error: true
> type: puppet
> diagnostic_name: lma_collector-6.1.0
> , trace:
>
> Only the problem is that setup_disks.pp is not a task defined in
> lma_collector-6.1.0 hook as shown below but a task of
> elasticsearch_kibana-6.1 hook!
>
> Astute mixes up hooks and tasks from two different plugins.
>
> [root@fuel lma_collector-6.1]# cat tasks.yaml
> - role: '*'
> stage: post_deployment
> type: puppet
> parameters:
> puppet_manifest: puppet/manifests/base.pp
> puppet_modules: puppet/modules
> timeout: 600
>
> - role: ['controller', 'primary-controller']
> stage: post_deployment
> type: puppet
> parameters:
> puppet_manifest: puppet/manifests/controller.pp
> puppet_modules: puppet/modules
> timeout: 600
>
> - role: [ 'compute' ]
> stage: post_deployment
> type: puppet
> parameters:
> puppet_manifest: puppet/manifests/compute.pp
> puppet_modules: puppet/modules
> timeout: 600
>
> - role: ['cinder']
> stage: post_deployment
> type: puppet
> parameters:
> puppet_manifest: puppet/manifests/cinder.pp
> puppet_modules: puppet/modules
> timeout: 600
>
>
> [root@fuel elasticsearch_kibana-6.1]# cat tasks.yaml
>
> - role: ['base-os']
> stage: post_deployment
> type: puppet
> parameters:
> puppet_manifest: puppet/manifests/setup_disks.pp
> puppet_modules: puppet/modules
> timeout: 600
>
> [....]
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/fuel/+bug/1438649/+subscriptions
>

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-web (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/169936

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

Reviewed: https://review.openstack.org/169861
Committed: https://git.openstack.org/cgit/stackforge/fuel-web/commit/?id=8fb610dc8141b322cbf5db30e19a9910cfbcec93
Submitter: Jenkins
Branch: master

commit 8fb610dc8141b322cbf5db30e19a9910cfbcec93
Author: Evgeniy L <email address hidden>
Date: Wed Apr 1 21:02:59 2015 +0300

    Fix cwd path for plugin tasks

    For all plugin cwd of the last plugin
    in the list was set, the patch uses
    plugin specific cwd path.

    Change-Id: Ibda17ff02f1dbb9fcf638b2b2696a9c1d83d3100
    Closes-bug: #1438649

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

Steps used for verify:
1) Install master node.
2) Install two plugins with deployment scripts have the same names. (By default script has the "deploy.sh" name.). Simple plugins are attached.
3) Enable plugins at the UI
4) Deploy cluster

There are no errors at the astute logs, both scripts were successfully executed from the unique path (cwd):
for the first plugin

 [650] Run hook ---
uids:
- '1'
- '2'
parameters:
  retries: 3
  cmd: "./deploy.sh"
  cwd: "/etc/fuel/plugins/test_plugin-1.0/"
  timeout: 42
  interval: 1
priority: 1700
fail_on_error: true
type: shell
diagnostic_name: test_plugin-1.0.0

for the second plugin:
[650] Run hook ---
uids:
- '1'
- '2'
parameters:
  retries: 3
  cmd: "./deploy.sh"
  cwd: "/etc/fuel/plugins/new_plugin-1.0/"
  timeout: 42
  interval: 1
priority: 1500
fail_on_error: true
type: shell
diagnostic_name: new_plugin-1.0.0

Verified on the #521 ISO

Changed in fuel:
status: Fix Committed → Fix Released
Revision history for this message
Alexander Kurenyshev (akurenyshev) wrote :
Revision history for this message
Alexander Kurenyshev (akurenyshev) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-web (master)

Change abandoned by Dmitry Pyzhov (<email address hidden>) on branch: master
Review: https://review.openstack.org/169936
Reason: No activity for more than a month

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.