Bug 1369362
| Summary: | [RFE] OVN - port migration | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Marcin Mirecki <mmirecki> |
| Component: | openvswitch | Assignee: | Mark Michelson <mmichels> |
| Status: | CLOSED ERRATA | QA Contact: | haidong li <haili> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 7.5-Alt | CC: | aloughla, atragler, danken, fleitner, jsitnick, mleitner, pvauter, qding, rbryant, sukulkar, ylavi |
| Target Milestone: | rc | Keywords: | FutureFeature, Reopened |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | openvswitch-2.8 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-03-19 10:19:14 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1366899, 1411730, 1475436 | ||
|
Description
Marcin Mirecki
2016-08-23 08:27:26 UTC
Solution is under discussion upstream: https://mail.openvswitch.org/pipermail/ovs-dev/2017-February/329148.html Upstream discussion has not progressed, there is no solution at this time. Any updates? Upstream discussion has stalled out, will discuss how to revive it with Russell. Current status: high-level proposal exists, implementation does not. At this point it seems this will be included in upstream 2.9. New scheme (discussed in last RHV/OVN monthly meeting) has been posted upstream: https://mail.openvswitch.org/pipermail/ovs-dev/2017-August/337648.html It has since been committed to the master and 2.8 branches. The patch for this issue is in upstream master and 2.8 branches, and is
contained in released version 2.8.0. Note that a follow-up enhancement
patch from Russell is needed for neutron integration (not yet committed):
https://patchwork.ozlabs.org/patch/809039/
Author: Lance Richardson <lrichard>
Date: Sat Aug 19 16:23:34 2017 -0400
ovn: support requested-chassis option for logical switch ports
This patch adds support for a "requested-chassis" option for logical
switch ports. If set, the only chassis that will claim this port is the
chassis identfied by this option; if already bound by another chassis,
it will be released.
The primary benefit of this enhancement is allowing a CMS to prevent
"thrashing" in the southbound database during live migration by keeping
the original chassis from attempting to re-bind a port that is in the
process of migrating.
This would also allow (with some additional work) RBAC to be applied
to the Port_Binding table for additional security.
Signed-off-by: Lance Richardson <lrichard>
Signed-off-by: Russell Bryant <russell>
Hi,
This is part of branch-2.8:
commit f37dc273243cdc32e74e20a0b97f15c0acebc11e
Author: Lance Richardson <lrichard>
Date: Sat Aug 19 16:23:34 2017 -0400
ovn: support requested-chassis option for logical switch ports
I am closing this bug as it's done in upstream and eventually will part of our package when it gets rebased to 2.8 or newer.
If you need earlier, please re-open stating when and why it is needed.
Thanks,
fbl
Flavio, why wouldn't we set a proper target version, and wait for QA to properly test it before it closes? I prefer doing so in order to have an indication when downstream RHV can consume the future Reopening to review the request in comment 10. (In reply to Dan Kenigsberg from comment #10) > Flavio, why wouldn't we set a proper target version, and wait for QA to > properly test it before it closes? I was told that this was tracking upstream effort and there was no target release for this to be backported. > I prefer doing so in order to have an indication when downstream RHV can > consume the future 2.8 is in fdBeta, so you can already try it. (In reply to Flavio Leitner from comment #12) > (In reply to Dan Kenigsberg from comment #10) > > Flavio, why wouldn't we set a proper target version, and wait for QA to > > properly test it before it closes? > > I was told that this was tracking upstream effort and there was no target > release for this to be backported. > > > I prefer doing so in order to have an indication when downstream RHV can > > consume the future > > 2.8 is in fdBeta, so you can already try it. RHV has a requirement for this. Please add it to the QE test plan, so we can get this feature test and won't hit any integration roadblocks. Hi Flavio, Is it necessary to configure the "requested-chassis" option before vm migration in ovn environment,and will the option help make vm migration faster?The migration time sometimes is 4s when I haven't use the option before,hope the it will help to make faster.Need I use a special version of libvirt? Please help to explain,thanks a lot! The requested-chassis option is designed to prevent the situation where multiple ovn-controller instances are trying to claim a specific logical port at the same time, resulting in "thrashing". The idea is that the active ovn-controller instance should be the one in the requested-chassis setting. This way, the standby ovn-controller instance will not attempt to claim the port for itself. Can you explain the procedure you are using for VM migration? It may be possible that migration can happen faster, but my instinct is that this will not greatly speed up the process. Hi Mark, Thanks for the explanation, maybe there is some problem with my environment,I will give more test on the vm migration. This bug is verified on the latest version:
[root@dell-per730-19 ovn]# ip link add name hv1-if0 type veth peer name hv1-if1
[root@dell-per730-19 ovn]# ovn-nbctl ls-add ls0
[root@dell-per730-19 ovn]# ovn-nbctl lsp-add ls0 lsp0
[root@dell-per730-19 ovn]# ovs-vsctl -- add-port br-int hv1-if0
[root@dell-per730-19 ovn]# ovs-vsctl set interface hv1-if0 external-ids:iface-id=lsp0
[root@dell-per730-19 ovn]# ovn-nbctl lsp-set-options lsp0 requested-chassis=hv1
[root@dell-per730-19 ovn]# ovn-sbctl list port_binding
_uuid : b1da9bcc-5624-45c9-b3c7-118b7e145758
chassis : 096ece9a-b99f-4064-b0b4-494c9816a8d0
datapath : 81310ca0-e6d9-4f6c-bdb5-770eeddb3ef0
external_ids : {}
gateway_chassis : []
logical_port : "lsp0"
mac : []
nat_addresses : []
options : {requested-chassis="hv1"}
parent_port : []
tag : []
tunnel_key : 1
type : ""
[root@dell-per730-19 ovn]# ovn-sbctl list chassis
_uuid : 772c8676-3132-40c8-a629-d02394725aa2
encaps : [d01a3931-dac5-4d75-a6ec-6ed64f76be43]
external_ids : {datapath-type="", iface-types="geneve,gre,internal,lisp,patch,stt,system,tap,vxlan", ovn-bridge-mappings=""}
hostname : "dell-per730-49.rhts.eng.pek2.redhat.com"
name : "hv0"
nb_cfg : 0
vtep_logical_switches: []
_uuid : 096ece9a-b99f-4064-b0b4-494c9816a8d0
encaps : [c5a5171f-8062-49c7-9100-51a9ed1ebfc7]
external_ids : {datapath-type="", iface-types="geneve,gre,internal,lisp,patch,stt,system,tap,vxlan", ovn-bridge-mappings=""}
hostname : "dell-per730-19.rhts.eng.pek2.redhat.com"
name : "hv1"
nb_cfg : 0
[root@dell-per730-19 ovn]# ovn-nbctl lsp-set-options lsp0 requested-chassis=hv0
[root@dell-per730-19 ovn]# ovn-sbctl list port_binding
_uuid : b1da9bcc-5624-45c9-b3c7-118b7e145758
chassis : 772c8676-3132-40c8-a629-d02394725aa2
datapath : 81310ca0-e6d9-4f6c-bdb5-770eeddb3ef0
external_ids : {}
gateway_chassis : []
logical_port : "lsp0"
mac : []
nat_addresses : []
options : {requested-chassis="hv0"}
parent_port : []
tag : []
tunnel_key : 1
type : ""
[root@dell-per730-19 ovn]# ovn-nbctl lsp-set-options lsp0 requested-chassis=hv1
[root@dell-per730-19 ovn]# ovn-sbctl --bare --columns chassis find port_binding logical_port=366f925b-36d6-42e8-b6d2-64e251fe17c9
096ece9a-b99f-4064-b0b4-494c9816a8d0
[root@dell-per730-19 ovn]#
[root@dell-per730-19 ovn]# ovs-vsctl show
bde05c29-7f7a-4508-b670-f4260ea41772
Bridge br-int
fail_mode: secure
Port "hv1-if0"
Interface "hv1-if0"
Port "hv1_vm00_vnet1"
Interface "hv1_vm00_vnet1"
Port br-int
Interface br-int
type: internal
Port "ovn-hv0-0"
Interface "ovn-hv0-0"
type: geneve
options: {csum="true", key=flow, remote_ip="20.0.0.26"}
ovs_version: "2.9.0"
[root@dell-per730-19 ovn]#
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0550 |