Automating OpenQA Job Cloning with Python and YAML

🎉 Happy New Year! As anyone working with OpenQA knows, it is a powerful tool for automated testing. But sometimes, the workflow around re-triggering those tests for investigation purposes can feel a bit… Manual. Recently, I found myself in a repetitive cycle while debugging complex test scenarios. My workflow looked something like this: Take a known “good” job URL. Open a scratchpad editor. Craft a long openqa-clone-job command with tons of specific override parameters (BUILD=0, custom git branches, skipping specific modules, etc.). Run the command in the terminal, wait for the output. Painfully visual scan of the terminal output, to identify the newly created job URLs, and select them with my mouse, to copy them. Paste them into openqa-mon or a text file to track their progress. Till now I used a Bash script that kind of helped, but modifying giant arrays of arguments for every different debugging scenario was annoying and error-prone. ...

January 7, 2026

Writing shell filters for fun and profit

Why ? During my daily job I have sometimes to debug failed openqa test jobs. One of the testing mantra is to reproduce the issue and for that task the openqa community has developed some tooling. In practice, I often have some output like this one below from some job cloning operations: Cloning parents of sle-15-SP4-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit 1 job has been created: - sle-15-SP4-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit -> https://openqa.suse.de/tests/16425390 Cloning parents of sle-15-SP5-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit 1 job has been created: - sle-15-SP5-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit -> https://openqa.suse.de/tests/16425391 Cloning parents of sle-15-SP4-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit 1 job has been created: - sle-15-SP4-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit -> https://openqa.suse.de/tests/16425392 And when I want to monitor those jobs, I’d need to copy-paste all the job URLs and pass them as arguments to the cool openqa-mon utility which will show and notify me of the job status in the terminal. ...

January 19, 2025 · Andrea Manzini