Comment 7 for bug 838581

Revision history for this message
bastichelaar (bas-t) wrote :

I patched my api.py to revert the db_pool complexities, but it still gives error like this when spawning 25+ instances at once:

2011-10-06 16:36:58,945 DEBUG nova.network.manager [6bf528ce-4e3d-4061-bd3b-1d25602a59ef None None] Leased IP |10.0.0.24| from (pid=27883) lease_fixed_ip /usr/lib/python2.7/dist-packages/nova/network/manager.py:645
ERROR nova.rpc [-] Exception during message handling
(nova.rpc): TRACE: Traceback (most recent call last):
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 620, in _process_data
(nova.rpc): TRACE: rval = node_func(context=ctxt, **node_args)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/nova/network/manager.py", line 221, in allocate_for_instance
(nova.rpc): TRACE: ips = super(FloatingIP, self).allocate_for_instance(context, **kwargs)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/nova/network/manager.py", line 444, in allocate_for_instance
(nova.rpc): TRACE: requested_networks=requested_networks)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/nova/network/manager.py", line 171, in _allocate_fixed_ips
(nova.rpc): TRACE: vpn=vpn, address=address)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/nova/network/manager.py", line 615, in allocate_fixed_ip
(nova.rpc): TRACE: instance_id)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/nova/db/api.py", line 347, in fixed_ip_associate_pool
(nova.rpc): TRACE: instance_id, host)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 101, in wrapper
(nova.rpc): TRACE: return f(*args, **kwargs)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 724, in fixed_ip_associate_pool
(nova.rpc): TRACE: # then this has concurrency issues
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 1652, in first
(nova.rpc): TRACE: ret = list(self[0:1])
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 1560, in __getitem__
(nova.rpc): TRACE: return list(res)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 1823, in instances
(nova.rpc): TRACE: fetch = cursor.fetchall()
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2528, in fetchall
(nova.rpc): TRACE: l = self.process_rows(self._fetchall_impl())
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2497, in _fetchall_impl
(nova.rpc): TRACE: self._non_result()
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2502, in _non_result
(nova.rpc): TRACE: "This result object does not return rows. "
(nova.rpc): TRACE: ResourceClosedError: This result object does not return rows. It has been closed automatically.
(nova.rpc): TRACE:
ERROR nova.rpc [-] Returning exception This result object does not return rows. It has been closed automatically. to caller