Wednesday, 2024-11-27

*** ralonsoh_ is now known as ralonsoh10:07
opendevreviewNisha Brahmankar proposed openstack/nova master: Retain port binding profile after live migration  https://review.opendev.org/c/openstack/nova/+/93633810:14
opendevreviewNisha Brahmankar proposed openstack/nova master: Retain port binding profile after live migration  https://review.opendev.org/c/openstack/nova/+/93633810:26
opendevreviewIvan Tkachuk proposed openstack/nova master: Reduce calls to qemu-img for disk_info  https://review.opendev.org/c/openstack/nova/+/93624611:21
dviroelhi there nova folks. I would like to request reviews on this nova spec: https://review.opendev.org/c/openstack/nova-specs/+/93614012:52
dviroeljust wondering if I should add it to https://etherpad.opendev.org/p/nova-2025.1-status ? under Blueprint needs approval ?12:53
bauzasdviroel: sure, add it in the etherpad13:02
dviroelty13:04
opendevreviewStephen Finucane proposed openstack/nova master: docs: Add contributor docs for response body validation  https://review.opendev.org/c/openstack/nova/+/92459713:28
opendevreviewStephen Finucane proposed openstack/nova master: tests: Ensure all APIs have a response body schema  https://review.opendev.org/c/openstack/nova/+/92459813:28
opendevreviewStephen Finucane proposed openstack/nova master: api: Remove use of microversion constants  https://review.opendev.org/c/openstack/nova/+/93636213:28
opendevreviewStephen Finucane proposed openstack/nova master: api: Allow min/max_version arguments to expected_errors  https://review.opendev.org/c/openstack/nova/+/93636313:28
opendevreviewStephen Finucane proposed openstack/nova master: api: Allow min/max_version arguments to response  https://review.opendev.org/c/openstack/nova/+/93636413:28
opendevreviewStephen Finucane proposed openstack/nova master: api: Adjust validation helpers for a single-method future  https://review.opendev.org/c/openstack/nova/+/93636513:28
opendevreviewStephen Finucane proposed openstack/nova master: api: Stop using wsgi.Controller.api_version to switch between API versions  https://review.opendev.org/c/openstack/nova/+/93636613:28
opendevreviewStephen Finucane proposed openstack/nova master: api: Add new, simpler api_version decorator  https://review.opendev.org/c/openstack/nova/+/93636713:28
opendevreviewStephen Finucane proposed openstack/nova master: api: Only run format checks on strings  https://review.opendev.org/c/openstack/nova/+/93636813:28
opendevreviewStephen Finucane proposed openstack/nova master: api: Simplify parameter types  https://review.opendev.org/c/openstack/nova/+/93636913:28
*** iurygregory_ is now known as iurygregory13:31
s3rj1kJFYI: I don't see any mentions about adding specs to etherpad in https://docs.opendev.org/opendev/infra-manual/latest/developers.html#working-on-specifications-and-blueprints13:38
opendevreviewribaudr proposed openstack/nova master: Add share_info parameter to reboot method for each driver (driver part)  https://review.opendev.org/c/openstack/nova/+/85482313:41
opendevreviewribaudr proposed openstack/nova master: Support rebooting an instance with shares (compute manager part)  https://review.opendev.org/c/openstack/nova/+/85482413:41
opendevreviewribaudr proposed openstack/nova master: Add share_info parameter to resume method for each driver (driver part)  https://review.opendev.org/c/openstack/nova/+/86028413:41
opendevreviewribaudr proposed openstack/nova master: Support resuming an instance with shares (compute manager part)  https://review.opendev.org/c/openstack/nova/+/86028513:41
opendevreviewribaudr proposed openstack/nova master: Add helper methods to rescue/unrescue shares  https://review.opendev.org/c/openstack/nova/+/86028613:41
opendevreviewribaudr proposed openstack/nova master: Support rescuing an instance with shares  https://review.opendev.org/c/openstack/nova/+/86028713:41
opendevreviewribaudr proposed openstack/nova master: Allow to mount manila share using Cephfs protocol  https://review.opendev.org/c/openstack/nova/+/88386213:41
opendevreviewribaudr proposed openstack/nova master: Check shares support (compute manager)  https://review.opendev.org/c/openstack/nova/+/88575113:41
opendevreviewribaudr proposed openstack/nova master: Attach Manila shares via virtiofs (API)  https://review.opendev.org/c/openstack/nova/+/83683013:41
opendevreviewribaudr proposed openstack/nova master: Add helper methods to attach/detach shares  https://review.opendev.org/c/openstack/nova/+/88575313:41
opendevreviewribaudr proposed openstack/nova master: Add instance.share_attach notification  https://review.opendev.org/c/openstack/nova/+/85050113:41
opendevreviewribaudr proposed openstack/nova master: Add instance.share_detach notification  https://review.opendev.org/c/openstack/nova/+/85102813:41
opendevreviewribaudr proposed openstack/nova master: Add shares to InstancePayload  https://review.opendev.org/c/openstack/nova/+/85102913:41
opendevreviewribaudr proposed openstack/nova master: Add instance.share_attach_error notification  https://review.opendev.org/c/openstack/nova/+/86028213:41
opendevreviewribaudr proposed openstack/nova master: Add instance.share_detach_error notification  https://review.opendev.org/c/openstack/nova/+/86028313:42
opendevreviewribaudr proposed openstack/nova master: Reports instance events to the DB regarding attaching and detaching a share  https://review.opendev.org/c/openstack/nova/+/92708813:42
opendevreviewribaudr proposed openstack/nova master: Add libvirt test to ensure metadata are working.  https://review.opendev.org/c/openstack/nova/+/85208613:42
opendevreviewribaudr proposed openstack/nova master: Add virt/libvirt error test cases  https://review.opendev.org/c/openstack/nova/+/85208713:42
opendevreviewribaudr proposed openstack/nova master: Manila shares admin guide documentation  https://review.opendev.org/c/openstack/nova/+/87164213:42
opendevreviewribaudr proposed openstack/nova master: Refactor test_server_shares: Mock in Base Class and trait verification  https://review.opendev.org/c/openstack/nova/+/93586113:42
sean-k-mooneys3rj1k: thats because bauzas  has an ar to udate the doc :) its not a requirement its just an extra way to highlight things that are avialable to review13:44
sean-k-mooneys3rj1k: ildikov filed a but to crrect the docs gap recently13:45
sean-k-mooneys3rj1k: the etherpad was added 2 releases ago, before that we used review priorities13:45
s3rj1kand there is still an extra step of making stub blueprint13:46
sean-k-mooneythat is docuemented13:46
sean-k-mooneyall spec need a bluepirnt13:46
sean-k-mooneythat in the sepc template too13:46
sean-k-mooneyhttps://bugs.launchpad.net/nova/+bug/2089325 is the bug13:46
ildikov+1, I was just about to throw in the bug report link :)13:47
s3rj1kyea, I mean that there is blueprint for tracking state of spec and there is also etherpad13:47
sean-k-mooneythe etherpad is purly to help publisise and priories reviews13:48
sean-k-mooneyit is not require at all for our process13:48
ildikovI interpreted the etherpad process as a lightweight project management tool that helps the core team to keep track of things that are ongoing13:48
sean-k-mooneyyep13:49
sean-k-mooneysomethime things can get "lost" in gerrit or lanchpad13:49
s3rj1kimo, I see this as not so optimal, but ok, if that works13:50
sean-k-mooneyits manily working aroudn some limistaion in launchpads and gerrit ui13:50
sean-k-mooneyto be clear i almost exclisilvy ignor the etherpad13:50
sean-k-mooneyi do look at it form time to time but i look at gerrit much more frequently directly13:51
sean-k-mooneyi try to take a look at the ether pad once a week however but dont always fidn time too13:51
s3rj1kcould been just automated away based on data from gerrit and launchpad)13:52
sean-k-mooneyno the peopel that whated it wanted it to be human qurated13:52
sean-k-mooney*curated13:52
sean-k-mooneyif we did an automated sync we woudl be back to the noise problem13:52
sean-k-mooneys3rj1k: i get that process can be furstrating, especially if its not clear why or how it works13:55
s3rj1kit just adds extra layer of bureaucracy and this will impact adoption for new community members13:56
sean-k-mooneys3rj1k: how so. currently its not required at all13:57
s3rj1kI have a gut feeling about this, I guess in time we will see13:58
sean-k-mooneyits actully there to allow people to engages async and to ask for reviews13:58
sean-k-mooneyso its intended to help continutors13:58
sean-k-mooneyi.e. so that they dont have to be on irc to ask for reviews13:59
sean-k-mooneywhen they are not gettign feedback in gerrit13:59
sean-k-mooneygerrit, irc and the mailing list are the 3 primary engagment points for contibutors with launch pad (bugs) for users13:59
s3rj1kthere is still RFE step that is semi-supported14:00
sean-k-mooneys3rj1k: im not discounting your feedback im wonderign howe to improvie it (beyond updating the docs)14:00
sean-k-mooneyso nova does not use RFE bugs14:01
sean-k-mooneythat a neutron specific thing14:01
sean-k-mooneywe have experiemtned with adding it but its not part of our process 14:01
s3rj1kyea, but how to propose a draft for a feature to talk about? rfe seems perfect for this14:01
sean-k-mooneymost openstack teams dont sue RFE bugs, neutron use it because you cant realy have discussion in bluepirnts due to the ui14:01
s3rj1kit's not like rfe is a call to action for core devs) just a place to put text and talk in comments14:02
sean-k-mooneyright but lanuchpad is not where we have those dicussions in general14:02
s3rj1kmailing lists?14:03
sean-k-mooneygerrit, irc or the mailing list is outside fo the ptg14:03
sean-k-mooneyso normally unless its a triival feature we would expect to have design discussion in a spec review14:03
sean-k-mooneythe actul workflow is ment to be, if you have a feature request bring it up on the mailing list or in the irc meeting14:04
sean-k-mooneythen based on the inital feedback file a spec or blueprint for it14:04
sean-k-mooneyspecless blueprings are used for very small features that done require an actual spec but most feature will need a spec14:05
*** iurygregory_ is now known as iurygregory14:42
opendevreviewStephen Finucane proposed openstack/nova master: api: Simplify parameter types  https://review.opendev.org/c/openstack/nova/+/93636915:46
opendevreviewStephen Finucane proposed openstack/nova master: tests: Ensure all APIs have a response body schema  https://review.opendev.org/c/openstack/nova/+/92459815:46
opendevreviewSerhii Ivanov proposed openstack/nova-specs master: [SPEC] `Add Distributed Locking for Host Discovery`.  https://review.opendev.org/c/openstack/nova-specs/+/93638916:30
opendevreviewTakashi Kajinami proposed openstack/nova master: Fix missing oslo.policy options  https://review.opendev.org/c/openstack/nova/+/93639216:37
opendevreviewTakashi Kajinami proposed openstack/nova master: Fix missing oslo.policy options  https://review.opendev.org/c/openstack/nova/+/93639216:48
opendevreviewSerhii Ivanov proposed openstack/nova-specs master: [SPEC] `Add Distributed Locking for Host Discovery`.  https://review.opendev.org/c/openstack/nova-specs/+/93638916:53
yosefHi, in case of complete data loss of openstack database for example in 1 day, is there any way to restore to db, VMs created in this one day?17:01
sean-k-mooneyyosef: not really. you could try and manually creat the records but there is no tooling to enable that17:37
opendevreviewMerged openstack/nova master: [codespell] Fixes for latest version  https://review.opendev.org/c/openstack/nova/+/92373818:15
opendevreviewMerged openstack/nova master: pre-commit: Bump versions  https://review.opendev.org/c/openstack/nova/+/92373918:15
s3rj1ksean-k-mooney: Can you take a quick look on that Spec CR? https://review.opendev.org/c/openstack/nova-specs/+/93638919:00
s3rj1kI've put also some of the alternatives that you've mentioned in there19:00
sean-k-mooneysure 19:01
s3rj1kthanks19:01
sean-k-mooneyim not convicd you primay propsol is what we shoudl do 19:01
sean-k-mooneybtu we can discuss it on the spec19:01
s3rj1kat least I hope to have this finalized in any way) best to have this solved rather than ignoring the issue19:02
s3rj1kso any way works as long as we go forward :)19:02
sean-k-mooneywell right now you want to add a distribute lock manager and annoter usage of tooz19:02
sean-k-mooneywhere as we ahve dicussed how to remove tooz form teh code base 19:02
sean-k-mooneyat least twice in the last year or two19:03
s3rj1kjust like in original rfe, tooz was there yes19:03
sean-k-mooneyso we may be able to proced with this but your askign for use to reverse cources on that19:03
s3rj1kwe can replace tooz I guess19:03
sean-k-mooneyok jsut so your aware that thsi is a pretty contiversiol approch19:04
sean-k-mooneywe generally did not want to ahve a distribute lock manager in nova at all19:04
s3rj1kthat's why I invested time in alternatives)19:04
sean-k-mooneythe main concern with tooz by the way is its overall mantance19:05
sean-k-mooneywhat migh be simpler to do is some form of leader elelction19:05
sean-k-mooneyrather then a distributed lock19:05
s3rj1kthat won't cover CLI19:06
sean-k-mooneywell to be clear it does not have too19:06
sean-k-mooneycurrently the sideefect does nto break anything19:06
sean-k-mooneythe db enforces consitenty so the worst case side effecti is the command exits with an error but it does not break anything19:07
s3rj1kyea, I guess so, if periodics can be safely fixed for concurrency19:07
sean-k-mooneyso that ok on the cli19:07
opendevreviewStephen Finucane proposed openstack/nova master: api: Allow min/max_version arguments to expected_errors  https://review.opendev.org/c/openstack/nova/+/93636319:07
opendevreviewStephen Finucane proposed openstack/nova master: api: Allow min/max_version arguments to response  https://review.opendev.org/c/openstack/nova/+/93636419:07
opendevreviewStephen Finucane proposed openstack/nova master: api: Adjust validation helpers for a single-method future  https://review.opendev.org/c/openstack/nova/+/93636519:07
opendevreviewStephen Finucane proposed openstack/nova master: api: Stop using wsgi.Controller.api_version to switch between API versions  https://review.opendev.org/c/openstack/nova/+/93636619:07
opendevreviewStephen Finucane proposed openstack/nova master: api: Add new, simpler api_version decorator  https://review.opendev.org/c/openstack/nova/+/93636719:07
opendevreviewStephen Finucane proposed openstack/nova master: api: Only run format checks on strings  https://review.opendev.org/c/openstack/nova/+/93636819:07
opendevreviewStephen Finucane proposed openstack/nova master: api: Simplify parameter types  https://review.opendev.org/c/openstack/nova/+/93636919:07
opendevreviewStephen Finucane proposed openstack/nova master: tests: Ensure all APIs have a response body schema  https://review.opendev.org/c/openstack/nova/+/92459819:07
s3rj1kno reason to force CLI with cronjobs19:07
sean-k-mooneywhat i was orginally thinking was to use a Rendezvous hash to select the leader form the active schduler and only run the perodic form that one19:08
sean-k-mooneythat way we dont actully need an external depency (distibuted lock manager) or any addtional rpcs ectra19:09
sean-k-mooneyim just not sure if that will work with our current system19:09
sean-k-mooneya concern with a dlm is makeing sure the lock is released if any of the pods get restarted for example19:10
s3rj1kbtw, is there a formal doc on tooz deprecation?19:10
sean-k-mooneyits not deprecated as a lib19:10
sean-k-mooneyso the only usage of it in nova is the ironic driver and we deprecated the fature that uses it in that19:11
s3rj1kso for nova removal in this case19:11
sean-k-mooneycurrently the ironic drivcer can use manual sharding or a dynmic hashring(provided by tooz)19:11
sean-k-mooneythe dynmaic hash ring is deprecated for removal which would have removed tooz as a side effect19:12
sean-k-mooneys3rj1k: each schduler is a memebr of a service group 19:15
sean-k-mooneyhttps://github.com/openstack/nova/blob/master/nova/scheduler/manager.py#L6919:15
sean-k-mooneythere are 2 service group drivers, the db and memcache19:15
sean-k-mooneyim wondering if we can reuse that to do leader elelction and then have only one of the member run the perodic if its currently the leader19:17
sean-k-mooneythe problem is the curernt service group api does nto really ahve a way to do that19:19
sean-k-mooneyit has a way to test if a member of a service group is up19:20
sean-k-mooneybut not a way to list the memebr and or select a leader19:20
opendevreviewribaudr proposed openstack/nova-specs master: WIP: Allow vfio gpu support with Vendor-Specific VFIO framework  https://review.opendev.org/c/openstack/nova-specs/+/93640719:22
opendevreviewMerged openstack/nova stable/2024.1: Handle neutron-client conflict  https://review.opendev.org/c/openstack/nova/+/92773219:43
s3rj1k> but not a way to list the memebr and or select a leader - so that would mean that we would firstly need to extend that and after that try to use that19:45
sean-k-mooneyfor the db dirver its pretty simple19:51
sean-k-mooneythat basically a tweaked version fo https://github.com/openstack/nova/blob/master/nova/db/main/api.py#L492-L50319:51
sean-k-mooneyi.e. get service by binary19:51
sean-k-mooneyin this case of memcache its a littel more annoying19:52
sean-k-mooneywe coudl just ignore the service goups and just use the service api19:53
sean-k-mooney*service db tables not api19:53
sean-k-mooneybasically im trying to see what whoudl result in the minium number of addtional rpc/db/rest calls to enable19:54
s3rj1k> minium number of addtional rpc/db/rest calls - solution by documentation :)19:58
sean-k-mooneymaybe, or https://paste.opendev.org/show/bFFLh0pVeBZAOYXoNjKs/20:05
sean-k-mooneywe woudl just add that here https://github.com/openstack/nova/blob/master/nova/scheduler/manager.py#L11120:06
s3rj1khmm, if that works that would be nice, can be combined with docs extension20:07
sean-k-mooneysure20:07
sean-k-mooneybasicaly that one addtional db call on each invocation fo the perodic. but its a net win because instead of 3 of the perodic doing the work in paralel only 1 of them will execute the rest of the code20:08
sean-k-mooneyso overall that shoudl reduce the db load20:08
s3rj1kin that case warning about concurrent CLIs and extension to how periodics work20:09
s3rj1kone thing, in case of AA how would leader election work? like fallback?20:10
sean-k-mooneyso the heartbeat woud expire on the failed schduler20:10
s3rj1kand alive one would be elected?20:10
sean-k-mooneyand then then it would be elimistaed for the set and we would select a new leader20:10
sean-k-mooneyright  so if we sort on the uuid then that would be stable or the hostname20:11
sean-k-mooneyso if one host/pod dies then it will get remvoed form the set and we just take the first form the list20:11
sean-k-mooneyits not ture leader election in that when the down host comes back it takes over as the leader20:12
s3rj1kthis is fine20:12
sean-k-mooneywhere as normally you woudl only do an election when then current wone extits but ya it should work for this case20:12
s3rj1kwe can sort by uuid + uptime20:13
s3rj1kif we can get time info20:13
sean-k-mooneywell we dont want it really to change often20:13
sean-k-mooneyand that woudl be unstable ie.. tow diffent schduler check 1 second apprart20:13
sean-k-mooneythat coudl lead to both thinking the other is the leader20:14
s3rj1kI mean prefer ones that run longer20:14
sean-k-mooneybut i dotn think the unbiase dload is a problem in this case20:14
sean-k-mooneymaybe i would keep it simple initaly20:15
sean-k-mooneywe coudl alway teak it later if needed20:15
s3rj1kbut simple uuid sort would work as this is not very critical place20:15
sean-k-mooneyby the way up is not directly a property on the service (we hsould make it one) we have a function that takes the last time we saw it and a config value to decied if its still up20:16
sean-k-mooneybut that pretty easy to handel 20:16
sean-k-mooneywe do that computation and systisze the up value in teh api when we do a service list20:17
sean-k-mooneybasically we have https://github.com/openstack/nova/blob/master/nova/objects/service.py#L31620:20
sean-k-mooneywhich tells use when the last heartbet was recived20:20
sean-k-mooneyand we jus tneed to compare that to the interval and allow missed heatbeats20:21
sean-k-mooneyor actully we can jsut check https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.service_down_time driectly20:22
s3rj1kI see report_count in there20:22
sean-k-mooneyup = datetime.now() - CONF.service_down_time < last_seen_up20:23
sean-k-mooneysomething like ^ would work20:24
s3rj1kreport_count is per-service right?20:24
sean-k-mooneyyes20:24
s3rj1kso if thing goes down and up it gets nulled and count get started over?20:25
sean-k-mooneyi dont recall of the top of my head20:25
sean-k-mooneyin this context we can ignore i ti think20:25
sean-k-mooneyanyway i better finish for today20:26
s3rj1kso basically there are solution how to make that selection more clever20:26
sean-k-mooneyyep if needed20:26
s3rj1kthanks for you input20:26
sean-k-mooneyif we were trying to distibute load20:26
sean-k-mooneywe might want a more clever solution20:26
sean-k-mooneybut since we are trying to make sure only one runs i dont think that isneeded20:27
sean-k-mooneywe might want a minium uptime before the leader can change20:27
sean-k-mooneyi.e. double the perodic interval or somthing like that20:27
sean-k-mooneyjust to prevent issues on start up20:28
s3rj1keven of we miss, next run will fix that20:28
sean-k-mooneyor perhaps double the service downtime interval20:28
s3rj1ks/of/if/20:29
sean-k-mooneybut yes i think we can do this in a lock free way and it will self heal20:29
sean-k-mooneyactully droping now o/20:29
s3rj1khave a good night20:30

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