aceaad2b758ffdf0f9cc62df60ac717463a14471
This patch introduces S3 request object, swift3.Request, and moves request manipulation code like header validation or translation into request.py. The main purpose of this change is to improve code maintainability. After this patch, Swift requests and responses are completely distinguished from S3's ones, and middleware.py no longer touch swob.Request and swob.Response. All the controllers in middleware.py can focus on how requests flow into Swift. Change-Id: I7545f1ebcb5f36a7cb78b812ac6f0124beee5cb8
Swift3
Swift3 Middleware for OpenStack Swift, allowing access to OpenStack swift via the Amazon S3 API.
Install
-
Install Swift3 with
sudo python setup.py installorsudo python setup.py developor via whatever packaging system you may be using. -
Alter your proxy-server.conf pipeline to have swift3:
If you use tempauth:
Was::
[pipeline:main]
pipeline = catch_errors cache tempauth proxy-server
Change To::
[pipeline:main]
pipeline = catch_errors cache swift3 tempauth proxy-server
If you use keystone:
Was::
[pipeline:main]
pipeline = catch_errors cache authtoken keystone proxy-server
Change To::
[pipeline:main]
pipeline = catch_errors cache swift3 s3token authtoken keystone proxy-server
-
Add to your proxy-server.conf the section for the Swift3 WSGI filter::
[filter:swift3] use = egg:swift3#swift3
You also need to add the following if you use keystone (adjust port, host, protocol configurations for your environment):
[filter:s3token]
paste.filter_factory = keystone.middleware.s3_token:filter_factory
auth_port = 35357
auth_host = 127.0.0.1
auth_protocol = http
Description
Swift3 Middleware for OpenStack Swift, allowing access to OpenStack swift via the Amazon S3 API.
Languages
Python
99.3%
Shell
0.7%