Yeah, I agree that pulling the client creation closer to use has a lot more overhead, so let's go for Mark's suggestion.
On Tue, Mar 5, 2013 at 8:34 PM, Mark McClain <email address hidden>wrote:
> did you try importing the library with: > > import eventlet > httplib2 = eventlet.import_patched('httplib2') > > If we connect inside each call, that will require a round trip to > keystone each time. > > -- > You received this bug notification because you are a member of Netstack > Core Developers, which is subscribed to quantum. > https://bugs.launchpad.net/bugs/1148017 > > Title: > [q-meta] QuantumClientException: Second simultaneous read on fileno > 11 detected > > Status in OpenStack Quantum (virtual network service): > Confirmed > > Bug description: > When I run quantum + nova in 5 host machine and launch 100 VMs. > I got following exception on the quantum-metadata server. > I'm still not sure the cause, yet > > X-Quantum-Router-Id: 2617637b-a3f9-4d0f-8fc5-458bbbfb5d0e __call__ > /opt/stack/quantum/quantum/agent/metadata/agent.py:81 > 2013-03-05 15:28:51.465 5974 ERROR quantum.agent.metadata.agent [-] > Unexpected error. > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > Traceback (most recent call last): > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/opt/stack/quantum/quantum/agent/metadata/agent.py", line 83, in __call__ > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > instance_id = self._get_instance_id(req) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/opt/stack/quantum/quantum/agent/metadata/agent.py", line 111, in > _get_instance_id > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > fixed_ips=['ip_address=%s' % remote_address])['ports'] > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/usr/local/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line > 106, in with_params > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent ret > = self.function(instance, *args, **kwargs) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/usr/local/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line > 249, in list_ports > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > return self.get(self.ports_path, params=_params) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/usr/local/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line > 901, in get > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > headers=headers, params=params) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/usr/local/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line > 886, in retry_request > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > headers=headers, params=params) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/usr/local/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line > 831, in do_request > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > self._handle_fault_response(status_code, replybody) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/usr/local/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line > 812, in _handle_fault_response > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > exception_handler_v20(status_code, des_error_body) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent File > "/usr/local/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line > 86, in exception_handler_v20 > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > message=message) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > QuantumClientException: Second simultaneous read on fileno 11 detected. > Unless you really know what you're doing, make sure that only one > greenthread can read any particular socket. Consider using a pools.Pool. > If you do know what you're doing and want to disable this error, call > eventlet.debug.hub_multiple_reader_prevention(False) > 2013-03-05 15:28:51.465 5974 TRACE quantum.agent.metadata.agent > 2013-03-05 15:28:51.481 5974 DEBUG quantum.agent.metadata.agent [-] > Request: GET /2009-04-04/meta-data/block-device-mapping/Internal HTTP/1.0 > > To manage notifications about this bug go to: > https://bugs.launchpad.net/quantum/+bug/1148017/+subscriptions >
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dan Wendlandt Nicira, Inc: www.nicira.com twitter: danwendlandt ~~~~~~~~~~~~~~~~~~~~~~~~~~~
Yeah, I agree that pulling the client creation closer to use has a lot more
overhead, so let's go for Mark's suggestion.
On Tue, Mar 5, 2013 at 8:34 PM, Mark McClain <email address hidden>wrote:
> did you try importing the library with: import_ patched( 'httplib2' ) /bugs.launchpad .net/bugs/ 1148017 ception: Second simultaneous read on fileno Router- Id: 2617637b- a3f9-4d0f- 8fc5-458bbbfb5d 0e __call__ quantum/ quantum/ agent/metadata/ agent.py: 81 agent.metadata. agent [-] agent.metadata. agent agent.metadata. agent File quantum/ quantum/ agent/metadata/ agent.py" , line 83, in __call__ agent.metadata. agent instance_ id(req) agent.metadata. agent File quantum/ quantum/ agent/metadata/ agent.py" , line 111, in agent.metadata. agent ['ip_address= %s' % remote_ address] )['ports' ] agent.metadata. agent File lib/python2. 7/dist- packages/ quantumclient/ v2_0/client. py", line agent.metadata. agent ret instance, *args, **kwargs) agent.metadata. agent File lib/python2. 7/dist- packages/ quantumclient/ v2_0/client. py", line agent.metadata. agent self.ports_ path, params=_params) agent.metadata. agent File lib/python2. 7/dist- packages/ quantumclient/ v2_0/client. py", line agent.metadata. agent agent.metadata. agent File lib/python2. 7/dist- packages/ quantumclient/ v2_0/client. py", line agent.metadata. agent agent.metadata. agent File lib/python2. 7/dist- packages/ quantumclient/ v2_0/client. py", line agent.metadata. agent fault_response( status_ code, replybody) agent.metadata. agent File lib/python2. 7/dist- packages/ quantumclient/ v2_0/client. py", line fault_response agent.metadata. agent handler_ v20(status_ code, des_error_body) agent.metadata. agent File lib/python2. 7/dist- packages/ quantumclient/ v2_0/client. py", line handler_ v20 agent.metadata. agent agent.metadata. agent ception: Second simultaneous read on fileno 11 detected. debug.hub_ multiple_ reader_ prevention( False) agent.metadata. agent agent.metadata. agent [-] 04/meta- data/block- device- mapping/ Internal HTTP/1.0 /bugs.launchpad .net/quantum/ +bug/1148017/ +subscriptions
>
> import eventlet
> httplib2 = eventlet.
>
> If we connect inside each call, that will require a round trip to
> keystone each time.
>
> --
> You received this bug notification because you are a member of Netstack
> Core Developers, which is subscribed to quantum.
> https:/
>
> Title:
> [q-meta] QuantumClientEx
> 11 detected
>
> Status in OpenStack Quantum (virtual network service):
> Confirmed
>
> Bug description:
> When I run quantum + nova in 5 host machine and launch 100 VMs.
> I got following exception on the quantum-metadata server.
> I'm still not sure the cause, yet
>
> X-Quantum-
> /opt/stack/
> 2013-03-05 15:28:51.465 5974 ERROR quantum.
> Unexpected error.
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> Traceback (most recent call last):
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/opt/stack/
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> instance_id = self._get_
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/opt/stack/
> _get_instance_id
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> fixed_ips=
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/usr/local/
> 106, in with_params
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> = self.function(
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/usr/local/
> 249, in list_ports
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> return self.get(
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/usr/local/
> 901, in get
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> headers=headers, params=params)
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/usr/local/
> 886, in retry_request
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> headers=headers, params=params)
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/usr/local/
> 831, in do_request
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> self._handle_
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/usr/local/
> 812, in _handle_
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> exception_
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> "/usr/local/
> 86, in exception_
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> message=message)
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> QuantumClientEx
> Unless you really know what you're doing, make sure that only one
> greenthread can read any particular socket. Consider using a pools.Pool.
> If you do know what you're doing and want to disable this error, call
> eventlet.
> 2013-03-05 15:28:51.465 5974 TRACE quantum.
> 2013-03-05 15:28:51.481 5974 DEBUG quantum.
> Request: GET /2009-04-
>
> To manage notifications about this bug go to:
> https:/
>
-- ~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~
~~~~~~~
Dan Wendlandt
Nicira, Inc: www.nicira.com
twitter: danwendlandt
~~~~~~~