Freezer-クラウドドライブのバックアップ
ここでfreezerバックアップクラウドハードディスクは実際にcinder-backupを呼び出して実現される.
ここではfreezer依存のいくつかの基本ライブラリも紹介します
freezer apiの下位層のrestful apiフレームワークはfalconに基づいて実現される.falconの概要:https://falconframework.org/
freezer scheduler APSchedulerに基づくタイミングバックアップ機能
具体的な実現は以下の通りである.https://github.com/yaoice/freezer-api/commit/4c3d371c28bc4635049bef4c037b7d1d36e9c532
curlを使用してapiをテストする(freezer apiはkeystone v 2を使用する)
リファレンスリンク
http://blog.scottlowe.org/2014/02/19/using-curl-to-interact-with-a-restful-api/
http://www.tuicool.com/articles/2miY3eN(curl共通パラメータ)
ここではfreezer依存のいくつかの基本ライブラリも紹介します
freezer apiの下位層のrestful apiフレームワークはfalconに基づいて実現される.falconの概要:https://falconframework.org/
freezer scheduler APSchedulerに基づくタイミングバックアップ機能
具体的な実現は以下の通りである.https://github.com/yaoice/freezer-api/commit/4c3d371c28bc4635049bef4c037b7d1d36e9c532
curlを使用してapiをテストする(freezer apiはkeystone v 2を使用する)
# keystone v2 token
curl -s -d '{"auth":{"passwordCredentials":{"username": "admin",
"password": "cloud"},"tenantName": "demo"}}' -H "Content-Type: application/json" http://192.168.141.6:5000/v2.0/tokens | python -m json.tool
# keystone v3 token
curl -i -H "Content-Type: application/json" -d '
{ "auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "admin",
"domain": { "id": "default" },
"password": "cloud"
}
}
}
}
}' http://localhost:5000/v3/auth/tokens ; echo
# cinder backups,
curl -s -H "X-Auth-Token: fced5d5ae9e84009b3dca7972d7c5131"\
-X GET\
-H "Content-type: application/json"\
http://192.168.141.6:8776/v2/b232965aeb9c4b3a883ce41b16394e3f/backups | python -m json.tool
# freezer backup list
curl -s -H "X-Auth-Token: fced5d5ae9e84009b3dca7972d7c5131"
-X GET
-H "Content-type: application/json"
http://192.168.141.6:9090/v1/cinderbackups | python -m json.tool
# freezer backup
curl -s -H "X-Auth-Token: fd60f3b93b2841e893269b887572c26d"
-X POST
-H "Content-type: application/json"
-d '{"volume_id": "438de34e-ef9e-4f4f-b047-600ab6229cc0"}'
http://192.168.141.6:9090/v1/cinderbackups
# freezer backup
curl -s -H "X-Auth-Token: 76744b82dd8c49c490eb7c0ca5f33824"
-X DELETE
-H "Content-type: application/json"
http://192.168.141.6:9090/v1/cinderbackups/1ffe9901-43de-490e-b675-0bb92e50c4f4
# freezer , volume
curl -s -H "X-Auth-Token: 232685c229fd48d4b24629f7748bceda"
-X POST
-H "Content-type: application/json"
http://192.168.141.6:9090/v1/cinderrestores/ed3e05bd-c892-441c-b9c6-226bbb030794
# freezer volume
curl -s -H "X-Auth-Token: 232685c229fd48d4b2a629f7748bceda"
-X POST
-H "Content-type: application/json"
-d '{"volume_id": "496a7db9-3197-4658-9cc6-ef496f2b0cd1"}'
http://192.168.141.6:9090/v1/cinderrestores/da1b7290-5e56-43ff-b95f-a1c511b305d2
リファレンスリンク
http://blog.scottlowe.org/2014/02/19/using-curl-to-interact-with-a-restful-api/
http://www.tuicool.com/articles/2miY3eN(curl共通パラメータ)