Install S3 with Swift Kilo

Asked by Amit Manel

Hello Team,

I am trying to install S3 on my present running openstack server configured with swift and I am having some issues. The Proxy server starts fine without S3 Entries.

Environment :

OpenStack : Kilo
OS : CentOS 7.0

Installed swift S3 From https://github.com/fujita/swift3

Errors While Starting Proxy Server :

********************************************************************************************

[root@OpenStack swift3(keystone_admin)]# swift-init proxy restart
Signal proxy-server pid: 33738 signal: 15
No proxy-server running
Starting proxy-server...(/etc/swift/proxy-server.conf)
Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 23, in <module>
    sys.exit(run_wsgi(conf_file, 'proxy-server', **options))
  File "/usr/lib/python2.7/site-packages/swift/common/wsgi.py", line 473, in run_wsgi
    loadapp(conf_path, global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/swift/common/wsgi.py", line 382, in loadapp
    ctx = loadcontext(loadwsgi.APP, conf_file, global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/swift/common/wsgi.py", line 366, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/site-packages/swift/common/wsgi.py", line 62, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 450, in get_context
    global_additions=global_additions)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 562, in _pipeline_app_context
    for name in pipeline[:-1]]
  File "/usr/lib/python2.7/site-packages/swift/common/wsgi.py", line 62, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/swift/common/wsgi.py", line 62, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 659, in find_egg_entry_point
    for prot in protocol_options] or '(no entry points)'))))
LookupError: Entry point 'swift3' not found in egg 'swift' (dir: /usr/lib/python2.7/site-packages; protocols: paste.filter_factory, paste.filter_app_factory; entry_points: )

********************************************************************************************************************

Details of /etc/swift/proxy-server.conf configuration File

***************************************************************************

[root@OpenStack swift3(keystone_admin)]# cat /etc/swift/proxy-server.conf
# This file is managed by puppet. Do not edit
#
[DEFAULT]
bind_port = 8080

bind_ip = 10.209.85.118

workers = 32
user = swift
log_name = proxy-server
log_facility = LOG_LOCAL1
log_level = INFO
log_headers = False
log_address = /dev/log

[pipeline:main]
pipeline = swift3 catch_errors bulk healthcheck cache crossdomain ratelimit authtoken keystone staticweb tempurl slo formpost account_quotas container_quotas proxy-server

[app:proxy-server]
use = egg:swift#proxy
set log_name = proxy-server
set log_facility = LOG_LOCAL1
set log_level = INFO
set log_address = /dev/log
log_handoffs = true
allow_account_management = true
account_autocreate = true

[filter:swift3]
use = egg:swift#swift3

[filter:bulk]
use = egg:swift#bulk
max_containers_per_extraction = 10000
max_failed_extractions = 1000
max_deletes_per_request = 10000
yield_frequency = 60

[filter:s3token]
paste.filter_factory = keystone.middleware.s3_token:filter_factory
auth_port = 35357
auth_host = 10.209.85.118
auth_protocol = http

[filter:authtoken]
log_name = swift
signing_dir = /var/cache/swift
paste.filter_factory = keystonemiddleware.auth_token:filter_factory

auth_uri = http://10.209.85.118:5000/v2.0
identity_uri = http://10.209.85.118:35357
# if its defined
admin_tenant_name = services
admin_user = swift
admin_password = 5ddfdba1c93c4e2c
delay_auth_decision = 1
cache = swift.cache
include_service_catalog = False
[filter:cache]
use = egg:swift#memcache
memcache_servers = 127.0.0.1:11211
[filter:catch_errors]
use = egg:swift#catch_errors

[filter:healthcheck]
use = egg:swift#healthcheck

[filter:ratelimit]
use = egg:swift#ratelimit
clock_accuracy = 1000
max_sleep_time_seconds = 60
log_sleep_time_seconds = 0
rate_buffer_seconds = 5
account_ratelimit = 0

[filter:tempurl]
use = egg:swift#tempurl

[filter:formpost]
use = egg:swift#formpost

[filter:staticweb]
use = egg:swift#staticweb

[filter:crossdomain]
use = egg:swift#crossdomain
cross_domain_policy = <allow-access-from domain="*" secure="false" />

[filter:slo]
use = egg:swift#slo
max_manifest_segments = 1000
max_manifest_size = 2097152
min_segment_size = 1048576
rate_limit_after_segment = 10
rate_limit_segments_per_sec = 0
max_get_time = 86400

[filter:keystone]
use = egg:swift#keystoneauth
operator_roles = admin, SwiftOperator
is_admin = true
reseller_prefix = AUTH_

[filter:account_quotas]
use = egg:swift#account_quotas

[filter:container_quotas]
use = egg:swift#container_quotas
*******************************************************************************************

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Pete Zaitcev (zaitcev) said :
#1

It tells you what's wrong right there: "LookupError: Entry point 'swift3' not found in egg 'swift' ". Obviously since the swift3 is installed separately from Swift, it cannot be located in the same egg. Otherwise, installation would've been required to modify the egg "swift" on the fly, if present. Find out what egg the swift3 package installs and modify your locator in the [swift3] section. Most likely it's use=egg:swift3#swift3. At least that's what fujita's setup.py says at the URL that you provided. BTW, it's not correct, AFAIK. The swift3 has moved under somewhere, I think under Stackforge umbrella.

Revision history for this message
Amit Manel (amit-g) said :
#2

Thanks, Pete .

I guess , I have installed OpenStack from RDO and then installed swift S3 to some other location . My BAD , still learning Swift. So , may be with the present type of OpenStack Swift installation , any idea what is the best way to configure S3.

Thanks,
amit

Revision history for this message
Kota Tsuyuzaki (tsuyuzaki-kota) said :
#3

FYI, current Swift3 master is https://github.com/stackforge/swift3

Fujita's one is too old and not maintained anymore.

If you have any questions about swift3, you may use swift3 page at launchpad[1] to notify the request to swift3 contributors. They (also I) will help you anytime.

1: https://launchpad.net/swift3

Revision history for this message
Amit Manel (amit-g) said :
#4

Thanks, Kota .

Can you help with this problem?

Provide an answer of your own, or ask Amit Manel for more information if necessary.

To post a message you must log in.