I've been chasing my tail for quite a while, and thought I'd reach out for help! My problem is that swauth-prep seems to fail, with a less than helpful message. I would appreciate any pointers and thoughts.<div><br>
</div><div>I think I followed the instructions here:<a href="http://swift.openstack.org/howto_installmultinode.html">http://swift.openstack.org/howto_installmultinode.html</a></div><div>Using swift 1.3, on ubuntu. the machines are VM's hosted in an ESXi, and isolated network</div>
<div><div><br></div><div><div><br></div><div>The failure:</div><div>#swauth-prep -A <a href="https://192.168.124.131:8080/auth/">https://192.168.124.131:8080/auth/</a> -K swauth</div><div>Auth subsystem prep failed: 500 Server Error</div>
<div><br></div><div><br></div><div>In the proxy log ( i added the !!!, and included the response body in the thrown exception from swauth.py#321)</div><div><br></div><div>Apr 27 13:48:47 d00-0c-29-14-30-92 proxy-server - - 27/Apr/2011/18/48/47 PUT /v1/AUTH_.auth HTTP/1.0 400 - Swauth - - -</div>
<div>- tx6a09620d-133b-4cf6-b9a9-0b6c26816c10 - 0.0067</div><div>Apr 27 13:48:47 d00-0c-29-14-30-92 proxy-server STDOUT: EXCEPTION IN handle: Traceback (most recent call last):#012 Fil</div><div>e "/usr/lib/pymodules/python2.6/swift/common/middleware/swauth.py", line 321, in handle#012 return self.handle_reques</div>
<div>t(req)(env, start_response)#012 File "/usr/lib/pymodules/python2.6/swift/common/middleware/swauth.py", line 384, in han</div><div>dle_request#012 req.response = handler(req)#012 File "/usr/lib/pymodules/python2.6/swift/common/middleware/swauth.py</div>
<div>", line 404, in handle_prep#012 (path, resp.body))#012Exception: Could not create the main auth account: /v1/AUTH_.au</div><div>th Invalid path: /sdb1/40466/AUTH_.auth !!!#012: {'SCRIPT_NAME': '/auth/v2', 'webob.adhoc_attrs': {'start_time': 1303930</div>
<div>127.884881, 'bytes_transferred': '-', 'client_disconnect': False}, 'REQUEST_METHOD': 'POST', 'PATH_INFO': '/.prep', 'SER</div><div>VER_PROTOCOL': 'HTTP/1.0', 'QUERY_STRING': '', 'eventlet.posthooks': [(<bound method Swauth.posthooklogger of <<a href="http://swift.com">swift.com</a></div>
<div>mon.middleware.swauth.Swauth object at 0x1ac4750>>, (<Request at 0x1ae0490 POST <a href="https://192.168.124.131:8080/auth/v2/.pr">https://192.168.124.131:8080/auth/v2/.pr</a></div><div>ep>,), {})], 'SERVER_NAME': '192.168.124.131', 'REMOTE_ADDR': '192.168.124.132', 'eventlet.input': <eventlet.wsgi.Input</div>
<div>object at 0x1ae0110>, 'HTTP_X_AUTH_ADMIN_KEY': 'swauth', 'wsgi.url_scheme': 'https', 'SERVER_PORT': '8080', 'HTTP_X_AUTH</div><div>_ADMIN_USER': '.super_admin', 'HTTP_X_CF_TRANS_ID': 'tx6a09620d-133b-4cf6-b9a9-0b6c26816c10', 'wsgi.input': <<a href="http://eventlet.ws">eventlet.ws</a></div>
<div>gi.Input object at 0x1ae0110>, 'HTTP_HOST': '<a href="http://192.168.124.131:8080">192.168.124.131:8080</a>', 'swift.cache': <swift.common.memcached.MemcacheRing</div><div>object at 0x1ad70d0>, 'HTTPS': 'on', 'wsgi.multithread': True, 'wsgi.version': (1, 0), 'GATEWAY_INTERFACE': 'CGI/1.1', '</div>
<div>wsgi.run_once': False, 'wsgi.errors': <swift.common.utils.LoggerFileObject object at 0x1a6d810>, 'wsgi.multiprocess': Fa</div><div>lse, 'CONTENT_TYPE': None, 'HTTP_ACCEPT_ENCODING': 'identity'}</div>
<div><br></div><div><br></div><div><br></div><div>On the storage node (192.168.124.132 below)</div><div><br></div><div>Apr 27 13:48:35 d00-0c-29-d6-d1-69 account-server Started child 17254</div><div>Apr 27 13:48:47 d00-0c-29-d6-d1-69 object-server 192.168.124.131 - - [27/Apr/2011:18:48:47 +0000] "PUT /sdb1/40466/AUTH_.auth" 400 36 "-" "tx6a09620d-133b-4cf6-b9a9-0b6c26816c10" "-" 0.0009</div>
<div>Apr 27 13:49:05 d00-0c-29-d6-d1-69 object-replicator Starting object replication pass.</div><div><br></div><div><br></div><div><br></div><div>The config. on the proxy server:</div><div><br></div><div>Ring info:</div>
<div>#swift-ring-builder account.builder</div><div>account.builder, build version 13</div><div>262144 partitions, 1 replicas, 1 zones, 2 devices, 0.00 balance</div><div>The minimum number of hours before a partition can be reassigned is 1</div>
<div>Devices: id zone ip address port name weight partitions balance meta</div><div> 4 1 192.168.124.130 6000 sdb1 100.00 131072 0.00</div><div> 5 1 192.168.124.132 6000 sdb1 100.00 131072 0.00</div>
<div><br></div><div># swift-ring-builder object.builder</div><div>object.builder, build version 13</div><div>262144 partitions, 1 replicas, 1 zones, 2 devices, 0.00 balance</div><div>The minimum number of hours before a partition can be reassigned is 1</div>
<div>Devices: id zone ip address port name weight partitions balance meta</div><div> 4 1 192.168.124.130 6002 sdb1 100.00 131072 0.00</div><div> 5 1 192.168.124.132 6002 sdb1 100.00 131072 0.00</div>
<div><br></div><div># swift-ring-builder container.builder</div><div>container.builder, build version 13</div><div>262144 partitions, 1 replicas, 1 zones, 2 devices, 0.00 balance</div><div>The minimum number of hours before a partition can be reassigned is 1</div>
<div>Devices: id zone ip address port name weight partitions balance meta</div><div> 4 1 192.168.124.130 6001 sdb1 100.00 131072 0.00</div><div> 5 1 192.168.124.132 6001 sdb1 100.00 131072 0.00</div>
<div><br></div><div><br></div><div><br></div><div># cat proxy-server.conf</div><div>[DEFAULT]</div><div>cert_file = /etc/swift/cert.crt</div><div>key_file = /etc/swift/cert.key</div><div>bind_port = 8080</div><div>workers = 8</div>
<div>user = swift</div><div><br></div><div>[pipeline:main]</div><div>pipeline = healthcheck cache swauth proxy-server</div><div><br></div><div>[app:proxy-server]</div><div>use = egg:swift#proxy</div><div>allow_account_management = true</div>
<div><br></div><div>[filter:swauth]</div><div>use = egg:swift#swauth</div><div>default_swift_cluster = local#<a href="https://192.168.124.131:8080/v1">https://192.168.124.131:8080/v1</a></div><div>super_admin_key = swauth</div>
<div><br></div><div>[filter:healthcheck]</div><div>use = egg:swift#healthcheck</div><div><br></div><div>[filter:cache]</div><div>use = egg:swift#memcache</div><div>memcache_servers = <a href="http://192.168.124.131:11211">192.168.124.131:11211</a></div>
<div><br></div><div><br></div><div><br></div><div>On the account/storage server:</div><div><br></div><div># cat account-server.conf</div><div>[Default]</div><div>bind_ip = 192.168.124.130</div><div>#bind_port = 6012</div>
<div>bind_port = 6000</div><div><br></div><div>[pipeline:main]</div><div>pipeline = account-server</div><div><br></div><div>[app:account-server]</div><div>use = egg:swift#account</div><div><br></div><div>[account-replicator]</div>
<div><br></div><div>[account-auditor]</div><div><br></div><div>[account-reaper]</div><div><br></div><div><br></div><div>On the second account/storage server:</div><div># cat /etc/swift/account-server.conf</div><div>[Default]</div>
<div>bind_ip = 192.168.124.132</div><div>#bind_port = 6012</div><div>bind_port = 6000</div><div><br></div><div>[pipeline:main]</div><div>pipeline = account-server</div><div><br></div><div>[app:account-server]</div><div>use = egg:swift#account</div>
<div><br></div><div>[account-replicator]</div><div><br></div><div>[account-auditor]</div><div><br></div><div>[account-reaper]</div><div><br></div></div></div>