[fuel-plugin-builder] verify usage of 'groups' and 'role' for tasks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Invalid
|
Medium
|
Fuel Sustaining | ||
8.0.x |
Won't Fix
|
Medium
|
Fuel Sustaining |
Bug Description
Plugin tasks in the main deployment stage are supposed to have the 'groups' keyword in them, while tasks in pre/post deployment stage are supposed to have the 'role' keyword in it. It creates severe confusion for our partners as FPB does not in any way restricts this and the effects of the misuse are hard to debug.
For example, if we define the task:
- id: fuel-plugin-
type: puppet
groups: [primary-
requires: [post_deploymen
required_for: [post_deploymen
parameters:
puppet_
puppet_modules: puppet/
in our plugin, the deployment will fail with the error: Tasks can not be processed because it contains cycles in it.
I suggest to add the explicit checks to FPB. It should fail to build a plugin if plugin's tasks contain:
1) 'groups' in pre/post-deployment tasks
2) 'role' in main stage of deployment
May be it's also worth to add the corresponding check to nailgun itself.
# cat /etc/fuel/
VERSION:
feature_groups:
- mirantis
production: "docker"
release: "8.0"
api: "1.0"
build_number: "589"
build_id: "589"
fuel-nailgun_sha: "558ca91a854cf2
python-
fuel-agent_sha: "658be72c4b42d3
fuel-
astute_sha: "b81577a5b7857c
fuel-library_sha: "c2a335b5b725f1
fuel-ostf_sha: "3bc76a63a9e7d1
fuel-mirror_sha: "fb45b80d7bee58
fuelmenu_sha: "78ffc73065a967
shotgun_sha: "63645dea384a37
network-
fuel-upgrade_sha: "616a7490ec7199
fuelmain_sha: "643a1ef27c7dcc
# python -c 'import pkg_resources; print pkg_resources.
4.0.0
But as far as I know it affects any version of Fuel and FPB.
tags: | added: area-plugins |
Changed in fuel: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
milestone: | none → 10.0 |
Changed in fuel: | |
assignee: | nobody → Fuel Python (Deprecated) (fuel-python) |
Changed in fuel: | |
assignee: | Fuel Python (Deprecated) (fuel-python) → Fuel Sustaining (fuel-sustaining-team) |
tags: | added: area-python |
We moved to task based deployments in Mitaka that doesn't have this issue. Closing the bug.