[Bug 1805332] Re: [Swift backend] Upload image hit error: Unicode-objects must be encoded before hashing
Liam Young
liam.young at canonical.com
Wed May 22 07:14:06 UTC 2019
The cosmic package worked for me to. Version info below:
python3-glance-store:
Installed: 0.26.1-0ubuntu2.1
Candidate: 0.26.1-0ubuntu2.1
Version table:
*** 0.26.1-0ubuntu2.1 500
500 http://archive.ubuntu.com/ubuntu cosmic-proposed/universe amd64 Packages
100 /var/lib/dpkg/status
0.26.1-0ubuntu2 500
500 http://nova.clouds.archive.ubuntu.com/ubuntu cosmic/universe amd64 Packages
Test output:
$ juju run --unit glance/0 "apt-cache policy python3-glance-store"
python3-glance-store:
Installed: 0.26.1-0ubuntu2
Candidate: 0.26.1-0ubuntu2
Version table:
*** 0.26.1-0ubuntu2 500
500 http://nova.clouds.archive.ubuntu.com/ubuntu cosmic/universe amd64 Packages
100 /var/lib/dpkg/status
$ openstack image create --public --file /home/ubuntu/images/bionic-server-cloudimg-amd64.img bionic-test
500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500)
* Enable proposed, upgrade python3-glance-store and restart glance-api
service
$ juju run --unit glance/0 "apt-cache policy python3-glance-store"
python3-glance-store:
Installed: 0.26.1-0ubuntu2.1
Candidate: 0.26.1-0ubuntu2.1
Version table:
*** 0.26.1-0ubuntu2.1 500
500 http://archive.ubuntu.com/ubuntu cosmic-proposed/universe amd64 Packages
100 /var/lib/dpkg/status
0.26.1-0ubuntu2 500
500 http://nova.clouds.archive.ubuntu.com/ubuntu cosmic/universe amd64 Packages
$ openstack image create --public --file /home/ubuntu/images/bionic-server-cloudimg-amd64.img bionic-test
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| checksum | c8994590c7d61dc68922e461686ef936 |
| container_format | bare |
| created_at | 2019-05-22T07:10:26Z |
| disk_format | raw |
| file | /v2/images/eca7aeb5-4c16-4bb2-ad9a-53acfb3c18ca/file |
| id | eca7aeb5-4c16-4bb2-ad9a-53acfb3c18ca |
| min_disk | 0 |
| min_ram | 0 |
| name | bionic-test |
| owner | 6c8b914f26bc40d9aae58729b818e398 |
| properties | os_hash_algo='sha512', os_hash_value='be4993640deb7eb99b07667213b1fe3a9145df2c0ed5c72cf786a621fe64e93fb543cbb3fafa9a130988b684da432d2a55493c50e77a9dfe336e7ed996be92d9', os_hidden='False' |
| protected | False |
| schema | /v2/schemas/image |
| size | 348127232 |
| status | active |
| tags | |
| updated_at | 2019-05-22T07:10:44Z |
| virtual_size | None |
| visibility | public |
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
** Tags removed: verification-needed-cosmic
** Tags added: verification-done-cosmic
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1805332
Title:
[Swift backend] Upload image hit error: Unicode-objects must be
encoded before hashing
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive rocky series:
Fix Committed
Status in Ubuntu Cloud Archive stein series:
Fix Released
Status in glance_store:
Triaged
Status in python-glance-store package in Ubuntu:
Fix Released
Status in python-glance-store source package in Cosmic:
Fix Committed
Status in python-glance-store source package in Disco:
Fix Released
Status in python-glance-store source package in Eoan:
Fix Released
Bug description:
[Impact]
If we upload a large image (larger than 1G), the glance_store will hit a Unicode error. To fix this a patch has been merged in upstream master and backported to stable rocky.
[Test Case]
Deploy glance related to swift-proxy using the object-store relation. Then attempt to upload a large image (not cirros)
$ openstack image create --public --file /home/ubuntu/images/bionic-server-cloudimg-amd64.img bionic-test
500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500)
If the patch is manually applied and glance-api restarted then the
above command succeeds.
In order to avoid regression of existing consumers, the OpenStack team will
run their continuous integration test against the packages that are in
-proposed. A successful run of all available tests will be required before the
proposed packages can be let into -updates.
The OpenStack team will be in charge of attaching the output summary of the
executed tests. The OpenStack team members will not mark ‘verification-done’ until
this has happened.
[Regression Potential]
In order to mitigate the regression potential, the results of the
aforementioned tests are attached to this bug.
[Discussion]
n/a
[Original Description]
env: master branch, Glance using swift backend.
We hit a strange error, if we upload a large image (larger than 1G),
the glance_store will hit a error:Unicode-objects must be encoded
before hashing. But if the image is small enough, the error won't
happen.
error log:
https://www.irccloud.com/pastebin/jP3DapNy/
After dig into the code, it appears that when chunk reading the image
data, the date piece may be non-byte, so the checksum.updating will
raise the error.
encoding the date piece to ensure it's byte can solve the problem.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1805332/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list