Provide a better message instead of "The node nova-nfs is not in the digraph" during plugin deployment

Bug #1473445 reported by sbartel
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Confirmed
Medium
Fuel Sustaining
Mitaka
Won't Fix
Medium
Fuel Python (Deprecated)
Newton
Confirmed
Medium
Fuel Sustaining

Bug Description

Steps to reproduce:

1) Setup master node
2) SSH to the master node
3) Create file nova-nfs.yaml with role description:

meta:
  description: install nova-nfs
  name: nova-nfs
name: nova-nfs
volumes_roles_mapping:
- allocate_size: min
  id: os

4) Create new role from file with a command:
fuel role --rel 2 --create --file nova-nfs.yaml

5) install plugin defining a task for the new role

6) Go to the Fuel UI and create new environment.
7) Add controller, compute, and new nfs role to the environment (.
8) Provide correct configuration for network, settings and enable the plugin in the settings tab.
9) Deploy environment.

the deployment failedd with the following error:
"The node nova-nfs is not in the digraph"

summary: - deploiment of custom roles failed
+ deployment of custom roles failed
Changed in fuel:
assignee: nobody → Fuel Python Team (fuel-python)
Revision history for this message
Aleksandr Didenko (adidenko) wrote : Re: deployment of custom roles failed

Please provide diagnostic snapshot and tasks.yaml from your plugin.

Changed in fuel:
status: New → Incomplete
Revision history for this message
sbartel (samuel-bartel) wrote :

the task.yaml form the plugin

Revision history for this message
sbartel (samuel-bartel) wrote :

corresponding snapshot

Changed in fuel:
milestone: none → 7.0
importance: Undecided → High
Revision history for this message
sbartel (samuel-bartel) wrote :

it seems that we have this issue because the create_role workflow does not update the releases postgresql table to add information about the newly created role to the deployment_tasks

with the following workarround the deployment of the plugin is sucess

-download the deployment-task corresponding to the release:
fuel rel --rel 2 --deployment-tasks --download

add the following lines at the bottom of the deployment_tasks.yaml:
- id: nova-nfs
  parameters:
    strategy:
      type: parallel
  required_for:
  - deploy_end
  - primary-controller
  - controller
  - primary-mongo
  - mongo
  requires:
  - deploy_start
  role:
  - nova-nfs
  tasks:
  - hiera
  - globals
  type: group

upload back the yaml file
fuel rel --rel 2 --deployment-tasks --upload

So my supposision is that the create role should update the deployment_task in order to add the deployment information about the new role to declare it in the digraph

Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Timur Nurlygayanov (tnurlygayanov)
Igor Marnat (imarnat)
tags: added: fuel-to-mos
Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

Fuel Python team, looks like we can confirm the bug and we need to change the logic in our current implementation.

Changed in fuel:
importance: High → Medium
status: Incomplete → Confirmed
assignee: Timur Nurlygayanov (tnurlygayanov) → Fuel Python Team (fuel-python)
Revision history for this message
Evgeniy L (rustyrobot) wrote :

I don't think that we should implicitly create a task for new role, we don't have any idea about deployment strategy of this role and about what task it should have, what we can do here is to provide a better message, instead of "The node nova-nfs is not in the digraph" something like "Cannot find tasks for nova-nfs, please make sure that they are added into the graph".

Revision history for this message
Evgeniy L (rustyrobot) wrote :

Since it's Medium, moving it to 8.0, because we reached hard code freeze.

Changed in fuel:
milestone: 7.0 → 8.0
Revision history for this message
Andrey Danin (gcon-monolake) wrote :

What about to add a verification of such cases in fpb?

tags: added: feature-plugins
Dmitry Pyzhov (dpyzhov)
tags: added: area-python
Revision history for this message
Alex Schultz (alex-schultz) wrote :

To add some notes to this, you can add a group in the tasks.yaml that will cover this. Basically it creates the role as a standalone and you would define what tasks would be required if you only installed that task. For example, on our detach-rabbitmq we define a group which should cover this.

https://github.com/openstack/fuel-plugin-detach-rabbitmq/blob/master/deployment_tasks.yaml#L12-L23

Revision history for this message
Alexander Kislitsky (akislitsky) wrote :

We passed SCF in 8.0. Moving the bug to 9.0.

Changed in fuel:
milestone: 8.0 → 9.0
Revision history for this message
Bug Checker Bot (bug-checker) wrote : Autochecker

(This check performed automatically)
Please, make sure that bug description contains the following sections filled in with the appropriate data related to the bug you are describing:

actual result

expected result

For more detailed information on the contents of each of the listed sections see https://wiki.openstack.org/wiki/Fuel/How_to_contribute#Here_is_how_you_file_a_bug

tags: added: need-info
Dmitry Pyzhov (dpyzhov)
summary: - deployment of custom roles failed
+ Provide a better message instead of "The node nova-nfs is not in the
+ digraph" during plugin deployment
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.