跳转到主要内容

OpenStack Gceapi 服务

项目描述

OpenStack Nova GCE API README
-----------------------------

为OpenStack提供GCE-API支持。

安装
=====

确保已安装python-pip软件包。

检查并修改'install.sh'文件开头的默认选项。

运行"install.sh"。

如果需要,检查/etc/gceapi/gceapi.conf中的其他选项。

运行它 - "gce-api"。

用法
=====

从Google下载gcloud并安装它。
https://developers.google.com/compute/docs/gcutil/

使用它有两种方式

1. 运行授权命令
python google-cloud-sdk/platform/gcutil/gcutil --authorization_uri_base=http://localhost:8787 auth
然后运行任何其他命令
python google-cloud-sdk/platform/gcutil/gcutil --api_host=http://localhost:8787/ --authorization_uri_base=http://localhost:8787 --project demo listzones

2. 您必须拥有Google账户
您可以使用以下命令激活已授权的账户
gcloud config set account <account>
或使用以下命令授权新账户
gcloud auth login
接下来,您必须在Openstack中运行授权命令进行授权
gcutil --authorization_uri_base=http://localhost:8787 auth
然后您可以运行任何其他命令
gcutil --api_host=http://localhost:8787/ --authorization_uri_base=http://localhost:8787 --project demo listzones

使用'--api_host'标志和您的GCE API端点始终让gcutil使用您的GCE API端点
使用‘--authorization_uri_base’标志配置授权端点。您还可以将此设置存储在“~/.gcutil.flags”文件中。


如果由于某些原因不起作用,请检查您的PYTHONPATH是否已导出,并且已正确设置,例如:
``/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages``。

限制
===========

* 在GCE中,名称是唯一的,用于标识。在Nova中,名称不是唯一的。使用ID代替。
解决方案:GCE管理的OpenStack安装也应保持唯一的命名。

* GCE的ID是ulong(8字节)。Openstack的ID可以是不同的(int,字符串),但通常它们是GUID(16字节)。
解决方案:由于Openstack的ID长度和性质不同,并且由于GCE API现在从未将ID用作参数,因此为任何ID生成并返回8字节的散列值以进行报告。


* GCE允许指定每个用户的SSH密钥,但Nova仅支持一个密钥。
解决方案:Nova GCE API仅使用第一个密钥。

* 默认的Openstack类型可以作为机器类型使用。GCE不允许在机器类型名称中使用符号'.',因此GCE API插件在'get'请求中将符号'.'转换为'-'(例如,请求机器类型将名称'm1.tiny'转换为m1-tiny),在'put/post/delete'请求中相反(例如,实例创建将名称'n1-standard-1'转换为'n1.standard.1')。




身份验证特定
========================

GCE API使用OAuth2.0进行身份验证。在keystone中由于缺少此协议,GCE API服务中添加了简单但充分的实现。

当前实现允许一个认证用户操作多个OpenStack项目,正如Google允许的那样。为此,身份验证期间返回的初始令牌不包含keystone所需的项目信息。





支持的功能
==================

不支持标准查询参数(除fields和prettyPrint外)。

支持的资源类型

* 地址
* 磁盘
* 防火墙
* 镜像
* 实例
* 机器类型
* 网络
* 项目
* 区域
* 区域

不支持的资源类型

* 转发规则
* HttpHealthChecks
* 目标池

以下列表中
"+"表示支持
"-"表示不支持

+地址

+aggregatedList GET /project/aggregated/addresses
+delete DELETE /project/regions/region/addresses/address
+get GET /project/regions/region/addresses/address
+insert POST /project/regions/region/addresses
+list GET /project/regions/region/addresses

+磁盘

+aggregatedList GET /project/aggregated/disks
+createSnapshot POST /project/zones/zone/disks/disk/createSnapshot
+delete DELETE /project/zones/zone/disks/disk
+get GET /project/zones/zone/disks/disk
+insert POST /project/zones/zone/disks
+list GET /project/zones/zone/disks

+防火墙

+delete DELETE /project/global/firewalls/firewall
+get GET /project/global/firewalls/firewall
+insert POST /project/global/firewalls
+list GET /project/global/firewalls
-patch PATCH /project/global/firewalls/firewall
-update PUT /project/global/firewalls/firewall

-转发规则

-aggregatedList GET /project/aggregated/forwardingRules
-delete DELETE /project/regions/region/forwardingRules/forwardingRule
-get GET /project/regions/region/forwardingRules/forwardingRule
-insert POST /project/regions/region/forwardingRules
-list GET /project/regions/region/forwardingRules
-setTarget POST /project/regions/region/forwardingRules/forwardingRule/setTarget

+全局操作

+aggregatedList GET /project/aggregated/operations
+delete DELETE /project/global/operations/operation
+get GET /project/global/operations/operation
+list GET /project/global/operations

-HttpHealthChecks

-delete DELETE /project/global/httpHealthChecks/httpHealthCheck
-get GET /project/global/httpHealthChecks/httpHealthCheck
-insert POST /project/global/httpHealthChecks
-list GET /project/global/httpHealthChecks
修补 PATCH /project/global/httpHealthChecks/httpHealthCheck
更新 PUT /project/global/httpHealthChecks/httpHealthCheck

图片

删除 DELETE /project/global/images/image
弃用 POST /project/global/images/image/deprecate
获取 GET /project/global/images/image
插入 POST /project/global/images
列表 GET /project/global/images

实例

添加访问配置 POST /project/zones/zone/instances/instance/addAccessConfig
聚合列表 GET /project/aggregated/instances
附加磁盘 POST /project/zones/zone/instances/instance/attachDisk
删除 DELETE /project/zones/zone/instances/instance
删除访问配置 POST /project/zones/zone/instances/instance/deleteAccessConfig
分离磁盘 POST /project/zones/zone/instances/instance/detachDisk
获取 GET /project/zones/zone/instances/instance
获取串行端口输出 GET /project/zones/zone/instances/instance/serialPort
插入 POST /project/zones/zone/instances
列表 GET /project/zones/zone/instances
重置 POST /project/zones/zone/instances/instance/reset
设置元数据 POST /project/zones/zone/instances/instance/setMetadata
设置标签 POST /project/zones/zone/instances/instance/setTags
设置调度 POST /project/zones/zone/instances/instance/setScheduling

机器类型

聚合列表 GET /project/aggregated/machineTypes
获取 GET /project/zones/zone/machineTypes/machineType
列表 GET /project/zones/zone/machineTypes

网络

删除 DELETE /project/global/networks/network
获取 GET /project/global/networks/network
插入 POST /project/global/networks
列表 GET /project/global/networks

项目

获取 GET /project
设置公共实例元数据 POST /project/setCommonInstanceMetadata

区域操作

删除 DELETE /project/regions/region/operations/operation
获取 GET /project/regions/region/operations/operation
列表 GET /project/regions/region/operations

区域

获取 GET /project/regions/region
列表 GET /project/regions

路由

删除 DELETE /project/global/routes/route
获取 GET /project/global/routes/route
插入 POST /project/global/routes
列表 GET /project/global/routes

快照

删除 DELETE /project/global/snapshots/snapshot
获取 GET /project/global/snapshots/snapshot
列表 GET /project/global/snapshots

目标池

添加健康检查 POST /project/regions/region/targetPools/targetPool/addHealthCheck
添加实例 POST /project/regions/region/targetPools/targetPool/addInstance
聚合列表 GET /project/aggregated/targetPools
删除 DELETE /project/regions/region/targetPools/targetPool
获取 GET /project/regions/region/targetPools/targetPool
获取健康 POST /project/regions/region/targetPools/targetPool/getHealth
插入 POST /project/regions/region/targetPools
列表 GET /project/regions/region/targetPools
移除健康检查 POST /project/regions/region/targetPools/targetPool/removeHealthCheck
移除实例 POST /project/regions/region/targetPools/targetPool/removeInstance
设置备份 POST /project/regions/region/targetPools/targetPool/setBackup

区域操作

删除 DELETE /project/zones/zone/operations/operation
获取 GET /project/zones/zone/operations/operation
列表 GET /project/zones/zone/operations

区域

获取 GET /project/zones/zone
列表 GET /project/zones



项目详情


下载文件

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

源分布

gce-api-3.0.0.tar.gz (204.6 kB 查看哈希)

上传时间

构建分布

gce_api-3.0.0-py2-none-any.whl (217.2 kB 查看哈希值)

上传时间 Python 2

由以下支持