2019-07-13 09:25:48 |
David Li |
bug |
|
|
added bug |
2019-07-13 09:26:29 |
David Li |
summary |
one extra spec key still exist when delete one flavor two extra_specs keys at same time |
one extra_specs key still exist when delete one flavor's two extra_specs keys at same time |
|
2019-07-13 09:35:31 |
David Li |
description |
1、posts two requests at same time to delete same flavor's two extra_specs keys
2、the two requests all get success from nova
3、finds only one extra_specs keys be deleted
that seems when handles the first delete request, the delete function of /nova/api/openstack/compute/flavors_extraspecs.py gets target flavor's all extra_specs info, and then saves the all extra_specs info again except the deleted one. see [1][2][3]:
[1] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L531
[2] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L480
[3] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L483 |
1、posts two requests at same time to delete same flavor's two extra_specs keys
2、the two requests all get success from nova
3、finds only one extra_specs keys be deleted
that seems when handles the first delete request, the delete function of /nova/api/openstack/compute/flavors_extraspecs.py gets target flavor's all extra_specs info[1], and then saves the all extra_specs info except the deleted one again. However, the extra_specs info saved also contains the one that deleted by the seconde request[2][3][4].
see [1][2][3][4]:
[1]https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/flavors_extraspecs.py#L118
[1] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L531
[2] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L480
[3] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L483 |
|
2019-07-13 09:37:19 |
David Li |
description |
1、posts two requests at same time to delete same flavor's two extra_specs keys
2、the two requests all get success from nova
3、finds only one extra_specs keys be deleted
that seems when handles the first delete request, the delete function of /nova/api/openstack/compute/flavors_extraspecs.py gets target flavor's all extra_specs info[1], and then saves the all extra_specs info except the deleted one again. However, the extra_specs info saved also contains the one that deleted by the seconde request[2][3][4].
see [1][2][3][4]:
[1]https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/flavors_extraspecs.py#L118
[1] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L531
[2] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L480
[3] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L483 |
1、posts two requests at same time to delete same flavor's two extra_specs keys
2、the two requests all get success from nova
3、finds only one extra_specs keys be deleted
that seems when handles the first delete request, the delete function of /nova/api/openstack/compute/flavors_extraspecs.py gets target flavor's all extra_specs info[1], and then saves the all extra_specs info except the deleted one again. However, the extra_specs info saved also contains the one that deleted by the seconde request[2][3][4].
see [1][2][3][4]:
[1]https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/flavors_extraspecs.py#L118
[2] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L531
[3] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L480
[4] https://github.com/openstack/nova/blob/master/nova/objects/flavor.py#L483 |
|
2019-07-14 09:00:46 |
Takashi Natsume |
tags |
|
race-condition |
|
2019-07-22 16:00:27 |
Matt Riedemann |
nova: status |
New |
Triaged |
|
2019-07-22 16:00:28 |
Matt Riedemann |
nova: importance |
Undecided |
Low |
|