Bug 1383035 - [OVS] support source-routing when gateway is specified on a non-defaultRoute network
Summary: [OVS] support source-routing when gateway is specified on a non-defaultRoute ...
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: BLL.Network
Version: 4.1.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Petr Horáček
QA Contact: Meni Yakove
URL:
Whiteboard:
: 1397721 (view as bug list)
Depends On:
Blocks: OpenVswitch_Support
TreeView+ depends on / blocked
 
Reported: 2016-10-09 08:59 UTC by Michael Burman
Modified: 2018-10-13 12:17 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-04 11:28:28 UTC
oVirt Team: Network
Embargoed:
rule-engine: ovirt-4.2+


Attachments (Terms of Use)
fresh logs (287.04 KB, application/x-gzip)
2018-01-01 12:58 UTC, Michael Burman
no flags Details

Description Michael Burman 2016-10-09 08:59:56 UTC
Description of problem:
[OVS] - Can't set a gateway on a 'ovs' network via the setup networks dialog. 

When setting a gateway on network in ovs cluster, it is reported as out-of-sync. Nothing reported for 'gateway' in caps.

- It looks like engine is sending the setup networks command to vdsm and gateway is passed --> 

2016-10-09 11:54:02,378 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.HostSetupNetworksVDSCommand] (default task-2) [4b59e1b0] START, HostSetupNetworksVDSCommand(HostName = orchid-vds2.qa.lab.tlv.redhat.com, HostSetupNetworksVdsCommandParameters:{runAsync='true', hostId='66c957aa-bf10-4d34-9855-15ce5236a870', vds='Host[orchid-vds2.qa.lab.tlv.redhat.com,66c957aa-bf10-4d34-9855-15ce5236a870]', rollbackOnFailure='true', connectivityTimeout='120', networks='[HostNetwork:{defaultRoute='false', bonding='false', networkName='ovs-net2-vlan', nicName='enp6s0', vlan='164', mtu='0', vmNetwork='true', stp='false', properties='[]', ipv4BootProtocol='STATIC_IP', ipv4Address='5.5.5.5', ipv4Netmask='255.255.255.0', ipv4Gateway='5.5.5.254', ipv6BootProtocol='NONE', ipv6Address='null', ipv6Prefix='null', ipv6Gateway='null', switchType='OVS'}]', removedNetworks='[]', bonds='[]', removedBonds='[]'}), log id: 14075dda

- In supervdsm i can see that gateway is passed for Running config, but it's not reproted in caps --> 

MainProcess|jsonrpc/2::INFO::2016-10-09 11:54:04,450::netconfpersistence::58::root::(setNetwork) Adding network ovs-net2-vlan({'ipv6autoconf': False, 'nameservers': [], 'nic': 'enp6s0', 'vlan': 164, 'ipaddr': '5.5
.5.5', 'switch': 'ovs', 'mtu': 1500, 'netmask': '255.255.255.0', 'dhcpv6': False, 'stp': False, 'bridged': True, 'gateway': '5.5.5.254', 'defaultRoute': False})

MainProcess|jsonrpc/2::INFO::2016-10-09 11:54:05,589::netconfpersistence::137::root::(save) Saved new config RunningConfig({'ovirtmgmt': {u'ipv6autoconf': False, u'nameservers': [u'10.35.64.1'], u'nic': u'enp4s0', u'mtu': 1500, u'switch': u'ovs', u'dhcpv6': True, u'stp': False, u'bridged': True, u'defaultRoute': True, u'bootproto': u'dhcp'}, 'ovs-net2-vlan': {'ipv6autoconf': False, 'nameservers': [], 'nic': 'enp6s0', 'vlan': 164, 'ipaddr': '5.5.5.5', 'switch': 'ovs', 'mtu': 1500, 'netmask': '255.255.255.0', 'dhcpv6': False, 'stp': False, 'bridged': True, 'gateway': '5.5.5.254', 'defaultRoute': False}, 'ovs-net3-non-vm': {u'ipv6autoconf': True, u'nameservers': [], u'nic': u'ens1f0', u'mtu': 1500, u'switch': u'ovs', u'dhcpv6': False, u'bridged': False, u'defaultRoute': False}}, {}) to /var/run/vdsm/netconf/nets/ and /var/run/vdsm/netconf/bonds/


MainProcess|jsonrpc/4::DEBUG::2016-10-09 11:54:07,574::supervdsmServer::99::SuperVdsm.ServerCallback::(wrapper) return network_caps with {'bridges': {u'ovirtmgmt': {'ipv6autoconf': True, 'addr': '10.35.128.15', 'ipv4defaultroute': True, 'ipv6addrs': ['2620:52:0:2380:21a:64ff:fe7a:9462/64'], 'mtu': 1500, 'dhcpv4': True, 'netmask': '255.255.255.0', 'dhcpv6': False, 'stp': False, 'ipv4addrs': ['10.35.128.15/24'], 'gateway': '10.35.128.254', 'ipv6gateway': 'fe80:52:0:2380::fe', 'ports': [u'enp4s0']}, u'ovs-net2-vlan': {'ipv6autoconf': False, 'addr': '5.5.5.5', 'ipv4defaultroute': False, 'ipv6addrs': [], 'mtu': 1500, 'dhcpv4': False, 'netmask': '255.255.255.0', 'dhcpv6': False, 'stp': False, 'ipv4addrs': ['5.5.5.5/24'], 'gateway': '', 'ipv6gateway': '::', 'ports': ['enp6s0.164']}, 'virbr0': {'ipv6autoconf': False, 'addr': '192.168.122.1', 'dhcpv6': False, 'ipv6addrs': [], 'gateway': '', 'dhcpv4': False, 'netmask': '255.255.255.0', 'ipv4defaultroute': False, 'stp': 'on', 'ipv4addrs': ['192.168.122.1/24'], 'mtu': '1500', 'ipv6gateway': '::', 'ports': ['virbr0-nic'], 'opts': {'multicast_last_member_count': '2', 'hash_elasticity': '4', 'multicast_query_response_interval': '1000', 'group_fwd_mask': '0x0', 'multicast_snooping': '1', 'multicast_startup_query_interval': '3125', 'hello_timer': '107', 'multicast_querier_interval': '25500', 'max_age': '2000', 'hash_max': '512', 'stp_state': '1', 'topology_change_detected': '0', 'priority': '32768', 'multicast_membership_interval': '26000', 'root_path_cost': '0', 'root_port': '0', 'multicast_querier': '0', 'multicast_startup_query_count': '2', 'nf_call_iptables': '0', 'topology_change': '0', 'hello_time': '200', 'root_id': '8000.525400ce5f36', 'bridge_id': '8000.525400ce5f36', 'topology_change_timer': '0', 'ageing_time': '30000', 'nf_call_ip6tables': '0', 'gc_timer': '7089', 'nf_call_arptables': '0', 'group_addr': '1:80:c2:0:0:0', 'multicast_last_member_interval': '100', 'default_pvid': '1', 'multicast_query_interval': '12500', 'tcn_timer': '0', 'multicast_router': '1', 'vlan_filtering': '0', 'forward_delay': '200'}}}, 'bondings': {}, 'nameservers': ['10.35.64.1'], 'nics': {'ens1f1': {'ipv6autoconf': True, 'addr': '', 'ipv6gateway': '::', 'dhcpv6': False, 'ipv6addrs': [], 'mtu': '1500', 'dhcpv4': False, 'netmask': '', 'ipv4defaultroute': False, 'ipv4addrs': [], 'hwaddr': '00:15:17:3d:cd:cf', 'speed': 1000, 'gateway': ''}, 'ens1f0': {'netmask': '', 'ipv4addrs': [], 'hwaddr': '00:15:17:3d:cd:ce', 'speed': 1000, 'gateway': '', 'ipv6autoconf': True, 'addr': '', 'ipv4defaultroute': False, 'ipv6addrs': ['2620:52:0:2380:215:17ff:fe3d:cdce/64'], 'mtu': 1500, 'dhcpv4': False, 'dhcpv6': False, 'ipv6gateway': '::'}, 'enp4s0': {'ipv6autoconf': False, 'addr': '', 'ipv6gateway': '::', 'dhcpv6': False, 'ipv6addrs': [], 'mtu': '1500', 'dhcpv4': False, 'netmask': '', 'ipv4defaultroute': False, 'ipv4addrs': [], 'hwaddr': '00:1a:64:7a:94:62', 'speed': 1000, 'gateway': ''}, 'enp6s0': {'ipv6autoconf': False, 'addr': '', 'ipv6gateway': '::', 'dhcpv6': False, 'ipv6addrs': [], 'mtu': '1500', 'dhcpv4': False, 'netmask': '', 'ipv4defaultroute': False, 'ipv4addrs': [], 'hwaddr': '00:1a:64:7a:94:64', 'speed': 0, 'gateway': ''}}, 'supportsIPv6': True, 'vlans': {u'enp6s0.164': {'iface': u'enp6s0', 'ipv6autoconf': False, 'addr': '', 'ipv4defaultroute': False, 'ipv6addrs': [], 'vlanid': 164, 'mtu': 1500, 'dhcpv4': False, 'netmask': '', 'dhcpv6': False, 'ipv4addrs': [], 'ipv6gateway': '', 'gateway': ''}}, 'networks': {u'ovirtmgmt': {'addr': '10.35.128.15', 'iface': u'ovirtmgmt', 'ipv6autoconf': True, 'ipv4addrs': ['10.35.128.15/24'], 'ipv4defaultroute': True, 'nics': [u'enp4s0'], 'ipv6addrs': ['2620:52:0:2380:21a:64ff:fe7a:9462/64'], 'netmask': '255.255.255.0', 'gateway': '10.35.128.254', 'dhcpv4': True, 'switch': 'ovs', 'dhcpv6': False, 'stp': False, 'bridged': True, 'mtu': 1500, 'ipv6gateway': 'fe80:52:0:2380::fe', 'ports': [u'enp4s0'], 'bond': ''}, u'ovs-net2-vlan': {'addr': '5.5.5.5', 'iface': u'ovs-net2-vlan', 'ipv6autoconf': False, 'ipv4addrs': ['5.5.5.5/24'], 'ipv4defaultroute': False, 'nics': [u'enp6s0'], 'ipv6addrs': [], 'netmask': '255.255.255.0', 'vlanid': 164, 'gateway': '', 'dhcpv4': False, 'switch': 'ovs', 'dhcpv6': False, 'stp': False, 'bridged': True, 'mtu': 1500, 'ipv6gateway': '::', 'ports': ['enp6s0.164'], 'bond': ''}, u'ovs-net3-non-vm': {'addr': '', 'iface': u'ens1f0', 'ipv6autoconf': True, 'ipv4addrs': [], 'ipv4defaultroute': False, 'nics': [u'ens1f0'], 'ipv6addrs': ['2620:52:0:2380:215:17ff:fe3d:cdce/64'], 'netmask': '', 'gateway': '', 'dhcpv4': False, 'switch': 'ovs', 'dhcpv6': False, 'stp': False, 'bridged': False, 'mtu': 1500, 'ipv6gateway': '::', 'ports': [u'ens1f0'], 'bond': ''}}}

Version-Release number of selected component (if applicable):
4.1.0-0.0.master.20161008231308.git39b2133.el7.centos

How reproducible:
100

Steps to Reproduce:
1. Add host to 'ovs' switch type cluster 
2. Attach network to host NIC via the setup networks dialog and set a static ip with gateway

Actual results:
Network reported as out of sync with the host. No 'gateway' reported for this network in VdsCaps

Expected results:
Should work

Comment 1 Michael Burman 2016-10-09 09:12:19 UTC
This applies the 4.0.5-0.1.el7ev as well

Comment 2 Petr Horáček 2016-10-17 12:36:56 UTC
We now support gateway only for defaultRoute=true (== management) networks. For non-management networks gateways we must implement source routing for ovs switch.

Comment 3 Dan Kenigsberg 2016-12-12 14:47:55 UTC
*** Bug 1397721 has been marked as a duplicate of this bug. ***

Comment 4 Michael Burman 2018-01-01 12:57:07 UTC
Still relevant for non-mgmt networks on latest rhv 4.2 - 4.2.0.2-0.1.el7
vdsm-4.20.9.3-1.el7ev
openvswitch-2.7.3-2.git20171010.el7fdp.x86_64

Comment 5 Michael Burman 2018-01-01 12:58:56 UTC
Created attachment 1375150 [details]
fresh logs


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