eandersson | Starting with openstacksdk==0.99 flavod id is now represented by the flavor name and not the flavor id. This breaks Senlin. Is that intended? | 06:48 |
---|---|---|
eandersson | *flavor | 06:49 |
eandersson | Actually looks like the openstacksdk returns more data now and one of the fields is flavor id (but represenated by the flavor name instead) | 06:54 |
eandersson | So basically compute.get_server now returns flavor id with 0.99 while in 0.61 it did not return a flavor id. | 06:58 |
eandersson | *include | 06:59 |
eandersson | It seems odd that flavor_find would return an id, but the flavor field in server_get returns a "name" instead of "id" in the if field. | 07:18 |
eandersson | https://review.opendev.org/c/openstack/senlin/+/842851 | 07:21 |
frickler | eandersson: yes that is intended, let me find the fix we did in nodepool | 07:35 |
frickler | https://review.opendev.org/c/zuul/nodepool/+/834152 has some extended discussion on this very issue | 07:36 |
frickler | the issue is that original_name can point to a flavor that has since been deleted. so you cannot rely on finding a match in the current list of flavors | 07:38 |
opendevreview | Takashi Kajinami proposed openstack/keystoneauth master: Bump tox minversion to 3.18.0 https://review.opendev.org/c/openstack/keystoneauth/+/842870 | 13:27 |
opendevreview | Takashi Kajinami proposed openstack/keystoneauth master: Fix outdated python job template https://review.opendev.org/c/openstack/keystoneauth/+/842885 | 14:18 |
opendevreview | Takashi Kajinami proposed openstack/keystoneauth stable/yoga: stably-only: Fix wrong python job template https://review.opendev.org/c/openstack/keystoneauth/+/842886 | 14:18 |
opendevreview | Takashi Kajinami proposed openstack/keystoneauth master: Bump tox minversion to 3.18.0 https://review.opendev.org/c/openstack/keystoneauth/+/842870 | 14:21 |
eandersson | frickler: Looks like the same fix that I went with as well. We already had it in place, but kept an alternative for older versions. I still don’t get why the api returns an name as an id though | 18:37 |
frickler | the nova API does not return an id. the old sdk returned the API response 1:1 as a dict, the new sdk converts it to a Flavor object, which has an id field even if that is null | 18:49 |
frickler | to be clear, this is for the flavor field in the nova server API, not the flavor API | 18:50 |
eandersson | Yea - but if the id field was null that would be fine | 20:33 |
frickler | ah, right, now I remember, gtema made a weird (IMHO) patch that fills original_name into the id. I would agree to revert that. | 20:41 |
eandersson | Yea - that is what breaks it for us. | 20:43 |
frickler | https://review.opendev.org/c/openstack/openstacksdk/+/826924/4/openstack/compute/v2/flavor.py#69 | 20:43 |
eandersson | Our code checks if id is there, if not it gets it using the flavor call | 20:43 |
eandersson | but because id is not none it assumes that it does not need to get any additional data | 20:44 |
frickler | how do you handle deleted flavors? | 20:44 |
eandersson | I doubt this code is smart enough to handle that | 20:44 |
frickler | what do you need the flavor for? | 20:45 |
eandersson | It's used to handle scale in so creating vms | 20:46 |
eandersson | the problem is that I don't want to change the current behavior without digging in a lot further into how this works | 20:46 |
eandersson | But I don't really have the time and this is blocking the CI | 20:46 |
eandersson | This is all stored in the database, so it would probably break something to switch away from id | 20:48 |
eandersson | https://paste.openstack.org/show/bcAcLpv3GNnvdZWxvWtY/ | 20:48 |
eandersson | I guess I could change it to use name, throw in a release note and hope for the best :p | 20:52 |
eandersson | Pretty sure I am the last maintainer of this project | 20:53 |
frickler | hmm, I guess then I can only suggest to use a different attribute like "vcpus" as a proxy to decide whether the id is a real id or a name that needs converting, cf. https://review.opendev.org/c/zuul/nodepool/+/834152/2/nodepool/driver/openstack/provider.py#142 | 20:53 |
eandersson | Gonna try to go the simplest route. I remember going through this last time as well and I feel like it's just a ticking timebomb. | 20:58 |
eandersson | I just wish I understood these code paths better. | 20:58 |
eandersson | Any other project just testing against trunk openstacksdk? | 21:01 |
eandersson | Feel like Senlin should just have a job that does that to give an earlier headsup | 21:01 |
frickler | well osc obviously has one, and I think ansible-collection-openstack | 21:04 |
frickler | usually also we try not to break as much, but in this case it was necessary | 21:04 |
* frickler is out now, maybe gtema has some other idea tomorrow | 21:04 | |
eandersson | Sounds good. Thanks for the help. | 21:20 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!