Ask Your Question
0

[RDO][Liberty][Neutron][Dhcp] Instance cannot get dhcp ip.

asked 2015-11-13 03:29:31 -0600

idzzy gravatar image

updated 2015-11-13 03:35:01 -0600

Hello,

Instance cannot get dhcp ip. I can see an assigned dhcp ip on UI and output of CLI. but actually the dhcp ip is not assigned to a instance.

It seems dhcp request packet from a instance on compute node is not able to reach to interface of dhcp namespace on network node. But it reaches to physical interface of network node via vxlan.

Any advice would be helpful for me.

Version :

# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
# rpm -qa | grep packstack
openstack-packstack-puppet-2015.2-0.1.dev1654.gcbbf46e.el7.noarch
openstack-packstack-2015.2-0.1.dev1654.gcbbf46e.el7.noarch

Environment :

Controller [ckp201]
    eth0 : 10.32.23.126
    eth1 : 10.10.10.126
Compute    [ckp211]
    eth0 : 10.32.23.127
    eth1 : 10.10.10.127 (vxlan)
Network    [ckp221]
    eth0 : 10.32.23.128
    eth1 : 10.10.10.128 (vxlan)
    eth2 :              (public)

ovs of network node

[root@ckp221 ~]# ovs-vsctl show
e3e91eb8-aa99-4cf7-8548-3f085e70f062
    Bridge br-int
        fail_mode: secure
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port br-int
            Interface br-int
                type: internal
        Port "qr-9621a5a9-86"
            tag: 4095
            Interface "qr-9621a5a9-86"
                type: internal
        Port "tapcad66d42-b0"
            tag: 4095
            Interface "tapcad66d42-b0"
                type: internal
    Bridge br-tun
        fail_mode: secure
        Port br-tun
            Interface br-tun
                type: internal
        Port "vxlan-0a0a0a7f"
            Interface "vxlan-0a0a0a7f"
                type: vxlan
                options: {df_default="true", in_key=flow, local_ip="10.10.10.128", out_key=flow, remote_ip="10.10.10.127"}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-ex
        Port "eth2"
            Interface "eth2"
        Port "qg-d7208887-59"
            Interface "qg-d7208887-59"
                type: internal
        Port br-ex
            Interface br-ex
                type: internal
    ovs_version: "2.4.0"

dhcp namaspace of network node

[root@ckp221 ~]# ip netns exec qdhcp-2b583bb6-9de8-41a4-9eec-cecd530996e8 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
17: tapcad66d42-b0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether fa:16:3e:39:62:46 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.2/24 brd 192.168.0.255 scope global tapcad66d42-b0
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe39:6246/64 scope link
       valid_lft forever preferred_lft forever

[root@ckp221 ~]# ip netns exec qdhcp-2b583bb6-9de8-41a4-9eec-cecd530996e8 ip r
default via 192.168.0.1 dev tapcad66d42-b0
192.168.0.0/24 dev tapcad66d42-b0  proto kernel  scope link  src 192.168.0.2

vxlan packet from compute node reaches to network node . fa:16:3e:2e:af:dc is instance's MAC.

[root@ckp221 ~]# tcpdump -n -i eth1
17:46:51.778339 IP 10.10.10.127.52744 > 10.10.10.128.4789: VXLAN, flags [I] (0x08), vni 36
IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from fa:16:3e:2e:af:dc, length 290

but the dhcp request is not reached to interface of dhcp namaspace.

[root@ckp221 log]# ip netns exec qdhcp-2b583bb6-9de8-41a4-9eec-cecd530996e8 tcpdump -n -i tapcad66d42-b0
tcpdump: verbose output suppressed, use -v or ...
(more)
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-11-15 00:50:21 -0600

idzzy gravatar image

I fixed it. I'm not sure it was lacked ovs flow entry on network nodes. I deleted all network, router and created again after restarted ovs and neutron services. Then I can see like necessary flow entry which a packet from vxlan route to dhcp port.

# ovs-ofctl dump-flows br-tun | grep output:2
 cookie=0xbbb0b759994638e2, duration=989.074s, table=22, n_packets=2, n_bytes=140, idle_age=981, dl_vlan=1 actions=strip_vlan,set_tunnel:0x24,output:2

# ovs-dpctl show | grep "port 2"
        port 2: tap0b51bcad-62 (internal)

Thank you.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2015-11-13 03:29:31 -0600

Seen: 1,242 times

Last updated: Nov 15 '15