*** edmondsw has joined #openstack-powervm | 09:45 | |
*** edmondsw has quit IRC | 09:49 | |
*** tonyb has quit IRC | 10:16 | |
*** tonyb has joined #openstack-powervm | 10:23 | |
*** edmondsw has joined #openstack-powervm | 13:05 | |
*** esberglu has joined #openstack-powervm | 14:32 | |
efried | edmondsw: 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 |
---|---|---|
efried | I 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@1004 | 21:17 |
edmondsw | efried I'll have to refresh my memory on that one | 21:17 |
efried | I really, really don't want to use the existing values, cause they're totally bogus. | 21:17 |
edmondsw | efried what makes you say we don't have it OOT? | 21:18 |
efried | oh | 21:18 |
edmondsw | when we have a conf setting IT, it is available OOT as well. If we redefined it OOT, we'd get a dup conf error | 21:18 |
efried | yeah, I remember this now. | 21:19 |
edmondsw | and looks like we're using it OOT | 21:19 |
efried | yeah, thanks for the un-duh. | 21:19 |
edmondsw | always glad to help :) | 21:19 |
efried | edmondsw: While I've got you here, though... | 21:19 |
* edmondsw sneaks out the back... | 21:19 | |
efried | let's discuss allocation ratios, min/max units, and reserved amounts for the Big Three. | 21:20 |
efried | VCPU allocation ratio is easy, 1/CONF.proc_units_factor | 21:20 |
edmondsw | efried what do you mean by allocation ratio? | 21:21 |
efried | it's what placement calls an overcommit ratio. | 21:21 |
efried | Basically 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.0 | 21:22 |
efried | sorry, s/1000/100/ for the sake of this math. | 21:22 |
efried | example | 21:22 |
edmondsw | k | 21:23 |
efried | There are other potential factors to include | 21:23 |
efried | like, if using sharing LPARs | 21:23 |
efried | or counting on only a certain number of LPARs being up at any given time. | 21:23 |
efried | I 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 |
edmondsw | efried remember that proc_units_factor is ignored if you specify proc units | 21:25 |
efried | it is? | 21:26 |
edmondsw | so it's just like a default | 21:26 |
edmondsw | yep | 21:26 |
efried | I thought proc_units was how *many* of those you wanted. | 21:26 |
edmondsw | efried https://github.com/powervm/pypowervm/blob/master/pypowervm/utils/lpar_builder.py#L194-L195 | 21:26 |
efried | I.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 |
efried | um, so is proc_units whole physical procs? | 21:27 |
efried | and there's some other attribute that's how many VCPUs? | 21:27 |
edmondsw | looking at the pypowervm code and it is confusing me... | 21:32 |
edmondsw | yes, you can specify both vcpus and proc_units in the flavor | 21:32 |
edmondsw | I believe you have to specify how many vcpus you want | 21:33 |
edmondsw | and then if you specify proc units then each vcpu will get num_vcpus/num_proc_units proc units | 21:34 |
edmondsw | if you don't specify proc units then each vcpu will get proc_units_factor proc units | 21:34 |
edmondsw | I think | 21:34 |
efried | Did I mention not liking lpar builder? | 21:35 |
efried | I apparently have to go chauffeur kids to band practice. bbiab | 21:35 |
edmondsw | efried see https://github.com/powervm/pypowervm/blob/master/pypowervm/utils/lpar_builder.py#L368 | 21:47 |
edmondsw | but what has me confused is L383-384... which appears to override anything the user may have specified | 21:48 |
edmondsw | for min/max | 21:48 |
edmondsw | I guess it assumes that if you didn't specify proc_units, you didn't specify min/max for proc_units either | 21:48 |
edmondsw | maybe that's fair... but will mean that if you want to change proc_units via DLPAR you're out of luck | 21:49 |
edmondsw | (if you didn't specify proc_units and relied on proc_units_factor) | 21:49 |
edmondsw | mdrabe is everything I'm saying correct here? | 21:49 |
*** esberglu has quit IRC | 21:49 | |
edmondsw | mdrabe read back the last 30 min | 21:50 |
edmondsw | mdrabe basically, proc_units_factor is only used if you don't specify powervm:proc_units in the flavor, correct? | 21:53 |
efried | Does VCPU come from the base flavor? | 22:00 |
efried | i.e. not extra_specs gorp? | 22:00 |
edmondsw | yes | 22:00 |
efried | This is gonna get weird. | 22:00 |
edmondsw | there is a min/max for vcpus in extra_specs, but the desired value comes from the base flavor | 22:00 |
efried | Because 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 whatever | 22:01 |
efried | but either way nova is going to count it as 1 VCPU against the inventory. | 22:02 |
efried | Can we, like, totally change the way we do flavors? | 22:02 |
efried | edmondsw: 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 |
edmondsw | efried I'm not sure... mdrabe jwcroppe or thorst would be the folks to ask that | 22:04 |
edmondsw | I would bet yes | 22:04 |
edmondsw | it's not the simplest thing | 22:05 |
efried | Certainly not. | 22:05 |
efried | nova/libvirt is pretty hand-wavey about it | 22:05 |
efried | They just use an allocation ratio like 16.0 and... hope for the best. | 22:05 |
edmondsw | what does that allocation ratio mean? | 22:06 |
efried | All it means in placement accounting terms is | 22:06 |
efried | if my inventory says I have X of a thing | 22:06 |
efried | and my allocation_ratio is Y | 22:06 |
efried | then I can actually allocate X*Y before placement will tell me I'm out of inventory. | 22:06 |
edmondsw | I don't think libvirt/x86 has a concept equivalent to proc units | 22:08 |
efried | I 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 |
edmondsw | efried let's sit down with thorst and plot this out tomorrow | 22:08 |
efried | Yeah. Cause this is only one of the things we need to figger. | 22:09 |
efried | Next in line is: | 22:09 |
edmondsw | I've gotta run | 22:09 |
efried | reserved 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 |
efried | yeah, I'm about done too. ttyl. | 22:09 |
*** edmondsw has quit IRC | 22:10 | |
*** esberglu has joined #openstack-powervm | 22:10 | |
*** esberglu has quit IRC | 22:14 | |
*** esberglu has joined #openstack-powervm | 22:36 | |
*** esberglu has quit IRC | 22:40 | |
*** esberglu has joined #openstack-powervm | 22:55 | |
*** esberglu has quit IRC | 22:59 | |
*** adreznec has quit IRC | 23:02 | |
*** esberglu has joined #openstack-powervm | 23:30 | |
*** esberglu has quit IRC | 23:35 | |
*** esberglu has joined #openstack-powervm | 23:55 | |
*** esberglu has quit IRC | 23:59 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!