Можно ли взаимодействовать через s3cmd с развертыванием OpenStack Swift на одном узле?

Я развернул службу хранения OpenStack Swift поверх Raspberry Pi 3 с Raspbian = Debian Jessie 8.0. (Благодаря Swift on Pi установка не вызвала особых проблем).

$ curl -i -H "X-Auth-User: test:tester" -H "X-Auth-Key: testing" http://10.0.0.253:8080/auth/v1.0/
HTTP/1.1 200 OK
X-Storage-Url: http://10.0.0.253:8080/v1/AUTH_test
X-Auth-Token-Expires: 77438
X-Auth-Token: AUTH_tka8fff6782f86486a84e3905daa60f308
Content-Type: text/html; charset=UTF-8
X-Storage-Token: AUTH_tka8fff6782f86486a84e3905daa60f308
Content-Length: 0
X-Trans-Id: txa21566e67e8143b1b32db-005908cf2f
X-Openstack-Request-Id: txa21566e67e8143b1b32db-005908cf2f
Date: Tue, 02 May 2017 18:25:51 GMT

У меня не запущены другие службы OpenStack (например, Keystone). Только Свифт.

Моя цель — использовать s3cmd для взаимодействия со службой Swift.

Я изменил внутри файла ~/.s3cfg эти значения:

access_key = tester
host_base = 10.0.0.253:8080
host_bucket = 10.0.0.253:8080
secret_key = testing
signature_v2 = True 

Но это не помогло:

$ s3cmd ls
ERROR: Error parsing xml: Malformed error XML returned from remote server..  ErrorXML: <html><h1>Unauthorized</h1><p>This server could not verify that you are authorized to access the document you requested.</p></html>
ERROR: S3 error: 401 (Unauthorized)

Можно ли вообще использовать s3cmd для взаимодействия со службой Swift и какие шаги я пропустил?


person Neverland    schedule 02.05.2017    source источник


Ответы (1)


Openstack-Swift хоть и является объектным хранилищем вроде s3, но имеет другой API. Если вам просто нужна командная строка, вы можете попробовать Python-Swiftclient. Однако, если вам нужен S3-подобный API, вам необходимо настроить промежуточное ПО swift3, которое не поставляется со Swift по умолчанию только после версии 2.18.0. Для более ранней версии необходимо установить промежуточное ПО.

person Nelson Marcos    schedule 08.05.2017