*** zhanglong has joined #openstack-nova | 00:13 | |
*** hamalq has quit IRC | 00:41 | |
*** gmann has quit IRC | 00:51 | |
*** gmann has joined #openstack-nova | 00:51 | |
*** CeeMac has quit IRC | 00:52 | |
*** pas-ha has quit IRC | 00:53 | |
*** CeeMac has joined #openstack-nova | 00:55 | |
*** pas-ha has joined #openstack-nova | 00:55 | |
*** zhanglong has quit IRC | 00:59 | |
*** zhanglong has joined #openstack-nova | 00:59 | |
*** ociuhandu has joined #openstack-nova | 01:01 | |
*** ociuhandu has quit IRC | 01:05 | |
*** tetsuro has joined #openstack-nova | 01:13 | |
openstackgerrit | Brin Zhang proposed openstack/nova master: Optimize _create_and_bind_arqs logic in conducor https://review.opendev.org/726564 | 01:26 |
---|---|---|
*** mkrai has joined #openstack-nova | 01:44 | |
*** yaawang has quit IRC | 01:45 | |
*** yaawang has joined #openstack-nova | 01:46 | |
*** zhanglong has quit IRC | 02:18 | |
*** zhanglong has joined #openstack-nova | 02:19 | |
*** sapd1 has joined #openstack-nova | 02:33 | |
*** tetsuro has quit IRC | 02:45 | |
*** ircuser-1 has joined #openstack-nova | 02:46 | |
*** nweinber has quit IRC | 02:46 | |
openstackgerrit | Tony Su proposed openstack/nova master: Provider Config File: YAML file loading and schema validation https://review.opendev.org/673341 | 02:48 |
*** rcernin has quit IRC | 02:59 | |
*** hongbin has joined #openstack-nova | 03:00 | |
*** rcernin has joined #openstack-nova | 03:03 | |
*** nweinber has joined #openstack-nova | 03:12 | |
*** nweinber has quit IRC | 03:15 | |
*** tetsuro has joined #openstack-nova | 03:51 | |
*** tetsuro has quit IRC | 04:01 | |
*** tetsuro has joined #openstack-nova | 04:02 | |
*** tetsuro has quit IRC | 04:06 | |
*** gyee has quit IRC | 04:10 | |
*** hongbin has quit IRC | 04:20 | |
*** vishalmanchanda has joined #openstack-nova | 04:22 | |
*** evrardjp has quit IRC | 04:33 | |
*** evrardjp has joined #openstack-nova | 04:33 | |
*** ratailor has joined #openstack-nova | 04:37 | |
*** ociuhandu has joined #openstack-nova | 05:03 | |
*** sapd1 has quit IRC | 05:04 | |
*** ociuhandu has quit IRC | 05:07 | |
*** mtreinish has quit IRC | 05:08 | |
*** udesale has joined #openstack-nova | 05:27 | |
openstackgerrit | Brin Zhang proposed openstack/nova master: Optimize _create_and_bind_arqs logic in conducor https://review.opendev.org/726564 | 05:36 |
*** sapd1 has joined #openstack-nova | 05:47 | |
*** zhanglong has quit IRC | 05:49 | |
*** mtreinish has joined #openstack-nova | 05:54 | |
*** bhagyashris|away is now known as bhagyashris | 06:01 | |
*** lpetrut has joined #openstack-nova | 06:04 | |
*** tetsuro has joined #openstack-nova | 06:06 | |
*** jsuchome has joined #openstack-nova | 06:08 | |
*** maciejjozefczyk has joined #openstack-nova | 06:10 | |
*** tetsuro has quit IRC | 06:11 | |
*** sapd1 has quit IRC | 06:28 | |
*** kevinz has joined #openstack-nova | 06:28 | |
*** links has joined #openstack-nova | 06:30 | |
*** mkrai has quit IRC | 06:43 | |
*** slaweq has joined #openstack-nova | 06:48 | |
*** nightmare_unreal has joined #openstack-nova | 06:56 | |
*** tesseract has joined #openstack-nova | 07:11 | |
*** dklyle has quit IRC | 07:19 | |
*** sapd1 has joined #openstack-nova | 07:22 | |
*** rcernin has quit IRC | 07:32 | |
*** tosky has joined #openstack-nova | 07:42 | |
*** ociuhandu has joined #openstack-nova | 07:52 | |
*** ociuhandu has quit IRC | 07:52 | |
*** ociuhandu has joined #openstack-nova | 07:53 | |
*** ralonsoh has joined #openstack-nova | 07:53 | |
*** brinzhang0 has joined #openstack-nova | 07:55 | |
*** brinzhang_ has quit IRC | 07:58 | |
*** bhagyashris is now known as bhagyashris|lunc | 08:10 | |
*** xek has joined #openstack-nova | 08:13 | |
*** brinzhang_ has joined #openstack-nova | 08:13 | |
*** brinzhang0 has quit IRC | 08:16 | |
*** derekh has joined #openstack-nova | 08:41 | |
*** rcernin has joined #openstack-nova | 08:48 | |
*** priteau has joined #openstack-nova | 08:50 | |
*** ociuhandu_ has joined #openstack-nova | 08:53 | |
*** rcernin has quit IRC | 08:54 | |
openstackgerrit | Brin Zhang proposed openstack/nova master: Add instance project_id for cyborg arq https://review.opendev.org/738428 | 08:54 |
*** ociuhandu has quit IRC | 08:56 | |
*** tetsuro has joined #openstack-nova | 08:58 | |
*** awalender has joined #openstack-nova | 09:02 | |
awalender | Hi there, using ubuntu stein packages for OpenStack and recently we are having troubles with randomly aborting live-migrations with libvirt and qemu. Target hosts periodacly shows: Timed out during operation: cannot acquire state change lock (held by monitor=remoteDispatchDomainMigratePrepare3Params) | 09:06 |
awalender | Followed by: internal error: Missing monitor reply object.....afterwards libvirtd crashes with SEGV. Both hosts have same packages (libvirtd: 5.0.0-1). Anyone had similiar issues with this? | 09:07 |
*** jangutter has joined #openstack-nova | 09:10 | |
*** dtantsur|afk is now known as dtantsur | 09:12 | |
*** jangutter_ has quit IRC | 09:14 | |
openstackgerrit | Tony Su proposed openstack/nova master: Provider Config File: YAML file loading and schema validation https://review.opendev.org/673341 | 09:18 |
lyarwood | stephenfin: https://review.opendev.org/#/q/topic:bug/1889108 - would you mind taking a swing at this today? | 09:19 |
tony_su | stephenfin: alex_xu: I unified the exception message coding style, hopefully for readibiliy, and updated patch according to other comments. | 09:21 |
*** ociuhandu_ has quit IRC | 09:25 | |
brinzhang_ | gibi, sean-k-mooney: did you see this patch https://review.opendev.org/#/c/7384? Adding project_id to the binding API, when server call _create_and_and_arq that we can verify user permissions, | 09:29 |
brinzhang_ | gibi, sean-k-mooney: we will introduce it to cyborg too, see https://review.opendev.org/#/c/738427/ | 09:30 |
*** ociuhandu has joined #openstack-nova | 09:31 | |
*** ociuhandu has quit IRC | 09:31 | |
brinzhang_ | if you are free, please review these patch, the cyborg patch depends-on the nova patch, otherwise the create_server test in cyborg cannot pass. | 09:31 |
*** ociuhandu has joined #openstack-nova | 09:31 | |
*** tetsuro has quit IRC | 09:32 | |
*** brinzhang0 has joined #openstack-nova | 09:35 | |
stephenfin | brinzhang0: gibi is on PTO for the next two weeks | 09:36 |
stephenfin | just FYI | 09:36 |
brinzhang0 | stephenfin: thanks, got it~ | 09:37 |
brinzhang0 | stephenfin: hope you can review that patch too, it just add an field we request accelerator with boot instance | 09:38 |
*** brinzhang_ has quit IRC | 09:38 | |
openstackgerrit | Lee Yarwood proposed openstack/nova master: Add regression test for bug #1889108 https://review.opendev.org/743289 | 09:39 |
openstack | bug 1889108 in OpenStack Compute (nova) "failures during driver.pre_live_migration remove source attachments during rollback" [High,In progress] https://launchpad.net/bugs/1889108 - Assigned to Lee Yarwood (lyarwood) | 09:39 |
openstackgerrit | Lee Yarwood proposed openstack/nova master: compute: Don't delete the original attachment during live migration rollback https://review.opendev.org/743319 | 09:39 |
*** tetsuro has joined #openstack-nova | 09:40 | |
openstackgerrit | Lee Yarwood proposed openstack/nova stable/queens: ironic: add instance_uuid before any other spawn activity https://review.opendev.org/743493 | 09:40 |
*** bhagyashris|lunc is now known as bhagyashris | 09:41 | |
*** Luzi has joined #openstack-nova | 09:45 | |
*** tetsuro has quit IRC | 09:48 | |
stephenfin | tony_su: Reviewed again :) Let me know if anything doesn't make sense | 09:50 |
*** tetsuro has joined #openstack-nova | 09:51 | |
*** tetsuro has quit IRC | 09:53 | |
*** k_mouza has joined #openstack-nova | 09:57 | |
*** udesale_ has joined #openstack-nova | 09:58 | |
*** udesale has quit IRC | 10:01 | |
*** brinzhang_ has joined #openstack-nova | 10:02 | |
sean-k-mooney | brinzhang0: let me take a look but you should not need to add project_id to the api itsself it will be valiable in the keystone atuth token so i need to see what you have acatully done | 10:05 |
*** brinzhang0 has quit IRC | 10:05 | |
sean-k-mooney | brinzhang_: ^ | 10:05 |
sean-k-mooney | brinzhang_: my initall feeling is that you should not really need the project id | 10:07 |
brinzhang_ | sean-k-mooney: Cyborg is about to introduce a new policy, I think this is needed. | 10:13 |
sean-k-mooney | brinzhang_: is cyborg currently using api microversions | 10:13 |
brinzhang_ | https://review.opendev.org/#/q/project:openstack/cyborg+branch:master+topic:policy-popup | 10:13 |
sean-k-mooney | because it need to continue to supprot old novas that dont send it | 10:14 |
sean-k-mooney | meaning they need to either do a major api verion bump and maintian both | 10:14 |
sean-k-mooney | or the need to add a microversions | 10:14 |
sean-k-mooney | or treat it as optional in someother way so that older novas can work with it | 10:14 |
brinzhang_ | Yes, this will change the cyborg api, we need a new microversion to support project_id in cyborg arq api | 10:16 |
sean-k-mooney | i dont see that in https://review.opendev.org/#/c/738427/2 | 10:16 |
sean-k-mooney | in factr i dont see any microversion code in cyborg | 10:17 |
sean-k-mooney | i have not looked very hard | 10:17 |
brinzhang_ | I will ask him to add microversion, we have introduced microversion in v2 API, this must be done. | 10:17 |
sean-k-mooney | it looks like it will be the first microversion https://github.com/openstack/cyborg/blob/369abe8dd06aa6648298c3256f444a63ee6268d0/cyborg/api/controllers/v2/api_version_request.py#L49 | 10:19 |
*** rcernin has joined #openstack-nova | 10:19 | |
sean-k-mooney | is this the first api change since v2 | 10:20 |
brinzhang_ | I would like this patch can add the microversion too https://review.opendev.org/#/c/698190/ | 10:20 |
brinzhang_ | I am trying my best.. | 10:20 |
sean-k-mooney | brinzhang_: i know | 10:21 |
sean-k-mooney | brinzhang_: its not just your responsiblity | 10:21 |
sean-k-mooney | all cyborg cores shoudl be reviewing for this | 10:21 |
sean-k-mooney | even non cores | 10:21 |
brinzhang_ | sean-k-mooney: yes, thanks | 10:21 |
brinzhang_ | hope you can leave comment inline too | 10:21 |
brinzhang_ | In contrast, you have more experience in this area, which is worth learning from. | 10:22 |
stephenfin | lyarwood: Reviewed those, btw | 10:22 |
sean-k-mooney | yes i can i was hoping to point them to a patch that previously raised the microversion so that they had an example but since they are the first i guess i cant | 10:22 |
sean-k-mooney | well nova does i try to avoid making api change when i can. its a lot less work if you dont have to modify the api to implemente a feature | 10:23 |
sean-k-mooney | :) | 10:23 |
sean-k-mooney | ill leave a comment on both patches shortly | 10:24 |
brinzhang_ | sean-k-mooney: yeah, I can understand, but the current two patches inevitably need to modify the API. | 10:24 |
brinzhang_ | Thanks, so that I can ask again^^ | 10:25 |
sean-k-mooney | brinzhang_: basically we need to copy https://docs.openstack.org/nova/latest/contributor/microversions.html into the cyborg docs and do a find and replace | 10:31 |
sean-k-mooney | brinzhang_: gmann and alex_xu are two of the experts on api microversioning | 10:32 |
brinzhang_ | sean-k-mooney: thanks, I will review this, and do a copy later | 10:32 |
brinzhang_ | yeah, if I have some problem, Iill ask them for help | 10:33 |
lyarwood | stephenfin: ta | 10:37 |
*** rcernin has quit IRC | 10:43 | |
*** xek has quit IRC | 10:49 | |
stephenfin | sean-k-mooney: Left comments on https://review.opendev.org/#/c/739131/. I have those type hints worked out locally if you want me to push them somewhere? | 10:56 |
sean-k-mooney | oh i just fixed the ones you commented on before i proablyshould have checked all the types | 10:59 |
sean-k-mooney | on the styple nit putting each paramater on its onw line is something im happy to fight you over | 10:59 |
sean-k-mooney | i hate that more then anything else | 10:59 |
sean-k-mooney | wasting vertical space like that is deeply wrong in my view. | 11:00 |
*** brinzhang_ has quit IRC | 11:00 | |
sean-k-mooney | im assumeing that is what you want here https://review.opendev.org/#/c/739131/8/nova/virt/libvirt/driver.py@6894 | 11:01 |
*** bhagyashris is now known as bhagyashris|away | 11:06 | |
*** sapd1 has quit IRC | 11:07 | |
*** k_mouza has quit IRC | 11:13 | |
*** mgariepy has quit IRC | 11:18 | |
*** k_mouza has joined #openstack-nova | 11:19 | |
*** k_mouza has quit IRC | 11:19 | |
*** k_mouza has joined #openstack-nova | 11:20 | |
stephenfin | sean-k-mooney: I think putting it on its own line helps visually group the function definition stuff neatly together. It also allows for maximum width wrt annotating the return type (which can often be quite lengthy, as you're seeing) | 11:22 |
sean-k-mooney | right but i think your thinking about type hints wrong | 11:23 |
sean-k-mooney | we should not in all cases fully qualify the type | 11:23 |
sean-k-mooney | that is not how they are ment to be used | 11:23 |
stephenfin | why ever not? | 11:23 |
sean-k-mooney | have you ever used c++ templates | 11:23 |
sean-k-mooney | and tried to fully quallify a template that multipel template args | 11:24 |
stephenfin | no, I've barely touched C++ | 11:24 |
sean-k-mooney | type hints are most useful when they specify the interface of the type you expect | 11:24 |
*** xek has joined #openstack-nova | 11:24 | |
stephenfin | right | 11:24 |
sean-k-mooney | you can be more specific too but our brains are not compilers so adding too much detail can be harmful | 11:25 |
sean-k-mooney | if you add too much detail to the type trait and you have multiple parmater it gets hard to keep all that context in your brain | 11:25 |
stephenfin | the point of the type hints is offload the context though | 11:26 |
sean-k-mooney | but you still need to read them | 11:26 |
stephenfin | you don't need to figure out what param_a is: it's written right there | 11:26 |
sean-k-mooney | yes we agree on this | 11:26 |
sean-k-mooney | but is ty.Dict[str,ty.Union[str, ty.Dict[str, ty.Union[str, ty.List[str], None]]]] | 11:27 |
sean-k-mooney | useful? | 11:27 |
sean-k-mooney | vs ty.Dict[str,ty.Union[str, ty.Dict]] | 11:27 |
stephenfin | No, not at all. That should be a typed dict | 11:27 |
*** whoami-rajat has joined #openstack-nova | 11:27 | |
stephenfin | you'll note in most places we have that I've just used ty.Dict[str, ty.Any] | 11:27 |
stephenfin | so we're on the same page there | 11:28 |
stephenfin | however, 'list' also isn't useful | 11:28 |
sean-k-mooney | well that is actully the fully correct type | 11:28 |
stephenfin | Unless it's truly a generic container for anything, then I want to know what's in it | 11:28 |
sean-k-mooney | its technically ty.Dict[str,ty.Union[str, ty.Dict[str, ty.Union[str, ty.List[str], None]]]] | 11:28 |
stephenfin | I don't think I've written anything approaching that level of detail anywhere | 11:29 |
sean-k-mooney | ty.Dict is an alis for dict which is treated as ty.Dict[Any, Any] | 11:29 |
sean-k-mooney | you havent | 11:29 |
whoami-rajat | hi #openstack-nova , is there a way to use pdb in n-cpu service (DEVSTACK), i tried starting the service manually on terminal but it doesn't stop on the pdb | 11:29 |
stephenfin | and I'm not suggesting we do that here either | 11:29 |
sean-k-mooney | but that is what i would hav too change https://review.opendev.org/#/c/739131/8/nova/virt/libvirt/driver.py@6909 too | 11:30 |
sean-k-mooney | whoami-rajat: that is because we use eventlets | 11:30 |
stephenfin | nah, I didn't say that. I just said what was there was wrong. 'ty.Dict[str, ty.Any]' would work perfectly fine | 11:31 |
sean-k-mooney | to use it with pdb you have to disable monkeypatching of the threading api | 11:31 |
stephenfin | or ty.Dict, if you prefer | 11:31 |
sean-k-mooney | right so i have been using dict which is the same as ty.Dict which is ty.Dict[ty.Any, ty.Any] | 11:32 |
whoami-rajat | sean-k-mooney, ah, does disabling it has any side effect? | 11:32 |
*** jangutter_ has joined #openstack-nova | 11:32 | |
sean-k-mooney | whoami-rajat: unfortunetly yes, we actullly have a couple of infinet loops | 11:32 |
sean-k-mooney | we normally only exit them via yeilding | 11:32 |
sean-k-mooney | so in practic it is quite hard to debug n-cpu directly | 11:32 |
whoami-rajat | :( , is rpdb a solution here? sean-k-mooney | 11:33 |
sean-k-mooney | i have never used that | 11:33 |
stephenfin | sean-k-mooney: Okay, then I retract my request not to use 'dict' in that case then | 11:33 |
whoami-rajat | ack. thanks for the info sean-k-mooney | 11:34 |
stephenfin | I'd still rather we did use 'ty.Dict[str, ty.Any]', since that's at least a little more information than we might otherwise have | 11:34 |
stephenfin | but it's not necessary | 11:34 |
*** k_mouza has quit IRC | 11:34 | |
sean-k-mooney | oh am well we can run with remote debuging but basically you have to deal with either eventlet monkey patching which means breakpoint might not work or disable monkey patch whcih means you might not get to the code you want | 11:35 |
stephenfin | I think my comments on the other places that 'ty.Any' is still used are valid though, since they're easy to type and actually helpful | 11:35 |
sean-k-mooney | stephenfin: ill go make most of the change you asked for | 11:35 |
*** jangutter has quit IRC | 11:35 | |
sean-k-mooney | and then when the type get a bit too long | 11:35 |
sean-k-mooney | ill do type erasure | 11:35 |
sean-k-mooney | i can do ty.Dict[str, ty.Any] | 11:36 |
stephenfin | sounds good to me | 11:36 |
*** bhagyashris|away is now known as bhagyashris | 11:36 | |
sean-k-mooney | to me by the way needing to do ty.Dict[str, ty.Any] is kind fo a code smell | 11:36 |
sean-k-mooney | either we should be returning classes rather then dicts | 11:37 |
sean-k-mooney | or we shoudl be breaking down the function as it likely has too many differnt posable return types | 11:37 |
stephenfin | totally agree | 11:37 |
sean-k-mooney | am other then typing and the comment you left | 11:38 |
sean-k-mooney | are you happy with the change other then that | 11:38 |
sean-k-mooney | i am hoping this will be the last revision so i can move on to the numa in placemnt stuff for a while | 11:38 |
stephenfin | I do think we could fold some of the functions into each other, since the separation feels a bit artificial rn, but I've said as much in the review and it's easy fix later | 11:39 |
stephenfin | so yeah, lgtm otherwise | 11:39 |
sean-k-mooney | ok im also planning to backport this at least to train so i was trying to keep this relitivly small | 11:40 |
* sean-k-mooney failed at that | 11:40 | |
stephenfin | Maybe drop the type hints or put them in a separate patch in that case? :) | 11:40 |
sean-k-mooney | well we had this debate a few versions ago | 11:41 |
sean-k-mooney | that we did not want to have to write worse code with out type hint jsut because we wanted to backport | 11:41 |
stephenfin | fair point | 11:41 |
*** brinzhang has joined #openstack-nova | 11:42 | |
sean-k-mooney | so im hesitent to set that precident as if i do ill be asked to do it for every bugfix | 11:42 |
sean-k-mooney | at which point its much less motivating to ever write type hints and i used them while writing the patch a few times so they are really useful IMO | 11:43 |
sean-k-mooney | e.g. i forgot what i was passing an looked at the type hint | 11:43 |
*** lbragstad has quit IRC | 11:45 | |
*** k_mouza has joined #openstack-nova | 11:45 | |
*** ratailor has quit IRC | 11:45 | |
*** spatel has joined #openstack-nova | 11:50 | |
*** k_mouza has quit IRC | 11:53 | |
*** spatel has quit IRC | 11:54 | |
*** priteau has quit IRC | 11:55 | |
sean-k-mooney | stephenfin: by the way im not going to do it in this patch but what are your feeling on doing ty.Dict vs importing Dict directly and just using it | 11:56 |
sean-k-mooney | stephenfin: you seamed to be doing ty.<whatever> | 11:56 |
sean-k-mooney | so that is what im doing but the ty. gets a little tedious after a while | 11:56 |
*** raildo has joined #openstack-nova | 11:56 | |
*** priteau has joined #openstack-nova | 11:57 | |
sean-k-mooney | most of the examples i have seen do "from typeing import Dict,List,..." | 11:57 |
sean-k-mooney | long term do you think we should stick with import typeing as ty or move over to the other from typing style | 11:58 |
*** evrardjp has quit IRC | 12:00 | |
*** tkajinam has quit IRC | 12:02 | |
*** k_mouza has joined #openstack-nova | 12:19 | |
*** sapd1 has joined #openstack-nova | 12:20 | |
*** k_mouza has quit IRC | 12:24 | |
*** mgariepy has joined #openstack-nova | 12:33 | |
*** ralonsoh has quit IRC | 12:34 | |
*** ralonsoh has joined #openstack-nova | 12:34 | |
*** k_mouza has joined #openstack-nova | 12:37 | |
*** k_mouza has quit IRC | 12:41 | |
lyarwood | stephenfin: so I've actually managed to hit the same issue with live_migration as pre_live_migration in my func tests btw, looks like I also need the fix to cover this case | 12:46 |
lyarwood | oh wait I borked the test | 12:48 |
lyarwood | OS_DEBUG++ | 12:48 |
*** xek_ has joined #openstack-nova | 12:48 | |
*** lbragstad has joined #openstack-nova | 12:50 | |
*** xek has quit IRC | 12:51 | |
sean-k-mooney | OS_DEBUG is for what disabling monkeypatching or extra output | 12:53 |
*** sapd1 has quit IRC | 12:53 | |
sean-k-mooney | its the latter right? | 12:53 |
sean-k-mooney | when running test with tox | 12:54 |
lyarwood | latter, had a typo in a mock and was confused until I saw the extra output | 12:54 |
sean-k-mooney | ya i have used it once or twice | 12:54 |
sean-k-mooney | i normally got to pdb instead | 12:54 |
*** ociuhandu has quit IRC | 12:57 | |
*** brinzhang_ has joined #openstack-nova | 12:57 | |
*** ociuhandu has joined #openstack-nova | 12:57 | |
*** whoami-rajat has quit IRC | 12:57 | |
*** brinzhang has quit IRC | 12:57 | |
*** k_mouza has joined #openstack-nova | 12:58 | |
*** rcernin has joined #openstack-nova | 12:59 | |
jsuchome | lyarwood: https://review.opendev.org/#/c/743220/ is green, hooray! | 13:00 |
*** k_mouza has quit IRC | 13:02 | |
*** rcernin has quit IRC | 13:03 | |
*** brinzhang0 has joined #openstack-nova | 13:10 | |
*** k_mouza has joined #openstack-nova | 13:11 | |
*** brinzhang_ has quit IRC | 13:12 | |
*** nweinber has joined #openstack-nova | 13:15 | |
*** k_mouza has quit IRC | 13:16 | |
openstackgerrit | Lee Yarwood proposed openstack/nova master: Add regression tests for bug #1889108 https://review.opendev.org/743289 | 13:22 |
openstack | bug 1889108 in OpenStack Compute (nova) "failures during driver.pre_live_migration remove source attachments during rollback" [High,In progress] https://launchpad.net/bugs/1889108 - Assigned to Lee Yarwood (lyarwood) | 13:22 |
openstackgerrit | Lee Yarwood proposed openstack/nova master: compute: Don't delete the original attachment during pre LM rollback https://review.opendev.org/743319 | 13:22 |
openstackgerrit | Lee Yarwood proposed openstack/nova master: func: Add live migration rollback volume attachment tests https://review.opendev.org/743534 | 13:22 |
openstackgerrit | Lee Yarwood proposed openstack/nova master: func: Add CinderFixture to _IntegratedTestBase https://review.opendev.org/743535 | 13:22 |
*** k_mouza has joined #openstack-nova | 13:23 | |
lyarwood | jsuchome: ack, I'll sort the actual test for that out later this eveningn | 13:23 |
*** k_mouza has quit IRC | 13:27 | |
jsuchome | thanks | 13:32 |
*** whoami-rajat has joined #openstack-nova | 13:38 | |
*** jangutter_ is now known as jangutter | 13:39 | |
*** Luzi has quit IRC | 13:40 | |
openstackgerrit | Alexandre Arents proposed openstack/nova master: Make _rebase_with_qemu_img() generic https://review.opendev.org/743537 | 13:41 |
*** brinzhang_ has joined #openstack-nova | 13:52 | |
*** brinzhang0 has quit IRC | 13:55 | |
*** k_mouza has joined #openstack-nova | 13:59 | |
*** maciejjozefczyk has quit IRC | 14:03 | |
*** k_mouza has quit IRC | 14:03 | |
*** k_mouza has joined #openstack-nova | 14:04 | |
*** mlavalle has joined #openstack-nova | 14:04 | |
*** sapd1 has joined #openstack-nova | 14:12 | |
*** brinzhang_ has quit IRC | 14:13 | |
*** brinzhang_ has joined #openstack-nova | 14:14 | |
*** mriedem has joined #openstack-nova | 14:20 | |
*** brinzhang0 has joined #openstack-nova | 14:23 | |
*** brinzhang_ has quit IRC | 14:26 | |
*** lpetrut has quit IRC | 14:40 | |
*** dklyle has joined #openstack-nova | 14:41 | |
*** maciejjozefczyk has joined #openstack-nova | 14:46 | |
gmann | brinzhang0: let me know if you need help to introduce microverison in cyborg there are common code we can share from nova (copy for now but we should have it somewhere in common lib like oslo etc) | 14:52 |
*** brinzhang_ has joined #openstack-nova | 15:09 | |
*** brinzhang0 has quit IRC | 15:12 | |
openstackgerrit | Ghanshyam Mann proposed openstack/nova master: Add new default roles in volumes policies https://review.opendev.org/742777 | 15:12 |
gmann | stephenfin: thanks for all review on policy patches. ^^ updated one. rest nit i will fix if i need to re-spin let me know if anything you want me to fix in same commit. | 15:16 |
*** brinzhang_ has quit IRC | 15:19 | |
openstackgerrit | Ghanshyam Mann proposed openstack/nova master: Add scope and new default roles in extensions policies https://review.opendev.org/743046 | 15:22 |
*** maciejjozefczyk has quit IRC | 15:27 | |
*** links has quit IRC | 15:34 | |
stephenfin | gmann: ack | 15:35 |
*** udesale_ has quit IRC | 15:40 | |
kashyap | stephenfin: Now I know why you deferred that live migration options doc :D the sheer amount of scouring through the code to get the "web of relations" :D | 15:41 |
kashyap | More seriously, I've been looking through history and code reading to figure out WTH is going on | 15:42 |
kashyap | Either way, 'fun' | 15:42 |
openstackgerrit | Alexandre Arents proposed openstack/nova master: Rebase qcow2 images when unshelving an instance https://review.opendev.org/696084 | 15:43 |
stephenfin | kashyap: I assume that means you've left something somewhere that I should go read? :) | 15:43 |
kashyap | stephenfin: Not yet; just writing an additional comment, besides what I wrote yesterday | 15:44 |
kashyap | stephenfin: I might need a better phrasing of the existing one from the author. It took me a few careful readings to parse it :D | 15:44 |
stephenfin | Aha, gotcha | 15:45 |
stephenfin | Looking forward to it :) | 15:45 |
openstackgerrit | Stephen Finucane proposed openstack/nova master: Handle multiple 'vcpusched' elements during live migrate https://review.opendev.org/743568 | 15:45 |
stephenfin | artom: When you've a chance, could you sanity check that for me? | 15:46 |
stephenfin | I'll poke bauzas or lyarwood to review later | 15:47 |
artom | stephenfin, for sure | 15:47 |
stephenfin | ta | 15:48 |
artom | stephenfin, also, aren't you glad for those LOG.debug calls with the full XML dump? :) | 15:48 |
stephenfin | for sure | 15:49 |
stephenfin | logging ftw | 15:49 |
kashyap | stephenfin: Here, right now I don't have a better phrasing; you might say it's not even required, let's see -- https://review.opendev.org/#/c/741473/1/nova/conf/libvirt.py@261 | 15:50 |
openstackgerrit | Ghanshyam Mann proposed openstack/nova master: Pass the actual target in volumes policy https://review.opendev.org/742779 | 15:54 |
artom | stephenfin, seems sane, left a note | 15:57 |
*** noonedeadpunk has joined #openstack-nova | 16:00 | |
stephenfin | artom: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/config.py#L66-L67 | 16:00 |
stephenfin | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/config.py#L53-L59 | 16:00 |
stephenfin | the name is poor, admittedly | 16:00 |
*** k_mouza has quit IRC | 16:02 | |
*** mgariepy has quit IRC | 16:04 | |
*** xek_ has quit IRC | 16:06 | |
*** priteau has quit IRC | 16:08 | |
artom | stephenfin, doh :( A ctrl-] would not have been that hard, on my part | 16:14 |
sean-k-mooney | what does ctrl-] do | 16:15 |
sean-k-mooney | a find? | 16:15 |
sean-k-mooney | got do definition | 16:15 |
artom | Go to definition, in vim with ctags | 16:15 |
sean-k-mooney | ah ok | 16:15 |
artom | Admittedly, it sometimes messes up if there are multiple methods called the same thing | 16:16 |
openstackgerrit | Stephen Finucane proposed openstack/nova master: Track CPU scheduler policy during live migration https://review.opendev.org/743588 | 16:22 |
*** maciejjozefczyk has joined #openstack-nova | 16:22 | |
stephenfin | artom: follow-up there, if you're feeling generous | 16:22 |
*** k_mouza has joined #openstack-nova | 16:23 | |
artom | stephenfin, so... does it really make sense to do this, given we only support 1 policy now? | 16:25 |
stephenfin | Maybe. Maybe not. Given how trivial it is to do, I'd rather knock it off now than have to worry about it when we really do need it | 16:27 |
stephenfin | at that point we'd be down to needing service version checks, or whatever the new hotness is by then | 16:27 |
*** k_mouza has quit IRC | 16:28 | |
artom | stephenfin, so... this would be for a case where the scheduler is set on a per-host basis? | 16:29 |
artom | And we want to support live migration between different hosts/schedulers? | 16:29 |
artom | Wouldn't we do it as an image property/flavor extra spec? | 16:29 |
sean-k-mooney | stephenfin: given we dont support other schduler polcies and dont plan to intoduce that in the near term do we really need this cange | 16:30 |
stephenfin | if we did have different scheduler policies they'd likely be done via an image prop/extra spec, yes | 16:30 |
sean-k-mooney | stephenfin: right but we dont plan on allowing user to request that | 16:30 |
artom | stephenfin, so if it's set in the flavor, do we need this change? | 16:31 |
artom | As you can see, I'm having trouble being convinced :) | 16:31 |
*** k_mouza has joined #openstack-nova | 16:31 | |
sean-k-mooney | if it was in the flavor or image no | 16:31 |
sean-k-mooney | we woudl only need it if it was set by a host level config option | 16:31 |
artom | sean-k-mooney, yep, and I think you and I would be against such a thing | 16:32 |
stephenfin | artom: I'm confused. What would change? | 16:32 |
artom | Precisely because it would require stephenfin's patch :P | 16:32 |
*** dtantsur is now known as dtantsur|afk | 16:32 | |
artom | stephenfin, I'm saying - if the scheduler is set via flavor extra spec, we don't need to update it as part of the live migration XML update | 16:32 |
sean-k-mooney | stephenfin: i guess the issue is right now i dont think your change adds anything useful | 16:33 |
artom | Because the destination host should be able to accept the existing scheduler | 16:33 |
artom | (Presumably because we've scheduled to it because of a trait or something) | 16:33 |
sean-k-mooney | we have no plans to expose sched_scheduler to the user or operator as something that can be set in anyway | 16:33 |
stephenfin | artom: oh, perhaps the difference here is that I'm saying we shouldn't be _updating_ the XML elements | 16:33 |
stephenfin | we should be regenerating them based on authoritative sources that tell us what they should be set to | 16:34 |
stephenfin | I figured the value of doing this is to provide such an authoritative source for what the scheduler policy should be | 16:34 |
sean-k-mooney | stephenfin: this value will always be fifo if realtime is enabled | 16:34 |
sean-k-mooney | otherwise it will be unset | 16:34 |
sean-k-mooney | so we shoudl not need any addtion info in the migrate_data | 16:34 |
artom | And if we ever want to support something other than fifo, it won't change during a live migration | 16:34 |
stephenfin | right, at the moment that's the case | 16:35 |
artom | Only during a rebuild with a different image | 16:35 |
stephenfin | artom: okay, but if it doesn't change how do I get that information | 16:35 |
artom | stephenfin, you don't need to? Keep the existing one | 16:35 |
stephenfin | I'm not keeping the original elements though | 16:35 |
artom | Oh, *facepalm* | 16:35 |
artom | I get it now | 16:35 |
sean-k-mooney | stephenfin: if hw:cpu_realtime=true or hw_cpu_realtime=true its fifo] | 16:35 |
artom | You're clobbering first | 16:36 |
stephenfin | I'm throwing them away and recalculating them | 16:36 |
*** k_mouza has quit IRC | 16:36 | |
stephenfin | yessss | 16:36 |
artom | So... don't clobber them :) | 16:36 |
*** maciejjozefczyk has quit IRC | 16:36 | |
stephenfin | and parsing the existing XML feels gross | 16:36 |
artom | Or stash the stuff we know won't chang | 16:36 |
artom | *change | 16:36 |
stephenfin | that's what I thought I was doing | 16:36 |
stephenfin | stashing it in the migrate_data object | 16:36 |
openstackgerrit | Takashi Natsume proposed openstack/python-novaclient master: Add a cleanup for a server in a functional test https://review.opendev.org/743589 | 16:36 |
sean-k-mooney | stephenfin: you dont need to stash this | 16:36 |
stephenfin | i.e. providing an authoritative source | 16:36 |
artom | Isn't that overkill? | 16:37 |
sean-k-mooney | you can compute it form the flavor and image | 16:37 |
stephenfin | sean-k-mooney: Yes, that's exactly what I do | 16:37 |
stephenfin | on the source side | 16:37 |
stephenfin | then I stash it in the migrate data | 16:37 |
*** k_mouza has joined #openstack-nova | 16:37 | |
stephenfin | :) | 16:37 |
sean-k-mooney | by they would you do that | 16:37 |
sean-k-mooney | you can comptue it form the falvor and image anyhwere its needed | 16:37 |
artom | You're proposing we add a a field to an object that does, like, 42 transits over the wire, instead of parsing some XML in a single line? | 16:38 |
stephenfin | yes | 16:38 |
artom | OK :) | 16:38 |
artom | I disagree :) | 16:38 |
sean-k-mooney | me too | 16:38 |
stephenfin | I'm saying our flavor and image metadata code is authoritative and the only thing we can trust | 16:39 |
sean-k-mooney | also you dont need to parse | 16:39 |
*** tesseract has quit IRC | 16:39 | |
stephenfin | as evidenced by the fact this bug exists | 16:39 |
sean-k-mooney | what bug | 16:39 |
stephenfin | libvirt can do anything to our XML once we pass it off | 16:39 |
artom | stephenfin, true, but we can still have some expectations | 16:39 |
sean-k-mooney | oh we are generating <vcpusched vcpus="2-3" scheduler="fifo" priority="1"/> | 16:40 |
sean-k-mooney | <vcpusched vcpus="3" scheduler="fifo" priority="1"/> | 16:40 |
stephenfin | we should be trying to avoid introspecting that XML to try guess what was done previously | 16:40 |
stephenfin | sean-k-mooney: yup | 16:40 |
sean-k-mooney | ya you dont need to introspect the xml | 16:40 |
sean-k-mooney | or pass any data | 16:40 |
sean-k-mooney | you jst need to check the flavor and image extraspecs | 16:40 |
stephenfin | then I need to hardcode the policy | 16:40 |
sean-k-mooney | yes | 16:40 |
sean-k-mooney | its hardcoded today based on if you enable realtime | 16:40 |
artom | stephenfin, I mean, you're already "parsing" the XML when you're removing the existing vcpusched elements | 16:41 |
artom | Use that to stash the scheduler | 16:41 |
*** maciejjozefczyk has joined #openstack-nova | 16:41 | |
stephenfin | sean-k-mooney: right, in a function that's miles away | 16:41 |
artom | sean-k-mooney, I don't think we have the flavor/image in libvirt/migration.py, there would be plumbing required | 16:41 |
sean-k-mooney | we do | 16:41 |
sean-k-mooney | if we have the instance we have the flavor and image | 16:42 |
*** k_mouza has quit IRC | 16:42 | |
stephenfin | artom: I'm not parsing it though. I'm finding it and totally replacing it with my own freshly baked XML | 16:42 |
sean-k-mooney | stephenfin: if you plan to backprot this bug fix | 16:42 |
sean-k-mooney | you can change the object | 16:42 |
artom | sean-k-mooney, I don't think we have the instance either | 16:42 |
sean-k-mooney | i think we woudl want to backport it to train | 16:42 |
stephenfin | sean-k-mooney: that's why it's a separate change :) | 16:42 |
*** k_mouza has joined #openstack-nova | 16:42 | |
sean-k-mooney | so form my point of vew we cant add the new fiedl | 16:42 |
artom | stephenfin, agree to disagree I guess? We're obviously doing a poor job of convincing the other :P | 16:43 |
*** vinay_m has joined #openstack-nova | 16:43 | |
stephenfin | I've hardcoded it for expediency, but I think it's a bad idea to be doing that | 16:43 |
artom | Whoever the cores are that review that can make the call | 16:43 |
sean-k-mooney | stephenfin: why im asserting we actvly never want to make the schduler policy configurable | 16:43 |
stephenfin | artom: it would appear so. Guess I best go request cookies be sent to gibi in advance of his return ;) | 16:43 |
sean-k-mooney | its not a case of we dont expose this to day and might want to in the futre it we dont support it today and dont want to in the future | 16:44 |
artom | stephenfin, lemme try another angle. If we push your logic, we end up regenerating the *whole* XML upon live migration, including potentially shuffling PCI addresses | 16:45 |
*** ociuhandu has quit IRC | 16:45 | |
sean-k-mooney | well we cant do that | 16:45 |
artom | sean-k-mooney, my point exactly :) | 16:45 |
artom | So we have to admit that *some* of the existing XML is authoritative in a live migraiton | 16:45 |
sean-k-mooney | regenrating all the xml is out of the question for a live migration | 16:45 |
artom | So why not the realtim scheduler? | 16:46 |
sean-k-mooney | regenreat the cputune element is a differnt matter | 16:46 |
*** hamalq has joined #openstack-nova | 16:46 | |
artom | (Btw, Real Tim is my MC name) | 16:46 |
stephenfin | We can't do it yet | 16:47 |
stephenfin | If we properly tracked everything, we could totally do that | 16:47 |
stephenfin | which would require adding more stuff to migrate data | 16:47 |
stephenfin | like I'm doing here | 16:47 |
*** k_mouza has quit IRC | 16:47 | |
sean-k-mooney | yes but i dont think we should do that | 16:47 |
sean-k-mooney | this is not something that should be change in a bug | 16:48 |
*** mlavalle has quit IRC | 16:48 | |
sean-k-mooney | its a deeper desigin choice that need to be consierded carfully | 16:48 |
stephenfin | I'm not proposing that. Just saying it's something we should aspire to | 16:48 |
artom | stephenfin, so we're back to the whole "Is XML canonical" debate? | 16:49 |
*** vinay_m has quit IRC | 16:49 | |
stephenfin | and that this is a tiny step in that direction that we'd do well to take, IMO of course | 16:49 |
sean-k-mooney | artom: well its not and i dont think it should be | 16:49 |
*** mlavalle has joined #openstack-nova | 16:49 | |
stephenfin | artom: yes, but we've just made a brief stop on our way somewhere else | 16:50 |
artom | stephenfin, so I think that's part of the issue - we first need to decide whether that's a direction we'd *all* like to take :) | 16:50 |
sean-k-mooney | stephenfin: technically its a step a way form it since you are not modifying it and regenrating it | 16:50 |
stephenfin | sean-k-mooney: how so? | 16:50 |
sean-k-mooney | making the xml canonical mean not regenerating it ever | 16:50 |
artom | OK, the new angle has clearly not worked :) | 16:50 |
sean-k-mooney | so that modifcatin done out of band are preserved | 16:50 |
artom | I'll register my disagreement on the patch, then leave it up to the powers that be, and go feed myself and the kiddos | 16:51 |
sean-k-mooney | so regenreating the entire xml form info passed back is the opisce of makeing the xml cannonical | 16:51 |
stephenfin | sean-k-mooney: oh, gotcha. Yeah, I'm on the "nova is authoritative" side of the fence | 16:51 |
sean-k-mooney | same | 16:51 |
sean-k-mooney | which is why i would be totally happy to always regenerate the xml form nova datastuctures | 16:52 |
sean-k-mooney | kind of like the migrate data but im asserting you already have the info you need with out having to pass it | 16:52 |
*** k_mouza has joined #openstack-nova | 16:52 | |
sean-k-mooney | not that the approch is wrong | 16:52 |
stephenfin | it really sounds like you're advocating for the same position as me | 16:52 |
stephenfin | ah | 16:52 |
sean-k-mooney | jsut that you should not have two places to get the info | 16:52 |
sean-k-mooney | the falvor/image and the migrate data object | 16:53 |
stephenfin | so I'm for it, artom is against it, and sean-k-mooney is kind of for it but not the way I've done it | 16:53 |
stephenfin | lovely :) | 16:53 |
sean-k-mooney | well 3 enginerrs your normally expect at least 4 oppinions | 16:53 |
artom | stephenfin, if we end up doing a push towards "Nova is authoritative, XML can suck it" I wont' stand in anyone's way | 16:53 |
sean-k-mooney | 3 is light :P | 16:53 |
artom | stephenfin, I just think in the current context it's premature | 16:54 |
sean-k-mooney | artom: that is the status quoe today | 16:54 |
sean-k-mooney | so the null hypotous is that nova is authritavive and xml is not | 16:54 |
artom | sean-k-mooney, well, except when it isn't? Like live-migration? :) | 16:54 |
artom | In practice, I mean | 16:54 |
stephenfin | Okay, I figured I had the information to hand when generating the migration data object, so it made sense to slot it in there, even if I could technically generate it on the other end | 16:54 |
sean-k-mooney | nova is still athuritive | 16:54 |
sean-k-mooney | if you ever modify the xml then the vm is not supproted anymore | 16:55 |
artom | sean-k-mooney, I guess? Is it really though, if it's using the existing XML to pull info? | 16:55 |
sean-k-mooney | nova created the exsting xml | 16:55 |
artom | Heh, true | 16:55 |
sean-k-mooney | and nothing outside of nova is allowed to modify it | 16:55 |
artom | Turtles all the way down! | 16:55 |
sean-k-mooney | well bar libvirt | 16:55 |
stephenfin | artom: As before. Maybe. Maybe not. It seemed fairly trivial, consistent and would always be correct, even it was slightly overengineered | 16:55 |
artom | stephenfin, all true. My beef is about the last part. | 16:56 |
sean-k-mooney | ok so https://review.opendev.org/#/c/743568/1 is artoms backportable change | 16:56 |
stephenfin | Yup, got that now | 16:56 |
sean-k-mooney | and https://review.opendev.org/#/c/743588/1 is your cleanup | 16:56 |
stephenfin | sean-k-mooney: nah, that's me too | 16:56 |
stephenfin | Add a TODO, resolve TODO in follow-up | 16:57 |
sean-k-mooney | ok well the first is intended to be backported and then a master only followup | 16:57 |
*** k_mouza has quit IRC | 16:57 | |
stephenfin | yup | 16:57 |
stephenfin | that's the overengineered idea, anyway | 16:57 |
stephenfin | :) | 16:57 |
sean-k-mooney | how did we end up with 2 elements | 16:58 |
stephenfin | read the bug report | 16:58 |
stephenfin | libvirt does it | 16:58 |
sean-k-mooney | really because it looks like we shoudl be updating the xml to only have one right | 16:59 |
sean-k-mooney | with the orginal code | 16:59 |
stephenfin | nope, we just update the first one we find | 16:59 |
stephenfin | not expecting there to be more | 16:59 |
sean-k-mooney | oh libvirt splits them | 16:59 |
sean-k-mooney | so <vcpusched vcpus="2-3" scheduler="fifo" priority="1"/> | 17:00 |
*** derekh has quit IRC | 17:00 | |
sean-k-mooney | becomes <vcpusched vcpus="2" scheduler="fifo" priority="1"/> | 17:00 |
sean-k-mooney | <vcpusched vcpus="3" scheduler="fifo" priority="1"/> | 17:00 |
sean-k-mooney | then we update the first one | 17:00 |
stephenfin | yup | 17:00 |
sean-k-mooney | then why can we not delete the vcpushed element and just not add the new one | 17:01 |
stephenfin | that's precisely what I'm doing | 17:01 |
*** maciejjozefczyk has quit IRC | 17:01 | |
sean-k-mooney | oh that is what your doing | 17:02 |
sean-k-mooney | in https://review.opendev.org/#/c/743568/1/nova/virt/libvirt/migration.py | 17:02 |
stephenfin | yuuup | 17:02 |
stephenfin | loads of context in the bug report and commit message itself, and it's pretty trivial to reproduce | 17:02 |
stephenfin | and with that, I'm out | 17:02 |
stephenfin | o/ | 17:02 |
sean-k-mooney | so i would just read the policy form the element before we remove it | 17:03 |
sean-k-mooney | here https://review.opendev.org/#/c/743568/1/nova/virt/libvirt/migration.py@130 | 17:03 |
sean-k-mooney | we can even assert that its the same for all element if we want | 17:03 |
stephenfin | <stephenfin> we should be trying to avoid introspecting that XML to try guess what was done previously | 17:03 |
sean-k-mooney | well yes which is why i said we shoulc caluated it form the flaovr/image | 17:04 |
sean-k-mooney | but if you dont want to do that and dont want to hardcode tehn introscpect is the only other option | 17:04 |
*** k_mouza has joined #openstack-nova | 17:05 | |
sean-k-mooney | wait | 17:05 |
sean-k-mooney | the check is "if 'sched_vcpus' and 'sched_priority' in info:" | 17:05 |
sean-k-mooney | what is info['sched_priority'] | 17:06 |
sean-k-mooney | its the dest numa toplogy object | 17:06 |
sean-k-mooney | which is calulated form the flavor and image | 17:06 |
sean-k-mooney | oh but that does not have the schulder right | 17:06 |
sean-k-mooney | just the priority | 17:07 |
*** k_mouza has quit IRC | 17:09 | |
sean-k-mooney | actully no info is this https://github.com/openstack/nova/blob/master/nova/objects/migrate_data.py#L113-L130 | 17:09 |
*** awalender has quit IRC | 17:10 | |
*** k_mouza has joined #openstack-nova | 17:11 | |
*** mgariepy has joined #openstack-nova | 17:14 | |
*** k_mouza has quit IRC | 17:16 | |
sean-k-mooney | stephenfin: so looking at the code you would have to pass the flavor/image down two function calls form | 17:20 |
sean-k-mooney | https://opendev.org/openstack/nova/src/branch/master/nova/virt/libvirt/driver.py#L8939 | 17:20 |
sean-k-mooney | or you could pass the instance object | 17:20 |
sean-k-mooney | i would proably pass the instance | 17:20 |
sean-k-mooney | stephenfin: im +1 on the first patch and -0.5 on the second | 17:21 |
sean-k-mooney | i think changing 2 internal function calls and caluating it form the flavor/image is cleaner then changing the objects | 17:22 |
*** k_mouza has joined #openstack-nova | 17:28 | |
*** k_mouza has quit IRC | 17:32 | |
*** nightmare_unreal has quit IRC | 17:33 | |
*** k_mouza has joined #openstack-nova | 17:36 | |
*** k_mouza has quit IRC | 17:41 | |
*** redrobot has quit IRC | 17:41 | |
*** sapd1 has quit IRC | 17:42 | |
*** k_mouza has joined #openstack-nova | 17:45 | |
*** k_mouza has quit IRC | 17:49 | |
*** ralonsoh has quit IRC | 17:49 | |
*** ociuhandu has joined #openstack-nova | 17:54 | |
*** k_mouza has joined #openstack-nova | 17:54 | |
*** ociuhandu has quit IRC | 17:58 | |
*** k_mouza has quit IRC | 17:59 | |
*** k_mouza has joined #openstack-nova | 18:12 | |
*** k_mouza has quit IRC | 18:16 | |
*** k_mouza has joined #openstack-nova | 18:20 | |
*** k_mouza has quit IRC | 18:24 | |
*** tbachman has joined #openstack-nova | 18:27 | |
*** jamesden_ has joined #openstack-nova | 18:27 | |
*** k_mouza has joined #openstack-nova | 18:30 | |
*** jamesdenton has quit IRC | 18:30 | |
*** k_mouza has quit IRC | 18:39 | |
lyarwood | stephenfin / artom ; https://review.opendev.org/#/q/topic:bug/1889108 updated btw if you have time this evening | 18:49 |
*** xek_ has joined #openstack-nova | 18:51 | |
artom | lyarwood, left a comment on one of them. Not sure it's -1 worthy | 18:55 |
lyarwood | artom: well the issue itself isn't tied to any microversion but pinning on anything later than stable/queens and 2.60 just introduces pointless churn in the backports | 18:57 |
artom | lyarwood, so we could just remove the microversion= line altogether? | 18:58 |
lyarwood | artom: wouldn't it pin to latest then introducing churn in the backports? | 18:58 |
artom | How so? | 18:59 |
* lyarwood was sure we default to latest somewhere | 18:59 | |
* lyarwood checks | 18:59 | |
artom | I honestly don't know, but if we do, 'latest' for queens isn't 'latest' for master... | 18:59 |
lyarwood | microversion = None | 18:59 |
lyarwood | fun | 19:00 |
artom | lyarwood, so I went looking to remember how I did func tests for NUMA live migration | 19:01 |
artom | Which I've proposed as a U backport | 19:01 |
artom | https://opendev.org/openstack/nova/src/branch/master/nova/tests/functional/libvirt/test_numa_live_migration.py#L41 appears to run just fine in U | 19:02 |
artom | And then https://opendev.org/openstack/nova/src/branch/master/nova/tests/functional/libvirt/test_numa_live_migration.py#L387 is the "functional" reason I'm talking about it - ie, there's a need for something a specific microversion provides | 19:02 |
artom | So I would suspect 'latest' will be fine all the way down to queens | 19:03 |
lyarwood | artom: so microversion = None actually means the oldest? | 19:03 |
artom | I guess? | 19:03 |
*** bbowen has quit IRC | 19:04 | |
*** bbowen has joined #openstack-nova | 19:04 | |
lyarwood | artom: urgh this sucks | 19:07 |
artom | How so? | 19:07 |
lyarwood | artom: leaving it set to None breaks my use of loads of the helper methods from _IntegratedTestBase | 19:07 |
lyarwood | artom: _live_migrate etc | 19:07 |
sean-k-mooney | latest will break some tests | 19:08 |
lyarwood | feels weird writing functional tests against a version of the API we don't even support anymore tbh | 19:08 |
artom | lyarwood, how does it break them? | 19:08 |
sean-k-mooney | although those proably would be the ones testing older microverions | 19:08 |
lyarwood | right so I've picked the max version in stable/queens | 19:08 |
artom | lyarwood, my point is that microversio = 'latest' works just fine in queens | 19:08 |
sean-k-mooney | artom: what that technically means is use the latest version the nova client know about | 19:09 |
sean-k-mooney | not the latest version the api know about | 19:09 |
artom | sean-k-mooney, in func tests, so no novaclient, but yeah | 19:09 |
lyarwood | artom: latest in queens != latest in master | 19:09 |
artom | lyarwood, yep, so? | 19:09 |
artom | I fail to see the problem :) | 19:09 |
sean-k-mooney | lyarwood: artom means actully use "latest" not fine the latest microverion and use that number | 19:10 |
artom | Right, that | 19:10 |
sean-k-mooney | artom: does the "latest" string actully work in the api | 19:10 |
sean-k-mooney | i tought it was just in the client code | 19:10 |
* lyarwood tilts head | 19:10 | |
artom | sean-k-mooney, https://opendev.org/openstack/nova/src/branch/master/nova/tests/functional/libvirt/test_numa_live_migration.py#L41 | 19:10 |
lyarwood | I'm writing this against master at the moment | 19:10 |
sean-k-mooney | cool so ya | 19:11 |
lyarwood | and I want to write it once and not have to update it with each backport as latest changes | 19:11 |
sean-k-mooney | microversion = 'latest' will be the latest version for any given release if you packport | 19:11 |
lyarwood | yeah but that's going to drop support for various things along the way meaning I'll need to constantly update the func test as I backport | 19:11 |
lyarwood | like the create args change loads between master and queens | 19:12 |
gmann | yes, 'latest' keyword is supported in API too | 19:12 |
lyarwood | networks for example | 19:12 |
sean-k-mooney | well you will have to do that anyway right | 19:12 |
gmann | it is api_version.max_api_version() | 19:12 |
lyarwood | not if I just picked the latest in queens when landing it in master | 19:12 |
artom | lyarwood, yeah, if you write your logic against APIs that only exist in U and up... | 19:12 |
artom | But I didn't see anything like that that jumped out | 19:12 |
sean-k-mooney | lyarwood: you could do that but you proably should also have a test for master then no? | 19:13 |
sean-k-mooney | what were you trying to test by the way | 19:13 |
lyarwood | nothing microversion specific | 19:13 |
lyarwood | this is just to keep the setup code sane | 19:14 |
lyarwood | and stop chrun in the backports | 19:14 |
sean-k-mooney | then use 2.1 if you want | 19:14 |
lyarwood | then I'm writing tests against a version of the API we don't even support anymore | 19:14 |
sean-k-mooney | we do support it because of microversion but my point was more dont set a microverison and only popluate the minium filed in the create request you need | 19:15 |
lyarwood | right sorry I mean with microversion = None | 19:15 |
sean-k-mooney | we teachnicaly have to support very micoversion untill we go to nova v4 | 19:15 |
lyarwood | yeah true | 19:16 |
sean-k-mooney | microversion = None is the same as 2.1 | 19:16 |
sean-k-mooney | i think | 19:16 |
gmann | functional tests are with 'latest' by default i think doing with 'latest' make sense | 19:16 |
lyarwood | gmann: it's set to None in _IntegratedTestBase | 19:16 |
sean-k-mooney | gmann: that is how i have always written them unless i was testing a feature | 19:16 |
artom | gmann, I think they're none, if I have the right code in front of me: https://opendev.org/openstack/nova/src/branch/master/nova/tests/functional/api/client.py#L135 | 19:17 |
sean-k-mooney | in which case i might use the microverion it was added in | 19:17 |
* lyarwood sets it to latest and moves on | 19:17 | |
sean-k-mooney | lyarwood: is _IntegratedTestBase the new base of the functional test or the old one that we should not use anymore | 19:18 |
sean-k-mooney | there are a few baseclasses we can use in the funcational tests | 19:18 |
lyarwood | sean-k-mooney: the former I think, stephenfin is talking about replacing ProviderUsageBaseTestCase with it | 19:18 |
sean-k-mooney | waith isnte ProviderUsageBaseTestCase the thing we were ment to be moving too | 19:18 |
lyarwood | https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L1062-L1063 | 19:18 |
gmann | ah right, it is in ProviderUsageBaseTestCase not base and many tests side too | 19:22 |
sean-k-mooney | oh sorry _IntegratedTestBase is not the one with the weird implematnion of _wait_for_server_allocations | 19:22 |
artom | sean-k-mooney, that got fixed a while ago | 19:22 |
artom | stephenfin unified all the things | 19:22 |
sean-k-mooney | ya i rememebr | 19:22 |
sean-k-mooney | i just was not sure if we still had some remnetes | 19:23 |
openstackgerrit | Lee Yarwood proposed openstack/nova master: func: Add live migration rollback volume attachment tests https://review.opendev.org/743534 | 19:23 |
openstackgerrit | Lee Yarwood proposed openstack/nova master: Add regression tests for bug #1889108 https://review.opendev.org/743289 | 19:23 |
openstack | bug 1889108 in OpenStack Compute (nova) "failures during driver.pre_live_migration remove source attachments during rollback" [High,In progress] https://launchpad.net/bugs/1889108 - Assigned to Lee Yarwood (lyarwood) | 19:23 |
openstackgerrit | Lee Yarwood proposed openstack/nova master: compute: Don't delete the original attachment during pre LM rollback https://review.opendev.org/743319 | 19:23 |
openstackgerrit | Lee Yarwood proposed openstack/nova master: func: Add CinderFixture to _IntegratedTestBase https://review.opendev.org/743535 | 19:23 |
sean-k-mooney | what is confution me is that _IntegratedTestBase has a preceding underscore | 19:23 |
sean-k-mooney | and i tought we were not ment to be using it directly anymore | 19:24 |
sean-k-mooney | ane moving to the public base class | 19:24 |
sean-k-mooney | oh that todo was added 2 weeks ago https://github.com/openstack/nova/commit/c60f90cb2f8e2a30ffee5abeebd78f9eee3c6b25 | 19:25 |
*** tosky has quit IRC | 19:25 | |
sean-k-mooney | so ya one of the main deltas right now is microversion = None in _IntegratedTestBase and microversion = 'latest' in ProviderUsageBaseTestCase | 19:26 |
sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L978 vs https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L1075 | 19:27 |
gmann | both are used in same amount so it is like half of functional tests run with 'None' and half with 'latest' | 19:29 |
sean-k-mooney | many other set it expcitly | 19:30 |
sean-k-mooney | or dont use either | 19:31 |
sean-k-mooney | the last regression i wrote did not use either of the base classes since the kept getting rewritten | 19:31 |
sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/tests/functional/regressions/test_bug_1835822.py#L22-L23 | 19:31 |
gmann | running with 'latest' can give better coverage of latest code set and capture if something effecting functionality in latest (as new version on top of old one)code path | 19:31 |
sean-k-mooney | i think latest is generally more corerct unless you are testing older version explcitly | 19:32 |
sean-k-mooney | or testing something that is not version related | 19:32 |
sean-k-mooney | in which can none and latest are qually valid | 19:33 |
sean-k-mooney | if you use none it wont catch if a new cahnge alters the behavior | 19:33 |
sean-k-mooney | well it will if you alter it without actounting for microverison i guess | 19:33 |
gmann | correct. | 19:34 |
*** vishalmanchanda has quit IRC | 20:41 | |
openstackgerrit | Merged openstack/python-novaclient master: Add a cleanup for a server in a functional test https://review.opendev.org/743589 | 20:52 |
*** evrardjp has joined #openstack-nova | 20:55 | |
*** gyee has joined #openstack-nova | 21:02 | |
*** raildo has quit IRC | 21:23 | |
*** slaweq has quit IRC | 21:34 | |
*** jsuchome has quit IRC | 21:40 | |
*** mriedem has left #openstack-nova | 21:41 | |
*** redrobot has joined #openstack-nova | 21:43 | |
*** xek_ has quit IRC | 22:03 | |
*** rcernin has joined #openstack-nova | 22:09 | |
*** aj_mailing has joined #openstack-nova | 22:11 | |
*** aj_mailing has quit IRC | 22:14 | |
*** rcernin has quit IRC | 22:22 | |
*** rcernin has joined #openstack-nova | 22:37 | |
*** ircuser-1 has quit IRC | 22:48 | |
*** rcernin has quit IRC | 22:50 | |
*** rcernin has joined #openstack-nova | 22:50 | |
*** tkajinam has joined #openstack-nova | 22:52 | |
*** mlavalle has quit IRC | 23:01 | |
*** ircuser-1 has joined #openstack-nova | 23:05 | |
*** zer0c00l has joined #openstack-nova | 23:10 | |
*** brinzhang has joined #openstack-nova | 23:46 | |
brinzhang | gmann: we already introduced microversion in Ussuri, this is the patch https://review.opendev.org/#/c/696860/ | 23:47 |
brinzhang | gmann: I know this is still very simple and needs further optimization. If you have better suggestions, we are looking forward to it | 23:48 |
*** hamalq has quit IRC | 23:48 | |
brinzhang | gmann: you are an expert in api, you can do the api change in cyborg too, and we will be very happy to see you improve this ^ | 23:52 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!