| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-03-12 | |||
| 18:31:25 | sean-k-mooney | efried: yes we do for the neutron/cinder case and for failure domains. the virt driver should simple add/remove aggregates it owns but not overrite all aggregates for a RP | |
| 18:31:36 | dansmith | right | |
| 18:31:41 | efried | dansmith: Could be intra-tree; could also be inter-tree (e.g. a shared storage pool). The argument applies to the host agg mirrors as well as whatever else we want to do with aggs. | |
| 18:32:15 | efried | I.e. if the virt driver is not the single SoT for agg associations of the RPs it "owns", we have to have the exact same discussion as we just did with traits. | |
| 18:32:17 | sean-k-mooney | efried: for a shared storage pool nova does not really own that RP cinder likely does | |
| 18:32:40 | efried | sean-k-mooney: Sometimes. PowerVM SSPs will be (co-)owned by the virt driver(s). | |
| 18:32:44 | dansmith | efried: well, I agree the virt driver can draw its own aggregates around things and manage those itself, and maybe tell compute that it should join an aggregate for some shared storage it's connected to, | |
| 18:32:54 | dansmith | but nothing more authoritative than that | |
| 18:34:01 | efried | dansmith: In which case we need to amend the u_p_t charter for aggregates in the same way we just did for traits. Because as currently designed, virt just overwrites the aggregates. | |
| 18:34:29 | dansmith | efried: okay I'm not sure how that was ever considered a reasonable thing to do, but.. yes, agree it needs to not do that :) | |
| 18:34:53 | efried | And we have the same quandary as to which aggregates the virt driver "owns", so it knows which ones to de-assert. | |
| 18:35:05 | sean-k-mooney | efried: this feels like a case of placement is used almost entirely by nova today and we need to make it support other services. | |
| 18:35:16 | efried | And I contend that that's a much stickier problem than the traits one. Because we don't have a static list of agg UUIDs that virt "might" use. | |
| 18:35:27 | sean-k-mooney | efried: that said we should have hit this already with routed networks in neutron | |
| 18:35:35 | dansmith | efried: okay, I guess I'm surprised that aggregate membership is part of provider tree, but fair eough | |
| 18:35:52 | efried | sean-k-mooney: We're not talking about changing anything on the placement side. Just nova's consumption thereof. | |
| 18:36:02 | dansmith | efried: right, if it's doing that, then it's going to need some persistence to keep track of which ones it has created | |
| 18:36:16 | dansmith | sean-k-mooney: right his point is that we need to not be so aggressive in nova, | |
| 18:36:21 | dansmith | er, efried : | |
| 18:36:31 | dansmith | because we can't trample what other users would have done, human or otherwise | |
| 18:36:34 | sean-k-mooney | efried: yes but neutron is modeling routed netwoks in placement today using aggreagtes to express what node can connet to routed subnets correct? | |
| 18:37:39 | efried | I don't know that answer. (But probably not "today" if you mean "code that's merged".) | |
| 18:37:53 | dansmith | it doesn't matter, | |
| 18:37:57 | dansmith | that's a thing that will happen | |
| 18:38:00 | dansmith | neutron, cinder, et al | |
| 18:38:17 | sean-k-mooney | efried: well neutorn has been tracking routed network in placement since pike i think | |
| 18:38:53 | efried | sean-k-mooney: By creating placement aggregates around compute node resource providers? | |
| 18:39:20 | sean-k-mooney | efried: i think so im currently checking | |
| 18:39:47 | dansmith | it doesn't matter, that's a thing we must support | |
| 18:39:53 | jaypipes | efried: how about just relaxing the aggregate overwrite thing to instead just add aggregates (and potentially remove aggregates that the virt driver is 100% sure it owns fully)? | |
| 18:40:40 | efried | jaypipes: Which is exactly what we're doing for traits. The difference is that knowing that second thing is way harder for aggs. | |
| 18:41:56 | efried | jaypipes: Kinda one step harder than the trait thing will be for the ironic case... | |
| 18:42:01 | jaypipes | efried: if the virt driver created the agg, then it knows that, no? | |
| 18:42:06 | efried | jaypipes: No. | |
| 18:42:14 | efried | jaypipes: u_p_t has no memory. | |
| 18:42:29 | jaypipes | efried: right, but the virt driver could persist that data somewhere itself.. | |
| 18:42:51 | efried | jaypipes: Would have to be a file; else this doesn't work across compute restarts. | |
| 18:43:08 | efried | Are we in the practice of letting virt drivers write arbitrary files?? | |
| 18:43:48 | jaypipes | efried: IMHO, the virt drivers can do whatever they want w.r.t. persisting local information. | |
| 18:44:02 | efried | eek | |
| 18:44:03 | jaypipes | efried: hell, that's pretty much what the libvirt XML files are ;) | |
| 18:44:04 | cdent | except write allocations! ) | |
| 18:44:09 | dansmith | well, | |
| 18:44:13 | jaypipes | cdent: well... good point :) | |
| 18:44:23 | dansmith | anything we do in that regard has to *really* be sure that it supports upgrade properly, | |
| 18:44:28 | dansmith | and we don't have a lot of tooling around that | |
| 18:44:49 | dansmith | so I would be hesitant to approve any new things around that without a plan | |
| 18:45:02 | dansmith | right now, all the data we store is managed by nova and tested (to the limit it's possible) by our upgrade tooling | |
| 18:45:04 | jaypipes | dansmith: agreed. but, if powervm wants to use etcd running on a mainframe in a datacenter in Cambodia, I honestly couldn't care less. :) | |
| 18:45:10 | sean-k-mooney | efried: this covers the aggregate usecase for neutron reouted networks. https://specs.openstack.org/openstack/nova-specs/specs/newton/implemented/neutron-routed-networks.html#proposed-change | |
| 18:45:30 | dansmith | jaypipes: well, I care, because I care about users' experience with nova being positive when possible | |
| 18:45:39 | sean-k-mooney | efried: the first paragrph directly covers the use of aggregated to model network segments | |
| 18:45:43 | dansmith | jaypipes: which is why I care about virt drivers merging random crap that affects that view | |
| 18:45:44 | jaypipes | dansmith: I, of course, *would* care about the libvirt driver doing such a thing. | |
| 18:46:24 | dansmith | jaypipes: it's hard to explain why we hold libvirt to a different standard once we let things like that into other drivers, but anyway.. | |
| 18:46:40 | jaypipes | fair enough. | |
| 18:47:48 | sean-k-mooney | jaypipes: well libvirt xmls are generated at runtime so they are not really persiting state | |
| 18:48:11 | sean-k-mooney | jaypipes: we can recompute them form info in the nova db if they were deleted | |
| 18:48:16 | dansmith | sean-k-mooney: their compatibility is also managed by libvirt | |
| 18:49:35 | sean-k-mooney | dansmith: yes that too. we did discuss brefily that we could add a table to the nova db for virt dirvers to store instance specific info. provided we used ovo or something similar to version the data they stored for upgrades | |
| 18:50:08 | dansmith | yep, that would be better from an upgrade point of view | |
| 18:50:44 | sean-k-mooney | in this case we would have to simple presetit a list of virt_driver owned aggregats or something along those lines? | |
| 18:52:12 | sean-k-mooney | personally i dislike storing json blobs in the db but if its somting we will never query against and is just used as a keyvalue store for the virt dirver then as long as its versioned in some way i personally dont care as much | |
| 18:52:23 | dansmith | that's pretty specific to this case | |
| 18:52:49 | dansmith | I'm not opposed to virt drivers storing things locally, I just think we need a plan to avoid letting it get out of hand and breaking during an upgrade | |
| 18:54:37 | jaypipes | dansmith: I don't disagree with you. I was being a bit tongue in cheek earlier about the datacenter in Cambodia. | |
| 19:05:13 | openstackgerrit | Jay Pipes proposed openstack/nova-specs master: Support default allocation ratios https://review.openstack.org/552105 | |
| 19:06:59 | cfriesen | dansmith: as per discussion at PTG: https://bugs.launchpad.net/nova/+bug/1754782 I won't have any time to work on it till next week at the earliest. | |
| 19:07:00 | openstack | Launchpad bug 1754782 in OpenStack Compute (nova) "we skip critical scheduler filters when forcing the host on instance boot" [Undecided,New] | |
| 19:13:42 | melwitt | jaypipes: thanks for writing up the PTG summary for placement, good stuff | |
| 19:14:30 | jaypipes | melwitt: no prob. thanks to mriedem and gibi who double-checked stuff on it. | |
| 19:14:57 | melwitt | mriedem++ gibi++ | |
| 19:16:20 | sean-k-mooney | QQ just working on https://bugs.launchpad.net/nova/+bug/1747496 did we remove the old default config values from MTU when not set on the port from nova? i think we did but just setting | |
| 19:16:21 | openstack | Launchpad bug 1747496 in OpenStack Compute (nova) "MTUs are not set for VIFs if using kernel ovs + hybrid plug = false" [Medium,Confirmed] - Assigned to sean mooney (sean-k-mooney) | |
| 19:16:25 | sean-k-mooney | *checking | |
| 19:20:23 | openstackgerrit | Eric Fried proposed openstack/nova-specs master: Allow for merging traits https://review.openstack.org/552122 | |
| 19:20:34 | efried | dansmith, jaypipes, cdent, sean-k-mooney, edleafe: ^ | |
| 19:20:40 | sean-k-mooney | hum it does appare to be in https://github.com/openstack/nova/blob/master/nova/conf/network.py or in .../neutron.py so i guess they are gone and were move to os-vif https://github.com/openstack/os-vif/search?utf8=%E2%9C%93&q=network_device_mtu&type= | |
| 19:20:46 | efried | I didn't make any changes for aggregates. | |
| 19:21:01 | cdent | efried: thanks, in the queue | |
| 19:23:02 | sean-k-mooney | efried: im just heading home but i addem myself to the review and ill leave it open in a tab for tomorow. ill give it a quick skim before i leave however | |
| 19:24:18 | dansmith | efried: looks okay to me | |
| 19:25:46 | sean-k-mooney | efried: why did you start with "Traits are special. Rather than overwriting the entire set of traits" this statement also applies to RPs and Aggregates | |
| 19:26:17 | efried | sean-k-mooney: Because I wrote this before it occurred to me that we should be doing the same for the other bits. | |
| 19:26:21 | sean-k-mooney | efried: the compute node RP is not owned by nova so nova cant override all child RPs of the compute node either | |
| 19:26:29 | sean-k-mooney | efried: ah ok | |
| 19:26:51 | efried | sean-k-mooney: But I also wanted to do this one isolated because I don't think we're done discussing the others. | |
| 19:27:07 | efried | The compute node RP *is* owned by nova. | |
| 19:27:24 | efried | sean-k-mooney: And *some* of its children may also be. | |
| 19:27:51 | dansmith | yeah, the compute node RP is _definitely_ owned by nova :) | |
| 19:28:05 | efried | In general virt needs to be smart enough not to muck with stuff it doesn't own. But originally we *thought* that meant virt owns everything about the RPs it owns. | |
| 19:28:07 | sean-k-mooney | efried: that has issues wich other services want to tag it with traits | |
| 19:28:08 | dansmith | agreed nova can't blow away all the providers underneath, unless it's deleting the compute node | |
| 19:28:28 | sean-k-mooney | dansmith: well event then i dont think it can | |
| 19:28:36 | efried | Which is why we already have ProviderTree methods to add/remove providers in the tree. | |
| 19:28:42 | efried | ...individually. | |
| 19:28:49 | dansmith | sean-k-mooney: it has to be able to delete it and the subtree, IMHO | |
| 19:29:44 | sean-k-mooney | dansmith: if i have a converged deployment where my compute nodes are also cinder storage pool providers the the root node of the tree would be a parent of the nova resources and the cinder resouces | |
| 19:29:52 | efried | Agree. E.g. if neutron created bandwidth RPs under a PF, and compute removes the PF, the bandwidth providers are no longer relevant. | |
| 19:30:05 | sean-k-mooney | which is why i dont think the root node can be owned by nova | |