Wednesday, 2018-08-08

*** edmondsw has joined #openstack-powervm09:45
*** edmondsw has quit IRC09:49
*** tonyb has quit IRC10:16
*** tonyb has joined #openstack-powervm10:23
*** edmondsw has joined #openstack-powervm13:05
*** esberglu has joined #openstack-powervm14:32
efriededmondsw: I noticed we have a proc_units_factor conf option in tree but not OOT. Were we planning to port that at some point?21:16
efriedI ask because I'm needing it to calculate the allocation_ratio to implement update_provider_tree: https://review.openstack.org/#/c/589668/2/nova_powervm/virt/powervm/driver.py@100421:17
edmondswefried I'll have to refresh my memory on that one21:17
efriedI really, really don't want to use the existing values, cause they're totally bogus.21:17
edmondswefried what makes you say we don't have it OOT?21:18
efriedoh21:18
edmondswwhen we have a conf setting IT, it is available OOT as well. If we redefined it OOT, we'd get a dup conf error21:18
efriedyeah, I remember this now.21:19
edmondswand looks like we're using it OOT21:19
efriedyeah, thanks for the un-duh.21:19
edmondswalways glad to help :)21:19
efriededmondsw: While I've got you here, though...21:19
* edmondsw sneaks out the back...21:19
efriedlet's discuss allocation ratios, min/max units, and reserved amounts for the Big Three.21:20
efriedVCPU allocation ratio is easy, 1/CONF.proc_units_factor21:20
edmondswefried what do you mean by allocation ratio?21:21
efriedit's what placement calls an overcommit ratio.21:21
efriedBasically if I say I have 10 physical processors, it really means I can create LPARs with 1000 VCPUs if my proc_units_factor is 0.1 => i.e. my allocation ratio is 10.021:22
efriedsorry, s/1000/100/ for the sake of this math.21:22
efriedexample21:22
edmondswk21:23
efriedThere are other potential factors to include21:23
efriedlike, if using sharing LPARs21:23
efriedor counting on only a certain number of LPARs being up at any given time.21:23
efriedI think a good enough approximation is probably 1/proc_units_factor, assuming it passes the gate. Because the default is 0.1 right now. But the default allocation ratio we used to get through the non-update_provider_tree code path in nova was 16.0.21:24
edmondswefried remember that proc_units_factor is ignored if you specify proc units21:25
efriedit is?21:26
edmondswso it's just like a default21:26
edmondswyep21:26
efriedI thought proc_units was how *many* of those you wanted.21:26
edmondswefried https://github.com/powervm/pypowervm/blob/master/pypowervm/utils/lpar_builder.py#L194-L19521:26
efriedI.e. proc_units_factor=0.1, proc_units=5 => I get 5 VCPUs which are 0.1 of a physical CPU each, for a total of 0.5 of a physical CPU.21:27
efriedum, so is proc_units whole physical procs?21:27
efriedand there's some other attribute that's how many VCPUs?21:27
edmondswlooking at the pypowervm code and it is confusing me...21:32
edmondswyes, you can specify both vcpus and proc_units in the flavor21:32
edmondswI believe you have to specify how many vcpus you want21:33
edmondswand then if you specify proc units then each vcpu will get num_vcpus/num_proc_units proc units21:34
edmondswif you don't specify proc units then each vcpu will get proc_units_factor proc units21:34
edmondswI think21:34
efriedDid I mention not liking lpar builder?21:35
efriedI apparently have to go chauffeur kids to band practice. bbiab21:35
edmondswefried see https://github.com/powervm/pypowervm/blob/master/pypowervm/utils/lpar_builder.py#L36821:47
edmondswbut what has me confused is L383-384... which appears to override anything the user may have specified21:48
edmondswfor min/max21:48
edmondswI guess it assumes that if you didn't specify proc_units, you didn't specify min/max for proc_units either21:48
edmondswmaybe that's fair... but will mean that if you want to change proc_units via DLPAR you're out of luck21:49
edmondsw(if you didn't specify proc_units and relied on proc_units_factor)21:49
edmondswmdrabe is everything I'm saying correct here?21:49
*** esberglu has quit IRC21:49
edmondswmdrabe read back the last 30 min21:50
edmondswmdrabe basically, proc_units_factor is only used if you don't specify powervm:proc_units in the flavor, correct?21:53
efriedDoes VCPU come from the base flavor?22:00
efriedi.e. not extra_specs gorp?22:00
edmondswyes22:00
efriedThis is gonna get weird.22:00
edmondswthere is a min/max for vcpus in extra_specs, but the desired value comes from the base flavor22:00
efriedBecause if they ask for VCPU=1 with dedicated procs, they get a whole proc, but if they ask for VCPU=1 with micropartitioning, they get 0.05 or whatever22:01
efriedbut either way nova is going to count it as 1 VCPU against the inventory.22:02
efriedCan we, like, totally change the way we do flavors?22:02
efriededmondsw: Have we ever had a customer complain about running out of capacity when they felt like they shouldn't have? Or vice versa?22:03
edmondswefried I'm not sure... mdrabe jwcroppe or thorst would be the folks to ask that22:04
edmondswI would bet yes22:04
edmondswit's not the simplest thing22:05
efriedCertainly not.22:05
efriednova/libvirt is pretty hand-wavey about it22:05
efriedThey just use an allocation ratio like 16.0 and... hope for the best.22:05
edmondswwhat does that allocation ratio mean?22:06
efriedAll it means in placement accounting terms is22:06
efriedif my inventory says I have X of a thing22:06
efriedand my allocation_ratio is Y22:06
efriedthen I can actually allocate X*Y before placement will tell me I'm out of inventory.22:06
edmondswI don't think libvirt/x86 has a concept equivalent to proc units22:08
efriedI mean, I guess it's better to use a generous allocation ratio so we don't get false negatives, because if we were truly out, we would still fail, just later (when we actually tried to create the LPAR).22:08
edmondswefried let's sit down with thorst and plot this out tomorrow22:08
efriedYeah. Cause this is only one of the things we need to figger.22:09
efriedNext in line is:22:09
edmondswI've gotta run22:09
efriedreserved amounts: VCPU and MEMORY_MB reserved amounts could theoretically be calculated by querying all the LPARs and subtracting all the ones that are Nova instances (i.e. to get the nvl, VIOSes, and OOB LPARs).22:09
efriedyeah, I'm about done too. ttyl.22:09
*** edmondsw has quit IRC22:10
*** esberglu has joined #openstack-powervm22:10
*** esberglu has quit IRC22:14
*** esberglu has joined #openstack-powervm22:36
*** esberglu has quit IRC22:40
*** esberglu has joined #openstack-powervm22:55
*** esberglu has quit IRC22:59
*** adreznec has quit IRC23:02
*** esberglu has joined #openstack-powervm23:30
*** esberglu has quit IRC23:35
*** esberglu has joined #openstack-powervm23:55
*** esberglu has quit IRC23:59

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