← Back to team overview

openstack team mailing list archive

Re: [Netstack] Can't associate floating IP

 

On Thu, Mar 1, 2012 at 12:51 PM, Yapeng Wu <yapengwu@xxxxxx> wrote:

>
> In the multi-host quantum OVS plugin case, I am not clear how and when
> this 'host' in the 'network' table should be updated.
> From the code update, I doubt this would work in multi-host case.
>

It is documented that Quantum does not support multi-host for Essex:
http://docs.openstack.org/incubation/openstack-network/admin/content/Limits-dle455.html

Its something we'll tackle in Folsom.

Dan



>
> Currently I always use manually update of mysql command as Brad showed in
> the email.
>
> Yapeng
>
>
> On Mar 01, 2012, at 09:18 AM, Tomoe Sugihara <tomoe@xxxxxxxxxxxx> wrote:
>
> Hi Doude,
>
> I was dealing with another issue caused by this NULL 'host', and Dan told
> me that has been fixed:
>
> https://github.com/openstack/nova/commit/43f2492175d11a3f8ea4198e65b2a6a6b38cbbb6
>
> I haven't verified, though. Good luck.
>
> Best,
> Tomoe
>
> On Thu, Mar 1, 2012 at 10:11 PM, Doude <doudouyam@xxxxxxxxx> wrote:
>
>> Hi,
>>
>> I tested it with Quantum and I confirm the field 'host' in the 'network'
>> table stays empty.
>> Someone filled a bug for that ?
>>
>> Doude.
>>
>>
>> On Tue, Feb 28, 2012 at 8:06 AM, Vishvananda Ishaya <
>> vishvananda@xxxxxxxxx> wrote:
>>
>>> ...
>>> At least that is the case for nova-network without quantum.  I don't
>>> know if using Quantum leads to a different result.
>>>
>>> Vish
>>>
>>> On Feb 27, 2012, at 9:49 PM, Yapeng Wu wrote:
>>>
>>> Hello, Brad,
>>>
>>> I read your reply to Darragph's email:
>>> "Another thing to check .. when I run devstack by default my network
>>> doesn't get associated with a host [host is NULL in the database].
>>> Make sure the host for that network is set to the hostname of the
>>> compute node."
>>>
>>> I found that when I use "nova-manage network create" CLI command, the
>>> host is NULL in the database as well.
>>> Is this a bug? Where would this "host" field get updated?
>>>
>>> Thanks,
>>> Yapeng
>>>
>>>
>>>
>>> On Feb 27, 2012, at 04:02 PM, Yapeng Wu <yapengwu@xxxxxx> wrote:
>>>
>>> Hello, Darragh,
>>>
>>> I...
>>>
>>>
>>>
>>> 2) For the second problem: command line issue, I found that it was due
>>> to the code in nova/network/manager.py, line 435 to 452:
>>>
>>>         if network['multi_host']:
>>>             instance = self.db.instance_get(context, fixed_ip['instance_id'])
>>>             host = instance['host']
>>>         else:
>>>             host = network['host']
>>>
>>>         interface = floating_ip['interface']
>>>         if host == self.host:
>>>             # i'm the correct host
>>>             self._associate_floating_ip(context, floating_address,
>>>                                         fixed_address, interface)
>>>         else:
>>>             # send to correct host
>>>             rpc.cast(context,
>>>                      self.db.queue_get_for(context, FLAGS.network_topic, host),
>>>                      {'method': '_associate_floating_ip',
>>>                       'args': {'floating_address': floating_address,
>>>                                'fixed_address': fixed_address,
>>>                                'interface': interface}})
>>>
>>>
>>> The "host" should be self.host in this case, but not. So it calls
>>> rpc.cast. I thought host is read from the database by the 'instance_id'? I
>>> am not sure. If I "hacked" the code by calling self._associate_floating_ip
>>> directly, associate floating ip works.
>>>
>>> Maybe someone familiar with nova-network code could help us on this.
>>>
>>> Yapeng
>>>
>>>
>>>
>>> On Feb 27, 2012, at 12:18 PM, Dan Wendlandt <dan@xxxxxxxxxx> wrote:
>>>
>>> Hi Darragh,
>>>
>>> Thanks for the detailed write-up.  Would be great if you could take this
>>> content and create a bug on launchpad.  We'll look into this.
>>>
>>> On a related note.  The check in stack.sh to avoid creating a floating
>>> IP pool if quantum is enabled is no longer valid, now that Quantum Manager
>>> does (or at least intends to :P ) support floating IPs.  But rather than
>>> remove it, it may be good to just change to the check to avoid creating
>>> floating IPs if melange is enabled, as Quantum Manager's current floating
>>> IP support requires using the traditional Nova IPAM, not Melange.
>>>
>>> Dan
>>>
>>>
>>> On Mon, Feb 27, 2012 at 6:38 AM, Darragh OReilly <
>>> darragh.oreilly@xxxxxxxxx> wrote:
>>>
>>>>
>>>>
>>>> When I try to associate a floating IP from the dash I get:
>>>> Error: Error associating Floating IP: Associate floating ip failed
>>>> (HTTP 500)
>>>>
>>>> >From the command line I don't get any errors or exceptions on any of
>>>> the screens after nova add-floating-ip, but the association does not
>>>> happen. Are these steps right?
>>>>
>>>> thanks Darragh
>>>>
>>>>
>>>> u1@u1110srv:~/devstack$ cat localrc
>>>> LOGFILE=stacklog
>>>> MYSQL_PASSWORD=nova
>>>> RABBIT_PASSWORD=nova
>>>> SERVICE_TOKEN=nova
>>>> ADMIN_PASSWORD=nova
>>>> SWIFT_HASH=nova
>>>>
>>>> ENABLED_SERVICES="g-api,g-reg,key,n-api,n-cpu,n-net,n-sch,n-vnc,horizon,mysql,rabbit,openstackx,n-vol,q-svc,q-agt,swift,quantum"
>>>> Q_PLUGIN=openvswitch
>>>>
>>>> After running stack.sh have:
>>>>
>>>> u1@u1110srv:~/devstack$ nova-manage network list
>>>> id       IPv4                  IPv6               start address
>>>> DNS1               DNS2               VlanID             project
>>>> uuid
>>>> 2012-02-27 13:38:04 DEBUG nova.utils
>>>> [req-7b6febc7-c8cd-49e5-ac48-5707c70d8bb5 None None] backend <module
>>>> 'nova.db.sqlalchemy.api' from '/opt/stack/nova/nova/db/sqlalchemy/api.pyc'>
>>>> from (pid=4776) __get_backend /opt/stack/nova/nova/utils.py:603
>>>> 1        10.0.0.0/24           None               10.0.0.2
>>>> 8.8.4.4            None               None               None
>>>> 20cda3a7-f4a8-4b3c-b399-4dd624cb7a40
>>>>
>>>>
>>>> u1@u1110srv:~/devstack$ TENANT=
>>>> u1@u1110srv:~/devstack$ USERNAME=
>>>> u1@u1110srv:~/devstack$ . openrc
>>>> u1@u1110srv:~/devstack$
>>>>
>>>> u1@u1110srv:~/devstack$ nova boot --flavor 6 --image
>>>> 21b0573e-8dd6-4b42-9c01-4c8684b0b080 guest1
>>>>
>>>>
>>>> u1@u1110srv:~/devstack$ nova show guest1
>>>>
>>>> +-------------------+----------------------------------------------------------+
>>>> |      Property     |
>>>> Value                           |
>>>>
>>>> +-------------------+----------------------------------------------------------+
>>>> | OS-DCF:diskConfig |
>>>> MANUAL                                                   |
>>>> | accessIPv4
>>>> |                                                          |
>>>> | accessIPv6
>>>> |                                                          |
>>>> | config_drive
>>>> |                                                          |
>>>> | created           |
>>>> 2012-02-27T13:49:00Z                                     |
>>>> | flavor            |
>>>> micro                                                    |
>>>> | hostId            |
>>>> 372f92b8889526d07feaa81ec5ab9bb80228350db4cfa563c15baf6f |
>>>> | id                |
>>>> 3d931521-9ea2-4344-ad52-13faf4172e96                     |
>>>> | image             |
>>>> cirros-0.3.0-x86_64-blank                                |
>>>> | key_name
>>>> |                                                          |
>>>> | metadata          |
>>>> {}                                                       |
>>>> | name              |
>>>> guest1                                                   |
>>>> | private network   |
>>>> 10.0.0.2                                                 |
>>>> | progress          |
>>>> None                                                     |
>>>> | status            |
>>>> ACTIVE                                                   |
>>>> | tenant_id         |
>>>> 5b5a2c42b5874058962c6f543ee91c72                         |
>>>> | updated           |
>>>> 2012-02-27T13:49:30Z                                     |
>>>> | user_id           |
>>>> demo                                                     |
>>>>
>>>> +-------------------+----------------------------------------------------------+
>>>>
>>>>
>>>> u1@u1110srv:~/devstack$ ssh cirros@10.0.0.2
>>>> The authenticity of host '10.0.0.2 (10.0.0.2)' can't be established.
>>>> RSA key fingerprint is ed:b0:be:78:26:23:2a:8d:81:22:84:84:f0:6c:ec:3c.
>>>> Are you sure you want to continue connecting (yes/no)? yes
>>>> Warning: Permanently added '10.0.0.2' (RSA) to the list of known hosts.
>>>> cirros@10.0.0.2's password:
>>>> $ ping www.openstack.org
>>>> PING www.openstack.org (98.129.229.144): 56 data bytes
>>>> 64 bytes from 98.129.229.144: seq=1 ttl=61 time=182.020 ms
>>>> 64 bytes from 98.129.229.144: seq=2 ttl=61 time=182.166 ms
>>>> ^C
>>>> --- www.openstack.org ping statistics ---
>>>> 3 packets transmitted, 2 packets received, 33% packet loss
>>>> round-trip min/avg/max = 182.020/182.093/182.166 ms
>>>> $ Connection to 10.0.0.2 closed.
>>>> u1@u1110srv:~/devstack$
>>>>
>>>>
>>>> stack.sh is not creating any floating range with quantum enabled:
>>>>
>>>>    if is_service_enabled q-svc; then
>>>>         echo "Not creating floating IPs (not supported by
>>>> QuantumManager)"
>>>>     else
>>>>         # create some floating ips
>>>>         $NOVA_DIR/bin/nova-manage floating create $FLOATING_RANGE
>>>>
>>>>         # create a second pool
>>>>         $NOVA_DIR/bin/nova-manage floating create
>>>> --ip_range=$TEST_FLOATING_RANGE --pool=$TEST_FLOATING_POOL
>>>>     fi
>>>>
>>>>
>>>> u1@u1110srv:~/devstack$ nova-manage floating create --ip_range=
>>>> 172.241.1.0/24 --interface=eth2
>>>>
>>>> u1@u1110srv:~/devstack$ nova-manage floating list 2>/dev/null | head -3
>>>> None    172.241.1.1    None    nova    eth2
>>>> None    172.241.1.2    None    nova    eth2
>>>> None    172.241.1.3    None    nova    eth2
>>>>
>>>> u1@u1110srv:~/devstack$ nova floating-ip-create
>>>> +-------------+-------------+----------+------+
>>>> |      Ip     | Instance Id | Fixed Ip | Pool |
>>>> +-------------+-------------+----------+------+
>>>> | 172.241.1.1 | None        | None     | nova |
>>>> +-------------+-------------+----------+------+
>>>>
>>>> u1@u1110srv:~/devstack$ nova add-floating-ip guest1 172.241.1.1
>>>> u1@u1110srv:~/devstack$ echo $?
>>>> 0
>>>> u1@u1110srv:~/devstack$ nova floating-ip-list
>>>> +-------------+-------------+----------+------+
>>>> |      Ip     | Instance Id | Fixed Ip | Pool |
>>>> +-------------+-------------+----------+------+
>>>> | 172.241.1.1 | None        | None     | nova |
>>>> +-------------+-------------+----------+------+
>>>>
>>>> u1@u1110srv:~/devstack$ ip link show dev eth2
>>>> 2: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
>>>>     link/ether 08:00:27:1a:5c:69 brd ff:ff:ff:ff:ff:ff
>>>>
>>>> u1@u1110srv:~/devstack$ sudo iptables -t nat -vnL | grep -i float
>>>> Chain nova-api-float-snat (1 references)
>>>>    81  4863 nova-api-float-snat  all  --  *      *       0.0.0.0/0
>>>> 0.0.0.0/0
>>>> Chain nova-compute-float-snat (1 references)
>>>>    82  4947 nova-compute-float-snat  all  --  *      *       0.0.0.0/0
>>>> 0.0.0.0/0
>>>> Chain nova-manage-float-snat (1 references)
>>>>    81  4863 nova-manage-float-snat  all  --  *      *       0.0.0.0/0
>>>> 0.0.0.0/0
>>>> Chain nova-network-float-snat (1 references)
>>>>    82  4947 nova-network-float-snat  all  --  *      *       0.0.0.0/0
>>>> 0.0.0.0/0
>>>>
>>>>
>>>> --
>>>> Mailing list: https://launchpad.net/~netstack
>>>> Post to     : netstack@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~netstack
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>
>>>
>>> --
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> Dan Wendlandt
>>> Nicira Networks: www.nicira.com
>>> twitter: danwendlandt
>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>
>>> --
>>> Mailing list: https://launchpad.net/~netstack
>>> Post to : netstack@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~netstack
>>> More help : https://help.launchpad.net/ListHelp
>>>
>>> --
>>> Mailing list: https://launchpad.net/~netstack
>>> Post to : netstack@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~netstack
>>> More help : https://help.launchpad.net/ListHelp
>>>
>>> _______________________________________________
>>>
>>> Mailing list: https://launchpad.net/~openstack
>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~openstack
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>>
>>> --
>>> Mailing list: https://launchpad.net/~netstack
>>> Post to     : netstack@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~netstack
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>> --
>> Mailing list: https://launchpad.net/~netstack
>> Post to     : netstack@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~netstack
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
> --
> Mailing list: https://launchpad.net/~netstack
> Post to : netstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~netstack
> More help : https://help.launchpad.net/ListHelp
>
>
> --
> Mailing list: https://launchpad.net/~netstack
> Post to     : netstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~netstack
> More help   : https://help.launchpad.net/ListHelp
>
>


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Wendlandt
Nicira Networks: www.nicira.com
twitter: danwendlandt
~~~~~~~~~~~~~~~~~~~~~~~~~~~

References