Prevent changing UID when flavor is renamed, modifying access and setting extra_specs via Horizon

Bug #1616223 reported by Andrii Petrenko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
In Progress
Medium
Kirill Bespalov
9.x
In Progress
Medium
Kirill Bespalov

Bug Description

Horizon is changing UID when you edit the flavor. it causing error in Heat, because heat is using flavor UID in the template.

How to reproduce:

1. Create flavor "flavor1"
2. check flavor UID
3. press "edit" button
4. rename or change nothing
5. press save button
6. check UID

on (2) and (6) will be different UID.

This obviously does not running instances in anyway. It also does not affect the admin user. However for non-admin users, this can present a cosmetic issue where it will return "Flavor not found" in nova show from the cli and "Flavor Not Available" in Horizon.

Tags: area-horizon
Changed in mos:
assignee: nobody → Kirill Bespalov (k-besplv)
Revision history for this message
Kirill Bespalov (k-besplv) wrote :
Changed in mos:
status: New → In Progress
Changed in mos:
importance: Undecided → Medium
milestone: none → 9.2
tags: added: area-horizon
Revision history for this message
Richard (rkuo) wrote :

Will update the description shortly with new findings after further testing.

Richard (rkuo)
summary: - prvent changing UID while edit the flavor
+ Prevent changing UID when flavor is renamed or nothing is changed via
+ Horizon
description: updated
description: updated
Revision history for this message
Richard (rkuo) wrote :
Download full text (11.9 KiB)

Method to reproduce:

1. Create test user with _member_ role.
2. Create test flavor
3. Booted instance using test user with test flavor.
4. Go to the flavor in horizon and click on Edit Flavor. Don’t change anything and hit save.
5. test user with _member_ role will no longer be able to query data with cli.

root@node-1:~# nova show dab20e1a-6958-485b-9987-487bda35044a
ERROR (CommandError): No flavor with a name or ID of 'd0243cb9-924c-4cbf-ac96-1bc27ea4ec38' exists.

2016-08-24 17:34:36.953 4899 INFO nova.osapi_compute.wsgi.server [req-854be766-c547-417a-948c-3dea2b0ddb57 None] 192.168.0.1 "GET /v2/241e763e4cb2405293f071edc65caefd/flavors/d0243cb9-924c-4cbf-ac96-1bc27ea4ec38 HTTP/1.1" status: 200 len: 719 time: 0.0253959
2016-08-24 17:34:37.166 4899 ERROR nova.api.openstack [req-4dedb763-11f1-446e-8bf2-841900f58670 None] Caught error: Flavor d0243cb9-924c-4cbf-ac96-1bc27ea4ec38 could not be found.
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack Traceback (most recent call last):
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 124, in __call__
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack return req.get_response(self.application)
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack application, catch_exc_info=False)
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack return resp(environ, start_response)
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 748, in __call__
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack return self._call_app(env, start_response)
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 684, in _call_app
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack return self._app(env, _fake_start_response)
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack return resp(environ, start_response)
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack return resp(environ, start_response)
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2016-08-24 17:34:37.166 4899 TRACE nova.api.openstack response = self.app(environ, start_response)
2016-08-24 17:34:37.166 4899 TRACE...

summary: - Prevent changing UID when flavor is renamed or nothing is changed via
- Horizon
+ Prevent changing UID when flavor is renamed, modifying access and
+ setting extra_specs via Horizon
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix proposed to openstack/horizon (9.0/mitaka)

Fix proposed to branch: 9.0/mitaka
Change author: Kirill Bespalov <email address hidden>
Review: https://review.fuel-infra.org/29461

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/horizon 11.0.0.0b3

This issue was fixed in the openstack/horizon 11.0.0.0b3 development milestone.

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.