UI is not updated after removing of plugin

Bug #1440046 reported by Anastasia Palkina
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Vitalii Myhal
6.1.x
Won't Fix
High
Fuel Python (Deprecated)
7.0.x
Won't Fix
High
Vitalii Myhal

Bug Description

"build_id": "2015-03-31_22-54-44",
"ostf_sha": "1c7f799cb0e159737d1f910b13e4073b16d1eb8c",
"build_number": "260",
"release_versions": {"2014.2-6.1": {"VERSION": {"build_id": "2015-03-31_22-54-44", "ostf_sha": "1c7f799cb0e159737d1f910b13e4073b16d1eb8c", "build_number": "260", "api": "1.0", "nailgun_sha": "51ddbe0a2e379e82af531b1c6d45fd386d2f894e", "production": "docker", "python-fuelclient_sha": "9b0b6ab2f09ff75445550b7210104e21df5d8cd6", "astute_sha": "7292fc2a673cb1c32a688a46fd4836ca0500a957", "feature_groups": ["mirantis"], "release": "6.1", "fuelmain_sha": "178812b1971a900c49a8afc1688afd7475a6ffbb", "fuellib_sha": "27459a89cdac078ec4046a442a11d750c5eccc2e"}}},
"auth_required": true,
"api": "1.0",
"nailgun_sha": "51ddbe0a2e379e82af531b1c6d45fd386d2f894e",
"production": "docker",
"python-fuelclient_sha": "9b0b6ab2f09ff75445550b7210104e21df5d8cd6",
"astute_sha": "7292fc2a673cb1c32a688a46fd4836ca0500a957",
"feature_groups": ["mirantis"],
"release": "6.1",
"fuelmain_sha": "178812b1971a900c49a8afc1688afd7475a6ffbb",
"fuellib_sha": "27459a89cdac078ec4046a442a11d750c5eccc2e"

1. Install plugin
2. Create any new environment
3. Open 'Settings' tab
4. Checkbox for plugin appeared
5. Delete plugin
6. Restart 'Settings' page. Checkbox is still displayed
7. If you create another one environment and open 'Settings' tab - checkbox will not be displayed

Changed in fuel:
status: New → Confirmed
Revision history for this message
Anastasia Palkina (apalkina) wrote :
Dmitry Pyzhov (dpyzhov)
tags: added: feature-plugins
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Vladimir Sharshov (vsharshov)
Dmitry Pyzhov (dpyzhov)
tags: added: tricky
Changed in fuel:
milestone: 6.1 → 7.0
assignee: Vladimir Sharshov (vsharshov) → Fuel Python Team (fuel-python)
Revision history for this message
Nastya Urlapova (aurlapova) wrote :

Dima, why you did move this to 7.0?

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

To properly fix the problem it's required to redesign a bit plugins architecture in order to store the data in separate table, not in cluster attributes, so it will be possible to remove plugin specific data when plugin gets deleted.

tags: added: qa-agree-7.0 release-notes
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 6.1 → 7.0
Revision history for this message
Nikolay Markov (nmarkov) wrote :

rustyrobot, I once proposed completely working solution, but you didn't like it :) Now it's still somewhere in my requests, not abandoned yet. We can take a look at it and rethink design in such terms.

Revision history for this message
Vladimir Sharshov (vsharshov) wrote :

Is it still actual?

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

It's still actual, Igor K. is working on it.

Revision history for this message
Vladimir Sharshov (vsharshov) wrote :

Set to High, because it is very useful fix and also it can fix many problems. Feel free to change it.

Revision history for this message
Ihor Kalnytskyi (ikalnytskyi) wrote :

I think we run out of time, and fix will be tricky. Set won't fix for 7.0. I'll provide a workaround today.

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

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-web (master)

Change abandoned by Vitalii Myhal (<email address hidden>) on branch: master
Review: https://review.openstack.org/220189
Reason: Need merge with main code.

Dmitry Pyzhov (dpyzhov)
no longer affects: fuel/8.0.x
Changed in fuel:
milestone: 7.0 → 8.0
Dmitry Pyzhov (dpyzhov)
tags: added: feature
Dmitry Pyzhov (dpyzhov)
tags: added: area-python
Changed in fuel:
assignee: Vitalii Myhal (xmig) → Andriy Popovych (popovych-andrey)
Changed in fuel:
assignee: Andriy Popovych (popovych-andrey) → Bulat Gaifullin (bgaifullin)
Changed in fuel:
assignee: Bulat Gaifullin (bgaifullin) → Andriy Popovych (popovych-andrey)
Changed in fuel:
assignee: Andriy Popovych (popovych-andrey) → Vitalii Myhal (xmig)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/220188
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=a25db9a2c61590c2fd0e3946c594bff9b61dee40
Submitter: Jenkins
Branch: master

commit a25db9a2c61590c2fd0e3946c594bff9b61dee40
Author: Vitaliy Mygal <email address hidden>
Date: Thu Sep 3 14:18:20 2015 +0300

    Store attributes of plugins in a separate table

    This is redesign of plugins architecture in order to store
    the plugin's attributes in a separate table, not in cluster
    attributes, so it will be possible to remove connection between
    plugin and cluster when a plugin gets deleted.

    Added ability to work with different versions of a plugin.
    User can choose the preferred version in UI.

    The test "test_plugin_generator" was removed because no longer
    relevant.

    Closes-Bug: #1440046
    Implements: blueprint store-plugins-attributes

    Change-Id: I52115f130bf1c7c80c66e18d0bf9f7acb16dd56c

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

Fix doesn't solve the main problem.

Test cases that I did:
Case 1:
1) Install master
2) Create new plugin with version 1.0.0
3) Install plugin at the master node
4) Create new env
5) Navigate to the Other Settings tab
6) DO NOT enable plugin at the cluster
7) Remove plugin from the master node

Expected result:
Plugin is successfully removed.
Actual result:
An error message is shown:
[root@nailgun ~]# fuel plugins --remove vip_plugin==1.0.0
400 Client Error: Bad Request (Can't delete plugin which is enabled for some environment.)

Case 2:
1) Perform steps 1-4 from case 1
2) Create another plugin with the same name but with higher version, for example: 2.0.0
3) Install new plugin at the master node
4) Navigate to the Other Settings tab
6) Enable plugin at the cluster (here we have a choice plugin with which version we need to enable, let's enable 1.0.0)
7) Remove plugin 2.0.0 from the master node
8) Enable plugin 2.0.0 at the cluster
9) Remove plugin 1.0.0 from the master node

Expected result:
If we enable some version of plugin at the UI we can delete another version from master node.

Actual result:
Plugin could't be deleted even we choose another version of that plugin at UI:
[root@nailgun ~]# fuel plugins --remove vip_plugin==2.0.0
400 Client Error: Bad Request (Can't delete plugin which is enabled for some environment.)
[root@nailgun ~]# fuel plugins --remove vip_plugin==1.0.0
400 Client Error: Bad Request (Can't delete plugin which is enabled for some environment.)

Fuel iso #203 was used

Changed in fuel:
status: Fix Committed → Triaged
tags: removed: on-verification
Vitalii Myhal (xmig)
Changed in fuel:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/251194
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=f83c4ea23b903e7e7d52bdfd367c82b17afe164d
Submitter: Jenkins
Branch: master

commit f83c4ea23b903e7e7d52bdfd367c82b17afe164d
Author: Vitalii Myhal <email address hidden>
Date: Sat Nov 28 15:13:47 2015 -0600

    Versions of a plugin have been placed in a separate container

    Closes-Bug: #1440046
    Closes-Bug: #1518993

    Change-Id: I76655541fd7c00cdd863e145b28fba804b4ed801

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (stable/8.0)

Fix proposed to branch: stable/8.0
Review: https://review.openstack.org/262037

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

Reviewed: https://review.openstack.org/262037
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=fe13a3286320580e121b9bc24685dde21138d097
Submitter: Jenkins
Branch: stable/8.0

commit fe13a3286320580e121b9bc24685dde21138d097
Author: Vitalii Myhal <email address hidden>
Date: Sat Nov 28 15:13:47 2015 -0600

    Versions of a plugin have been placed in a separate container

    Closes-Bug: #1440046
    Closes-Bug: #1518993

    Change-Id: I76655541fd7c00cdd863e145b28fba804b4ed801
    (cherry picked from commit f83c4ea23b903e7e7d52bdfd367c82b17afe164d)

tags: added: on-verification
Revision history for this message
Alexander Kurenyshev (akurenyshev) wrote :

All tests from the comment #13 are passed. Thus moved this bug to the Fix Released State

Changed in fuel:
status: Fix Committed → Fix Released
tags: removed: on-verification
tags: added: 8.0 release-notes-done
removed: release-notes
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.