跳转到主要内容

用于与OpenStack云交互的简单客户端库

项目描述

简介

shade是一个用于与OpenStack云交互的简单客户端库。关键词是简单。云可以做很多事情 - 但可能只有大约10件事是大多数人经常关注的。如果您想做复杂的事情,您可能需要使用更低级别的客户端库 - 或者甚至直接使用REST API。然而,如果您想写一个无论部署者如何做出疯狂选择(试图比他们的自以为是、自负的同龄人更酷)都能与云通信的应用程序,那么shade就是为您准备的。

shade最初是ansible内部的一些代码。ansible有很多不同的OpenStack相关模块,有很多重复的代码。最终,在将这种重复代码重构为内部库,并添加OpenStack基础设施团队为在规模上运行客户端应用程序而开发的逻辑和功能之后,我们发现我们已经编写了我们需要的独立库的九成以上。

示例

有时示例很好。

  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 将在以下位置查找名为 clouds.yaml 的文件

    • 当前目录

    • ~/.config/openstack

    • /etc/openstack

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

  2. 使用 shade 创建一个服务器,配置 clouds.yml 文件

    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)

项目详情


发行历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

shade-1.33.0.tar.gz (333.1 kB 查看散列值)

上传时间 源代码

构建分发

shade-1.33.0-py2.py3-none-any.whl (373.5 kB 查看散列值)

上传时间 Python 2 Python 3

由以下支持