* KernelCI modular pipeline design document
@ 2019-02-07 17:57 Guillaume Tucker
2019-02-08 16:20 ` "Jan-Simon Möller"
0 siblings, 1 reply; 8+ messages in thread
From: Guillaume Tucker @ 2019-02-07 17:57 UTC (permalink / raw)
To: kernelci
Based on previous discussions around the topic of expanding
KernelCI with alternatives to Jenkins, LAVA, our Mongo DB backend
and current frontend, I've made this first version of a document
with design decisions as to how we can make it happen:
https://docs.google.com/document/d/15F42HdHTO6NbSL53_iLl77lfe1XQKdWaHAf7XCNkKD8/edit?usp=sharing
It doesn't cover all the details of how to actually implement
things but sets some general lines which should be enough to keep
us going towards a common objective. It would be great if we
could adjust it whenever necessary and agree to use it as a
reference.
Please let me know what you think, and if you need to review or
edit it so I'll give you permissions.
Best wishes,
Guillaume
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: KernelCI modular pipeline design document
2019-02-07 17:57 KernelCI modular pipeline design document Guillaume Tucker
@ 2019-02-08 16:20 ` "Jan-Simon Möller"
2019-02-11 12:41 ` Milosz Wasilewski
0 siblings, 1 reply; 8+ messages in thread
From: "Jan-Simon Möller" @ 2019-02-08 16:20 UTC (permalink / raw)
To: kernelci, guillaume.tucker
[-- Attachment #1: Type: text/html, Size: 2002 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: KernelCI modular pipeline design document
2019-02-08 16:20 ` "Jan-Simon Möller"
@ 2019-02-11 12:41 ` Milosz Wasilewski
2019-02-11 18:27 ` Kevin Hilman
0 siblings, 1 reply; 8+ messages in thread
From: Milosz Wasilewski @ 2019-02-11 12:41 UTC (permalink / raw)
To: kernelci, JanSimon.Moeller; +Cc: Guillaume Tucker
On Fri, 8 Feb 2019 at 16:33, "Jan-Simon Möller" <JanSimon.Moeller@gmx.de> wrote:
>
> Please do not just think of 'building the kernel' - ppl also want to test and record/visualize userspace tests (aka custom-built kernel+filesystem).
> Yes, the linux kernel is the main focus for kernelci.org . But let's keep the other possible use-cases in mind.
>
I don't think this is a good idea. Having other use cases in mind
takes you down a very deep rabbit hole. Creating a general purpose
result reporting tool is hard. Kernelci reports on kernel results and
(as I understand) does it right. You can use these tools for other
purposes but that's a different story.
milosz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: KernelCI modular pipeline design document
2019-02-11 12:41 ` Milosz Wasilewski
@ 2019-02-11 18:27 ` Kevin Hilman
2019-02-11 21:56 ` Milosz Wasilewski
0 siblings, 1 reply; 8+ messages in thread
From: Kevin Hilman @ 2019-02-11 18:27 UTC (permalink / raw)
To: kernelci, milosz.wasilewski, kernelci, JanSimon.Moeller; +Cc: Guillaume Tucker
"Milosz Wasilewski" <milosz.wasilewski@linaro.org> writes:
> On Fri, 8 Feb 2019 at 16:33, "Jan-Simon Möller" <JanSimon.Moeller@gmx.de> wrote:
>>
>> Please do not just think of 'building the kernel' - ppl also want to test and record/visualize userspace tests (aka custom-built kernel+filesystem).
>> Yes, the linux kernel is the main focus for kernelci.org . But let's keep the other possible use-cases in mind.
>>
>
> I don't think this is a good idea. Having other use cases in mind
> takes you down a very deep rabbit hole. Creating a general purpose
> result reporting tool is hard. Kernelci reports on kernel results and
> (as I understand) does it right. You can use these tools for other
> purposes but that's a different story.
Yes, we're focused on kernel-focused testing, but there are multiple
ways to test the kernel, most of which require a combination of kernel +
userspace/distro.
I think Jan-Simon's point is that as we evolve, while we might focus on
buildroot/debian, we chould not design things in a way that prohibit
using the kernelCI code (and infra) for other types of kernel-focused
testing (e.g. Yocto, other distros, etc.)
Stated differently, the current *service* provided by kernelCI.org is
kernel-focused testing. But, we could (and should, IMO) write the
*software* behind that service in a way that it could be used more
generically if desired.
Kevin
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: KernelCI modular pipeline design document
2019-02-11 18:27 ` Kevin Hilman
@ 2019-02-11 21:56 ` Milosz Wasilewski
2019-02-12 1:14 ` Kevin Hilman
0 siblings, 1 reply; 8+ messages in thread
From: Milosz Wasilewski @ 2019-02-11 21:56 UTC (permalink / raw)
To: Kevin Hilman; +Cc: kernelci, JanSimon.Moeller, Guillaume Tucker
On Mon, 11 Feb 2019 at 18:27, Kevin Hilman <khilman@baylibre.com> wrote:
>
> "Milosz Wasilewski" <milosz.wasilewski@linaro.org> writes:
>
> > On Fri, 8 Feb 2019 at 16:33, "Jan-Simon Möller" <JanSimon.Moeller@gmx.de> wrote:
> >>
> >> Please do not just think of 'building the kernel' - ppl also want to test and record/visualize userspace tests (aka custom-built kernel+filesystem).
> >> Yes, the linux kernel is the main focus for kernelci.org . But let's keep the other possible use-cases in mind.
> >>
> >
> > I don't think this is a good idea. Having other use cases in mind
> > takes you down a very deep rabbit hole. Creating a general purpose
> > result reporting tool is hard. Kernelci reports on kernel results and
> > (as I understand) does it right. You can use these tools for other
> > purposes but that's a different story.
>
> Yes, we're focused on kernel-focused testing, but there are multiple
> ways to test the kernel, most of which require a combination of kernel +
> userspace/distro.
>
> I think Jan-Simon's point is that as we evolve, while we might focus on
> buildroot/debian, we chould not design things in a way that prohibit
> using the kernelCI code (and infra) for other types of kernel-focused
> testing (e.g. Yocto, other distros, etc.)
I guess 'kernel focused' is the key here. I read 'other possible use
cases' as a request to build a general purpose reporting tool.
>
> Stated differently, the current *service* provided by kernelCI.org is
> kernel-focused testing. But, we could (and should, IMO) write the
> *software* behind that service in a way that it could be used more
> generically if desired.
I've been trying to do that for last couple of years with no major
success. It might be just me or the fact that it's really hard. Once
you try to start reporting on android runtime or openstack things get
really complicated.
So if you consider running tests that exercise different parts of
kernel (like graphics, scheduler...) as 'other use cases' than yes,
KCI software should be able to do that. But I don't think going the
route of 'general purpose reporting tool' is the right decision.
milosz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: KernelCI modular pipeline design document
2019-02-11 21:56 ` Milosz Wasilewski
@ 2019-02-12 1:14 ` Kevin Hilman
2019-02-12 13:36 ` Guillaume Tucker
0 siblings, 1 reply; 8+ messages in thread
From: Kevin Hilman @ 2019-02-12 1:14 UTC (permalink / raw)
To: Milosz Wasilewski; +Cc: kernelci, JanSimon.Moeller, Guillaume Tucker
Milosz Wasilewski <milosz.wasilewski@linaro.org> writes:
> On Mon, 11 Feb 2019 at 18:27, Kevin Hilman <khilman@baylibre.com> wrote:
>>
>> "Milosz Wasilewski" <milosz.wasilewski@linaro.org> writes:
>>
>> > On Fri, 8 Feb 2019 at 16:33, "Jan-Simon Möller" <JanSimon.Moeller@gmx.de> wrote:
>> >>
>> >> Please do not just think of 'building the kernel' - ppl also want to test and record/visualize userspace tests (aka custom-built kernel+filesystem).
>> >> Yes, the linux kernel is the main focus for kernelci.org . But let's keep the other possible use-cases in mind.
>> >>
>> >
>> > I don't think this is a good idea. Having other use cases in mind
>> > takes you down a very deep rabbit hole. Creating a general purpose
>> > result reporting tool is hard. Kernelci reports on kernel results and
>> > (as I understand) does it right. You can use these tools for other
>> > purposes but that's a different story.
>>
>> Yes, we're focused on kernel-focused testing, but there are multiple
>> ways to test the kernel, most of which require a combination of kernel +
>> userspace/distro.
>>
>> I think Jan-Simon's point is that as we evolve, while we might focus on
>> buildroot/debian, we chould not design things in a way that prohibit
>> using the kernelCI code (and infra) for other types of kernel-focused
>> testing (e.g. Yocto, other distros, etc.)
>
> I guess 'kernel focused' is the key here. I read 'other possible use
> cases' as a request to build a general purpose reporting tool.
>
>>
>> Stated differently, the current *service* provided by kernelCI.org is
>> kernel-focused testing. But, we could (and should, IMO) write the
>> *software* behind that service in a way that it could be used more
>> generically if desired.
>
> I've been trying to do that for last couple of years with no major
> success. It might be just me or the fact that it's really hard. Once
> you try to start reporting on android runtime or openstack things get
> really complicated.
>
> So if you consider running tests that exercise different parts of
> kernel (like graphics, scheduler...) as 'other use cases' than yes,
> KCI software should be able to do that. But I don't think going the
> route of 'general purpose reporting tool' is the right decision.
Agreed. We should stay focused on *kernel* CI.
But, we don't want to (artificially) limit the types of
tools/distros/stacks we use to beat up on the kernel.
Kevin
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: KernelCI modular pipeline design document
2019-02-12 1:14 ` Kevin Hilman
@ 2019-02-12 13:36 ` Guillaume Tucker
2019-02-13 0:44 ` Kevin Hilman
0 siblings, 1 reply; 8+ messages in thread
From: Guillaume Tucker @ 2019-02-12 13:36 UTC (permalink / raw)
To: Kevin Hilman; +Cc: Milosz Wasilewski, kernelci, JanSimon.Moeller
[-- Attachment #1: Type: text/plain, Size: 3970 bytes --]
On Tue, Feb 12, 2019 at 1:14 AM Kevin Hilman <khilman@baylibre.com> wrote:
> Milosz Wasilewski <milosz.wasilewski@linaro.org> writes:
>
> > On Mon, 11 Feb 2019 at 18:27, Kevin Hilman <khilman@baylibre.com> wrote:
> >>
> >> "Milosz Wasilewski" <milosz.wasilewski@linaro.org> writes:
> >>
> >> > On Fri, 8 Feb 2019 at 16:33, "Jan-Simon Möller" <
> JanSimon.Moeller@gmx.de> wrote:
> >> >>
> >> >> Please do not just think of 'building the kernel' - ppl also want to
> test and record/visualize userspace tests (aka custom-built
> kernel+filesystem).
> >> >> Yes, the linux kernel is the main focus for kernelci.org . But
> let's keep the other possible use-cases in mind.
> >> >>
> >> >
> >> > I don't think this is a good idea. Having other use cases in mind
> >> > takes you down a very deep rabbit hole. Creating a general purpose
> >> > result reporting tool is hard. Kernelci reports on kernel results and
> >> > (as I understand) does it right. You can use these tools for other
> >> > purposes but that's a different story.
> >>
> >> Yes, we're focused on kernel-focused testing, but there are multiple
> >> ways to test the kernel, most of which require a combination of kernel +
> >> userspace/distro.
> >>
> >> I think Jan-Simon's point is that as we evolve, while we might focus on
> >> buildroot/debian, we chould not design things in a way that prohibit
> >> using the kernelCI code (and infra) for other types of kernel-focused
> >> testing (e.g. Yocto, other distros, etc.)
> >
> > I guess 'kernel focused' is the key here. I read 'other possible use
> > cases' as a request to build a general purpose reporting tool.
> >
> >>
> >> Stated differently, the current *service* provided by kernelCI.org is
> >> kernel-focused testing. But, we could (and should, IMO) write the
> >> *software* behind that service in a way that it could be used more
> >> generically if desired.
> >
> > I've been trying to do that for last couple of years with no major
> > success. It might be just me or the fact that it's really hard. Once
> > you try to start reporting on android runtime or openstack things get
> > really complicated.
> >
> > So if you consider running tests that exercise different parts of
> > kernel (like graphics, scheduler...) as 'other use cases' than yes,
> > KCI software should be able to do that. But I don't think going the
> > route of 'general purpose reporting tool' is the right decision.
>
> Agreed. We should stay focused on *kernel* CI.
>
> But, we don't want to (artificially) limit the types of
> tools/distros/stacks we use to beat up on the kernel.
>
So I think the key point is that root file systems may be coming
from a dynamically generated URL on a per-job basis, and with the
option to not include a ramdisk or a kernel image. That would
make it possible to replace the regular KernelCI build jobs with
alternative ones that produce a full OS image or a Debian package
or anything more than a plain kernel image, and then feed that
into the reference implementation with LAVA etc...
In fact, I think it would just mean adding some template blocks
around the deploy definitions in the base template. Then anyone
could crate a "downstream" test plan with alternative URLs using
variables such as the kernel revision to point to a rootfs.
As far as the design document is concerned, it seems that we just
need to state that we don't want to make it hard to achieve that.
On a related topic that has been discussed before, we may want to
use more distros and user-space variants to test the kernel as
part of KernelCI. Say, to see whether the kernel doesn't hit any
bugs when running an unusual init process or libc implementation
etc... That should be fine as long as the user-space is a means
of testing a pure upstream kernel revision, so we're not actually
testing the user-space itself or any downstream distro patches.
Guillaume
[-- Attachment #2: Type: text/html, Size: 5400 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: KernelCI modular pipeline design document
2019-02-12 13:36 ` Guillaume Tucker
@ 2019-02-13 0:44 ` Kevin Hilman
0 siblings, 0 replies; 8+ messages in thread
From: Kevin Hilman @ 2019-02-13 0:44 UTC (permalink / raw)
To: Guillaume Tucker; +Cc: Milosz Wasilewski, kernelci, JanSimon.Moeller
Guillaume Tucker <guillaume.tucker@gmail.com> writes:
> On Tue, Feb 12, 2019 at 1:14 AM Kevin Hilman <khilman@baylibre.com> wrote:
>
>> Milosz Wasilewski <milosz.wasilewski@linaro.org> writes:
>>
>> > On Mon, 11 Feb 2019 at 18:27, Kevin Hilman <khilman@baylibre.com> wrote:
>> >>
>> >> "Milosz Wasilewski" <milosz.wasilewski@linaro.org> writes:
>> >>
>> >> > On Fri, 8 Feb 2019 at 16:33, "Jan-Simon Möller" <
>> JanSimon.Moeller@gmx.de> wrote:
>> >> >>
>> >> >> Please do not just think of 'building the kernel' - ppl also want to
>> test and record/visualize userspace tests (aka custom-built
>> kernel+filesystem).
>> >> >> Yes, the linux kernel is the main focus for kernelci.org . But
>> let's keep the other possible use-cases in mind.
>> >> >>
>> >> >
>> >> > I don't think this is a good idea. Having other use cases in mind
>> >> > takes you down a very deep rabbit hole. Creating a general purpose
>> >> > result reporting tool is hard. Kernelci reports on kernel results and
>> >> > (as I understand) does it right. You can use these tools for other
>> >> > purposes but that's a different story.
>> >>
>> >> Yes, we're focused on kernel-focused testing, but there are multiple
>> >> ways to test the kernel, most of which require a combination of kernel +
>> >> userspace/distro.
>> >>
>> >> I think Jan-Simon's point is that as we evolve, while we might focus on
>> >> buildroot/debian, we chould not design things in a way that prohibit
>> >> using the kernelCI code (and infra) for other types of kernel-focused
>> >> testing (e.g. Yocto, other distros, etc.)
>> >
>> > I guess 'kernel focused' is the key here. I read 'other possible use
>> > cases' as a request to build a general purpose reporting tool.
>> >
>> >>
>> >> Stated differently, the current *service* provided by kernelCI.org is
>> >> kernel-focused testing. But, we could (and should, IMO) write the
>> >> *software* behind that service in a way that it could be used more
>> >> generically if desired.
>> >
>> > I've been trying to do that for last couple of years with no major
>> > success. It might be just me or the fact that it's really hard. Once
>> > you try to start reporting on android runtime or openstack things get
>> > really complicated.
>> >
>> > So if you consider running tests that exercise different parts of
>> > kernel (like graphics, scheduler...) as 'other use cases' than yes,
>> > KCI software should be able to do that. But I don't think going the
>> > route of 'general purpose reporting tool' is the right decision.
>>
>> Agreed. We should stay focused on *kernel* CI.
>>
>> But, we don't want to (artificially) limit the types of
>> tools/distros/stacks we use to beat up on the kernel.
>>
>
> So I think the key point is that root file systems may be coming
> from a dynamically generated URL on a per-job basis, and with the
> option to not include a ramdisk or a kernel image. That would
> make it possible to replace the regular KernelCI build jobs with
> alternative ones that produce a full OS image or a Debian package
> or anything more than a plain kernel image, and then feed that
> into the reference implementation with LAVA etc...
>
> In fact, I think it would just mean adding some template blocks
> around the deploy definitions in the base template. Then anyone
> could crate a "downstream" test plan with alternative URLs using
> variables such as the kernel revision to point to a rootfs.
>
> As far as the design document is concerned, it seems that we just
> need to state that we don't want to make it hard to achieve that.
We probably also need to flesh out a bit more of the metadata fields
that would help describe a initramfs+rootfs environment so that our
visualization and email reporting can show the basics of what was used.
Kevin
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-02-13 0:44 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-07 17:57 KernelCI modular pipeline design document Guillaume Tucker
2019-02-08 16:20 ` "Jan-Simon Möller"
2019-02-11 12:41 ` Milosz Wasilewski
2019-02-11 18:27 ` Kevin Hilman
2019-02-11 21:56 ` Milosz Wasilewski
2019-02-12 1:14 ` Kevin Hilman
2019-02-12 13:36 ` Guillaume Tucker
2019-02-13 0:44 ` Kevin Hilman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox