Bug 1195208 (OpenVswitch_Support) - [RFE] - Support OVS based host networking cluster type.
Summary: [RFE] - Support OVS based host networking cluster type.
Keywords:
Status: CLOSED DEFERRED
Alias: OpenVswitch_Support
Product: ovirt-engine
Classification: oVirt
Component: RFEs
Version: ---
Hardware: x86_64
OS: Linux
medium
medium with 2 votes
Target Milestone: ---
: ---
Assignee: Ales Musil
QA Contact: Michael Burman
URL: https://github.com/EdDev/ovirt-site/b...
Whiteboard: sync-to-jira
Depends On: 1362393 1362399 1362401 1362492 1362495 1364081 1364087 1369380 1371840 1377912 1379115 1380271 1380273 1381147 1383035 1441245 1598461 1669464 1809102
Blocks: 994170 1207681 overlay_networks_support 1309957 1342557 1366899
TreeView+ depends on / blocked
 
Reported: 2015-02-23 11:35 UTC by Yaniv Lavi
Modified: 2021-08-30 13:36 UTC (History)
22 users (show)

Fixed In Version:
Doc Type: Technology Preview
Doc Text:
This release adds support for Open vSwitch, in order to allow routing from OVN networks, which makes them more usable. When defining a new cluster, an admin can opt using Open vSwitch instead of Linux bridge. As of 4.3, this feature is incomplete but can be used in production. the following features are missing: - reading LLDP (RHV-2679) - setting DNS - source routing (bug 1383035) - iSCSI bond (bug 1441245) - port mirroring (bug 1362492) - host QoS (bug 1380271) - setting bridge options (bug 1380273)
Clone Of:
Environment:
Last Closed: 2020-03-19 16:38:35 UTC
oVirt Team: Network
Embargoed:
pm-rhel: ovirt-4.5?
myakove: testing_plan_complete+
ylavi: planning_ack?
danken: devel_ack+
ylavi: testing_ack?


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHV-43304 0 None None None 2021-08-30 13:16:52 UTC
Red Hat Knowledge Base (Solution) 901213 0 None None None 2016-11-04 20:24:34 UTC
oVirt gerrit 40312 0 'None' MERGED hooks: Open vSwitch configurator 2020-10-27 12:27:18 UTC
oVirt gerrit 52336 0 'None' ABANDONED network: native Open vSwitch support 2020-10-27 12:27:18 UTC
oVirt gerrit 55274 0 'None' ABANDONED net: native ovs [3]: validate networks and bonds 2020-10-27 12:27:19 UTC
oVirt gerrit 55275 0 'None' ABANDONED net: native ovs [4]: move RollbackIncomplete to net api 2020-10-27 12:27:19 UTC
oVirt gerrit 55280 0 'None' ABANDONED net: native ovs [7]: configure basic ovs nets and bonds 2020-10-27 12:27:19 UTC
oVirt gerrit 55307 0 'None' ABANDONED net: native ovs [7]: configure basic ovs nets and bonds 2020-10-27 12:27:19 UTC
oVirt gerrit 55308 0 'None' MERGED net: native ovs: ovs switch skeleton 2020-10-27 12:27:20 UTC
oVirt gerrit 55309 0 'None' ABANDONED net: native ovs [2]: split ovs and legacy networks 2020-10-27 12:27:20 UTC
oVirt gerrit 55310 0 'None' MERGED net: native ovs: validate networks and bonds 2020-10-27 12:27:20 UTC
oVirt gerrit 55311 0 'None' MERGED net: native ovs: move RollbackIncomplete to network errors 2020-10-27 12:27:20 UTC
oVirt gerrit 55312 0 'None' ABANDONED net: native ovs [5]: rollback trigger 2020-10-27 12:27:20 UTC
oVirt gerrit 55313 0 'None' MERGED net: native ovs: split to-be-removed and to-be-added 2020-10-27 12:27:20 UTC
oVirt gerrit 55494 0 'None' MERGED API: net: introduce 'switch' attribute for nets and bonds 2020-10-27 12:27:21 UTC
oVirt gerrit 55495 0 'None' MERGED net: canonicalize 'switch' in nets and bonds 2020-10-27 12:27:22 UTC
oVirt gerrit 55810 0 'None' MERGED net: netinfo: report switch type as legacy 2020-10-27 12:27:22 UTC
oVirt gerrit 55825 0 'None' MERGED net: Persist bonding legacy switch type 2020-10-27 12:27:22 UTC
oVirt gerrit 55952 0 'None' MERGED net: canonicalize bondings in Config 2020-10-27 12:27:23 UTC
oVirt gerrit 55958 0 'None' MERGED net: OVS driver 2020-10-27 12:27:23 UTC
oVirt gerrit 56149 0 'None' MERGED net: add Transaction() to netconfpersistence 2020-10-27 12:27:23 UTC
oVirt gerrit 56352 0 'None' ABANDONED net: native ovs: use Transaction for rollback triggering 2020-10-27 12:27:23 UTC
oVirt gerrit 56353 0 'None' ABANDONED net: native ovs: ovs network setup 2020-10-27 12:27:23 UTC
oVirt gerrit 56391 0 'None' MERGED net: native ovs: ovsnettestlib.py 2020-10-27 12:27:24 UTC
oVirt gerrit 56416 0 'None' ABANDONED net: native ovs: ovs bonding setup 2020-10-27 12:27:24 UTC
oVirt gerrit 56448 0 'None' MERGED net: native ovs: check for nic existence 2020-10-27 12:27:24 UTC
oVirt gerrit 56449 0 'None' MERGED net: OVS driver - bond_slave commands 2020-10-27 12:27:24 UTC
oVirt gerrit 56451 0 'None' ABANDONED net: native ovs: store constants in __init__ 2020-10-27 12:27:24 UTC
oVirt gerrit 56452 0 'None' ABANDONED net: native ovs: reserve ovsbr0 network name 2020-10-27 12:27:25 UTC
oVirt gerrit 56461 0 'None' MERGED net: native ovs: check for bond existence 2020-10-27 12:27:25 UTC
oVirt gerrit 56828 0 'None' ABANDONED libvirt: add OVS network type to libvirt.createNetworkDef 2020-10-27 12:27:25 UTC
oVirt gerrit 56829 0 'None' ABANDONED net: add vlan tag to libvirt network def 2020-10-27 12:27:25 UTC
oVirt gerrit 56838 0 'None' ABANDONED net: don't handle OVS networks in netinfo 2020-10-27 12:27:41 UTC
oVirt gerrit 56843 0 'None' ABANDONED net: netinfo/cache.py handles only legacy nets 2020-10-27 12:27:26 UTC
oVirt gerrit 56901 0 'None' MERGED net: OVS Info 2020-10-27 12:27:41 UTC
oVirt gerrit 56913 0 'None' ABANDONED net: ovs bondings netinfo 2020-10-27 12:27:27 UTC
oVirt gerrit 56972 0 'None' MERGED net: OVS netinfo 2020-10-27 12:27:27 UTC
oVirt gerrit 56976 0 'None' ABANDONED net: fake bridgeless networks 2020-10-27 12:27:42 UTC
oVirt gerrit 56979 0 'None' ABANDONED net: fake OVS as bridgeless in caps 2020-10-27 12:27:27 UTC
oVirt gerrit 56980 0 'None' ABANDONED net: include OVS Netinfo in netinfo/cache.py:_get() 2020-10-27 12:27:27 UTC
oVirt gerrit 56991 0 'None' ABANDONED net: report ovs network with nics, vlan tag and bond 2020-10-27 12:27:27 UTC
oVirt gerrit 57009 0 'None' ABANDONED libvirt: define libvirt network by its type 2020-10-27 12:27:28 UTC
oVirt gerrit 57015 0 'None' ABANDONED net: compare base config with KernelConfig in Transaction 2020-10-27 12:27:28 UTC
oVirt gerrit 57034 0 'None' MERGED net: some values should be or should not be list 2020-10-27 12:27:43 UTC
oVirt gerrit 57067 0 'None' MERGED net: report expected devices in OVS netinfo 2020-10-27 12:27:28 UTC
oVirt gerrit 57068 0 'None' MERGED net: fake OVS networks as bridgeless 2020-10-27 12:27:29 UTC
oVirt gerrit 57086 0 'None' ABANDONED net: consume OVS netinfo in KernelConfig 2020-10-27 12:27:28 UTC
oVirt gerrit 57089 0 'None' MERGED net: consume OVS netinfo by CachingNetInfo 2020-10-27 12:27:29 UTC
oVirt gerrit 57102 0 'None' MERGED net: report OVS netinfo in caps 2020-10-27 12:27:44 UTC
oVirt gerrit 57440 0 'None' ABANDONED net: get nics from cache.get() 2020-10-27 12:27:29 UTC
oVirt gerrit 57441 0 'None' MERGED net: common and legacy CachingNetInfo 2020-10-27 12:27:30 UTC
oVirt gerrit 57442 0 'None' MERGED net: fix validation bug: ovs_bonds should be used 2020-10-27 12:27:30 UTC
oVirt gerrit 57443 0 'None' MERGED net: ovs validator should accept multiple untagged nets 2020-10-27 12:27:30 UTC
oVirt gerrit 57444 0 'None' MERGED net: use netinfo for OVS validation 2020-10-27 12:27:30 UTC
oVirt gerrit 57445 0 'None' MERGED net: use netinfo to split OVS/legacy nets and bonds 2020-10-27 12:27:45 UTC
oVirt gerrit 57446 0 'None' MERGED net: use netinfo to split OVS nets and bonds 2020-10-27 12:27:31 UTC
oVirt gerrit 57818 0 'None' MERGED netinfo: report 'vlanid' only if vlan is set 2020-10-27 12:27:31 UTC
oVirt gerrit 58012 0 'None' MERGED ovs: add/remove OVS network that is based on a nic 2020-10-27 12:27:45 UTC
oVirt gerrit 58038 0 'None' ABANDONED ovs: mark OVS bridges as ours 2020-10-27 12:27:31 UTC
oVirt gerrit 58078 0 'None' MERGED ovs: bridge is optional for del-port 2020-10-27 12:27:31 UTC
oVirt gerrit 58085 0 'None' MERGED ovs: add/remove OVS network based on a VLAN 2020-10-27 12:27:31 UTC
oVirt gerrit 58159 0 'None' MERGED ovs: add bridges_by_sb property to OvsInfo 2020-10-27 12:27:31 UTC
oVirt gerrit 58202 0 'None' MERGED ovs: add/remove OVS network based on a bond 2020-10-27 12:27:32 UTC
oVirt gerrit 58203 0 master DRAFT ovs: add/remove OVS bond 2020-10-08 09:27:31 UTC
oVirt gerrit 58210 0 'None' MERGED ovs: validate that to-be-removed bond is not used 2020-10-27 12:27:32 UTC
oVirt gerrit 58253 0 'None' MERGED ovs: use unfaked ovs_netinfo under ovs package 2020-10-27 12:27:33 UTC
oVirt gerrit 58254 0 'None' MERGED ovs: don't check if changes are needed in net editation 2020-10-27 12:27:33 UTC
oVirt gerrit 58368 0 'None' MERGED ovs: don't count bond slave duplicates 2020-10-27 12:27:33 UTC
oVirt gerrit 58437 0 'None' MERGED ovs: edit bond mode 2020-10-27 12:27:47 UTC
oVirt gerrit 58447 0 'None' MERGED net: move ip configuration to ip.address module 2020-10-27 12:27:32 UTC
oVirt gerrit 58466 0 'None' MERGED ovs: add OVS network with IP configuration 2020-10-27 12:27:33 UTC
oVirt gerrit 58502 0 'None' MERGED netswitch: split setup actions on netswitch level 2020-10-27 12:27:33 UTC
oVirt gerrit 58608 0 'None' ABANDONED ovs: smarter removal of unused bridges 2020-10-27 12:27:33 UTC
oVirt gerrit 58723 0 'None' MERGED ovs: fix bond removal validation 2020-10-27 12:27:33 UTC
oVirt gerrit 58800 0 'None' MERGED ovs: turn created links UP 2020-10-27 12:27:34 UTC
oVirt gerrit 58841 0 'None' MERGED ovs: use transaction class for devices setup 2020-10-27 12:27:34 UTC
oVirt gerrit 59002 0 'None' MERGED net: disable unused IPv6 in ip.address.add() 2020-10-27 12:27:35 UTC
oVirt gerrit 59007 0 'None' MERGED net: move dhclient_run/stop helpers to dhclient.py 2020-10-27 12:27:34 UTC
oVirt gerrit 59039 0 'None' MERGED ovs: add network with dhcp configuration 2020-10-27 12:27:35 UTC
oVirt gerrit 59336 0 'None' MERGED virt net: Change graphics type from network to address 2020-10-27 12:27:35 UTC
oVirt gerrit 59727 0 'None' MERGED net: move dhclient.py to ip package 2020-10-27 12:27:34 UTC
oVirt gerrit 59903 0 'None' MERGED ovs: move bridges cleanup to a separate function 2020-10-27 12:27:35 UTC
oVirt gerrit 59904 0 'None' MERGED ovs: rollback transaction 2020-10-27 12:27:35 UTC
oVirt gerrit 59957 0 'None' ABANDONED net address: ignore not existing iface on flush 2020-10-27 12:27:51 UTC
oVirt gerrit 59958 0 'None' ABANDONED ovs: flush IP config from attached ifaces 2020-10-27 12:27:51 UTC
oVirt gerrit 60153 0 'None' MERGED net: add address.flush family argument 2020-10-27 12:27:51 UTC
oVirt gerrit 60155 0 'None' MERGED net: call address.flush explicitly after dhclient.kill 2020-10-27 12:27:36 UTC
oVirt gerrit 60353 0 master DRAFT ovs: mark nics owned by ovs switch 2020-10-08 09:26:43 UTC
oVirt gerrit 60371 0 'None' MERGED net: early IP+link setup 2020-10-27 12:27:37 UTC
oVirt gerrit 60372 0 master DRAFT ovs: set mtu 2020-10-08 09:27:36 UTC
oVirt gerrit 60404 0 'None' MERGED ovs: acquire ifaces 2020-10-27 12:27:38 UTC
oVirt gerrit 60405 0 'None' MERGED ovs: use Setup class directly 2020-10-27 12:27:37 UTC
oVirt gerrit 60531 0 'None' MERGED Changes to support OVS switch 2020-10-27 12:27:38 UTC
oVirt gerrit 60557 0 'None' MERGED core: added switch attribute to HostSetupNetworksVDSCommand and to HostNetwork 2020-10-27 12:27:39 UTC
oVirt gerrit 60558 0 'None' MERGED core: add switchType to VdsNetworksInterface and Cluster. 2020-10-27 12:27:39 UTC
oVirt gerrit 60559 0 'None' ABANDONED core: fix DAO test falure 2020-10-27 12:27:40 UTC
oVirt gerrit 60560 0 'None' MERGED core: persist reported switch type of network into vds_interface 2020-10-27 12:27:39 UTC
oVirt gerrit 60561 0 'None' MERGED core: removed unused methods 2020-10-27 12:27:39 UTC
oVirt gerrit 60562 0 'None' MERGED core: check if also switch type is in sync 2020-10-27 12:27:40 UTC
oVirt gerrit 60563 0 'None' MERGED core: simplified use of ReportedConfiguration 2020-10-27 12:27:55 UTC
oVirt gerrit 60564 0 'None' MERGED core: removed duplicates + code format. 2020-10-27 12:27:40 UTC
oVirt gerrit 60565 0 'None' MERGED core: add test for identifying different SwitchType 2020-10-27 12:27:41 UTC
oVirt gerrit 60566 0 'None' MERGED core: use SwitchType when creating cluster. 2020-10-27 12:27:56 UTC
oVirt gerrit 60567 0 'None' MERGED core: pass SwitchType from Cluster to HostNetwork 2020-10-27 12:27:41 UTC
oVirt gerrit 60568 0 'None' MERGED webadmin: eliminate unnecessary (and complicating) events. 2020-10-27 12:27:41 UTC
oVirt gerrit 60569 0 'None' MERGED webadmin: add SwitchType to cluster dialog 2020-10-27 12:27:42 UTC
oVirt gerrit 60570 0 'None' MERGED core,webadmin: change switch type default value. 2020-10-27 12:27:56 UTC
oVirt gerrit 60571 0 'None' MERGED restapi: Added SwitchType property to Cluster. 2020-10-27 12:27:42 UTC
oVirt gerrit 60824 0 'None' ABANDONED ovs: use ovsdb factory 2020-10-27 12:27:57 UTC
oVirt gerrit 60864 0 'None' MERGED netinfo: report 'vlanid' only if vlan is set 2020-10-27 12:27:42 UTC
oVirt gerrit 60865 0 'None' MERGED net: report OVS netinfo in caps 2020-10-27 12:27:43 UTC
oVirt gerrit 60866 0 'None' MERGED net: common and legacy CachingNetInfo 2020-10-27 12:27:43 UTC
oVirt gerrit 60867 0 'None' MERGED net: fix validation bug: ovs_bonds should be used 2020-10-27 12:27:58 UTC
oVirt gerrit 60868 0 'None' MERGED net: ovs validator should accept multiple untagged nets 2020-10-27 12:27:44 UTC
oVirt gerrit 60869 0 'None' MERGED net: use netinfo for OVS validation 2020-10-27 12:27:44 UTC
oVirt gerrit 60870 0 'None' MERGED net: use netinfo to split OVS/legacy nets and bonds 2020-10-27 12:27:44 UTC
oVirt gerrit 60871 0 'None' MERGED net: use netinfo to split OVS nets and bonds 2020-10-27 12:27:43 UTC
oVirt gerrit 60872 0 'None' MERGED ovs: bridge is optional for del-port 2020-10-27 12:27:44 UTC
oVirt gerrit 60873 0 'None' MERGED ovs: add bridges_by_sb property to OvsInfo 2020-10-27 12:27:44 UTC
oVirt gerrit 60874 0 'None' MERGED ovs: use unfaked ovs_netinfo under ovs package 2020-10-27 12:27:44 UTC
oVirt gerrit 60974 0 'None' MERGED net: introduce acquire module 2020-10-27 12:27:59 UTC
oVirt gerrit 61049 0 'None' MERGED ovs: copy NIC hwaddr to NB 2020-10-27 12:27:45 UTC
oVirt gerrit 61088 0 'None' ABANDONED ovs: rollback acquired ifaces after failure 2020-10-27 12:27:45 UTC
oVirt gerrit 61100 0 'None' MERGED ovs: don't check if changes are needed in net editation 2020-10-27 12:27:45 UTC
oVirt gerrit 61101 0 'None' MERGED ovs: add/remove OVS network that is based on a nic 2020-10-23 14:45:21 UTC
oVirt gerrit 61102 0 'None' MERGED ovs: add/remove OVS network based on a VLAN 2020-10-23 14:45:21 UTC
oVirt gerrit 61103 0 'None' MERGED ovs: validate that to-be-removed bond is not used 2020-10-23 14:45:15 UTC
oVirt gerrit 61108 0 'None' MERGED ovs: fix bond removal validation 2020-10-23 14:45:16 UTC
oVirt gerrit 61109 0 'None' MERGED ovs: use transaction class for devices setup 2020-10-23 14:45:16 UTC
oVirt gerrit 61111 0 'None' MERGED ovs: add/remove OVS network based on a bond 2020-10-23 14:45:21 UTC
oVirt gerrit 61112 0 'None' MERGED ovs: edit bond mode 2020-10-23 14:45:22 UTC
oVirt gerrit 61113 0 'None' MERGED ovs: don't count bond slave duplicates 2020-10-23 14:45:22 UTC
oVirt gerrit 61114 0 'None' MERGED net: Setup ipv6autoconf with OVS switch 2020-10-23 14:45:22 UTC
oVirt gerrit 61115 0 'None' MERGED netswitch: split setup actions on netswitch level 2020-10-23 14:45:22 UTC
oVirt gerrit 61116 0 'None' MERGED net: move ip configuration to ip.address module 2020-10-23 14:45:22 UTC
oVirt gerrit 61119 0 'None' MERGED net virt: Support connecting VM/s to an ovs bridge 2020-10-23 14:45:22 UTC
oVirt gerrit 61120 0 'None' MERGED virt net: Change graphics type from network to address 2020-10-23 14:45:22 UTC
oVirt gerrit 61121 0 'None' MERGED net tests: Functional tests infrastructure 2020-10-23 14:45:36 UTC
oVirt gerrit 61122 0 'None' MERGED net func test: Support remove network check 2020-10-23 14:45:23 UTC
oVirt gerrit 61123 0 'None' MERGED net tests: common tests for 'ovs' and 'legacy' 2020-10-23 14:45:36 UTC
oVirt gerrit 61124 0 'None' MERGED net func test: test network based on a vlan 2020-10-23 14:45:23 UTC
oVirt gerrit 61125 0 'None' MERGED net func test: add basic bond tests 2020-10-23 14:45:23 UTC
oVirt gerrit 61126 0 'None' MERGED ovs: add OVS network with IP configuration 2020-10-23 14:45:23 UTC
oVirt gerrit 61127 0 'None' MERGED ovs: turn created links UP 2020-10-23 14:45:23 UTC
oVirt gerrit 61128 0 'None' MERGED net: disable unused IPv6 in ip.address.add() 2020-10-23 14:45:23 UTC
oVirt gerrit 61129 0 'None' MERGED net: move dhclient_run/stop helpers to dhclient.py 2020-10-23 14:45:37 UTC
oVirt gerrit 61130 0 'None' MERGED net: move dhclient.py to ip package 2020-10-23 14:45:23 UTC
oVirt gerrit 61131 0 'None' MERGED ovs: add network with dhcp configuration 2020-10-23 14:45:24 UTC
oVirt gerrit 61132 0 'None' MERGED ovs: move bridges cleanup to a separate function 2020-10-23 14:45:24 UTC
oVirt gerrit 61133 0 'None' MERGED ovs: rollback transaction 2020-10-23 14:45:24 UTC
oVirt gerrit 61134 0 'None' MERGED net: add address.flush family argument 2020-10-23 14:45:37 UTC
oVirt gerrit 61135 0 'None' MERGED ovs hook: fix dhclient imports 2020-10-23 14:45:24 UTC
oVirt gerrit 61136 0 'None' MERGED net: call address.flush explicitly after dhclient.kill 2020-10-23 14:45:24 UTC
oVirt gerrit 61137 0 'None' MERGED py3: Require libselinux-python3 2020-10-23 14:45:38 UTC
oVirt gerrit 61150 0 'None' MERGED vdscli: Provide py3 compatible xmlrpclib (using six) 2020-10-23 14:45:24 UTC
oVirt gerrit 61173 0 'None' MERGED net func tests: drop ovs/legacy permutation 2020-10-23 14:45:24 UTC
oVirt gerrit 61201 0 'None' MERGED core: added switch attribute to HostSetupNetworksVDSCommand and to HostNetwork 2020-10-23 14:45:38 UTC
oVirt gerrit 61202 0 'None' MERGED core: add switchType to VdsNetworksInterface and Cluster. 2020-10-23 14:45:24 UTC
oVirt gerrit 61203 0 'None' MERGED core: persist reported switch type of network into vds_interface 2020-10-23 14:45:25 UTC
oVirt gerrit 61204 0 'None' MERGED core: removed unused methods 2020-10-23 14:45:25 UTC
oVirt gerrit 61205 0 'None' MERGED core: check if also switch type is in sync 2020-10-23 14:45:25 UTC
oVirt gerrit 61206 0 'None' MERGED core: simplified use of ReportedConfiguration 2020-10-23 14:45:25 UTC
oVirt gerrit 61207 0 'None' MERGED core: removed duplicates + code format. 2020-10-23 14:45:25 UTC
oVirt gerrit 61208 0 'None' MERGED core: add test for identifying different SwitchType 2020-10-23 14:45:25 UTC
oVirt gerrit 61209 0 'None' MERGED core: use SwitchType when creating cluster. 2020-10-23 14:45:39 UTC
oVirt gerrit 61210 0 'None' MERGED core: pass SwitchType from Cluster to HostNetwork 2020-10-23 14:45:39 UTC
oVirt gerrit 61211 0 'None' MERGED webadmin: eliminate unnecessary (and complicating) events. 2020-10-23 14:45:25 UTC
oVirt gerrit 61212 0 'None' MERGED webadmin: add SwitchType to cluster dialog 2020-10-23 14:45:26 UTC
oVirt gerrit 61213 0 'None' MERGED core,webadmin: change switch type default value. 2020-10-23 14:45:26 UTC
oVirt gerrit 61214 0 'None' MERGED restapi: Added SwitchType property to Cluster. 2020-10-23 14:45:39 UTC
oVirt gerrit 61238 0 'None' MERGED net func tests: drop ovs/legacy permutation 2020-10-23 14:45:26 UTC
oVirt gerrit 61239 0 'None' MERGED net systemd: Require openvswitch.service 2020-10-23 14:45:26 UTC
oVirt gerrit 61240 0 'None' MERGED ovs: do not call ovs_info if ovs service is down 2020-10-23 14:45:26 UTC
oVirt gerrit 61241 0 'None' MERGED ovs: do not call ovs_info if ovs service is down 2020-10-23 14:45:26 UTC
oVirt gerrit 61259 0 'None' MERGED Revert "virt net: Change graphics type from network to address" 2020-10-23 14:45:26 UTC
oVirt gerrit 61262 0 'None' MERGED virt net: Change graphics type from network to address 2020-10-23 14:45:26 UTC
oVirt gerrit 61321 0 'None' MERGED ovs: create ovs-vsctl command only on demand 2020-10-23 14:45:26 UTC
oVirt gerrit 61330 0 'None' MERGED ovs: pass --disable-openvswitch to vdsm.spec 2020-10-23 14:45:27 UTC
oVirt gerrit 61337 0 'None' MERGED spec: never require openvswitch on ppc 2020-10-23 14:45:27 UTC
oVirt gerrit 61347 0 'None' MERGED ovs: create ovs-vsctl command only on demand 2020-10-23 14:45:27 UTC
oVirt gerrit 61348 0 'None' MERGED ovs: pass --disable-openvswitch to vdsm.spec 2020-10-23 14:45:27 UTC
oVirt gerrit 61349 0 'None' MERGED spec: never require openvswitch on ppc 2020-10-23 14:45:27 UTC
oVirt gerrit 61352 0 'None' ABANDONED build: Enable openvswitch by default on downstream 2020-10-23 14:45:27 UTC
oVirt gerrit 61366 0 'None' MERGED net test: Nose labeling of test type breaks with inheritance 2020-10-23 14:45:27 UTC
oVirt gerrit 61482 0 'None' MERGED utils: atomic file write 2020-10-23 14:45:28 UTC
oVirt gerrit 61648 0 'None' ABANDONED utils: rename random_iface_name to random_name 2020-10-23 14:45:28 UTC
oVirt gerrit 61686 0 'None' MERGED ovs: use Setup class directly 2020-10-23 14:45:41 UTC
oVirt gerrit 61687 0 'None' MERGED ovs: add OVS bridges cleanup to shell_helper 2020-10-23 14:45:28 UTC
oVirt gerrit 61688 0 'None' MERGED ovs: add OVS bridges cleanup to shell_helper 2020-10-23 14:45:28 UTC
oVirt gerrit 61715 0 master DRAFT ovs: _setup_ipv6autoconf -> _setup_ovs_ipv6autoconf 2020-10-08 09:27:31 UTC
oVirt gerrit 61905 0 'None' MERGED ovs: use vdsmbr_test name for test bridges 2020-10-23 14:45:28 UTC
oVirt gerrit 61918 0 'None' ABANDONED net: lookup dhclient file 2020-10-23 14:45:28 UTC
oVirt gerrit 66989 0 'None' MERGED core: inform user clearly, that OVS is experimental. 2020-10-23 14:45:42 UTC
oVirt gerrit 95824 0 'None' MERGED net: Add support for DNS on OvS switch type 2020-10-23 14:45:28 UTC

Description Yaniv Lavi 2015-02-23 11:35:29 UTC
Description of problem:
Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.  It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag).  In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. This feature is to track adding native support to it in the engine.

Comment 1 Barak 2015-06-11 12:02:35 UTC
The current path we are working on is first enabling it using hooks.

Comment 2 Red Hat Bugzilla Rules Engine 2015-10-19 10:52:55 UTC
Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release.

Comment 3 Yaniv Lavi 2016-02-10 12:26:43 UTC
Need to discuss scale testing with scale team with VM running on network and testing communication within the networks. Need to check parity with existing implementation. 
Need to consider upgrade path for in cluster network switch to OVS. Dan, do we have thoughts\design for this yet?

Comment 4 Hannes Frederic Sowa 2016-03-01 12:23:11 UTC
What is the actual reason behind this move? Which features does the Linux networking stack not provide without ovs?

Comment 5 Yaniv Kaul 2016-03-01 12:28:50 UTC
(In reply to Hannes Frederic Sowa from comment #4)
> What is the actual reason behind this move? Which features does the Linux
> networking stack not provide without ovs?

- SDN features (future - OVN)
- SDN features (future - integration with 3rd party solutions)
- Scalability - the time to set up large (100's?) of networks is supposed to be significantly less in OVS. We have bugs around 60 or so networks.
- Broadcast domain?
- API (Python and CLI) - not sure about bridge.
- Statistics - not sure about bridge.
- DPDK integration - not sure about bridge.
- Other advanced features? Routing and friends? Easier with a single interface / component (Bond come to mind as well).

Comment 6 Hannes Frederic Sowa 2016-03-01 12:34:04 UTC
(In reply to Yaniv Kaul from comment #5)
> (In reply to Hannes Frederic Sowa from comment #4)
> > What is the actual reason behind this move? Which features does the Linux
> > networking stack not provide without ovs?
> 
> - SDN features (future - OVN)

I can understand. So RHEV should compete with OpenStack?

Please understand that we nowadays seldom ship an OpenStack installation without an external partner providing the network (nuage, plumgrid, etc.). We are currently missing critical features in OpenStack still (DVR routing). As a kernel developer the current OpenStack use basically forces a lot of packets on slow paths.

> - SDN features (future - integration with 3rd party solutions)

Same arguments as above. This probably will have to be decided by Product Management, but I don't really see the reason.

> - Scalability - the time to set up large (100's?) of networks is supposed to
> be significantly less in OVS. We have bugs around 60 or so networks.

It would be great if we get those bugs, as we are responsible for kernel networking.

> - Broadcast domain?

Huge problem for overlay networks, as the packet needs to be cloned in the kernel and send out to *every* hypervisor.

> - API (Python and CLI) - not sure about bridge.

Yes, the API is much more complicated.

> - Statistics - not sure about bridge.

We certainly can solve that.

> - DPDK integration - not sure about bridge.

I thought this is something we only want to do for Containers. Why the change here?

> - Other advanced features? Routing and friends? Easier with a single
> interface / component (Bond come to mind as well).

Nothing comes to my mind either.

Comment 7 Hannes Frederic Sowa 2016-03-01 12:36:28 UTC
(In reply to Hannes Frederic Sowa from comment #6)
> > - DPDK integration - not sure about bridge.
> 
> I thought this is something we only want to do for Containers. Why the
> change here?

Mine statement is wrong, sorry.

Sorry, we do use it for Virtualization, but everyone always thought as an intermediate solution until the Kernel is up to the task with that, which requires much more effort. DPDK should not be an end-goal.

Comment 8 Yaniv Kaul 2016-03-01 13:18:21 UTC
(In reply to Hannes Frederic Sowa from comment #6)
> (In reply to Yaniv Kaul from comment #5)
> > (In reply to Hannes Frederic Sowa from comment #4)
> > > What is the actual reason behind this move? Which features does the Linux
> > > networking stack not provide without ovs?
> > 
> > - SDN features (future - OVN)
> 
> I can understand. So RHEV should compete with OpenStack?

No, but we also want a bit of SDN. Even in traditional data center virtualization solution you want SDN, for cross data center communication, for example, for private networks, etc.

> 
> Please understand that we nowadays seldom ship an OpenStack installation
> without an external partner providing the network (nuage, plumgrid, etc.).
> We are currently missing critical features in OpenStack still (DVR routing).
> As a kernel developer the current OpenStack use basically forces a lot of
> packets on slow paths.
> 
> > - SDN features (future - integration with 3rd party solutions)
> 
> Same arguments as above. This probably will have to be decided by Product
> Management, but I don't really see the reason.

Same reason as OpenStack + some customers already have that 3rd party (Nuage and friends) and want to use it with RHEV as well.

> 
> > - Scalability - the time to set up large (100's?) of networks is supposed to
> > be significantly less in OVS. We have bugs around 60 or so networks.
> 
> It would be great if we get those bugs, as we are responsible for kernel
> networking.

I'll look for it.

> 
> > - Broadcast domain?
> 
> Huge problem for overlay networks, as the packet needs to be cloned in the
> kernel and send out to *every* hypervisor.
> 
> > - API (Python and CLI) - not sure about bridge.
> 
> Yes, the API is much more complicated.
> 
> > - Statistics - not sure about bridge.
> 
> We certainly can solve that.
> 
> > - DPDK integration - not sure about bridge.
> 
> I thought this is something we only want to do for Containers. Why the
> change here?

Why? If it provides better performance / lower latency, why not use it with virtualization as well (vhost with DPDK, or something)?

> 
> > - Other advanced features? Routing and friends? Easier with a single
> > interface / component (Bond come to mind as well).
> 
> Nothing comes to my mind either.

Integration with other networking gear, via OpenFlow? Standard monitoring via sFlow?

Comment 9 Hannes Frederic Sowa 2016-03-01 13:39:20 UTC
(In reply to Yaniv Kaul from comment #8)
> (In reply to Hannes Frederic Sowa from comment #6)
> > (In reply to Yaniv Kaul from comment #5)
> > > (In reply to Hannes Frederic Sowa from comment #4)
> > > > What is the actual reason behind this move? Which features does the Linux
> > > > networking stack not provide without ovs?
> > > 
> > > - SDN features (future - OVN)
> > 
> > I can understand. So RHEV should compete with OpenStack?
> 
> No, but we also want a bit of SDN. Even in traditional data center
> virtualization solution you want SDN, for cross data center communication,
> for example, for private networks, etc.

I do think those are pretty easily realizable without SDN, but I don't want to make this decision. If feature requests came in for that.

Private networks should already be supported by vlans etc. I guess the only reason why you want to have overlay is, that you want to reuse the same ip address space again, no?

> > Please understand that we nowadays seldom ship an OpenStack installation
> > without an external partner providing the network (nuage, plumgrid, etc.).
> > We are currently missing critical features in OpenStack still (DVR routing).
> > As a kernel developer the current OpenStack use basically forces a lot of
> > packets on slow paths.
> > 
> > > - SDN features (future - integration with 3rd party solutions)
> > 
> > Same arguments as above. This probably will have to be decided by Product
> > Management, but I don't really see the reason.
> 
> Same reason as OpenStack + some customers already have that 3rd party (Nuage
> and friends) and want to use it with RHEV as well.

Okay, I can't argue here but would like to see a datacenter architecture were that should work.

> > > - Scalability - the time to set up large (100's?) of networks is supposed to
> > > be significantly less in OVS. We have bugs around 60 or so networks.
> > 
> > It would be great if we get those bugs, as we are responsible for kernel
> > networking.
> 
> I'll look for it.

Thank you, that would be really helpful!

> > I thought this is something we only want to do for Containers. Why the
> > change here?
> 
> Why? If it provides better performance / lower latency, why not use it with
> virtualization as well (vhost with DPDK, or something)?

dpdk comes at a huge cost, keeping cores busy looping to get new packets. This isn't very efficient at all.

The other side is licensing, we at least try to prefer GPLv2 in-kernel solutions over dpdk ones. That is e.g. why we do have the dp-accel project to bring as much speed-ups to the kernel as possible.

> > > - Other advanced features? Routing and friends? Easier with a single
> > > interface / component (Bond come to mind as well).
> > 
> > Nothing comes to my mind either.
> 
> Integration with other networking gear, via OpenFlow? Standard monitoring
> via sFlow?

sflow can already be integrated. I am not sure if integration with OpenFlow is something RHEV should provide.

Comment 10 Yaniv Lavi 2016-03-01 14:39:50 UTC
We are not competing vs OSP. OSP has it's main use case for mode 2 application and oVirt centers around traditional mode 1 workloads. Fast and scale-able networking provision is not needed only for OSP use, but can improve usability for mode 1 as well.

We do want to work on a integration with next generation technology that has a good eco system and will allow us to increase scale limitation. It not a matter of a single feature. We see this in OSV and looking to future in OVN. 

I do want to stress we are discussing VM networks and not host networks and that we have private code the handle ifcfg that we would prefer to not maintain for VM networks. Easily done is not easily maintainable and we don't want to do our own thing, if there is a good alternative. We can make the existing code more scale-able, but still leave it to us to maintain it and we want to defer effort to future investments with more feature velocity.

Comment 11 Fabian Deutsch 2016-03-01 16:15:21 UTC
I'm quite sure that Hannes has concerns, we might want to sit down with him to hear them and get his (or the platform network team's input) on this RFE.

Comment 12 Hannes Frederic Sowa 2016-03-01 16:33:59 UTC
Yes, I am happy to assist. Let us and our team know how and where to help.

Comment 13 Jiri Benc 2016-03-02 11:39:51 UTC
In the URL, I don't see a single mention of OpenFlow controller. I hope you do realize that when using Open vSwitch, you need to implement (and act as) OpenFlow controller? Open vSwitch is a vSwitch implementation and it assumes it connects to a controller. It cannot operate reliably without one.

This is a big pain in Neutron where they are using very hacky way to configure Open vSwitch without a controller (maybe they implement OpenFlow controller nowadays, though, I don't keep track). It falls down on events like ovs-vswitchd daemon restart and similar.

Comment 14 Petr Horáček 2016-03-02 17:32:37 UTC
This document describes implementation of basic OVS functionality. After this step it should behave the same way as our current native linux networking implementation (but faster because of we are not using initscripts). OVS boundaries are in this case limited for a host. Is a controller needed in this case?

This transformation should prepare ground for OVN and the real OVS utilization.

Comment 15 Fabian Deutsch 2016-03-02 21:42:48 UTC
If it's only about avoiding init scripts, the NetworkManager's API should have also been something to investigate.

Comment 16 Yaniv Lavi 2016-03-02 22:42:04 UTC
(In reply to Fabian Deutsch from comment #15)
> If it's only about avoiding init scripts, the NetworkManager's API should
> have also been something to investigate.

See comment #10. It's not just scale, it opens the door to SDN.

Comment 17 Hannes Frederic Sowa 2016-03-02 23:09:48 UTC
Yaniv,

I was starting to set up a mail to ovirt-devel, but felt it kind of hard to write, because I don't know anything about the project and its governance.

I try to bring up some points here, also about the discussion about the road map and we can discuss technical things upstream.

How is oVirt governed? Does RH have a leading role on this project (I assume the answer is yes) and how much does community talk into that.

I ask because if the RoadMap says SDN, probably OVS is your only choice. If this will get you compatibility with OSP, I doubt that just because of complexity reasons. But then I do not have any more arguments. Probably the requests came from customers then to integrate RHEV into OSP or vice versa? I find this kind of confusion, as the reason to use OSP is to have multi-tenancy and the only advantage over a VLAN separation etc. is that you can much more easily reuse the same network ip addresses within the same management domain.

If SDN is just a side-effect of this, I would really think about what RHEV is and which customers to attract with that. OVS comes with a lot of additional complexity which still causes a lot of trouble. I do have the feeling that no OpenStack cloud does get completely set up by RH but mostly other partners do the network and replace the network configuration with their own plugins. Overlays do have a lot of additional complexity, lot's of things need to be implemented with netfilter, namespaces etc. anyway which increases complexity a lot.

I unfortunately don't understand the arguments with type 1 or type 2 workloads, I don't see how this plays a role. The number of VMs on a system is basically limited by the amount of RAM we currently can put into the boxes. And the traditional Linux networking model is most of the time easily capable to support this. Otherwise please open bugs, we can certainly help there.

I don't know how RHEV deals with storage, but this indeed looks to me as RHEV would like to go more and more into direction of OSP.

Comment 18 Jiri Benc 2016-03-03 08:43:28 UTC
(In reply to Petr Horáček from comment #14)
> This document describes implementation of basic OVS functionality. After
> this step it should behave the same way as our current native linux
> networking implementation (but faster because of we are not using
> initscripts). OVS boundaries are in this case limited for a host. Is a
> controller needed in this case?

If ovs is used just as a MAC learning switch then no controller is needed. But in such case it provides absolutely no advantage over the Linux bridge. If the only reason is automatic bridge setup, then please talk with NetworkManager developers, I'm sure they can help.

In any other ovs use case than a MAC learning switch, a controller is needed.

Comment 19 Yaniv Lavi 2016-03-03 12:52:35 UTC
(In reply to Jiri Benc from comment #18)
> (In reply to Petr Horáček from comment #14)
> > This document describes implementation of basic OVS functionality. After
> > this step it should behave the same way as our current native linux
> > networking implementation (but faster because of we are not using
> > initscripts). OVS boundaries are in this case limited for a host. Is a
> > controller needed in this case?
> 
> If ovs is used just as a MAC learning switch then no controller is needed.
> But in such case it provides absolutely no advantage over the Linux bridge.
> If the only reason is automatic bridge setup, then please talk with
> NetworkManager developers, I'm sure they can help.
> 
> In any other ovs use case than a MAC learning switch, a controller is needed.

Please read comment #10.

Comment 20 Yaniv Kaul 2016-03-10 15:32:00 UTC
Hanness - please see bug 1193083 - one of the reasons we wish to switch from current networking stack to OVS.

Comment 22 Sandro Bonazzola 2016-05-02 09:49:05 UTC
Moving from 4.0 alpha to 4.0 beta since 4.0 alpha has been already released and bug is not ON_QA.

Comment 25 Yaniv Lavi 2016-08-08 13:01:22 UTC
Moving out as this is a ongoing dev\QE process for tech preview.

Comment 26 Red Hat Bugzilla Rules Engine 2016-09-05 09:09:28 UTC
Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release.

Comment 28 Michal Skrivanek 2016-09-16 12:39:10 UTC
Note: the link in URL field doesn't work.

Comment 29 Michael Burman 2016-11-20 10:08:03 UTC
How come that this RFE is ON_QA? when it depends on bugs that on NEW/POST and so on..? 
I don't think this should be ON_QA.

Comment 32 Yaniv Lavi 2017-11-26 14:41:15 UTC
Should this move to 4.2 based on Petr's work?

Comment 33 Dan Kenigsberg 2017-12-04 10:57:13 UTC
(In reply to Yaniv Lavi from comment #32)
> Should this move to 4.2 based on Petr's work?

I don't think so, as this bug has been deeply abused for OvS.

Comment 34 Dan Kenigsberg 2018-10-13 13:19:48 UTC
To support OVS switch type we need to document what is not supported (yet) on it.
Partial list is:

- reading LLDP (RHV-2679)
- setting DNS
- source routing (bug 1383035)
- iSCSI bond (bug 1441245)
- port mirroring (bug 1362492)
- host QoS (bug 1380271)
- setting bridge options (bug 1380273)

Comment 35 Ales Musil 2019-02-21 13:19:56 UTC
We are not even close to be finished with this bug.

Comment 38 Michal Skrivanek 2020-03-19 15:40:54 UTC
We didn't get to this bug for more than 2 years, and it's not being considered for the upcoming 4.4. It's unlikely that it will ever be addressed so I'm suggesting to close it.
If you feel this needs to be addressed and want to work on it please remove cond nack and target accordingly.

Comment 40 Dominik Holler 2020-03-19 16:38:35 UTC
Closing as deferred, because we plan to keep OVS cluster type as tech preview.


Note You need to log in before you can comment on or make changes to this bug.