如之前討論,openstack提供一套介面給運維管理平臺,運維管理平臺通過獲取到的IP地址對主機進行監控。
介面名 | 請求地址 | 請求方法 | 請求cookie | 請求頭 | 返回值 | 返回值使用 |
登入介面 | osbc.timanetworks.com/ | POST | username='admin'&password='veM]HQ~P' | response.body={"code": 200,'tenant_name':tenant_name},cookie:token_idresponse.body={"code": 200,'tenant_name':tenant_name},cookie:token_id | response.body裡的code可以判定請求是否成功,cookie預設是1天過期,這裡的token_id是作為後面所有請求的一種憑證。 | |
伺服器列表介面 | osbc.timanetworks.com/api | POST | 需要登入介面cookie token_id | type='instance_list' | 返回值是一個json字串,解析可獲取幾乎主機所有詳情。 |
提供ajax請求程式碼作為參考:
- 登入介面:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$.ajax({ url: "" , type: "POST" , data: "username=" +username+ "&password=" +password, cache: false , success: function (data){ var t = eval(data); if (t.code === 200){ window.location.href = "/main" ; var tenant_name = data.tenant_name; $.cookie( "tenant_name" , tenant_name, {expires:1}); } else if (t.code === 401 ){ $( "#error" ).html( '<p style="margin-left:170px;color:red;">使用者沒有許可權登陸或者賬號密碼錯誤,錯誤號' + t.code + '</p>' ); } else { $( "#error" ).html( '<p style="margin-left:170px;color:red;">系統錯誤,請聯絡管理員。錯誤號' + t.code + '</p>' ); } } }) |
- 伺服器列表介面:
1
2
3
4
5
6
7
8
9
|
$.ajax({ async: true , url: "/api" , type: "POST" , data: "type=instance_list" , success: function (t){ var server_name = t.servers[0].name; } }) |
如在開發中有任何問題,請及時聯絡。