[SRU] Python3 librados incompatibility
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Fix Released
|
Undecided
|
Unassigned | ||
Rocky |
Fix Released
|
High
|
Unassigned | ||
Stein |
Fix Released
|
Undecided
|
Unassigned | ||
glance_store |
Fix Released
|
Undecided
|
Michal Arbet | ||
Rocky |
Fix Committed
|
Undecided
|
Unassigned | ||
Stein |
New
|
Undecided
|
Unassigned | ||
Train |
New
|
Undecided
|
Unassigned | ||
python-glance-store (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
High
|
Unassigned | ||
Disco |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
For >= rocky (i.e. if using py3 packages) librados.
[Test Case]
* deploy openstack rocky (using p3 packages)
* deploy ceph and use for glance backend
* set
/etc/glance/
/etc/glance/
* upload image
* query image_locations table in glance db
mysql -h$host -u${user} -p$passwd glance -e'select * from image_locations;'
* ensure that the stored value is correct i.e. does not have "b%27" at the beginning.
[Regression Potential]
None expected
[Other Info]
Upgrading to this patch won't fix existing images, they will need to be manually updated in the database.
-------
Hello, found a bug in glance. Glance is storing bad direct_
root@openstack-
+------
| Field | Value |
+------
| checksum | ee1eca47dc88f48
| container_format | bare |
| created_at | 2019-02-
| disk_format | raw |
| file | /v2/images/
| id | 7b1f429e-
| min_disk | 0 |
| min_ram | 0 |
| name | cirros-test-1 |
| owner | ba5ef70fd99642f
| properties | direct_
| protected | False |
| schema | /v2/schemas/image |
| size | 13287936 |
| status | active |
| tags | |
| updated_at | 2019-02-
| virtual_size | None |
| visibility | shared |
+------
mysql> select * from image_locations where image_id = '7b1f429e-
*******
id: 32
image_id: 7b1f429e-
value: rbd://b%
created_at: 2019-02-20 09:08:48
updated_at: 2019-02-20 09:08:48
deleted_at: NULL
deleted: 0
meta_data: {}
status: active
1 row in set (0.00 sec)
ERROR:
No query specified
get_fsid function from librados returns different ID representation, in py2 it is STR, in py3 it is bytes.
It can be fixed by oslo_utils.
I will post the change.
affects: | glance → glance-store |
Changed in glance-store: | |
status: | New → In Progress |
description: | updated |
summary: |
- Python3 librados incompatibility + [SRU] Python3 librados incompatibility |
tags: | added: sts-sru-needed |
Changed in python-glance-store (Ubuntu Disco): | |
status: | New → Fix Released |
tags: | added: sts |
Changed in python-glance-store (Ubuntu): | |
status: | New → Invalid |
Changed in python-glance-store (Ubuntu Cosmic): | |
status: | New → Triaged |
importance: | Undecided → High |
Also causing cinder issues, cinder is parsing ID from direct url , when direct url is corrupted in db ... cinder-glance acceleration is not working =>
https:/ /bugs.launchpad .net/cinder/ +bug/1816468