►
From YouTube: New runner fleet seed Rake task
Description
This video goes over a new Rake task that was recently added to enable creating test data so that developers are able to easily replicate a realistic workload of thousands of runners and millions of jobs.
Documentation link: https://docs.gitlab.com/ee/development/rake_tasks.html#seeding-a-runner-fleet-test-environment
A
Hey
everyone:
this
is
a
small
video
to
explain
a
bit
the
new
Runner
Fleet
seat,
task
that
I've
created
in
gitlab.
This
is
something
that
we've
noticed
recently
that
was
hampering
our
ability
to
deliver
well-tested
functionality.
A
So,
for
instance,
we
didn't
have
a
way
to
test
our
workloads
with
you
know
thousands
or
millions
of
runners
and
also
millions
of
jobs
if
needed.
This
has
resulted
in
P1
recently
and
another
thing
that
we've
been
struggling
with
is
every
time
that
you
create
a
merge
request
that
involves
registering
a
runner.
You
have
to
give
instructions
in
the
merge
requests
to
people
who
probably
never
registered
a
runner
before
you
have
to
explain
how
to
go
about
it,
and
this
is,
you
know,
work
for
you
and
also
work
for
the
the
person
who's
reviewing.
A
A
A
This
graph
here
shows
roughly
how
it
looks
how
the
distribution
is
done.
You
can
see
there
is
a
one
instance
Runner,
one
shared
Runner
across
three
projects
and
the
rests
are
spread
out
like
this.
You
know
49
of
the
total
Runners
get
assigned
to
this
project
20
to
this
one,
and
this
group
gets
the
remainder
one
percent
of
the
the
runners
okay.
So
let
me
show
you
how
an
existing
Runner
Fleet
looks
like
this
is
something
that
I've
created
as
part
of
the
testing.
A
A
You
see
all
the
jobs
that
gets
created,
try
to
make
this
as
realistic
as
possible.
You
know
you
get
a
percentage
of
them
that
are
failed.
It
gets
real
durations
and
queue
times,
I've
also
added
random,
executors,
a
random
version
numbers.
So
this
should
provide
a
realistic
testing
scenario.
This
one,
for
instance,
you
can
see
that
is
shared
across
the
the
three
projects.
A
A
Before
all
of
this
you
can
see.
You
will
see
that
there's
another
stage,
the
initial
stage,
which
is
creating
the
run,
the
groups
and
projects,
and
then
the
subsequence
stage
is
creating
the
the
actual
jobs.
So
yeah
here
is
the
the
completion
of
the
first
stage,
and
then
it
starts
creating
the
the
Pipelines
okay.
So
let's
go
to
back
to
the
UI
and
try
to
see
the
the
newly
created.
A
A
A
You
know
this
is
a
known
thing
with
graphql
we
limit
only
showing
jobs
for
the
first
runner.
So
there's
nothing
wrong
here.
It's
just
a
limitation
in
terms
of
performance
yeah.
This
is
pretty
much
the
the
new
Runner
seed
task.
If
you
want
to
plug
in
different
values,
you
know
feel
free
to
to
do
it
here.
A
You
know
number
of
Runners.
Let's
say
you
want
10,
000,
Runners
and
one
million
jobs
this
should
take
around
for
for
these
kind
of
numbers,
you're
looking
at
maybe
15
to
30
minutes
depending
on
on
the
machine.