-
Notifications
You must be signed in to change notification settings - Fork 168
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
Add support for "known fails" for kola run
#1165
Comments
See also https://url.corp.redhat.com/c062a98 |
For the file I'd vote YAML so we can use comments |
Ahh nice, didn't realize RHCOS already did this. Right, so to clarify, the difference here from
Sure. I initially wrote up JSON because AFAICT nothing in mantle currently consumes YAML, though |
kola run
(All the failures in coreos/fedora-coreos-config#200 are accounted for, so I'm dropping the bug label and making this strictly about the RFE.) |
Do you think kola should know about this or that something should interpret the kola results and know about this? |
Rather than encoding the blacklist in three different places (the fedora-coreos-config CI, the coreos-assembler CI, and the pipeline), let's just teach `cosa kola` to auto-detect a `kola-blacklist.yaml` from the src config and automatically blacklisting them when executing kola. I proposed making this baked in kola itself with slightly different semantics in: https://github.com/coreos/mantle/issues/1103 Though teaching this to cosa should still make things easier to maintain for now at least.
This will contain a documented list of tests known to fail right now. For details, see the corresponding cosa PR which learns how to read this, and the mantle RFE: coreos/coreos-assembler#866 https://github.com/coreos/mantle/issues/1103
Rather than encoding the blacklist in three different places (the fedora-coreos-config CI, the coreos-assembler CI, and the pipeline), let's just teach `cosa kola` to auto-detect a `kola-blacklist.yaml` from the src config and automatically blacklisting them when executing kola. I proposed making this baked in kola itself with slightly different semantics in: https://github.com/coreos/mantle/issues/1103 Though teaching this to cosa should still make things easier to maintain for now at least.
Yeah, we could definitely have it working completely externally to kola (that's a bit what #866 accomplishes, though not with the same semantics). Though I think the advantage of having it in kola is that it's more foolproof and just easier to work with both for humans and automation. E.g. we'd have to implement this "interpreter" knowledge a bit everywhere (right now, in at least three places, as mentioned in #866). And while |
Rather than encoding the blacklist in three different places (the fedora-coreos-config CI, the coreos-assembler CI, and the pipeline), let's just teach `cosa kola` to auto-detect a `kola-blacklist.yaml` from the src config and automatically blacklisting them when executing kola. I proposed making this baked in kola itself with slightly different semantics in: https://github.com/coreos/mantle/issues/1103 Though teaching this to cosa should still make things easier to maintain for now at least.
This will contain a documented list of tests known to fail right now. For details, see the corresponding cosa PR which learns how to read this, and the mantle RFE: coreos/coreos-assembler#866 https://github.com/coreos/mantle/issues/1103
kola: Add a --cosa-build argument
We have a similar feature now - #3539, so closing this issue |
From the CI for coreos/fedora-coreos-config#200:
So e.g. the python3 one is a known failure (coreos/fedora-coreos-tracker#280). Haven't looked at the podman one yet.
I'm inclined to not block coreos/fedora-coreos-config#200 due to these failures. It just makes it harder for developers to debug them in the first place. But right now, both the CI there and the pipeline will block on failed kola tests. More generally, we need to be able to ship software even if there's a known test failure.
One suggestion I have is we maintain a "known fails" JSON list in e.g. https://github.com/coreos/fedora-coreos-config, which we can feed to
kola run --kfails list.json
. The semantics are as follow:kola run
verifies the list matches this schema on startup. This ensures all kfails have an associated tracker bugkola run
runs a test not in the kfail list, act as usual: exit rc 1 if the test failed, rc 0 otherwisekola run
runs a test in the kfail list, reverse behaviour: exit rc 1 if the test passes, rc 0 otherwise. This will allow us to make sure the list stays up to date and we drop things as bugs are fixed. Also print out the link to the tracker bug.This would allow us to maintain the list of known failures more easily, without having to do the mantle -> cosa -> pipeline dance. (And plus, I think putting the list somewhere more prominent + having kola yell to us about it each run will be much harder to ignore than commenting out tests!).
The text was updated successfully, but these errors were encountered: