Quantcast
Channel: 日々の覚書
Viewing all articles
Browse latest Browse all 581

MySQL Fabricつらい(AWS連携を試したかったけど挫折した編)

$
0
0
MySQL Utilities 1.5.3からMySQL FabricからAWSが叩けるよ! という噂があったので、1週間半くらいがんばっていたメモ。結論先に言うと、1.5.3では使えない気がする。
http://dev.mysql.com/doc/relnotes/mysql-utilities/en/wb-utils-news-1-5-3.html

この記事は2014/11/18現在の情報を元に書かれているので、「ちゃんと情報書いてあるんじゃん」という未来が来るかも知れません。というか来てくれないと困る。ドキュメントちゃんと書いてくれマジで。

まず、"MySQL Fabric AWS"や"MySQL Fabric EC2"でググっても何も出てこない。これがFabricクオリティ。
かろうじてOracle Open World 2014の "Elastic Scalability in MySQL Fabric with OpenStack"の資料に(教えてもらって)辿り着くものの、

Experiments with Amazon AWS
mysqlfabric provider register my_amazon
   AKIAIOSFODNN7EXAMPLE wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   eu­west­1 ­­provider_type=AMAZON
mysqlfabric machine create my_amazon
   ­­image image­id=ami­892fe1fe
   ­­flavor name=t2.micro

Note!
Not in MySQL Fabric 1.5
Will be on MySQL Lab
ノートの部分がリリースノートと矛盾しててなんかどうなのかって感じがするけれど、providerサブコマンドを使うらしい。

$ mysqlfabric help provider

Commands available in group 'provider' are:
provider unregister provider_id [--synchronous]
provider register provider_id username password url [--tenant=NONE] [--provider_type=OPENSTACK] [--default_image=NONE] [--default_flavor=NONE] [--extra=NONE] [--synchronous]
provider list [--provider_id=NONE]


うん、構文だけ教えてもらっても、肝心な「何を指定すればいいのか」が全くわからない。
そんな時はマニュアル嫁ですよねわかりますん。

http://dev.mysql.com/doc/mysql-utilities/1.5/en/fabric-util.html

(  д ) ゚  ゚ 載ってねええええええ! そもそもproviderコマンドが載ってねええええええ!

さすがのFabricクオリティなので手探りでproviderコマンドを叩いてみる。

$ mysqlfabric provider list
Password for admin:
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1

provider_id type username url tenant default_image default_flavor extra
----------- ---- -------- --- ------ ------------- -------------- -----


$ mysqlfabric provider register my_amazon AKIAIOSFODNN7EXAMPLE wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY eu-west-1 --provider_type=AMAZON
Password for admin:
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1

ProviderError: Provider type (AMAZON) is not supported yet.




あ、ああ、うん、まだサポートされてないのね。うん。さすがFabricクオリティ。リリースノートなんて知ったこっちゃねぇぜ。

( ゚д゚) えっ

しかし更に待ち構える驚きのFabricクオリティ。
じゃあOPENSTACK(暗黙のデフォルト)ならサポートしてるのかっていうと

$ mysqlfabric provider register my_provider provider_user_name provider_passsword provider_url
Password for admin:
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1

ProviderError: Provider type (OPENSTACK) is not supported yet.



ちょwwwwwおまwwwwwデフォルトくらいサポートしろwwwww

なお、同じスライドの別のコマンドをコピペすると

$ mysqlfabric provider register my_stack mats xyzzy http://example.net:5000/v2.0/ my_project --provider_type=OPENSTACK
Password for admin:
Usage: provider register provider_id username password url [--tenant=NONE] [--provider_type=OPENSTACK] [--default_image=NONE] [--default_flavor=NONE] [--extra=NONE] [--synchronous]

mysqlfabric: error: Wrong number of parameters were provided for command 'provider register'.

ちょwwwww引数の数がおかしいってwwwww
まあほらこのスライド、Oracle Open World 2014のセッションのやつですからねー。。アテになんなくても仕方ないかしらFabricクオリティだし。

( ゚д゚) えっ

取り敢えず db tech showcase 2014 東京 に来ていた 日本一MySQL Fabricに詳しそうな人を捕まえてみたところ、開発チームに問い合わせてくれました。

返ってきた返答は
You need to install the OpenStack libraries;
- python-novaclient for Compute node
- python-neutronclient for Network node
だそうで、


$ sudo pip install python-novaclient python-neutronclient
$ mysqlfabric manage stop
$ mysqlfabric manage start --daemonize

$ mysqlfabric provider register my_provider provider_user_name provider_passsword provider_url
Password for admin:
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1

uuid finished success result
------------------------------------ -------- ------- ------
dae961a0-4ec2-4e40-b554-88cb284a5a02 1 1 1

state success when description
----- ------- ------------- -------------------------------------------------------------
3 2 1.41628e+09 Triggered by <mysql.fabric.events.Event object at 0x260ebd0>.
4 2 1.41628e+09 Executing action (_register_provider).
5 2 1.41628e+09 Executed action (_register_provider).


$ mysqlfabric provider list
Password for admin:
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1

provider_id type username url tenant default_image default_flavor extra
----------- --------- ------------------ ------------ ------ ------------- -------------- -----
my_provider OPENSTACK provider_user_name provider_url None None None None




取り敢えず、not supported yetだけは回避できた模様。

:(;゙゚'ω゚'): なんかドキュメント書けよ。。せめてエラーに出せよ。。

ここまでで1週間半。

しかしなんかどうも、

$ ll /usr/lib/python2.6/site-packages/mysql/fabric/providers
total 96
-rw-r--r-- 1 root root 10088 Oct 21 20:13 __init__.py
-rw-r--r-- 2 root root 12202 Oct 22 01:32 __init__.pyc
-rw-r--r-- 2 root root 12202 Oct 22 01:32 __init__.pyo
-rw-r--r-- 1 root root 2951 Oct 21 20:13 null.py
-rw-r--r-- 2 root root 3873 Oct 22 01:32 null.pyc
-rw-r--r-- 2 root root 3873 Oct 22 01:32 null.pyo
-rw-r--r-- 1 root root 14317 Oct 21 20:13 openstack.py
-rw-r--r-- 2 root root 13481 Oct 22 01:32 openstack.pyc
-rw-r--r-- 2 root root 13481 Oct 22 01:32 openstack.pyo


ここを見てる限り、OpenStack以外はまだ実装されてないんじゃないかなぁって気がする。。また今度。

Viewing all articles
Browse latest Browse all 581

Trending Articles