Wednesday, 2024-01-10

opendevreviewmelanie witt proposed openstack/nova master: Enable use of native threads in scatter_gather_cells  https://review.opendev.org/c/openstack/nova/+/65017202:26
opendevreviewmelanie witt proposed openstack/nova master: libvirt: Introduce support for rbd with LUKS  https://review.opendev.org/c/openstack/nova/+/88991202:42
opendevreviewmelanie witt proposed openstack/nova master: Enable use of native threads in scatter_gather_cells  https://review.opendev.org/c/openstack/nova/+/65017203:35
opendevreviewmelanie witt proposed openstack/nova master: libvirt: Introduce support for raw with LUKS  https://review.opendev.org/c/openstack/nova/+/88431305:00
opendevreviewmelanie witt proposed openstack/nova master: libvirt: Introduce support for rbd with LUKS  https://review.opendev.org/c/openstack/nova/+/88991205:01
songwenping_stephenfin: this patch https://review.opendev.org/c/openstack/openstacksdk/+/883238 pep8 check passed on my env,but online is always failed, pls help to review, tks.05:57
fricklersongwenping_: commented on the review06:30
elodillesbauzas: i've updated the Zed stable release patch as the long waited patch has merged \o/ (i think the PATCH version bump is still enough here, but correct me if i'm wrong): https://review.opendev.org/c/openstack/releases/+/899604/307:14
dvo-plvHello, All08:02
dvo-plvI have a question regarding our spec-file. https://review.opendev.org/c/openstack/nova-specs/+/85929008:02
dvo-plvit was already merge, but when we've started to implement this solution, we faced with some concerns from the core dev side08:03
dvo-plvWe would like to suggest new approach what should be mentioned in the spec file, how I should do it properly ?08:04
opendevreviewVasyl Saienko proposed openstack/nova master: Fix returning empty availability zone  https://review.opendev.org/c/openstack/nova/+/90287508:57
songwenping__frickler: thanks, the extra line issue.09:10
opendevreviewYalei Li proposed openstack/nova master: Implement get_power_state using domain.state  https://review.opendev.org/c/openstack/nova/+/90497009:18
opendevreviewPavlo Shchelokovskyy proposed openstack/nova master: Ignore group_policy extra spec in aggregate filter  https://review.opendev.org/c/openstack/nova/+/90521012:03
sean-k-mooneynoonedeadpunk: are you planning to work on https://review.opendev.org/c/openstack/nova-specs/+/900296/3/specs/2024.1/approved/cross-az-instance-scheduling.rst this cycle?12:19
sean-k-mooneythe spec approval deadline is tomorrow12:19
noonedeadpunksean-k-mooney: ah, sorry, I compleltely missed your comment12:31
sean-k-mooneythe ones i litrally just left :)12:32
sean-k-mooneyonce you fix the pep8 issue im +2 on your spec if you still intent to implement it this cycle12:32
sean-k-mooneyotherwise we shoudl propsoe it for next cycle12:32
noonedeadpunkregarding tests, I think I was more thinking of real tempest tests, meaning them as "functional"12:35
noonedeadpunkand rest are "unit" kinda12:35
sean-k-mooneynot form our perpseictive12:37
sean-k-mooneyunit test test function in isolation12:37
noonedeadpunkyeah, I got that from your comment12:37
sean-k-mooneyfunctional tests test how subsystems or services in isolation12:37
sean-k-mooneyand then tempest are consider integration tests where we are testing multiple services togeter12:38
noonedeadpunkyeah, sorry for mixing terminology here12:38
sean-k-mooneyno worries12:38
noonedeadpunkwill edit spec corresponsively12:38
sean-k-mooneygibi is unfortunetly on pto until monday so wont be around beofre spec freeze12:39
sean-k-mooneybauzas: ^ can you review noonedeadpunk spec when the next version is proposed and be the second +212:39
sean-k-mooneybauzas: its what we disucssed at the ptg regarding the az affinity/anti affinity filter enhancements12:39
sean-k-mooneylike rajesh's spec for showing the requested az in the server show its small and i dont think contovitiol any more12:40
sean-k-mooneyso it shoudl not take long to reivew12:41
opendevreviewDmitriy Rabotyagov proposed openstack/nova-specs master: [spec] Add Cross-AZ scheduling blueprint  https://review.opendev.org/c/openstack/nova-specs/+/90029612:46
noonedeadpunkhere we go ^12:46
sean-k-mooney+212:49
sean-k-mooneythanks12:49
sean-k-mooneyhave you started on the implementaion12:49
sean-k-mooneycan you use the cross-az-instance-scheduling gerrit topic when working on that12:50
sean-k-mooneyto keep the spec and code all on the same topic12:50
noonedeadpunkI have not yet (as was not sure if lueprint will land or not, and that was kinda requirement from here to start working on it)12:51
noonedeadpunkand yes, sure I can use the topic you've mentioned12:52
bauzassean-k-mooney: yeah today I'm looking at specs13:32
dvo-plvsean-k-mooney, Hello13:39
sean-k-mooneydvo-plv: o/13:44
dvo-plvI asked a question above regarding correct appropriate with spec file changes, when it was merged13:44
dvo-plvCould you pelase advice me something13:44
sean-k-mooneysorry i didnt see that question can you restate it13:47
sean-k-mooneyare you asking when is it ok to update a merges spec13:47
sean-k-mooneyto reflect change based on the review of the code13:47
sean-k-mooneyif so, while we avoid chanign things during review in general we allwo reconsiling the spec based on those changes at any time13:48
sean-k-mooneywe would prefer the spec to be correct since it is use as documetation by both us and operator so you can propose a patch to the spec repo to fix a spec even after spec freeze13:48
bauzassean-k-mooney: fwiw, even if I agree with the usecase (listing the pinned AZ), I -1d https://review.opendev.org/c/openstack/nova-specs/+/904368 because of the difference between 'I requested a AZ' and 'my instance is pinned'14:04
bauzasratailor: ^ see my comment above ^14:06
sean-k-mooneybauzas: responed14:25
sean-k-mooneyyour not wrong altough i dont entirly agree with all your coments 14:25
sean-k-mooneyi would not be opposed to the spec if your comment were adressed however14:26
sean-k-mooneyyou and i are readign requested to have 2 diffent meanings14:26
sean-k-mooneyfor me an az is requested if the az filed in the request_spec is populated for any reason14:27
sean-k-mooneyfor you its requested only if it was in the http post14:27
sean-k-mooneythats disconnect between my reading and your reading of the spec14:27
noonedeadpunkI'd actually vote for taking AZ from request_spec regardless of how it's appeared there14:28
sean-k-mooneyim ok with using your interperation and updating the spec to reflect that but form the persptice of the schduelr its requested if there is a value in the request spec14:28
bauzassean-k-mooney: I provided an alternative name for the API field14:28
noonedeadpunkAs actually I assume that what matters at the end...14:29
bauzas'attached_availability_zone'14:29
sean-k-mooneyi dont like attached14:29
sean-k-mooneyyou also sugggested pinned_availablity_zone 14:29
bauzaswe already have 'cross_az_attach' option, hence my name14:29
sean-k-mooneyattach in that context is refering to the volume not the az14:29
bauzaspossibly yeah14:30
sean-k-mooneyso pinned_aviableity_zone or required_avilablity_zone are all fine14:30
bauzasthe fact is that I want my user to understand that the instance is only using this AZ without looking at the api docs14:30
sean-k-mooneynoonedeadpunk: form an operator perspective what would you find more intuitive14:30
bauzasI'm not fine with 'requested_az' for the reason I explained14:30
sean-k-mooneyright but i actully think that is the most correct form for the reasons i explaied :)14:31
bauzasthe fact that neither the operator nor the user could request this instance to be pinned while the instance would still be pinned14:31
sean-k-mooneybut i dont really care too much what the field name is14:31
sean-k-mooneybauzas: right but its part of the requst_spec14:31
sean-k-mooneythere for the az was requested14:31
sean-k-mooneyit does not makter who requeteded it14:32
bauzassean-k-mooney: well, some enduser doesn't know the internals14:32
sean-k-mooneyyep which is why im interested in noonedeadpunk input14:32
sean-k-mooneyim fine with using a diffent name14:32
bauzasnoonedeadpunk: tell me a better name and I +2 your own spec :p14:32
bauzas(jk)14:32
sean-k-mooneyso if you think somethign else is better that is ok with me althoug lets avoid attach14:32
sean-k-mooneybauzas: this is now noonedeadpunk  spec 14:33
sean-k-mooneytheres is the other one14:33
bauzassean-k-mooney: I'm quite conservative on AZs given it's an enduser param14:33
bauzasand most OVH endusers (for example) don't know a single bit of the nova internals14:33
sean-k-mooneywell even those that do disagree on how az should be used14:34
bauzassean-k-mooney: yeah I know, we're speaking of ratailor's spec14:34
sean-k-mooneyi for one have no issue with explcitly requesting the nova az14:34
sean-k-mooneyi know why you dont like that14:34
sean-k-mooneybut to me that is perfectly valid14:34
sean-k-mooneyand i know of cloud that have configured  default_schedule_zone=nova14:34
sean-k-mooneythats a tangent14:35
bauzasthat's a terrible thing 14:35
* noonedeadpunk reading the spec itself now14:35
bauzasand we documented that 14:35
sean-k-mooneybauzas: right but horizon default to nova and i belive it always puts it in the request14:35
bauzasNOOOOOOOOOOOOOOOOOOOOOOOOOOO14:35
bauzasare you joking ?14:36
sean-k-mooneyi know that horizon use to alwasy require an az in the drop down14:36
sean-k-mooneyand if nova was the only one in the list you had no other choice14:36
bauzasthat's an horizon bug then14:36
sean-k-mooneyone that has been there forever14:36
noonedeadpunkooopps14:36
bauzashttps://docs.openstack.org/nova/latest/admin/availability-zones.html14:36
sean-k-mooneylike litrally since i started workin on openstack 10 years ago14:37
bauzasI wrote that in solid red14:37
sean-k-mooneybauzas: ya i know. im just saying that what you expect and how thing are used in the wild dont actully agreee14:37
ratailorsean-k-mooney, bauzas I took that name, because its easy to differentiate for endusers, who don't know anything about nova internals.14:37
bauzasratailor: read my comments14:37
ratailorbauzas, ack.14:38
bauzasendusers would wonder why their instance has a returned param saying 'requested_az' : "bar" without them asking for it14:38
bauzassean-k-mooney: sure, I understand people doing wild things are usual, but for those we also say "unsupported"14:39
noonedeadpunkI then have a question towards default_availability_zone that you already discussed some time ago with damiandabrowski. As like in some usecases I see close to no other option rather then define default_availability_zone, for instance when cross_az_attach = False14:39
bauzasnoonedeadpunk: default_schedule_zone you mean .14:40
bauzas?14:40
bauzashttps://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.default_schedule_zone14:40
bauzas". The instance(s) will be bound to this availability zone "14:40
bauzasahah, third alternative name ! "bound_availability_zone"14:41
noonedeadpunkyeah, sorry, default_schedule_zone14:41
bauzasnoonedeadpunk: what's your question with this option ?14:41
noonedeadpunkSo, when you have multiple AZs, and isolated storage in each AZ (so volumes can't migrate cross-AZ), and user does not provide AZ explicitly - VM will try to move between AZs, since it's not ending up in request_specs14:42
noonedeadpunkunless default_schedule_zone is defined14:43
noonedeadpunknah, disregard, I already found answer to my "question" :)14:46
bauzasnoonedeadpunk: yeah, it depends on cross_az_attach value14:46
bauzasif True, indeed14:47
bauzasif False, nope, we'll automatically change the value of reqspec.az to the volume's az name14:47
bauzasso it will be "pinned" or "bound"14:47
bauzaseven if the user "requested" something elsze14:48
bauzashence my concern on the ratailor's API parameter name 14:48
bauzasnoonedeadpunk: how much your users know about Nova internals and the fact we have a DB table named "request_specs"  ?14:48
noonedeadpunkbauzas: I think it's true only _if_ volume was created first14:49
bauzasthe fact is that I don't like ourselves naming a new parameter "requested" if something else but the user changed it14:49
noonedeadpunkbauzas: they don't give a sh*** about it :D14:49
bauzasthat's my point14:49
noonedeadpunkBecause if volume is being created together with server - reqspec.az is not populated then14:50
bauzasnoonedeadpunk: yeah, if you bfv your instance by asking nova to create a volume, then nova asks cinder for a new volume without passing the AZ14:50
ykarelthx sean-k-mooney for your response yesterday re. https://bugs.launchpad.net/nova/+bug/204578514:50
ykareldo you have link for the other tempest unfixed issue that you mentioned or link it into the bug ^14:51
bauzasnoonedeadpunk: because (IIRC) we create the volume *before* we schedule14:51
ykareli will check later if it's same or some other issue14:51
noonedeadpunkbauzas: but shouldn't then it be veeery close to usage of already existing volume?14:52
noonedeadpunkIe, you should be already be able to check AZ of that volume?14:52
bauzashonestly, I need to remember the details14:52
bauzasI also wrote a functional test for it14:52
noonedeadpunkYeah, no worries14:53
bauzasso we could test14:53
bauzasnoonedeadpunk: you haven't responded to our question about your preference for naming the new parameter that ratailor would provide14:53
noonedeadpunkWe're just close to have each scheduler having it's own `default_schedule_zone` for some "random" provisionment14:54
bauzasfrom an user point of view, I was arguing on the fact that 'requested AZ' is wrongly named14:54
bauzasand I would prefer the new returned param to be something like 'pinned AZ' or 'bound AZ'14:54
noonedeadpunkSorry, I'm trying to come up with some extra comments to it14:57
noonedeadpunkWell, given that indeed it's not "requested" per say, I think it may indeed being confusing15:00
*** blarnath is now known as d34dh0r5315:01
noonedeadpunkLike in our case, where we want to have instances "evenly" distributed across AZs even when clients requested nothing15:01
noonedeadpunkBut, they will indeed be pinned to this AZ15:01
noonedeadpunkBut I also kinda wonder, if the output from the spec should be shown to everyone. As a user I will be also very confused if for some reasone these 2 will differ15:03
noonedeadpunkWhile I totally get why I'd love to monitor that without doing DB queries on my own15:03
bauzasnoonedeadpunk: we have some customers that wonder why they can't move their instances to something else15:04
bauzasendusers don't really know about that, but they can see that their instance is pinned or not15:05
bauzasbut agreed on the fact operators would want to have a specific policy for this parameter15:05
noonedeadpunkHm, does scheduler hint for specific compute may also result in instance being pinned to it? I guess not?15:05
noonedeadpunkAs it's hint after all...15:06
bauzasit shouldn't15:06
bauzaswe only pin on three facts : 15:06
bauzas- the user requested an AZ15:06
bauzas- the operator defaulted instances to an AZ (per nova-api service)15:06
bauzas- the instance is attached to a volume that *already* uses an AZ 15:07
bauzasI don't see any other conditions where we would pin15:07
noonedeadpunkI think `pinned_availablity_zone` makes sense indeed. As "attached" as Sean mentioned can also be slightly confusing15:08
bauzasexcept of course if some operator changed the RequestSpec value directly :p15:08
bauzasnoonedeadpunk: could you then add a comment in the spec ?15:08
bauzasnoonedeadpunk: fwiw, /me going to look at your own spec :)15:10
sean-k-mooneyykarel: https://review.opendev.org/c/openstack/tempest/+/905130 is the fix for what i mentioned16:12
sean-k-mooneyor at least my first attempt of a fix16:12
bauzasnoonedeadpunk: https://review.opendev.org/c/openstack/nova-specs/+/900296 mostly because you haven't written the work items and the spec doesn't have any owner16:15
bauzaswill you have time to work on it this cycle ?16:15
bauzasyou or someone else you know ?16:15
noonedeadpunkWell. Yes, I was planning to work on that, though I initially also expected to have slightly more time for it...16:20
bauzasshouldn't be a large feature16:20
bauzasadd a new weigher should be an easy peasy16:21
noonedeadpunkYeah, that's true.16:21
bauzasthe most large patch would be adding the policy and the rule, with all files to touch due to the new microversion16:21
bauzasmost largest*16:21
bauzasbut I can help you on that 16:22
noonedeadpunkand caching part you wrote concerns me as well a bit16:22
noonedeadpunkas will need get myself aware of how that's done today (never touched this part of code)16:22
noonedeadpunkbauzas: about policies - what policies you have in mind?16:28
noonedeadpunkas I was thinking that existing `os_compute_api:os-server-groups` would cover this?16:28
bauzasnoonedeadpunk: well, I wrote "cache it" but actually, it shouldn't be a cache16:28
noonedeadpunkit's jsut get AZs to a var and then iterate over filters kinda?16:29
bauzasyeah exactly16:29
noonedeadpunkgotcha16:29
bauzasbut the fact is that the weigher only knows about a few things16:29
bauzashttps://github.com/openstack/nova/blob/master/nova/scheduler/weights/affinity.py#L3916:29
bauzasso you would need to pass the list of azs into some object-16:30
noonedeadpunkwell, request_spec sounds like what is needed?16:30
noonedeadpunkah, ok, list of available ones16:31
bauzasreq_spec is a formal oslo object16:31
bauzasI wouldn't recommend to use it, but that's your choice16:31
bauzasI just want to not have a oslo.versioned field for that16:32
bauzassome internal attribute for this object would work for it16:32
bauzasfor me*16:32
bauzasnoonedeadpunk: got my concern ? we run filters and weighers once per instance per host16:33
noonedeadpunkyeah, totally16:33
bauzasso if we were calling the list of AZs in the weigher, we would run it N times, N being the number of filtered hosts 16:33
bauzasnoonedeadpunk: you could stuff the list of AZs somewhere in https://github.com/openstack/nova/blob/master/nova/scheduler/manager.py#L29916:35
noonedeadpunkwill adjust spec with your notes16:40
opendevreviewAmit Uniyal proposed openstack/nova master: Refactor vf profile for PCI device  https://review.opendev.org/c/openstack/nova/+/90513416:42
opendevreviewDmitriy Rabotyagov proposed openstack/nova-specs master: [spec] Add Cross-AZ scheduling blueprint  https://review.opendev.org/c/openstack/nova-specs/+/90029617:20
noonedeadpunkbauzas: I've tried to address your concerns ^17:25
noonedeadpunkbut actually now I get a bit more your concerns for getting AZs out of filter itself17:26
noonedeadpunkbecause eventually, here we should be caring about "aggregates" rather then individual host and also weight based on that17:28
sean-k-mooneynoonedeadpunk: i was too hasty with reviewing your spec17:30
sean-k-mooneyif forgot there was also a second spec on this topic 17:30
sean-k-mooneyhttps://review.opendev.org/c/openstack/nova-specs/+/890779/3/specs/2024.1/approved/availability-zone-affinity-filters.rst17:30
sean-k-mooneyand that we have to do some non trivial stuff with the request spec17:30
sean-k-mooneynoonedeadpunk: for contiend we need to suport multi create17:31
sean-k-mooneyi.e. one reuest that ask for n vms17:31
sean-k-mooneyas well as parallal create17:31
sean-k-mooneysorry not parralle serial non overlapping creates of instance one after another waiting for each to go to active before doing the next17:32
noonedeadpunkI probably should jsut abandon mine I guess as it indeed now looks like a duplicate one17:34
noonedeadpunkI guess the one you posted originated from Vacouver PTG, as this discussion was raised there as well....17:38
noonedeadpunkIt really slipped my attention, though I was checking for simmilar existing blueprints :(17:46
bauzasnoonedeadpunk: you somehow need to flip between hosts17:46
bauzasbut ya, looks to me a bit difficult17:47
bauzasanyway, I need to go off17:48
sean-k-mooneyso we have example code that we can reuse for this for the normal host based affinity18:11
sean-k-mooneyi just dont think i will have time to track that down and provide links to it before sepc freeze18:12
JayFhttps://review.opendev.org/c/openstack/nova/+/900831 needs an additional core review, it is a bugfix for the Ironic driver. Your reviews would be appreciated o/21:29
*** jph4 is now known as jph23:48

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