[Openstack] Quantum DHCP support.

Takaaki Suzuki suzuki at midokura.com
Wed Sep 5 05:40:38 UTC 2012


Hi Mark.

Thank you for your comment.
I'll try again.

So, I just want to make sure.
Is this function support in Quantum folsom release?

Thanks!
Suzuki

On Wed, Sep 5, 2012 at 8:12 AM, Mark McClain <mark.mcclain at dreamhost.com> wrote:
> I think we've isolated the problem.  Until we can get the patch posted, try this workaround:
>
> 1) create the subnets
> 2) kill dnsmasq instance for the network
> 3) restart dhcp_agent
>
> If this does not work, let me know,
>
> mark
>
> On Sep 4, 2012, at 6:47 PM, Takaaki Suzuki <suzuki at midokura.com> wrote:
>
>> Thank you for investigate this problem.
>>
>>> 1. Can you send me the results of ps aux |grep dnsmasq
>> nobody   12592  0.0  0.0  28812  1084 ?        S    Sep03   0:00
>> dnsmasq --no-hosts --no-resolv --strict-order --bind-interfaces
>> --interface=tapbd10a19b-a6 --except-interface=lo
>> --domain=openstacklocal
>> --pid-file=/opt/stack/data/dhcp/069f4cfc-3f97-4018-b08e-4a4868f3ca94/pid
>> --dhcp-hostsfile=/opt/stack/data/dhcp/069f4cfc-3f97-4018-b08e-4a4868f3ca94/host
>> --dhcp-optsfile=/opt/stack/data/dhcp/069f4cfc-3f97-4018-b08e-4a4868f3ca94/opts
>> --leasefile-ro --dhcp-range=set:tag0,192.168.10.0,static,120s
>>
>>> 2. Can you also please send the ifconfig. The tap devices for also ip
>>> address. Can you please send me ip addr. (my gut feeling is that we do not
>>> configure 192.168.30.2 but rather 192.168.10.2.
>>
>> - ifconfig
>> tap0118eb34-42 Link encap:Ethernet  HWaddr de:fe:b2:24:cc:0f
>>          inet6 addr: fe80::dcfe:b2ff:fe24:cc0f/64 Scope:Link
>>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>          RX packets:33 errors:0 dropped:0 overruns:0 frame:0
>>          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
>>          collisions:0 txqueuelen:500
>>          RX bytes:4770 (4.7 KB)  TX bytes:4770 (4.7 KB)
>>
>> tap0e74b599-a1 Link encap:Ethernet  HWaddr 36:42:91:96:44:14
>>          inet6 addr: fe80::3442:91ff:fe96:4414/64 Scope:Link
>>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>          RX packets:7129 errors:0 dropped:0 overruns:0 frame:0
>>          TX packets:7140 errors:0 dropped:0 overruns:0 carrier:0
>>          collisions:0 txqueuelen:500
>>          RX bytes:1763458 (1.7 MB)  TX bytes:1699484 (1.6 MB)
>>
>> tap0fb10fc2-62 Link encap:Ethernet  HWaddr 92:bf:8b:95:b2:7b
>>          inet6 addr: fe80::90bf:8bff:fe95:b27b/64 Scope:Link
>>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
>>          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
>>          collisions:0 txqueuelen:500
>>          RX bytes:4302 (4.3 KB)  TX bytes:3804 (3.8 KB)
>>
>> tap38bea316-b0 Link encap:Ethernet  HWaddr fa:68:38:20:63:60
>>          inet6 addr: fe80::f868:38ff:fe20:6360/64 Scope:Link
>>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>          RX packets:7091 errors:0 dropped:0 overruns:0 frame:0
>>          TX packets:7009 errors:0 dropped:0 overruns:0 carrier:0
>>          collisions:0 txqueuelen:500
>>          RX bytes:1761232 (1.7 MB)  TX bytes:1692872 (1.6 MB)
>>
>> - ipaddr
>> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 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
>>    inet6 ::1/128 scope host
>>       valid_lft forever preferred_lft forever
>> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
>>    link/ether d4:ae:52:67:54:a0 brd ff:ff:ff:ff:ff:ff
>>    inet *.*.*.*/* brd 192.168.100.255 scope global eth0
>>    inet6 fe80::d6ae:52ff:fe67:54a0/64 scope link
>>       valid_lft forever preferred_lft forever
>> 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
>>    link/ether d4:ae:52:67:54:a1 brd ff:ff:ff:ff:ff:ff
>> 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
>>    link/ether 00:1b:21:d8:ef:38 brd ff:ff:ff:ff:ff:ff
>> 5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
>>    link/ether 00:1b:21:d8:ef:39 brd ff:ff:ff:ff:ff:ff
>> 6: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
>> state DOWN
>>    link/ether 9e:9f:7d:e9:66:f9 brd ff:ff:ff:ff:ff:ff
>>    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
>> 18: tap8f8a93a5-68: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 3a:2c:83:b2:a6:1f brd ff:ff:ff:ff:ff:ff
>> 19: tap4002a239-42: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 16:f5:da:f9:ad:a7 brd ff:ff:ff:ff:ff:ff
>> 21: tap1be70123-2e: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 52:4d:f8:0c:5e:8c brd ff:ff:ff:ff:ff:ff
>> 22: tapbc94fdb2-97: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 62:9a:d5:74:32:53 brd ff:ff:ff:ff:ff:ff
>> 25: tap2142521d-5f: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether c2:5e:48:0a:7b:20 brd ff:ff:ff:ff:ff:ff
>> 27: tap0c3e2dff-86: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 76:8c:30:bc:f8:e4 brd ff:ff:ff:ff:ff:ff
>> 28: tapcffed6f3-c7: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 42:b4:fb:5e:48:05 brd ff:ff:ff:ff:ff:ff
>> 31: tapb4d4ef2a-ae: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 9a:03:a6:fc:b2:30 brd ff:ff:ff:ff:ff:ff
>> 32: tap78dbef47-a5: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether c6:29:cc:f1:bb:53 brd ff:ff:ff:ff:ff:ff
>> 33: tap1abc032d-e3: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 1e:c5:b8:19:5f:ba brd ff:ff:ff:ff:ff:ff
>> 34: tapa52d8c40-61: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast
>> state DOWN qlen 500
>>    link/ether 62:fe:48:04:04:18 brd ff:ff:ff:ff:ff:ff
>> 95: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
>>    link/ether a6:22:56:a0:13:4c brd ff:ff:ff:ff:ff:ff
>> 108: tap0e74b599-a1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
>> pfifo_fast state UP qlen 500
>>    link/ether 36:42:91:96:44:14 brd ff:ff:ff:ff:ff:ff
>>    inet6 fe80::3442:91ff:fe96:4414/64 scope link
>>       valid_lft forever preferred_lft forever
>> 109: tap38bea316-b0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
>> pfifo_fast state UP qlen 500
>>    link/ether fa:68:38:20:63:60 brd ff:ff:ff:ff:ff:ff
>>    inet6 fe80::f868:38ff:fe20:6360/64 scope link
>>       valid_lft forever preferred_lft forever
>> 110: tap0118eb34-42: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
>> pfifo_fast state UP qlen 500
>>    link/ether de:fe:b2:24:cc:0f brd ff:ff:ff:ff:ff:ff
>>    inet6 fe80::dcfe:b2ff:fe24:cc0f/64 scope link
>>       valid_lft forever preferred_lft forever
>> 111: tap0fb10fc2-62: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
>> pfifo_fast state UP qlen 500
>>    link/ether 92:bf:8b:95:b2:7b brd ff:ff:ff:ff:ff:ff
>>    inet6 fe80::90bf:8bff:fe95:b27b/64 scope link
>>       valid_lft forever preferred_lft forever
>> 115: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
>>    link/ether 5a:86:d9:8f:14:42 brd ff:ff:ff:ff:ff:ff
>>
>> Hope this help.
>> Thanks!
>> Suzuki
>>
>> On Tue, Sep 4, 2012 at 8:22 PM, Gary Kotton <gkotton at redhat.com> wrote:
>>> Hi,
>>> Just a few more questions:
>>> 1. Can you send me the results of ps aux |grep dnsmasq
>>> 2. Can you also please send the ifconfig. The tap devices for also ip
>>> address. Can you please send me ip addr. (my gut feeling is that we do not
>>> configure 192.168.30.2 but rather 192.168.10.2.
>>> Thanks
>>> Gary
>>>
>>>
>>> On 09/04/2012 12:56 PM, Takaaki Suzuki wrote:
>>>>>
>>>>> Can you also please provide sudo ovs-vsctl show?
>>>>
>>>> sure.
>>>>
>>>> midokura16:~/devstack# ovs-vsctl show
>>>> d699f1f2-792c-4eb9-8306-32a622316389
>>>>     Bridge br-tun
>>>>         Port br-tun
>>>>             Interface br-tun
>>>>                 type: internal
>>>>         Port patch-int
>>>>             Interface patch-int
>>>>                 type: patch
>>>>                 options: {peer=patch-tun}
>>>>     Bridge br-int
>>>>         Port "tapee78cf13-65"
>>>>             tag: 4
>>>>             Interface "tapee78cf13-65"
>>>>                 type: internal
>>>>         Port "tap0e74b599-a1"
>>>>             tag: 3
>>>>             Interface "tap0e74b599-a1"
>>>>         Port "tapc2df9bdf-da"
>>>>             tag: 1
>>>>             Interface "tapc2df9bdf-da"
>>>>                 type: internal
>>>>         Port "tapda44c6f5-b4"
>>>>             tag: 3
>>>>             Interface "tapda44c6f5-b4"
>>>>                 type: internal
>>>>         Port br-int
>>>>             Interface br-int
>>>>                 type: internal
>>>>         Port patch-tun
>>>>             Interface patch-tun
>>>>                 type: patch
>>>>                 options: {peer=patch-int}
>>>>         Port "tap0fb10fc2-62"
>>>>             tag: 2
>>>>             Interface "tap0fb10fc2-62"
>>>>         Port "tap0118eb34-42"
>>>>             tag: 2
>>>>             Interface "tap0118eb34-42"
>>>>         Port "tapbd10a19b-a6"
>>>>             tag: 2
>>>>             Interface "tapbd10a19b-a6"
>>>>                 type: internal
>>>>         Port "tap38bea316-b0"
>>>>             tag: 3
>>>>             Interface "tap38bea316-b0"
>>>>     ovs_version: "1.6.1"
>>>>
>>>> Thanks!
>>>> Suzuki
>>>>
>>>> On Tue, Sep 4, 2012 at 6:52 PM, Gary Kotton<gkotton at redhat.com>  wrote:
>>>>>
>>>>> On 09/04/2012 12:48 PM, Takaaki Suzuki wrote:
>>>>>>
>>>>>> Hi Gary
>>>>>>
>>>>>> Thank you for your support.
>>>>>> I share with you information.
>>>>>
>>>>>
>>>>> Can you also please provide sudo ovs-vsctl show?
>>>>>
>>>>> Thanks
>>>>> Gary
>>>>>
>>>>>>> 1. can you please do quantum port-list?
>>>>>>
>>>>>> quantum --os_token f095d7163a564456b60bf47b078537a7 --os_url
>>>>>> http://localhost:9696/ port-list
>>>>>>
>>>>>> - VM port
>>>>>> admin_state_up : True
>>>>>> device_id          : d6f9eb16-fb54-4c6c-8c1f-dd7859696910
>>>>>> device_owner    :
>>>>>> fixed_ips           :{"subnet_id":
>>>>>> "2c6e941e-cf21-40c9-8f1a-37db0e2e9a46", "ip_address": "192.168.30.3"}
>>>>>> id                     : 0118eb34-424f-460e-8e12-42ecffb2dad8
>>>>>> mac_address    : fa:16:3e:0d:e6:31
>>>>>> name                :
>>>>>> network_id        : 069f4cfc-3f97-4018-b08e-4a4868f3ca94
>>>>>> status               : ACTIVE
>>>>>> tenant_id           :cf67ba5e70e346b9a080fb349b5e1125
>>>>>>
>>>>>> - DHCP agent port
>>>>>> admin_state_up : True
>>>>>> device_id          :
>>>>>>
>>>>>>
>>>>>> dhcp72aca792-f411-52a0-a641-defa1b398574-069f4cfc-3f97-4018-b08e-4a4868f3ca94
>>>>>> device_owner    : network:dhcp
>>>>>> fixed_ips           : {"subnet_id":
>>>>>> "bf07d0cd-7abb-4bf0-83a2-dfc1f3c21f8e", "ip_address": "192.168.10.2"},
>>>>>> {"subnet_id": "2c6e941e-cf21-40c9-8f1a-37db0e2e9a46", "ip_address":
>>>>>> "192.168.30.2"}
>>>>>> id                     : bd10a19b-a679-4b65-b36b-7beffcdae1ba
>>>>>> mac_address    : fa:16:3e:6c:f0:b5
>>>>>> name                : DHCP Agent
>>>>>> network_id        : 069f4cfc-3f97-4018-b08e-4a4868f3ca94
>>>>>> status               : ACTIVE
>>>>>> tenant_id           :cf67ba5e70e346b9a080fb349b5e1125
>>>>>>
>>>>>>
>>>>>>> 2. Is the DHCP agent running (q-dhcp in stackrc)?
>>>>>>
>>>>>> Yes, DHCP agent running. I added "enable_service q-dhcp".
>>>>>>
>>>>>>> 3. How did you launch the VM's? Did you use nova boot --nic
>>>>>>> net-id=quantum
>>>>>>> network ID?
>>>>>>
>>>>>> I use Horizon for Quantum V2 (https://github.com/amotoki/horizon).
>>>>>>
>>>>>>> 4. Can you please check that the host files has the MAC address and IP
>>>>>>> address of your VM - this is under /opt/stack/data/dhcp/<network id>/..
>>>>>>
>>>>>> midokura16:/opt/stack/data/dhcp/069f4cfc-3f97-4018-b08e-4a4868f3ca94#
>>>>>> cat
>>>>>> host
>>>>>> fa:16:3e:0d:e6:31,192-168-30-3.openstacklocal,192.168.30.3
>>>>>> fa:16:3e:6c:f0:b5,192-168-10-2.openstacklocal,192.168.10.2
>>>>>> fa:16:3e:6c:f0:b5,192-168-30-2.openstacklocal,192.168.30.2
>>>>>>
>>>>>> - dnsmasq syslog when launch VM.
>>>>>> dnsmasq-dhcp[12592]: DHCPDISCOVER(tapbd10a19b-a6) fa:16:3e:0d:e6:31 no
>>>>>> address available
>>>>>> dnsmasq-dhcp[12592]: last message repeated 2 times
>>>>>> dnsmasq-dhcp[12592]: DHCPDISCOVER(tapbd10a19b-a6) fa:16:3e:15:62:6a no
>>>>>> address available
>>>>>> dnsmasq-dhcp[12592]: last message repeated 2 times
>>>>>>
>>>>>> - sudo ip netns exec 069f4cfc-3f97-4018-b08e-4a4868f3ca94 ip link
>>>>>> 104: tapbd10a19b-a6:<BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP>   mtu
>>>>>> 1500 qdisc noqueue state UNKNOWN
>>>>>>      link/ether fa:16:3e:6c:f0:b5 brd ff:ff:ff:ff:ff:ff
>>>>>>
>>>>>> - sudo ip netns exec 069f4cfc-3f97-4018-b08e-4a4868f3ca94 ip route
>>>>>> 192.168.10.0/24 dev tapbd10a19b-a6  proto kernel  scope link  src
>>>>>> 192.168.10.2
>>>>>> 192.168.30.0/24 dev tapbd10a19b-a6  proto kernel  scope link  src
>>>>>> 192.168.30.2
>>>>>>
>>>>>> - quantum-dhcp agent spawn dnsmasq for test04 network
>>>>>> dnsmasq --no-hosts --no-resolv --strict-order --bind-interfaces
>>>>>> --interface=tapbd10a19b-a6 --except-interface=lo
>>>>>> --domain=openstacklocal
>>>>>> --pid-file=/opt/stack/data/dhcp/069f4cfc-3f97-4018-b08e-4a4868f3ca94/pid
>>>>>>
>>>>>>
>>>>>> --dhcp-hostsfile=/opt/stack/data/dhcp/069f4cfc-3f97-4018-b08e-4a4868f3ca94/host
>>>>>>
>>>>>>
>>>>>> --dhcp-optsfile=/opt/stack/data/dhcp/069f4cfc-3f97-4018-b08e-4a4868f3ca94/opts
>>>>>> --leasefile-ro --dhcp-range=set:tag0,192.168.10.0,static,120s
>>>>>>
>>>>>> Hope that helped.
>>>>>> Thanks!
>>>>>>
>>>>>> Suzuki
>>>>>>
>>>>>> On Tue, Sep 4, 2012 at 6:13 PM, Gary Kotton<gkotton at redhat.com>   wrote:
>>>>>>>
>>>>>>> On 09/04/2012 12:03 PM, Takaaki Suzuki wrote:
>>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> Currently, I see that DHCP instance is created per network, at least
>>>>>>>> from looking at the Dnsmasq implementation.
>>>>>>>>
>>>>>>>> I'm curious to know how a DHCP instance can provide services to a VM
>>>>>>>> attached to a port on a network that has multiple subnets.
>>>>>>>>
>>>>>>>> It doesn't seem possible to me that a VM can get two IP addresses on
>>>>>>>> an interface from this DHCP server. Is this feature supported in
>>>>>>>> Quantum?
>>>>>>>>
>>>>>>>> I ran a quick test using Devstack + QuantumV2 + OVS plugin.  I created
>>>>>>>> one network called "test04", and two subnets for tor the network,
>>>>>>>> 192.168.10.0/24 and 192.168.30.0/24.
>>>>>>>
>>>>>>> When a Quantum port is allocated an IP address is selected from one of
>>>>>>> the
>>>>>>> subnets configured on the network (unless the user has requested more
>>>>>>> than
>>>>>>> one IP address). The DHCP agent will learn this IP address and update
>>>>>>> the
>>>>>>> hosts file.
>>>>>>>
>>>>>>> Can you please provide the following information:
>>>>>>> 1. can you please do quantum port-list?
>>>>>>> 2. Is the DHCP agent running (q-dhcp in stackrc)?
>>>>>>> 3. How did you launch the VM's? Did you use nova boot --nic
>>>>>>> net-id=quantum
>>>>>>> network ID?
>>>>>>> 4. Can you please check that the host files has the MAC address and IP
>>>>>>> address of your VM - this is under /opt/stack/data/dhcp/<network id>/..
>>>>>>>
>>>>>>> Thanks
>>>>>>> Gary
>>>>>>>>
>>>>>>>> With Dnsmasq running as the DHCP server, I launched a VM, and as
>>>>>>>> suspected, it did not receive any IP address.  I checked the Dnsmasq
>>>>>>>> log and it looked like it did receive DHCPDISCOVER message but it did
>>>>>>>> not offer anything back.
>>>>>>>>
>>>>>>>> I would love to know there is actually a way to get this to work, or
>>>>>>>> if I'm missing some critical steps here.
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>> Suzuki
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Mailing list: https://launchpad.net/~openstack
>>>>>>>> Post to     : openstack at lists.launchpad.net
>>>>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Mailing list: https://launchpad.net/~openstack
>>>>>>> Post to     : openstack at lists.launchpad.net
>>>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>>
>>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : openstack at lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>




More information about the Openstack mailing list