]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Fix eqlx endless loop when server closes the connection
authorDunrong Huang <riegamaths@gmail.com>
Wed, 14 Jan 2015 05:56:43 +0000 (13:56 +0800)
committerEric Harney <eharney@redhat.com>
Thu, 15 Jan 2015 20:10:59 +0000 (15:10 -0500)
commita762665595f0f38bacb50d1a032df1c82b3a4c60
tree5dfd58880d22a6cfe8ad7ed9506d634a57a7dc9c
parent309efa5db4fe2638d79eb8e1d1a0dc60d99683f4
Fix eqlx endless loop when server closes the connection

The eqlx driver would identify one CLI command completion by looking
for the system name prompt in the output ("ARRAY_NAME>"). But some
cases where there is no "ARRAY_NAME>" in the output. The eqlx server
closes the ssh connection immediately after sends such message, which
lead to a infinite loop in _get_output() and 100% CPU utilization.

What the patch does is to check the return of chan.recv(), if the
length of returned string is zero, which means server has closed the
connection, the loop will be exited.

Closes-Bug: #1410627

Signed-off-by: Dunrong Huang <riegamaths@gmail.com>
Change-Id: I600c38d98f0f808c98df010a89ac58ca8e43f1a3
cinder/volume/drivers/eqlx.py