X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=mcp%2Fpatches%2F0015-Set-ovs-bridges-as-L3-interfaces.patch;h=a7b366b94214dc3004309daf7feab5c9223a9337;hb=eabdb8a31e5836f80340758059eec81ca341906f;hp=55cf093f48358ddf71c54791ebe17e50c5c1ff35;hpb=7d810c4b63ec05bb39b1fd6be570623075b6a99d;p=fuel.git diff --git a/mcp/patches/0015-Set-ovs-bridges-as-L3-interfaces.patch b/mcp/patches/0015-Set-ovs-bridges-as-L3-interfaces.patch index 55cf093f4..a7b366b94 100644 --- a/mcp/patches/0015-Set-ovs-bridges-as-L3-interfaces.patch +++ b/mcp/patches/0015-Set-ovs-bridges-as-L3-interfaces.patch @@ -14,30 +14,38 @@ Change-Id: I1e83129cc184cf481bea21d7aa452bf60d9e0499 diff --git a/linux/files/ovs_bridge b/linux/files/ovs_bridge new file mode 100644 -index 0000000..8c0f468 +index 0000000..c609e45 --- /dev/null +++ b/linux/files/ovs_bridge -@@ -0,0 +1,14 @@ +@@ -0,0 +1,19 @@ +auto {{ bridge_name }} +allow-ovs {{ bridge_name }} -+iface {{ bridge_name }} inet {{ bridge.get('proto', 'manual') }} ++iface {{ bridge_name }} inet static + ovs_type OVSBridge -+ {%- if bridge.get('proto', 'manual') == 'static' %} + address {{ bridge.address }} + netmask {{ bridge.netmask }} ++ mtu {{ bridge.get('mtu', '1500') }} ++ {%- if bridge.use_interfaces is defined %} ++ ovs_ports {{ bridge.use_interfaces|join(' ') }} ++ {%- endif %} ++ {%- if bridge.datapath_type is defined %} ++ ovs_extra set Bridge ${IFACE} datapath_type={{ bridge.datapath_type }} + {%- endif %} + {%- if bridge.gateway is defined %} + gateway {{ bridge.gateway }} + {%- endif %} -+ {%- if bridge.ovs_options is defined %} -+ ovs_options {{ bridge.ovs_options }} ++ {%- if bridge.name_servers is defined %} ++ dns-nameservers {{ bridge.name_servers | join(' ') }} + {%- endif %} diff --git a/linux/files/ovs_port b/linux/files/ovs_port index 222ca8e..efb0307 100644 --- a/linux/files/ovs_port +++ b/linux/files/ovs_port -@@ -1,6 +1,9 @@ - auto {{ port_name }} +@@ -1,6 +1,11 @@ ++# With systemd, adding OVS bridges as 'auto' can cause race conditions ++# https://github.com/openvswitch/ovs/blob/master/debian/openvswitch-switch.README.Debian ++# auto {{ port_name }} +-auto {{ port_name }} allow-{{ port.bridge }} {{ port_name }} iface {{ port_name }} inet {{ port.get('proto', 'manual') }} +{%- if '.' in port_name %} @@ -47,13 +55,14 @@ index 222ca8e..efb0307 100644 mtu {{ port.get('mtu', '1500') }} ovs_bridge {{ port.bridge }} diff --git a/linux/network/interface.sls b/linux/network/interface.sls -index 7375b04..bbf2fa0 100644 +index 180f912..dcb295b 100644 --- a/linux/network/interface.sls +++ b/linux/network/interface.sls -@@ -67,6 +67,32 @@ remove_cloud_init_file: +@@ -91,6 +91,34 @@ add_int_{{ int_name }}_to_ovs_dpdk_bridge_{{ interface_name }}: ovs_bridge_{{ interface_name }}: openvswitch_bridge.present: - name: {{ interface_name }} ++{%- if interface.get('proto', 'manual') == 'static' %} + file.managed: + - name: /etc/network/interfaces.u/ifcfg-{{ interface_name }} + - makedirs: True @@ -80,6 +89,7 @@ index 7375b04..bbf2fa0 100644 + - file: linux_interfaces_final_include + - unless: + - ip link show {{ interface_name }} | grep -q '\' ++{%- endif %} {# add linux network interface into OVS bridge #} {%- for int_name, int in network.interface.items() %}