Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
7
このはモードも健在
(若干大人っぽい?)
8.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
8
このは夏モードに更新
(座敷わらしっぽい?)
9.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
9
一番の肝は自分的には
- OpenStack (Juno) API の公開
(+RESTful with keystone auth [
DB hosting API,
Mail hosting API]
)
になります
10.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
1
APIドキュメントは以下
https://www.conoha.jp/docs/
になります
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
1
JSON request bodyの拡張
>> 通常の python-novaclientは対応していない
>> novaclientなどpython clientを拡張する機能により
JSON attributeをrequest bodyに追加する
15.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
1
novaclient機能拡張について学習
>> pypi (python package index)にて検索
>> https://pypi.python.org/
>> >> novaclientだけ検索しても、結構出てくる
16.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
1
Nova boot JSON request bodyの拡張
>> 検索結果、以下を見つけた
nova boot時にDiskConfigというattributeを設定可
能にするextだった (rackspace作成、disk partition
を設定したりする)
https://pypi.python.org/pypi/os_diskconfig_p
ython_novaclient_ext/0.1.2
>> これを元にして、改造、作成する
>> ここが、サブタイトルの所以であるww
17.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
1
以下、githubにupしたextensionを
みていきましょう
https://github.com/naototty/
conoha_boot_adminpass_python_novaclie
nt_ext
18.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
1
https://github.com/naototty/
conoha_boot_adminpass_python_novaclient_ext
19.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
1
https://github.com/naototty/
conoha_boot_adminpass_python_novaclient_ext
setup.py
以下、pipとかでセットアップ用:
novaclient が 拡張機能なので、require
20.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
https://github.com/naototty/
conoha_boot_adminpass_python_novaclient_ext
*-egg-info/requires.txt
以下、pipとかでセットアップ用: egg dir
novaclient が 拡張機能なので、require
Pythonのlibrary loaderが見ます
21.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
https://github.com/naototty/
conoha_boot_adminpass_python_novaclient_ext
os_adminpass_python_novaclient_ext /
本体のプログラムは今回はこれだけ: __init__.py
ライブラリdirに1ファイルだけ !!
22.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
https://github.com/naototty/
conoha_boot_adminpass_python_novaclient_ext
os_adminpass_python_novaclient_ext / __init__.py
githubを直接みます
https://github.com/naototty/conoha_boot_adminpass_pyth
on_novaclient_ext/blob/master/os_adminpass_python_nov
aclient_ext/__init__.py
23.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
では、Demo
- extなしの場合、nova bootではパスワードが指定でき
ない
>> ConoHaでは、auto generate passwordがclou
d-initで設定される
(response JSONでnova boot時に取得)
- extインストール(github)
- extありの場合、 --admin-password <pw> と指定
できる
24.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
インストール前はnovaclientのみ入ってます
pip freezeコマンドで確認
(ここでは、Mac OS X環境)
インストール前後のnova client CLIの動作の違いDEMO
25.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
ソースのdir確認:
インストール前後のnova client CLIの動作の違いDEMO
Pythonのライブラリパッケージ関係のファイルがほとんど
26.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
ライブラリのdir 中身確認:
インストール前後のnova client CLIの動作の違いDEMO
Pythonのライブラリの中に
__init__.py
ファイルが1個だけ
27.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
インストール: sudo python setup install
インストール前後のnova client CLIの動作の違いDEMO
28.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
インストール (2): sudo python setup install
インストール前後のnova client CLIの動作の違いDEMO
os-adminpass-python-novaclient-ext
という名前でインストールされました
29.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
2
インストール後にnovaclient-extも入っていることを確認
pip freezeコマンドで確認
(Mac OS X環境)
インストール前後のnova client CLIの動作の違いDEMO
30.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
3
インストール後、コマンドオプションが増えています
インストール前後のnova client CLIの動作の違いDEMO
1行目に機能拡張によって、オプションが増えました
31.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
解りづらい _ ;
ですが、これでnovaclientでも、
web panelと同様に、
root passwordを指定できるよ
うになります
(cloudinitで自動設定されます)
32.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
このようにして、
Python の novaclient に
機能拡張して、
コマンドを追加したり、
オプションを
追加したりできます
33.
Copyright (c) 2014GMO Internet, Inc. All Rights Reserved.
明日はConoHaブース 4Fにあります
弊社エバ、ひろのぶさんの講座が
1号館4F
AV会議室 15:15 ‒ 16:00
「新しくなったクラウドプラットフォーム
ConoHaを使ってみよう」
にあります。よろしくお願いします