本文为扶艾原创文章,版权所有,禁止转载!
本文来自于微信公众号“扶艾”,欢迎大家关注获取更多精彩内容!
通过python调用openstack组件的api是非常方便的。因为各个组件都有自己的client模块。我们如果要通过python调用openstack的api,也只需要使用它的client模块就行了。下面是一个通过cinderclient调用cinder api的简单例子:
>>> from cinderclient import client
>>> cinder = client.Client('1', $OS_USER_NAME, $OS_PASSWORD, $OS_TENANT_NAME, $OS_AUTH_URL)
>>> cinder.volumes.list() #获取所有云硬盘信息
[]
>>> myvol = cinder.volumes.create(display_name="test-vol", size=1) #创建云硬盘
>>> myvol.id
ce06d0a8-5c1b-4e2c-81d2-39eca6bbfb70
>>> cinder.volumes.list()
[<Volume: ce06d0a8-5c1b-4e2c-81d2-39eca6bbfb70>]
>>>myvol.delete
除了上面的方式,还可以通过keystoneauth模块创建客户端
>>> from keystoneauth1 import loading
>>> from keystoneauth1 import session
>>> from cinderclient import client
>>> loader = loading.get_plugin_loader('password')
>>> auth = loader.load_from_options(auth_url=AUTH_URL,
... username=USERNAME,
... password=PASSWORD,
... project_id=PROJECT_ID,
... user_domain_name=USER_DOMAIN_NAME)
>>> sess = session.Session(auth=auth)
>>> cinder = client.Client(VERSION, session=sess)
>>> cinder.volumes.list()
[]
更多精彩内容,OpenStack干货请扫描下方二维码,关注我们微信公众号“扶艾”!

本文介绍了如何通过Python的client模块和keystoneauth模块轻松调用OpenStack组件的API,提供了一个cinderclient调用Cinder API的示例。

7207

被折叠的 条评论
为什么被折叠?



