大家好,我是秋意临。
😈 CSDN作者主页
👿 简介
- 👻 普通本科生在读
- 在校期间参与众多计算机相关比赛,如:🌟 “省赛”、“国赛”,斩获多项奖项荣誉证书
- 🔥 各个平台,秋意临 账号创作者
- 🔥 云社区 创建者
欢迎加入云社区
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
前面通过调用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)
计算资源前面通过调用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)
问题描述: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⊙)!!!
下一篇: 古文观止全解全译:书褒城驿壁(孙樵)