Openstack API 開發 快速入門
2013-02-01 12:06 by 梁小白, 2516 閱讀, 0 評論, 收藏, 編輯Openstack 做爲流行的開源雲計算平臺,其最大特性是利用其提供的基礎設施API,讓我們可以以軟件的方式來動態管理IAAS資源。Openstack 提供的api是流行的Rest API.
物理服務器地址: 192.168.1.1
管理員用戶名:admin
管理員密碼:password
管理員租戶ID:3942bfc544a24f748788c06dbc486ffa
curl -k -X 'POST' -v http://192.168.1.1:5000/v2.0/tokens -d '{"auth":{"passwordCredentials":{"username": "admin", "password":"password"}, "tenantId":"3942bfc544a24f748788c06dbc486ffa"}}' -H 'Content-type: application/json'
返回一串的json字符串:
需要的是前面幾行:
{"access": {"token": {"expires": "2013-01-23T02:22:40Z", "id": "dba0a6722b86483e83b07e5556bafb02"...
其中的ID一項,即爲我們以後認證需要的token,記下來:
{ "auth":{ "passwordCredentials":{ "username":"admin", "password":"password" }, "tenantId":"3942bfc544a24f748788c06dbc486ffa" } }
缺少了tenantId選項依然可以獲得token ,然而這樣的token只能在keystone組件中使用,當使用此token去nova 或者image組件認證時,會失敗(401錯誤)
curl -v -H "X-Auth-Token:dba0a6722b86483e83b07e5556bafb02" http://192.168.1.1:8774/v2/3942bfc544a24f748788c06dbc486ffa/servers
curl畢竟是命令行,比較麻煩,大家可以使用rest客戶端去操作。這裏推存一個JAVA的:
{ "server":{ "flavorRef":"100", "imageRef":"03419abb-c27f-4dde-bc74-b8387d1ccb30", "metadata":{ "My Server Name":"Apache1" }, "name":"new-server-test", "personality":[ { "contents":"", "path":"/etc/banner.txt" } ] } }
{ "server":{ "adminPass":"MVk5HPrazHcG", "id":"5bbcc3c4-1da2-4437-a48a-66f15b1b13f9", "links":[ { "href":"http://openstack.example.com/v2/openstack/servers/5bbcc3c4-1da2-4437-a48a-66f15b1b13f9", "rel":"self" }, { "href":"http://openstack.example.com/openstack/servers/5bbcc3c4-1da2-4437-a48a-66f15b1b13f9", "rel":"bookmark" } ] } }