Revision history [back]

click to hide/show revision 1
initial version

Found a workraround that is working for me:

First of all, I enabled GRE for Neutron. Then I proceeded to delete all existing bridges on the nodes, including br-int, br-tun, etc, using the ovs-vsctrl command. After that, I restarted the whole system and the bridges were recreated. Somehow, now I could create instances with no trouble.

Found a workraround that is working for me:

First of all, I enabled GRE for Neutron. On the controller, the file /etc/neutron/plugins/ml2/ml2_conf.ini is this way:

[ml2]
type_drivers = flat,vlan,gre,vxlan 
tenant_network_types = vlan,gre,vxlan
mechanism_drivers =openvswitch
path_mtu = 0
[ml2_type_flat]
flat_networks = external 
[ml2_type_vlan]
#network_vlan_ranges =physnet1:1000:2000
[ml2_type_gre]
tunnel_id_ranges = 1:1000
[ml2_type_vxlan]
[ml2_type_geneve]

On the compute nodes, the file /etc/neutron/plugins/ml2/openvswitch_agent.ini is this way:

[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vlan,gre,vxlan 
mechanism_drivers = openvswitch
[ml2_type_gre]
tunnel_id_ranges = 1:1000
[securitygroup]
enable_security_group = True
enable_ipset = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[ovs]
integration_bridge = br-int
local_ip = 192.168.0.13
enable_tunneling=False
[agent]
polling_interval = 2
tunnel_types = vxlan,gre
l2_population = False
arp_responder = False
prevent_arp_spoofing = True
enable_distributed_routing = False
drop_flows_on_start=False
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

Then I proceeded to delete all existing bridges on the nodes, including br-int, br-tun, etc, using the ovs-vsctrl command. After that, I restarted the whole system and the bridges were recreated. Somehow, now I could create instances with no trouble.

Found a workraround that is working for me:

First of all, I enabled GRE for Neutron. On the controller, the file /etc/neutron/plugins/ml2/ml2_conf.ini is this way:

[ml2]
type_drivers = flat,vlan,gre,vxlan 
tenant_network_types = vlan,gre,vxlan
mechanism_drivers =openvswitch
path_mtu = 0
[ml2_type_flat]
flat_networks = external 
[ml2_type_vlan]
#network_vlan_ranges =physnet1:1000:2000
[ml2_type_gre]
tunnel_id_ranges = 1:1000
[ml2_type_vxlan]
[ml2_type_geneve]

On the compute nodes, the file /etc/neutron/plugins/ml2/openvswitch_agent.ini is this way:

[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vlan,gre,vxlan 
mechanism_drivers = openvswitch
[ml2_type_gre]
tunnel_id_ranges = 1:1000
[securitygroup]
enable_security_group = True
enable_ipset = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[ovs]
integration_bridge = br-int
local_ip = 192.168.0.13
enable_tunneling=False
[agent]
polling_interval = 2
tunnel_types = vxlan,gre
l2_population = False
arp_responder = False
prevent_arp_spoofing = True
enable_distributed_routing = False
drop_flows_on_start=False
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

Then I proceeded to delete all existing bridges on the nodes, including br-int, br-tun, etc, using the ovs-vsctrl command. After that, I restarted the whole system and the bridges were recreated. Somehow, now I could create instances with no trouble. The output for ovs-vsctl show on the controller:

54dc7bbf-c954-4d81-b121-96d0d0866e08
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port "qg-23f7c43c-6e"
            tag: 2
            Interface "qg-23f7c43c-6e"
                type: internal
        Port "qr-c1456155-03"
            tag: 1
            Interface "qr-c1456155-03"
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "tapc3f44a81-1b"
            tag: 1
            Interface "tapc3f44a81-1b"
                type: internal
    Bridge br-tun
        Port "gre-c0a80010"
            Interface "gre-c0a80010"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.16"}
         Port "gre-c0a8000b"
            Interface "gre-c0a8000b"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.11"}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port "gre-c0a80011"
            Interface "gre-c0a80011"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.17"}
        Port "gre-c0a8000e"
            Interface "gre-c0a8000e"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.14"}
        Port "gre-c0a8000f"
            Interface "gre-c0a8000f"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.15"}
        Port "gre-c0a80012"
            Interface "gre-c0a80012"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.18"}
        Port "gre-c0a8000d"
            Interface "gre-c0a8000d"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.13"}
        Port "gre-c0a8000c"
            Interface "gre-c0a8000c"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.12"}
        Port br-tun
            Interface br-tun
                type: internal
    Bridge br-ex
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
        Port "ens1f0"
            Interface "ens1f0"
        Port br-ex
            Interface br-ex
                type: internal
    ovs_version: "2.4.0"

The same for a compute node:

c7e24b26-5f40-4d92-9a4d-bed59969987a
    Bridge br-tun
        fail_mode: secure
        Port "gre-c0a8000f"
            Interface "gre-c0a8000f"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.15"}
        Port "gre-c0a80011"
            Interface "gre-c0a80011"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.17"}
        Port "gre-c0a8000e"
            Interface "gre-c0a8000e"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.14"}
        Port "gre-c0a8000c"
            Interface "gre-c0a8000c"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.12"}
        Port "gre-c0a80012"
            Interface "gre-c0a80012"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.18"}
        Port "gre-c0a80010"
            Interface "gre-c0a80010"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.16"}
        Port br-tun
            Interface br-tun
                type: internal
        Port "gre-c0a80001"
            Interface "gre-c0a80001"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.1"}
        Port "gre-c0a8000d"
            Interface "gre-c0a8000d"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.13"}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
    ovs_version: "2.4.0"

It's kind of verbose, but is easy to see that the GRE tunnels are set among all the compute nodes (eight in total).

Found a workraround that is working for me:

First of all, I enabled GRE for Neutron. On the controller, the file /etc/neutron/plugins/ml2/ml2_conf.ini is this way:

[ml2]
type_drivers = flat,vlan,gre,vxlan 
flat,vlan,gre
tenant_network_types = vlan,gre,vxlan
vlan,gre
mechanism_drivers =openvswitch
path_mtu = 0
[ml2_type_flat]
flat_networks = external 
[ml2_type_vlan]
#network_vlan_ranges =physnet1:1000:2000
[ml2_type_gre]
tunnel_id_ranges = 1:1000
[ml2_type_vxlan]
[ml2_type_geneve]

And the file /etc/neutron/plugins/ml2/openvswitch_agent.ini looks like this:

[ovs]
integration_bridge = br-int
local_ip = 192.168.0.1
bridge_mappings = external:br-ex
[agent]
polling_interval = 2
tunnel_types = gre
l2_population = False
arp_responder = False
prevent_arp_spoofing = True
enable_distributed_routing = False
drop_flows_on_start=False
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = True
enable_ipset = True

On the compute nodes, the file /etc/neutron/plugins/ml2/openvswitch_agent.ini is this way:

[ml2]
type_drivers = flat,vlan,gre,vxlan
flat,vlan,gre,
tenant_network_types = vlan,gre,vxlan 
vlan,gre
mechanism_drivers = openvswitch
[ml2_type_gre]
tunnel_id_ranges = 1:1000
[securitygroup]
enable_security_group = True
enable_ipset = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[ovs]
integration_bridge = br-int
local_ip = 192.168.0.13
enable_tunneling=False
[agent]
polling_interval = 2
tunnel_types = vxlan,gre
gre
l2_population = False
arp_responder = False
prevent_arp_spoofing = True
enable_distributed_routing = False
drop_flows_on_start=False
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

Then I proceeded to delete all existing bridges on the nodes, including br-int, br-tun, etc, using the ovs-vsctrl command. After that, I restarted the whole system and the bridges were recreated. Somehow, now I could create instances with no trouble. The output for ovs-vsctl show on the controller:

54dc7bbf-c954-4d81-b121-96d0d0866e08
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port "qg-23f7c43c-6e"
            tag: 2
            Interface "qg-23f7c43c-6e"
                type: internal
        Port "qr-c1456155-03"
            tag: 1
            Interface "qr-c1456155-03"
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "tapc3f44a81-1b"
            tag: 1
            Interface "tapc3f44a81-1b"
                type: internal
    Bridge br-tun
        Port "gre-c0a80010"
            Interface "gre-c0a80010"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.16"}
         Port "gre-c0a8000b"
            Interface "gre-c0a8000b"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.11"}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port "gre-c0a80011"
            Interface "gre-c0a80011"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.17"}
        Port "gre-c0a8000e"
            Interface "gre-c0a8000e"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.14"}
        Port "gre-c0a8000f"
            Interface "gre-c0a8000f"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.15"}
        Port "gre-c0a80012"
            Interface "gre-c0a80012"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.18"}
        Port "gre-c0a8000d"
            Interface "gre-c0a8000d"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.13"}
        Port "gre-c0a8000c"
            Interface "gre-c0a8000c"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.1", out_key=flow, remote_ip="192.168.0.12"}
        Port br-tun
            Interface br-tun
                type: internal
    Bridge br-ex
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
        Port "ens1f0"
            Interface "ens1f0"
        Port br-ex
            Interface br-ex
                type: internal
    ovs_version: "2.4.0"

The same for a compute node:

c7e24b26-5f40-4d92-9a4d-bed59969987a
    Bridge br-tun
        fail_mode: secure
        Port "gre-c0a8000f"
            Interface "gre-c0a8000f"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.15"}
        Port "gre-c0a80011"
            Interface "gre-c0a80011"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.17"}
        Port "gre-c0a8000e"
            Interface "gre-c0a8000e"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.14"}
        Port "gre-c0a8000c"
            Interface "gre-c0a8000c"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.12"}
        Port "gre-c0a80012"
            Interface "gre-c0a80012"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.18"}
        Port "gre-c0a80010"
            Interface "gre-c0a80010"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.16"}
        Port br-tun
            Interface br-tun
                type: internal
        Port "gre-c0a80001"
            Interface "gre-c0a80001"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.1"}
        Port "gre-c0a8000d"
            Interface "gre-c0a8000d"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.0.11", out_key=flow, remote_ip="192.168.0.13"}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
    ovs_version: "2.4.0"

It's kind of verbose, but is easy to see that the GRE tunnels are set among all the compute nodes (eight in total).