Bug 769281

Summary: object-storage:swift-plugin is not getting started
Product: [Community] GlusterFS Reporter: Saurabh <saujain>
Component: object-storageAssignee: Junaid <junaid>
Status: CLOSED CURRENTRELEASE QA Contact: Saurabh <saujain>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: pre-releaseCC: gluster-bugs, mzywusko, vagarwal
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.4.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-24 18:01:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 817967    

Description Saurabh 2011-12-20 12:56:47 UTC
Description of problem:

swift-plugin is not getting started when I am  are trying to use https.
For this I have updated the /etc/swift/proxy.conf

[root@RHSSA1 ~]# swift-init main start
Starting proxy-server...(/etc/swift/proxy-server.conf)
Starting container-server...(/etc/swift/container-server/1.conf)
Starting account-server...(/etc/swift/account-server/1.conf)
Starting object-server...(/etc/swift/object-server/1.conf)
Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 22, in <module>
    run_wsgi(conf_file, 'proxy-server', default_port=8080, **options)
  File "/usr/lib/python2.6/site-packages/swift/common/wsgi.py", line 118, in run_wsgi
    sock = get_socket(conf, default_port=kwargs.get('default_port', 8080))
  File "/usr/lib/python2.6/site-packages/swift/common/wsgi.py", line 77, in get_socket
    keyfile=conf['key_file'])
  File "/usr/lib/python2.6/site-packages/eventlet/green/ssl.py", line 299, in wrap_socket
    suppress_ragged_eofs=suppress_ragged_eofs)
  File "/usr/lib/python2.6/site-packages/eventlet/green/ssl.py", line 44, in __init__
    delattr(self, fn)
AttributeError: recv

#######################################################
cat /etc/swift/poroxy-server.conf

[DEFAULT]
bind_port = 443
user = root
log_facility = LOG_LOCAL1
cert_file = /etc/swift/cert.crt
key_file = /etc/swift/cert.key
#######################################################
[root@RHSSA1 ~]# ls /etc/swift/
account.builder  account-server  cert.crt  container.builder  container-server  fs.conf         object.ring.gz  proxy-server.conf
account.ring.gz  backups         cert.key  container.ring.gz  db_file.db        object.builder  object-server   swift.conf

########################################################
[root@RHSSA1 swift]# glusterfs -V
glusterfs 3.2.5 built on Nov 15 2011 08:43:13
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. <http://www.gluster.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.
########################################################
[root@RHSSA1 swift]# rpm -qa | grep openssl
openssl-1.0.0-20.el6.x86_64
[root@RHSSA1 swift]#
########################################################
[root@RHSSA1 swift]# cat /etc/swift/swift.conf
[DEFAULT]
Enable_plugin = yes

[swift-hash]
# random unique string that can never change (DO NOT LOSE)
swift_hash_path_suffix = gluster
##########################################################

machine is 10.1.11.158
##########################################################
Version-Release number of selected component (if applicable):


How reproducible:
it is easy to reproduce

Steps to Reproduce:
1.steps are already listed in the description
2.
3.
  
Actual results:
the swift-init fails.
Effectively it does not start the proxy server, whereas all other servers are started.

Expected results:
it should start smoothly without throwing any error

Additional info:

Comment 1 Junaid 2011-12-21 06:42:53 UTC
The problem is caused due a bug in python26-eventlet-0.9.9-1.el5.noarch, which is fixed in python-eventlet-0.9.16.

Saurabh, please use python-eventlet-0.9.16 and test. For now you can fetch the rpm's from http://yum.griddynamics.net/yum/diablo/, lets figure out later how we will package it.


PS: The problem is caused because the code is not handling an exception (Attribute exception to be precise) which is fixed in 0.9.16.

Comment 2 Saurabh 2012-04-04 12:25:25 UTC
didn't see the problem in the recent code of swift