Skip to content

fix(testreport): one openQA install log per flavor, kept byte-for-byte - #673

Merged
mimi1vx merged 2 commits into
openSUSE:mainfrom
mimi1vx:fix/openqa-install-log-per-flavor
Oct 9, 2026
Merged

mimi1vx merged 2 commits into
openSUSE:mainfrom
mimi1vx:fix/openqa-install-log-per-flavor

Conversation

@mimi1vx

@mimi1vx mimi1vx commented Oct 9, 2026

Copy link
Copy Markdown
Member

Summary

An incident has several openQA install jobs per distri/version/arch that differ only in flavor (plain, SAP, HA, TERADATA). export named their logs identically, so every export added timestamped copies that commit then uploaded. The logs were also written with every line break doubled.

Changes

  • URLs carries the openQA job flavor, taken from the dashboard job.
  • Install logs are named <distri>_<version>_<arch>[_<flavor>].log; an empty flavor keeps the old name.
  • openQA logs are rewritten in place instead of going through the overwrite prompt, so repeated exports leave one file per job. Manual host logs keep the prompt.
  • testing.openqa.install scenarios are <distri>_<version>_<arch>[_<flavor>], so distinct jobs no longer look identical.
  • Downloaded logs are written exactly as received; the line splitter that doubled every \n is removed.
  • Two commits: the flavor change and the newline fix, so each can be reviewed or reverted on its own.

Scenarios no longer match the pipeline's distri_version_arch key. Anything server-side keyed on that string would diverge, so TeReGen may want to adopt the flavor too.

Timestamped copies already on disk or in TeReGen are not cleaned up by mtui and need removing by hand.

Checklist

  • Commits follow Conventional Commits.
  • cargo fmt --all --check is clean.
  • cargo clippy --workspace --all-targets --all-features -- -D warnings is clean.
  • cargo test --workspace passes.
  • The compile-only feature matrix builds: cargo build --workspace --no-default-features and --all-features.
  • New/changed code is covered (>= 80% patch coverage).
  • User-visible changes are recorded in CHANGELOG.md.
  • Documentation under docs/src/ updated where relevant; no generated pages are affected.

The new tests (flavor-specific file names, in-place rewrite on repeat export, flavor-specific scenarios, byte-exact log) were each run against the old behavior and failed there.

An incident has several install jobs per distri/version/arch that differ
only in flavor (plain, SAP, HA, TERADATA). The export named logs
`<distri>_<version>_<arch>.log`, so those jobs collided on one name: the
first job won the plain file and every divergent one was redirected to a
fresh timestamped sibling. Each later export added another sibling, and
`commit` uploaded them all as artifacts. The document scenario had the same
gap, so distinct jobs looked identical in `testing.openqa.install`.

`URLs` now carries the job flavor. Logs are named with it when set, and the
scenario names it too. They come from the server and are never hand-edited,
so they are rewritten in place instead of going through the overwrite
prompt; manual host logs keep it.
The downloader split each log into lines that kept their trailing `\n`, and
the writer then joined them with `\n` again, so every line break in the
written log was doubled. The log is now written exactly as downloaded.
@mimi1vx
mimi1vx merged commit d039c29 into openSUSE:main Oct 9, 2026
18 checks passed
@mimi1vx
mimi1vx deleted the fix/openqa-install-log-per-flavor branch October 9, 2026 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant