我已经安装了openstack
的ussuri
版本,一切似乎都很好,但是有一个奇怪的问题在一瞥。当我使用glance image-create
命令时,一切都很好,它正常工作,但是,当我使用openstack image create
命令时,正如我下面提到的:
openstack image create --public --protected --disk-format raw --file ubuntu.raw ubuntu
会抛出这个异常:
BadRequestException: 400:客户端错误url: http://controller:9292/v2/images,提供的对象不匹配模式'image': 'True'不是类型'布尔':验证模式['properties']['protected']中的'type'失败:{'description': '如果为真,图像将无法删除。',: 400错误请求:'True': 'type': 'boolean'}:在实例['protected']上:
我使用CEPH
Glance
后端,但Openstack已存储在/var/lib/glance/images
的图像!这是我的glance-api
配置文件:
[DEFAULT]
[cinder]
[cors]
[database]
connection = mysql+pymysql://glance:password@controller/glance
[file]
[glance.store.http.store]
[glance.store.rbd.store]
[glance.store.s3.store]
[glance.store.swift.store]
[glance.store.vmware_datastore.store]
[glance_store]
stores = rbd
default_store = rbd
rbd_store_pool = images
rbd_store_user = glance
rbd_store_ceph_conf = /etc/ceph/ceph.conf
rbd_store_chunk_size = 8
[image_format]
disk_formats = ami,ari,aki,vhd,vhdx,vmdk,raw,qcow2,vdi,iso,ploop.root-tar
[keystone_authtoken]
password = password
username = glance
project_name = service
user_domain_name = Default
project_domain_name = Default
auth_type = password
memcached_servers = controller:11211
auth_url = http://controller:5000
www_authenticate_uri = http://controller:5000
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
flavor = keystone
[profiler]
[store_type_location_strategy]
[task]
[taskflow_executor]
实际上,当我在这里粘贴错误时,它变成了人类可读的,我可以阅读它。如你所见:
提供的对象不匹配模式'image': 'True'不属于'boolean'类型:模式['properties']['protected']
当我从命令中删除--protected
开关后,它抛出了这个异常:
'NoneType'对象没有属性'get'
但是效果很好!我不知道发生了什么!希望能有所帮助:)