0

I have created a private network called "Private_Network" in the range of 192.168.220.0/24 plus a virtual router called "Virtual_Router" inside openstack which is connected to the external network. Then I connect the default gateway of "Private_Network" i.e. 192.168.220.1 to the "Virtual_Router" so that I all VMs connected to "Private_Network" can access the Internet via SNAT.

I used vxlan as overlay network, and a flat provider network.

By connecting "Private_Network" to "Virtual_Router", two ports are immediately created: router_interface_distributed with the IP address of 192.168.220.1 and router_centralized_snat with IP address of 192.168.220.45, however, both ports are in the DOWN state for a bit long and random time like 2 hours, or 45 minutes, or 20 minutes. I should mention, that rarely the ports get UP as soon as (less than a minute) I connect the "Private_Network" to "Virtual_Router".

please see the two ports just after creation that both are in the Down state

I have searched a lot to find out the main reason behind this issue. I am not convinced that server configuration is wrong because I have a few cases in which the two ports gets up right after I connect the "Private_Network" to "Virtual_Router". So, I tried to look at the log files and noticed there are three main phases to pass in order to get each of those ports to UP state: DHCP, port binding, and L2 provisioning. I changed the log level to DEBUG and investigate the log files in details.

I run the following process several times:

  1. create a brand new project in Horizon.
  2. create a brand new virtual network (called "Private_Network") in the range of 192.168.220.x/24.
  3. create a brand new virtual router (called "Virtual_Router") connected to external network.
  4. connect port 192.168.220.1 (default gateway) of "Private_Network" to "Virtual_Router".
  5. cat /var/log/neutron/* | grep snat_port

From more than ten cases I experimented, neutron either stuck at the "port binding" phase or "L2 provisioning" phase. When It stuck at "port binding" it takes random time to finish, like 45 minutes, 20 minutes or 10 minutes and Once "port binding" phase is done, "L2 provisioning" phase will be done in less than a minute and port state changes to "UP". However, In case that "L2 provisioning" phase get stuck, the previous two phases finished in less that 1 minutes, but "L2 provisioning" get stuck for hours. Its so confusing to me why do I see this much delay in getting ports "UP".

I would appreciate if anybody can assist me to resolve this issue.

1 Answer 1

0

Usually, issues with port spawning will require admin access/logs to troubleshoot fully.

It's harder with DVR, but you might have to trace each port creation and see where the delay happens.

In Openstack, events are transiting through rabbitmq to provide the end to end orchestration. If one part of the process takes time, the overall process will be delayed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.