gpt4 book ai didi

python - 如何在 openstack grizzly 中使用 python API 0.11.0 设置图像元数据?

转载 作者:行者123 更新时间:2023-11-28 19:23:40 26 4
gpt4 key购买 nike

我使用 DevStack -灰熊安装。我使用 Openstack python API 添加带有元数据的图像 [参见代码] .

我使用 glance.images.create 并通过 properties 参数提供元数据。不幸的是,创建的图像没有元数据(属性)。 image.get 打印NONE

import keystoneclient.v2_0.client as ksclient
import glanceclient

keystone = ksclient.Client(auth_url=credentials['auth-url'], username=credentials['username'],
password=credentials['password'], tenant_name=credentials['tenant'])

glance_endpoint = keystone.service_catalog.url_for(service_type='image',
endpoint_type='publicURL')

glance = glanceclient.Client('1',glance_endpoint, token=keystone.auth_token)
image_name="test-cirros"
image_file="cirros.img"

with open( image_file ) as fimage:
image = glance.images.create(name=image_name, is_public=True, disk_format="qcow2", container_format="bare", data=fimage, properties = {"aaaa": "13", "'bbbbbb": "12"} )
print image.get() // prints NONE

还有其他设置图片元数据的方法吗?

最佳答案

自定义属性 != 元数据,因此地平线不显示它们并且 image.get 返回空哈希。

要获取元数据,我需要使用 nova 客户端(API 版本 1.1 --- nova.images.get(image.id).metadata):

 # ...
from novaclient import client as novaclient

# ...

nova = novaclient.Client("1.1", auth_url=credentials['auth-url'], username=credentials['username'], api_key=credentials['password'], project_id=credentials['tenant'])

# ...

with open( image_file ) as fimage:
image = glance.images.create(name=image_name, is_public=True, disk_format="qcow2", container_format="bare", data=fimage, properties = {"aaaa": "13", "'bbbbbb": "12"} )

print nova.images.get(image.id).metadata # prints the correct metadata

关于python - 如何在 openstack grizzly 中使用 python API 0.11.0 设置图像元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com