用于构建与openstack一起工作的应用程序的sdk

openstacksdk的Python项目详细描述


openstacksdk

openstacksdk是一个客户端库,用于构建要工作的应用程序 用OpenStack云。该项目旨在提供 与OpenStack的许多服务以及 完整的文档、示例和工具。

它还包含一个抽象接口层。云可以做很多事情,但是 其中大概只有10个是大多数人关心的 规律性。如果你想做复杂的事情,每个面向服务的 sdk的一部分是为您准备的。但是,如果你想要的是 编写一个应用程序,它可以与云进行对话,无论您的选择多么疯狂 部署人员试图成为比他们自己更有资格的时尚人士 自恋的同龄人,那么云抽象层就是给你的。

有关其历史的更多信息,请访问 https://docs.openstack.org/openstacksdk/latest/contributor/history.html

打开堆栈

使用配置有clouds.yaml文件的对象列出服务器:

importopenstack# Initialize and turn on debug loggingopenstack.enable_logging(debug=True)# Initialize cloudconn=openstack.connect(cloud='mordred')forserverinconn.compute.servers():print(server.to_dict())

云层

openstacksdk包含基于逻辑操作的高级层。

importopenstack# Initialize and turn on debug loggingopenstack.enable_logging(debug=True)forserverinconn.list_servers():print(server.to_dict())

其好处主要体现在更复杂的操作中 步骤和步骤因提供者而异:

importopenstack# Initialize and turn on debug loggingopenstack.enable_logging(debug=True)# Initialize connection# Cloud configs are read with openstack.configconn=openstack.connect(cloud='mordred')# Upload an image to the cloudimage=conn.create_image('ubuntu-trusty',filename='ubuntu-trusty.qcow2',wait=True)# Find a flavor with at least 512M of RAMflavor=conn.get_flavor_by_ram(512)# Boot a server, wait for it to boot, and then do whatever is needed# to get a public ip for it.conn.create_server('my-server',image=image,flavor=flavor,wait=True,auto_ip=True)

openstack.config

openstack.config将为1个云和 你想放多少就放多少。它将读取环境变量 和配置文件,它还包含一些特定于供应商的默认值,因此 使用openstack不需要知道额外的信息

  • 如果您有一个配置文件,您将获得其中列出的云
  • 如果您有环境变量,您将得到一个名为envvars的云
  • 如果两者都没有,则会得到一个名为defaults的云,其基本默认值为

有时候一个例子很好。

创建clouds.yaml文件:

clouds:mordred:region_name:Dallasauth:username:'mordred'password:XXXXXXXproject_name:'shade'auth_url:'https://identity.example.com'

请注意:openstack.config将查找名为^{tt1}的文件$ 在以下位置:

  • 当前目录
  • ~/.config/openstack
  • /etc/openstack

更多信息请访问https://docs.openstack.org/openstacksdk/latest/user/config/configuration.html

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java通知错误标志\u活动\u新建\u任务   java为什么该程序返回IOExection?   Android Studio中的java重定向页面   java我有一个Dept类型的arraylist,现在我想在HashMap中使用这个数据,其中包含arraylist的所有值。我该怎么做?   java检查无线电组为空/空   java Spring:EntityManager和Spring存储库是否在同一个上下文中工作?   swing直接从java向打印机发送命令   Java中抽象类和接口实例化的性能   java使用带有不同令牌的JAVACC创建文件路径   java如何从hashmap返回对象   在场景生成器(JavaFx)中切换场景时发生java错误   java我不明白consume()做什么   设计模式Java NIO缓冲区类的主要用途是什么?   Java 1.7不支持rest密码套件   java如何有效地删除ArrayList元素?