tmt
tmt copied to clipboard
Unable to clean up guest provisioned by `beaker` plugin
Using separate steps to provision
and finish
a plan with guest provisioned using the beaker
plugin results in a traceback.
tmt run provision -h beaker
tmt run --last login
tmt run --last finish
The following traceback is generated:
Traceback (most recent call last):
File "/usr/bin/tmt", line 62, in <module>
tmt.cli.main()
File "/usr/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 1689, in invoke
return _process_result(rv)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 1626, in _process_result
value = ctx.invoke(self._result_callback, value, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/tmt/cli.py", line 357, in finito
click_context.obj.run.go()
File "/usr/lib/python3.11/site-packages/tmt/base.py", line 2707, in go
plan.go()
File "/usr/lib/python3.11/site-packages/tmt/base.py", line 1675, in go
self.finish.go()
File "/usr/lib/python3.11/site-packages/tmt/steps/finish/__init__.py", line 136, in go
guest.remove()
File "/usr/lib/python3.11/site-packages/tmt/steps/provision/mrack.py", line 504, in remove
self.api.delete()
^^^^^^^^
File "/usr/lib/python3.11/site-packages/tmt/steps/provision/mrack.py", line 373, in api
self._api = BeakerAPI(self)
^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/tmt/steps/provision/mrack.py", line 219, in update_wrapper
return asyncio.run(func(*args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/tmt/steps/provision/mrack.py", line 277, in __init__
global_context = mrack.context.global_context
^^^^^^^^^^^^^
AttributeError: type object 'Any' has no attribute 'context'
It seems that after wake()
up the context
is not well prepared. @Tiboris, could you please have a look?