►
From YouTube: Kubernetes SIG Scheduling Meeting - 2019-08-08
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
B
B
A
Yes,
that's
correct
and
that's
fine.
Actually,
you
know,
in
fact
one
plug-in
can
implement
multiple
interfaces.
That's
definitely
an
option.
The
other
thing
is
that
we
have
a
plug-in
context,
which
is
a
generic
sort
of
storage
inside
the
scheduler
or
inside
the
scheduling
framework
that
allows
various
plugins
at
different
stages
of
scheduling,
to
communicate.
C
A
One
another
or
share
some
data
with
one
another.
So
if,
for
example,
we
go
and
pre
process
some
information
in
the
cluster
similar
to
what
our
current
metadata
does
for
like
predicates
or
priority
functions,
we
can
store
that
metadata
in
in
the
plug-in
context
and
then
has
them.
No
scheduling
frame
were
actually
passes,
the
plugin
context
to
all
the
plugins,
so
they
can
go
to
plug-in
context
and
retrieve
their
data.
This
can
be
used
for,
for
example,
metadata
or
some
pre-processing
that
some
of
these
plugins
may
want
to
share
with
one
another.
A
A
Or
even
how
to
spreading,
to
share
data,
and
they
don't
need
to
repeat
repeat,
processing
some
information
in
the
cluster.
So
that's
one
one
aspect
of
it,
which
is
mostly
about
like
performance.
The
other
aspect
from
having
affinity
and
anti
affinity
along
with
the
in
impoverish
spreading
is
the
api
and
user
experience
so
today,
priority
side
of
anti
affinity
or,
inter
inter
pod
and
affinity,
kind
of
collides
and
overlaps
with
the
like
non
required
version
of
even
what
is
spreading
basically
with
soft
spreading.
So
they
are
pretty
much
doing
the
same
thing
way.
A
D
C
D
D
A
Basically,
that's
if
max
Q
is
one
you
want
to
spread
parts
very
much
evenly
among
all
the
failure
domains
and
that's
what
the
priority
version
of
affinity
does.
So
they
are
pretty
much
achieving
the
same
goal.
Of
course,
even
party
spreading
provides
more
ways
of
setting
different
matches
you
for
clusters.
A
In
that
case,
I
guess,
as
we
also
say,
min
and
Max
come
into
the
picture,
you
can
have
different
scores
for
war
zones
over
the
number
of
differences
between
this
is
the
difference
between
the
number
of
parts
in
one
zone
versus
the
other
were
generally
in
one
failure:
domain
versus
the
other.
It's
not
exactly
one
so,
but
anyhow,
these
two
are
more
or
less
the
same
and
they
could
be
confusing
to
users.
A
We
have
been
aware
of
this
fact
and
from
the
very
beginning,
we
actually
wanted
to
reduce
the
scope
of
inter
pod
anti
affinity
and
limited
to
only
two
nodes.
Basically,
that
was
that
was
the
plan
in
the
beginning,
but
we
wanted
to
do
this
after,
inter
pod
anti
affinity
after
even
part
of
spreading
becomes
right.
Now
we
cannot.
We
cannot
really
make
that
change
and
removing
and
2fn
ad,
because
we
don't
have
any
alternative
solution
for
it,
but
once
we
have
it
even
part
of
spreading
in
beta,
then
users
can
start
using.
A
B
A
Yes,
so
for,
if
basically
even
let's
say,
let's
focus
on
even
participating,
it
applies
to
other
similar
features
as
well.
So
let's
say
that
you
want
to
pre-process
some
information
for
human
party
spreading,
so
even
part
of
spreading
has
two
versions.
If
you
will,
one
is
required,
one
or
hard
I'm
spreading
the
other
one
is
the
guess.
What
is
the
other
version
like
preferred?
I?
Guess
that's
what
we
call
it
so,
which
is
like
soft
spreading
so
for
the
required
version.
A
B
Filters,
sorry
priority
still
depend
on
the
whole
cluster
I'm,
not
just
a
filtered
notes
in
some
of
the
cases.
So
it's
just
just
need
to
be
careful
in
that
sense,.
A
C
A
D
A
Cut
in
line
right
absolutely
so
you
need
to
have
access
to
everything,
but
you
know
the
reason
that
actually
we
have
the
framework
handle
is
to,
of
course,
thoughtfully
add
more
information
about
the
a
state
of
the
scheduler
to
to
that
framework,
and
also
that
plugins
can
use
it
so
initially.
Actually
we
were
thinking
that
you
may
even
expose
the
whole
attach
the
whole
new
scheduler
cache
to
plugins,
which
we.
A
To
do,
but
whatever
we
do,
we
should
probably
think
about
having
a
specific
API
and
not
expose
everything,
for
example,
instead
of
just
having
a
simple
pointer
in
the
cache
so
that
all
plugins
can
access
the
cache
and
use
all
eight
guy.
We
should
come
up
with
an
interface
that
exposes
only
certain
functionalities
of
the
cache.
For
example,
we
know
it
will
get
nodes
or
get
parts
on
a
node
things
of
that
sort,
so
that
the
whole
cache
is
not
exposed.
A
We
always
have
a
protocol,
which
is
that
interface
that
I'm
talking
about
just
a
small,
smaller
interface
and
only
add
more
functionality
to
this
interface
based
on
real
needs
and
after
considering
all
the
options,
sounds
good
yeah.
Alright,
so
yes,
I,
believe
it.
So.
The
second
item,
other,
is
yours
as
well.
I
think
is
this
something
that
we
discussed,
or
this
is
I,
found
something
else.
So
first.
A
B
B
There
was
a
worry
of
the
concern
of
having
these
extra
status
status
code,
so
I
came
up
with
a
couple
of
different
options,
and
I
would
like
to
hear
the
feedback
on
them.
So
one
of
my
options
is,
to
just
add
an
extra
red
term,
parameter
to
the
to
the
filter,
plugin
or
had
an
extra
status
field
in
the
in
the
the
status
of
structure.
Instead
of
having
an
extra
thing,
extra
status
code,
yeah.
A
So
I,
you
know
I
believe,
like
we
discussed,
this
I
was
not
super
and
I
wasn't
a
huge
fan
of
actually
adding
another
field
to
the
status
because
I
felt
like
if
we
just
added
status,
it's
gonna
be
meaningful.
Only
for
this
particular
code
status
code
can
be
a
few
options.
You
know
a
few
different
values
already
in
the
future.
That
list
might
grow.
A
That's
my
only
minor
concern.
The
other
another
option,
of
course,
is
to
add
a
function
to
to
status.
You
know
today
we
have
something
like
is
success
in
the
status
that
provides
that
actually
checks,
two
different
values.
One
is
that
the
whole
thing
is
name
the
other
one
is
the
status
code
is
set
to
success
and
it
returns
true
in
both
cases.
A
B
So,
in
my
only
concern
with
this
status
option
that
it's
only
valid
for
one
particular
filter
or
one
particular
extension
point
are
not
rest,
then
you
mean
the
function
for
for
status,
no,
the
status
code.
You
know
there's
two
unschedulable
options.
One
of
them
is
only
make
sense
for
one
of
the
extension
points.
A
B
B
E
A
Let's
move
on
to
the
third
item,
which
is
related
to
a
question
that
Ray
has
raised
and
that's
how
to
treat
a
tainted
note
for
even
part
of
spreading.
So
basically,
the
idea
here
is
that
when
you're
spreading
parts
among
Taylor
domain,
let's
say
two
zones
now
in
each
zone
there
are
some
notes
or
oh,
let's
say
that
you're
spreading
cosmic
nodes.
A
There
are
some
tainted
notes
among
among
the
notes
that
we
are
considering
now
how
to
treat
these
notes,
because,
obviously
the
number
of
parts
on
some
of
these
things
and
notes
may
be
different
and
we
don't
want
to
schedule
more
parts
on
the
tainted
notes.
So
should
we
not
schedule
any
more
parts
on
any
other
nodes
in
that
case?
A
So
that's
a
very
good
question.
In
fact,
I
believe
if
we
don't
schedule
parts
it'll
be
surprising
for
users.
So
if
we
have
like
required
spreading
a
user
thing,
let's
say
some
users
what's
required
to
spreading
and
the
spreading
domain
is
known
now
a
note
in
the
cluster
gets
tainted.
So
the
number
of
cars
on
our
node
is
gonna,
be
different
in
that
case,
or
maybe
exceeds
the
maxi
skew
that
we
have,
in
that
case
no
other
parts
that
belong
to
the
same
and
like
even
participating
selector
or
it
can
be
scheduled
in
the
cluster.
D
Custom,
so
so
right
now,
the
other
implication
is
that
we
do
respect
the
pain
so
as
long
as
these
match
the
no
slacked
off
anymore.
So
we
count
that
as
valid
as
a
valid
note.
So
that
means
we
take
it
into
consideration
that
how
many
matching
pass
on
tented?
No,
we
just
suppose
that
the
incoming
note
doesn't
have
the
corresponding
toleration.
D
So
right
now,
I
just
categorize
different
taints
right,
we
have
user
specified
states,
we
have
system
generator
tents,
so
it's
if
my
mom
can
all
sort
of
peripherals
is
that
we
might
be
able
to
provide
the
option
for
user
to
say
that
if
it's
a
system
generate
program,
preference
and
its
total,
like
schedulable
maybes,
it's
caused
by
a
control,
dream
command
or
any
other.
So
if
that
is
the
case,
maybe
we
can
discard
that
you
can.
You
know,
but
it's
a
very,
very
initial
thought
on
this:
I
need
more
users
feedback
how
they.
A
A
C
A
One
option,
in
my
opinion,
is
to
consider
automatic
taints.
Basically,
the
teams
that
are
that
are
automatically
added
to
notes
as
a
result
of
note
conditions
yeah.
You
know,
north
controller
adds
these
things
automatically.
When
certain
note
conditions
exist.
At
least,
we
should
probably
take
out
that
or
remove
the
nodes
that
are
tainted
automatically,
based
on
their
conditions
from
our
spreading
calculations.
Yeah.
A
B
I
think
I
would
say
that
the
problem
is
more
general,
because
we
can
have
several
filters
that
could
that
could
cost,
that
a
node
has
zero
parts
of
the
spreading
of
the
spreading
topology
or
the
labels,
and
that
would
cause
the
minimum
skew
to
be
zero,
and
then
we
can.
We
can
calculate
them.
The
max
is
Q
appropriately
well.
A
B
A
A
Better,
that's
a
slightly
better,
although
I
mean
still
we,
of
course,
we
can
assume
that
a
user
that,
as
attain
to
a
no
it,
has
enough
permission
in
the
cluster
to
do
so.
So,
in
our
case,
a
user
has
like
cluster
admin,
privileges
can
be
held
responsible
for
their
actions
or
it's
fine,
but
some
of
these
particular
tanks,
which
are
added
as
a
result
of
an
old
condition
or
a
little
bit
more
automatic,
is
your
added
automatically
and
they
are
added
out
of
control
of
pretty
much
all
juices.
B
A
D
D
I
would
say:
yeah
I,
bring
this
question
I
think
in
practical
they
will
mostly
affect
the
use
case
that
they
put
spread
constraint
on
the
topology
is
nailed
right.
If
you
have
understood
come
to
the
zone,
it
will
be
much
better
because
you
have
multiple
Nilsa,
the
ones
also.
You
can
maybe
find
out
not
another
yeah.
A
Yeah,
but
the
problem
is:
if
we
don't
count
the
tainted
nodes
when
you're
spreading.
Let's
say
in
a
larger
group
of
notes,
for
example,
in
a
zone,
then
it
can
also
cause
some
other
kind
of
confusion
all
right.
So
you
see
that
okay,
if
the
note,
if
a
zone
has
a
small,
let's
say
you
have
a
bunch
of
zones,
each
one
of
them
has
a
small
number
of
nodes.
Some
of
these,
these
nodes
are
tainted.
A
You
know
we
are
looking
at
like
Oh
spreading
is
only
unknown,
so
we
should
look
at
the
label
particular
label
in
what
for
this
spreading
topology
key
and
if
only
if
it
is
a
node,
then
we
go
and
look
at
things
and
for
teens
we
don't
look
at
all
things.
We
look
at
certain
teens
and
if,
in
the
future
we
decide
to
add
a
new
automatic
change
after
a
condition,
someone
has
to
go
and
change
this
code
in
the
scheduler
as
well.
To
not
consider
this
other
thing.
D
A
A
B
A
A
Can,
let's,
let's
think
about
this,
and
we
can
discuss
this
further
about
in
and
the
github
if
any
one
of
us
come
up
with
a
better
idea
or
better
solution
for
this?
Please
share
them,
and
also
we
can
reduce
cuss
this
in
the
next
week.
Meeting
I,
don't
know
if,
after
all
is
gonna,
be
here,
probably
is
not
I
believe
he's
gonna.
A
D
A
B
A
Sounds
good,
let's,
let's
think
about
this,
and
discuss
this
further.
Hopefully
we
will
find
a
better
idea
for
addressing
this
problem,
and
the
last
thing
that
I
wanted
to
say
is
that
we
wanted
to.
We
actually
decided
to
consider
all
static
pods
as
critical
parts.
This
is
something
that
maybe
I
have
talked
about
last
week
as
well,
and
now
that
PR,
for
considering
all
the
static
parts
is
merged,
so
in
1/16
and
newer
versions
in
the
future,
all
the
static
parts
are
considered
as
critical
parts.
A
This
means
that
you
are
not
going
to
get
rejected
by
my
admission
logic
of
cubelet,
and
even
if
the
node
does
not
have
enough
resources.
Also,
it
means
that
these
parts
are,
let's
see
yeah.
These
parts
are
gonna,
be
there
on
a
nodes,
even
if
the
node
runs
are
the
resources
and
other
priority
parts
exists
in
the
cluster.
So
these
these
parts
are
not
gonna
get
preempted.
A
That's
all,
and
we
are
eight
minutes
over
time-
I
apologize
for
making
the
meeting
so
long.
We
had
some
important
topics
to
discuss
this
week.
Thank
you
very
much
for
attending.
If
there
is
any
other
question
that
can
be
answered
quickly,
please
go
ahead
and
say
say
those
otherwise
we
can
end
the
meeting.