coordination #58184: [saga][epic][use case] full version control awareness within openQA, e.g. user forks and branches, fully versioned test schedules and configuration settings
coordination #94750: [epic] Support needles from git-cloned or separate repo if casedir points to a git-repo
Improve handling external Git repositories (for needles)
When working on #9906 (Show added/updated needles in editor) general problems regarding how openQA handles the Git repository came up. This ticket is only meant to describe the general problems and might be used for further discussion.
current way it works¶
- There are two ways openQA can detect a new needle:
- running a job which uses the needle
- the needle is created in the needle editor
- There is a Gru task which periodically checks whether needle files are still present. It doesn't delete any entries in the openQA database. Only the absence of files is tracked. This will also not detect any new needles.
- When creating a needle via the needle editor, openQA commits that change to the Git repository. It also instantly creates a database entry for that needle.
- When removing a needle via the web interface, openQA commits the deletion to the Git repository or just removes the file. The needle is also deleted from the internal database if the needle files could be removed successfully.
- The feature 'Show added/updated needles in editor' only works when the new needle has been created via the needle editor or at least one job loading it has been started.
- When restarting a job, newly created needles are not instantly available.
- In 3. and 4. conflicts can occur. In this case openQA will push to another branch. Needles could get lost in that case.