与openstack云交互的简单客户端库

shade的Python项目详细描述


简介

警告

阴影已被openstacksdk取代,不再采用新的 特征。现有的代码将继续无限期地保持。 必要时进行错误修复,但改进将推迟到 openstacksdk。请更新应用程序以使用openstacksdk 直接。

shade是一个与openstack云交互的简单客户端库。这个 这里的关键词是simple。云可以做很多事情,但是 可能只有10个是大多数人关心的 规律性。如果你想做复杂的事情,你应该用 较低级别的客户端库—甚至直接使用rest api。然而, 如果您想要的是能够编写一个与云对话的应用程序 不管部署人员做了什么疯狂的选择 比他们自命不凡的同龄人更时髦,那么阴凉是适合你的。

Shade的生命起源于Ansible内部的一些代码。Ansible有很多 在不同的openstack相关模块中 代码。最终,在将复制重构为内部 库,并添加openstack infra团队拥有的逻辑和特性 为了大规模地运行客户机应用程序,我们编写了 十分之九我们需要一个独立的图书馆。

示例

有时候一个例子很好。

  1. 创建clouds.yml文件:

    clouds:
     mordred:
       region_name: RegionOne
       auth:
         username: 'mordred'
         password: XXXXXXX
         project_name: 'shade'
         auth_url: 'https://montytaylor-sjc.openstack.blueboxgrid.com:5001/v2.0'
    

    请注意:os client config将查找名为^{tt2}的文件$ 在以下位置:

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

    更多信息请访问https://pypi.org/project/os-client-config

  2. 使用shade创建服务器,配置为clouds.ymlfile:

    import shade
    
    # Initialize and turn on debug logging
    shade.simple_logging(debug=True)
    
    # Initialize cloud
    # Cloud configs are read with os-client-config
    cloud = shade.openstack_cloud(cloud='mordred')
    
    # Upload an image to the cloud
    image = cloud.create_image(
        'ubuntu-trusty', filename='ubuntu-trusty.qcow2', wait=True)
    
    # Find a flavor with at least 512M of RAM
    flavor = cloud.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.
    cloud.create_server(
        'my-server', image=image, flavor=flavor, wait=True, auto_ip=True)
    

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

推荐PyPI第三方库


热门话题
在Java中从本地文件系统导入文件   spring boot如何在Java SpringBoot项目中集成Olingo(Odata)   java查找连续数组中缺少的第k个元素(超过时间限制)   java为什么在mySql中插入1/2行时会得到2/4行   java不能在静态上下文中使用它   File Observer方法的java My onEvent()部分不起作用   java Netty NioSocketChannel在多线程写入时收到中断消息   java将文件夹与父文件夹一起复制   java我的TictaToe代码出了什么问题?如何检查已采取的措施?   java Swing JTable更新   java如何将cordinates查找为int   如何使用selenium和java在firefox中打开新的空选项卡   java Gradle构建输出Jar未运行   java没有GET/WEBINF/jsp/login的映射。jsp