iOSS

オープンソースをもっと身近なものに

Posted on by hagix9


OpenStackのEssexをKeystoneで認証できる環境が構築されておりGlusterFSの3.3もイントールが済んでる前提です。
ディストリビューションはUbuntu 12.04で検証して見ました。
結果的にはダメでした。
もし出来たよって方がいたら出来たってだけでも教えてくれればうれしいなと。
Swift PluginはバージョンはSwift1.4.5ベース?みたいです。
バージョンは、コマンドでは1.0、インストールされたものの中身は1.5、チェンジログは1.4.4までとよくわかりません。
以下の本家の2つのバグ修正が無いとOpenStack側がEssexだとまだちゃんと動かないのかなとか勝手に思ってますが。
あと、1.4.5だと環境変数もEssexのものがまだ利用できませんでした。

1.4.7で以下のバグ修正
<a href="https://bugs.launchpad.net/swift/+bug/930637">swift doesn't use version in v2.0 auth requests</a>
1.4.8で以下のバグ修正
<a href="https://bugs.launchpad.net/swift/+bug/885011">auth 2.0 support in swift/common/client.py</a>

# swift --version
swift 1.0
# cat /usr/local/bin/swift |grep 1.4
# EASY-INSTALL-SCRIPT: 'swift==1.4.5','swift'
__requires__ = 'swift==1.4.5'
pkg_resources.run_script('swift==1.4.5', 'swift')
# cat CHANGELOG | grep 1.4
swift (1.4.4)

動いてませんがやってみたことなります。

●GlusterFSのswiftプラグインのインストール

# apt-get install python-netifaces
# cd /usr/local/src
# wget http://download.gluster.com/pub/gluster/glusterfs/3.2/UFO/ubuntu-install.sh
# sh ubuntu-install.sh
# wget http://download.gluster.com/pub/gluster/glusterfs/3.2/UFO/swift_plugin.tar.gz
# tar zxvf swift_plugin.tar.gz
# cd swift_plugin
# python setup.py install
# mkdir /etc/swift
# cp -a /usr/local/src/swift_plugin/swift/plugins/conf/* /etc/swift

●swiftの設定

# groupadd swift
# useradd -g swift swift
# mkdir /etc/swift
# vi /etc/swift/proxy-server.conf
[DEFAULT]
bind_port = 8080
user = swift
swift_dir = /etc/swift
workers = 2
log_name = swift
log_facility = LOG_LOCAL1
log_level = DEBUG

[pipeline:main]
pipeline = healthcheck cache swift3 s3token tokenauth keystone proxy-server

[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true
account_autocreate = true

[filter:keystone]
paste.filter_factory = keystone.middleware.swift_auth:filter_factory
operator_roles = Member,admin

[filter:s3token]
paste.filter_factory = keystone.middleware.s3_token:filter_factory
service_port = 5000
service_host = 192.168.10.50
auth_port = 35357
auth_host = 192.168.10.50
auth_protocol = http
auth_token = 999888777666
admin_token = 999888777666

[filter:tokenauth]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_port = 5000
service_host = 192.168.10.50
auth_port = 35357
auth_host = 192.168.10.50
auth_protocol = http
auth_token = 999888777666
admin_token = 999888777666
admin_tenant_name = admin
admin_user = admin
admin_password = password
cache = swift.cache

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

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

[filter:cache]
use = egg:swift#memcache
memcache_servers = 192.168.10.50:11211
EOF

vi /etc/swift/fs.conf
[DEFAULT]
mount_path = /mnt/share
auth_account = auth

mount_ip = 192.168.10.50
remote_cluster = yes

●プロキシサーバを起動

# swift-init start proxy
# swift-init start main

swift-init all start でも swift-init start allでも何でも起動します。

●Swiftを起動
OpenStackの環境変数はまだ読み込んでも利用できないみたい?
なのでSwiftの環境変数を読みこませます。

# export ST_AUTH=http://192.168.10.50:5000/v2.0
# export ST_USER=admin:admin
# export ST_KEY=password
# export ST_AUTH_VERSION=2

コマンドを実行

# swift stat
Account not found

環境変数色々変更して見ましたが一緒でした。

# cat /var/log/keystone/keystone.log
2012-04-22 15:11:12 DEBUG [routes.middleware] No route matched for P OST /tokens
2012-04-22 15:11:12 DEBUG [eventlet.wsgi.server] 192.168.10.50 - - [ 22/Apr/2012 15:11:12] "POST /tokens HTTP/1.1" 404 176 0.000573

Posted on by hagix9 | Posted in 未分類


コメントを残す

メールアドレスが公開されることはありません。