►
From YouTube: WG API Expression Bi-Weekly meeting for 20200428
Description
WG API Expression Bi-Weekly meeting for 20200428
A
B
A
A
B
The
thing
is
that
if
you,
if
you
see
conflicts-
and
then
you
say
let's
say
you
run,
Keuka
role
apply
and
it
says
you
have
conflict,
you
should
false,
and
then
you
run
cooker
all
apply
on
your
fault.
There
may
have
been
a
change
in
between
and
you're
going
to
false
fields.
That
haven't
been
that
you
were
on
a
well
because
maybe
you
would
have
different
conflicts,
that's
yo,
you
apply,
you
have
a
race
condition
right.
C
C
B
C
Approval
would
be
contingent
on
some
facts.
Perhaps
that
may
change
I
mean
I,
guess
the
and
the
plan
is
contingent,
perhaps
on
some
facts
that
may
change.
So
you
know
thinking
about
this.
In
terms
of
say,
comparing
with
database
technology,
we
think
about
a
database
transaction
has
some
read
set
and
a
write
set,
and
what
we
have
not
done
here
in
this
vision
here
is
capture
the
read
set,
so
we
don't
really
I
see
have
a
handle
on
accurately
detecting.
What
would
be
you
know
conflicting
change.
A
B
C
You
know
this
describes
and
a
transaction
that
is
taking
place
over
an
extended
period
of
time
being
usually
when
we
think
about
transactions,
you
know
we
think
about,
they
have
a
read
set
and
a
write
set,
and
what
you're
saying
the
answer
you
gave
me
is
a
conflict.
Is
a
conflict
in
the
right
set
and
I'm
saying
that,
usually,
when
we
think
about
transactions,
there
are
also
conflicts
with
the
read
set
as
possible.
You
know
and
kind
of
begin
explaining
it
in
bring
it
back
to
the
use
case
right.
C
Somebody
made
a
plan
based
on
reading
some
stuff,
okay
mm-hmm,
and
we
we
don't
even
necessarily
know
everything
they
read.
That's
that's
not
being
captured
here.
So
if,
if
some
of
the
stuff
that
they're
read
in
making
the
plan
changes
before
the
plan
execute
the
the
what
I
the
vision
I
see
here,
isn't
going
to
notice
that
conflict
yeah.
B
One
of
the
precondition
could
be
yes,
I'm
fine,
with
these
conflicts
and
these
conflicts
are
me.
So
if
any
new
conflict
happens
in
between
then
it's
gonna
fail
well,
but
I,
don't
know
how
we
would
do
that.
We
would
need
some
sort
of
API
so
that
we
can
say
I'm
fine.
With
these
conflicts.
We
don't
have
any
cement
chicks
like
this
today.
E
B
C
Well,
first
off
I
think
you
you're
you're
talking
about
multiple
issues
at
once:
I
I
just
need
to
slow
down
and
think
it
through
one
step
at
a
time.
So
you
you
mostly
well
somewhat,
been
talking
about
issues
of
if
the
conflict
is
detected
and
then
there's
a
some
kind
of
a
force
I'm
just
so
at
the
beginning
of
how
going
to
take
conflict.
C
So
one
technique
for
the
representation
of
the
reed
set
in
a
way
that
would
detect
a
conflict
would
be
in
fact
to
augment
the
rights
with
simply
writing
everything
that
was
read.
No,
that's
not
right.
It
seems
that
right.
Oh
no,
that's
not
right!
That.
Would
that
would
not
be
right
in
this
case,
so
yeah
I,
guess
I'm
thinking
the
most
direct
approach
would
be
to
you
know,
have
this
general
concept
of
precondition.
C
C
You
know
I'm
trying
to
say
something
like
it
would
be:
a
just
preparing
a
new
transaction,
saying:
okay,
that
one
didn't
go
through,
given
the
current
state.
Now
here's
the
new
transaction
that
I
want
yeah
but
anytime,
you
do
that
you're
gonna
have
some
sort
of
rice
culmination
right
and
that's
the
problem
with
concurrent
system.
C
C
B
B
Don't
know
how
I'm
gonna
praise
that,
but
the
conflicts
can
happen
over
a
long
time
right.
If
somebody
changes
a
feel
like
the
replicas,
there
are
a
number
of
replicas
and
then
later
you
change
it
without
a
heaven.
You
don't
even
need
to
read
the
fight
before
you
make
the
change
right.
When
you
do
apply,
you
don't
read
the
DOE
issues,
so
you
just
send
a
new
value
for
these
replicas
and
if
these
various
different
and
you're
not
the
same
manager,
then
you're
gonna
get
a
country.
So
it's
not
a
read-modify-write
type
of
conflict.
B
C
B
A
So
the
workflow
that's
slightly
different
to
what
the
outline
is.
You
have
your
manifests
in
kids,
you
make
a
change,
you
get
and
you
don't
need
to
read
the
state
and
you
could
why
this
was
with
service
that
apply
and
get
conflicts.
When
there
are
some
and
there
will
be
a
reading
wolf
and
it
would
just
conflict
if
some
other
actor
than
your
CI
pipeline
changes.
The
object
so
I
know
if,
if
that
would
be
a
better
suggestion,
not
to
do
it
with
the
diff
but
Trek
the
conflicts
you
use
and
apply.
C
C
B
A
Point
that
came
up
for
me:
hey
I,
didn't
know
about
the
prudent
parameter.
Yet
that's
amazing
that
it
exists.
We
search
for
that
a
few
years
ago.
Do
we
just
I,
haven't
tried,
I,
know
it's
it's
in
pedo
or
alpha
and
keeps
it
you
know,
I,
don't
know
what
it
does.
I
like
where
it
happens,
if
it's
a
still
I
think,
but
do
we
want
to
support
this?
Can
we
support
with
service
I'd,
apply
I
mean.
A
A
A
B
B
A
D
A
A
B
A
A
B
B
B
B
C
Yes,
okay
is
that
that
helps
so
that's
that's
a
different,
a
little
different
requirement.
Are
you
thinking
of
names
I'm
just
trying
to
figure
out
about
the
implications?
For
you
know
consumers
of
kubernetes,
so
you
know
expecting
everybody
to
track.
Every
release
is
I
thought
something
we
didn't
do
I
thought
we
let
them
be
more
laughs
now.
D
A
B
But
this
is
a
little
different
right.
The
question
is
what,
if
you
have
updated,
coop
cuddled
119,
which
is
gonna,
do
full
to
sauce
I
deploy
but
your
api.
So
how
is
to
118
and
doesn't
support
some
features
in
Southside
apply,
yet
it
would
mean
that
coop
kernel
would
use
so
I'll
play
by
default,
but
wouldn't
behave
as
expected,
because
the
server
is
not
ready.
So
we've
gotta
be
careful
with
that.
I.
C
B
But
who
knows
what
people
are
doing
with
Google
I
know:
I,
agree
with
you,
but
who
knows
I
didn't.
B
Okay,
I
know
that
cuckoo
roll
can
get
installed
by
your
distribution,
maybe
and
then
I
well,
very
careful
at
Google
to
make
sure
that
we
released
the
right
version
of
cuddle.
I,
don't
know
if
everyone
is
doing
that.
So
it's.
How
do
you
know
what
version
of
cooker
all
people
are
using
I
wouldn't
be
surprised
if
people
have
massive
gaps
sometimes,
but
yeah
we've
got
to
be
careful.
B
C
B
E
A
A
C
E
B
B
B
A
A
B
B
B
B
B
B
E
E
B
B
B
F
Sorry
this
is
oh
yeah,
so
I've
been
doing
a
little
bit
of
reading
through
the
code
and
exploring
all
the
validation
use
cases
in
kubernetes
native
types
to
try
and
understand
where
we
could
start
transitioning
from
a
lot
of
handwritten
code
to
annotations
and
schema
driven
stuff
for
things.
So
there
had
already
been
work
done
in
unions
and
immutability
along
that
line.
So
there's
cups
up
for
both
of
those
I
was
looking
at
various
different
formats
places
where
we
could
be
using
existing
annotations.
Like
the
you
know,
neat
map,
key
rule
and
stuff
like
that.
F
So
I
don't
have
a
lot
of
conclusions
yet,
but
I've
been
exploring
that
code
and
reading
a
lot
of
the
validation,
so
I'll
try
and
get
something
written
up,
and
maybe
we
can
talk
about
that
in
the
upcoming
weeks.
I,
don't
know
if
that
maps
with
any
of
the
other
kind
of
mission
statements
of
working
group
apply,
but
it
feels
like
it's
kind
of
in
that
direction.
Trying
to
transition
towards
like
more
schema,
driven
stuff.
F
C
F
F
And
some
of
this,
some
of
this
you
get
through
open
API.
So,
for
example,
open
API
already
has
the
notion
of
like
constraints.
You
know
inclusive
exclusive
constraints
on
number
range
on
the
cardinality
of
the
list
or
a
map,
and
things
like
that,
and
we
do
do
quite
a
bit
of
that
in
our
validations.
There's
a
lot
of
like
mins
and
maxes,
like
you
can
have
a
time
out,
but
the
min
you
can
only
be
ten
seconds
to
the
maximal
it'd
be
30
seconds.
F
So
you
see
that
throughout
our
code,
the
nice
thing
about
that
is,
since
it's
already
an
open
API
in
a
well-defined
way.
We
can
kind
of
just
hook
onto
that.
So
and
I
think
you
said
something
about
constraints
in
about
multiple
fields,
so
my
general
take
on
these.
F
Is
that
they're
one
of
the
less
tractable
ones
to
take
on
early
there's
a
bunch
of
really
well
when
you
ain't
hanging
fruit
here
that
map's
really
nicely
to
things
that
we
already
have
or
an
open,
API
schemer
really
well
defined
things
like
cross
field
constraints
like
what
would
you
do
in
a
CRT?
You
would
probably
end
up
having
like
a
validated
web
cook
if
you
really
wanted
to
solve
that
in
general
right,
because
you
don't
really
know
what
people
want
to
do
ahead
of
time.
C
F
You
need
because
yeah
you
get,
you
get
a
whole
lot
of
value.
I'm
gonna,
try
and
order
them
whenever
a
Taba
doc,
so
people
don't
kind
of
get
a
sense
of
like
what
we're
doing
the
most
and
what
we
get
the
most
bang
for
our
buck
from
there's
a
lot
of
there's
a
lot
of
formatting
rules.
There's
a
lot
of
like
this
has
to
be
a
DNS
name.
F
This
has
to
be
a
cider
there's
just
a
ton
of
that
stuff
and
there's
a
surprisingly
large
number
of
like
numeric
constraints
like
this
has
to
be
within
this
range.
It
has
to
be
non-negative
if
there's
a
ton
of
so
it
has
to
be
non-negative.
C
F
C
F
And
some
of
the
gaps
that
we
have
today
to
get
a
sense
of
like
what
the
value
is
to
doing
this
is
our
native
types
are
exposed.
You
can
go
and
get
the
open
API
for
them.
But
right
now,
if
you
ask
for
open
API,
you
don't
even
know.
If
a
string
is
an
emu
or
not
right
like
we
express
as
an
enum
they're,
only
the
various
number
of
innumerable
values
that
it
can
have,
but
you
just
see
string
in
the
open
they
pass
back
yeah.
So
that's
like
super
low
hanging.
F
Fruit,
like
like
open
API,
understands
the
concept
of
an
enum.
We
can
tell
you
that
we
can
tell
you
what
the
valid
you
know
the
values
are,
and
so
there's
just
there's
just
a
lot.
It's
lost
when
we
hand
over
open,
API
spec
to
people
and
that
also
translate
into
CR
DS
right.
You
define
them
an
open,
API
spec.
F
Is
they
like
in
bed
like
Java
spec
or
something
inside
of
a
CR
D
they'll
do
to
that
through
builder
or
something
so
you've
actually
taken
the
open
API
of
the
native
type
and
embedded
it
into
your
own,
see
Rd
as
a
way
of
saying,
like
you
know,
I'm
I'm,
defining
some
kind
of
workload
and
within
that
workload,
you're
going
to
be
able
to
define
like
some
type
of
pot
or
job
that
you're
gonna
run.
If
that
validation
is
much
much
weaker
than
the
native
type
validation,
you
can
create
the
CR.
F
You
can
create
the
custom
resource
for
your
workload,
but
then,
when
it,
some
controller
tries
to
actually
create
a
job
from
that
it'll
fail
right
much
later
in
this
pipeline,
which
harder
to
debug
so
getting
that
validation
stronger.
So
it's
really
clear
when
you
see
ours,
they
failed
to
validate,
because
you
did
something
wrong:
that's
much
more
user-friendly.
F
What
much
less
user
hostile
than
just
having
like
some
controller
break
way
down
the
line.
So
there's
a
bunch
of
there's
a
bunch
of
like
really
pragmatic
reasons
to
go.
Do
this
it's
great
yeah!
So
I'll
try
to
get
it
right
up
and
I'll
try
and
have
more
for
next
week.
So
I
will
make
sure
to
put
an
item
on
here.
A
A
E
B
B
B
A
C
Do
it,
oh
sorry,
deleting
an
object
and
recreating
it
is
a
big
deal
in
I
know
you
know
it
changes
the
Eid
and
I.
Don't
know,
but
you
know,
I
have
some
workloads
are
really.
Colleagues
have
some
workloads
that
are
very
sensitive
to
you.
Ids
and
you
know
they
have
finalizes
of
objects
and
you
may
delete.
You
may
request
the
object
to
be
deleted,
but
it's
not
going
to
go
away
for
a
while.
B
Yeah
I
know
that's
why
I
said
I,
don't
understand
why
people
would
use
these
folks
black,
but
it
looks
like
some
people
do
and
we've
provided
it
to
coop
Carolla
play
in
the
past
again.
I,
don't
think
I
would
have
done
that
personally,
but
now
that
we
have
the
flag
I
think
suicide
has
to
deal
with
it.
A
B
B
A
B
B
B
B
A
C
Come
on
you
know
the
way
you
know
the
way
this
goes.
You
introduce
a
new
verb.
I'm.
Sorry,
if
you
can't
get
the
name
you
want,
you
have
to
settle
for
another
name.
You
know
you
eventually
retire,
the
name
that
has
the
meaning.
You
don't
want.
I'm.
Sorry,
if
you
can't
keep
the
ideal
name,
but
you
know,
maybe,
after
a
long
gap
of
you
know,
10
releases,
you
can
reintroduce
the
old
name
with
the
new
meaning.
C
B
C
C
A
C
B
So
we're
trying
to
fix
that.
The
good
thing
is
that
almost
no
one
used
the
server
side
of
playing
115
because
it
was
a
alpha
and
that
end,
because
nobody
used
also
deploy,
or
at
least
the
managed
field
before
it
got
enabled
by
default.
That's
also
why
we
don't
realize,
but
some
people
still
have
115
client,
the
controllers
running
on
118
API
servers
and
that's
why
it's
breaking
now.
B
B
So
yeah
we
have
a.
We
have
a
bug
somewhere
in
convulsions
during
Zod
tracking
someone
of
some
sort,
some
sort
of
conversion
that
we
I
don't
know
what
so.
First
of
all,
it
shouldn't
fail
the
update
because
it
used
to
work.
So
this
is
backwards
incompatible.
So
we
want
to
be
able
to
ignore
these
cells
and
not
break
everything,
because
we
fail
to
managed
to
track
the
manage
wheels
and
we
want
to
fix
the
underlying
issue,
which
is
the
poem
with
the
conversion.