Wednesday, 2022-06-22

opendevreviewOpenStack Proposal Bot proposed openstack/nova master: Imported Translations from Zanata  https://review.opendev.org/c/openstack/nova/+/84687603:52
opendevreviewAmit Uniyal proposed openstack/nova master: Added validation for hw machine type in host capabilities  https://review.opendev.org/c/openstack/nova/+/84712606:09
*** vishalmanchanda_ is now known as vishalmanchanda06:12
*** rpioso_ is now known as rpioso06:12
*** carloss_ is now known as carloss06:12
*** arne_wiebalck_ is now known as arne_wiebalck06:19
opendevreviewAmit Uniyal proposed openstack/nova master: Added validation for hw machine type in host capabilities  https://review.opendev.org/c/openstack/nova/+/84712606:20
bauzasgood morning Nova07:03
gibibauzas: o/07:06
bauzasgibi: thanks for having written the email about the PCI series07:06
bauzasgibi: today is review day for me07:07
gibibauzas: I felt I needed to give some guide to encourage reviewers07:07
bauzas:)07:10
bauzasI guess we will be only a few of them07:10
gibibauzas: I have to respin the series due to a doc issue07:10
gibijust I want to finish the downstream backport review first07:10
bauzasgibi: ok, no worries, I'll start with Uggla series 07:10
bauzasafter a coffee...07:11
gibisure07:11
bauzasUggla: voted on https://review.opendev.org/c/openstack/nova/+/831507/1408:37
bauzasUggla: tl;dr: yeah IMHO you could squash your patch with gibi's one but I'd also want you to modify how you use the sentinel08:38
Ugglabauzas, ok I'm going to have a look and propose an updated version ASAP.08:40
bauzasUggla: thanks08:40
bauzaswith gibi's patch and just the thing I ask you, I don't think this is massive change08:40
bauzasUggla: one thing I also wrote, please bear with logs08:40
bauzasUggla: the point is, logs are very well appreciated, but large public clouds tend to disagree with us adding more logs :)08:41
bauzasin particular when you can get information from other services, like scheduler08:42
Ugglabauzas, oh ok. 08:42
bauzasno worries, this is something not largely known08:42
bauzasbut yeah, logs rotation are costly for them08:42
bauzasDEBUG level is a bit different tho08:43
bauzasbut with INFO, we need to be cautious08:43
bauzasI'll then switch to your Manila spec08:43
bauzasthe sooner we have it, the earlier we could merge the os-traits change08:44
Ugglabauzas, anyway thx for the review08:46
bauzasnp pb, apologies this was that late08:47
bauzasUggla: I briefly reviewed your REST change, nothing controversial appeared 08:47
bauzasbut I didn't vote08:47
Ugglabauzas, regarding the manila one, Goutham sent comments yesterday.08:48
bauzasnice08:49
Ugglabauzas, remaining blocking point is the "extra spec / trait" if we want to have this explicit or not. I would rather explicit one. But we need a consensus here.08:51
UgglaI would like to discuss this point with bauzas, gibi, sean-k-mooney. 08:51
gibiI'm around08:52
Ugglagibi, o/08:53
gibio/08:54
bauzasUggla: gibi: give me 30 mins so I can recharge the context by reviewing the spec :)08:58
gibibauzas, Uggla: do we want to wait for sean-k-mooney too?08:58
bauzasgibi: probably, again I need to review the spec08:59
gibisure go ahead an review08:59
Ugglagibi, if possible yes.08:59
bauzasgibi: Uggla: we could do some session by 14:30 our time if needed09:00
opendevreviewBalazs Gibizer proposed openstack/nova master: Extend device_spec with resource_class and traits  https://review.opendev.org/c/openstack/nova/+/84621809:10
opendevreviewBalazs Gibizer proposed openstack/nova master: Reject PCI dependent device config  https://review.opendev.org/c/openstack/nova/+/84643509:10
opendevreviewBalazs Gibizer proposed openstack/nova master: Reject mixed VF rc and trait config  https://review.opendev.org/c/openstack/nova/+/84643609:10
opendevreviewBalazs Gibizer proposed openstack/nova master: Ignore PCI devs with physical_network tag  https://review.opendev.org/c/openstack/nova/+/84621909:10
opendevreviewBalazs Gibizer proposed openstack/nova master: Reject devname based device_spec config  https://review.opendev.org/c/openstack/nova/+/84646609:10
opendevreviewBalazs Gibizer proposed openstack/nova master: Support [pci]device_spec reconfiguration  https://review.opendev.org/c/openstack/nova/+/84647009:10
opendevreviewBalazs Gibizer proposed openstack/nova master: Stop if tracking is disable after it was enabled before  https://review.opendev.org/c/openstack/nova/+/84700909:10
bauzasgibi: sean-k-mooney: Uggla yeah, so we have two concerns for the Manila spec09:21
bauzas1/ about flavor vs. image09:21
bauzas2/ about how to lock a share09:21
bauzasif you want, we can discuss this by 1230UTC, ie. 14:30 for me and 13:30 for sean09:21
* bauzas needs to go off for getting my daughter09:22
Ugglabauzas, I think 1 is more explicit / implicit trait requirement.09:22
Ugglabauzas, anyway ok for 14:30.09:22
gibiyepp it is about asking the user to know about all technical prereqs for attaching a manila share09:23
sean-k-mooney[m]for manila shars you should not explictly need to specify any traits09:33
sean-k-mooney[m]you can optionally do so but it should not be a requiement09:33
sean-k-mooney[m]we want this feature to work with existing flavors and images09:33
sean-k-mooney[m]so documenting that you enither need file backed memory or hugepages09:34
sean-k-mooney[m]and having the api check for the same should be sufficent09:34
sean-k-mooney[m]operators can use traits for the former if they want to enforce that or they can use host aggreates or az to model which host has file backed memory09:35
sean-k-mooney[m]and just tell there users to select that az09:35
sean-k-mooney[m]so i dont think we need to modify the flavor/image for this feature09:35
sean-k-mooney[m]bauzas: gibi  https://review.opendev.org/c/openstack/nova/+/847001 now has a functional test and i made the other changes we discussed yesterday too.09:38
gibisean-k-mooney[m]: it is OK to me not asking for any specific from the user in image/falvor, but checking the prereqs 09:40
gibisean-k-mooney[m]: I will check https://review.opendev.org/c/openstack/nova/+/847001 shortly09:40
Ugglasean-k-mooney[m], maybe I'm missing something. How can you be sure the instance will be started on a host with the proper requirement without flavor/extra spec ?09:41
sean-k-mooney[m]the curret spec if i recall say we will check in the api if the instance has hugepages or is on a host with file backed memory adn reject the request if that is not the case09:41
Ugglayes09:42
sean-k-mooney[m]if the falvor request hugepages it will be on a valid host or if the user select an az that is mapped to file backed memroy09:42
sean-k-mooney[m]so we dont need anythign explict in the flavor for file backed mory09:43
sean-k-mooney[m]we just need to document that requirement09:43
sean-k-mooney[m]they can also add the trait if they like09:43
sean-k-mooney[m]but they dont need too09:43
sean-k-mooney[m]its the same for vhost-user networking with ovs-dpdk09:44
sean-k-mooney[m]we just document that you need file backed memory or hugepages09:44
sean-k-mooney[m]we dont require you to use traits but you could use a cutom trait for that if you wanted too09:44
sean-k-mooney[m]most operators are not going to want to resize all there workload to be able to start using this feature so its imporant that we dont force that when its not required.09:45
sean-k-mooney[m]does that make sense?09:45
sean-k-mooney[m]by the way are we accpeting translations in tree again?09:49
sean-k-mooney[m]i just noticed https://review.opendev.org/c/openstack/nova/+/84687609:50
sean-k-mooney[m]but i would kind of prefer to not have those in tree09:51
Ugglahum I think so. I'm just wonder how to check for trait at the Rest API level. (atm looking at the code for an example)09:52
sean-k-mooney[m]you can just call placment to do a traits list on the host09:52
bauzassean-k-mooney: yes09:53
bauzas+2/+Wd for me09:53
sean-k-mooney[m]hum i guess we do get thos octaionally https://github.com/openstack/nova/commits/master/nova/locale09:53
gibiUggla: nova.scheduler.client.report.SchedulerReportClient.get_provider_traits09:54
bauzassean-k-mooney: we only had a very few translations patches since 202009:55
bauzashttps://docs.openstack.org/i18n/latest/reviewing-translation-import.html#reviewing09:55
sean-k-mooney[m]yep thats why i tought we had stop doing this09:56
sean-k-mooney[m]its fine we can proably merge it but if we are not doing a review of the content ectra it would be nicer if we just had this in a sperate repo that the i18n team could mange09:57
sean-k-mooney[m]i guess if its that infrequent its fine09:58
sean-k-mooney[m]if we start getting a lot of patches this way we should look at a different solution then we have currently.09:58
bauzassean-k-mooney: the problem is with the i18n team09:58
bauzassean-k-mooney: no, we won't have a lot of patches09:59
bauzassean-k-mooney: even if they have a lot of i18n contributors, we will only have one change 09:59
bauzasas it's an automatic import from Zanata09:59
sean-k-mooney[m]i dont like haveing a seperate review workflow for stuff or not being able to review the change and just merging it09:59
sean-k-mooney[m]so if that the workflwo we are going to have it think it would be better to have it entirly out of tree10:00
bauzaseverything is done by https://translate.openstack.org/?dswid=228710:00
sean-k-mooney[m]as a stevador plugin for example that is loaded by nova10:00
bauzassean-k-mooney: we had this workflow since 2013 IIRC10:00
bauzasand it was working10:00
bauzaswe only need one single nova-core review 10:00
sean-k-mooney[m]sure it works i just dont think its the right way to do things10:01
bauzashttps://translate.openstack.org/project/view/nova?dswid=-717610:01
bauzassean-k-mooney: if you have concerns, then you should be discussing with the i18n team, not here10:02
Ugglagibi, thx, I think it is ok.10:02
sean-k-mooney[m]why10:02
sean-k-mooney[m]i can but this is also a project desicion10:02
sean-k-mooney[m]and discussion10:02
sean-k-mooney[m]im wondering if we still want to ship tanslations as a project in tree and if we should change that going forward and remove them form the souce tree10:03
bauzassean-k-mooney: because it's a TC question https://docs.openstack.org/project-team-guide/i18n.html10:04
bauzasand again, this is simple and it works10:04
bauzasanyway, I merged it10:04
bauzasI could even write some translations from French, if that helps :)10:05
bauzasOnly 43% of Nova is translated in French :p10:05
sean-k-mooney[m]if you want too :P10:07
gibiwe need more French!10:16
opendevreviewMerged openstack/nova master: Imported Translations from Zanata  https://review.opendev.org/c/openstack/nova/+/84687610:19
mnasiadkaHello - is there a way to specify Cinder volume-type for boot from volume in flavour extra-specs?11:00
gibimnasiadka: you have to pre-create the volume in cinder with the desired volume-type and then pass the volume to nova to boot from11:35
mnasiadkagibi: oh ok, thanks12:04
bauzasgibi: Uggla: sean-k-mooney : can we punt our session by 30 mins ? I have something at the moment12:21
sean-k-mooneyi wont be able to do it sorry12:22
bauzasie. 15:00 for CEST and 14:00 for BSR12:22
sean-k-mooneyim in a meeting till the top of the hour12:22
bauzasBSTR*12:22
bauzasgraaah12:22
bauzasBST*12:22
sean-k-mooneyand then i have a dental apointmnt in an hour12:22
sean-k-mooneyso it would have to be later today or you and gibi can proceed with Uggla  without me12:22
bauzasok, then let's discuss about Uggla's spec later then12:22
gibilater then12:22
gibibut as far as I see sean-k-mooney stated his oppinion above and I agreed12:23
Ugglabauzas, sean-k-mooney bauzas, I better understand sean-k-mooney proposal that sounds good.12:24
bauzaskk12:25
sean-k-mooneyi just pushed my comments on the sepc too12:25
* bauzas needs to go off for 20 mins12:25
*** mattia is now known as Guest293912:48
*** Guest2939 is now known as mattia12:51
*** mattia is now known as blmt12:52
Ugglabauzas, gibi if you can have a look at my latest comments on https://review.opendev.org/c/openstack/nova/+/831507. On 2 points your opinions diverge and I can make both of you pleased at the same time. So I need a consensus between both of you to implement the solution you agree on.13:09
bauzasUggla: sure, will look13:13
opendevreviewAmit Uniyal proposed openstack/nova master: Adds validation for hw machine type in host caps  https://review.opendev.org/c/openstack/nova/+/84712613:24
gibiUggla: responded, fine with bauzas' suggestions13:26
bauzasgibi: Uggla: replied too13:31
bauzasUggla: we already this kind of sentinel for example in https://github.com/openstack/nova/blob/master/nova/scheduler/manager.py#L11413:33
bauzasthat's how we flag an unset param13:34
bauzasthis is a simple pattern 13:34
gibiI think the special case here is that the caller needs differentiate too if some AZ value is needed to pass forward or the param should not be provided13:38
bauzasgibi: not sure I understand13:39
bauzasgibi: either the AZ is passed or not13:40
bauzasbut the value can be None13:40
bauzasright?13:40
gibiby making the new_az optional the caller either needs to pass a value (including None) or not pass the parameter at all13:40
gibithat will be either a conditional on the caller13:40
bauzashttps://specs.openstack.org/openstack/nova-specs/specs/zed/approved/unshelve-to-host.html#proposed-change13:41
gibior the caller could pass the sentinel and avoif the conditional13:41
bauzasah I see your concern13:41
bauzaswell, in general we do this kind of conditional13:41
gibiI'm fine with that extra conditional on the caller side13:41
bauzaswith kwargs13:42
bauzaslike kwargs = {}13:42
gibialso I'm fine passing the sentinel and avoid the conditional too13:42
bauzasapi.unshelve(ctxt, inst, host, **kwargs)13:42
gibiahh, OK, you can do that too13:42
bauzasand if az is set, then kwargs['new_az'] = this13:42
bauzasthat's the general pattern we have for sentinels13:43
bauzasno need to have different calls then13:43
gibiI'm OK with the kwargs way too13:43
bauzasone single call but with optional args13:43
bauzasgibi: well, as I said, this is the pattern we have in Nova for a while now :)13:44
bauzasie. default a param to a sentinel value13:44
bauzasand call the method with kwargs13:44
bauzasUggla: ^13:44
gibiI can argue about how well established this as a pattern based on I'm not being aware of it. But I guess it is irrelevant. :)13:45
gibias I agree with the actual code13:45
bauzashttps://github.com/openstack/nova/blob/master/nova/scheduler/rpcapi.py#L15213:47
bauzasand https://github.com/openstack/nova/blob/master/nova/scheduler/manager.py#L14513:47
*** dasm|off is now known as dasm13:47
bauzasgibi: the problem with importing a global var from another module is about any possible circular import13:47
bauzasif we don't need to import, let's not do it13:47
gibisure13:48
bauzasalso, the caller has to have some knowledge about the method13:48
gibias I said I agree with the code :)13:48
bauzasthis is a bad behaviour13:48
bauzasgibi: sure, I just explain why 13:48
bauzasmostly not for you13:48
bauzasbut also for Uggla :)13:49
bauzasso, yeah, unnecessary module import and internal knowledge of the called method are the two things we want to avoid13:49
bauzasand since optional params in python methods are something easy to do, let's use this pattern13:50
Ugglahum I think I understand.13:53
gibiI think we use None a lot more to signal information-not-provided than a sentinel value.  We only use dedicated sentinel if None means something else than information-not-provided13:53
gibiand in this case None means something else than information-not-provide4d13:53
bauzasgibi: correct13:54
bauzasin general, we set to None unless None is used for a specific flag13:54
gibiyepp13:54
bauzasand if so, we use the sentinel pattern13:54
bauzasbut again, we create a specific instance of an object that we use, and we try to not expose this instance elsewhere13:55
bauzasby instance, I mean a stored value in memory13:56
* bauzas doesn't want to be pedantic, rather explaining why we have this pattern and why we don't pull this reference from the caller13:56
* Uggla not so clear with the **kwargs reason, but I think it will be clearer when I'll do it.14:01
gibipurely hypotetically and purely from the code understandability perspective I'm not in favor of the optionalness of a parameter on an API. In python you have to look up the signature of the called function to know if a parameter is optional (i.e. has a default value in the signature) but as soon as you looked that up you see the default value (the sentinel) so that default value already leaked to the 14:05
gibicaller side14:05
gibiI would make all the parameters non defaulted and document what value of what parameter means what :D14:06
gibithat is a bit more explict than param=sentinel in a signature14:06
gibibut this is way less important that make the unshelve patch land :D14:07
gibis/that/than/14:07
bauzasthat's why I explained why the pattern and also why I said in my last comment that docstrings help14:07
bauzasI'd rather see a docstring saying (optional) my param14:08
bauzasrather than asking to import a specific instance of a global class object14:08
gibithe function itself is a global on the class an you import that to be able to call it14:10
gibiNone is an interpreter global :)14:11
gibi(we are getting philosophycal )14:11
gibiwe are using enums from the fields module those are class level fields too14:12
Ugglagibi, bauzas, last stuff, ok with FIELD_SENTINEL wording ? 14:26
gibigo with what bauzas asked for I won't block on it14:29
bauzasUggla: gibi: you can even name it privatly14:30
bauzaslike _unset_field14:30
gibisure14:30
bauzasor _unsel_field_sentinel14:30
bauzasI don't wanna nitpick on the naming :)14:31
Ugglanaming one of the hardest stuff in computing.14:31
bauzasbut yeah, actually, since this is an internal object, make it private14:31
bauzas(by convention of course)14:31
bauzashttps://twitter.com/codinghorror/status/506010907021828096?lang=fr14:32
bauzas:)14:32
bauzas(I like this tweet :p )14:32
bauzashttps://www.karlton.org/2017/12/naming-things-hard/ for the wider context14:33
*** blmt is now known as mattia15:19
*** mattia is now known as blmt15:20
opendevreviewAmit Uniyal proposed openstack/nova master: Adds validation for hw machine type in host caps  https://review.opendev.org/c/openstack/nova/+/84712617:11
opendevreviewAmit Uniyal proposed openstack/nova master: Adds validation for hw machine type in host caps  https://review.opendev.org/c/openstack/nova/+/84712619:45
ade_leesean-k-mooney, sean-k-mooney[m] slaweq stephenfin hey - any idea what might be causing failures here?  https://8767bac9cdd8c58da256-ee4c5d809145a8a3246cc4d26d65fbe0.ssl.cf5.rackcdn.com/831844/10/experimental/tempest-centos9-stream-fips/45be779/testr_results.html20:38
ade_leeoh -- maybe thats this -- https://bugs.launchpad.net/neutron/+bug/197904720:41
*** dasm is now known as dasm|off23:03
*** hemna6 is now known as hemna23:37

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