| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-10-08 | |||
| 12:31:56 | openstackgerrit | Merged openstack/python-novaclient master: Follow up "Fix up userdata argument to rebuild" https://review.openstack.org/607800 | |
| 12:31:57 | openstackgerrit | Merged openstack/python-novaclient master: Update the CLI reference https://review.openstack.org/606871 | |
| 12:32:09 | sean-k-mooney | jangutter: so the VIFPortProfileOVSRepresentor port profile you wanted to disucss its future? | |
| 12:32:25 | stephenfin | ralonsoh: One nit in https://review.openstack.org/#/c/605422/, if you're working on stuff | |
| 12:33:06 | jangutter | sean-k-mooney: yeah, basically the "option 2". I.e. what do you think should the abstraction layer be for offloads. | |
| 12:33:17 | ralonsoh | stephenfin: I'll submit the modified patch in 5 mins | |
| 12:33:40 | sean-k-mooney | jangutter: well for a start VIFPortProfileOVSRepresentor today does not contain any offload metadata at all | |
| 12:33:41 | jangutter | sean-k-mooney: the current review might be "option 3" then :-p | |
| 12:34:19 | jangutter | sean-k-mooney: it contains the PCI address of the repr? | |
| 12:34:23 | sean-k-mooney | jangutter: it contins info for how to attach the datapane to ovs but no info about offloads | |
| 12:34:37 | sean-k-mooney | jangutter: that is not offload metadata as far as im concserned | |
| 12:34:43 | jangutter | sean-k-mooney: yeah, "plugging" more than "hey set these TC flows". | |
| 12:35:03 | sean-k-mooney | jangutter: right so is your intent to enable the later or the former | |
| 12:35:28 | jangutter | sean-k-mooney: the former, this is to make plugging more generic. | |
| 12:35:35 | sean-k-mooney | well tc flows is also wrong | |
| 12:36:02 | jangutter | sean-k-mooney: been staring at the words "offload" too long so it kinda lost its meaning in my mind. | |
| 12:36:03 | sean-k-mooney | enable TSO or LSO is a offload | |
| 12:36:32 | sean-k-mooney | * offload metadata | |
| 12:36:53 | jangutter | sean-k-mooney: You can also enable or disable TC offloads (and if you want to be really specific, choosing the TC dataplane for OVS, with the offloaded option and then plugging into the resulting SR-IOV VF). | |
| 12:37:32 | sean-k-mooney | jangutter: yes but TC offloads are not flows e.g. they do not change where a packet is sent | |
| 12:37:43 | jangutter | sean-k-mooney: na-ah, they can. | |
| 12:38:22 | sean-k-mooney | tc flows can but its not an offload if send the packet to new york instad of sydney | |
| 12:39:34 | sean-k-mooney | jangutter: that is what i ment by choosing where its send not is this done in software or hadware | |
| 12:39:43 | jangutter | sean-k-mooney: it is an offload if the packet is encapped in a vxlan tunnel before it goes to NY :-p | |
| 12:39:51 | mdbooth | Folks, when running gertty for the first time, how many years should you wait for the UI to become responsive? | |
| 12:40:10 | openstackgerrit | Yikun Jiang proposed openstack/nova master: Remove the allocation ratios adjusting logic https://review.openstack.org/602805 | |
| 12:40:10 | openstackgerrit | Yikun Jiang proposed openstack/nova master: Use new ``initial_xxx_allocation_ratio`` CONF https://review.openstack.org/602804 | |
| 12:40:20 | sean-k-mooney | jangutter: no it would have been encapulated in software without the offload and set there in ether case | |
| 12:40:21 | jangutter | sean-k-mooney: but yeah, I take your point, my semantics is all wrong. | |
| 12:41:50 | jangutter | sean-k-mooney: so, I guess there's at least one action point for me: at least s/offloads/plugging modes/ in many respects on the spec. | |
| 12:42:03 | sean-k-mooney | jangutter: so back to what you acatully want to achive. im fine with haveing a generic port forifle that carries the data plane info for represntors | |
| 12:42:28 | jangutter | sean-k-mooney: and keep the OVS representor profile as is? | |
| 12:42:29 | sean-k-mooney | if we want to allow offload config the it has to be at the port level only. | |
| 12:42:51 | sean-k-mooney | jangutter: well that depend on if you want to do offload config | |
| 12:42:57 | sean-k-mooney | or how | |
| 12:43:20 | sean-k-mooney | the thing is the generic represtor port profile should not know anything about ovs | |
| 12:43:47 | sean-k-mooney | so if we have to enable an offload in a ovs specific way then that should not be in the generic profile | |
| 12:44:12 | jangutter | sean-k-mooney: yep.... you do realise it's making more of Jay's case for him :-p | |
| 12:44:33 | sean-k-mooney | if we have some traits like thing we can use as an indirection and have the driver interperate that then thats fine | |
| 12:45:12 | jangutter | sean-k-mooney: but I understand what you mean, the distinction between offload metadata and plugging modes should be separate. | |
| 12:45:19 | sean-k-mooney | jangutter: not really i just said storing backend sepcific metadata in the generic represtor profile would not be ok | |
| 12:45:27 | sean-k-mooney | that include via compostion | |
| 12:45:39 | sean-k-mooney | jangutter: ya | |
| 12:46:30 | jangutter | sean-k-mooney: cool, so you had in mind "add one more class" not "convert one more class to a random bag of dicts"... | |
| 12:46:48 | sean-k-mooney | yes | |
| 12:47:21 | sean-k-mooney | random bag of dicts that will some day be sent over api is less then ideal | |
| 12:47:37 | jangutter | sean-k-mooney: verily. | |
| 12:48:35 | jangutter | sean-k-mooney: thanks very much, will archive this review as a warning to future developers. | |
| 12:48:56 | sean-k-mooney | im fine with VIFPortProfileOVSRepresentor having no addtional field and inheriting from VIFPortProfileRepresentor by the way | |
| 12:49:28 | jangutter | sean-k-mooney: that won't work, unfortunately, will have to be multiple inheritance. | |
| 12:49:37 | sean-k-mooney | the thing is right now we dont have any offload metadata that we are sending so the pluggins modes info is all that class contains | |
| 12:49:44 | fried_rice | mdbooth: I set up gertty during the PTG and it took like three days before it finished loading everything down. | |
| 12:49:54 | sean-k-mooney | jangutter: oh why? | |
| 12:50:16 | mdbooth | efried: Ah, ok. That's when I started, and it took so long I assumed I'd done it wrong and deleted it. | |
| 12:50:31 | efried | mdbooth: That had been my experience the first time I tried it. | |
| 12:50:35 | jangutter | sean-k-mooney: with VIFHostDevice or VIFVhostUser we need the bridge name and other thingies too. | |
| 12:50:54 | efried | mdbooth: Perhaps broadband you could get it to load up faster, though actually I suspect not. I wasn't getting close to maxing out my bw when I was doing it. | |
| 12:51:01 | jangutter | sean-k-mooney: so OVSRepresentor would have to have multiple inheritance (OVS and Representor). | |
| 12:51:09 | sean-k-mooney | efried: ya there are some knonw issue. if its worth anything the pip version works better the package manager | |
| 12:51:22 | mdbooth | Well I'm currently on 4G mobile data, so I guess I'd better kill it | |
| 12:51:25 | efried | I don't remember how I installed it. | |
| 12:51:27 | sean-k-mooney | jangutter: no it wouldn't | |
| 12:51:33 | jangutter | efried: yeah, apparently ONLY USE THE PIP VERSION. | |
| 12:51:35 | openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/os-vif master: Add native implementation OVSDB API https://review.openstack.org/482226 | |
| 12:51:41 | sean-k-mooney | VIFPortProfileOVSRepresentor is a port profile not a vif | |
| 12:52:08 | mdbooth | No, seriously | |
| 12:52:55 | jangutter | sean-k-mooney: ah you're right: interface_id is what's currently used. | |
| 12:52:59 | sean-k-mooney | mdbooth: it takes a while to sync because its cloneing all the git repos you subsribe to | |
| 12:53:23 | mdbooth | My gate is finally open. | |
| 12:53:28 | sean-k-mooney | jangutter: interface_id is used for what exactly | |
| 12:54:17 | jangutter | sean-k-mooney: when the port gets plugged into OVS, there's an interface_id UUID added to the OVSDB config. | |
| 12:54:45 | sean-k-mooney | yes that is pulled form the ID field in the base os-vif VIF object | |
| 12:54:47 | jangutter | sean-k-mooney: last time I checked, Neutron listens to OVSDB for that interface_id UUID to pop up in order to confirm the plugging. | |
| 12:55:22 | sean-k-mooney | jangutter: for the ml2 agent yes it check the interface_id in the external_ids colume of the port table | |
| 12:55:56 | jangutter | sean-k-mooney: yep, but is that guaranteed to be the same as VIFBase.id ? | |
| 12:56:12 | sean-k-mooney | jangutter: yes that is where we read if from | |
| 12:56:23 | jangutter | sean-k-mooney: why is interface_id then a field in the OVS port profile? | |
| 12:57:09 | sean-k-mooney | legacy reasons | |
| 12:57:15 | sean-k-mooney | basically it was used by libvirt | |
| 12:57:38 | sean-k-mooney | it got copied when we did the import from nova but its the same id | |
| 12:57:51 | jangutter | sean-k-mooney: o.m.w. here I was thinking that it's the whole reason behind port profiles! | |
| 12:58:02 | sean-k-mooney | jangutter: nope | |
| 12:58:46 | jangutter | sean-k-mooney: so, one VIF can only ever ever have one interface ID, and that's the same as its UUID? | |
| 12:58:59 | sean-k-mooney | looks like we are using it https://github.com/openstack/os-vif/blob/master/vif_plug_ovs/ovs.py#L124 | |
| 12:59:15 | sean-k-mooney | jangutter: yep it should be | |
| 12:59:46 | sean-k-mooney | let me check nova to confirm but they should never be different as far as i know | |
| 12:59:53 | jangutter | sean-k-mooney: yep, that was the line of code that made me thought it could differ from vifbase.id. | |
| 13:00:27 | sean-k-mooney | i dont think it can but im checking | |
| 13:00:47 | openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/os-vif master: Remove IPTools deprecated implementation https://review.openstack.org/605422 | |
| 13:02:04 | sean-k-mooney | jangutter: so ya the neutron port uuid is stored in the id field https://github.com/openstack/nova/blob/master/nova/network/os_vif_util.py#L248-L264 | |
| 13:03:08 | jangutter | sean-k-mooney: interface_id=vif.get('ovs_interfaceid') or vif['id'] | |
| 13:03:14 | sean-k-mooney | jangutter: and here we even default it to the vif[id] if ovs_interfaceid is not set https://github.com/openstack/nova/blob/master/nova/network/os_vif_util.py#L288 | |
| 13:03:23 | sean-k-mooney | yes | |
| 13:03:47 | jangutter | sean-k-mooney: yep.... Guess what, I've also wrote code like that. | |
| 13:04:18 | jangutter | sean-k-mooney: but my interpretation was that "ovs_interfaceid" is the new hotness and vif['id'] is old-and-busted. | |
| 13:05:26 | sean-k-mooney | jangutter: nope othere way around ovs_interfaceid i think was a nova networks thing | |
| 13:05:57 | sean-k-mooney | using neutron i dont think they can ever be different at least not currently | |
| 13:06:09 | jangutter | https://github.com/openstack/nova/blob/master/nova/tests/unit/virt/libvirt/test_vif.py#L84 | |
| 13:06:46 | jangutter | sean-k-mooney: yeah, in the tests, there's a definite difference between uuids.ovs and uuids.vif | |
| 13:07:05 | sean-k-mooney | jangutter: that does not mean the tests are correct :) | |