Importing boot resources failed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Committed
|
High
|
Alexsander de Souza | ||
3.5 |
Fix Released
|
High
|
Alexsander de Souza |
Bug Description
maas 1:3.5.0~
Multiple errors reported during boot resources download. Eventually all images are synced, but this Tracebacks looks scary.
Mar 05 16:54:54 maas-deb regiond[10395]: maasserver.
Mar 05 16:54:54 maas-deb regiond[10395]: Traceback (most recent call last):
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: self._target(
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return target()
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: task()
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: task()
Mar 05 16:54:54 maas-deb regiond[10395]: --- <exception caught here> ---
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: result = inContext.theWork() # type: ignore[
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: inContext.theWork = lambda: context.call( # type: ignore[
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return self.currentCon
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return func(*args, **kw)
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return func(*args, **kwargs)
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: result = func(*args, **kwargs)
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return func_in_
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: result.
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: raise self.value.
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: current.result = callback( # type: ignore[misc]
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: failure.
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: self.raiseExcep
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: raise self.value.
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: result = inContext.theWork() # type: ignore[
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: inContext.theWork = lambda: context.call( # type: ignore[
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return self.currentCon
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return func(*args, **kw)
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return func(*args, **kwargs)
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: result = func(*args, **kwargs)
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return func(*args, **kwargs)
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return func(*args, **kwargs)
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return _import_
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: successful = download_
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: store.finalize(
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: execute_workflow(
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: ret = asyncio.
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return loop.run_
Mar 05 16:54:54 maas-deb regiond[10395]: File "uvloop/loop.pyx", line 1501, in uvloop.
Mar 05 16:54:54 maas-deb regiond[10395]:
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: result = await _call_workflow(
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: result = await workflow_fn(
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: return await (
Mar 05 16:54:54 maas-deb regiond[10395]: File "/usr/lib/
Mar 05 16:54:54 maas-deb regiond[10395]: raise WorkflowFailure
Mar 05 16:54:54 maas-deb regiond[10395]: temporalio.
Mar 05 16:54:54 maas-deb regiond[10395]:
Mar 05 16:54:55 maas-deb regiond[10398]: regiond: [info] 127.0.0.1 POST /MAAS/api/
Mar 05 16:55:09 maas-deb regiond[10398]: maasserver: [error] #######
Mar 05 16:55:09 maas-deb regiond[10398]: maasserver: [error] Traceback (most recent call last):
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: response = wrapped_
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: return view_atomic(*args, **kwargs)
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: return func(*args, **kwds)
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: response = super()
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: response = func(*args, **kwargs)
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: actor, anonymous = self.authentica
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: if not authenticator.
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: if self.is_
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: post_params = request.POST
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: self._load_
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: self._post, self._files = QueryDict(
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: self._body = self.read()
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: return self._stream.
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: result = self.buffer + self._read_
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: result = self.stream.
Mar 05 16:55:09 maas-deb regiond[10398]: File "/usr/lib/
Mar 05 16:55:09 maas-deb regiond[10398]: return self._wrapped.
Mar 05 16:55:09 maas-deb regiond[10398]: ValueError: I/O operation on closed file
Related branches
- MAAS Lander: Approve
- Alexsander de Souza: Approve
-
Diff: 52 lines (+13/-11)1 file modifiedsrc/maasserver/workflow/bootresource.py (+13/-11)
- Anton Troyanov: Approve
- MAAS Lander: Approve
-
Diff: 52 lines (+13/-11)1 file modifiedsrc/maasserver/workflow/bootresource.py (+13/-11)
Changed in maas: | |
assignee: | nobody → Alexsander de Souza (alexsander-souza) |
status: | Triaged → In Progress |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
milestone: | 3.5.0 → 3.6.0 |
This is due to a known bug in aiohttp package (https:/ /github. com/aio- libs/aiohttp/ issues/ 4581). Instead of producing a traceback, MAAS should emit a friendlier message that the download will be retried, as Temporal takes care of ensuring a successful download.