| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-02-10 | |||
| 18:49:17 | jroll | superdan: I'm honestly not sure | |
| 18:49:44 | jroll | superdan: I guess we could say any virt driver that passes back a resource_class field back from get_available_resource gets that resource class created/written | |
| 18:49:52 | jroll | that seems sane to me | |
| 18:50:03 | jroll | idk what else is special case | |
| 18:50:10 | superdan | we kinda do that today, but in old format, | |
| 18:50:13 | jroll | write all the resources returned into the placement api | |
| 18:50:33 | superdan | I would think we should be converting the drivers to communicate in the new format anyway | |
| 18:50:47 | mriedem | Guest54279: you want moshele who isn't around right now | |
| 18:50:52 | superdan | and since we're pike now, we need to rip out the old reporting format anyway | |
| 18:51:44 | jroll | so | |
| 18:52:05 | jroll | in pike we need ironic nodes reporting both cpu/disk/ram AND a resource class | |
| 18:52:11 | jroll | in queens we want just a resource class | |
| 18:52:24 | jroll | I feel like just writing everything returned by the driver is the right thing to do | |
| 18:52:36 | jroll | and we'll just change what the driver returns each cycle | |
| 18:52:51 | superdan | jroll: right so the ironic driver would return that extra thing right now and then stop later | |
| 18:53:04 | jroll | not sure why we need all this stuff to remove allocations for cpus, etc | |
| 18:53:42 | jroll | I need to buy a whiteboard for my office already :| | |
| 18:53:54 | leakypipes | sorry guys, was on a call. | |
| 18:54:48 | jroll | superdan: I know we're hyper to get this code done, but I'd almost rather map this plan out on the ML (or at the PTG if we still don't have a plan by then) | |
| 18:54:57 | jroll | and code according to that plan | |
| 18:55:00 | superdan | jroll: yeah | |
| 18:55:13 | superdan | jroll: I just haven't had time to look at this stuff until now and so I'm asking questions based on that | |
| 18:55:35 | jroll | superdan: right, I haven't had enough time either, tbh | |
| 18:56:24 | jroll | I kinda have it in my head, need to write it down and have people tell me where I'm wrong | |
| 18:56:33 | jroll | but I need to get ocata out the door first >.> | |
| 18:56:36 | superdan | I can do the latter part | |
| 18:56:45 | jroll | I'm sure you can | |
| 18:57:14 | mriedem | so maybe we do wed morning all resource providers/placement stuff at the ptg? | |
| 18:57:20 | mriedem | 10-noon is nova/cinder on thursday | |
| 18:57:28 | mriedem | jroll: or would you rather do wed afternoon? | |
| 18:57:33 | mriedem | maybe you don't care | |
| 18:57:44 | jroll | mriedem: yeah I think afternoon would be better | |
| 18:57:47 | mriedem | ok | |
| 18:57:54 | mriedem | let you guys get your ironic-specific stuff started on wed morning | |
| 18:57:59 | jroll | yeah | |
| 18:58:11 | jroll | I know at least a couple people wanted to float over for placement stuff | |
| 18:59:15 | leakypipes | superdan: what you're talking about there (fix the stuff in the virt driver's get_available_resource()) call is EXACTLY what I had originally proposed and that approach was shot down as too invasive of the virt layer :) | |
| 18:59:19 | mriedem | scottda: so for whatever reason, at 3am last night, i was thinking maybe we should just change the default catalog_info for nova/cinder to be v3 in pike | |
| 18:59:22 | leakypipes | superdan: lemme get a link ... one sec. | |
| 18:59:34 | superdan | leakypipes: well, this is too invasive to the RT layer, IMHO :D | |
| 18:59:37 | mriedem | scottda: anyone with older config would be using cinder v2, new nova installs would be cinder v3 by default | |
| 18:59:58 | mriedem | scottda: that would make us test nova + cinder v3 by default in the gate in pike | |
| 19:00:09 | leakypipes | superdan: see here for an original proposed solution to this: https://review.openstack.org/#/c/334038/ | |
| 19:00:22 | superdan | leakypipes: we might also haveanother method for just RP stuff, and just stop calling the old one at some point | |
| 19:00:25 | leakypipes | back in the good ole days of Mitaka :) | |
| 19:00:28 | superdan | to avoid mixing the two | |
| 19:00:39 | leakypipes | superdan: ya, totes agreed. | |
| 19:00:53 | superdan | leakypipes: where is the giant nak from zeus on that patch? | |
| 19:00:59 | leakypipes | superdan: I think we have to live with some more cruft int he RT for a time (until Queens at earliest). | |
| 19:01:09 | mriedem | ha yeah it's all +1s in there | |
| 19:02:07 | jroll | the get_inventory() method landed but not the implementations for the drivers, wat | |
| 19:02:12 | superdan | leakypipes: cruft being the reporting of both things? or what/ | |
| 19:02:40 | mriedem | leakypipes: no that was also abandoned https://review.openstack.org/#/c/334035/ | |
| 19:02:49 | mriedem | i don't know why it takes you to git.o.o | |
| 19:02:54 | jroll | mriedem: oh, weird | |
| 19:02:56 | jroll | thanks | |
| 19:03:16 | cfriesen | has anyone run into problems in the field due to heat trying to scale out with a flavor that has been deleted? Or is that sort of thing usually dealt with by issuing notifications of upcoming flavor changes? | |
| 19:03:35 | mriedem | cfriesen: no one uses heat in the field | |
| 19:03:42 | cfriesen | lol | |
| 19:03:50 | mriedem | btw, let me just say, trying to sort this ptg topics etherpad into some kind of agenda is giving me heartburn | |
| 19:04:28 | jroll | mriedem: just watching our new ptl sort ironic's topics gave me heartburn | |
| 19:04:32 | leakypipes | pretty sure it was bauzas that didn't like the get_inventory() stuff, but I can't find his comments now. maybe comments were only on IRC>... | |
| 19:05:14 | leakypipes | ah, no.. it was figleaf :) | |
| 19:05:35 | leakypipes | this patch here, comment from figleaf on PS3: https://review.openstack.org/#/c/415920/ | |
| 19:05:44 | mriedem | i'll go fill out foundation marketing surveys instead, that'll be much more fun | |
| 19:06:31 | superdan | leakypipes: well, regardless, I think that's the way to go IMHO | |
| 19:06:34 | leakypipes | that patch series originally added an update_inventory() method to the virt driver interface. | |
| 19:07:15 | mriedem | update_inventory() in each virt driver does seem gross | |
| 19:07:24 | mriedem | but get_resource_thingies() seems fine | |
| 19:07:30 | mriedem | if only ironic needs to return anything, then so be it | |
| 19:07:47 | mriedem | that's why i was thinking, just add a 'resource_class' key to the get_available_resources() dict | |
| 19:08:18 | superdan | mriedem: yeah, just "show me your resources, beeyotch" in the virt drviers | |
| 19:08:24 | superdan | not "update 'em too" | |
| 19:08:27 | leakypipes | mriedem: err, that already exists :) | |
| 19:08:52 | superdan | jroll: that's what I'm talking about | |
| 19:08:54 | leakypipes | https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L331 | |
| 19:09:17 | mriedem | ok, | |
| 19:09:26 | leakypipes | that's how things *already* work :) only for Ironic of course, though. | |
| 19:09:32 | mriedem | so why do we need the extra 'if resource_class: do special ironic stuff' in RT? | |
| 19:09:42 | superdan | because it's the wrong layer | |
| 19:09:47 | superdan | instead of returning the node class, | |
| 19:09:49 | superdan | we should return resources | |
| 19:09:53 | mriedem | because it's doing the whole drop old types, add new resource class | |
| 19:09:56 | superdan | so that the RT doesn't need to translate | |
| 19:09:56 | leakypipes | mriedem: because Ironic doesn't require the node.resource_class to be present. | |
| 19:10:15 | superdan | the ironic driver can return the VCPU, DISK, and IRONIC_FOO things when appropriate | |
| 19:10:21 | leakypipes | Take a look at the first PS on this: https://review.openstack.org/#/c/415921/ | |
| 19:11:22 | superdan | leakypipes: why not just "return inventory"? | |
| 19:11:25 | leakypipes | specifically, go here: | |
| 19:11:26 | leakypipes | https://review.openstack.org/#/c/415921/8..1/nova/virt/libvirt/driver.py | |
| 19:11:31 | leakypipes | line 5471 | |
| 19:11:59 | superdan | I don't like the semantics of this, but the general idea is what I'm saying | |
| 19:12:12 | leakypipes | superdan: because there was a complaint that "the virt driver then needs to understand the internals of the resource provider and inventory modeling of the placement API"./ | |
| 19:12:30 | jroll | I don't think it does | |
| 19:12:42 | jroll | it just needs to know what a VCPUS is, what a MEMORY_MB is, etc | |
| 19:12:42 | superdan | it just needs to know about resources, which is completely reasonable IMHO | |
| 19:12:53 | superdan | right | |
| 19:12:54 | superdan | and it knows about those today | |
| 19:13:00 | superdan | we just have to translate them from useless to usefulish in the RT | |
| 19:13:10 | superdan | and then we get shit like "if ironic, do other stuff" too high in the stack | |