Crash downloading image descriptions

Bug #1412026 reported by Gavin Panella
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Released
Medium
Gavin Panella

Bug Description

The service crashes with an IOError. It should catch this and log it
instead. Fixing this requires restarting clusterd.

Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 423, in errback
    self._startRunCallbacks(fail)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 490, in _startRunCallbacks
    self._runCallbacks()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 577, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1155, in gotResult
    _inlineCallbacks(r, g, deferred)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1097, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
  File "/usr/lib/python2.7/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File ".../src/provisioningserver/pserv_services/image_download_service.py", line 130, in maybe_start_download
    yield self._start_download()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1097, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
  File "/usr/lib/python2.7/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File ".../src/provisioningserver/pserv_services/image_download_service.py", line 121, in _start_download
    get_proxy_url("https"))
  File "/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py", line 191, in _worker
    result = context.call(ctx, function, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File ".../src/provisioningserver/utils/twisted.py", line 148, in wrapper
    return func(*args, **kwargs)
  File ".../src/provisioningserver/rpc/boot_images.py", line 87, in _run_import
    boot_resources.import_images(sources)
  File ".../src/provisioningserver/import_images/boot_resources.py", line 243, in import_images
    image_descriptions = download_all_image_descriptions(sources)
  File ".../src/provisioningserver/import_images/download_descriptions.py", line 204, in download_all_image_descriptions
    source['url'], keyring=source.get('keyring', None))
  File ".../src/provisioningserver/import_images/download_descriptions.py", line 195, in download_image_descriptions
    dumper.sync(reader, rpath)
  File "/usr/lib/python2.7/dist-packages/simplestreams/mirrors/__init__.py", line 82, in sync
    content, payload = reader.read_json(path)
  File "/usr/lib/python2.7/dist-packages/simplestreams/mirrors/__init__.py", line 39, in read_json
    raw = self.source(path).read().decode('utf-8')
  File "/usr/lib/python2.7/dist-packages/simplestreams/contentsource.py", line 143, in read
    self.open()
  File "/usr/lib/python2.7/dist-packages/simplestreams/contentsource.py", line 139, in open
    self.fd = self._open()
  File "/usr/lib/python2.7/dist-packages/simplestreams/contentsource.py", line 135, in _open
    raise myerr
exceptions.IOError: Unable to open http://192.168.1.137:5240/images-stream/streams/v1/index.json. mirrors=[]

Related branches

Changed in maas:
status: Triaged → In Progress
Gavin Panella (allenap)
Changed in maas:
assignee: nobody → Gavin Panella (allenap)
importance: Critical → Medium
Gavin Panella (allenap)
Changed in maas:
status: In Progress → Fix Committed
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.