最近はすっかり秋めいてきました。
暑い中の楽しいビールが味わえなくなってくるのはさみしいものです。
さて前回はOpenStackへ接続を行うための初期スクリプトを作成しました。
スクリプトの中にパスワードを直書きにしてしまっていますが、
テスト環境ということで先に進み後ほど直そうかと思います。
今回は作成したスクリプトを実行してみます。
pythonのファイルを実行するには以下のようにすれば実行可能です。
$ python 実行ファイル名.py
スクリプトファイルの文頭に「#!/usr/bin/python」や「#!/usr/bin/env python」
のように書かれている場合はファイルのパーミッションに実行権限を加えることで
スクリプトを直接実行可能です。
$ chmod 550 実行ファイル名.py
$ ./実行ファイル名.py
特に何もエラーが出なければモジュールのインポートは問題なくされていますので
次に進みます。
エラーが出た場合はエラー行数やエラー文字を確認して誤りを修正して下さい。
以下のスクリプトはOpenStackの登録されているユーザのリストの一覧を得るスクリプトです。
open_conn_admin.pyを呼び出すため同じディレクトリに置いてください。
$ cat keystone_userlist.py
#!/usr/bin/python
from open_conn_admin import keystone
for user in keystone.users.list():
print "-----------"
print(user.name)
print(user.id)
print(user.email)
このスクリプトは管理者であるopen_conn_admin.pyからkeystoneのオブジェクトを
インポートしています。
keystoneのオブジェクトからユーザのリストを取得し、一人づつ情報を出力してます。
ユーザの一覧を取得するには一般(demo)ユーザでは権限がなく失敗するようで管理者のスクリプトを使います。
keystoneとは簡単に言うとユーザのアカウント情報や各サービスのエンドポイント(URL)の情報を持っており、各サービスに情報を提供しています。
コマンドを実行すると以下のような結果が得られればkeystoneの部分に関しては問題無いと言えます。
$ ./keystone_userlist.py
-----------
tester
117537ab3cec4d9494a11e8112dfc1f5
None
-----------
cinder
3c55f0a46e00455e924852d8d5d9c552
cinder@localhost
-----------
swift
54dffaddbc464a9098c1640ba7f2fe75
swift@localhost
-----------
nova
62cceb6f7f444a1597777777cf34b590
nova@localhost
-----------
dummy
7512066e0bad4ab58dc154a714eae4cf
dammy@example.org
-----------
admin
9194cbebe1ff4eb9b6acadc39d9e2b7f
test@test.com
-----------
ceilometer
b660191798424c8c963654aa7bd22377
ceilometer@localhost
-----------
demo
b69e41f4d94f4b3d9a1c14859fe3d20f
None
-----------
glance
df0d05c0c86145a8a0d40b181b9ce648
glance@localhost
-----------
neutron
f96cb2e94eea42808b29c08c956c06ca
neutron@localhost
今回はKeystoneの動作確認となります。
【OpenStack】 Python SDK コーディング #2
ラベル:
OpenStack,
Python SDK
- 2014年9月21日日曜日



