【API】python调用OpenStack-Api
创始人
2025-05-28 23:14:28
0

文章目录

  • 👹 关于作者
    • Python调用OpenStack API案例
      • python-SDK调用openstack
        • 参考资料
        • 1. 用户认证
        • 2. 计算资源案例
      • 报错
        • 问题1
  • ✊ 最后

在这里插入图片描述

👹 关于作者


大家好,我是秋意临。

😈 CSDN作者主页

  • 😎 博客主页

👿 简介

  • 👻 普通本科生在读
  • 在校期间参与众多计算机相关比赛,如:🌟 “省赛”、“国赛”,斩获多项奖项荣誉证书
  • 🔥 各个平台,秋意临 账号创作者
  • 🔥 云社区 创建者
点赞、收藏+关注下次不迷路!。

欢迎加入云社区


Python调用OpenStack API案例

python-SDK调用openstack

参考资料

openstack官网:https://docs.openstack.org/openstacksdk/latest/user/index.html

​ https://docs.openstack.org/openstacksdk/latest/contributor/history.html

github源码:https://github.com/yjcadmin/openstacksdk

下载离线whl包:PyPI · The Python Package Index

1. 用户认证

前面通过调用Restful APIs封装用户、主机、镜像等管理类,由于调用SDK非常简单,这里采用一个模块sdk_manager来统一实现。 (1)认证方式:采用账户名密码方式,通过openstack. connect()建立连接。 (2)用户管理:通过openstack. connect.identity模块实现。 新建sdk_manager_identity.py,用户查询与项目项目代码如下:

import openstack,jsondef list_users(conn):print("List Users:")for users in conn.identity.users():if "admin" == users['name']:print(users)def list_project(conn):print("List Projects:")for projects in conn.identity.projects():print(projects)def list_domain(conn):print("List Domain:")for domains in conn.identity.domains():print(domains)auth_url = "http://10.43.8.44:5000/v3/"
username = "admin"
password = "000000"
user_domain_name = 'demo'
# 连接keystone
conn = openstack.connect(auth_url=auth_url,user_domain_name=user_domain_name,username=username,password=password,)list_users(conn)
list_project(conn)
list_domain(conn)

2. 计算资源案例

计算资源前面通过调用Restful APIs封装主机、镜像等管理类,在模块增加主机、镜像、主机类型、网络的管理实现。 (1)主机管理:通过openstack. connect.compute模块实现。 (2)镜像、主机类型、网络:也通过openstack. connect.compute模块实现。另外openstack.connect.image、openstack.connect.network也实现镜像与网络操作。 在sdk_manager_compute.py下增加如下代码:

注意使用SDK调用时需要在win10下添加controller hosts映射(除keystone外)

import openstack,jsonclass compute:def __init__(self,connect):self.conn=connect# 查看所有镜像def list_images(self):print("List Images:")for image in conn.compute.images():print(image)print('over')# 查看所有云主机def list_server(self):print("List Servers:")for servers in conn.compute.servers():print(servers)#查看所有网络def list_network(self):print("List Networks:")for networks in conn.network.networks():print(networks)# 创建云主机def create_server(self,server_name,image_name,flavor_name,network_name):print("Create Server:")image = conn.compute.find_image(image_name)flavor = conn.compute.find_flavor(flavor_name)network = conn.network.find_network(network_name)server = conn.compute.create_server(name=server_name, image_id=image.id, flavor_id=flavor.id,networks = [{"uuid":network.id}])# 等待服务器# result = conn.compute.wait_for_server(server)return serverauth_url = "http://10.43.8.44:5000/v3"
username = "admin"
password = "000000"
user_domain_name = 'demo'
conn = openstack.connect(auth_url=auth_url,user_domain_name=user_domain_name,username=username,password=password,)
sdk_compute = compute(conn)
# print(sdk_compute.list_images())
# print(sdk_compute.list_server())
# print(sdk_compute.list_network())servers = sdk_compute.create_server("test_song02","centos7-2009","m1.medium","ext-net")
print("servers:", servers)

报错

问题1

问题描述:pycharm软件 pip安装包后,import导入包显示 No module named

解决方法:解决pycharm显示模块没有安装的问题(No module named …)

步骤:点击pycharm左上角 File–>Settings–>Project: pythonProject–>Python lnterpreter–> +号

下列页面是当前python解释器所安装的package包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8WVsC35S-1655626971587)(E:\笔记\Typora\图片\image-20220612114324166.png)]

✊ 最后


👏 我是秋意临,欢迎大家一键三连、加入云社区

👋 我们下期再见(⊙o⊙)!!!


相关内容

热门资讯

五四青年晚会活动方案 五四青年晚会活动方案(精选14篇)  为了确保活动有效开展,我们需要事先制定活动方案,活动方案指的是...
运动会开幕式入场方案 运动会开幕式入场方案  什么是工作方案?  工作方案是对未来要做的重要工作做了最佳安排,并具有较强的...
三八女神节活动策划方案 三八女神节活动策划方案(精选14篇)  为了确保活动能无误进行,通常需要预先制定一份完整的活动方案,...
饭店酒水促销活动方案 饭店酒水促销活动方案  为了确保活动能有条不紊地开展,预先制定活动方案是必不可少的,活动方案是活动的...
新年跨年活动方案   一、活动介绍  (一)活动流程介绍  (二)晚会特色  1.晚会幕布:  2.晚会入场:  3....
开放日活动方案 开放日活动方案(精选18篇)  为确保活动高质量高水平开展,预先制定活动方案是必不可少的,活动方案的...
教师读书活动方案 教师读书活动方案(通用17篇)  为确保事情或工作顺利开展,就常常需要事先准备方案,方案指的是为某一...
酒店圣诞节活动方案 酒店圣诞节活动方案7篇  为了确保工作或事情能有条不紊地开展,通常需要提前准备好一份方案,方案是为某...
五一劳动主题活动方案 五一劳动主题活动方案(精选19篇)  为了确保工作或事情能有条不紊地开展,我们需要事先制定方案,方案...
送教下乡活动方案 送教下乡活动方案  为了确保事情或工作能无误进行,常常需要提前准备一份具体、详细、针对性强的方案,方...
新时代文明实践活动实施方案 新时代文明实践活动实施方案(精选7篇)  为了确保活动顺利进行,常常需要提前进行细致的活动方案准备工...
营销活动方案 营销活动方案模板(精选17篇)  为保证事情或工作高起点、高质量、高水平开展,常常需要提前进行细致的...
幼儿园开学活动方案 幼儿园开学活动方案(精选20篇)  为了确保事情或工作有序有效开展,往往需要预先制定好方案,方案是书...
庆祝元旦活动方案 庆祝元旦活动方案(15篇)  为了确保事情或工作有序有力开展,我们需要事先制定方案,方案一般包括指导...
森林防火宣传活动方案 森林防火宣传活动方案  森林防火就是防止森林火灾的发生和蔓延,即对森林火灾进行预防和补救。预防森林火...
教学活动方案 教学活动方案精选15篇  为确保事情或工作高质量高水平开展,往往需要预先制定好方案,方案是在案前得出...
安全生产月主题活动方案 2021年安全生产月主题活动方案  为了确保活动能有条不紊地开展,常常要根据具体情况预先制定活动方案...
个人能力的提升计划 个人能力的提升计划(精选13篇)  时间流逝得如此之快,成绩已属于过去,新一轮的工作即将来临,此时此...
读书会主题活动方案 读书会主题活动方案(通用12篇)  为了保障活动顺利、圆满进行,就不得不需要事先制定活动方案,活动方...
大学母亲节活动方案 大学母亲节活动方案  为了确保事情或工作有序有效开展,我们需要提前开始方案制定工作,方案一般包括指导...