Thursday, 2020-01-09

*** tetsuro has joined #openstack-nova00:05
*** ivve has quit IRC00:06
*** tetsuro_ has quit IRC00:07
*** tbachman has joined #openstack-nova00:19
*** jawad_axd has joined #openstack-nova00:31
*** jawad_axd has quit IRC00:35
openstackgerritGhanshyam Mann proposed openstack/nova master: Pass the actual target in os-admin-password policy  https://review.opendev.org/70164200:51
*** yedongcan has joined #openstack-nova00:52
*** brinzhang has joined #openstack-nova01:00
openstackgerritGhanshyam Mann proposed openstack/nova master: Add test coverage of existing os-agents policies  https://review.opendev.org/70164401:02
*** portdirect has quit IRC01:02
*** tetsuro has quit IRC01:04
*** tetsuro has joined #openstack-nova01:04
*** tetsuro has quit IRC01:08
*** TxGirlGeek has quit IRC01:08
*** Liang__ has joined #openstack-nova01:10
openstackgerritGhanshyam Mann proposed openstack/nova master: Introduce scope_types in os-agents policy  https://review.opendev.org/70164501:11
*** slaweq has joined #openstack-nova01:11
*** slaweq has quit IRC01:17
*** tetsuro has joined #openstack-nova01:17
*** zhanglong has joined #openstack-nova01:20
*** tetsuro_ has joined #openstack-nova01:22
*** gyee has quit IRC01:23
openstackgerritGhanshyam Mann proposed openstack/nova master: Add new default roles in os-agents policies  https://review.opendev.org/70164801:24
*** tetsuro has quit IRC01:26
openstackgerritGhanshyam Mann proposed openstack/nova master: Pass the actual target in os-agents policy  https://review.opendev.org/70164901:30
openstackgerritGhanshyam Mann proposed openstack/nova master: Add test coverage of existing os-aggregates policies  https://review.opendev.org/70165101:34
*** jangutter has quit IRC01:42
*** jangutter has joined #openstack-nova01:42
openstackgerritGhanshyam Mann proposed openstack/nova master: Introduce scope_types in os-aggregates policy  https://review.opendev.org/70165201:43
openstackgerritGhanshyam Mann proposed openstack/nova master: Add new default roles in os-aggregates policies  https://review.opendev.org/70165401:48
openstackgerritGhanshyam Mann proposed openstack/nova master: Pass the actual target in os-aggregates policy  https://review.opendev.org/70165601:53
*** mriedem has joined #openstack-nova01:53
*** tetsuro has joined #openstack-nova02:00
*** tetsuro_ has quit IRC02:04
*** mriedem has quit IRC02:05
*** lvbin02 has joined #openstack-nova02:07
Liang__nick LiangFang02:08
*** Liang__ is now known as LiangFang02:08
*** tonyb has quit IRC02:10
*** tinwood has quit IRC02:10
*** lvbin01 has quit IRC02:10
*** lvbin02 is now known as lvbin0102:10
*** tinwood has joined #openstack-nova02:12
*** xek_ has joined #openstack-nova02:22
*** xek has quit IRC02:23
*** jangutter_ has joined #openstack-nova02:28
*** jangutter has quit IRC02:30
*** brinzhang_ has joined #openstack-nova02:31
*** brinzhang has quit IRC02:34
openstackgerritMatt Riedemann proposed openstack/nova stable/train: Create instance action when burying in cell0  https://review.opendev.org/70127902:48
*** tetsuro has quit IRC03:07
*** slaweq has joined #openstack-nova03:11
*** slaweq has quit IRC03:16
*** sapd1_x has joined #openstack-nova03:39
*** psachin has joined #openstack-nova03:42
*** tetsuro has joined #openstack-nova03:59
*** udesale has joined #openstack-nova04:03
*** nweinber__ has joined #openstack-nova04:08
*** nweinber__ has quit IRC04:19
*** sapd1_x has quit IRC04:27
*** bhagyashris has joined #openstack-nova04:37
*** mkrai has joined #openstack-nova05:10
*** slaweq has joined #openstack-nova05:11
*** slaweq has quit IRC05:16
*** links has joined #openstack-nova05:21
*** mkrai has quit IRC05:28
*** mkrai has joined #openstack-nova05:30
*** ociuhandu has joined #openstack-nova05:31
*** evrardjp has quit IRC05:33
*** evrardjp has joined #openstack-nova05:34
*** ociuhandu has quit IRC05:35
*** udesale has quit IRC05:40
*** zhanglong has quit IRC06:27
*** ratailor has joined #openstack-nova06:28
*** zhanglong has joined #openstack-nova06:29
*** rcernin has quit IRC06:32
*** ivve has joined #openstack-nova06:44
*** ileixe has quit IRC06:56
*** ileixe has joined #openstack-nova06:59
*** dpawlik has joined #openstack-nova07:07
*** udesale has joined #openstack-nova07:12
*** jawad_axd has joined #openstack-nova07:19
*** ileixe has quit IRC07:33
*** ileixe has joined #openstack-nova07:40
*** damien_r has joined #openstack-nova07:44
*** zhanglong has quit IRC07:48
*** zhanglong has joined #openstack-nova07:49
*** slaweq has joined #openstack-nova07:52
*** damien_r has quit IRC07:55
*** damien_r has joined #openstack-nova07:55
*** damien_r has quit IRC07:58
*** maciejjozefczyk has joined #openstack-nova08:02
*** pcaruana has joined #openstack-nova08:02
*** ratailor_ has joined #openstack-nova08:04
*** rpittau|afk is now known as rpittau08:06
*** ratailor has quit IRC08:06
*** zhanglong has quit IRC08:06
*** damien_r has joined #openstack-nova08:17
*** tkajinam has quit IRC08:18
*** tosky has joined #openstack-nova08:25
*** slaweq_ has joined #openstack-nova08:29
*** tesseract has joined #openstack-nova08:30
*** slaweq has quit IRC08:31
openstackgerritBalazs Gibizer proposed openstack/nova master: Revert InstancePCIRequest change when live migration aborted  https://review.opendev.org/70168408:31
*** udesale has quit IRC08:32
openstackgerritBalazs Gibizer proposed openstack/nova master: Use common server create function for qos func tests  https://review.opendev.org/70135308:33
openstackgerritBalazs Gibizer proposed openstack/nova master: Enable live migration with qos ports  https://review.opendev.org/69906608:33
*** links has quit IRC08:35
*** trident has quit IRC08:37
*** trident has joined #openstack-nova08:39
*** links has joined #openstack-nova08:40
*** tetsuro has quit IRC08:43
openstackgerritBalazs Gibizer proposed openstack/nova master: Revert InstancePCIRequest change when live migration aborted  https://review.opendev.org/70168408:47
openstackgerritBalazs Gibizer proposed openstack/nova master: Use common server create function for qos func tests  https://review.opendev.org/70135308:49
openstackgerritBalazs Gibizer proposed openstack/nova master: Enable live migration with qos ports  https://review.opendev.org/69906608:49
*** jraju__ has joined #openstack-nova08:49
*** links has quit IRC08:49
*** ivve has quit IRC08:56
*** jraju__ has quit IRC09:03
*** ralonsoh has joined #openstack-nova09:03
openstackgerritBalazs Gibizer proposed openstack/nova master: Revert InstancePCIRequest change when live migration aborted  https://review.opendev.org/70168409:09
openstackgerritBalazs Gibizer proposed openstack/nova master: Use common server create function for qos func tests  https://review.opendev.org/70135309:09
openstackgerritBalazs Gibizer proposed openstack/nova master: Enable live migration with qos ports  https://review.opendev.org/69906609:09
*** udesale has joined #openstack-nova09:11
*** LiangFang has quit IRC09:12
*** ociuhandu has joined #openstack-nova09:15
*** awalende has joined #openstack-nova09:18
*** ociuhandu has quit IRC09:19
*** abhishekk has joined #openstack-nova09:34
*** slaweq_ has quit IRC09:38
*** ratailor__ has joined #openstack-nova09:41
*** ratailor_ has quit IRC09:44
*** ociuhandu has joined #openstack-nova09:44
*** ociuhandu has quit IRC09:45
*** tetsuro has joined #openstack-nova09:45
*** ociuhandu has joined #openstack-nova09:48
*** martinkennelly has joined #openstack-nova09:49
*** slaweq_ has joined #openstack-nova09:50
*** ociuhandu has quit IRC09:53
*** ivve has joined #openstack-nova10:02
*** tetsuro has quit IRC10:05
*** ratailor__ has quit IRC10:07
*** abhishekk has quit IRC10:07
*** ratailor has joined #openstack-nova10:08
*** ociuhandu has joined #openstack-nova10:14
*** ociuhandu has quit IRC10:15
*** ociuhandu has joined #openstack-nova10:16
*** abhishekk has joined #openstack-nova10:16
*** ociuhandu has quit IRC10:21
*** ociuhandu has joined #openstack-nova10:22
*** ociuhandu has quit IRC10:27
*** ociuhandu has joined #openstack-nova10:47
*** yedongcan has left #openstack-nova10:49
*** xek__ has joined #openstack-nova10:51
*** ociuhandu has quit IRC10:52
*** xek_ has quit IRC10:54
*** brinzhang has joined #openstack-nova10:54
*** dtantsur|afk is now known as dtantsur10:55
*** ociuhandu has joined #openstack-nova10:55
*** mkrai has quit IRC10:55
*** brinzhang_ has quit IRC10:57
*** ociuhandu has quit IRC10:58
*** ociuhandu has joined #openstack-nova10:59
*** ratailor has quit IRC11:04
*** ratailor has joined #openstack-nova11:05
*** tetsuro has joined #openstack-nova11:07
*** cyclaw has quit IRC11:09
*** ociuhandu has quit IRC11:12
*** gentoorax has joined #openstack-nova11:12
*** udesale has quit IRC11:12
openstackgerritBalazs Gibizer proposed openstack/nova master: Revert InstancePCIRequest change when live migration aborted  https://review.opendev.org/70168411:16
openstackgerritBalazs Gibizer proposed openstack/nova master: Use common server create function for qos func tests  https://review.opendev.org/70135311:16
openstackgerritBalazs Gibizer proposed openstack/nova master: Enable live migration with qos ports  https://review.opendev.org/69906611:17
*** rpittau is now known as rpittau|bbl11:18
*** lbragstad has quit IRC11:20
*** lbragstad has joined #openstack-nova11:23
*** tbachman has quit IRC11:47
*** dviroel has joined #openstack-nova11:47
*** ociuhandu has joined #openstack-nova11:48
openstackgerritsean mooney proposed openstack/os-vif master: move os-vif-ovs to be a non legacy job.  https://review.opendev.org/70160111:48
openstackgerritsean mooney proposed openstack/os-vif master: optimise tempest testing  https://review.opendev.org/70160711:48
*** jangutter_ is now known as jangutter11:49
*** ociuhandu has quit IRC11:52
lyarwoodis there an .ics for the nova meeting?11:54
sean-k-mooneyyes its on the meeting site one sec ill see if i can get the link11:55
sean-k-mooneyhttp://eavesdrop.openstack.org/#Nova_Team_Meeting11:55
lyarwoodah ha! thanks sean-k-mooney11:56
*** ociuhandu has joined #openstack-nova11:58
*** ociuhandu has quit IRC12:00
*** ociuhandu has joined #openstack-nova12:02
*** ociuhandu has quit IRC12:07
*** mgariepy has joined #openstack-nova12:11
*** tetsuro has quit IRC12:15
luyaosean-k-mooney: thanks for your comments on spec 'support live migration with vpmem' https://review.opendev.org/#/c/695863, I answered some questions you concerned,  you could have a look again if you get time. :)12:16
*** bhagyashris_ has joined #openstack-nova12:17
luyaostephenfin, artom: I also need your help me to polish the spec. Thanks in advance. :D12:18
*** bhagyashris has quit IRC12:19
sean-k-mooneyluyao: im still not conviced that usign the migration_context is better but i wont block on it.12:26
*** brinzhang_ has joined #openstack-nova12:28
*** brinzhang has quit IRC12:31
*** brinzhang has joined #openstack-nova12:31
alex_xusean-k-mooney: whatever we need migration_context to persistent the allocation for the dest node12:33
*** brinzhang has quit IRC12:33
alex_xusean-k-mooney: using migrate_data just sounds like we have one more place for the dest allocation info12:34
*** brinzhang has joined #openstack-nova12:34
*** brinzhang_ has quit IRC12:34
sean-k-mooneyalex_xu: well im hoping we will eventurally remove all move claims form so im not that keen on seeing more use of them12:34
alex_xusean-k-mooney: why we want to remove move claims? we just add them for live migration12:35
sean-k-mooneyalex_xu: no we added them for numa live migration and for sriov live migration we did it via the migration data object12:35
*** brinzhang has quit IRC12:35
fricklerwow, that moment when, after debugging why a config option doesn't seem to take effect, you discover that is has been deprecated in juno and removed in kilo ...12:36
*** brinzhang has joined #openstack-nova12:36
sean-k-mooneyalex_xu: we still need to decised how to reconsile them but we intentionally did not use them for sriov live migration because we did not want to have them for live migration12:36
alex_xusean-k-mooney: emm...I need figure out what different between move clain and pci claim12:39
sean-k-mooneythe pci tracker has 3 state for the devices12:39
luyaosean-k-mooney: vpmem  need numa support, so it's ok in numa live migraion I think12:40
sean-k-mooneybasically avaiable allocated and in uses12:40
alex_xusean-k-mooney: both them are reconcile by rt.update_available_resource?12:40
sean-k-mooneyfor the sriov migrating we move the dest pci deives that are claiimed too allocated and then go to in use in post live migration or get freed if we fail12:41
sean-k-mooneythe pci magnager work a littel differently12:41
alex_xuand pci manager persistent the claim12:41
sean-k-mooneyyes12:42
alex_xuvpmem need persistent also12:42
sean-k-mooneywell it persist it in that in the pci_stats? table we change the state of the device and recorred it as allocated fot the specic instnace12:42
alex_xuand vpmem totally depends on instance.resources and instance.migration_context12:42
sean-k-mooneyya. for vpmem at the moment i guess you have no other choice12:43
alex_xuno vpmem claim persistent in instance.resources and instance.migration_context12:43
alex_xuyea12:43
sean-k-mooneyi was hoping that wew woudl reconsile the different approches in sriov migraiton and numa migration by removing the live migration claim12:44
*** bhagyashris__ has joined #openstack-nova12:44
*** dosaboy has quit IRC12:44
*** bhagyashris__ is now known as bhagyashris12:44
alex_xuwe still have RT at that time?12:44
alex_xuI don't vision about that12:45
sean-k-mooneyand haneling numa without building on move claims but i guess i might have to do it the other way which make sme sad but12:45
alex_xus/don't vision/don't have vision'12:45
*** dosaboy has joined #openstack-nova12:45
sean-k-mooneyi expect that we will always have the RT since plamcent does not handel assingment12:45
alex_xu+112:46
*** bhagyashris_ has quit IRC12:46
sean-k-mooneyi just think the RT will do less work over time.12:47
alex_xuyea, that i can imagine12:48
sean-k-mooneyit partly why i was hoping the move/rebiuld/noop/live-migration claim would eventury be removed12:49
sean-k-mooneyi was hoping we could simply what it does over time to not need them12:49
*** jawad_axd has quit IRC12:50
alex_xuok, i see12:51
sean-k-mooneyis the only place we store the vpmem allocation the in instance_extra table in the resouces filed12:57
sean-k-mooneythen in memeoy the resouce tracker discovers the avialabel vpmem namespaces and uses the instnace extra info to determin which ones are free and which are in use12:58
*** jawad_axd has joined #openstack-nova12:59
*** brinzhang_ has joined #openstack-nova13:00
*** zbr|rover has quit IRC13:00
sean-k-mooneyah yes we model this using the generic Resocue object and the specalised vpmemdevcie metaddata13:01
sean-k-mooneyths is all coming back to me https://github.com/openstack/nova/blob/a4311c401b55c27321de7b282b242661af73fa34/nova/objects/resource.py#L39-L11013:01
*** brinzhang_ has quit IRC13:01
*** brinzhang_ has joined #openstack-nova13:02
*** nweinber__ has joined #openstack-nova13:02
*** Kevin_Zheng has quit IRC13:03
*** brinzhang has quit IRC13:03
alex_xusean-k-mooney: yes13:03
*** huaqiang has joined #openstack-nova13:03
sean-k-mooneyright so i rememebr we discussed if we need to do host side tracking like we do for pci device or if im memory + instastnce level tracking was enought like we do for vgpu13:04
sean-k-mooneyand we endup not doing host level tracking in the db13:05
alex_xuyes13:05
sean-k-mooneyya ok so the appoch in the spec makes sense then with that context.13:06
alex_xuvgpu is more libvirt level tracking...13:07
*** ratailor has quit IRC13:08
sean-k-mooneyya i was just looking at the vpmem discovery code https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L429-L51413:08
*** belmoreira has joined #openstack-nova13:16
huaqiang1;2C1;5C13:18
openstackgerritLee Yarwood proposed openstack/nova stable/stein: libvirt: Add a rbd_connect_timeout configurable  https://review.opendev.org/66916713:20
*** dpawlik has quit IRC13:21
*** tbachman has joined #openstack-nova13:21
openstackgerritLee Yarwood proposed openstack/nova stable/stein: Skip cpu comparison on AArch64  https://review.opendev.org/69911613:21
*** dpawlik has joined #openstack-nova13:25
*** rpittau|bbl is now known as rpittau13:25
*** yan0s has joined #openstack-nova13:28
*** ociuhandu has joined #openstack-nova13:32
*** brinzhang has joined #openstack-nova13:36
*** ociuhandu has quit IRC13:37
*** brinzhang_ has quit IRC13:40
*** ociuhandu has joined #openstack-nova13:48
efriedNova meeting in 10 minutes in #openstack-meeting13:50
*** mriedem has joined #openstack-nova13:51
efriedAt a glance this morning it looked to me like nova-next is failing 100%. Has anyone looked at this?13:52
efried...before I dig in with my non-mriedem-ness?13:52
openstackgerritMatt Riedemann proposed openstack/nova master: Add a workaround config toggle to refuse ceph image upload  https://review.opendev.org/65707813:53
*** davidsha has joined #openstack-nova13:54
*** ociuhandu has quit IRC13:54
*** ociuhandu has joined #openstack-nova13:55
*** brinzhang_ has joined #openstack-nova13:58
efriedNova meeting now.14:00
*** zul has joined #openstack-nova14:01
efriedstephenfin, sean-k-mooney, bauzas: ^14:01
efriedhuaqiang: ^14:02
efriedwho else?14:02
*** ociuhandu has quit IRC14:03
brinzhang_:)14:03
*** ociuhandu has joined #openstack-nova14:04
*** eharney has joined #openstack-nova14:04
brinzhang_Can I send my questions? :P14:06
alex_xubrinzhang_: meeting is at #openstack-meeting channel14:07
brinzhang_alex_xu: yeah, joined14:07
efriedbrinzhang_: yes, for sure.14:07
brinzhang_alex_xu, efried: thanks14:07
*** brinzhang has quit IRC14:10
*** brinzhang has joined #openstack-nova14:10
*** brinzhang has quit IRC14:11
*** brinzhang has joined #openstack-nova14:11
*** ociuhandu has quit IRC14:13
*** brinzhang has quit IRC14:16
*** brinzhang has joined #openstack-nova14:17
*** zbr has joined #openstack-nova14:17
*** brinzhang_ has quit IRC14:17
*** brinzhang has quit IRC14:17
*** brinzhang_ has joined #openstack-nova14:18
*** zbr is now known as zbr|rover14:18
*** slaweq_ is now known as slaweq14:26
*** bhagyashris has quit IRC14:27
openstackgerritMerged openstack/nova master: functional: Make '_IntegratedTestBase' subclass 'InstanceHelperMixin'  https://review.opendev.org/68918214:29
bauzasefried: sorry was on meeting14:30
*** portdirect has joined #openstack-nova14:31
*** mriedem has left #openstack-nova14:40
*** pcaruana has quit IRC14:47
*** psachin has quit IRC14:48
*** tbachman has quit IRC14:54
*** jawad_axd has quit IRC14:55
*** awalende has quit IRC14:55
*** awalende has joined #openstack-nova14:55
*** jawad_axd has joined #openstack-nova14:56
*** brinzhang_ has quit IRC14:57
*** brinzhang_ has joined #openstack-nova14:58
*** jawad_axd has quit IRC14:58
*** jawad_ax_ has joined #openstack-nova14:58
*** brinzhang_ has quit IRC14:59
*** brinzhang_ has joined #openstack-nova14:59
*** awalende has quit IRC15:00
*** tbachman has joined #openstack-nova15:00
sean-k-mooneybauzas: every time you or somone else at redhat says they are sorry i was in a meeting i go crap did i miss one or was it a 1:1 :)15:01
*** alistarle has joined #openstack-nova15:01
bauzas1:1 indeed15:01
sean-k-mooneyalthough that is partly because im getting used to meeting again after the break15:02
brinzhang_hah15:02
efrieddansmith: Re specifying VCPUs in placement-ese and other stuff in hw:-ese...15:02
efriedWe could make that work, if we had to, because the hw:-ese part could impart enough information that you could infer the rest about your shared CPUs.15:02
efriedI don't like that personally because I think the mix of placement-ese and hw:-ese is more confusing than just hw:-ese15:02
*** jawad_ax_ has quit IRC15:02
*** pcaruana has joined #openstack-nova15:02
efriedpoint being: we're going to have to have snowflake syntax anyway, so might as well make it consistent.15:02
sean-k-mooneyefried: you coudld infer the amoung and then have a driver specifc convetion for how to select which ones would float and whcih woudl be pinned15:03
efriedRather than asking people to understand which subset of placement-ese is side-effecty and which is not15:03
sean-k-mooneybut it make the code more complex15:03
efriedsean-k-mooney: Yes, exactly. Yes, exactly.15:04
*** brinzhang_ has quit IRC15:04
efriedand also make it harder for the user to understand IMO.15:04
*** udesale has joined #openstack-nova15:04
*** brinzhang_ has joined #openstack-nova15:04
sean-k-mooneyif i was to code the algortiom it would be balance the shared cores evenly across numa nodes then make the rest pinned15:05
dansmithI dunno, I'm just disappointed with the mess we've had, do have, and apparently will have15:05
sean-k-mooneywhich in a singel numa node guest means all the shared cores are fist follow by the pinned cores15:06
dansmithdo the public clouds let you have this level of control over which cpus are pinned and to where?15:06
sean-k-mooneyand that is because the linux kernel and proably other has a prefernce for runing some code on core 0 of each numa node15:06
*** ociuhandu has joined #openstack-nova15:07
efriedsean-k-mooney: even allowing for future expansion where you can specify how many you want in each NUMA node, we could still do the math. My gripe is really about the UX.15:07
efrieddansmith: is that a leading question?15:08
sean-k-mooneywell today the just expose flaver with either pinning on or off or numa nodes. but you can configure this via the image too15:08
dansmithefried: it's an honest one.. we used to have a shared value of "abstraction means not getting to turn every knob"15:08
efriedIsn't "our competitor can't do X, and neither can we, so let's make X possible so we're better than our competitor" how progress is made?15:09
efrieddansmith: and that abstraction still exists. You can still put up a flavor with no extra specs and get a VM. We're not taking away that simplicity.15:09
dansmithefried: the same argument goes fo "some vendor shows up with a P2V'd ancient appliance that requires a specific hardware topology and we spent years trying to implement that instead of actually competing on something that matters"15:09
sean-k-mooneyso as an operate i can create a flavor with 8 cores and pinnnge and then as a user i can upload an image the says make the vm have 1 socket and, 2 thread per core,  and 1 nuam node please15:10
efrieddansmith: I dig. But NUMA isn't going away.15:10
efriedand edge tuning is like the big thing, isn't it?15:10
dansmithefried: no, numa isn't, that's not the point.. whether or not we need to provide this level of control over what the topology looks like instead of just providing a sane one with the asks we were given is.15:11
*** brinzhang_ has quit IRC15:11
dansmithefried: mostly because of legacy appliances afaik :)15:11
efriedif a good-enough VM was good enough, sure.15:11
efriedbut in edge IIUC you need to be able to squeeze every cycle out of your hardware, no?15:12
sean-k-mooneywell if we were to provide a sane topology by default we would have to change our curren policy of 1 cpu socket per vcpu15:12
sean-k-mooneybut i get what you mean15:12
dansmiththat's not generally the reason they need to strictly control the topology.. it seems like the reason, but it's often not :)15:12
sean-k-mooneysane default would be nice15:12
efriedI think we have sane defaults, don't we?15:12
dansmithanyway, I'm not trying to stop the train on those grounds,15:12
sean-k-mooneyefried: i would not call the cpu toplogy nova generates sane15:13
efriedheh15:13
efriedwell, it could be15:13
dansmithI'm more looking for a signpost in the distance of what level of abstraction others have chosen15:13
sean-k-mooneyif you have a 16 VCPU guest it will give you a guest with 16 cpu socket each wtih a 1 core 1 thread cpu15:13
sean-k-mooneyand for software licence that chages per socket that is expensive15:14
sean-k-mooneythat iw why the cpu topology extra specs where added15:14
dansmithexactly :)15:14
dansmithnot for perf tuning :)15:14
sean-k-mooneywindows server used to be changed per socket not per core15:14
dansmithand nvidia has some similar things15:15
sean-k-mooneyso if you are sane you would do hw:cpu_socket=1 hw:cpu_theads=215:15
dansmithand closed source P2V'd ancient telco appliances are far far worse15:15
efrieddansmith: I think I see your point. It should be *possible* to say "give me $p pinned and $s shared, you go figure out how to distribute them" without *having* to say "I want CPUs 0,3,7 pinned and 1,2,4-6 shared".15:15
dansmithefried: pretty much15:15
sean-k-mooneyefried: yes so that is what we wanted to discuss in the meeting when we said count vs mask15:15
efriedBut I would argue that, if you care about a pinned vs shared split, you care enough about performance that having to do the extra syntax isn't a big jump.15:16
dansmiththere's also the device-to-numa affinity which I understand is important, so that your nic is affined to your dedicated cpus15:16
efriedmm15:16
sean-k-mooneydansmith: that is out of scope of this spec but yes that is a factor15:16
dansmithcertainly you know I'm not arguing that operators of multi-billion-dollar clouds shouldn't have to write 255 characters of ascii syntax for this right?15:17
dansmithsean-k-mooney: no, I know, I was just commenting that I know asking for the abstract isn't enough15:17
dansmithsean-k-mooney: or rather, asking for his abstract example15:17
sean-k-mooneyso if we take numa as an example15:17
sean-k-mooneywe actully support both15:17
sean-k-mooneyif you do hw:numa_nodes=215:18
sean-k-mooneyand say nothing esle we devied the cpu and ram evenly between the numa nodes15:18
sean-k-mooneybut you can also use hw:numa_cpu.0=2 .... to speciy the numa of cpus or ram per numa node15:18
sean-k-mooneymost peopel jsut hw:numa_nodes and let nova do it15:19
*** ociuhandu has quit IRC15:19
sean-k-mooneyi guess the diffferen with numa id they can detect the cpu and ram in the gues via the kernel jsut as if it was real hardware15:19
*** ociuhandu has joined #openstack-nova15:20
sean-k-mooneypining vs floaing is a qualtive change ranter then quantative so if they care about that then need another openstack sepcifc way to determin that15:20
*** tbachman has quit IRC15:21
sean-k-mooneythe primary use case for this by the way that im aware of is for realtime guests where they want all the realtime cores to be pinned and the non realtime managment core to be floating so that they can get the most desity out of a host15:22
dansmithefried: so I guess to close,15:22
dansmithefried: my preference (and what I thought we were moving towards) was a future where resource (amounts) are specified in placement syntax, and topologies and the like are assigned sanely. Tweaks to how those look (like I really need this thing pinned here) would be hw:things but where the hw: is the optional15:23
dansmithmeaning, usually you just ask for the amount of stuff you want and we give it to you in a sane arrangement which is fine for most people,15:23
dansmithand hw:tweak your way to a specific arrangement if that's important15:24
dansmitha more clear delineation of which thing does what15:24
*** ociuhandu has quit IRC15:24
*** ociuhandu has joined #openstack-nova15:24
dansmithwith the hw: being the primary, then I'm not sure how you know when you do or don't or can't specify some resource count as well15:24
*** dave-mccowan has quit IRC15:25
dansmithbut anyway, I grok the complexity on both sides and I'm sure both will have warts15:25
sean-k-mooneyi could see that working if we had a speartion between the placment query and the resouces*:* element in the extra specs15:25
efriedWe're very close to agreeing here. I want the clear delineation to be that placement-ese syntax doesn't have side effects. That's the same delineation as you describe in *most* cases.15:25
dansmithwell, in what I said above, asking for PCPUS:2 would get you two pinned cpus, which I think you're describing as a side effect15:26
sean-k-mooneydansmith: in your world would you see the need to supprot the number group syntax in the flavor for example15:26
dansmithsean-k-mooney: I will totally admit that I don't (ever) have the resource group numbering quagmire swapped into my head, but I assume yeah, you might need an extension to placement syntax to group those things if that's what you mean15:27
dansmithresources:2:PCPUS=2 I assume15:28
*** ociuhandu has quit IRC15:28
sean-k-mooneythe numbered sysntax means that all resouce requst in that group must come from the same RP15:28
sean-k-mooneyso if you have resources:2:PCPUS=2,MEMORY_MB=102415:29
dansmithack15:29
sean-k-mooneythen you need 2 pinned cpus and 1G of memory form the same resouce provider15:29
dansmithyeah, I dunno, that's encoding a little bit of topology into the placement syntax,15:29
sean-k-mooneyso if you use that and we move to numa in placmenet it will break15:29
*** mkrai has joined #openstack-nova15:29
dansmithwhere we should be able to parse the hw: things and alter the actual things we ask placement for inside nova I think15:30
efrieddansmith: exactly ^15:30
sean-k-mooneyyes so if you only used the unmbered syntax15:30
sean-k-mooneyand had the hw:* things tweek the toplogy i can see it working15:30
efriedThe existing (unsuffixed) placement syntax is already pretty complicated to understand. Trying to add group identifiers to that will make it worse.15:30
sean-k-mooneyas nova can alter it interally15:30
efriedand then you have to understand *how* we model numa in placement15:31
sean-k-mooneywell we already support grouping of bothe the resouce and trait requests15:31
dansmithsean-k-mooney: right, so I'd say do that.. placement syntax for totals, hw syntax for details, let nova alter what we ask placement for based on any tweaks you asked for15:31
efriedand how group identifiers correspond to that.15:31
dansmithefried: I totes don't understand how current placement syntax is hard to understand15:31
sean-k-mooneydansmith: ya i could see that working as we aready alter stuff with the prefilters now15:31
efrieddansmith: maybe you're too close to it15:32
sean-k-mooneydansmith: its complicated if you use the numbered groups15:32
sean-k-mooneyif you dont ist not that bad and its consitent15:32
*** tbachman has joined #openstack-nova15:32
*** udesale has quit IRC15:33
dansmithsean-k-mooney: but we don't use numbered groups in the flavor placement syntax today right?15:33
sean-k-mooneyyour are forced to use the groups today if you want to apply trait requirement to specific resouces15:33
sean-k-mooneydansmith: we do15:33
efriedI think we support it, yes15:33
sean-k-mooneywell you can use them15:33
efriedwe just don't have many use cases that need it today.15:33
efriedperhaps... none?15:34
dansmithefried: well, I've had to explain it a few times and it has always been really nice, but okay15:34
dansmithokay, I didn't know we even supported the group numbering today15:34
sean-k-mooneyit was added so you could say these traits are for my nic and these other traits are for my cpu15:34
sean-k-mooneybut since we dont have traiats that apply to mulple resouce classes today? do we? i dont think its stictly required15:35
dansmithsean-k-mooney: is the reason we need that an artifact of how placement works or something?15:35
dansmithbecause I would think that with no traits that apply to both cpus and nics that wouldn't be a thing I need to specify15:35
efrieddansmith: I get what you're saying. For most cases, the placement-ese syntax isn't any more complicated than the hw:-ese syntax. I'm asserting that we will for sure need the latter, and understanding *both* is harder than understanding *one* of them.15:35
sean-k-mooneywell you cant do resocues:<resouce class>=X; <traits for that RC>15:35
sean-k-mooneyso you have to do resources1:PCPU traits1=AVX=required15:36
dansmithefried: I'm saying I think placement syntax (not including groups) is simpler and more consistent than hw syntax and is easier to understand as a whole DSL on that basis15:36
sean-k-mooneywhere the sufix 1 in this case pairs the trait and request group15:36
efriedsean-k-mooney: which only matters if we have multiple providers, which today is only the case for VGPU and bandwidth.15:37
efriedright?15:37
dansmithefried: and I'm also saying that I can understand the language of placement syntax in a few minutes, but never learn the taxonomy that is hw: without docs always in front of me15:37
sean-k-mooneyyes15:37
efrieddansmith: ack15:37
sean-k-mooneyalthough i thory it would matter for cinder volumes too with sharing providers15:37
efriedin theory, yes. in theory it also matters for numa.15:38
sean-k-mooneybut ya its only imporant for nested resouce providres or sharing15:38
sean-k-mooneyif we have 1 RP per compute then you never need grouping15:38
sean-k-mooneywith no nesting or sharing15:39
*** mriedem has joined #openstack-nova15:40
efriedWe've done all this work to support nesting and grouping primarily for numa and shared storage. Only in train did we get to a point where placement is powerful enough to do what we want for numa. And in this release we've landed a couple of patches to make nova use those placement microversions.15:40
sean-k-mooneydansmith: if we removed supprot for the group syntax then it would make hw:* been used for congriuation and resouce: be used for quantity much simpler15:40
efriedso we're making progress.15:40
efriedbut the last jump, modeling numa in placement from nova, is going to be really hard.15:40
dansmithsean-k-mooney: ack15:41
efriedI would be fine with that fwiw.15:41
efriedthough it would technically be removing functionality that15:41
efried...that we've already released with15:42
efriedeven if it's pretty unlikely anyone is using it.15:42
sean-k-mooneywell yes but we have depreacated things in  the past.15:42
efriedyeah15:42
efriedthis becomes relevant for cyborg too btw.15:42
sean-k-mooneyi think there are 3 distinct things. Resocues:* for quantiy, hw:* for configuration and traits:* for capablities15:43
alex_xui guess nobody using group now15:43
efriedand, dansmith, is a good example of where we could (but I really don't want to) use placement-ese to have side effects.15:43
sean-k-mooneyat the moment we allow hw:* to be renderd into resouces:* and traits:*15:43
openstackgerritBalazs Gibizer proposed openstack/nova master: DNM: Avoid PlacementFixture silently swallowing kwargs  https://review.opendev.org/70175415:43
dansmithefried: cyborg is a good example of side effects?15:44
efriedlike programming bitstreams15:44
dansmithefried: isn't the bitstream specified in the device profile in cyborg?15:44
efriedyes.15:45
sean-k-mooneydansmith: i think it a metadata key on the guest image15:45
efriedno (at least not yet)15:45
sean-k-mooneythe type of accelerator is definetly in the device profiel15:45
dansmithI think the bitstream is too15:45
sean-k-mooneythe important thing is its not in the nova flavor15:45
dansmithefried: I'm not sure what you mean exactly by cyborg would be a good example of side effects (affecting the bitstream we use?)15:46
efriedin the future we want to "prefer" hosts that have an accel with the desired bitstream already on them. In that case the placement request would us preferred=BITSTREAM_XXX. But we don't want to expose trait:BISTREAM_XXX=preferred in the flavor extra specs.15:47
dansmithefried: are you saying that if cyborg represented possible devices that could be composed by programming a, say, gzip bitstream into a fpga as a resource in placement that asking for that thing would cause you to get one?15:47
efriedkind of thing.15:47
sean-k-mooneywell vgpus is a example of Resources:vGPU=1 haveing an effect of actully provision a gpu for the guest15:47
dansmiththat's maybe a next-level leap from what I'm saying,15:47
dansmithbut it's also a much more user/ops-friendly way of stitching high level functions together15:48
*** TxGirlGeek has joined #openstack-nova15:48
dansmithi.e. instead of plugging low-level nova into low-level cyborg, you define an abstract thing in cyborg which becomes a high-level resource in nova that you just ask for by symbolic name,15:48
efriedYES15:48
dansmithwhich is more what I think we should be shooting for, compared to the former15:48
dansmithyou say YES, but I feel like you were arguing NO a minute ago, so I'm confused15:49
efriedToday the way we model resources in placement is very similar to the way nova thinks of them15:50
sean-k-mooneyhow about this. for the mix cpu case. we could say that if you do VCPU:2,PCPU:6 we will generate the topogy for you but you can override it with hw:gust_pinned_cpus15:50
efriedso just understanding placement syntax is enough15:50
sean-k-mooneybut you could just set hw:guest_pinned_cpus too15:50
efriedbut very soon (numa modeling, cyborg) we will have to model in placement in ways that are less intuitive15:51
efriedif we continue to support placement-ese in that future, it will required the user to understand that extra translation15:51
efriedI'm just suggesting we hide that translation in nova.15:51
dansmithbut then we have to invent syntax for everything no?15:52
efriedwe already have that syntax15:52
sean-k-mooneyno only if we want to expose contol over that translation15:52
dansmithefried: we've already invented new syntax for "please include me an accelerator by the name of X"15:53
dansmithefried: if that was a placement resource, we wouldn't have had to do that, but we did and now sundar is inspecting internal flavor details of this bespoke syntax everywhere15:53
openstackgerritLee Yarwood proposed openstack/nova stable/train: Add recreate test for bug 1855927  https://review.opendev.org/70175615:53
openstackbug 1855927 in OpenStack Compute (nova) "_poll_unconfirmed_resizes may not retry later if confirm_resize fails in API" [Low,In progress] https://launchpad.net/bugs/1855927 - Assigned to Matt Riedemann (mriedem)15:53
openstackgerritLee Yarwood proposed openstack/nova stable/train: Ensure source service is up before resizing/migrating  https://review.opendev.org/70175715:53
dansmithefried: and we will have to invent new syntax when we want to ask it to be hung on a specific numa node I think too right?15:54
dansmithso we'll have two unique things for accelerators: which one and how to attach15:54
sean-k-mooneydansmith: well that would only work if each resouce class is only owned by 1 project15:54
sean-k-mooneynova already "owns" the VGPU resouce class15:55
dansmithwat15:55
sean-k-mooneyso that would mean we woudl have to have a seperate CYBORG_VGPU resouce class for cyborg manged VGPUs15:55
efriednaw15:55
dansmithwe're assigning ownership of *classes* now?15:56
efriedper-project ownership is at the RP level.15:56
sean-k-mooneydansmith: to use the vgpu support in nova today you set resouce:vgpu=115:56
dansmithI thought only instances of RPs were owned15:56
efried^15:56
dansmithyeah what efried said15:56
*** TxGirlGeek has quit IRC15:56
openstackgerritMerged openstack/nova master: Do not reschedule on ExternalNetworkAttachForbidden  https://review.opendev.org/69417915:56
openstackgerritMerged openstack/nova master: nova-net: Remove firewall support (pt. 3)  https://review.opendev.org/70051115:56
sean-k-mooneywell yes but how would you know in the resouce:vgpu=1 if libvirt or cyborge shoudl handel that request15:56
openstackgerritMerged openstack/nova stable/rocky: Add functional recreate test for bug 1852610  https://review.opendev.org/69810815:57
openstackbug 1852610 in OpenStack Compute (nova) rocky "API allows source compute service/node deletion while instances are pending a resize confirm/revert" [Medium,In progress] https://launchpad.net/bugs/1852610 - Assigned to Matt Riedemann (mriedem)15:57
openstackgerritMerged openstack/nova stable/rocky: Add functional recreate revert resize test for bug 1852610  https://review.opendev.org/69811015:57
dansmithsean-k-mooney: libvirt handles it in both cases eventually, but that's my point about all of this15:57
*** TxGirlGeek has joined #openstack-nova15:57
dansmithsean-k-mooney: we should have the user ask for what they want, not what they want how they think it's plumbed today15:57
dansmithbecause if we move vgpu handling completely to cyborg in the future,15:58
dansmiththe syntax shouldn't have to change, the users shouldn't have to know how the cloud is doing that behind the scenes, etc15:58
dansmithwe're supposed to be an abstraction, not just an API15:58
sean-k-mooneyyes i agree with that in principal. and yes libvirt will provide it in either case where it is invetoried by the livbrit driver or cyborg15:58
efriedYes, we had to invent syntax for cyborg, and we'll have to extend existing syntax for numa. IMO that's not a bad thing.15:59
efriedIF we could reasonably use placement syntax for everything, that would be okay, but that is not going to be possible.15:59
efriedSo we're going to need the snowflake syntax no matter what.15:59
efriedSo when it comes to choosing between using placement syntax in an awkward way, or inventing a new fit-for-purpose custom syntax, I vote for the latter.15:59
efriedCurrently we have ways to use the placement syntax mostly-not-awkwardly, which is where we're conflicting.15:59
sean-k-mooneypart of the proably however was if i wanted 2 fpga with differet bit stream i might need to select different devices to be compatible15:59
efriedI feel like we're repeating at this point.15:59
efriedI need to run to a meeting. BBIAB16:00
sean-k-mooneythat 2 devices with different requirements lead to the need for use to model each request as a seperate request group with different traits16:00
dansmithsean-k-mooney: right, today that will add a third permutation of the cyborg syntax to my point above16:00
sean-k-mooneyso it would force the grouping syntax if we jsut use the placeemtn stuff directly16:01
sean-k-mooneywell not on the nova side it woudl jsut eb 2 device profiles16:01
sean-k-mooneybut yes i could16:01
dansmithsean-k-mooney: I'm saying today there is only one flavor key which is "_the_ device profile" in cyborg16:02
sean-k-mooneyyes16:02
dansmithif you need to add more in the future, like we will for hot-attach, then we'll be adding something _else_16:02
sean-k-mooneyya16:02
*** ivve has quit IRC16:02
*** gyee has joined #openstack-nova16:03
*** tbachman has quit IRC16:03
sean-k-mooneyi know its not a sexy thing but i kind of do feel like maybe next cycle it would be good to try and rationalise this and write down how we envision this evolveing16:04
*** canori01 has quit IRC16:04
sean-k-mooneye.g. taking all the feature we have like this and trying to express them in with placement for resouces and hw:* for tweeks ectra and see what that looks like16:05
sean-k-mooneyat lest when it comes to numa i think we need to do that for cpus and memory before doing numa in placmenet16:06
*** jawad_axd has joined #openstack-nova16:07
*** mlavalle has joined #openstack-nova16:07
dansmiththere goes sean-k-mooney promising to do stuff "next cycle" :)16:08
dansmithbut yes, I thought we were a lot more unified on the plan obviously16:08
dansmithand after this conversation, it feels more like "eff it, just invent new stuff each time"16:09
*** jawad_ax_ has joined #openstack-nova16:09
*** jawad_axd has quit IRC16:09
openstackgerritVictor Coutellier proposed openstack/nova-specs master: Non-admin user can filter their instances by AZs  https://review.opendev.org/70176316:13
alistarleHi, I was waiting for the #open-discussion part of the meeting but seems there was not today16:13
alistarleI have reported a blueprint about the ability for non admin to filter server by availability zone, I was very surprised that it is an admin only one : https://blueprints.launchpad.net/nova/+spec/non-admin-filter-instance-by-az16:14
alistarle@efried review my code and suggest me to talk about it in the meeting today, in case there will need a spec for that, but waiting for the open discussion I have written the spec :)16:15
*** slaweq has quit IRC16:17
*** Sundar has joined #openstack-nova16:17
dansmithalistarle: if it's an api change, then it needs to be a spec16:18
alistarleIt is not really an api change, as everything are already available, it is just about allowing non-admin user to do something restricted to admin16:18
dansmithalistarle: az is a thing that is exposed to users in general, so filtering on it is probably okay, but some thought will need to be given because of things like cells16:18
alistarleBut thanks, at least I have not wrote the specs for nothing ;)16:19
dansmithoh I see16:19
dansmithI'm still not sure it doesn't require a microversion bump, fwiw16:20
alistarleThat's why in the code, @efried was not sure about requiring a new microversion or not, as it does not really change something in the API16:20
dansmithgmann: ^16:21
alistarleI agree with you, in my opinion it is not required16:22
melwitthm, I'd have thought that would just be to add a new policy item, not a need a new microversion16:22
dansmithmelwitt: well, looking at the code around the change, I dunno16:22
alistarleThere is already a policy item available, as explained in the alternative in the specs, for it does not really fit the needs16:22
dansmiththe way non-admin search params are handled, everything is very specific16:22
dansmithmelwitt: also, unless the user gets a 401 when they try to use it now, a microversion is the only signaling method that they can expect it to work16:23
alistarleOr it fit too much the need I would say ^^16:23
dansmithalistarle: your assertion that policy changes during upgrade are hard is no longer valid, I think,16:24
dansmithsince the policy file is just what you want to change, not the full list16:24
dansmithand if it is, your vendor is doing it wrong16:24
alistarleHmm ok fine, but what about giving too much right to customer ?16:25
dansmithI'm not sure what that means16:25
alistarleThey can filter on everything then, not only AZ16:26
melwittoh, hm. when os_compute_api:servers:allow_all_filters was added it wasn't a new microversion https://github.com/openstack/nova/commit/7c56588647be64a2248b1f37d40369765bc6b977 and I thought you couldn't otherwise know to expect it to work16:26
alistarleAnd I really think some filter must stay admin only by default16:26
dansmithmelwitt: hmm, is that a boolean just "you can use all filters or not" ?16:27
melwittso based on that, I thought adding something like os_compute_api:servers:allow_az_filter and default it to admin-only would be in the same vein16:28
dansmithmelwitt: the reason I'm not sure is because of all of these filters are added specifically by microversion: https://review.opendev.org/#/c/701609/3/nova/api/openstack/compute/servers.py16:28
*** ociuhandu has joined #openstack-nova16:28
dansmithmelwitt: that's not what is being proposed, fwiw16:28
alistarleHmm yes, but why not just allowing user to do it by default ? As AZ are a public exposed thing16:28
melwittdansmith: yeah it's boolean. looking at your link now16:28
dansmithmelwitt: ack, okay so that's not precise enough to just add the az filter for people, but I get your point on the microversion thing16:29
melwittdansmith: ohhhh, I see now16:29
dansmithmelwitt: enabling that would appear to enable a bunch of new filters for non-admins without a microversion, but those are still covered by the microversion in which they were addd16:29
sean-k-mooneydansmith: :) on internal call but i would like to look at this before next cycle but want to look at porting the legacy jobs and finish the image metadata prefiler before stratign anything new16:30
dansmithmelwitt: it's just that the way the code is laid out, it seems like what filters a user can expect is very tied to microversion, hence my punt to gmann16:30
*** mkrai has quit IRC16:30
dansmithmelwitt: especially since that method clearly says "this is just the non-admin search filters"16:31
melwittalistarle: I had been thinking so as not to cause an undetectable change in api behavior upon upgrade but yeah I guess if az's are public across the board you're saying why not just change it. in that case I think yeah you'd need a microversion to signal the switch?16:31
dansmithmelwitt: it could be that admins can filter on anything and that gets passed straight to the db, which is how that used to work, so just enabling it by name for the non-admins would be adding a new documented public filter, which would be a microversion16:31
melwittdansmith: yeah, I think I see your point now16:33
*** slaweq has joined #openstack-nova16:34
alistarleI think that was efried point too here in the code : https://review.opendev.org/#/c/701609/16:34
efriedmore or less, yes16:37
*** ociuhandu has quit IRC16:38
*** slaweq has quit IRC16:40
alistarleOk so should I wait for review in the specs or you think It's is not required and work directly on the code ?16:41
efriedalistarle: You can work on the code if you want, but obviously we won't consider merging it until/unless the spec is approved.16:42
efriedI think this makes sense, though, and should be very simple even with the microversion change. I wouldn't expect it to be controversial.16:42
dansmithyup16:43
alistarleGreat news :)  So I will look at your comment about the tests I can add waiting for your reviews then ;)16:44
sean-k-mooneyefried: oh by the way stephen is on PTO which is why he did not get time to review that last night16:45
efriedahh, thanks for the info sean-k-mooney16:45
efriedalistarle: do you know how to make a microversion?16:46
alistarleHmmm, not at all :/16:48
alistarleIs there a documentation somewhere ?16:48
efriedyes16:49
efriedstand by16:49
efriedalistarle: https://docs.openstack.org/nova/latest/contributor/microversions.html16:52
*** N3l1x has joined #openstack-nova16:52
efriedAlso, if you like to learn/work by example, you could look at previous changes that introduce new microversions.16:52
efriedalistarle: For example, if you git blame the file you're messing with16:54
efriedhttps://review.opendev.org/#/c/701609/3/nova/api/openstack/compute/servers.py16:54
efriedyou'll find that L1280-1 were added via I46edd595e7417c584106487123774a73c6dbe65e / https://review.opendev.org/#/c/648662/16:54
efriedThat does more than you need, but it includes a microversion bump.16:54
alistarleOk good, thanks for the resources !16:55
efriedbtw, if you find incorrect or outdated information in the doc while you're working on this, please also propose corrections to the docs :)16:55
*** tbachman has joined #openstack-nova16:55
*** TxGirlGeek has quit IRC16:56
alistarleI will work on that then, seems to be far more change than the original change16:56
dansmithalistarle: the microversion bump will dwarf your actual change, for sure16:59
dansmithbut that's how our api versioning scheme works, so the size tradeoff isn't an argument to avoid doing it16:59
*** damien_r has quit IRC16:59
alistarleNo problem, I totally agree with that :)17:00
efriedalistarle: to summarize the reason for needing a microversion, in this context: API consumers need to be able to discover whether they should expect this filter to work or not. And the mechanism for discovering that is by seeing whether a particular microversion is supported.17:01
*** tesseract has quit IRC17:01
efriedespecially in this case where prior to your fix (IIUC) we'll silently ignore the AZ filter, the consumer would have no good way of knowing whether it worked or not.17:02
*** dtantsur is now known as dtantsur|afk17:03
dansmithother than inspection in the detail case, but yeah17:03
dansmithif they're filtering by az, then O(n) inspection is probably going to be bad if it didn't work :)17:03
efriedhence "good"17:04
dansmithyep17:05
alistarle@efrie17:05
alistarle@efried yes I understand better the microversion need now17:05
*** tosky has quit IRC17:05
*** ociuhandu has joined #openstack-nova17:06
*** tosky has joined #openstack-nova17:06
efriedcool17:06
*** gentoorax is now known as cyclaw17:07
gibiefried: I'm +2 on the vtpm spec https://review.opendev.org/#/c/68680417:08
efriedgibi: thanks. Sounds like stephenfin is PTO, hopefully he'll push it when he returns.17:09
efriedsean-k-mooney: any idea when he's back?17:09
*** ociuhandu has quit IRC17:16
sean-k-mooneyam i belive tuesday so if gibi is +2 and you adresss his nits i think you can proceed without him17:18
*** alistarle has quit IRC17:18
sean-k-mooneyor bauzas could bug him to take a look they when he show up at his place17:18
sean-k-mooneythey are going skieing so if there is an acident we could be down two cores17:19
sean-k-mooneyi remember thing in the flight back to hetrown form the first vancouver ptg that there were at least 8 cores and sevel other active comunity member on that flight17:20
*** evrardjp has quit IRC17:33
*** evrardjp has joined #openstack-nova17:34
*** TxGirlGeek has joined #openstack-nova17:35
*** martinkennelly has quit IRC17:35
*** rpittau is now known as rpittau|afk17:44
*** eharney has quit IRC17:44
*** jawad_ax_ has quit IRC18:04
*** davidsha has quit IRC18:05
*** ociuhandu has joined #openstack-nova18:07
*** Sundar has quit IRC18:07
gmanndansmith: melwitt efried yeah I agree that if we are changing the filters for admin/non-admin without policy it need microversion otherwise even it is restriction or extensions of allowed filters will cause interop issue.18:12
dansmith++18:12
efriedthanks gmann18:12
gmannbut i thought new policy 'os_compute_api:servers:allow_all_filters' solve the filtering issue for non-admin and operator can do that way.18:13
gmannbut if changing policy is not preferable then we can reiterate on non-admin filters and may be we may find some filters which we should allow for them. so +1 on spec to iterate on those not just AZ.18:14
openstackgerritEric Fried proposed openstack/nova master: DNM: Test granular tempest changes for bug 1844568  https://review.opendev.org/70179418:15
openstackbug 1844568 in tempest "[compute] "create_test_server" if networks is undefined and more than one network is present" [Medium,In progress] https://launchpad.net/bugs/1844568 - Assigned to Eric Fried (efried)18:15
efriedralonsoh: ^18:15
*** ociuhandu has quit IRC18:15
efriedgmann: that approach was problematic, see the patches18:15
efriedI think tldr it gave too much power18:16
dansmithefried: gibi: I want to work on our marriage instead of just fight all the time: https://review.opendev.org/#/c/701796/18:16
*** ociuhandu has joined #openstack-nova18:16
dansmith(see that and below)18:16
efrieddansmith: I read that as "f'ing default"18:17
dansmithI think _fn is a fairly common suffix for function, but if you want something else that's fine18:18
dansmithit's short18:18
efriedno, it's good, I was just joshing around.18:18
dansmithdefault_callback or default_function are both long to specify in a class defintion18:18
dansmithokay18:18
dansmithremember the therapist said to be direct in our communication to avoid misunderstandings18:19
dansmithespecially in front of the children18:19
dansmithanyway, this'll require an ovo release before we can use either of these, and I don't even know how that happens these days, but I think we'll be able to reparent things like your new request classes,18:20
dansmithand get them the default behavior you want18:20
*** ociuhandu has quit IRC18:21
efrieddansmith: I'm not sure I understand how this differs from using the existing syntax, considering the deepcopy we've identified previously. It looks like it might let you do extra things during the initialization that a deepcopy wouldn't account for; but afaict nobody is asking for that?18:21
dansmithefried: which are you talking about?18:21
dansmiththe default_fn one?18:22
efrieddefault_fn, yes.18:22
efriedOh, you said "below", I was waiting for another link in IRC. Looking at the other patch now....18:22
dansmiththe reason I actually wrote that one is more so you can provide a class than a function18:23
openstackgerritRodolfo Alonso Hernandez proposed openstack/nova master: DNM: Test global tempest changes for bug 1844568  https://review.opendev.org/70179918:23
openstackbug 1844568 in tempest "[compute] "create_test_server" if networks is undefined and more than one network is present" [Medium,In progress] https://launchpad.net/bugs/1844568 - Assigned to Rodolfo Alonso (rodolfo-alonso-hernandez)18:23
ralonsohefried, ^^18:23
*** ociuhandu has joined #openstack-nova18:23
efriedralonsoh: ack18:23
dansmithyes, it'll still get deepcopy'd for compat, but not knowing that detail, it's more intuitive for just providing a callable thing like a class and having it instantiated18:24
dansmithyou know, I actually might be able to eliminate the deepcopy if you provide a _fn,18:24
dansmithif I make the default wrapper do the deepcopy18:24
efriedas long as that wouldn't break anyone already relying on the deepcopy...18:25
dansmithyeah, that's what we need to avoid, so I was just going to punt on it18:26
dansmithbut I'm not sure it'd be legit to be relying on that subtle of a detail18:26
sean-k-mooneyralonsoh: is that to deal with the fact that somethins there are multile network and in somecase we race there creation if we change concurancy > 218:26
ralonsohsean-k-mooney, yes18:26
efriedsean-k-mooney: trying to tackle the "Multiple networks found" CI errors that are making 80% of our CI runs fail.18:27
sean-k-mooneyok in some cases where you are using tempest without floating ip we still need to be able to specify a network for the tempset clietn to be abel to ssh in on18:27
sean-k-mooneyi assume that will still work18:27
*** ociuhandu has quit IRC18:27
ralonsohsean-k-mooney, yeah, from the neutron channel18:28
ralonsohhttp://paste.openstack.org/show/788211/18:28
efriedI think that's what we're trying to find out18:28
efriedpossibly "can be made to work"18:28
sean-k-mooneywell its more we support using tempest on real clouds for interop testing in that case we suppro specify a public network where you vm can directly create ports instead of using fip18:30
sean-k-mooneyim jsut making sure that if we create network for the compute test we can still support that when we need too18:30
sean-k-mooneyi can move to the neuton channel by the way if that makes more sense18:30
sean-k-mooneyi dont in prinsipal see an issue with createing a network for each trest although i know that some clould like rackspace used to have neutron but not allow tenant to call the api18:31
efriedSee, I don't understand any of that, and don't especially want to take the time to learn it. I just want to make our CI not fail for reasons unrelated to the code being tested.18:35
sean-k-mooneyhttps://github.com/openstack/tempest/blob/97052fae121174b9d6daa51684c03f730dc74683/tempest/config.py#L303-L30918:35
sean-k-mooneyim refering to this config option by the way18:35
efrieddansmith: added a comment in https://review.opendev.org/#/c/701795/18:36
efriedI like where this is going, thank you.18:36
sean-k-mooneyand there is also a seperate config for ssh verification18:36
sean-k-mooneyhttps://github.com/openstack/tempest/blob/97052fae121174b9d6daa51684c03f730dc74683/tempest/config.py#L831-L83418:36
dansmithefried: yep, replying18:36
efriedsean-k-mooney: I did notice that we're doing this explicit network setup in a different method, prepare_instance_network, based on some other conf options.18:37
efriedbut understanding what those conf options mean, and why certain tests would want to do that but others wouldn't... again, deeper than I want to go.18:38
sean-k-mooneywell to be clear i have not fully groked what ralonsoh is change yet18:39
ralonsohgroked?18:40
sean-k-mooneyi just know that there are some case where always createing neutron network might be an issue18:40
sean-k-mooneyralonsoh: formed a complete understanding of18:40
sean-k-mooneyhttps://en.wikipedia.org/wiki/Grok18:40
*** maciejjozefczyk has quit IRC18:41
ralonsohsean-k-mooney, maybe we can do the opposite: in those cases where the network creation is an issue, we can disable it18:42
sean-k-mooneywell the idea fo the fixed network was so you could execute test in an enve where the network were precreated. in that case you wont have the multiple network isue anyway18:43
sean-k-mooneyso if that config is defiend you would be able to jsut not create teh network and use the one set in the config18:43
ralonsohagree18:44
sean-k-mooneyfor the ssh verificaiton im also wondering if you need to create a router too? instead of an isolated network?18:45
*** tosky has quit IRC18:48
*** mgariepy has quit IRC18:59
sean-k-mooneyefried: ralonsoh i left a comment on the review. i think in general this would make sense just would need someone more familar to check this wont break things19:00
sean-k-mooneyanother example of when you need to use fixed netowrkisn is usign tempest with ironic and flat netorkign. so its not just for rackspace.19:01
sean-k-mooneythat said you can deploy ironic with neutron netorks too but i still dont know how common that is19:01
*** eharney has joined #openstack-nova19:01
dustincdansmith: Is there a chance that you can check this out and maybe wf+1? It is just a small update to the Provider Config File spec. https://review.opendev.org/#/c/693414/19:16
*** bbowen has quit IRC19:16
*** zul has quit IRC19:20
*** bbowen has joined #openstack-nova19:21
*** henriqueof1 has quit IRC19:22
*** pcaruana has quit IRC19:35
*** ociuhandu has joined #openstack-nova19:42
*** ralonsoh has quit IRC19:44
*** ociuhandu has quit IRC19:47
*** openstackgerrit has quit IRC19:59
*** damien_r has joined #openstack-nova20:07
*** slaweq has joined #openstack-nova20:07
*** damien_r has quit IRC20:10
*** openstackgerrit has joined #openstack-nova20:14
openstackgerritLee Yarwood proposed openstack/nova stable/train: Add recreate test for bug 1855927  https://review.opendev.org/70175620:14
openstackbug 1855927 in OpenStack Compute (nova) "_poll_unconfirmed_resizes may not retry later if confirm_resize fails in API" [Low,In progress] https://launchpad.net/bugs/1855927 - Assigned to Matt Riedemann (mriedem)20:14
openstackgerritLee Yarwood proposed openstack/nova stable/train: Ensure source service is up before resizing/migrating  https://review.opendev.org/70175720:14
*** lchabert has quit IRC20:35
*** dpawlik has quit IRC20:35
*** lchabert has joined #openstack-nova20:36
openstackgerritGhanshyam Mann proposed openstack/nova master: Add new default roles in os-agents policies  https://review.opendev.org/70164820:41
openstackgerritGhanshyam Mann proposed openstack/nova master: Pass the actual target in os-agents policy  https://review.opendev.org/70164920:42
openstackgerritGhanshyam Mann proposed openstack/nova master: Add test coverage of existing os-assisted_volume_snapshots policies  https://review.opendev.org/70183520:51
openstackgerritGhanshyam Mann proposed openstack/nova master: Introduce scope_types in os-assisted_volume_snapshots policy  https://review.opendev.org/70183720:58
openstackgerritGhanshyam Mann proposed openstack/nova master: Add new default roles in os-assisted_volume_snapshots policies  https://review.opendev.org/70184021:02
*** eharney has quit IRC21:05
openstackgerritGhanshyam Mann proposed openstack/nova master: Pass the actual target in os-assisted_volume_snapshots policy  https://review.opendev.org/70184121:08
*** ivve has joined #openstack-nova21:09
*** awalende has joined #openstack-nova21:12
*** awalende has quit IRC21:16
dansmithefried: still around?21:40
efriedyes21:40
dansmithefried: I think you're missing my point on the defaulting stuff, and mashing together the default_fn thing with the object mix-in21:41
dansmiththey're not really related, as you'll note the mixin has nothing to do with the default_fn thing21:41
efriedyeah, I get that they could be separate. I'm just not sure there's a reason to do that.21:41
dansmiththe latter is just syntactic sugar in most cases, aside from the fact that the latest patch avoids copying everything all the time21:41
dansmiththey're wholly separate21:42
dansmithdefault_fn has nothing to do with whether or not it's applied implicitly at init time21:42
efriedI understand that21:42
dansmithokay21:43
efriedbut still think there's value in smashing them together.21:43
dansmithdo you understand that I don't want to mix default-on-init into objects that are representative of row-based data structures on the other side of an rpc pipe?21:43
efriedYes.21:43
efriedum, I think I do21:44
efriedI don't think I'm suggesting otherwise.21:44
dansmithyour latest reply seems to disagree21:44
efriedas long as we're talking about object as opposed to class21:44
efriedI don't think a class def of a field needs to be tied to every case where an instance of that class is used in a parent object21:45
efriedlike with nullable, where we're saying a particular instance of that class is tied to a db column that's either nullable or not.21:46
efried(I get that that's not all it says, but that was its impetus)21:46
dansmithum21:47
dansmithmaybe you're focusing on objects that are included as fields on another object specifically?21:47
efriedyes, that's exactly what I'm doing.21:47
dansmithhang on, ups21:48
dansmithso, I the inner object getting the behavior we want is cool, but not if it breaks the outer objects or the whole system21:49
*** nweinber__ has quit IRC21:49
dansmithand making a single field default-on-init is what I don't want to do21:49
dansmithwhich is why keying the default-on-init on the default_fn=<callable> isn't okay, IMHO21:50
efriedI thought "making a single field default-on-init" is exactly what we *did* want to do. It indicates that we know that field isn't backed by a db column, among other things, and we want the convenience of being able to count on it being set without having to default it explicitly or have it autovivify.21:51
dansmithno, it's precisely what I don't want21:53
*** bbowen has quit IRC21:53
dansmithI just finished reading your reply and replied, that we definitely don't need a subclass-per-type like you surmised21:54
*** bbowen has joined #openstack-nova21:54
efriedI'm playing with it now, and I think it's helping me understand the distinction you're making.21:54
efriedgimme a couple minutes...21:54
*** xek__ has quit IRC21:55
dansmithright, so RequestSpec could become fully ephemeral IMHO21:56
efriedokay, so really what the bottom patch does is make __init__(): obj_set_defaults() sanctioned behavior21:57
dansmithwhich means RequestSpec(NovaObject) becomes RequestSpec(EphemeralObject), and your default request_level_params gets applied at start21:57
dansmithyes21:57
dansmithcategorically if inheriting from the mixin, that's the point21:57
dansmith"this object is one of those that doesn't represent database columns and therefore can behave defaultly"21:58
dansmithbasically, anything that does not have NovaPersistentObject in its MRO would be okay to make ephemeral I think21:58
efried...and RequestLevelParams itself would also inherit from EphemeralObject, so that its root_required/root_forbidden fields woul default at that same time?21:58
dansmiththat ^ is our mixin for hard database affinity, although we couldn't be quite that sweeping21:58
dansmithyes21:59
efriedWe could do this just as easily in nova; but we want to do it in ovo to kind of send a message about preferred usage??22:01
dansmithI guess we could do the init defaulting part yeah22:02
efriedCould do it in nova as a stopgap until we can suck in the ovo release22:02
dansmithyup22:02
efriedand I can see making an infrastructure that poisons use of obj_set_defaults in __init__ unless inheriting from Ephemeral22:02
efried...to enforce the paradigm22:03
dansmithI thought it was going to involve a little more mucking with obj_set_defaults() than it did, but I was also planning both of these together22:03
dansmithefried: we can test for it in test_objects I think22:03
dansmithefried: instantiate every object (like we do) and make sure that unless it inherits from that mixin, nothing is set after init22:03
efriedwell, that doesn't prove obj_set_defaults wasn't invoked. I was thinking about making obj_set_defaults set a flag or something, then we can check for that flag in the test22:04
dansmithwell, we have (or had)objects in the past that didn't use set_defaults, but just set them explicitly in __init_22:05
efriedIs that also a bad thing?22:05
dansmithjust "self.foo = None" or something in __init__22:05
efriedI would think that would be okay.22:05
dansmithit's the exact same thing, except less obvious, so.. yes?22:05
efriedit's just the blanket obj_set_defaults we want to avoid22:05
dansmithit's the *exact* same outcome :)22:05
dansmithyou make it sound like it's just an arbitrary rule... the reason for the rule is because of the clobbering of columns22:06
*** maciejjozefczyk has joined #openstack-nova22:07
efriedwhich is never ever desirable?22:07
dansmithfor a row-based object, never ever22:08
dansmithand without a system in place, people see and copy examples, which is why we have a few in the tree22:08
dansmithany time I or mriedem would catch it in review, we'd get it taken out, but things slip through,22:08
dansmiththen people see that example, figure it's okay, etc22:09
efriedyeah, I get it. So, an enforcing test.22:09
dansmithso what I'm trying to say is let's make it a little more obvious, you can only do this if you inherit from ephemeral, but you better not be row-based22:09
dansmithall our objects used to be basically 1:1 mappings for the db, but over time we've grown a lot more of these general purpose ones, so it used to be easy to say "you can never ever do this"22:10
efriedreally, we could do the test without introducing any new semantics. Course, that would mean actually fixing the existing violations, immediately. Which we can put off if we introduce the new semantics.22:10
efriedso, I dig.22:10
dansmithyou mean we can do the test now and fix the instances we have, right?22:11
dansmiththat's true, but I think the point here is, it's legit to want sane defaulting for certain types of objects so let's open the door but in a controlled way22:11
dansmithso anything in tree that does this now either should be inheriting from the new base, or their __init__ behavior needs be to cleaned up22:11
efriedI mean:22:12
efriedIf we set up the test now, we have to fix the existing objects that violate the rule22:12
efriedbut22:12
efriedIf we set up the Ephemeral infrastructure, we can just blindly make those objects inherit from it so we're no worse off than we were before, and fix them "later", but new work will have to be compliant22:12
*** maciejjozefczyk has quit IRC22:12
dansmithwell, I don't want to blindly do it, I want to examine each case, but there aren't that many that I know of (other than notifications I think)22:13
dansmithbut otherwise yes22:13
efriedokay, I'm on board.22:13
dansmithno reason to fix them only to open the door to the thing a patch later22:13
*** N3l1x has quit IRC22:13
dansmithSo tomorrow I will copy that into nova, work on the test and see where we are22:14
efriedjust since it's in my head, would it make sense for the long-term solution to instead use a class variable on VersionedObject, EPHEMERAL=False, which ephemeral subclasses could override to True?22:15
efriedinstead of a mixin22:15
dansmithdoing that means you could have an ephemeral parent and be non-ephemeral yourself, which would be bad22:16
dansmithor the opposite22:16
dansmithyou saw my reply that nova things will not need to mixin themselves right?22:17
dansmiththere will be a base class in base.py which mixes in and then you'll inherit from that once22:17
dansmithand that means we can always isinstance(thing, NovaEphemeral) to know its true nature22:18
*** slaweq has quit IRC22:19
efriedas opposed to self.EPHEMERAL. But yeah, the possibility of flipping back and forth in nested subclasses is a reasonable argument against that.22:19
dansmithyeah I just mean you can't really fake your parentage easily22:20
efriedthough this way you can still do that, but you can only flip *to* ephemeral, and you can only do it once.22:20
efriedunless we just don't define the mixin at all. Make NovaEphemeral a subclass of NovaObject.22:21
efriedanyway, details.22:21
dansmithyeah, just being a class variable makes it changeable at runtime, vs an essential quality of the thing22:22
dansmithwhat's the argument for it being a class variable?22:22
dansmithless formality, maybe, but I'm going for formality here22:22
efried"efried doesn't like mixins"?22:22
dansmithoh I don't really either, but I think I was asked to make those qualities mixins because that's how python libraries do things like this without affecting interfaces as much22:23
efriedmakes it tough to figure out what's happening22:23
efriedye gods, have you seen the openstacksdk project?22:23
dansmithyep, totally agree, which is why the one class that does the mixin in base and then you single-inherit from that, knowing its done right22:24
dansmithmixin heaven?22:24
efriedevery class has like a dozen mixins, and it's freaking impossible to understand where you go when you invoke a method22:24
dansmithyeah, I'm totally with you on that22:24
dansmithwhen this was all code in nova there was a lot less mixing going on22:24
efriedmixins, and proxy shims, and dynamic construction, and ...22:24
dansmithbut it's a library now, so..22:25
*** bbowen has quit IRC22:32
*** bbowen has joined #openstack-nova22:32
*** TxGirlGeek has quit IRC22:36
*** rcernin has joined #openstack-nova22:57
*** abaindur has joined #openstack-nova22:58
*** mriedem has left #openstack-nova22:58
*** tbachman has quit IRC23:01
*** tkajinam has joined #openstack-nova23:05
*** slaweq has joined #openstack-nova23:20
*** slaweq has quit IRC23:25
*** dviroel has quit IRC23:28

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!