-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provision step should store even guests not fully provisioned #3514
base: main
Are you sure you want to change the base?
Conversation
Still a draft, I have no idea what would explode in tests, so, collecting results. |
005af81
to
939fead
Compare
939fead
to
d479195
Compare
This should free `finish` to clean up guests even partially provisioned, for example in the case of tmt termination while provision is still running.
d479195
to
1dc3e47
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for improving this. Looks good. One difference I've noticed: When scheduling a guest in Beaker and it fails I get just a concise fail message after the change:
/var/tmp/tmt/run-137
/default/plan
provision
queued provision.provision task #1: default-0
provision.provision task #1: default-0
how: beaker
whiteboard: tmt-137-XtMVALFw
fail: Failed to create Beaker job
multihost name: default-0
finish
queued finish task #1: login
finish task #1: login
login: Starting interactive shell
warn: Failed to push workdir to the guest.
queued pull task #1: pull from default-0
pull task #1: pull from default-0
fail: The guest is not available.
plan failed
The exception was caused by 1 earlier exceptions
Cause number 1:
finish step failed
The exception was caused by 1 earlier exceptions
Cause number 1:
The guest is not available.
Before the change there's more details to investigate:
/var/tmp/tmt/run-138
/default/plan
provision
queued provision.provision task #1: default-0
provision.provision task #1: default-0
how: beaker
whiteboard: tmt-138-QgpCiVBX
fail: Failed to create Beaker job
finish
warn: Nothing to finish, no guests provisioned.
plan failed
The exception was caused by 1 earlier exceptions
Cause number 1:
provision step failed
The exception was caused by 1 earlier exceptions
Cause number 1:
Failed to create Beaker job
The exception was caused by 1 earlier exceptions
Cause number 1:
({'response': '\tNo distro tree matches Recipe\n\t<distroRequires><and><distro_name op="like" value="Fedora-41%"/><distro_variant op="=" value="BaseOS"/><distro_arch op="=" value="x86_64"/></and></distroRequires>'}, {'name': 'fedora-x86_64', 'distro': 'Fedora-41%', 'os': 'fedora', 'job_group': None, 'meta_distro': False, 'arch': 'x86_64', 'variant': 'BaseOS', 'job_owner': None, 'ks_meta': None, 'kernel_options': None, 'kernel_options_post': None, 'retention_tag': 'audit', 'product': '[internal]', 'whiteboard': 'tmt-138-QgpCiVBX', 'priority': 'Normal', 'tasks': [{'name': '/distribution/dummy', 'role': 'STANDALONE'}], 'ks_append': [], 'hostRequires': None, 'distro_tags': [], 'host_id': 'fedora-x86_64'})
The exception was caused by 1 earlier exceptions
Cause number 1:
<Fault 1: '<class \'bkr.common.bexceptions.BX\'>:No distro tree matches Recipe: <distroRequires><and><distro_name op="like" value="Fedora-41%"/><distro_variant op="=" value="BaseOS"/><distro_arch op="=" value="x86_64"/></and></distroRequires>'>
Also, it seems that the login
action is attempted although there is no guest:
login: Starting interactive shell
warn: Failed to push workdir to the guest.
This should free
finish
to clean up guests even partially provisioned, for example in the case of tmt termination while provision is still running.Pull Request Checklist