与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第三方库


热门话题
为@Nonnull注释参数编写java单元测试   对于JAVA,如何从它自己的类调用插入排序来将数组分类到一个单独的类中?   Java中嵌套SQL查询的字符串解析   java在所有带有特定注释的方法上调用带注释的方面   在Java中将base64转换为PDF   无法在Android上强制转换java getApplicationContext()   雅加达ee Java ee:如何获取我的应用程序的URL?   IntelliJ:如何导入的文件夹。java文件作为库?   多线程Java(FX)在播放一种声音的同时,播放另一种声音   网络爬虫我需要将proto3版本中protobuf生成的java代码添加到nutch 1.7中   使用JAXRS注释资源的java Restlet客户端   java如何查找给定月份的日期范围   java Minecraft Bukkit插件:我的小游戏传送机不工作   Java Excel搜索和数组列表工作不正常