如何在没有其他openstack项目的情况下配置openstack swift?

时间:2016-05-05 08:57:09

标签: openstack openstack-swift

我尝试配置swift对象存储但没有成功。 如果我使用带有keystone的控制器,那么一切都很好(如文档中所示):
http://docs.openstack.org/mitaka/install-guide-rdo/swift-controller-install.html
但问题是我只想使用快速的对象存储。而已。
我试图在文档中配置swift但没有[filter:keystoneauth]和[filter:authtoken]。
之后我尝试使用此命令验证操作:swift stat
它显示:

Auth version 1.0 requires ST_AUTH, ST_USER, and ST_KEY environment variables
to be set or overridden with -A, -U, or -K.

Auth version 2.0 requires OS_AUTH_URL, OS_USERNAME, OS_PASSWORD, and
OS_TENANT_NAME OS_TENANT_ID to be set or overridden with --os-auth-url,
--os-username, --os-password, --os-tenant-name or os-tenant-id. Note:
adding "-V 2" is necessary for this.

但我没有基石。我怎样才能访问swift?
如果我没有错,那么在没有keystone的情况下配置swift的文章是: http://docs.openstack.org/developer/swift/development_saio.html
但它有点难。我不确定如何正确理解这篇文章。

1 个答案:

答案 0 :(得分:2)

默认情况下,swift具有TempAuth(也称为1.0版)身份验证方法(http://docs.openstack.org/developer/swift/overview_auth.html)。您可以将其用于测试目的,但不建议用于生产

您引用的SAIO文章运行它。以下是您可能遗漏的一些观点:

如果您删除了[filter:keystoneauth]和[filter:authtoken] 你应该:

1 - 将tempauth添加到[pipeline:main]

pipeline = catch_errors gatekeeper healthcheck proxy-logging cache bulk tempurl ratelimit crossdomain container_sync tempauth staticweb copy container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server

2 - 在proxy-server.conf中配置tempauth部分,如下所示:

[filter:tempauth]
use = egg:swift#tempauth
user_admin_admin = admin .admin .reseller_admin
user_test_tester = testing .admin
user_test2_tester2 = testing2 .admin
user_test_tester3 = testing3

此外,如果您想使用params运行swift客户端,则应配置环境变量。

$ export ST_USER=admin:admin
$ export ST_KEY=admin