►
From YouTube: WG API Expression Bi-Weekly Meeting for 20210330
Description
WG API Expression Bi-Weekly Meeting for 20210330
A
C
B
A
D
B
B
That's
the
extract.
We
basically
we
had
one
extract
and
we
need
the
applied,
the
extracts
that
and
the
extract,
and
so
I'm
not
completely
sure.
How
do
we
want
do
you
have
an
opinion
on
that
kevin
like
today,
the
way
he
implemented
it
is
by
having
subresource.
A
B
C
A
A
B
B
A
B
For
example,
but
for
crds
the
replicas
field
can
be
in
a
different
path
than
spec.replicas
yeah,
and
so
you
would
get
an
object
that
would
be,
for
example,
deployment
with
just
spec
replica
set,
but
that's
not
something
you
can
apply
to
the
scaled
sub-resource
anyway.
B
You
still
need
to
have
a
auto-scaling
scale
object,
so
it
doesn't
even
give
you
the
right
type
of
objects
and
if
you're
a
cld
and
the
replicas
path
is
in
a
different
location,
you
still
need
to
transform
this
cld
type
spec,
something
like
because
into
a
scaling
object
with
spec
replicas.
So
I
mean
you
do
need
to
do
a
transformation.
D
A
E
A
A
B
B
D
Yeah,
so
this
was
the
issue
where,
if
you
are
trying
to
extract,
say
your
manager
just
owns
like
a
list
like
or
like
a
like
a
map
such
as
empty
just
the
metadata
map,
but
nothing
in
that
map,
then
currently,
if
somebody
else
comes
in
and
adds
to
that
map,
the
way
that
extract
currently
works
is
because
it
thinks
the
map,
the
the
metadata,
is
everything
under
that
map.
It'll
extract
everything,
but
we
only
want
to
be
able
to
extract
just
that
top
level.
D
The
fact
that
you
own
the
metadata
map
and
care
about
its
existence,
but
none
of
the
sub
fields
of
that
of
that
map,
basically-
and
so
this
issue
itself-
is
not
hard
to
fix,
but
what
it
did
reveal
is
that
there's
an
issue
in
schema
reconciliation
where
we
can't
accurately
determine
whether
a
node
is
atomic
or
not,
and
so
basically
what
this
means
is
that
the
way
that
schema
reconciliation
currently
works
is
it
will
think
that
a
ace.
D
Sorry,
I
need
to
pull
up
the
notes
here,
but
it
thinks
that
that
a
node
in
has
a
change
from
atomic
to
granular
or
not
atomic
incorrectly,
because
the
way
it
determines
whether
a
node
is
atomic
is,
if
the,
if
you
have
an
empty
map
in
it,
basically
or
an
empty
list
in
it,
and
so
I
don't
know-
maybe
maybe
you
can
summarize
that
better
antoine,
but
basically
we're
trying
to
figure
out
a
way
to
handle
this
situation
where
a
manager
does
own
an
empty
map.
D
But
schema
reconciliation
doesn't
think
that
it's
that
that
it
was
at
once
that
it
was
one
at
one
time
atomic,
because
it
doesn't
own
anything
within
that
map.
I
yeah
that
wasn't
that
was
kind
of
poorly
explained,
but
that's
kind
of
what
we're
working
with
now
and
I
don't
know.
Let
me
know
what
questions
you
have
around.
B
A
Okay,
so
the
issue
is
about
somebody
only
adding
the
parent,
but
also
getting
the
children
objects
in
their
extract
right,
yeah.
That
seems
a
bit
familiar
with
the
problem
problems
I
had
when
doing
the
ignore
sphere
ignore
field
stuff,
but
I'm
not
sure
if
it
is
that
we.
A
A
B
Guess
we'll
definitely
talk
to
joe
tomorrow
when
he's
back
about
this
because
he
wrote
the
reconciler,
so
he
thought
about
that.
He
maybe
even
have
he
maybe
has
a
document
to
describe
her
his
algorithm
and
the
the
line
of
that.
So
we
could
probably
look
back
at
it
and
yeah.
I
think
we
just
need
to
be
smarter.
Somehow.
A
D
Yeah
we'll
talk
to
joe
tomorrow
and
I
think
we're
currently
or
at
least
I'm
currently
exploring
the
idea
around
maintaining
some
sort
of
like
checking
if,
if
anyone
has
ever
like,
if
any,
if
other
managers
have
have
modified
it
in
a
granular
way,
so
that
the
the
manager
that
only
owns
the
the
top
level
will
know,
oh
somebody
else
is
is
has
used
it
in
a
granular
form.
Therefore
it
must
be
granular
and
it
can't
be
atomic.
D
B
Reconcile
with
schema
is
the
thing
that
looks
at
the
manage
field
to
know
if
we
went
from
atomic
to
granular
or
the
other
way
around
for
a
crd
or
default
fold
types.
Actually,
whenever
we
start
the
apply
or
update
path,
we
first
update
the
manage
fields
based
on
this
decision,
so
we
look
at
all
the
managed
fields
and
we're
like
is
this
was
does
this
look
like
it
was
atomic
before
and
it's
not
anymore
and
we
fixed
the
managed
fields
before
we
do
the
apply
path
or
the
update
path.
A
Yeah
then,
let's
see
which
is
update,
selectors
and
field
types.
I
was.
B
Left
just
before,
and
he
can't
make
it
to
this
meeting,
but
he's
he's
thoughtfully.
Looking
at
all
the
types
dot
go
that
we
have
and
trying
to
see.
If
we
need
to
change
any
of
the
atomicity
or
not
of
some
of
the
fields,
specifically
maps
and
lists,
I
must
be
maps
to
be
honest,
because
a
lot
of
maps
are
not
atomic
by
default,
but
the
party
should
yeah.
B
Okay,
yeah
the
selectors,
and
so
we
decided
that
pretty
much
anything
that
is
a
coordinate
is
probably
atomic
right.
It
doesn't
ever
make
sense
to
say
I
own
x
and
you
and
y,
and
that's
how
we're
going
to
aim
at
something,
and
so
anything
that
looks
like
a
coordinate
or
like
a
color
is
probably
something
that
is
the
atomic
and
so
a
good
way
to
detect.
That
is
that
any
structure
that
has
only
scatter
fields
and
probably
not
many
of
them,
is
maybe
atomic.
B
A
B
Are
coordinates
right?
They
allow
you
to
select
something
specific,
it's
kind
of
hard.
If
someone
says
I
want
to
select
these
and
someone
else
says,
I
want
to
select
that,
and
they
eventually
end
up
selecting
nothing
because
because
they
don't
make
sense
together
yeah,
so
I
think
it's
better
if
the
atomic.
A
E
B
Okay,
I
don't
know
about
triple
programming,
if
that's
the
thing
that
we
can
try,
if
you
want
okay,.
A
B
A
A
Yeah,
oh,
it
was
already
right
in
the
tests.
Okay,.
C
B
It
was
already
writing
the
test.
I've
tried
to
look
at
whether
we
should
change
the
test
to
not
use
it's
to
use
the
actual
default
manager
created
by
the
code,
rather
than
have
it
recreated
in
the
test
in
a
different
way.
But
it's
not
that
easy.
So.
A
A
Yeah
documentation,
I
I
read
your
comment
about
the
differences
antoine
and
I
actually
wanted
to
start
a
document
because
what
it
made
me
think
of
it
and
I
think
it
would
be
pretty
cool
to
have
like
a
side
by
side.
A
B
I'm
I'm
talking
to
a
few
teams
and
they're
like
so
we're
changing
from
client
side
to
server
side,
and
so
I
have
to
warn
them
that
this
is
not
going
to
behave
exactly
the
same,
and
it's
a
little
time
for
me
to
repeat
and
probably
forget
things
every
time,
and
I
don't
even
know
if
we
know
very
clearly
what
it
is,
what
the
differences
are
and
if
we
ever
want
to
change
from
client
side
to
to
server
side
for
the
default
in
cube
coral,
we
need
to
be
very
clear
about
the
differences.
A
I
haven't
made
myself
yeah.
I
looked
at
the
documentation
story
when
I
finished
my
my
current
task
before
before
code
freeze
and
that
I
had
a
like.
I
was
very
certain
of
what
I
wanted
to
do,
but
then
I
looked
at
our
documentation
and
I
didn't
have
so
much
of
a
clue
what
to
write
down
because
it
always
comes
up
when
somebody
asks
about
something
it's
hard
to
like
ad-hoc
makeup
stuff,
to
write
down.
A
B
A
B
A
B
Yeah
also,
I
think,
if
we
want
to
release
more
often
than
kubernetes
and
that's
becoming
kind
of
obvious,
we
need
to
be
careful
about
not
developing
bottom
up,
like
from
the
car
to
the
user,
but
side
to
side.
I
mean
we
have
some
of
the
call
and
we
have
some
of
the
the
whole
story
exists
from
the
beginning,
and
so
ducks
up
should
be
included
in
the
in
the
deadline.
A
A
Doc
on
that
first,
so
we
can
easily
draft
around
before
we
have
to
go
into
pull
requests
and
everybody
can
drop
their
ideas
in
on
differences.
B
You're
capturing
a
lot
of
the
interesting
points
here,
I
think.
A
Yeah
and
I'll
see,
if
I
get
to
this
week,
I
have
a
pto
starting
friday
for
a
week,
so
I'll
have
some
time
yay
and
yeah
good
for
you
yeah,
but
the
last
weekend.
A
Let's
see
the
first
link
is
but
yeah
you
mentioned.
I
should
look
at
the
tasks
and
like
some
of
those
on
the
first
github
link,
you
have
a
list
of
tasks.
Some
of
the
linked
things
are
already
merged
or
closed
or
done,
but
I
didn't.
B
Sometimes
they
don't
entirely
solve
the
problem
or
there
might
be
a
comment
somewhere
and
sometimes
they'll.
Yes,
often
when
they
link
to
something
that
is
merged.
It's
because
it
does
not
entirely
solve
the
pattern.
A
I
think
yeah
I
I
I
like
especially
the
the
whole
list-
type
list
map
keys,
documentation,
part
that
maria
took
on
a
while
ago.
I
have
no
overview
about
what
we
miss
and
what
we
need,
and
I
I
don't
even
know
much
about
the
list-
type
feature.
What
should
be
documented,
so
I
was
kind
of
stranded
and
I
don't
know
what
to
do
with
this.
A
B
Today
and
ask
them
if
we
can
maybe
meet
this
week,
yeah.
A
C
Yeah,
if
you
can,
if
you
have
a
meeting,
just
add
me
to
that
meeting
too.
I
know
some
people
from
documentation
from
the
other
project
that
we
work
on.
So
I
also
can
ping
the
same
people
from
documentation
to
see
when
can
meet
them,
but
I
don't
know
if
they
have
anything
like.
I
don't
see
any
like
and
from
the
other
projects
and
like
there
is
nothing
that
is
like
a
rule
for
them,
but
we
always
they
are
open
to
meet
us
and
give
us
their
like
feedback.
I
think.
C
F
Yeah,
so
I
guess
didn't
know
much
update.
F
Since
last
conversation,
I've
been
focused
on
okay,
I
think
in
the
last
two
weeks
of
that,
but
in
the
next
quarter
I
officially
treated
the
on
my
10
percent
project
and
I
have
been
distracted
myself
from
some
other
focus,
so
I
will
proactively
working
on
it
and
I
guess
no,
I
we
can
talk
about
it
in
the
next
meeting,
but
if
you
guys
still
have
some
time
there's
one
thing
I
want
to
talk
about
server
side
apply,
so
basically
kcc
is
using
it
to
address
our
specific
use
case.
F
There
is
one
I
can
share
you
guys
some
documentary
our
teams
is
working
on,
but
it's
not
very
clear
to
me
how
server
side
applied.
What's
the
guideline
for
server
side
applied
to
to
handle
deleted
fields.
F
B
Okay,
so
I
just
added
these,
I
thought
of
the
things
we
probably
need
to
document.
So
what
is
the
question
again?
So
what
happens
when
the
field
is
deleted?
That's
the
question.
F
Yes,
basically,
that's
it,
so
I
I
guess,
what's
the
meaning
or
what's
the
intention
if
some
field
is
deleted
from
the
configuration
like
no
one
clear
ownership,
button
field
is
basically
yeah.
B
So
multiple
things,
so
we
don't
have
a
good
mechanism
to
say
this
field
needs
to
be
deleted.
That's
not
a
thing
and
joe
has
tried
to
work
on
what
we
call
tombstoning,
which
was
a
mechanism
to
say
I
want
this
field
to
be
removed,
and
so
we
don't
have
a
very
good
mechanism
for
that.
What
happens,
though,
is
that
if
no
one
owns
a
field,
it's
going
to
typically
get
deleted,
especially
if
it
was
applied
before
so.
B
If
you
apply
a
field
and
then
you
apply
without
the
field
it's
going
to
be
deleted.
If
no
one
else
owns
it,
it's
not
true
about
update
because
update.
If
you
want
to
do
an
update
that
is
update,
put
badge
you
can
just
remove
the
field,
but
so
I'm
assuming
you're
talking
about
deleting
with
apply
and
yes
deleting
with
apply
means.
B
F
Okay,
I
think
that
that
approach
is
basically
required,
that
you
declare
known
able
for
every
field
right.
B
So
120,
if
the
field
is
not
notable
and
you
send
no,
it's
going
to
be
deleted.
F
I
guess
another
question
around
this
event
for
the
controller,
so
what
is
going
to
work
on,
basically
is
the
the
configuration
without
the
field
right.
So
I
think
key.
This
is
going
into
a
situation
that
we
need
to
know
that
this
field
is
present
before
and
now
it's
gone,
so
we
can
do
the
correct
thing
if
we
just
have
the
information.
Okay,
this
is
the
configuration
without
this
field.
We
don't
know
it's
present
before
so.
Have
you
considered
the
use
case.
B
If
you're
doing
something
you
shouldn't
have
to
have
this
logic,
this
logic
is
embedded
in
the
api
server
and
it's
very
hard
to
mimic
and
you
shouldn't
have
to
mimic
it
so,
and
you
can't
know,
especially
because
of
monkey
versions,
but
so
you
can't
really
know
if
the
field
needs
to
be
removed
or
not,
but
source
that
applies
should
do
that,
for
you.
F
Okay,
so
basically
you
are
seeing
that
what
the
controller
will
see
is
basically
the
the
configuration
with
that
field
right
with
the
field
removed.
B
F
Okay,
then
I
guess
that's
the
part
confused
me,
so
yeah
everything
makes
sense
for
the
at
this
point
and
then
the
controller
needs
to
kick
in
and
do
this
things
against
the
configuration
right.
So
previously,
there
is
some
value
for
that
field.
We,
the
controller,
did
something
with
it.
Now
this
field
is
gone.
The
controller
has
no
information
about
this
field
anymore.
So
what
should
the
controller
do?
How
can
I
ensure
this
field?
F
B
F
It's
a
later
location,
look
at
the
objects
from
the
cluster
and
do
something
to
the
gcp
resources.
That's
how
what
kids
is
doing
right
basically,
so.
B
Yes,
okay,
yeah
yeah.
I
see
what
you're
saying
so,
I'm
guessing
that
and
this
seems
to
be
completely
unrelated
to
several
side
applied
by
the
way,
because
the
I
mean
outside
reply
is
merely
about
the
formula
right.
B
How
did
you
get
the
conflict
to
be
what
it
is
on
the
api
server,
and
so
I
suspect,
typically,
you
should
have
the
status,
have
the
information
about
what
you
currently
have
in
the
system
and
expect
what
you
want
to
be
the
system
to
be,
and
so,
if
you
notice
the
difference
between
what
people
want
and
what
you
have
then
you're
supposed
to
actuate.
Somehow.
D
B
What
you
have
is
that
if
you
have
a
field
that
said
before,
I
want
this
to
happen
and
the
status
says
this
has
happened
and
now
it's
removed.
You
should
see
that
oh,
it
happened
and
we
want
to
delete
it
so
because
it's
going
to
be
present
in
the
status
and
not
in
the
spec
anymore.
So
you
need
to
remove
it.
A
D
F
F
B
They
probably
should
not,
but
it
sounds
like
you're
trying
to
make
something
you're
trying
to,
and
that
makes
sense,
because
that's
the
role
of
the
controller
but
you're
trying
to
get
something
from
the
status
of
the
or
from
the
the
current
state
of
the
configuration
right,
you're
telling
me.
How
do
I
detect
a
change
in
the
configuration
and
that's
one
of
kuboni's
principle
right
is
that
you
should
not
care
about
the
change
in
the
configuration?
B
It's
not
it's,
not
it's
level
based
right,
so
you
should
look
at
the
level
and
make
sure
that
the
level
is
what
the
status
is
or
what
the
state
of
the
system
is.
A
F
Yeah,
that's
basically
the
approach
we
we
took
that
we
use
the
web
group
to
catch
the
transaction
and
store
the
information
into
the
metadata
seeing
okay.
These
fields
have
been
present
before
and
now
we
want
to
get
it
removed.
So
we
have
some
special
logic
to
handle
this.
I
just
want
to
check
with
gallery:
isn't
it
a
good
way
to
do
it?
I
think.
B
F
B
Sounds
wrong
to
me:
can
you
can
you
come
back
to
me
with
some
example
of
where
you're
doing
that
specifically,
so
I
can
look
at
if
this
is
I
mean,
maybe
I
don't
know
all
the
details,
so
maybe
I'm
wrong
right,
but
it
sounds.
F
Yeah,
I
have
the
same
concern.
That's
why
I
want
to
check
with
you.
I
will
share
the
design
dog
with
you
later
and
please
tell
us
and
give
any
feedback
yeah,
but
just.
F
Thing
sorry:
go
ahead.
A
No,
I
I
yeah.
I
just
want
to
say
that
it
sounds
like
one
of
those
cases
where
we
had
the
api
principles
discussion,
that
we
want
to
put
our
best
practice,
because
it
could
be
one
of
those
cases
that
it's
not
really
intended
to
be
done
like
that,
or
it
feels
a
bit
like
what,
until
I
mentioned
so
yeah.
Okay,.
F
Yeah,
I
I
I
understand
that
yeah
we
came
up
with
some
our
own
when
we
divide
the
crt
and
kvcc,
if
not
very,
in
line
with
the
black
patches
in
all
the
ways.
So
I
guess
one
clarification
I
have
with
that,
so
it
is
recommended
that
you
have
every
field
replicated
in
status.
F
B
F
Okay,
yeah,
that
makes
sense
okay,
anyway,
yeah,
that's
a
good
conversation.
I'll
share
the
dog
with
you
and
then
afterwards,
please
awesome
vlog.
Yes,
thanks
and
I.
D
F
Will
work
on
the
ubw
things
proactively,
starting
with
this
quarter.
I
have
some
capacity
now.
Finally,
sorry
about
that.