Cobalt扩展用于OS NovaClient。
cobalt_python_novaclient_ext的Python项目详细描述
概述:novaclient的一个扩展钩子,它使novaclient能够与cobalt端点交互。
应用程序:
显示nova脚本的所有可用命令。列出了以网格为中心的实时图像创建、实时图像开始、实时图像列表、实时图像服务器、实时图像删除和联合迁移。
$nova help
$nova help live image create用法:nova live image create[--name<;name>;]<;instance>;
image
可选参数:
--name<;name>;活动图像的名称
$nova help live image start
用法:nova live image start[--target<;target memory>;]
[--name<;实例名称>;]
[--user_data<;user data>;]
[--security groups<;security groups>;]
[--availability zone<;availability zone>;]
[--num instances<;number>;]
[--key name<;key name>;][--params<;key=value>;]
<;实时图像>;
从实时图像启动新实例。
已启动实例的内存目标
--名称<;实例名称>;
已启动实例的名称
--用户数据<;用户数据>;
要通过元数据公开的用户数据文件
服务器
--安全组<;安全组>;
以逗号分隔的安全组名称列表。
--可用区域<;可用区>;
实例放置的可用区。
--num instances<;number>;
一次启动多个实例
--密钥名称<;密钥名称>;
密钥对的密钥名称应该在前面用命令keypair add创建
--params<;key=value>;guest参数发送给vms代理
$nova help live image delete
用法:nova live image delete<;live image>;
delete a live image图像。
位置参数:
<;实时图像>;实时图像的ID或名称
$nova help co migrate
用法:nova co migrate[--dest<;destination host>;]<;instance>;
使用vms迁移实例。
要迁移到的主机
$nova help live image servers
用法:nova live image servers<;live image>;
列出从此live image启动的实例。
实时图像
$nova help live image list
用法:nova live image list<;server>;
站姿。
位置参数:
<;服务器>;实例的id或名称
>脚本使用
====
>也可以使用python api直接访问novaclient钩子。
apikey="admin"
project="openstackdemo"
authurl="http://localhost:5000/v2.0"
extensions=shell.openstackcomputeshell()。\u discover_extensions("1.1")
novaclient=novaclient(user,apikey,project,authurl,extensions=extensions,
endpoint_type=shell。默认的新端点类型,
service_type=shell.default_nova_service_type)
def wait_for_status(server,status):
while server.status!=状态:
time.sleep(30)
server=novaclient.cobalt.get(server.id)
return server
def wait_until_gone(server):
尝试:
为真:
server=novaclient.cobalt.get(server.id)
睡眠时间(10)
例外情况除外,e:
服务器不再存在。
传递
使用Flavor1和作为第一个参数传入的映像启动新服务器。
image_id=sys.argv[1]
FlavorID=1
server=novaclient.servers.create("以网格为中心的实例",
映像ID,
特色ID)
服务器=等待状态(服务器,"活动")
创建服务器的实时映像。这将返回祝福服务器的实例。我们需要
请注意,我们可以通过调用服务器本身上的"启动实时映像"或将服务器传递到"Cobalt管理器"来执行此操作。
启动实时映像。启动实时映像[0]
启动服务器2=novaclient.cobalt.start实时映像[0]
#列出从Live_映像启动的服务器。
对于Live_映像中的服务器。list_server s():
打印"服务器%s从%s"%(s.id,live_image.id)启动
删除启动的服务器。
已启动的服务器2=等待状态(已启动的服务器2,"活动的")
启动的服务器2.delete()
启动的服务器=等待状态(启动的服务器,"活动的")
novaclient.servers.delete(启动的服务器)
w需要确保在删除动态映像之前已删除启动的实例。
wait\u ungone(启动的服务器2)
wait\u ungone(启动的服务器)
服务器。注意,我们可以删除此服务器并保留受祝福的服务器。
server.delete()
应用程序:
显示nova脚本的所有可用命令。列出了以网格为中心的实时图像创建、实时图像开始、实时图像列表、实时图像服务器、实时图像删除和联合迁移。
$nova help
$nova help live image create用法:nova live image create[--name<;name>;]<;instance>;
image
可选参数:
--name<;name>;活动图像的名称
$nova help live image start
用法:nova live image start[--target<;target memory>;]
[--name<;实例名称>;]
[--user_data<;user data>;]
[--security groups<;security groups>;]
[--availability zone<;availability zone>;]
[--num instances<;number>;]
[--key name<;key name>;][--params<;key=value>;]
<;实时图像>;
从实时图像启动新实例。
已启动实例的内存目标
--名称<;实例名称>;
已启动实例的名称
--用户数据<;用户数据>;
要通过元数据公开的用户数据文件
服务器
--安全组<;安全组>;
以逗号分隔的安全组名称列表。
--可用区域<;可用区>;
实例放置的可用区。
--num instances<;number>;
一次启动多个实例
--密钥名称<;密钥名称>;
密钥对的密钥名称应该在前面用命令keypair add创建
--params<;key=value>;guest参数发送给vms代理
$nova help live image delete
用法:nova live image delete<;live image>;
delete a live image图像。
位置参数:
<;实时图像>;实时图像的ID或名称
$nova help co migrate
用法:nova co migrate[--dest<;destination host>;]<;instance>;
使用vms迁移实例。
要迁移到的主机
$nova help live image servers
用法:nova live image servers<;live image>;
列出从此live image启动的实例。
实时图像
$nova help live image list
用法:nova live image list<;server>;
站姿。
位置参数:
<;服务器>;实例的id或名称
>脚本使用
====
>也可以使用python api直接访问novaclient钩子。
project="openstackdemo"
authurl="http://localhost:5000/v2.0"
extensions=shell.openstackcomputeshell()。\u discover_extensions("1.1")
novaclient=novaclient(user,apikey,project,authurl,extensions=extensions,
endpoint_type=shell。默认的新端点类型,
service_type=shell.default_nova_service_type)
def wait_for_status(server,status):
while server.status!=状态:
time.sleep(30)
server=novaclient.cobalt.get(server.id)
return server
def wait_until_gone(server):
尝试:
为真:
server=novaclient.cobalt.get(server.id)
睡眠时间(10)
例外情况除外,e:
服务器不再存在。
传递
使用Flavor1和作为第一个参数传入的映像启动新服务器。
image_id=sys.argv[1]
FlavorID=1
server=novaclient.servers.create("以网格为中心的实例",
映像ID,
特色ID)
服务器=等待状态(服务器,"活动")
创建服务器的实时映像。这将返回祝福服务器的实例。我们需要
请注意,我们可以通过调用服务器本身上的"启动实时映像"或将服务器传递到"Cobalt管理器"来执行此操作。
启动实时映像。启动实时映像[0]
启动服务器2=novaclient.cobalt.start实时映像[0]
#列出从Live_映像启动的服务器。
对于Live_映像中的服务器。list_server s():
打印"服务器%s从%s"%(s.id,live_image.id)启动
删除启动的服务器。
已启动的服务器2=等待状态(已启动的服务器2,"活动的")
启动的服务器2.delete()
启动的服务器=等待状态(启动的服务器,"活动的")
novaclient.servers.delete(启动的服务器)
w需要确保在删除动态映像之前已删除启动的实例。
wait\u ungone(启动的服务器2)
wait\u ungone(启动的服务器)
服务器。注意,我们可以删除此服务器并保留受祝福的服务器。
server.delete()