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
-----------------------------
为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 查看哈希值)
关闭
gce-api-3.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a9260a70e7b6310bf2c5c1f0ec31f7b697fbb80d936fd5724153e3191a64db0 |
|
MD5 | e78f24a56d14ec7124b93ec852c0f289 |
|
BLAKE2b-256 | b77ebf2be7a8b1c616a24b4546af29404ad02ae0fddc09bca2d442587b0da99c |
关闭
gce_api-3.0.0-py2-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | af18e87ca940e466a950efd0b7a2f81301dd8e7905ed48cd74dba204487c8e09 |
|
MD5 | 462d9450c2127715272c46062d0ab022 |
|
BLAKE2b-256 | 03d4b7d15dc5efbabb0afeb6342b7ef6a414f18cc6b5fde3cd6f0ee175f502a0 |