SourceURL:file:///home/caoyf/桌面/hanxiaoshun/2022-07/ovirt-api+provider-ovn-api接口调用举例.docx
- ovirt接口
- 接口学习教程
- 示例
- 查询ovirt当前网络列表示
import requests
from common import api
# 生成Authorization 的方式是 Basic + base64(admin@internal:123456)
# ca.crt可以通过ovirt登录界面进行证书下载,也可以在ovirt平台执行以下命令获取
# wget \
# --output-document ca.crt \
#'http://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-
# certificate&f#ormat=X509-PEM-CA'
HOST = 'ovirt189.com'
BASE_URL = f"https://{HOST}/ovirt-engine/api"
BASE_URL_NETWORK = f"https://{HOST}/ovirt-engine/api/networks"
BASE_HEADER_JSON = {
"ContentTypeJSON":"application/json",
"Version" : '4',
"Authorization":"Basic YWRtaW5AaW50ZXJuYWw6MTIzNDU2"
}
ret = requests.get(BASE_URL_NETWORK, headers=BASE_HEADER_JSON, verify="ca.crt")
print(ret.)
- Keystone 接口
- 接口教程学习
- 示例:ca.crt的获取方式同上
import requests
from common import api
post_data = {
'auth':{
'tenantName':'admin',
'passwordCredentials':{
'username':'admin@internal',
'password':'xxxxxx'
}
}
}
AUTH_HEADERS = {'Content-type': 'application/json'}
ret = requests.post(
url='https://ovirt189.com:35357/V2.0/tokens',
headers=AUTH_HEADERS,
json=post_data,
verify='ca.crt',
timeout=30
)
print(ret.text)
返回:
{"access": {"token": {"expires": "2022-07-23T15:11:08Z", "id": "qnIxEWCiHowrARApt0ko83euqE5njXeWbJnezoZ8iGtXp4aZjLIhdH05SN1BWOAHQtFSUF0SHzzByawGFDu3ow"}, "serviceCatalog": [{"endpoints_links": [], "endpoints": [{"adminURL": "https://ovirt189.com:9696/", "region": "RegionOne", "id": "00000000000000000000000000000001", "internalURL": "https://ovirt189.com:9696/", "publicURL": "https://ovirt189.com:9696/"}], "type": "network", "name": "neutron"}, {"endpoints_links": [], "endpoints": [{"adminURL": "https://ovirt189.com:35357/", "region": "RegionOne", "publicURL": "https://ovirt189.com:35357/", "internalURL": "https://ovirt189.com:35357/", "id": "00000000000000000000000000000002"}], "type": "identity", "name": "keystone"}, {"endpoints_links": [], "endpoints": [{"adminURL": "https://ovirt189.com:9696/v2.1/", "region": "RegionOne", "publicURL": "https://ovirt189.com:9696/v2.1/", "internalURL": "https://ovirt189.com:9696/v2.1/", "id": "00000000000000000000000000000002"}], "type": "compute", "name": "nova"}], "user": {"username": "admin", "roles_links": [], "id": "", "roles": [{"name": "admin"}], "name": "admin"}}}
- Neutron 接口
- 接口教程学习
- 示例:蓝色部分需要keystone认证返回的数据
import requests
from common import api
AUTH_HEADERS = {
'Content-type': 'application/json',
'Accept': 'application/json',
'X-Auth-Token':'qnIxEWCiHowrARApt0ko83euqE5njXeWbJnezoZ8iGtXp4aZjLIhdH05SN1BWOAHQtFSUF0SHzzByawGFDu3ow'
}
ret = requests.get(
url='https://ovirt189.com:9696/v2.0/networks',
headers=AUTH_HEADERS,
json={},
verify='ca.crt',
timeout=30
)
print(ret.text)