<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p># Openstack instances cannot access Internet [linuxbridge]<br>
      <br>
      <br>
      I am having serious issues in the deployment of the Openstack
      scenario related to the Linux Bridge.<br>
      This is the scenario:<br>
      <br>
      - Controller machine:<br>
          - Management Interface `enp2s0`: 138.100.10.25.<br>
      - Compute machine:<br>
          - Management Interface `enp2s0`: 138.100.10.26.<br>
          - Provider Interface `enp0s20f0u4`: 138.100.10.27.<br>
      <br>
      Openstack Train scenario has been successfully deployed in Centos
      8, choosing networking option 2 (self-service network).<br>
      <br>
      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.<br>
      We have created a provider network following [this
tutorial](<a class="moz-txt-link-freetext" href="https://docs.openstack.org/newton/install-guide-rdo/launch-instance-networks-provider.html">https://docs.openstack.org/newton/install-guide-rdo/launch-instance-networks-provider.html</a>)
      and a selfservice network following [this
one](<a class="moz-txt-link-freetext" href="https://docs.openstack.org/newton/install-guide-rdo/launch-instance-networks-selfservice.html">https://docs.openstack.org/newton/install-guide-rdo/launch-instance-networks-selfservice.html</a>).<br>
      <br>
      The network scenario is the next one: <br>
      <img src="cid:part1.FEC7B68B.623DB034@ucm.es" alt=""><br>
      <br>
      <br>
      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.<br>
      <br>
      Our problem is that our Linux bridge is not working as expected:
      the Openstack cirrOS instances has no internet access.<br>
      <br>
      This is the controller `ip a` and `brctl show` command output:<br>
      <br>
      <img src="cid:part2.E7229D91.7FF8FA80@ucm.es" alt=""><br>
      <br>
      This is the compute `ip a` and `brctl show` command output:<br>
      <br>
      <img src="cid:part3.CEC63B3B.35199F64@ucm.es" alt=""><br>
      <img src="cid:part4.09E42122.EFF70764@ucm.es" alt=""><br>
      <br>
      (The output of `ovs-vsctl show` command is empty in both
      machines).<br>
      <br>
      **Are the Linux Bridges correctly created?**<br>
      <br>
      These are the Linux bridge configuration files:<br>
      <br>
      * Controller `/etc/neutron/plugins/ml2/linuxbridge_agent.ini`:<br>
      ```<br>
      [linux_bridge]<br>
      physical_interface_mappings = provider:enp2s0     # enp2s0 is the
      interface associated to 138.100.10.25<br>
      <br>
      [vxlan]<br>
      enable_vxlan = true<br>
      local_ip = 138.100.10.25    # controller has only 1 IP<br>
      l2_population = true<br>
      ```<br>
      <br>
      * Compute `/etc/neutron/plugins/ml2/linuxbridge_agent.ini`:<br>
      ```<br>
      [linux_bridge]<br>
      physical_interface_mappings = provider:enp0s20f0u4        #
      interface associated to 138.100.10.26<br>
      <br>
      [vxlan]<br>
      <br>
      enable_vxlan = true<br>
      local_ip = 138.100.10.27<br>
      l2_population = true<br>
      ```<br>
      <br>
      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.<br>
      <br>
      I have made some conection tests and these are the results:<br>
    </p>
    <p><img src="cid:part5.E3610F0F.E344586E@ucm.es" alt=""><br>
      <img src="cid:part6.6467BD8C.650D4286@ucm.es" alt=""></p>
    <p><br>
      - There is **connection** between Cirros A and Cirros B (in both
      directions).<br>
      - There is **connection** between Cirros A/B and self-service
      gateway (192.168.1.1) (in both directions).<br>
      - There is **connection** between Cirros A/B and provider gateway
      (138.100.10.198) (in both directions).<br>
      - There is **connection** between Cirros A/B and controller
      management interface (138.100.10.25) (in both directions).<br>
      - There is **no connection** between Cirros A/B and compute
      management interface (138.100.10.26). This interface is not
      accessible.<br>
      - There is **connection** between Cirros A/B and compute provider
      interface (138.100.10.27) (in both directions).<br>
      <br>
      <br>
      I do not know if there is a problem on Linux bridge configuration
      files, or maybe I need another network interface on controller
      machine.<br>
      <br>
    </p>
  </body>
</html>