public inbox for kernelci@lists.linux.dev
 help / color / mirror / Atom feed
From: "Ana Guerrero Lopez" <ana.guerrero@collabora.com>
To: kernelci@groups.io
Subject: Re: [kernelci] proposal to build Debian images for every test suite (pull #24/kernelci-build-staging)
Date: Wed, 16 May 2018 18:46:21 +0200	[thread overview]
Message-ID: <ff773c4b-a070-d2bc-e61b-5871b6ce89e0@collabora.com> (raw)
In-Reply-To: <91a30108-36a6-e39d-2ac9-396b1115099d@collabora.com>




On 11/05/18 07:23, Tomeu Vizoso wrote:
 > On 05/10/2018 05:41 PM, Kevin Hilman wrote:
 >> Tomeu Vizoso <tomeu.vizoso@collabora.com> writes:
 >>
 >>> On 05/10/2018 03:04 AM, Kevin Hilman wrote:
 >>>> "Tomeu Vizoso" <tomeu.vizoso@collabora.com> writes:
 >>>>
 >>>>> Hi,
 >>>>>
 >>>>> below I give my opinion on a few comments, but it's Ana who is 
leading
 >>>>> now this work.
 >>>>>
 >>>>> On 05/08/2018 01:09 AM, Kevin Hilman wrote:
 >>>>>> "Ana Guerrero Lopez" <ana.guerrero@collabora.com> writes:
 >>>>>
 >>>>>> IMO, what I think would be very helpful at least for initial 
review and
 >>>>>> discussion, is to see an initial PR that only has the "basic" 
build, and
 >>>>>> ideally also generates a minimal, tiny ramdisk from the same build
 >>>>>> (e.g. with 'update-initramfs -c -k min' )
 >>>>>>
 >>>>>>> The pull requests includes three things: three jenkinsfiles, 
debos files
 >>>>>>> and two Dockerfiles.
 >>>>>>>
 >>>>>>> The jenkinsfiles are the smallest possible since all the code 
creating
 >>>>>>> the pipeline is in the shared library. There are two parts: one 
with the
 >>>>>>> job name - that will be used by the resulting images, the
 >>>>>>> destination
 >>>>> arches
 >>>>>>> and the run-time dependencies that need to be added to the image.
 >>>>>>> There is also the debos file name but this should be removed if 
we always
 >>>>>>> use the same debos configuration.
 >>>>>>> The second part "build_test_suite" is for building the test 
suite code.
 >>>>>>> This is on purpose a shell script that must create a cpio.gz 
tarball
 >>>>>>> with the name rootfs-built-${NAME}-${ARCH}.cpio.gz
 >>>>>>> The idea is to be able to add and modify quickly test suites 
without
 >>>>>>> knowing too much about jenkins.
 >>>>>>
 >>>>>> I'm not sure about the "build_test_suite" approach.
 >>>>>>
 >>>>>> AFAICT, both the _igt and _v4l2 jobs are basically doing the 
same thing
 >>>>>> as "basic", and then essentially installing a bunch more files 
on top.
 >>>>>
 >>>>> The difference is only in the dependencies. Both test suites are in
 >>>>> the fat side and have several dependencies that otherwise aren't
 >>>>> needed. That said, a basic image that contains all of them might 
still
 >>>>> not be too big.
 >>>>
 >>>> IMO, it's better to go for a single, shared base image with
 >>>> dependencies.  Building a new rootfs for every test suite sounds 
like a
 >>>> scalability problem to me.
 >>>
 >>> Well, only the fatter test suites would need their own rootfs. So far
 >>> only IGT and V4L2 have a fair amount of dependencies. But still we
 >>> could probably build a single image for both that isn't too big to be
 >>> used as a ramdisk.
 >>
 >> OK, I think we should start with that.
 >
 > What do you think about that, Ana?

I'm fine having a single image with these two test suites, if eventually
this not convenient we can always change it. However, now we have more
or less agreed on a job creating the "basic" images, how do you envisage
we should be creating the images with the test suites?

My proposal is installing the build and run dependencies via extra_packages
in the Jenkinsfile and then building the test suite directly against the
new created image with script run by debos directly. This will avoid
the merge step, although the strip/crush might need a bit of work
for making sure the resulting ramdisk is still small.
The advantage is adding/modifying the test suites doesn't require a lot
of knowledge of jenkins or even debos.

[...]
 >> But I agree, for scalability, secondary storage is a major PITA.
 >> However, maybe for a subset of devices that we want to test that way, we
 >> should make it easy.
 >>
 >> So, what about this: From a single base debian image, we create
 >>
 >> 1) minimal (~2M) initramfs
 >>
 >> This should have pivot capabilities, and this is what Ana is doing today
 >> with 'update-initramfs -c -k min'
 >>
 >> 2) small "basic" ramdisk
 >>
 >> This is the base image *after* the strip/crush steps.  Basically, the
 >> "basic" that Ana is building today.
 >>
 >> 3) full rootfs for secondary storage (e.g. MMC, NFS, NBD)
 >>
 >> The base image without all the strip/crush removed, so it still has the
 >> ability to install packages etc.
 >>
 >> This should be available in a few formats: .cpio.gz, .tar.xz, .ext4.xz
 >>
 >> This would also be the pivot destination when using an initramfs.
 >
 > Sounds good!

Yup. I added the images listed in 3). So right now we have for every arch:
1) minimal initramfs: initrd.cpio.gz
2) small basic ramdisk:  rootfs.cpio.gz
3) full rootfs in several formats:  full.rootfs.cpio.gz ,
full.rootfs.tar.xz  and  rootfs.ext4.xz

Cheers,
Ana




  reply	other threads:[~2018-05-16 16:46 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-07 11:06 proposal to build Debian images for every test suite (pull #24/kernelci-build-staging) Ana Guerrero Lopez
2018-05-07 23:09 ` [kernelci] " khilman
2018-05-08  6:11   ` tomeu.vizoso
2018-05-10  1:04     ` Kevin Hilman
2018-05-10  6:56       ` Tomeu Vizoso
2018-05-10 15:41         ` Kevin Hilman
2018-05-11  5:23           ` Tomeu Vizoso
2018-05-16 16:46             ` Ana Guerrero Lopez [this message]
2018-05-23  8:21               ` Tomeu Vizoso
2018-05-09  0:00   ` Ana Guerrero Lopez
2018-05-10  1:15     ` Kevin Hilman
2018-05-16 15:56       ` Ana Guerrero Lopez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ff773c4b-a070-d2bc-e61b-5871b6ce89e0@collabora.com \
    --to=ana.guerrero@collabora.com \
    --cc=kernelci@groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox