PHP week PHP week
This week up to 80% off on PHP courses. More info

Discussion: Openstack neutron : accessing openstack managed servers from the network host

Activities (2)
Avatar
sandeepkumar
Member
Avatar
sandeepkumar:11/30/2018 4:06

Hi all, I have a distributed "openstack": setup -- one controller and three compute instances. The "network node" is the same as the controller. I have a flat external network and VLAN provider network which has been assigned tag 775.

I have a router connecting the vlan network to the external network. All the plumbing works as expected. I can log into a openstack server and ping outside. Networks are isolated as expected and so forth.

On the controller/network node, I see a qrouter namespace that openstack created for the router and another one for DHCP.

I create a server on a public VLAN-enabled network. I need to reach the server from the controller. I tried some hacks by creating a veth pair and pushing one end to the qrouter namespace but that did not work.

I finally tried the following ugly hack (which worked):

ovs-vsctl show

# Look for the mapping that openstack is using

ovs-ofctl dump-flows br-int -O openflow13 | grep 775

# discover that tag 6 is used by openstack on my integration bridge.
# corresponding to vlan 775

# Create a veth pair so the root namespace can access the bridge.

ip link ip link add veth0 type veth peer name veth1

# put one end on the bridge.
# assign a tag of 6 so it can access the server.

ovs-vsctl add-port br-int veth1 tag=6

# Finally I can assign an address to veth0 and ping a host on
# the openstack managed vlan network

ifconfig veth0 10.0.40.39
After doing the steps above I am able to ping a server on my openstack managed network from my controller.

I had to do several manual steps to figure out the internal tag that openstack was using on the integration bridge. I did this by dumping flow rules on the integration bridge to see how the tags were being managed. I then did the steps outlined above. I think there must be an openstack (neutron) set of commands which I can use rather than having to go through this.

Seeking a better solution. I should not need to look at internal tags and figure out mappings etc. Is there an open stack command line base set of commands to achieve this?

Thanks

 
Reply 11/30/2018 4:06
To maintain the quality of discussion, we only allow registered members to comment. Sign in. If you're new, Sign up, it's free.

1 messages from 1 displayed.