plugin metadata is broken
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Fuel for OpenStack |
Critical
|
Bulat Gaifullin | ||
| 8.0.x |
Critical
|
Bulat Gaifullin | ||
| Mitaka |
Critical
|
Bulat Gaifullin |
Bug Description
Steps to reproduce:
1 - Deploy 9.0-liberty iso 204 with detach-database plugin using all other defaults
2 - Add 1 controller, 1 database node
3 - Deploy
Expected results:
detach-database hash in astute.yaml on nodes
Actual results:
plugin is listed in plugins array, but no metadata is present
This was tested across multiple plugins, but I'm reporting this against a well known, established plugin.
Matthew Mosesohn (raytrac3r) wrote : | #1 |
Changed in fuel: | |
milestone: | none → 9.0 |
assignee: | nobody → Fuel Python Team (fuel-python) |
Matthew Mosesohn (raytrac3r) wrote : | #2 |
tags: | added: area-python |
Ilya Kutukov (ikutukov) wrote : | #3 |
Here is attributes_metadata field in database, it seems that validator output was recorded instead of metadata itself
{"yaml_
e": "#Uncomment to enable remote DB:\n#remote_db: '10.20.
ight": 90, "label": "Detach Database Plugin"}}
Ilya Kutukov (ikutukov) wrote : | #4 |
the previous comment is invalid this is a hints for the gui
Ilya Kutukov (ikutukov) wrote : | #5 |
Not reproduced on 8.0 RC1 (529 build)
Ilya Kutukov (ikutukov) wrote : | #6 |
If the problem occurred in 2 weeks timeframe as Matthew says this commits could be the reason, because they are affecting cluster attributes processing:
Merge "Changed JSON on Mutable(Dict/List) in Cluster object"
https:/
Merge "Fixed constructing of a Mutable objects tree"
https:/
Ilya Kutukov (ikutukov) wrote : | #7 |
DB dump of the environment
tags: | added: feature-plugins |
Changed in fuel: | |
status: | Confirmed → In Progress |
Ilya Kutukov (ikutukov) wrote : | #8 |
Please, be aware that "Changed JSON on Mutable(Dict/List) in Cluster object" patch could break not only plug-ins metadata, but any part of logic that working with data from JSON fields.
Alexander Kislitsky (akislitsky) wrote : | #9 |
@Ilya
Plugin developers are blocked by this bug now and full covering of changed logic will take a time, thus I propose to land this fix for critical bug and implement checking for Mutable DB fields as separate bug: https:/
Ilya Kutukov (ikutukov) wrote : | #10 |
Is mutable JSON patch roll-back an option?
I don't think there is any new logic that work only with mutable fields.
Vladimir Kuklin (vkuklin) wrote : | #11 |
Folks, I think that we need to revert the patch that caused the problem as this is a critical regression. After that we can fix all the stuff that needs to fixed, test things properly and land the proper code.
Fix proposed to branch: master
Review: https:/
Changed in fuel: | |
assignee: | Alexander Kislitsky (akislitsky) → Bulat Gaifullin (bgaifullin) |
Changed in fuel: | |
assignee: | Bulat Gaifullin (bgaifullin) → Alexander Kislitsky (akislitsky) |
Changed in fuel: | |
assignee: | Alexander Kislitsky (akislitsky) → Bulat Gaifullin (bgaifullin) |
Changed in fuel: | |
assignee: | Bulat Gaifullin (bgaifullin) → Alexander Kislitsky (akislitsky) |
Changed in fuel: | |
assignee: | Alexander Kislitsky (akislitsky) → Bulat Gaifullin (bgaifullin) |
Changed in fuel: | |
assignee: | Bulat Gaifullin (bgaifullin) → Alexander Kislitsky (akislitsky) |
Changed in fuel: | |
assignee: | Alexander Kislitsky (akislitsky) → Bulat Gaifullin (bgaifullin) |
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: master
commit 13e7962001bc036
Author: Bulat Gaifullin <email address hidden>
Date: Wed Feb 17 20:49:26 2016 +0300
Fixed missed plugin attributes in deployment info
After Mutable DB fields were introduced the changing of nested data in such
fields leads to saving changes into DB.
Now we can't use Mutable fields for transfer temporary changed data inside
the business logic and all places with implicit using of JSON field for
transferring temporary changed data were removed.
This is the reason of loosing plugins data from the serialized
deployment_
deployment_info explicitly.
Change-Id: I0807c816c9d3af
Closes-Bug: #1544505
Changed in fuel: | |
status: | In Progress → Fix Committed |
tags: | added: on-verification |
Illia Polliul (ipolliul) wrote : | #15 |
Bug is actual for Fuel 8.0 and was reproduced multiple times.
See details in https:/
Fix proposed to branch: stable/8.0
Review: https:/
tags: | added: customer-found |
Illia Polliul (ipolliul) wrote : | #17 |
Here are detail how to reproduce the bug:
1) Create an environment with 2 plugins installed and enabled: EMC VNX and Zabbix
2) Deploy environment with 3 Controller nodes + 1 Compute
3) Add one more Compute
4) Press "deploy changes"
Links to plugins code:
https:/
https:/
I suppose that problem is triggered by mixed format of plugins tasks, but this doesn't explain why deployment passes first time.
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: stable/8.0
commit a5f3cc2a0b5a4d2
Author: Bulat Gaifullin <email address hidden>
Date: Wed Feb 17 20:49:26 2016 +0300
Fixed missed plugin attributes in deployment info
After Mutable DB fields were introduced the changing of nested data in such
fields leads to saving changes into DB.
Now we can't use Mutable fields for transfer temporary changed data inside
the business logic and all places with implicit using of JSON field for
transferring temporary changed data were removed.
This is the reason of loosing plugins data from the serialized
deployment_
deployment_info explicitly.
Change-Id: I0807c816c9d3af
Closes-Bug: #1544505
Note that this does NOT affect any 8.0 environments at this time.