| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2023-08-31 | |||
| 11:41:57 | sean-k-mooney | and merge the seriese together | |
| 11:42:05 | auniyal | ack, | |
| 11:43:46 | auniyal | but it won't fail merging the reproducer one (something like merge conflict) - because reproducer is over that one | |
| 11:46:19 | sean-k-mooney | no it should not | |
| 12:42:00 | bauzas | auniyal: have you seen the -1 from sean-k-mooney ? | |
| 12:42:05 | bauzas | on the top change ? | |
| 12:42:13 | dvo-plv | sean-k-mooney, Hello. Are you here ? | |
| 12:48:05 | Uggla | hello, I have some troubles with the service token, my assumption is cinder.py, neutron.py, ... were modified to use service token by calling service_auth.get_auth_plugin method. But I think this was not done for the services using the sdk. Can you confirm this assumption ? | |
| 12:52:30 | sean-k-mooney | bauzas: if your around can you take a look at https://review.opendev.org/c/openstack/nova/+/893360 i have seen 1 or two timeouts so this might be good to land | |
| 12:54:29 | auniyal | bauzas, yes, updating | |
| 12:54:36 | auniyal | was afk so late reply, | |
| 12:55:03 | bauzas | sean-k-mooney: well, today, I'm litterrally sitting in front of Gerrit | |
| 12:55:26 | bauzas | I still have melwitt's series on unified-limits nova-manage to look at | |
| 12:57:18 | sean-k-mooney | i can respin it now it will take 30 seconds | |
| 12:59:11 | bauzas | cool | |
| 12:59:22 | opendevreview | sean mooney proposed openstack/nova master: increase job timeout for occasional slow nodes https://review.opendev.org/c/openstack/nova/+/893360 | |
| 13:00:32 | sean-k-mooney | ok i need to swap to somehting else. just an fyi your num instance change and my change to remove the az filter have merged since yesterday | |
| 13:01:09 | sean-k-mooney | bauzas: kasyaps min libivrt bump is still in the queue. it hit the rbac job timeout the last time | |
| 13:01:22 | bauzas | yup saw | |
| 13:01:32 | bauzas | I need to CC the min libvirt bump | |
| 13:01:39 | bauzas | but I'll track it anyway for RC1 | |
| 13:01:49 | bauzas | (not impacted by FF) | |
| 13:02:04 | Uggla | sean-k-mooney, bauzas any advices about my question above ? | |
| 13:02:15 | sean-k-mooney | sorry didnt see it | |
| 13:02:52 | sean-k-mooney | is manial requireign service tokens | |
| 13:03:32 | sean-k-mooney | when using the sdk ya you would have to handel that yourself am stephenfin might be able to point you in the right direction | |
| 13:03:37 | sean-k-mooney | although i belive he is off today | |
| 13:03:59 | sean-k-mooney | let me check his ironic series and see if he has done that convertion | |
| 13:06:09 | sean-k-mooney | Uggla: so for ironic stpehin is using | |
| 13:06:11 | sean-k-mooney | self._ironic_connection = utils.get_sdk_adapter( | |
| 13:06:13 | sean-k-mooney | 'baremetal', check_service=True) | |
| 13:06:47 | sean-k-mooney | which is https://github.com/openstack/nova/blob/master/nova/utils.py#L969-L996 | |
| 13:07:29 | Uggla | yep, I use the same "helper". But I think it does not manage service token. | |
| 13:08:36 | sean-k-mooney | so its calling ks_loading.load_session_from_conf_options | |
| 13:09:51 | Uggla | yes | |
| 13:11:01 | sean-k-mooney | so no that does not look like it load the service user section | |
| 13:11:20 | sean-k-mooney | it ends up calling https://opendev.org/openstack/keystoneauth/src/commit/8d24892f9dc2742d9bd837b3a71fce260a5ec326/keystoneauth1/loading/session.py#L235-L258 | |
| 13:13:18 | Uggla | sean-k-mooney, yep so no service token right ? | |
| 13:13:49 | sean-k-mooney | no so you will need to figure out how to do htat | |
| 13:14:00 | sean-k-mooney | im looking at there docs quickly to see if they have an example | |
| 13:14:08 | sean-k-mooney | i think its part of the session but that just a guess | |
| 13:17:29 | Uggla | sean-k-mooney, no worries at least it confirms my thoughts. | |
| 13:19:59 | sean-k-mooney | i belive there is an #openstack-sdk or #openstack-clinets channel? | |
| 13:22:17 | frickler | actually #openstack-sdks for added confusion | |
| 13:23:27 | sean-k-mooney | frickler: well the sdk does not import service_token form kestoneauth... | |
| 13:23:37 | sean-k-mooney | so it looks liek it does not supprot them at all | |
| 13:23:40 | sean-k-mooney | which is a probelm | |
| 13:24:51 | bauzas | ooooh ? | |
| 13:24:51 | kashyap | sean-k-mooney: Thanks for this other-kind-of-bump :) : https://review.opendev.org/c/openstack/nova/+/893360 | |
| 13:25:12 | kashyap | (And the recheck on the version-bump patch itself) | |
| 13:25:24 | sean-k-mooney | bauzas: https://codesearch.opendev.org/?q=from+keystoneauth1+import+service_token&i=nope&literal=nope&files=&excludeFiles=&repos= | |
| 13:25:30 | frickler | I don't know anything about these details, just wanted to point out the proper channel name. gtema and stephenfin over there can probably be much more helpful than me | |
| 13:25:59 | sean-k-mooney | frickler: no worries knwoign it #openstack-sdks helps :) | |
| 13:26:30 | sean-k-mooney | so this is hwo nova enabels service tokens | |
| 13:26:32 | sean-k-mooney | https://opendev.org/openstack/nova/src/branch/master/nova/service_auth.py#L38-L54 | |
| 13:26:43 | bauzas | sean-k-mooney: doh | |
| 13:28:00 | sean-k-mooney | we might just be able to externally wrap the sdk object | |
| 13:28:11 | sean-k-mooney | but the sdk shoudl be update to supprot this nativly in conenct | |
| 13:30:10 | Uggla | sean-k-mooney, I will ask in the sdks channel. | |
| 13:31:16 | opendevreview | John Garbutt proposed openstack/nova master: Limit nodes by ironic shard key https://review.opendev.org/c/openstack/nova/+/886980 | |
| 13:35:13 | bauzas | dansmith: could you save me a couple of mins ? do you remember top of your head which helper method in o.vo can do a deep copy of a list of objects ? | |
| 13:35:28 | bauzas | copy.deepcopy() can't work correctly | |
| 13:36:09 | bauzas | and obj_clone() is IIRC only for single objects | |
| 13:36:11 | bauzas | but I can try | |
| 13:38:14 | dansmith | bauzas: um, not sure there is anything other than obj_clone | |
| 13:38:24 | bauzas | then that's weird | |
| 13:39:16 | dansmith | you could obj_from_primitive(obj_to_primitive()) | |
| 13:39:16 | bauzas | https://paste.opendev.org/show/b1nUZLuwjL1jJ0eFsTA5/ | |
| 13:39:40 | bauzas | so basically the containers aren't identical | |
| 13:40:00 | dansmith | well, if it made a copy of the objects inside then bdm1 is not in the copy list by definition | |
| 13:40:15 | bauzas | damn, right | |
| 13:40:37 | bauzas | it's a deepcopy, the reference is different | |
| 13:41:33 | dansmith | I'll say again, I really don't think there's anything wrong with modifying the list in place | |
| 13:41:40 | bauzas | auniyal: you know what ? instead of removing items from a copied list, just add items into a new empty list at start | |
| 13:41:42 | auniyal | copy.copy worked | |
| 13:41:43 | dansmith | in fact it seems *more* right to me to do so | |
| 13:41:57 | dansmith | please don't copy.copy() an object | |
| 13:42:06 | auniyal | enpty list - not of BlockDeviceMapping | |
| 13:42:10 | auniyal | is it okay | |
| 13:42:46 | auniyal | this works | |
| 13:42:47 | auniyal | https://paste.opendev.org/show/bRTqAnAkcUd9XQEhLiqP/ | |
| 13:43:30 | dansmith | please don't do that | |
| 13:43:38 | bauzas | auniyal: as dansmith said, this is wrong, you're also deleting the original object | |
| 13:43:47 | auniyal | no it didn't other failed | |
| 13:43:55 | auniyal | ack | |
| 13:46:08 | auniyal | bauzas, dansmith and return the list ? | |
| 13:46:34 | bauzas | so, I'm wrapping my head for a simple pattern | |
| 13:47:06 | bauzas | you have many possibilities : | |
| 13:47:49 | bauzas | 1/ iterate over the list, mark the ones to delete, delete them at once in a comprehension list | |
| 13:48:25 | bauzas | 2/ generate an empty object list, iterate over the list, add every single bdm that's correct | |
| 13:48:40 | bauzas | I'm in favor of 1/ | |
| 13:48:46 | dansmith | me too | |
| 13:49:12 | bauzas | 3/ you can use python's filter() with a lambda method | |
| 13:49:16 | dansmith | and I'll say, you don't even need to do the comprehension list part, | |
| 13:49:17 | bauzas | :) | |
| 13:49:26 | dansmith | just make the list of ones to delete, then go back and delete them | |
| 13:49:41 | bauzas | that too | |
| 13:49:53 | dansmith | which I believe is what he already had before we startedin on this | |
| 13:51:30 | auniyal | 1 - iterate over the list; delete(bdm) if culprit else empty_list.append(bdm); return empty_list ?? | |
| 13:52:03 | auniyal | dansmith, so delete part is not happening, | |