Bug 1565542

Summary: 4.2 documentation updates: tunneling network change, configuration file, MTU
Product: [oVirt] ovirt-provider-ovn Reporter: Marcin Mirecki <mmirecki>
Component: providerAssignee: Marcin Mirecki <mmirecki>
Status: CLOSED DUPLICATE QA Contact: Mor <mkalfon>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: bugs, danken, ylavi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-11 08:10:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Docs RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Marcin Mirecki 2018-04-10 09:20:03 UTC
The following items need to be updated/created: tunneling network change, configuration file, MTU 

The description for each below:


============

Updating ovirt network used for OVN tunnel 

When a host is installed, it uses the "ovirtmgmt" network to set up
OVN tunnels (connecting the OVN hosts).
But, the user might want to use another network for this purpose.
This can be done by executing the "ovirt-provider-ovn-driver" ansible playbook
from the engine host, to change the configuation for all hosts in a cluster.
Steps:

1. Go to:
cd /usr/share/ovirt-engine/playbooks

2. Execute:
ansible-playbook --private-key=/etc/pki/ovirt-engine/keys/engine_id_rsa -i /usr/share/ovirt-engine-metrics/bin/ovirt-engine-hosts-ansible-inventory --extra-vars " cluster_name=<cluster name> ovn_central=<ovn central ip> ovn_tunneling_interface=<vdsm network name>" ovirt-provider-ovn-driver.yml

For example, for the following parameters:
  cluster: TEST_CLUSTER
  network: TEST_NETWORK
  ovn central ip: 192.168.0.1
the command will be:
ansible-playbook --private-key=/etc/pki/ovirt-engine/keys/engine_id_rsa -i /usr/share/ovirt-engine-metrics/bin/ovirt-engine-hosts-ansible-inventory --extra-vars " cluster_name=TEST_CLUSTER ovn_central=192.168.0.1 ovn_tunneling_interface=TEST_NETWORK" ovirt-provider-ovn-driver.yml

Note that "ovn_central" ip can, but does not have to be on the new network. The only requirement is that is has be reachable from all hosts.

Note that this only changes the settings on existing hosts. If new hosts are
added to the cluster, the procedure has to be repeated.


The OVN tunnel network can also be changed on an individual host by invoking:
vdsm-tool ovn-config <ovn central ip> <tunneling ip or network name>


======================

Configuration

The ovirt-provider-ovn config file is located in:
  /etc/ovirt-provider-ovn/
  /etc/ovirt-provider-ovn/conf.d/

The default configuration file is:
  /etc/ovirt-provider-ovn/ovirt-provider-ovn.conf

If any changes to the configuration are needed, please override the 
default configuration file by placing a .conf file in:
  /etc/ovirt-provider-ovn/conf.d/

Only *.conf are considered. Files read in by name, last wins.

If the provider was installed using engine setup, one incremental
config file will be automatically created by engine setup:
  /etc/ovirt-provider-ovn/conf.d/10_engine_setup.conf
If further configuration changes are required, an additional incremental
configuration file should be created, named after the engine setup config,
for example:
  /etc/ovirt-provider-ovn/conf.d/20_user_setup.conf
The original engine setup config (10_engine_setup.conf) should not be modified.

 
===================

MTU

The OVN tunneling adds additional encapsulation headers to the tunneled data.
In default configuration OVN does not set the Don’t Fragment bit, see 
df_default in ovs-vswitchd.conf.db(5). 
Therefore the offered MTU plus the additional encapsulation headers
length must not be larger than the MTU of the tunneling network.

For an encapsulation in Geneve, UDP, IPv4 and Ethernet without 802.1Q,
an additional 58 bytes are used, although the exact number could differ
depending on the Geneve configuration (please refere to the Geneve docs: https://tools.ietf.org/html/draft-ietf-nvo3-geneve-06)

For example if the tunneling network MTU is set to 1500, this results in a MTU of 1442 for the tunneled network.
For other values of the tunneling network MTU, the tunneled network MTU must be adjusted accordingly.

When using an OVN networks with a subnet, assiging the proper MTU will be
taken care of by OVN dhcp.
The default configuration can be specified in the provider configuration using
the following property:
  [DHCP]
  dhcp-mtu

The default value is 1442.

If no subnet is used, and OVN dhcp is not available, the user must make
sure to set a correct MTU value: one appropiately smaller than the MTU on
the hosts' nics used for the OVN tunnels.

Comment 1 Marcin Mirecki 2018-04-11 08:10:52 UTC
Handling each topic in a separate bug: 1565963, 1565965
Closing this bug.

*** This bug has been marked as a duplicate of bug 1565963 ***