openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #08194
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