Thursday, 2021-12-09

*** bhagyashris_ is now known as bhagyashris03:02
*** akekane_ is now known as abhishekk07:32
*** gibi_ is now known as gibi07:52
gibio/ morning nova08:02
gibisean-k-mooney, bauzas, gmann: yesterday I forgot to read back on the instance_action proposal from Tuesday. Now I did08:03
gibimy view is that we can and therefore should decouple the API behavior from the DB representation08:03
gibiso if we agree that we change the deletion of instance_action in the DB that should not impact how our API behaves08:04
gibiso assuming we agree to make the instance action DB table rows soft deleted when the instance is soft deleted, we should change our query in the API to read soft deleted instance actions too08:05
gibiand then we are done. OVH gets the DB consistency they need, and nova keeps all the external behavior unchanged08:05
gibiwin - win 08:05
pslestan1hello!08:17
pslestan1gibi: agree with that and seems aligned with what sean-k-mooney suggested08:19
gibipslestan1: o/08:20
bauzasgibi: yup, but we discussed about the default for the new microversion08:20
gibidoes anybody requested an API change on nova? :)08:20
bauzasgibi: your thought was what I said first08:21
gibior rephrahsing that, why we want to change API behavior?08:21
bauzasgibi: I don't wanna change the API08:21
gibicool, then we are on the same page08:21
pslestan1gibi: about DB consistency I guess that it's more a community oriented choice than OVH only, I mean this is a good thing to get a consistency for everybody not only OVH 08:22
gibipslestan1: sure, sorry for pin it up on OVH, just needed a name for the set of people who need this change08:23
pslestan1gibi: don't worry08:23
gibi:)08:23
sean-k-mooneygibi: yep i was orginaly suggesting that if we were ever going to change the api behaivor it made sense to cahnge it now but it looks like we dont want to expose this at the api at all09:57
sean-k-mooneygibi: chanig the api behavior would be just to have partity with the servers endpoint09:57
gibiI don't need the API behavior to change09:57
gibiI think it make sense that the history of a VM overlives the VM itself09:57
gibioutlive :D09:58
sean-k-mooneyfor server list you need to pass --deleted to see the soft deleted ones09:58
sean-k-mooneyyou dont have to do that for show09:58
sean-k-mooneyas far asim aware jsut the list endpoint09:58
sean-k-mooneyanyway its fine do we still need a spec if we are not changing the api now09:59
sean-k-mooneywe will start soft deleting them in the db but we will change the api to ignore the deleted column09:59
sean-k-mooneyso the behavior is the same.10:00
gibido we need to add a data migration to fill the deleted column of existing actions?10:00
gibimaybe based on the the fact if the instance is deleted or not yet10:00
sean-k-mooneyi dont think we do10:03
sean-k-mooneywe can just remvoe the deleted column form the query10:03
gibiOK, then I think we don't need a spec, but I let bauzas to decide with his PTL hat10:03
sean-k-mooneywe can have an optional nova-manage command to fill it in10:03
sean-k-mooneybut i dont think it should be required10:04
bauzasgibi: my first comment was to say : OK for a specless BP *but* not for the last phrase10:05
bauzashttps://meetings.opendev.org/meetings/nova/2021/nova.2021-12-07-16.00.log.html#l-20310:06
gibi<bauzas> "We should also implement the possibility to retrieve deleted instance actions as we do for instances." seems like an API change, right?10:07
gibibut there our answer is to keep the API as is10:07
gibithat fullfills this requirement without any API behavior change10:07
gibias the API always returns both deleted and not delete actions :)10:07
gibiif the requirement is to retrive deleted instance actions _only_10:08
gibithen there is an API change10:08
sean-k-mooneygibi: ya i dont think there really is a usecase fo deleted _only_10:10
sean-k-mooneyso i think we are ok to not change the db10:11
sean-k-mooney*api10:11
gibiyepp, I'm on that side yesa10:11
sean-k-mooneyso the cahnge is really to two things 10:11
sean-k-mooneythe server delete sql query/funciton will need to soft delete the instance actions10:12
sean-k-mooneyand the instance actions quies will need to ignore the deleted field10:12
sean-k-mooneyand that shoudl be sufficnet10:12
pslestangbauzas: I can change the BP to remove the possibility to retrieve deleted instance action as the solution proposed does not need such feature10:12
sean-k-mooneyoh and server restore shoudl also restore the instance_actions10:12
bauzaspslestang: okay then10:13
pslestangbauzas: done10:14
bauzasgibi: sean-k-mooney: would we need to modify the DB if we accept to soft-delete the instance actions ?10:15
bauzaspslestang: maybe that's here we would need to discuss about upgrades10:16
gibibauzas: we need to modify the DB yes, and need to modify the DB query the API does to ignore the new column10:16
bauzasthat's my question10:16
gibiso if you are strict then there is an upgrade impact, as the db schema changes10:16
bauzasfor upgrades10:16
bauzasI mean10:17
bauzasfor upgrading there are two directioins10:17
bauzas1/ we want to modify the DB for already existed instance actions10:17
bauzas2/ we don't do it and we only soft-delete the new instance actions10:17
bauzas1/ would mean that we would need to have a nova-manage command10:18
bauzas2/ wouldn't10:18
bauzasfor both, we need to discuss how the API query would do10:18
bauzasremember that we have cells v210:19
bauzasso we would need to know whether the cell DB is upgraded or not10:19
bauzasbefore calling the instance actions table10:19
bauzas(from the API I mean)10:19
bauzasanyway, I need to get my kid from school in a few mins10:20
bauzasbut I guess we probably need to want to discuss about the upgrade questions in some... spec ?10:20
gibibauzas: that is your call :) I'm happy to discuss this in a spec 10:20
bauzasI don't wanna use my baton10:21
bauzasit's more a core question10:21
bauzasabout upgrades10:21
gibiregarding nova-manage that feels optional to me, and probably pslestang can state if OVH needs it or not10:21
gibiso this is a requirement question10:21
bauzasyeah10:21
pslestangbauzas: by the way we already need to change the nova-manage purge behaviour which actually rely on update_at column for instance_action_* tables instead of deleted_at 10:21
bauzascorrect10:21
bauzaswe also need to look at which methods look at instance actions10:22
bauzaswe know the API for sure10:22
bauzasbut I wonder whether we also look at the actions within nova directly10:22
sean-k-mooneybauzas: we dont need to modify the db but we do need to modify hte db queries10:22
sean-k-mooneythe schema will remain the same10:22
*** redrobot6 is now known as redrobot10:23
bauzassean-k-mooney: agreed this isn't a DB schema modifcatioin10:23
gibisean-k-mooney: ooh the same already has deleted column, I missed that10:23
bauzasbut this is about the values10:23
sean-k-mooneygibi: yep it already inherits form teh softdelete mixin10:23
pslestanggibi: at OVH we do not use nova-manage but it could be useful for someone10:23
bauzasfor the moment, soft-deleted instances have not deleted actions10:23
sean-k-mooneygibi: we just currently dont soft delete it10:23
bauzasif we start to soft-delete actions when deleting instances, then I wonder what happens for existing instance related actions10:24
sean-k-mooneythe remain not deleted10:24
sean-k-mooneybut that wont mater 10:24
bauzassean-k-mooney: this is one direction10:24
sean-k-mooneysince we will just start ignoring that field10:24
bauzasor one solution10:24
sean-k-mooneywell setting a colume to the value it currently has in an update is valid10:25
bauzasanyway, needs to get my daughter, moving 10:25
sean-k-mooneyso the resotre can ignore it too and just always set it to 010:25
sean-k-mooneyeven if its already 0 becuase we did not migrate the existing ones to eb soft deleted10:25
sean-k-mooneypslestang: wehn you archive the deleted rows it will delete the instance actions10:26
sean-k-mooneyso by the time you get to purge they shoudl already be gone form the main table10:26
sean-k-mooneyarchiveing the delete rows will remove the instance form the main table which would break the forien key constraitnt on the isntnace action table10:27
sean-k-mooneyso the rows have to be removed to archive the instance to the shadow tables10:28
pslestangsean-k-mooney: from what I saw when you archive the deleted rows it does not delete the instance actions but copy them in shadow tables10:28
sean-k-mooneyit shoudl delete them form the main table and copy them to the shadow table10:28
sean-k-mooneybasically a move10:28
pslestangyes that's it10:28
sean-k-mooneyyep that is the expect behavior10:29
sean-k-mooneyand pruge should remove them for the shadow tabels10:29
pslestangand when we purge de archived rows, it deletes the instances based on deleted_at date, and deleted the insatnce_action bases on updated_at date10:29
sean-k-mooneyif you are using --before yes10:30
pslestangyep10:30
sean-k-mooneywe could likely adapt that to use delete_at if its popluatedand fall abck to updated at if not10:30
sean-k-mooneyor just leave it as is10:31
pslestangI prefer to adapt the code to make it consistent with the soft-delete of instance_actions10:33
sean-k-mooneybauzas: im prety sure we dont look at the actions in nova they are write only 10:33
sean-k-mooneypslestang: ok would you prefer to write this all down in a short spec which we can try an appove in the review day on the 14th10:34
sean-k-mooneyor just proceed with this as a specless blueprint10:34
pslestangI can write a short spec10:34
sean-k-mooneyi dont thinks we really need a spec but i think having one to document this would be good so im happy to review it if you write it10:34
pslestangsure10:35
sean-k-mooneycool feel free to add me and likely gibi/bauzas to it 10:35
pslestangis it better to change the one I wrote or to create a new one?10:35
sean-k-mooneyoh you already have one?10:35
pslestangI was talking about the BP10:35
sean-k-mooneyoh reuse the blueprint you have now but file a spec with the same name10:36
pslestangok understand, I will dot it asap10:36
sean-k-mooneycool10:37
* bauzas is back, scrolling up10:45
bauzaspslestang: thanks pslestang for writing up a quick spec10:46
bauzasyou can see the template and the already existing specs too10:46
bauzasI'm not really asking about a paperwork, just want to be sure we don't miss any important issue10:47
sean-k-mooneyyep for me the spec is more just documentaiton/todo list in this case rather then a detailed design requirement because its complex10:48
sean-k-mooneythis is a relitively simple change we just dont want to miss any interop or upgrade impact10:49
sean-k-mooneyi think we are all supportive of doing it so you dont really need to convice use just detail what needs to be done10:50
gibibauzas: could you quickly mark this wontfix https://bugs.launchpad.net/nova/+bug/1953734 as it is talking about a deprecated API ? (I don't want to do it as I was asked downstream to open it :D)10:53
bauzasgibi: hehe sure :p10:54
bauzasdo you want my bank account ?10:54
bauzas:D10:55
gibiI will pay in beer 10:55
gibi:D10:55
gibiwhen we finally meet again10:55
bauzaswell, if I was paying for a vine in 2019 for the next meeting, then it would be a very nice one :)10:55
bauzasafter 3 years10:56
sean-k-mooneygibi: what is the invalid input in this case by the way10:56
bauzashmmm, https://docs.openstack.org/api-ref/compute/?expanded=list-security-groups-by-server-detail#servers-security-groups-servers-os-security-groups10:57
bauzasunfortunately, we don't document the fact that the POST action is now deprecated10:57
gibisean-k-mooney: security_group is expected to be a dict not a string10:57
sean-k-mooneyah ok10:57
gibiThese APIs are proxy calls to the Network service. Nova has deprecated all the proxy APIs and users should use the native APIs instead. These will fail with a 404 starting from microversion 2.36. See: Relevant Network APIs.10:57
bauzasgibi: yeah I know10:58
gibiI think this is for the whole /os-security-groups resource10:58
sean-k-mooneyyep the post action i tough twas only vailid for nova networks10:58
bauzasgibi: I'm just saying we don't document it in our API docs :p10:58
bauzasgibi: well, then the GET /os-security-groups action should be told to by deprecated in our API docs :)10:58
gibiI think the documentation is there in the header10:58
bauzasoh, did I miss something in the docs ?10:59
sean-k-mooneyhttps://docs.openstack.org/api-ref/compute/?expanded=list-security-groups-by-server-detail#list-security-groups10:59
sean-k-mooneybauzas: its in the os-security-groups section10:59
sean-k-mooneyThese APIs are proxy calls to the Network service. Nova has deprecated all the proxy APIs and users should use the native APIs instead. These will fail with a 404 starting from microversion 2.36. See: Relevant Network APIs.10:59
bauzasI'm blind10:59
sean-k-mooneyyou were looking at the instance action10:59
sean-k-mooneythat does not have the hearder11:00
* gibi even started creating a screenshot for bauzas11:00
sean-k-mooneybut the os-security-groups  endpoint section does11:00
bauzaswhat the f***11:00
sean-k-mooneybauzas: https://docs.openstack.org/api-ref/compute/?expanded=list-security-groups-by-server-detail#delete-deallocate-floating-ip-address11:00
sean-k-mooneythe big red box ^11:00
bauzasyeah I get it now11:00
sean-k-mooney:)11:00
bauzasbut... can't get why I wasn't able to see it in my own link11:01
sean-k-mooneybauzas: because you were not looking in the right section11:01
sean-k-mooneyyou were looking at /servers/uuid/os-secuirty-groups11:01
sean-k-mooneythat was not deprecated11:01
* bauzas facepalms11:01
bauzasCtrl+F 11:01
sean-k-mooneybut /os-security-groups and /os-security-group-rules were11:02
bauzasnot the right endpoint11:02
sean-k-mooneyyep easy mistake to make11:02
sean-k-mooneybrb11:02
bauzasgibi: done, you owe me one :p11:07
gibithanks, and noted :)11:07
plibeaulyarwood: To explain what append in my case: context, the image used during the boot of the instance is now private and the base image on the source compute don't exsit.13:40
plibeauduring the resize on the instance in the code we go in "_try_fetch_image_cache" (nova/virt/libvirt/driver.py +10359) and go in except because image.cache can't found image (because now the image is private). In the except image.cache is call again without image in parameter so create_image in call also without image_id. generating is True because image_id not found in kwargs13:40
plibeauand the self.exists because it's a resize so the disk already exist.13:40
plibeauI don't change in image.cache method the line 280 (if os.path.exists(base) and size > self.get_disk_size(base):) because it's the same code for other type of type (qow2,etc) and it's not good idea IMPOV to change that but mayY13:40
plibeauhttps://review.opendev.org/c/openstack/nova/+/82053113:40
plibeau*but maybe I'm wrong13:46
opendevreviewsean mooney proposed openstack/nova master: This change adds generative envs  https://review.opendev.org/c/openstack/nova/+/80429214:02
opendevreviewsean mooney proposed openstack/nova master: This change adds generative envs  https://review.opendev.org/c/openstack/nova/+/80429214:04
opendevreviewsean mooney proposed openstack/nova master: [WIP] allow cpus to be externally managed  https://review.opendev.org/c/openstack/nova/+/82122814:41
lyarwoodplibeau: Apologies was on calls downstream14:55
* lyarwood reads back14:55
lyarwoodI think I see what you mean14:59
lyarwoodand apologies I was mixing resize and rebuild15:00
opendevreviewmitya-eremeev-2 proposed openstack/nova master: Delete bogus attachments.  https://review.opendev.org/c/openstack/nova/+/82093515:13
plibeau1okay I can copy my detail in the change if you want? And you prefer another change for the refacto?15:24
lyarwoodplibeau1: same change, new patchset would be fine I think?15:31
plibeau1probably yes I will check to apply your proposal on unit test15:33
lyarwoodyeah just amend the commit and git review again15:45
opendevreviewPierre Libeau proposed openstack/nova master: Nova resize don't extend disk in one specific case  https://review.opendev.org/c/openstack/nova/+/82053116:31
gmanngibi: sean-k-mooney bauzas pslestang : I am fine not to change API as no one asked it. but +1 on spec to get clear view/documentation  16:38
sean-k-mooneygmann: ack17:27
opendevreviewBalazs Gibizer proposed openstack/nova master: Log which instance event was timed out  https://review.opendev.org/c/openstack/nova/+/81981717:47
*** weechat1 is now known as amorin17:54
*** weechat1 is now known as amorin18:00
mloza /j #openstack-keystone19:24
opendevreviewsean mooney proposed openstack/nova-specs master: add per process healthcheck spec  https://review.opendev.org/c/openstack/nova-specs/+/82127919:28
opendevreviewmelanie witt proposed openstack/nova master: Enable unified limits in the nova-next job  https://review.opendev.org/c/openstack/nova/+/78996321:17
*** tbachman_ is now known as tbachman22:54
*** tbachman_ is now known as tbachman23:04
*** artom__ is now known as artom23:39

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!