与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如何向第二个组合框模型项添加数组值从第一个组合框所选项获取数组名称?   使用Java与WebSphere的SSL握手错误   eclipse线程“main”Java中的第一个Java程序异常。lang.NoClassDefFoundError   java将Javafx应用作为Web应用移植的最佳方式   IDE的java右JVM文件夹   java如何在基本适配器中停止文本到语音   java If block使用substring和equals方法以假值执行   在本例中,如何在java中返回多个值?   java第二个主类在maven构建期间覆盖第一个主类   如何在java中设置运行时ArrayList的泛型类型?   java从主机读取文件