Ask Your Question
0

Instances in one of the compute nodes can't get fixed ip address

asked 2015-06-29 15:00:40 -0500

Lily Xing gravatar image

updated 2015-06-30 02:24:34 -0500

I deployed a two node OpenStack env with DevStack. One node is controller + network + compute node(node1), and the other is only compute node(node2). The instances created on node1 work well and can get fixed ip correctly, while the instances created on node2 can't. The image I used is cirros-0.3.3-x86_64. The network type is GRE tunnel. Below is the part of the console log:

cirros-ds 'local' up at 0.71
found datasource (configdrive, local)
Starting network...
udhcpc (v1.20.1) started
Sending discover...
Sending discover...
Sending discover...
Usage: /sbin/cirros-dhcpc <up|down>
No lease, failing
WARN: /etc/rc3.d/S40-network failed

On node1:

# ovs-vsctl show

d2b65058-214e-41ff-ad09-9ef2ff297201
    Bridge br-tun
        fail_mode: secure
        Port "gre-0ac4f028"
            Interface "gre-0ac4f028"
                type: gre
                options: {df_default="true", in_key=flow, local_ip="192.168.240.39", out_key=flow, remote_ip="192.168.240.40"}
        Port br-tun
            Interface br-tun
                type: internal
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "qr-26aa69a9-42"
            tag: 1
            Interface "qr-26aa69a9-42"
                type: internal
        Port "tap2e833a5a-e5"
            tag: 1
            Interface "tap2e833a5a-e5"
                type: internal
    Bridge br-ex
        Port "qg-985d8bbf-53"
            Interface "qg-985d8bbf-53"
                type: internal
        Port br-ex
            Interface br-ex
                type: internal
        Port "eno2"
            Interface "eno2"
    ovs_version: "2.3.1"

neutron.conf on node1: http://pastebin.com/p1gPTT18

ml2_conf.ini on node1: http://pastebin.com/sJKEPsDV

On node2, there is no tap device listed, but I can find it wit 'ip a':

    # ovs-vsctl show
    bfe15e20-872f-4785-901e-56e8ce14d826
        Bridge br-int
            fail_mode: secure
            Port "qvo3ec478f8-a7"
                tag: 1
                Interface "qvo3ec478f8-a7"
            Port br-int
                Interface br-int
                    type: internal
            Port patch-tun
                Interface patch-tun
                    type: patch
                    options: {peer=patch-int}
        Bridge br-tun
            fail_mode: secure
            Port br-tun
                Interface br-tun
                    type: internal
            Port "gre-0ac4f027"
                Interface "gre-0ac4f027"
                    type: gre
                    options: {df_default="true", in_key=flow, local_ip="192.168.240.40", out_key=flow, remote_ip="192.168.240.39"}
            Port patch-int
                Interface patch-int
                    type: patch
                    options: {peer=patch-tun}
        ovs_version: "2.3.1"

# ip a 
........
11: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 8e:a4:83:22:2d:43 brd ff:ff:ff:ff:ff:ff
12: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether a2:ae:0c:fa:b0:4f brd ff:ff:ff:ff:ff:ff
13: qbr3ec478f8-a7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether ee:62:7e:e5:b4:86 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ec62:7eff:fee5:b486/64 scope link
       valid_lft forever preferred_lft forever
14: qvo3ec478f8-a7: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether da:48:83:d7:e5:b8 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::d848:83ff:fed7:e5b8/64 scope link
       valid_lft forever preferred_lft forever
15: qvb3ec478f8-a7: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master qbr3ec478f8-a7 state UP qlen 1000
    link/ether ee:62:7e:e5:b4:86 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ec62:7eff:fee5:b486/64 scope link
       valid_lft forever preferred_lft forever
16: tap3ec478f8-a7: <BROADCAST,MULTICAST,UP ...
(more)
edit retag flag offensive close merge delete

Comments

If the instance is not connected to the integration bridge, it's no wonder DHCP doesn't work. Does neutron agent-list show the openvswitch agent on node 2? No error or even warning in the compute log on node 2? Or the openvswitch log?

Bernd Bausch gravatar imageBernd Bausch ( 2015-06-29 22:23:42 -0500 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-06-30 02:30:06 -0500

Lily Xing gravatar image

updated 2015-06-30 02:35:28 -0500

It's not related to openvswitch. I found a very good video for Neutron troubleshooting: https://www.openstack.org/summit/openstack-summit-atlanta-2014/session-videos/presentation/troubleshooting-neutron-virtual-networks (https://www.openstack.org/summit/open...). And I found the root cause for my issue. Here is the solution:

On node 2:

# tcpdump -n -e -i eno2  #eno2 is the interface which has the ip address 192.168.240.40
......
ICMP host 192.168.240.39 unreachable - admin prohibited
......

On node 1:

# iptables-save | grep icmp
......
INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
......
# iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited
# iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited

After these steps, VMs on node2 can get fixed ip correctly.

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-06-29 15:00:40 -0500

Seen: 806 times

Last updated: Jun 30 '15