• ovirt:api接口+keystone接口+neutron接口示例


    SourceURL:file:///home/caoyf/桌面/hanxiaoshun/2022-07/ovirt-api+provider-ovn-api接口调用举例.docx

    1. ovirt接口
      1. 接口学习教程
      2. 示例
        • 查询ovirt当前网络列表示

    1. import requests
    2. from common import api
    3. # 生成Authorization 的方式是    Basic  + base64(admin@internal:123456)
    4. # ca.crt可以通过ovirt登录界面进行证书下载,也可以在ovirt平台执行以下命令获取
    5. # wget \
    6. # --output-document ca.crt \
    7. #'http://myengine.example.com/ovirt-engine/services/pki-resource?resource=ca-
    8. # certificate&f#ormat=X509-PEM-CA'
    9. HOST = 'ovirt189.com'
    10. BASE_URL = f"https://{HOST}/ovirt-engine/api"
    11. BASE_URL_NETWORK = f"https://{HOST}/ovirt-engine/api/networks"
    12. BASE_HEADER_JSON = {
    13.     "ContentTypeJSON":"application/json",
    14.     "Version" : '4',
    15.     "Authorization":"Basic YWRtaW5AaW50ZXJuYWw6MTIzNDU2"
    16. }
    17. ret = requests.get(BASE_URL_NETWORK, headers=BASE_HEADER_JSON, verify="ca.crt")
    18. print(ret.)
    1. Keystone 接口
      1. 接口教程学习
      2. 示例:ca.crt的获取方式同上
    1. import requests
    2. from common import api
    3. post_data = {
    4.     'auth':{
    5.         'tenantName':'admin',
    6.         'passwordCredentials':{
    7.             'username':'admin@internal',
    8.             'password':'xxxxxx'
    9.         }
    10.     }
    11. }
    12. AUTH_HEADERS = {'Content-type': 'application/json'}
    13. ret = requests.post(
    14.     url='https://ovirt189.com:35357/V2.0/tokens',
    15.     headers=AUTH_HEADERS,
    16.     json=post_data,
    17.     verify='ca.crt',
    18.     timeout=30
    19.     )
    20. 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"}}}

    1. Neutron 接口
      1. 接口教程学习
      2. 示例:蓝色部分需要keystone认证返回的数据
    1. import requests
    2. from common import api
    3. AUTH_HEADERS = {
    4.     'Content-type': 'application/json',
    5.     'Accept': 'application/json',
    6. 'X-Auth-Token':'qnIxEWCiHowrARApt0ko83euqE5njXeWbJnezoZ8iGtXp4aZjLIhdH05SN1BWOAHQtFSUF0SHzzByawGFDu3ow'
    7.     }
    8. ret = requests.get(
    9.     url='https://ovirt189.com:9696/v2.0/networks',
    10.     headers=AUTH_HEADERS,
    11.     json={},
    12.     verify='ca.crt',
    13.     timeout=30
    14.     )
    15. print(ret.text)

  • 相关阅读:
    『递归』整数划分
    提高篇(七):Processing与物联网的结合:如何创建智能互动艺术装置
    自动驾驶项目 ASLAN
    事件委托代理
    华为HCIE技术(HCIP、HCIE)汇总
    顺丰、菜鸟“较劲”末端物流
    【Shell编程】字符截取命令cut、printf命令
    禁止linux shell 终端显示完整工作路径,如何让linux bash终端不显示当前工作路径
    使用jieba测试分词并且增加自定义字典
    MySQL 主要线程
  • 原文地址:https://blog.csdn.net/shunzi2016/article/details/125886459