Steps To Verify:
1. Create Glance image with 5 Gb size:
fallocate -l 5G image.img
2. Upload it to the glance:
glance image-create --name "Test1" --is-public True --disk-format raw --container-format bare --file image.img
3. Create Glance image with 70 Gb size:
fallocate -l 70G image2.img
4. Upload it to the glance:
glance image-create --name "Test2" --is-public True --disk-format raw --container-format bare --file image2.img --progress
Observed Result:
We can successfully upload image with 5Gb size but can't upload image with 70 Gb size, we can see the following errors:
2015-05-29T11:01:09.987535+00:00 info: 2015-05-29 11:01:09.986 22501 INFO glance.wsgi.server [-] 192.168.0.6 - - [29/May/2015 11:01:09] "OPTIONS / HTTP/1.0" 300 697 0.000806
2015-05-29T11:01:12.744975+00:00 err: 2015-05-29 11:01:12.723 22501 ERROR glance_store._drivers.swift.store [-] Error during chunked upload to backend, deleting stale chunks
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store Traceback (most recent call last):
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/glance_store/_drivers/swift/store.py", line 513, in add
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store content_length=content_length)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 1369, in put_object
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store response_dict=response_dict)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 1243, in _retry
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store rv = func(self.url, self.token, *args, **kwargs)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 997, in put_object
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store conn.putrequest(path, headers=headers, data=data)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 227, in putrequest
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store return self.request('PUT', full_path, data, headers, files)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 217, in request
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store files=files, **self.requests_args)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 185, in _request
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store return self.request_session.request(*arg, **kwarg)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 455, in request
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store resp = self.send(prep, **send_kwargs)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 558, in send
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store r = adapter.send(request, **kwargs)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 330, in send
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store timeout=timeout
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 557, in urlopen
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store body=body, headers=headers)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 382, in _make_request
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store conn.request(method, url, **httplib_request_kw)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/httplib.py", line 973, in request
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store self._send_request(method, url, body, headers)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/httplib.py", line 1007, in _send_request
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store self.endheaders(body)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store self._send_output(message_body)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/httplib.py", line 833, in _send_output
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store self.send(message_body)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/httplib.py", line 803, in send
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store datablock = data.read(blocksize)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/swiftclient/utils.py", line 124, in read
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store *args, **kwargs)[:self._remaining]
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/glance_store/_drivers/swift/store.py", line 860, in read
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store result = self.fd.read(i)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/glance/common/utils.py", line 124, in readfn
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store result = fd.read(*args)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 179, in read
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store return self._chunked_read(self.rfile, length)
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 153, in _chunked_read
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store raise IOError("unexpected end of file while parsing chunked data")
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store IOError: unexpected end of file while parsing chunked data
2015-05-29 11:01:12.723 22501 TRACE glance_store._drivers.swift.store
2015-05-29T11:01:12.775270+00:00 info: 2015-05-29 11:01:12.773 22501 INFO urllib3.connectionpool [-] Starting new HTTP connection (2): 192.168.0.1
2015-05-29T11:01:13.305009+00:00 info: 2015-05-29 11:01:13.302 22501 INFO glance.wsgi.server [-] Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 459, in handle_one_response
write(''.join(towrite))
File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 390, in write
_writelines(towrite)
File "/usr/lib/python2.7/socket.py", line 334, in writelines
self.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
File "/usr/lib/python2.7/dist-packages/eventlet/greenio.py", line 357, in sendall
tail = self.send(data, flags)
File "/usr/lib/python2.7/dist-packages/eventlet/greenio.py", line 340, in send
total_sent += fd.send(data[total_sent:], flags)
error: [Errno 32] Broken pipe
2015-05-29T11:01:13.305009+00:00 info: 2015-05-29 11:01:13.302 22501 INFO glance.wsgi.server [-] 192.168.0.1 - - [29/May/2015 11:01:13] "POST /v1/images HTTP/1.1" 400 0 217.056388
2015-05-29T11:01:19.672186+00:00 info: 2015-05-29 11:01:19.669 22501 INFO glance.wsgi.server [-] 192.168.0.1 - - [29/May/2015 11:01:19] "OPTIONS / HTTP/1.0" 300 697 0.000616
2015-05-29T11:01:19.951360+00:00 info: 2015-05-29 11:01:19.949 22501 INFO glance.wsgi.server [-] 192.168.0.5 - - [29/May/2015 11:01:19] "OPTIONS / HTTP/1.0" 300 697 0.001007
2015-05-29T11:01:19.992135+00:00 info: 2015-05-29 11:01:19.990 22501 INFO glance.wsgi.server [-] 192.168.0.6 - - [29/May/2015 11:01:19] "OPTIONS / HTTP/1.0" 300 697 0.002899
2015-05-29T11:01:29.674736+00:00 info: 2015-05-29 11:01:29.673 22501 INFO glance.wsgi.server [-] 192.168.0.1 - - [29/May/2015 11:01:29] "OPTIONS / HTTP/1.0" 300 697 0.000613
Verified on MOS 6.1 ISO #455
Steps To Verify:
1. Create Glance image with 5 Gb size:
fallocate -l 5G image.img
2. Upload it to the glance:
glance image-create --name "Test1" --is-public True --disk-format raw --container-format bare --file image.img
3. Create Glance image with 70 Gb size:
fallocate -l 70G image2.img
4. Upload it to the glance:
glance image-create --name "Test2" --is-public True --disk-format raw --container-format bare --file image2.img --progress
Observed Result:
We can successfully upload image with 5Gb size but can't upload image with 70 Gb size, we can see the following errors:
2015-05- 29T11:01: 09.987535+ 00:00 info: 2015-05-29 11:01:09.986 22501 INFO glance.wsgi.server [-] 192.168.0.6 - - [29/May/2015 11:01:09] "OPTIONS / HTTP/1.0" 300 697 0.000806 29T11:01: 12.744975+ 00:00 err: 2015-05-29 11:01:12.723 22501 ERROR glance_ store._ drivers. swift.store [-] Error during chunked upload to backend, deleting stale chunks store._ drivers. swift.store Traceback (most recent call last): store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ glance_ store/_ drivers/ swift/store. py", line 513, in add store._ drivers. swift.store content_ length= content_ length) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ swiftclient/ client. py", line 1369, in put_object store._ drivers. swift.store response_ dict=response_ dict) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ swiftclient/ client. py", line 1243, in _retry store._ drivers. swift.store rv = func(self.url, self.token, *args, **kwargs) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ swiftclient/ client. py", line 997, in put_object store._ drivers. swift.store conn.putrequest (path, headers=headers, data=data) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ swiftclient/ client. py", line 227, in putrequest store._ drivers. swift.store return self.request('PUT', full_path, data, headers, files) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ swiftclient/ client. py", line 217, in request store._ drivers. swift.store files=files, **self. requests_ args) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ swiftclient/ client. py", line 185, in _request store._ drivers. swift.store return self.request_ session. request( *arg, **kwarg) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ requests/ sessions. py", line 455, in request store._ drivers. swift.store resp = self.send(prep, **send_kwargs) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ requests/ sessions. py", line 558, in send store._ drivers. swift.store r = adapter. send(request, **kwargs) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ requests/ adapters. py", line 330, in send store._ drivers. swift.store timeout=timeout store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ urllib3/ connectionpool. py", line 557, in urlopen store._ drivers. swift.store body=body, headers=headers) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ urllib3/ connectionpool. py", line 382, in _make_request store._ drivers. swift.store conn.request( method, url, **httplib_ request_ kw) store._ drivers. swift.store File "/usr/lib/ python2. 7/httplib. py", line 973, in request store._ drivers. swift.store self._send_ request( method, url, body, headers) store._ drivers. swift.store File "/usr/lib/ python2. 7/httplib. py", line 1007, in _send_request store._ drivers. swift.store self.endheaders (body) store._ drivers. swift.store File "/usr/lib/ python2. 7/httplib. py", line 969, in endheaders store._ drivers. swift.store self._send_ output( message_ body) store._ drivers. swift.store File "/usr/lib/ python2. 7/httplib. py", line 833, in _send_output store._ drivers. swift.store self.send( message_ body) store._ drivers. swift.store File "/usr/lib/ python2. 7/httplib. py", line 803, in send store._ drivers. swift.store datablock = data.read( blocksize) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ swiftclient/ utils.py" , line 124, in read store._ drivers. swift.store *args, **kwargs) [:self. _remaining] store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ glance_ store/_ drivers/ swift/store. py", line 860, in read store._ drivers. swift.store result = self.fd.read(i) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ glance/ common/ utils.py" , line 124, in readfn store._ drivers. swift.store result = fd.read(*args) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ eventlet/ wsgi.py" , line 179, in read store._ drivers. swift.store return self._chunked_ read(self. rfile, length) store._ drivers. swift.store File "/usr/lib/ python2. 7/dist- packages/ eventlet/ wsgi.py" , line 153, in _chunked_read store._ drivers. swift.store raise IOError("unexpected end of file while parsing chunked data") store._ drivers. swift.store IOError: unexpected end of file while parsing chunked data store._ drivers. swift.store 29T11:01: 12.775270+ 00:00 info: 2015-05-29 11:01:12.773 22501 INFO urllib3. connectionpool [-] Starting new HTTP connection (2): 192.168.0.1 29T11:01: 13.305009+ 00:00 info: 2015-05-29 11:01:13.302 22501 INFO glance.wsgi.server [-] Traceback (most recent call last): python2. 7/dist- packages/ eventlet/ wsgi.py" , line 459, in handle_one_response ''.join( towrite) ) python2. 7/dist- packages/ eventlet/ wsgi.py" , line 390, in write (towrite) python2. 7/socket. py", line 334, in writelines python2. 7/socket. py", line 303, in flush _sock.sendall( view[write_ offset: write_offset+ buffer_ size]) python2. 7/dist- packages/ eventlet/ greenio. py", line 357, in sendall python2. 7/dist- packages/ eventlet/ greenio. py", line 340, in send data[total_ sent:], flags) 29T11:01: 13.305009+ 00:00 info: 2015-05-29 11:01:13.302 22501 INFO glance.wsgi.server [-] 192.168.0.1 - - [29/May/2015 11:01:13] "POST /v1/images HTTP/1.1" 400 0 217.056388 29T11:01: 19.672186+ 00:00 info: 2015-05-29 11:01:19.669 22501 INFO glance.wsgi.server [-] 192.168.0.1 - - [29/May/2015 11:01:19] "OPTIONS / HTTP/1.0" 300 697 0.000616 29T11:01: 19.951360+ 00:00 info: 2015-05-29 11:01:19.949 22501 INFO glance.wsgi.server [-] 192.168.0.5 - - [29/May/2015 11:01:19] "OPTIONS / HTTP/1.0" 300 697 0.001007 29T11:01: 19.992135+ 00:00 info: 2015-05-29 11:01:19.990 22501 INFO glance.wsgi.server [-] 192.168.0.6 - - [29/May/2015 11:01:19] "OPTIONS / HTTP/1.0" 300 697 0.002899 29T11:01: 29.674736+ 00:00 info: 2015-05-29 11:01:29.673 22501 INFO glance.wsgi.server [-] 192.168.0.1 - - [29/May/2015 11:01:29] "OPTIONS / HTTP/1.0" 300 697 0.000613
2015-05-
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-29 11:01:12.723 22501 TRACE glance_
2015-05-
2015-05-
File "/usr/lib/
write(
File "/usr/lib/
_writelines
File "/usr/lib/
self.flush()
File "/usr/lib/
self.
File "/usr/lib/
tail = self.send(data, flags)
File "/usr/lib/
total_sent += fd.send(
error: [Errno 32] Broken pipe
2015-05-
2015-05-
2015-05-
2015-05-
2015-05-