跳转到主要内容

自动热模板生成

项目描述

OpenStack编排项目Heat实现了一个编排引擎,用于根据模板启动多个复合云应用。Heat模板描述了基础设施资源(服务器、网络、浮动IP等)及其之间的关系,允许Heat按正确顺序部署资源并管理整个基础设施生命周期。

flame是一个独立的工具,可以从现有的基础设施生成HOT Heat模板。它支持Nova(密钥对和服务器)、Cinder(卷)和Neutron(路由器、网络、子网、安全组和浮动IP)资源。

flame的工作方式如下:使用提供的凭据(用户名、项目名称、密码或auth_token、认证URL),工具将列出项目中部署的支持资源,并将生成相应的、高度定制的HOT模板。

安装

首先,克隆存储库并进入存储库目录

git clone https://github.com/openstack/flame.git cd flame

然后只需运行

python setup.py install

用法

要使用flame的命令行界面

usage: flame [-h] [--debug] [--generate-stack-data] [--include-constraints]
             [--no-threads] [--prefetch] [--exclude-keypairs]
             [--extract-ports] [--exclude-secgroups] [--exclude-servers]
             [--exclude-volumes] [--os-cloud <name>] [--os-auth-type <name>]
             [--os-auth-url OS_AUTH_URL] [--os-system-scope OS_SYSTEM_SCOPE]
             [--os-domain-id OS_DOMAIN_ID] [--os-domain-name OS_DOMAIN_NAME]
             [--os-project-id OS_PROJECT_ID]
             [--os-project-name OS_PROJECT_NAME]
             [--os-project-domain-id OS_PROJECT_DOMAIN_ID]
             [--os-project-domain-name OS_PROJECT_DOMAIN_NAME]
             [--os-trust-id OS_TRUST_ID]
             [--os-default-domain-id OS_DEFAULT_DOMAIN_ID]
             [--os-default-domain-name OS_DEFAULT_DOMAIN_NAME]
             [--os-user-id OS_USER_ID] [--os-username OS_USERNAME]
             [--os-user-domain-id OS_USER_DOMAIN_ID]
             [--os-user-domain-name OS_USER_DOMAIN_NAME]
             [--os-password OS_PASSWORD] [--insecure]
             [--os-cacert <ca-certificate>] [--os-cert <certificate>]
             [--os-key <key>] [--timeout <seconds>] [--collect-timing]
             [--os-service-type <name>] [--os-service-name <name>]
             [--os-interface <name>] [--os-region-name <name>]
             [--os-endpoint-override <name>] [--os-api-version <name>]

Heat template and data file generator

optional arguments:
  -h, --help            show this help message and exit
  --debug               set debuging log level
  --generate-stack-data
                        In addition to template, generate Heat stack data
                        file.
  --include-constraints
                        Export in template custom constraints
  --no-threads          Deactivate threads for api calls, (usefull for (i)pdb
                        debugging.
  --prefetch            Prefetch all API calls (works only without --no-
                        threads
  --exclude-keypairs    Do not export in template key pair resources
  --extract-ports       Export the tenant network ports
  --exclude-secgroups   Do not export in template security group resources
  --exclude-servers     Do not export in template server resources
  --exclude-volumes     Do not export in template volume resources
  --os-cloud <name>     Named cloud to connect to
  --os-auth-type <name>, --os-auth-plugin <name>
                        Authentication type to use

Authentication Options:
  Options specific to the password plugin.

  --os-auth-url OS_AUTH_URL
                        Authentication URL
  --os-system-scope OS_SYSTEM_SCOPE
                        Scope for system operations
  --os-domain-id OS_DOMAIN_ID
                        Domain ID to scope to
  --os-domain-name OS_DOMAIN_NAME
                        Domain name to scope to
  --os-project-id OS_PROJECT_ID, --os-tenant-id OS_PROJECT_ID
                        Project ID to scope to
  --os-project-name OS_PROJECT_NAME, --os-tenant-name OS_PROJECT_NAME
                        Project name to scope to
  --os-project-domain-id OS_PROJECT_DOMAIN_ID
                        Domain ID containing project
  --os-project-domain-name OS_PROJECT_DOMAIN_NAME
                        Domain name containing project
  --os-trust-id OS_TRUST_ID
                        Trust ID
  --os-default-domain-id OS_DEFAULT_DOMAIN_ID
                        Optional domain ID to use with v3 and v2 parameters.
                        It will be used for both the user and project domain
                        in v3 and ignored in v2 authentication.
  --os-default-domain-name OS_DEFAULT_DOMAIN_NAME
                        Optional domain name to use with v3 API and v2
                        parameters. It will be used for both the user and
                        project domain in v3 and ignored in v2 authentication.
  --os-user-id OS_USER_ID
                        User id
  --os-username OS_USERNAME, --os-user-name OS_USERNAME
                        Username
  --os-user-domain-id OS_USER_DOMAIN_ID
                        User's domain id
  --os-user-domain-name OS_USER_DOMAIN_NAME
                        User's domain name
  --os-password OS_PASSWORD
                        User's password

API Connection Options:
  Options controlling the HTTP API Connections

  --insecure            Explicitly allow client to perform "insecure" TLS
                        (https) requests. The server's certificate will not be
                        verified against any certificate authorities. This
                        option should be used with caution.
  --os-cacert <ca-certificate>
                        Specify a CA bundle file to use in verifying a TLS
                        (https) server certificate. Defaults to
                        env[OS_CACERT].
  --os-cert <certificate>
                        Defaults to env[OS_CERT].
  --os-key <key>        Defaults to env[OS_KEY].
  --timeout <seconds>   Set request timeout (in seconds).
  --collect-timing      Collect per-API call timing information.

Service Options:
  Options controlling the specialization of the API Connection from
  information found in the catalog

  --os-service-type <name>
                        Service type to request from the catalog
  --os-service-name <name>
                        Service name to request from the catalog
  --os-interface <name>
                        API Interface to use [public, internal, admin]
  --os-region-name <name>
                        Region of the cloud to use
  --os-endpoint-override <name>
                        Endpoint to use instead of the endpoint in the catalog
  --os-api-version <name>
                        Which version of the service API to use

用法示例

要使用Flame,您可以将您的OpenStack凭据作为参数提供

$ flame --os-username 'user_name' \
        --os-password 'password' \
        --os-project-name 'project_name' \
        --os-auth-url 'http://<Keystone_host>:5000/v2.0'

或者,您可以源OpenStack RC文件,并使用Flame而不需要参数。

与身份服务建立双向SSL连接

$flame --os-username 'user_name' \
       --os-password 'password' \
       --os-project-name 'project_name' \
       --os-auth_url http://<Keystone_host>:5000/v2.0 \
       --os-cert <path/to/certificate>  \
       --os-key <path/to/key>

Flame可以通过导出OS_AUTH_TOKEN变量和–os-auth-type ‘token’参数(通过keystone token-get获取令牌)使用登录和密码对或keystone令牌使用。

$ flame --os-auth-type 'token' \
        --os-token 'token_id' \
        --os-auth-url 'http://<Keystone_host>:5000/v2.0'

项目详情


下载文件

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

源分布

python-flameclient-1.0.0.tar.gz (54.5 kB 查看哈希值)

上传时间

构建分布

python_flameclient-1.0.0-py2.py3-none-any.whl (88.7 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面