[Openstack] dhcp namespace and vert pairs?
Ali Volkan Atli
Volkan.Atli at argela.com.tr
Mon Jul 17 10:46:08 UTC 2017
I have a VM launched using OpenStack and a laptop added directly into integration bridge using ovs-vsctl add-port option. Also I used ./stack script from devstack github and my local.conf as below:
argela at cloud:~$ sudo ovs-vsctl add-port br-int eno4 tag=1
argela at cloud:~$ sudo ovs-vsctl show
...
Bridge br-int
Port "tapb22e0bb6-c6"
tag: 1
Interface "tapb22e0bb6-c6"
type: internal
Port "eno4"
tag: 1
Interface "eno4"
...
root at cloud:~/devstack# cat local.conf
[[local|localrc]]
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
FLAT_INTERFACE=eno1,eno3,eno4,eno5,eno6,eno7,eno8
# Fixed and floating subnets
FIXED_RANGE=10.254.1.0/24
FLOATING_RANGE="192.168.111.0/24"
When I run dhclient in the instance launched from OpenStack, I can see the bootp/dhcp messages in the dhcp network space, but when I tried to run dhclient in external laptop, I can only see the discover message in dhcp namespace, the laptop cannot get any response. So VM can get an IP address but the laptop cannot. I checked the iptables and flow-entries in OvS but I could not understand why laptop cannot get response from dhcp namespace.
stack at cloud:~/devstack$ ip netns list
qrouter-b1285ebf-d7f6-4af5-bf13-54356b073ca2
qdhcp-f0d79126-a5f2-46a6-90a9-b0e2f805f93d
dhcp namespace iptable is as follows:
root at cloud:~/devstack# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N neutron-dhcp-age-FORWARD
-N neutron-dhcp-age-INPUT
-N neutron-dhcp-age-OUTPUT
-N neutron-dhcp-age-local
-N neutron-filter-top
-A INPUT -j neutron-dhcp-age-INPUT
-A FORWARD -j neutron-filter-top
-A FORWARD -j neutron-dhcp-age-FORWARD
-A OUTPUT -j neutron-filter-top
-A OUTPUT -j neutron-dhcp-age-OUTPUT
-A neutron-filter-top -j neutron-dhcp-age-local
One more question. I can see that there are namespaces created by OpenStack, qrouter and qdhcp. I know that if I want to connect the namespace to OvS, I need to create Veth Pairs (e.g. ip link add veth0 type veth peer name veth1), and then assign one peer to a namespace (e.g. ip link set veth1 netns blue) and the other into OvS. But for OpenStack I also cannot any vert pairs. How did OpenStack connect the dhcp namespace to OvS? How can I find out which "vert peer" the dhcp namespaces use.
Hope someone answers. Thanks in advance.
- Volkan
More information about the Openstack
mailing list