Bug 1689432

Summary: Unable to upload overcloud-full image ERROR glance.common.wsgi TypeError: Unicode-objects must be encoded before hashing
Product: Red Hat OpenStack Reporter: Alexander Chuzhoy <sasha>
Component: openstack-glanceAssignee: Cyril Roelandt <cyril>
Status: CLOSED DUPLICATE QA Contact: Mike Abrams <mabrams>
Severity: unspecified Docs Contact: Tana <tberry>
Priority: unspecified    
Version: 15.0 (Stein)CC: eglynn, fpercoco
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-18 16:07:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
glance_api.log none

Description Alexander Chuzhoy 2019-03-15 22:01:22 UTC
Unable to upload overcloud-full image 
ERROR glance.common.wsgi TypeError: Unicode-objects must be encoded before hashing

Environment:
python3-glance-store-0.28.0-0.20190301020712.5b68597.el8ost.noarch
openstack-glance-18.0.0-0.20190311110938.0350fa6.el8ost.noarch
python3-glanceclient-2.15.0-0.20190110150554.c4c92ec.el8ost.noarch
puppet-glance-14.3.0-0.20190311065155.b701ebd.el8ost.noarch
python3-glance-18.0.0-0.20190311110938.0350fa6.el8ost.noarch
python3-tripleoclient-11.2.1-0.20190313150340.969e01a.el8ost.noarch


Steps to reproduce:
1. Deploy undercloud.
2. Attempt to upload OC images to glance


Result:

(undercloud) [stack@undercloud-0 ~]$ openstack overcloud image upload
Image "overcloud-full-vmlinuz" was uploaded.
+--------------------------------------+------------------------+-------------+---------+--------+
|                  ID                  |          Name          | Disk Format |   Size  | Status |
+--------------------------------------+------------------------+-------------+---------+--------+
| e1a6b6ad-9dd4-4a37-b8b1-e32c8ec6b18a | overcloud-full-vmlinuz |     aki     | 7872864 | active |
+--------------------------------------+------------------------+-------------+---------+--------+
Image "overcloud-full-initrd" was uploaded.
+--------------------------------------+-----------------------+-------------+----------+--------+
|                  ID                  |          Name         | Disk Format |   Size   | Status |
+--------------------------------------+-----------------------+-------------+----------+--------+
| 8da8bf70-0484-4c93-ae59-6698dc4aa06d | overcloud-full-initrd |     ari     | 62313831 | active |
+--------------------------------------+-----------------------+-------------+----------+--------+
Exception occured while running the command
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/tripleoclient/command.py", line 29, in run
    super(Command, self).run(parsed_args)
  File "/usr/lib/python3.6/site-packages/osc_lib/command/command.py", line 41, in run
    return super(Command, self).run(parsed_args)
  File "/usr/lib/python3.6/site-packages/cliff/command.py", line 184, in run
    return_code = self.take_action(parsed_args) or 0
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_image.py", line 409, in take_action
    parsed_args.image_path, oc_file)
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_image.py", line 130, in upload_image
    self.client.images.upload(image.id, image_data=data)
  File "/usr/lib/python3.6/site-packages/glanceclient/common/utils.py", line 598, in inner
    return RequestIdProxy(wrapped(*args, **kwargs))
  File "/usr/lib/python3.6/site-packages/glanceclient/v2/images.py", line 288, in upload
    resp, body = self.http_client.put(url, headers=hdrs, data=body)
  File "/usr/lib/python3.6/site-packages/glanceclient/common/http.py", line 320, in put
    return self._request('PUT', url, **kwargs)
  File "/usr/lib/python3.6/site-packages/glanceclient/common/http.py", line 306, in _request
    resp, body_iter = self._handle_response(resp)
  File "/usr/lib/python3.6/site-packages/glanceclient/common/http.py", line 126, in _handle_response
    raise exc.from_response(resp, resp.content)
glanceclient.exc.HTTPInternalServerError: HTTP 500 Internal Server Error: The server has either erred or is incapable of performing the requested operation.
HTTP 500 Internal Server Error: The server has either erred or is incapable of performing the requested operation.
(undercloud) [stack@undercloud-0 ~]$ 






Looking in glance/api.log


2019-03-15 21:59:54.573 22 ERROR glance_store._drivers.swift.store [req-a5666c5b-a36f-49e8-a9ed-6ece5dd11e3f 5819d0bd7eca425483f9b85962e34bd9 7d93a2b4baa3476e9b6341a26cf5e337 - default default] Error during chunked upload to backend, deleting stale chunks.
2019-03-15 21:59:54.577 22 ERROR glance.api.v2.image_data [req-a5666c5b-a36f-49e8-a9ed-6ece5dd11e3f 5819d0bd7eca425483f9b85962e34bd9 7d93a2b4baa3476e9b6341a26cf5e337 - default default] Failed to upload image data due to internal error
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi [req-a5666c5b-a36f-49e8-a9ed-6ece5dd11e3f 5819d0bd7eca425483f9b85962e34bd9 7d93a2b4baa3476e9b6341a26cf5e337 - default default] Caught error: Unicode-objects must be encoded before hashing: TypeError: Unicode-objects must be encoded before hashing
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi Traceback (most recent call last):
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/common/wsgi.py", line 1253, in __call__
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     request, **action_args)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/common/wsgi.py", line 1296, in dispatch
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     return method(*args, **kwargs)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/common/utils.py", line 417, in wrapped
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     return func(self, req, *args, **kwargs)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/api/v2/image_data.py", line 279, in upload
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     self._restore(image_repo, image)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     self.force_reraise()
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     six.reraise(self.type_, self.value, self.tb)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/six.py", line 693, in reraise
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     raise value
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/api/v2/image_data.py", line 144, in upload
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     image.set_data(data, size, backend=backend)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/domain/proxy.py", line 198, in set_data
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     self.base.set_data(data, size, backend=backend)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/notifier.py", line 485, in set_data
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     _send_notification(notify_error, 'image.upload', msg)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     self.force_reraise()
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     six.reraise(self.type_, self.value, self.tb)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/six.py", line 693, in reraise
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     raise value
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/notifier.py", line 432, in set_data
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     self.repo.set_data(data, size, backend=backend)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/api/policy.py", line 193, in set_data
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     return self.image.set_data(*args, **kwargs)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/quota/__init__.py", line 318, in set_data
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     self.image.set_data(data, size=size, backend=backend)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/location.py", line 483, in set_data
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     verifier=verifier)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/backend.py", line 541, in add_to_backend_with_multihash
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     image_id, data, size, hashing_algo, store, context, verifier)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/backend.py", line 518, in store_add_to_backend_with_multihash
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     image_id, data, size, hashing_algo, context=context, verifier=verifier)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/driver.py", line 274, in add_adapter
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     metadata_dict) = store_add_fun(*args, **kwargs)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/capabilities.py", line 225, in op_checker
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     return store_op_fun(store, *args, **kwargs)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/_drivers/swift/store.py", line 1012, in add
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     written_chunks)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     self.force_reraise()
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     six.reraise(self.type_, self.value, self.tb)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/six.py", line 693, in reraise
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     raise value
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/_drivers/swift/store.py", line 1001, in add
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     content_length=content_length)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/swiftclient/client.py", line 1895, in put_object
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     response_dict=response_dict)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/swiftclient/client.py", line 1737, in _retry
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     service_token=self.service_token, **kwargs)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/swiftclient/client.py", line 1364, in put_object
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     conn.putrequest(path, headers=headers, data=data)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/swiftclient/client.py", line 468, in putrequest
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     return self.request('PUT', full_path, data, headers, files)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/swiftclient/client.py", line 458, in request
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     files=files, **self.requests_args)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/swiftclient/client.py", line 441, in _request
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     return self.request_session.request(*arg, **kwarg)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 524, in request
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     resp = self.send(prep, **send_kwargs)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 637, in send
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     r = adapter.send(request, **kwargs)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/requests/adapters.py", line 469, in send
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     for i in request.body:
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/swiftclient/utils.py", line 298, in __next__
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     chunk = self.content.read(self.chunk_size)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/_drivers/swift/store.py", line 1636, in read
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi     self.checksum.update(result)
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi TypeError: Unicode-objects must be encoded before hashing
2019-03-15 21:59:54.601 22 ERROR glance.common.wsgi

Comment 1 Alexander Chuzhoy 2019-03-15 22:03:14 UTC
Created attachment 1544640 [details]
glance_api.log

Comment 2 Alexander Chuzhoy 2019-03-18 16:07:37 UTC

*** This bug has been marked as a duplicate of bug 1677658 ***