[Music]
welcome back everyone i hope you had a
great afternoon tea
um this next talk
is from alice farazi who is a gentle
linux developer and the gento kernel
project leader and works as an embedded
software engineer at cybertrust japan
focusing on the linux kernel
um alice will be presenting um uh
integrating
the
gen2 kernel testing systems with the
kernel ci project
this is a pre-recorded talk so feel free
to put your questions in the venulis
chat
we'll have a short time for q a at the
end of the talk and alice will also be
watching the chat throughout
let's go
hello everyone
in this presentation i will talk about
merging an existing framework into canon
ci or how to test your own kind of
project with canon ci
my name is alicia ferrazzi i am a gen2
developer
i am the june 2k project leader
and i am the agent okay nfc creator
i am part of current ci as the technical
steering committee member
i'm also part of a civil infrastructure
platform as a testing working group
member
i am working for miracle linux powered
by saber truss japan
as a software engineer
and i am the lead sai system development
for am linux that is an embedded linux
distribution developed by cybertrust
japan
so in this presentation i will at first
talk about the current ci what is
currency who is doing rci and why
canesia is needed i will talk about the
canonsi composition
i will
talk about the big picture of canon ci
and uh knci current
available uh testing laboratory
i will talk about the
frame definition as
uh in this presentation we will sometime
talk about framework and
i will define what we mean in this
context
in this presentation context
and
i will talk about
which way we have of merging our testing
framework into current ci
and in this presentation the main topic
is
about uh using kinesio and native
implementation so what is kinesio native
implementation
and
i will talk about the
the work that i'm doing for
the civil infrastructure platform
project
for integrating a receiving
infrastructure plot platform
testing framework into kinesia native
and
i will uh
also talk about a cancer currently
supported test
and in the end i will show a example
of one of the meal that
cp sk
is getting from
a canon ci about with a picana
and
in the end i will talk about the sap web
dashboard and give you a conclusion of
this presentation
so what is can sci can si
is a community based open source
distributed
test automation system that is focused
on upstream kernel development
he is currently testing upstream on 155
of physical board and virtual board
kernethci
is organized by the technical steering
committee
and the advisory board
i'm part of the technical student
committee the technical student
committee is formed by the canada cycle
developer and maintainer
and the canadian cover developer and
maintainer
are
are maintaining a good uh quality of the
kinesthei code
and also
helping with maintenance and adding new
feature to
uh can escape
to canon ci
and
we also have an advisory board
that is um
made by the prime organization
representatives that are involved in sci
these representatives harmonizing the
budget and help coordinating a currency
task
so can sei is needed for ensuring the
quality stability and long-term
maintenance of the lino's kernel by
maintaining an open ecosystem around
test automation
practice and principle
so the kinesi
composition
is made by the kinesio core
that is called also core tool
that contains the main configuration and
the main tools of canon ci
and uh
these uh main tool are
are used by um
jenkins
for orchestrating
the building a booting and testing of
the kernel
can sei is composed also by a backend
that currently is being
reworked
and this backend provides also a canasia
web api
that can be used for
getting data
or
for doing some tasks like for example
uploading a file to the ci
storage
server
we also have a front end
that is the
web dashboard of canon ci
that is showing the data available from
the backend
and we also have we are using currently
we are using jenkins for orchestrating
building and tests
and we have some testing lab
currently a testing lab are mostly only
lava
but in the future we are considering to
support also
a different testing laboratory
and this testing lab
is formed by the test definition that
are
containing the lava jobs
test definition using used by lava
laboratory for
executing the test on the kernel
and
so if a
new kernel test need to be added to ksci
this is the place
where we want to add
the new lava job test definition
and
the
testing laboratory
can be easily deploying deployed by
using a lava docker
and
by using lava docker you can
deploy your own econsci lava testing
laboratory
and helping
kernel ci by sharing your
resource or board with current ci
we also have a case adb
that is a tool to submit a connect test
data
to the nsci common database
so here we can see the big picture of
kinesi
and
ksi is made by kinesia native
and but also kcdb
that is getting data from independent
testing framework
so a canister native is the main uh
ci of ksci
that is
booting and testing and
building the kernel for currency i
and
sending the main result
of each test
to
currency
and in the bottom part we can see
all independent testing framework but
are not part of
can sei but we want to
uh share their own data with current ci
and
these independent testing framework can
use
a case idb
it is a tool for sending their own
testing result to work an si common
database
so here we can see the list of the
currently
available
currencies in laboratory that are
connected and shared to can sei
and
some of that are shared by
a people or organization to kind of ci
so
by using the
lava docker repository you can also
share your own
uh testing laboratory to canon ci
and sharing your resource to currency
and helping currency on
getting kernel tests on more
uh different board
so in this presentation we sometimes
talk about framework
and
in this in this context in the context
of this presentation we are talking
about testing framework
including kernel building booting and
testing code
for example
the syrian construction platform project
have its own testing framework for
testing the
sap
super long-term support currently
so there are mainly two ways
of
contributing
uh
to kansas ci
one
is to merging uh your code directly into
kanesha native
and this is the topic that we'll be
talking this presentation
and as an example i will show a
bit a part of the work that i
did in this month
as a member of the cv infrastructure
platform
and for porting vessel infrastructure
platform testing framework
to the econesia native
and the second way is to use a ksidb
and the kcdb way has been presented at
the linux
conference australia in 2021
uh in the agent can sei version to
presentation
and will be not
part of the topic of this presentation
but
uh is just only for
know that there are with two way of
contributing to kind of ci
so in this presentation we will talk
about the kinesio native implementation
so connective native implementation is
the main
testing framework of canon ci
and is used for automating the build
boot and test of the
kernel tree
and
we have also our experimental bisection
system
and
is a
developer and
this kind of seniority implementation is
developed and maintained by the canada
ci community
so i am
from working with a canister native
implementation
i could see that some good point is that
i have already integrated some
kernel boot and testing framework for
working with
the kernel
and
you can say various support
very offered a can sei api
so
[Music]
we can work with the canonical native
data
or doing some tasks by using the
kinesthetic api
and the code is maintained by the
kanesha community
and is a linux foundation project and
um
also by using canasia native
implementation
we can use a very source shared with the
canister
and so all the testing laboratory
resources that are shared with a kinesi
er one of the
problem that i could see is that
uh
is of course made only for a canal
testing
so
we tasked with a heart of the scope of
kinesia native are
not integrated into the canister native
upstream code
uh for example
uh distribution packaging and that's why
uh gen two of his own
external booting and testing
framework
so
receiving infrastructure platform
is a
linux foundation project with aims to
establish
a base layer of industrial grade tooling
using the linux kernel and author open
source project
and you can see the website link in this
slide
so the cip
team decided because of
good point of kinesia native pro
the currency native to
integrate
to start to merge their own
testing framework into a kinesia native
so in the next stage in the next slide i
will explain
uh
what kinesia is doing for
integrating this
to
kind of a native framework
so the cip testing framework
is
the code is only maintained by vcrp
community
is on a gitlab pipeline so
is using github pipeline and
the code that is using gitlab pipeline
are mostly used only by the crp
community
and so
is
very
no cycling of such code because
it's not reusing some some code
and
so all
such code have to be maintained by the
sap community so also future change and
new feature
that are done
need to be maintained by cip community
and results are mostly only shared with
sap team
by
getting result from the gitlab pipeline
and also uh
the test is using a vcap level
laboratory with a
21 physical and virtual active board
under test
by merging
the crp testing framework into canon ci
we have
a code that is maintained by both the cp
community and can sei
so
is allowing for coordinates as
most of the code is maintained by both
community
and all change that we are to record
are
and future change will be added from
sap community and canada community
and results are also integrated along
with canadia
and a summary is shared with sap mailing
lists
and also by integrating into currency
native we can also use all the resource
that is
uh using an sdi
uh
so we have 155
physical
and virtual board
and
we do almost for each
[Music]
release
190 build
and also we can get some future
that
we didn't have on
uh
on the civil infrastructure testing
framework like for example the
experimental b section
that
is helping with regression by doing
automatic bisection
also a kinesin native
is currently supporting
these tests
and we have some
[Music]
subset
of kcl test and ltp
mostly because
each test that is added to
kinesi
need to be
particularly kinesiosci is working by
regression
so
need
that each test that is added to kinesio
native
i have to pass from for most
tests
after most tests are passing
it will be implemented into kinesi
so if there is like some k sub test that
is currently blocked broken is
not
currently headed to the canister but it
can be added in the future when
such problem gets solved
so
anyway anyone can add
their own tests
and
similar infrastructure platform i did
with spectrum marker down checker
as
we
was using such tests
for the cv infrastructure platform
testing framework
and
and now such taste is money
supported by both community
so a good way of contributing to can sei
is adding new tests
so as i was saying by
integrating the
cp uh testing framework into kinesi
we also get a
mail
from a can sei
with a summary of the can hci
testing result
and
this is one example of such summary of
the
cip linux
and is send it to the cip dev
mini list
and we can see
if
some kernel failed to build
or
in harder case if some
kernel failed to pass some tests
and in case that something broke
we will have a regression email
that we show
on which board that has failed
and
still on the same
regression email
we will get um
a link with the detail that will send to
the web dashboard but we give
almost same detail of the
email
about the fail
and we will have some log file
with the
full log
of the fade
and we will have um
last pass with issue
when
which
kernel release
was passing the test
before these tests started to fail
so if
we have tests for
fuel kernel
release
we can
see that there is a problem
and it will add some
relevant error message
of
from the log
of the error that we got
and this can in some cases can help
to
understand the problem
and also
um
is
it can also start
the
automatic b section but currently is
experimental so we still have to see
result from
such system
and we also got a dashboard
that is part of can ci
and by getting going to
cip.co.org we can see each uh
canisia release and
the status for each
can is use
cp a current release
and
so we can see
if
some build have had some problem or some
tested some problem or some
release
so in conclusion working on a canesia
native helped to create a sheriff's side
of tooling and infrastructure for
improving channel dependability and
assurance
so like
cp
the civil infrastructure platform
by
working uh
adding their own
tool to can sei
airpad not only by to test
a cip kernel but also to test upstream
are such tests
are in many cases are shared to
also
with the upstream kernel code
and also a
currency is a native is a useful tool
for discovering
regression bugs
and
working with
doing kind of
to to find
bugs on the kernel
and helping improving the canal
dependability and assurance
so if you are interested there is the
canesia documentation
there is also a link about the
work that the civil infrastructure
testing project a few infrastructure
platform
test framework
mad testing work group
is doing for a integrating
for doing for testing cip
uh with canonical native
and if you are interested by going to
such dashboard you can see
which
feature we are working on currently
and what we are doing or what we did
in more detail
and uh there is the canisium antenna
channel so of course
uh you can ask a question on
this presentation but
also after this presentation you can
ask a question to a
kind of sign maintainer channel that i
showed on this slide
so that's everything for my presentation
and thank you for listening
all right
um we've had a few questions come in
we've only got a very short time for
questions so i'll um hand over to
allison let her pick which uh ones that
um she thinks we we can talk about in
the limited time we've got left
hi again uh
from japan and live currently
so
um we had uh one question that is about
what is the recommended workflow for
adding support
for a new driver device if the question
is about testing
on the canesia documentation there is a
article about
adding testing
to canonsi and i think that is the the
best way would be to check we can
actually documentation about how to add
a new driver or device to kinesiol
for testing
and how to add another question is how
to add or create a new test lab
on
the canonsei gitlab
github
there is a repository that is
a lava docker but probably is the
fastest way for adding
a new test lab took an sdi is to
go into a can sei
github
repository and where is the lava docker
depository that is
uh simple to deploy because it's using
docker and
by just starting that
lava docker
system it will give you
a lava docker testing
system for
connecting to can sei
and for getting the key for connecting
such system to kinesi
you have to open an issue to kinesi core
which is one of the repository into the
canister organization on github
and
you open an issue requesting to get in
such
a key for connecting your laboratory to
kinesi
and uh you will after get contacted by
canesia team for
adding such
uh lava dog
system to the
canister there is also some
work to add
also different
system other than lava docker that is
the one we are using now
but
is currently a work in progress
and
these
testing laboratories that
are
made by
a
canesia user
are
there is some case that are made by some
company that are interested on tests on
their hardware but not only
also
[Music]
there is some personal case that we
wanted to connect with your own hardware
to
uh knci but
that is for uh some kind of personal
usage but not
uh
related to company such things
so
who want to help on can i see i can
connect their own test level doesn't
have to be a company for doing such
things
um
i think that brings us to the uh
end of our time slot
um so if you've got any further
questions uh feel free to uh
ask them uh offline um
and i'm sure alice will be happy to
answer those
so thank you very much for your talk uh
we'll be coming back in a bit under 10
minutes
at 4 20 p.m
for david go
speaking on kernel testing with k-unit
see you all then
thank you