I am having serious issues in the deployment of the Openstack scenario related to the Linux Bridge. This is the scenario:
Controller machine:
- Management Interface
enp2s0
: 138.100.10.25.
Compute machine:
- Management Interface
enp2s0
: 138.100.10.26. - Provider Interface
enp0s20f0u4
: 138.100.10.27.
Openstack Train scenario has been successfully deployed in Centos 8, choosing networking option 2 (self-service network).
To verify the functionality, an image has been uploaded, created an Openstack flavor and security group, and launched a couple of cirrOS instances for connection testing. We have created a provider network following this tutorial and a selfservice network following this one.
The network scenario is the next one:
As can be seen in the network topology, an external network 138.100.10.0/21 (provider) and an internal network 192.168.1.1 (selfservice) have been created, connected through a router by the interfaces 138.100.10.198 and 192.168.1.1, both active.
Our problem is that our Linux bridge is not working as expected: the Openstack cirrOS instances has no internet access.
This is the controller ip a
and brctl show
command output:
This is the compute ip a
and brctl show
command output:
Testarossa_ip_a Testarossa_brctl
(The output of ovs-vsctl show
command is empty in both machines).
Are the Linux Bridges correctly created?
These are the Linux bridge configuration files:
- Controller
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
:
[linux_bridge]
physical_interface_mappings = provider:enp2s0 # enp2s0 is the interface associated to 138.100.10.25
[vxlan]
enable_vxlan = true
local_ip = 138.100.10.25 # controller has only 1 IP
l2_population = true
- Compute
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
:
[linux_bridge]
physical_interface_mappings = provider:enp0s20f0u4 # interface associated to 138.100.10.26
[vxlan]
enable_vxlan = true
local_ip = 138.100.10.27
l2_population = true
An observation to keep in mind is that compute management interface (138.100.10.26
) is inaccessible from anywhere, which I think is not correct since this prevents us, for example, from accessing the instance console through the URL.
I have made some conection tests and these are the results:
- Cirros_a
ip a
command output:
- Cirros_b
ip a
command output:
- There is connection between Cirros A and Cirros B (in both directions).
- There is connection between Cirros A/B and self-service gateway (192.168.1.1) (in both directions).
- There is connection between Cirros A/B and provider gateway (138.100.10.198) (in both directions).
- There is connection between Cirros A/B and controller management interface (138.100.10.25) (in both directions).
- There is no connection between Cirros A/B and compute management interface (138.100.10.26). This interface is not accessible.
- There is connection between Cirros A/B and compute provider interface (138.100.10.27) (in both directions).
I do not know if there is a problem on linux bridge configuration files, or maybe I need another network interface on controller machine.