最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenStack API的使用套路分享

 更新時間:2023年02月16日 14:03:25   作者:TtrOps  
近期有openstack和vmware相關的開發(fā)需求,N年前從事虛擬化運維的時候玩過了,所以對它倆的API使用套路早忘得一干二凈。這次借這個機會把使用套路做個文檔并分享出來,希望可以幫到有需要的盆友

寫在前面

近期有openstack和vmware相關的開發(fā)需求,N年前從事虛擬化運維的時候玩過了,所以對它倆的API使用套路早忘得一干二凈。這次借這個機會把使用套路做個文檔并分享出來,希望可以幫到有需要的盆友。本篇先分享openstack的API使用套路,后續(xù)再分享vmware api的使用套路。在本篇中,只給出了1個小例子,更多例子可自行去寫代碼,API的使用套路當然是萬變不離其宗。

OpenStack官方API文檔:https://docs.openstack.org/zed/api/

還有最重要的一點,請確保你已經搭建好openstack環(huán)境

獲取token

https://docs.openstack.org/api-quick-start/api-quick-start.html

通過上面的API頁面可得知,認證服務的API是:http://controller:5000/v3/

使用python代碼請求token

import?requests
import?json

USER?=?"admin"
PASSWORD?=?"xxxxxx"
DOMAIN?=?"Default"
PROJECT?=?"admin"

TOKEN_URL?=?"http://10.0.0.10:5000/v3/auth/tokens?nocatalog"

def?getToken():
????reqJson?=?{
????????"auth":{
????????????"identity":{
????????????????"methods":["password"],
????????????????"password":{
????????????????????"user":{
????????????????????????"domain":{"name":DOMAIN},
????????????????????????"name":USER,
????????????????????????"password":PASSWORD
????????????????????}
????????????????}
????????????},
????????????"scope":{
????????????????"project":{
????????????????????"domain":{
????????????????????????"name":DOMAIN
????????????????????},
????????????????????"name":PROJECT
????????????????}
????????????}
????????}
????}
????payload?=?json.dumps(reqJson)
????headers?=?{
????'Content-Type':?'application/json'
????}

????response?=?requests.request("POST",?TOKEN_URL,?headers=headers,?data=payload)

????return?response.headers.get("X-Subject-Token")


if?__name__?==?"__main__":
????token?=?getToken()
????print(token)

獲取到的token如下:

gAAAAABj2cwy_AOflA6gDQiR8fGK0VzLGawXPScsKB-1hIp46JdKCY68Nuz8ZQ8-USTcyY_3cCoJRpIsq8OrcZl8ztMSkUU26VF_dnkBLm4lXAyM3dZF8lHWoqmEHOevfuC0IwqQdQ66FTUF7Nl9sFElFlB39QEuSR1mZSTBrJy6bwycd8a_C5c

小栗子:獲取所有實例詳情

假設有個需求,獲取所有實例的詳情信息。提到虛擬機實例,那肯定就是nova服務,所以要知道nova服務的api。在之前訪問API的頁面中,就是Compute服務。服務端點是http://controller:8774/v2.1

Compute API 官方文檔:https://docs.openstack.org/api-ref/compute/

openstack的api是完全遵循REST風格的api,通過上面的api文檔可得知,請求方法是GET,點開detail,可以看到更詳細的API說明。

下面使用python寫代碼

import?requests
import?json

USER?=?"admin"
PASSWORD?=?"xxxxxxxxx"
DOMAIN?=?"Default"
PROJECT?=?"admin"

TOKEN_URL?=?"http://10.0.0.10:5000/v3/auth/tokens?nocatalog"
SERVER_DETAIL_URL?=?"http://10.0.0.10:8774/v2.1/servers/detail"

def?getToken():
????reqJson?=?{
????????"auth":{
????????????"identity":{
????????????????"methods":["password"],
????????????????"password":{
????????????????????"user":{
????????????????????????"domain":{"name":DOMAIN},
????????????????????????"name":USER,
????????????????????????"password":PASSWORD
????????????????????}
????????????????}
????????????},
????????????"scope":{
????????????????"project":{
????????????????????"domain":{
????????????????????????"name":DOMAIN
????????????????????},
????????????????????"name":PROJECT
????????????????}
????????????}
????????}
????}
????payload?=?json.dumps(reqJson)
????headers?=?{
????'Content-Type':?'application/json'
????}

????response?=?requests.request("POST",?TOKEN_URL,?headers=headers,?data=payload)

????return?response.headers.get("X-Subject-Token")

def?serversDetail(token):
????headers?=?{
????'X-Auth-Token':?token
????}
????response?=?requests.request("GET",?SERVER_DETAIL_URL,?headers=headers)
????serversList?=?response.json().get("servers")
????for?s?in?serversList:
????????status?=?s.get("status")
????????name?=?s.get("name")
????????ip?=?s.get("addresses").get("my-net")[0].get("addr")
????????print(status,?name,?ip)

if?__name__?==?"__main__":
????token?=?getToken()
????serversDetail(token)

結果

(u'SHUTOFF', u'app-2', u'172.18.45.60')
(u'SHUTOFF', u'app-4', u'172.18.45.34')
(u'SHUTOFF', u'app-5', u'172.18.45.71')
(u'SHUTOFF', u'app-3', u'172.18.45.67')
(u'SHUTOFF', u'app-1', u'172.18.45.26')
(u'SHUTOFF', u'web', u'172.18.45.38')

到此這篇關于OpenStack API的使用套路分享的文章就介紹到這了,更多相關OpenStack API內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • OpenStack 創(chuàng)建windows鏡像實現(xiàn)步驟

    OpenStack 創(chuàng)建windows鏡像實現(xiàn)步驟

    這篇文章主要介紹了 OpenStack 創(chuàng)建windows鏡像實現(xiàn)步驟的相關資料,需要的朋友可以參考下
    2016-11-11
  • Openstack 使用migrate進行數(shù)據(jù)庫升級實現(xiàn)方案詳細介紹

    Openstack 使用migrate進行數(shù)據(jù)庫升級實現(xiàn)方案詳細介紹

    這篇文章主要介紹了Openstack 使用migrate進行數(shù)據(jù)庫升級詳細介紹的相關資料,數(shù)據(jù)庫表或者增加字段等是必然的事情,如何比較容易的進行這些數(shù)據(jù)庫升級的適配和管理,這里提供實現(xiàn)方法,需要的朋友可以參考下
    2016-12-12
  • 圖文講解OpenStack手動分布式部署環(huán)境準備(Queens版)

    圖文講解OpenStack手動分布式部署環(huán)境準備(Queens版)

    這篇文章主要介紹了圖文講解OpenStack手動分布式部署環(huán)境準備(Queens版),OpenStack用于部署公有云、私有云,并實現(xiàn)對云項目管理,需要的朋友可以參考下
    2023-03-03
  • Centos7環(huán)境準備openstack pike的安裝

    Centos7環(huán)境準備openstack pike的安裝

    本篇文章主要介紹了Centos7環(huán)境準備openstack pike的安裝,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • OpenStack 組件的更新教程

    OpenStack 組件的更新教程

    這篇文章主要給大家介紹的是OpenStack 組件的更新教程,更新而不是升級,小伙伴們要注意哦,下面我們來詳細探討下吧
    2017-03-03
  • OpenStack簡介與OpenStack核心組件功能

    OpenStack簡介與OpenStack核心組件功能

    這篇文章主要介紹了OpenStack與OpenStack核心組件功能,OpenStack用于部署公有云、私有云,并實現(xiàn)對云項目管理,需要的朋友可以參考下
    2023-03-03
  • Openstack各組件邏輯關系及運行流程解析

    Openstack各組件邏輯關系及運行流程解析

    這篇文章主要為大家介紹了Openstack各組件邏輯關系及運行流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • OpenStack 中的Nova組件詳解

    OpenStack 中的Nova組件詳解

    Nova是OpenStack云中的計算組織控制器。支持OpenStack云中實例(instances)生命周期的所有活動都由Nova處理。本文給大家介紹OpenStack 中的Nova組件,感興趣的朋友一起看看吧
    2016-11-11
  • OpenStack Ceilometer用MongoDB解決占用磁盤空間過大問題

    OpenStack Ceilometer用MongoDB解決占用磁盤空間過大問題

    這篇文章主要介紹了OpenStack Ceilometer用MongoDB解決占用磁盤空間過大問題的相關資料,Ceilometer使用MongoDB作為數(shù)據(jù)庫,不斷進行采樣,導致數(shù)據(jù)量膨脹,占用過多的磁盤空間,這里提供解決辦法,需要的朋友可以參考下
    2016-12-12
  • 淺談openstack中使用linux_bridge實現(xiàn)vxlan網絡

    淺談openstack中使用linux_bridge實現(xiàn)vxlan網絡

    這篇文章主要介紹了淺談openstack中使用linux_bridge實現(xiàn)vxlan網絡,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03

最新評論

同心县| 同心县| 南丰县| 德庆县| 恩施市| 乳山市| 桑植县| 凤冈县| 伊通| 奉化市| 思茅市| 格尔木市| 志丹县| 双江| 天台县| 陇川县| 太谷县| 宿迁市| 昌黎县| 黎平县| 大关县| 河南省| 清新县| 井冈山市| 广汉市| 灵川县| 忻州市| 慈溪市| 泸水县| 连城县| 和田县| 昌宁县| 溧阳市| 钦州市| 班戈县| 安图县| 河西区| 九江县| 垫江县| 乌恰县| 佛冈县|