[Avocado-devel] N(ext) Runner - The road to maturity
bleal at redhat.com
Thu May 14 12:58:15 UTC 2020
Thanks for the big picture, very helpful. I'm confident that the Next
Runner will be a turning point for Avocado.
My comments are inline:
On Wed, May 13, 2020 at 07:43:41PM -0400, Cleber Rosa wrote:
> Currently ongoing development
> There has been three major types of developments around the Job API:
> 2. Introducing and porting Avocado's code to new combined settings
> module. This should allow the same experience for users of the
> command line tool giving option as command line arguments, users
> of the Job API providing the configuration as a dictionary, or
> users of both command line and Job API settings options with
> configuration files.
> 3. Making sure that features that work while running jobs on the
> command line (via "avocado run"), also work the same way in custom
> jobs. Recently a number of issues with output not being created
> when running custom jobs were fixed, but there are certainly many
> more to be found.
> Relationship with N(ext) Runner
> The N(ext) Runner will only be considered "feature complete" when it
> is completely integrated into an Avocado Job. This means that the job
> files discussed on the previous section item #1 should behave the same
> with the current runner, or the "nrunner" implementation. The items
> #2 and #3, should, as much as possible be finished *before* that, given
> that not doing so will cast a number of questions on who the culprit
> for a bug is. Any bug will lead to the question: is it a Job API bug
> or a N(ext) Runner bug?
Just one update about item #2 (the new settings modules):
* avocado/plugins/ is done: today we have 70 calls to the new
`register_option()` method and there is no more old calls to
* avocado/optional_plugins/ is almost done: 16 calls to the new
`register_option()` method and since that a few plugins are going to
be deprecated I have to double-check the missing ones. But I think
that are just a few. I also have an open PR here:
* avocado/core/ is also almost done: we have only 14 calls to the old
method. I'm still working on this.
About item #3, after your comment on #3796 and merge of #3812, I'm
working on the "download test output command" and the PR is on the way.
> Relationship with N(ext) Runner
> One of the goals of this RFC, is to look at the proposal for the
> N(ext) Runner pending development tasks, and discuss an architecture
> that facilitates the implementation of the Requirements Resolver.
I understand this N(ext) Runner "feature complete" effort it is crucial
for a lot of tasks that we are doing. So maybe we could have a complete
list of pending tasks as GitHub issues.
I know that we already have a few of them, but I'm not sure if all are
So, maybe some kind of 'flag/label' (nrun2run), a 'column' on GitHub
Kanban or even both so we could easily track all pending tasks about
I have also created an epic issue to accommodate all issues:
Let me know if you guys have any objections to this.
> Following this, I'll be posting an architectural blue print proposal
> for the missing pieces of the N(ext) Runner. Feedback on the proposal
> is much appreciated, and it's worth reminding everyone that there's no
> unworthy suggestion or question.
I'm looking forward to reading it. \o/
More information about the Avocado-devel