Uploading a image to Glance failed and the image status is queued

Solution In Progress - Updated -

Issue

  • Uploading a image to Glance failed
  • The status of the failed image is queued

    $ openstack image show aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa --fit-width
    +------------------+---------------------------------------------------------------------+
    | Field            | Value                                                               |
    +------------------+---------------------------------------------------------------------+
    | checksum         | None                                                                |
    | container_format | bare                                                                |
    | created_at       | 2022-01-01T00:00:00Z                                                |
    | disk_format      | qcow2                                                               |
    | file             | /v2/images/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/file                |
    | id               | aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa                                |
    | min_disk         | 0                                                                   |
    | min_ram          | 0                                                                   |
    | name             | TestImage                                                           |
    | owner            | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx                                    |
    | properties       | os_hash_algo=, os_hash_value=, os_hidden='False', os_type='windows' |
    | protected        | False                                                               |
    | schema           | /v2/schemas/image                                                   |
    | size             | None                                                                |
    | status           | queued                                                              | <===
    | tags             |                                                                     |
    | updated_at       | 2022-01-01T00:00:00Z                                                |
    | virtual_size     | None                                                                |
    | visibility       | shared                                                              |
    +------------------+---------------------------------------------------------------------+
    
  • /var/log/containers/glance/api.log of a Controller node shows unexpected end of file while parsing chunked data: OSError: unexpected end of file while parsing chunked data error message.

    ERROR glance.api.v2.image_data [req-bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb - - - - -] Failed to upload image data due to internal error: OSError: unexpected end of file while parsing chunked data
    ERROR glance.common.wsgi [req-bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb - - - - -] Caught error: unexpected end of file while parsing chunked data: OSError: unexpected end of file while parsing chunked data
    ERROR glance.common.wsgi Traceback (most recent call last):
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/common/wsgi.py", line 1476, in __call__
    ERROR glance.common.wsgi     request, **action_args)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/common/wsgi.py", line 1519, in dispatch
    ERROR glance.common.wsgi     return method(*args, **kwargs)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/common/utils.py", line 419, in wrapped
    ERROR glance.common.wsgi     return func(self, req, *args, **kwargs)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/api/v2/image_data.py", line 299, in upload
    ERROR glance.common.wsgi     self._restore(image_repo, image)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    ERROR glance.common.wsgi     self.force_reraise()
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
    ERROR glance.common.wsgi     six.reraise(self.type_, self.value, self.tb)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/six.py", line 675, in reraise
    ERROR glance.common.wsgi     raise value
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/api/v2/image_data.py", line 164, in upload
    ERROR glance.common.wsgi     image.set_data(data, size, backend=backend)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/domain/proxy.py", line 198, in set_data
    ERROR glance.common.wsgi     self.base.set_data(data, size, backend=backend, set_active=set_active)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/notifier.py", line 499, in set_data
    ERROR glance.common.wsgi     _send_notification(notify_error, 'image.upload', msg)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
    ERROR glance.common.wsgi     self.force_reraise()
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
    ERROR glance.common.wsgi     six.reraise(self.type_, self.value, self.tb)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/six.py", line 675, in reraise
    ERROR glance.common.wsgi     raise value
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/notifier.py", line 446, in set_data
    ERROR glance.common.wsgi     set_active=set_active)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/api/policy.py", line 208, in set_data
    ERROR glance.common.wsgi     return self.image.set_data(*args, **kwargs)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/quota/__init__.py", line 319, in set_data
    ERROR glance.common.wsgi     set_active=set_active)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/location.py", line 559, in set_data
    ERROR glance.common.wsgi     self._upload_to_store(data, verifier, backend, size)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/location.py", line 472, in _upload_to_store
    ERROR glance.common.wsgi     verifier=verifier)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/multi_backend.py", line 396, in add_with_multihash
    ERROR glance.common.wsgi     image_id, data, size, hashing_algo, store, context, verifier)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/multi_backend.py", line 478, in store_add_to_backend_with_multihash
    ERROR glance.common.wsgi     image_id, data, size, hashing_algo, context=context, verifier=verifier)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/driver.py", line 279, in add_adapter
    ERROR glance.common.wsgi     metadata_dict) = store_add_fun(*args, **kwargs)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/capabilities.py", line 176, in op_checker
    ERROR glance.common.wsgi     return store_op_fun(store, *args, **kwargs)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/_drivers/filesystem.py", line 735, in add
    ERROR glance.common.wsgi     raise errors.get(e.errno, e)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/_drivers/filesystem.py", line 722, in add
    ERROR glance.common.wsgi     self.WRITE_CHUNKSIZE):
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance_store/common/utils.py", line 71, in chunkiter
    ERROR glance.common.wsgi     chunk = fp.read(chunk_size)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/common/utils.py", line 297, in read
    ERROR glance.common.wsgi     result = self.data.read(i)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/glance/common/utils.py", line 124, in readfn
    ERROR glance.common.wsgi     result = fd.read(*args)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/eventlet/wsgi.py", line 221, in read
    ERROR glance.common.wsgi     return self._chunked_read(self.rfile, length)
    ERROR glance.common.wsgi   File "/usr/lib/python3.6/site-packages/eventlet/wsgi.py", line 192, in _chunked_read
    ERROR glance.common.wsgi     raise IOError("unexpected end of file while parsing chunked data")
    ERROR glance.common.wsgi OSError: unexpected end of file while parsing chunked data
    ERROR glance.common.wsgi 
    INFO eventlet.wsgi.server [req-bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb - - - - -] Traceback (most recent call last):
      File "/usr/lib/python3.6/site-packages/eventlet/wsgi.py", line 597, in handle_one_response
        write(b''.join(towrite))
      File "/usr/lib/python3.6/site-packages/eventlet/wsgi.py", line 538, in write
        wfile.flush()
      File "/usr/lib64/python3.6/socket.py", line 604, in write
        return self._sock.send(b)
      File "/usr/lib/python3.6/site-packages/eventlet/greenio/base.py", line 397, in send
        return self._send_loop(self.fd.send, data, flags)
      File "/usr/lib/python3.6/site-packages/eventlet/greenio/base.py", line 384, in _send_loop
        return send_method(data, *args)
    BrokenPipeError: [Errno 32] Broken pipe
    
    INFO eventlet.wsgi.server [req-bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb - - - - -] 10.0.0.1 - - [01/Jun/2022 00:00:00] "PUT /v2/images/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/file HTTP/1.1" 500 0 743.570857
    
  • Re-uploading the same image succeeded.

Environment

  • Red Hat OpenStack Platform 16.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content