2015年7月2日木曜日

ConoHaのオブジェクトストレージを操作するためにOpenStackSwiftのコマンドラインクライアントをインストールする

新ConoHaのオブジェクトストレージにも採用されてるらしいOpenStack Swift。
コンテナの属性を触るのにAPI操作が必要そうなのでクライアントをインストールしてみる。
いまいちよくわかってないのでメモしとくけど手順合ってるかは不明。

環境

・OS X Yosemite 10.10.3

参考

OpenStack コマンドラインクライアントのインストール
https://swiftstack.com/docs/integration/python-swiftclient.html

前提ソフトウェアのインストール

Python2.6かそれ以降

OS Xには最初から入ってた。
$ python -V
Python 2.7.6
※けどこのままではswiftクライアントが動かず、Homebrew経由で入れ直した。
$ brew install python
$ python -V
Python 2.7.10

setuptoolsパッケージ

これもOS Xには最初から入ってるらしい。

pipパッケージ

これも書かれてる通りのコマンド実行してみる。
$ sudo easy_install pip
・・・略
Installed /Library/Python/2.7/site-packages/pip-7.1.0-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip

これでいいのかな。

クライアントのインストール

いろいろクライアントの種類があるみたいだけどオブジェクトストレージだけ操作できればいいからswiftclientってのをインストール。
$ sudo pip install python-swiftclient
・・・略
Successfully installed futures-3.0.3 python-swiftclient-2.4.0 requests-2.7.0 simplejson-3.7.3 six-1.9.0

動かしてみるもエラーで動かない
$ swift
Traceback (most recent call last):
  File "/usr/local/bin/swift", line 7, in <module>
    from swiftclient.shell import main
  File "/Library/Python/2.7/site-packages/swiftclient/shell.py", line 31, in <module>
    from swiftclient.multithreading import OutputManager
  File "/Library/Python/2.7/site-packages/swiftclient/multithreading.py", line 22, in <module>
    from six.moves.queue import PriorityQueue
ImportError: No module named queue
以下のページを発見。
Installing python-swiftclient on OS X Yosemite
どうもMacに最初から入ってるpythonに問題があるらしい。
上記ページの通り、下記コマンドを実行(一旦インストールしたものを削除する)
$ sudo pip uninstall futures
$ sudo pip uninstall requests
$ sudo pip uninstall simplejson
$ sudo pip uninstall six
$ sudo pip uninstall python-swiftclient
Homebrew経由でpythonをインストール
$ brew install python
再度swiftclientをインストール
$ pip install python-swiftclient
これでうまくいきました。
$ swift --version
swift 2.4.0
めでたしめでたし。
次はConoHaのオブジェクトストレージを操作してみる。

関連記事

ConoHa関連の記事をまとめました。
ConoHa関連まとめ

スポンサーリンク

Related Posts Plugin for WordPress, Blogger...