►
From YouTube: Velero Community Meeting - August 24, 2022
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
Okay,
let's
start
hello,
everyone
today
is
august
the
24th,
and
this
is
valero
community
meeting.
A
First,
let's
check
the
first
chapter
status,
so
we
have
released
version
191
and
we
have
fixed
11
issues
for
four
version
way.
1.10
copy
integration
is
also
on
track
and
we
have
made
our
target
actually
the
nearest
target
that
is
to
make
through
the
two
passes
from
end
to
end,
and
after
that
we'll
be,
we
will
be
able
to
do
some
assess
to
do
some.
A
A
Okay,
thanks
and
danny,
please.
C
This
week
I
review
some
prs
and
add
a
parameter
for
browser
to
control
the
uploader
type
so
and
that's
the
switch
to
control
we'll
be
using
copia
or
reset
for
the
pod
volume
that
happen.
Resource
later
will
be
integrated
with
other
controllers,
to
you
know,
establish
the
engine
workflow.
A
Okay,
thanks
and
thank
you.
B
Oh
yeah,
first,
I
add
a
new,
an
in-text
script,
which
is
backup
crd,
which
use
different
api
extension
api
versions
and
fix
a
issue
of
exclude
label
in
the
test
and
add
a
korean
step
after
each
test
to
release
the
bsr
base.
That's
all
from
me.
A
Okay,
thank
you,
and
I
mean.
A
A
Okay
thanks
scott,
please.
D
Yeah,
so
I
have
a
couple
of
pr's
open.
The
previous
ones
were
one
around
the
the
item.
Action
progress,
monitoring,
they've
been
there's
been
review.
I
know
we
were
hoping
to
get
some
comments
from
from
dave
and
looks
like
he's
not
available
on
that,
so
I
think
we
may
have
to
go
forward
without
him.
On
that
I
don't
know
if
anyone's
reached
out.
I
know
I
know
orlando
mentioned
before
he
went
on
vacation.
D
He
was
gonna
reach
out
to
dave
to
see
he
was
available
to.
You
know,
provide
feedback
on
that,
but
it
looks
like
they
may
have
to
go
forward
without
that.
D
And
actually
sorry,
on
the
first
one
I
mentioned,
I
I
gotta
fix
it
in
the
status.
I
I
have
the
wrong
description.
It's
not
the
not
the
existing
resource,
one,
that's
actually
a
pr
that
should
not
have
put
together,
but
it's
another
bug
around
an
empty
namespace
list.
D
Basically,
if
there's
a
situation
where,
when
you,
when
valero
processes
the
includes
and
excludes
on
the
namespace
list,
if
the
result
has
is
an
empty
list
right
now
that
causes
a
panic
and
crashes,
the
valero
server,
and
so
it's
just
about
xpr
that
I
have
out
to.
B
D
That
logic
for
the
kind
of
it's
kind
of
an
edge
case,
but
if
there's
a
situation
where
the
include
the
next
clues
get
evaluated
together
and
there's
nothing
left
the
then,
instead
of
crashing
it'll,
actually
work-
and
you
know
the
expected
thing-
is
basically
only
namespace.
Sorry
only
you
might
get
cluster
scope
resources,
but
nothing
from
namespaces,
but
what
you
won't
have
is
crashing
the
valero
server.
So
that's
that's
the
buckwheat
fiera
that
I
pushed,
or
rather
yeah
I
created
a
couple
days
ago.
A
C
D
Okay,
so
I
can
just
kind
of
describe
basically
what's
going
on
there
is
that
in
the
case
where
you
have
where
valero
is
backing
up
every
namespace,
the
way
that's
the
way
at
this
point,
the
namespace
list
will
have
a
single
entry
and
that's
going
to
be
an
empty
string.
So
so
so
the
slice
will
have
a
length
of
one
and
the
only
item
in
that
list
is
going
to
be
an
empty
string.
So
that's
that's
the
case
where
we're
backing
everything
up,
in
which
case
we
skipped
this
section.
D
The
other
case
that
was
already
handled
appropriately
was,
if
you
have
a
list
of
namespaces.
That's
not
you
know
complete.
You
know,
that's
it.
You
know
you
might
have
name
split,
namespace,
one
and
namespace,
two
or
whatever.
In
that
case,
then
the,
if
condition,
would
succeed-
and
you
would
go
into
this
block
because
because
you're
saying
that
that
list
is
not,
you
know,
it
doesn't
begin
with
an
empty
string.
D
The
case
that
was
not
handled-
and
this
is
fixing
it's
the
case
where
the
list
is
actually
an
empty
list,
which
means
the
slice
has
a
length
of
zero
there's
nothing
in
it,
and
that's
also
so
the
issue
there
is
now
we're
saying:
hey,
there
are
no
name
spaces
are
backing
up,
so
we
we
don't.
We
don't
want
to
skip
this
block
because
skipping
this
block
is
what
you
do
if
you're
backing
up
the
whole
cluster.
D
We
want
to
go
into
this
block
because
we
don't
we
because
it's
it's
less
than
a
full
cluster
backup,
because
this
block
will
exit
before
we
go
on
to
to
handle
some
logic
below,
which
is
only
done
for
full
namespace,
full
cluster
backups.
So
in
the
the,
if
condition
in
this
pr,
basically,
we
entered
the
block
if
it's
either,
if
there's
either
entries
in
that
list
that
are
not
an
empty
string,
which
means
you
know.
D
I
have
namespace
one
namespace,
two
namespace
three
and
that's
it,
but
we
also
want
to
go
into
the
block
in
the
same
way.
If
it's,
if
it's
an
empty
list,
if
there's
nothing,
if,
if
the
slice
has
a
length
of
zero,
where
we
want
to
skip
is
if
the
slice
exists,
there's
an
entry
in
it
and
that
entry
is
an
empty
string,
because
that
is
the
way
valero
says:
hey
we're
backing
up
the
whole
cluster
within
all
the
namespaces.
D
D
D
Yeah,
so
so
it
won't
go
through
any
of
those
which
means
it
won't
add
any
of
that
so
it'll
end
up,
but
but
the
the
other
thing
is
what
happens
is
after
we
after
we
iterate
over
that
list,
in
which
case,
if
there's
nothing
in
the
list,
then
we
don't
enter
that
loop,
there's
a
return
statement,
and
so
we
want
to
return
and
not
go
on,
because
the
going
on
is
that
that
logic
is
only
we're
only
supposed
to
be
going.
C
C
I
say
you're
right
so
so
so
would
it
make
sense
if
you
also
update
the
comment
in
the
line
228,
because
that
is
a
little
I
think,
misleading,
because
I
said
it's
only
certain
ones
so
so
it
seems
to
me
I'm
not
an
ap
native
speaker,
but
it
simply
implies.
If
that's
an
empty
list,
we
should
not
enter
this.
Okay.
D
C
C
D
D
Okay,
so,
and
then
the
third
thing-
and
after
this
pr
which
I
hadn't
mentioned
yet-
and
this
is
an
additional
there's-
no
additional
progress
this
week-
I'm
just
bringing
it
up
again
because
the
plug-in
no
sorry,
oh
yeah,
the
baseball
credentials,
work
that
already
has
one
approval.
It
just
needs
one
more
approval
and
we
can
merge
it.
I
I
had
responded
to
feedback.
I
made
some
changes.
There
was
one
approval,
so
I
just
need
one
more
approval
and
that
should
be
good
to
go
and
obviously,
if.
C
D
Great
and
the
third
thing
was
not
really
as
much
a
status
update
but
more
of
a
question.
Fourth
thing:
I
guess.
Oh
sorry,
the
plug-in
versioning
work,
I
know
fung
has
been
working
on
that
and
it
was
mentioned
last
week
that
he
had
been.
I
guess
the
last
couple
of
updates
and
he's
been
kind
of
pulled
off
into
some
other
things.
D
I
just
wanted
to
point
out
and
I'll
reach
out
to
him
directly.
If,
if
necessary,
I
may
be
able
to
you
know
kind
of
chip
in
and
help
out
there,
or
maybe
someone
else
on
the
oath
side.
Red
hat
could
as
well.
I
can
work
with
people
there
just
because
this
is
something
we
need
for.
The
data
mover
work
that
shubham's
talking
about
because
that
that
builds
on
the
item
action,
progress
which
builds
upon
the
plug-in
versioning.
D
So
this
that's
kind
of
a
blocker,
for
you
know
some
things
here.
So
if,
if
that's
going
to
be
at
risk,
then
we
may
need
to
look
at
putting
some
traditional
resources
onto
that,
and
I
may
be
able
to
help
that
directly
or
if
not
myself,
then
someone
else
on
the
oedp
side
may
be
able
to
to
defend
there
as
well,
but
I'll
reach
out
to
phong
directly
on
that
this
week
to
see
where
he
is
with
that
he
may
be.
E
Hey
hi,
so
I
have
a
pr
for
the
issue
which
I
had
brought
up
in
earlier
call.
E
So
basically,
this
solves
the
edge
cases
where
you
don't
get
an
already
exist
error,
because,
let's
say
what
we
do
is
generally.
We
perform
a
create
call
for
the
object
that
we
need.
That
needs
to
be
restored,
and
if
we
get
an
already
exist,
error,
kds
error,
then
we
say
that
the
object
is
already
exist.
But
what
what?
If
there
is
a
case
when
the
create
call
doesn't
get
executed?
E
That
was
the
bug
that
we
found
out
like
due
to
admission
web
validation.
We
were
unable
to
get
the
already
exist
error,
but
in
reality
the
object
was
existing
in
cluster.
So
what
well
I
wrote
it.
What
was
it
tried
to
restore?
D
And
I
just
wanted
to
clarify
one
thing
too
on
that,
because
because
this
is
something
that
that
I
worked
with
and
working
through
the
fix
here
and
and
and
it's
not
so
much
a
case
where
we
want
to
be
have
a
more
specific
error
message,
it's
that
we're
failing
a
a
restore
now
and
we
actually
don't
want
to
bail
it.
Because
you
know
what,
when
an
object
already
exists,
valero
will
put
a
warning
in
there
I
mean
a
little.
D
This
depends
on
that
existing
resource
policy,
but
when
you
apply
the
non
resource
policy,
which
is
the
default,
we
don't
fail
restore
if
the
resource
exists.
D
Already
we
put
in
put
in
a
warning
if
it's
different
from
what's
in
the
backup
in
the
cluster
or
no
warning
at
all,
if
the
object
hasn't
changed,
so
we
were
getting
as
shubham
said
in
one
case
here
where
there
was
some
additional
validation
happening
in
this
in
this
web
hook
and
admission
web
hook
where
it
was
failing
with
a
different
error
message
before
the
cluster
controller
even
got
to
the
point
of
trying
to
create
call,
which
means
the
error,
the
error
type.
D
We
got
back
was
not
the
expected
one
for
an
art
exists,
and
so
valero
was
marking
this
as
an
error
and
partially
failing
the
restore
when
in
reality
and
giving
the
user
a
very
confusing
error
message.
Talking
about
you
know,
you're
only
allowed
to
have
one
one
default
volume
snapshot
class,
but
the
user
wasn't
trying
to
create
a
second
one.
They
were
just
trying
to
do
a
store,
and
that
was
in
you
know
the
backup.
D
So
what
it
should
have
done
was
recognize
hey.
This
thing
already
exists:
we're
going
to
apply
the
existing
resource
policy,
which,
in
the
default
case,
is
just
okay
warren.
If
it's
different
or
you
know,
do
nothing
if
it's
the
same
and
move
on.
So
this
is.
This
is
allowing
valero
to
recognize
that
case
so
that
we
don't
fail
a
restore
when
we
shouldn't
be
failing.
It.
D
Exactly
so,
basically,
there's
two
situations
that
you
know
when
we
issue
the
create
call
actually
there's
three
things
that
can
happen
either.
It
succeeds,
in
which
case
you
know,
that's
a
normal
case,
we're
not
touching
that
here
or
it
fails
with
an
already
exist
error,
and
in
that
case
we
go
down
this
path
of
the
existing
resource
policy
and
comparing
resources
and
all
that
and
then
the
third
case
here
is:
it
fails
with
another
kind
of
error
and
right
before
this
pr
valera
always
assumes.
D
If
it's
another
kind
of
error,
it's
an
error,
we're
going
to
fail
this
thing,
and
this
gives
us
an
one
more
check
to
say
before
we
do
that.
Let's
just
make
sure
this
object
doesn't
already
exist,
because
if
it
already
exists,
we're
going
to
apply
the
resource
policy,
so
we're
not
making
an
x.
You
know
part
of
the
reason
the
logic
is
done.
This
place
we
didn't
want
to.
D
You
know,
force
an
extra
get
call
for
every
object,
because
that
would
be
a
lot
of
processing
and
we
didn't
want
to
force
an
extra
get
call
when
we
had
the
guardians.
This
error,
because
we're
already
getting
it
there
so
the
only
time
we
have
an
extra
get
call
is:
if
there's
an
error
returned
from
create,
and
it's
not
in
our
exist
error.
This
gives
us
that
additional
information
to
say,
oh
okay,
this
thing
does
already
exist,
but
we
got
a
different
error.
This
time
or
oh,
it
doesn't
already
exist.
A
Yeah,
actually,
we
have
discussed
this
issue
once
more
or
luckily,
you
know
and
we're
just
thinking
that
whether
we
can
seek
for
another
purchase
like
because
it's
a
error,
that's
written
by
the
community
api
right,
whether
we
can
seek
help
from
the
community.
That
is
for
the
first
approach.
B
D
Not
going
to
help
here,
though,
because
in
this
specific
case
the
error
is
saying:
hey,
you
can't
have
two
different
default
volume
snapshot
classes.
So
if
the
user
was
trying
to
restore
one
with
a
different
name
that
wasn't
a
duplicate
that
so
it
wasn't
already
existed,
you
would
get
that
exact
same
error
back.
D
D
D
D
Yeah,
because,
because
if
you,
if,
if
you're,
if
the
one
that
existed
in
the
cluster
had
a
different
name,
you
would
have
that
same
error
from
the
from
the
cluster,
and
so
valero
can't
tell
just
from
that
error
message
that
this
is
a
default,
a
duplicate
resource
that
needs
to
be,
you
know,
updated
or
patched,
because
what
would
happen,
especially
if
we
had,
if
we
were
using
the
the
the
patch
policy
for
already
exist
resources,
is
that
if
we
incorrectly
said
oh,
we
think
this
thing
already
exists
and
then
we
try
to.
C
I
see
your
point
so,
but
but
the
the
change
in
that
pr,
essentially,
you
know,
results
in
the
situation
that
we
we
we
treat
every
arrow.
We
check
again
for
every
arrow
to
see.
D
We
do
a
get
call
to
see
if
it
exists,
so
so,
after
the
after
a
failed,
create
call
basically
right
now
and
again,
if
we
want
to
talk
about
two
situations
so
before
this
code
before
this
pr
any
time
the
create
fails.
If
it's
an
already
exist
error,
we
then
do
a
get
call
to
compare
the
resources,
but
if
we,
if
it
was
a
different
kind
of
error,
then
we
didn't
do
a
git
call.
So
with
this
change
anytime
there's
an
error.
D
There
will
be
one
get
call
for
that
resource
just
to
to
either
to
see
if
it
does
exist
or
if
we
know
it
already
exists
to
get
the
information
so
that
we
can
compare
it
to
the
current
resource.
So
you
know.
So,
if
you
had
a
restore
with,
you
know
a
thousand
resources
that
you're
restoring
and
there
were
five
errors
and
four
of
them
were
not
already
exist
errors,
then,
in
that
case
you're
adding
four
more
get
calls
I
mean
the
only
time
this
would
be.
D
A
significant
performance
issue
would
be
if
everything
you're
trying
to
restore
is
failing,
and
in
that
case,
performance
is
not
really
your
biggest
problem.
A
A
Okay,
I
personally
think
yes,
indeed,
there
is
no
performance
issue
or
performance
ever
had,
but
the
the
causes
does.
You
know
somehow
look
a
little
bit
weird,
because
yeah
still
look
like
a
kubernetes
problem,
because
even
in
the
situation
that
two
different
two
two
sorry.
A
Two
objects
always
with
a
with
a
with
different
name,
but
are
working
for
the
same
thing.
For
example,
they
are
using
the
same
label.
Combinations
should
steal
a
written
different
error
messages
if
here's
the
problem
that
the
grades
does
return,
the
same
error
messages,
so
I
mean.
C
May
or
may
not
be
a
kubernetes
issue
because,
for
example,
there
may
be
three
condition:
kubernetes
need
to
check.
They
may
fail
in
other
conditions,
before
kubernetes
check
the
existence.
D
Right,
that's
that's
why
we
just
specifically
didn't
want
to
have
to
think
about.
You
know
fixing
this
for
the
limited
case
of
this
particular
kubernetes
issue,
because
any
time
a
create
call
fails
with
an
error.
That's
not
the
expected
one,
but
it
already
exists.
We
want
to
kind
of
cover
all
those
cases
here
because,
and
you
know
you're
right
it
may
this
may
be
considered
a
kubernetes.
But
to
me
this
is
not
the
right
message
to
return.
D
I
think
I
what
I
would
want
to
see.
As
a
user
of
this
kubernetes
you
know
api
is,
I
want
to
see
the
art
of
exist
error,
but
I
know
I've
seen
this
exact
situation
working
on
a
different
project
a
couple
years
ago,
where
again
this
was
outside
of
valera,
where
we
were
trying
to
use.
D
It
already
exist
error
and
it
was
failing
on
us
for
one
particular
use
case
for
one
particular
resource
type
and
we
had
to
apply
a
similar
approach,
because
you
know
the
reality
is
that
a
product
like
valero
sometimes
has
to
work
around
kubernetes
behaviors
that
we
might
want
to
call
bugs,
but
we
don't
have
control
over,
and
so
we
still
need
to
do
the
right
thing,
even
if
kubernetes
is
not
giving
us
the
most
appropriate
error
message,
and
so
this
is
kind
of
adding
resilience
to
valero,
so
that
valero
won't
fail
or
restore.
D
When
you
know
nothing
wrong
happened,
everything
worked
as
expected,
but
because
of
what
might
be
a
kubernetes
bug
again,
whether
or
not
the
developers
of
that
particular
mission
would
web
hook
would
agree
with
us.
It's
a
bug
or
not.
You
know.
The
reality
is
valero
still
needs
to
be
able
to
restore
this
thing,
because
this
is
not
really
an
edge
case.
This
is
something
that
we
hit
the
point
where,
basically
with
kubernetes,
I
think
it's
124.
D
D
Right
right,
exactly
I
mean
everything
got
restored.
It's
just
the
restore
shows
up,
as
part
actually
failed,
because
you
know
when,
when
the
restore
hits
an
error
you
know
on
on
the
creates,
if
it's
not
an
already
exist
error,
we
log
that
as
an
error
on
the
restore
we
move
on
to
the
next
object.
So
you
know
the
the
restore
was
completely
successful
from
the
point
of
view
of
what
got
restored
to
the
cluster.
D
However,
it's
reported
to
the
user
that
it
that
it
was
a
partial
failure
and
the
users
and
the
user
sees
oh,
the
volume
snapshot
class
restore
failed,
which
is
going
to
make
the
user
think
that
anything
related
that
dependent
on
that
failed,
so
they're
going
to
think.
Maybe
their
volumes
are
corrupted
or
that
they
didn't
get
restored
properly,
because
if
the
snapshot
class
couldn't
restore
then
csi,
it
might
not
be
working.
So
this
is
a
user
confidence
issue
as
well.
C
Yeah,
I
understand
your
point,
but
I
think
this
reflects
the
difference
in
the
concept.
Think
of
the
case,
you
write
a
file
to
a
storage.
If
there's
an
I
o
arrow,
you
fail
to
write
right.
Your
in
that
story.
There
is
identifier
already
so
do
we
consider
that
a
successful
case
or
failure
pace.
D
You
know
the
the
the
api
and
these
kind
of
design
and
valero
has
decided
that
if
I
try
to
restore
something
that
already
exists,
that's
not
an
error.
You
know
it's
a
warning
and
that's
that's
that's
the
way.
Valera
works
for
everything
else
when
we
get
that
already
exist,
error
and
because
some
controller
is
giving
us
an
unexpected
condition,
but
we
have
the
ability
to
determine
that
it
does
already
exist
this.
This
lets
us,
you
know
basically
preserve
existing
valero,
documented
behavior.
D
You
know
in
all
in
all
cases,
rather
than
having
to
document.
Oh
sometimes,
errors
are
not
really
errors
and
here's.
Why
and
here's
how?
Because
we
really
can't
predict
that
the
this
there's
really
there's
no
situation
where
you
know
anytime,
there's
a
real
error
that
should
have
been.
You
know
flagged
as
an
error.
D
The
object
won't
exist,
so
we'll
preserve
that
error
and
any
that
will
be
passed
on
to
the
user
just
like
it
is
now.
The
only
thing
this
is
going
to
change
is
in
cases
where
we
know
for
a
fact
that
valero
shouldn't
be
failing,
and
probably
the
controller
and
kubernetes
should
have
given
us
something
different,
but
it
didn't
and
we
can't
control
that
so
this
is.
This
is
kind
of
bolero's.
B
D
Resilient
in
the
face
of
the
fact
that
you
know,
kubernetes
is
doing
something
less
than
ideal
and
we
have
to
work
around
that
just
like
you
know,
there
have
been
other
other
faces
in
valero
code.
Where
you
know
we've
had
to
do
things
like
you
know,
wait
for
something
to
complete
when
we're
gonna
wait
for
something
to
exist,
even
though
kubernetes
should
you
know,
cooperate
with
things
that
don't
exist
yet.
But
you
know
not.
D
Every
controller
follows
the
pattern
and
we
have
to
deal
with
the
real
world
where
users
have
real
real
workloads
that
they
have
to
be
able
to
back
up,
and
we
can't
tell
users
hey
sorry,
you
can't
back
up
your
application
because
there's
a
you
know
an
obscure
kubernetes
bug
and
the
you
know
in
the
volume
snapshot
class,
especially
if
we
have
it.
I
mean,
obviously,
if
there's
a
community,
but
we
can't
work
around
that
makes
valeria
fail,
but
we
can't
deal
with
that.
We
have
to
get
that
fixed.
D
C
D
It's
not
really
an
edge
case
anymore,
because
it
seems
that
it's
always
happening
and
at
least
at
least
with
open
shift
clusters,
and
I
do
you
know
whether
pure
kubernetes
clusters
are
going
to
have
this
too.
I
suspect
this
is
a
kubernetes.
D
So
anybody
on
on
the
latest,
124
or
you
know
csi
code-
is
going
to
hit
this
problem.
C
C
We
we
may
take
this
offline
and
we
will
do
some
discussion
and
maybe
we
need
to
tweak
the
code
to
make
it
less,
because
currently
the
code
looks
a
bit
confusing.
To
be
honest,
what
is
doing
there
like
checking
and
narrow
again
and
again
so,
but
I
agree
that
if
we
decide
for
resource
for
a
particular
resource,
if
it's
already
in
the
target
cluster
and
the
level
is
designed
to
skip
restoring
that
and
if
it
sees
any
arrow,
we
probably
should
not
sail
the
resort.
That
makes
sense
right.
D
D
C
Yeah
yeah
so
yeah,
let's
take
this
offline
and
we
continue
discussing
on
this
one,
but
I
I
think
you
make
yourself
pretty
clear
and
it
also
sounds
reasonable
to
me.
B
D
Yeah,
the
the
only
the
only
thing
about
that
is.
We
have
to
return,
because
if
we,
if
we
embedded
that
in
the
already
exists,
what
we
don't
want
to
do
is
to
make
two
different
get
calls
that
was
that
was.
That
was
the
first
approach
in
it
because
you
know
if
we,
if
we
get
to
make
sure
that
it
exists,
then
we
return,
saying,
hey
true,
then
we
we
still
need
to
get
it
again
later,
because
we
need
that
reference
to
check
to
compare.
D
So
if
the
actually
tiger,
if
you're
on
the
call
that
almost
sounds
like
you're,
because
because
you
had
an
alternate
approach
that
you
were
proposing
internally,
I
think
that
may
have
been
the
way
you
did.
It
was.
Was
that
correct.
B
Maybe
I
basically
already
get
calls
and
moved.
I'm
really
really
reusing
the
get
call
inside
the
it's
already
exist.
Function.
D
Yeah,
okay,
so
that
so
so
it
sounds
like.
Is
that
because
it
was
just
proposed
that
maybe
we
should
do
that,
so
if
it
makes
sense,
I
mean
I'm
just
saying
that
that,
because
I
think
your
approach
was
basically
to
in
the
isrt
exist
function
itself,
rather
than
just
check
the
error
type.
Do
it
get
if
it's
the
wrong
kind
of
error
and
then
then
return
true,
so
yeah,
but
but,
like
you
said,
then
that
needs
to
return
the
result
of
the
get
call
as
well.
D
That
way,
we
don't
have
to
call
it
again,
because
we
don't
want
to
obviously
make
the
call
twice,
but
that's
another
approach
that
we
actually
had
a
discussion
internally.
Red
hat
about
you
know,
which
approach
makes
more
sense
too.
D
You
know,
for
similar
reasons
as
to
you
know,
what's
going
to
be
clear
as
to
what's
going
on,
so
I
don't
know
if,
if
that's
an
approach
that
others
want
to
see,
maybe
we
should
submit
tiger
could
submit
his
his
alternate
approach
this
as
far
as
from
what
I
remember
was
you
know
functionally
equivalent
to
this,
but
you
know
that
did
kind
of
hide
that
logic
in
the
already
exists
function
rather
than.
D
Yeah
and
the
other
thing
about
I
just
we
would
need
to
make
sure
that
this
this
version
that
we
clarified,
because
the
first
version
of
this
pr
that
we
had
of
chivalrous
pr.
We
had
a
bug
in
it
that
actually
broke
some
other
stuff
that
we
fixed.
So
we
need
to
make
sure
this
one
also
made
the
same
fix,
but.
A
It's
it's
from.
D
C
D
D
C
Yeah,
maybe
maybe
we
just
check
you,
know,
update
the
comment
and
reference,
the
specific
issue
or
somehow
to
make
the
future
maintainer
understand
the
rhythm
here
that
that's
yeah.
D
D
C
D
D
C
Yeah
agreed,
so
we
follow
up
this
pr
later
and
yeah
make
decision
very
soon:
okay,
okay,.
A
Thank
you,
okay.
Okay,
thank
you
and
let's
go
to
the
discussions
so
daniel.
This
is
for
the
plan
right,
yeah.
C
So
yeah,
could
you
open
that
link
guys
because
we
are
approaching
the
milestone
called
filter
freeze,
at
which
point
we
wanna
make
sure
that
there
is
a
concrete
bucket
of
workload
for
110,
and
so
we
will
be.
C
Can
you
first
open
that
query
yeah,
so
we
yeah,
so
we
want
to
remove
all
the
110
candidates,
so
it's
either
be
in
the
one-time
plan
or
it's
removed
from
the
one
template
we
go
through
them
internally
and
mark
the
few
candidates
we
think
should
be
different.
Scott
and
shubham.
Could
you
quickly
look
through
that
and
you,
okay
to
differ
those
one
to
move
it
out
of
110.
D
So
I
think
I
think
the
biggest
the
biggest
one
on
on
our
end
here,
I'm
seeing
here
that
is
the
the
data
mover
part,
which
that's
what
schumann's
been
working
on.
E
C
C
So
if
you
have
like
anything,
could
you
open
the
one-time
milestone.
E
C
No,
no,
I
mean
the
issue
list
or
or
okay
will
be
easier.
If
I
I
share
my
screen:
okay,.
C
B
C
We
went
through
them
internally
to
differ
a
few
of
them
and
there
are
a
couple
of
them.
We
think
we
still
need
to
think
if
that's
a
one-time
candidate
or
not.
I
think
this
one
will
probably
put
into
one
pen
right,
because
you
already
have
a
pr
and
almost
approved.
D
C
C
B
C
Oh
here
you
lined
up
okay,
yeah,
so
yeah.
So
that's
what
we
are
trying
to
do,
because
by
the
time
the
fc,
this
will
be
the
single
sort
of
truth
to
see
if
you
are
okay
to
fc
or
rc
and
ga
110,
okay.
So
so
for
the
default
candidate
again.
C
C
But
we
still
have
time
because
the
next
topic
I'm
talking
about
is
the
timeline,
because
you
know
we
have
assigned
other
work
and
have
some
resource
issue
here,
according
to
our
internal
checking
field,
that
it
would
be
better
if
we
delay
the
date
a
little
bit.
C
The
reason
we
want
to
delay
earlier
is
we
want
to
avoid
the
situation
that,
when
we
are
really
close
to
the
every
day,
we
delay
it
one
week
and
it
causes.
You
know
a
lot
of
chaos.
If
we,
you
know
make
the
decision
we
delay
make
the
decision
earlier.
But
if
we
are
in
a
better
shape
by
then
we
can,
you
know,
make
the
data
earlier.
So
then
you
know
we
are
less
stressed
and
things
can
go
a
bit
more
smoothly.
C
So
I'm
trying
to
propose
for
the
future
freeze
so
to
give
give
up,
give
us
more
time
to
decide
which
are,
in
the
one
hand,
for
example
in
the
versioning,
and
you
mentioned
there
are-
should
be
some
other.
You
know,
v2
plugins
implemented
in
one
hand
make
sure
there
are
issues
created,
so
we're
gonna.
You
know
close
the
time
window
by
the
date
of
september
7th,
so
probably
the
next
beijing
community
meeting.
C
We
will
make
the
final
decision
and
for
the
fc
we
delayed
for
two
weeks.
They
appear
to
be
three
weeks
because
there
is
a
public
holiday
in
china.
Everyone
is
out
of
office
for
more
than
a
week
in
the
early
october,
so
we
we
tentatively
delayed
to
october
19
and
the
rc1
early
november,
so
we
still
have
a
110
released
in
the
middle
late
november
before
december.
That
give
us
also
give
us
some
buffer
just
in
case
there
are
problems
before
you
guys,
you
know,
are
starting
the
holiday.
C
C
C
C
B
I
think
no
other
can
can
change
this.
Only
only
only
an
enemy
is
king
only
to
see
if
he
can
do
some
do
some
change
during
this,
but.
C
D
C
D
C
D
Another
one
right,
you
know
for
the
fifth
and
then
I
guess
the
question
is,
is
you
know
when
it's
going
to
be,
but.
C
Yeah
so
sorry,
sorry.
D
You're
you're
not
sure
see
I
I'm
just
saying,
because
the
current
invites
are
set.
You
know
one
night
right
for
the
first
of
them,
the
first,
the
first
wednesday.
Second,
third,
fourth,
those
invites
would
all
be
unaffected
because,
basically
we're
talking
about
adding
a
new
invite
on
the
fifth.
B
C
Yeah
yeah,
so
so
the
first
try
to
join.
Please
try
to
ping
on
orton
and
let
him
fix
it.
If
he's
not
responding.
D
The
other
thing
we
could
do,
I
I
don't
know
I
mean-
and
this
is
maybe
a
question,
because
when
orlando
comes
back
because
we
we've
talked
about
changing
the
time
on
the
north
american
meeting
anyways,
I.
D
It'll
be
more
confusing
or
less
confusing
to
to
get
away
from
the
first
second.
Third,
fourth,
you
know
wednesday,
thursday
or
tuesdays,
and
just
say
you
know:
we're
gonna
have
the
beijing
centric
meeting.
You
know
every
two
weeks,
starting
on
this
date
at
this
time
and
then
the
next
week
we're
going
to
do
the
north
american
meeting
every
two
weeks
starting
this
date,
because
you
can,
you
know,
schedule
a
meeting.
You
know
every
two
weeks
every
week,
then
it's
not
going
to
be
consistent
with
first.
D
D
Maybe
we
just
do
a
one-off
meeting
for
next
week,
just
decide.
Okay,
it's
going
to
be
this
time
next
week
this
day,
because
it's
happening
at
the
end
of
august
and
then
when
orlan's
back.
We
can
finish
that
discussion
and
maybe
bring
up
the
question
of
you
know
what
about
the
fifth
week
or
what
about
just
making
the
meetings
every
two
weeks.
You
know
on
this
at
this
time.
D
D
Yeah,
let's
wait
on
the
series
because
we
already
have
a
another
discussion
that
we
postpone
until
he
gets
back,
which
was
changing
the
time
of
the
north
american-centric
meetings
anyway.
So
let's
just
bring
the
fifth
week
of
the
month
into
that
discussion
and
kind
of
have
one
big.
You
know
kind
of
conversation
about
when
we
want
meetings
to
happen,
but
in
the
short
term,
if
we
want
to
have
a
meeting
next
week,
let's
decide
now
when
we're
going
to
have
it.
C
Yeah,
I
thought
we
already
discussed
this,
that
we
want
a
meeting
every
other-
I
mean
every
week.
So
if
we
can
find
aurin,
we
ask
him
to
make
the
update
to
fix
the
two
problems
in
one
update.
Okay,
if
we
cannot
find
him,
we
just
send
a
10.
You
know
a
one-off
invitation
for
31st,
so
on
september,
7th
there
will
still
be
the
north
america
time
zone
right
right
if
we
cannot
find
orleans.
If,
if
we
can't
find
early
in
september,
seven
will
be
waiting
time
zone
that
makes.
D
D
He
wasn't
going
to
make
the
decision
about
the
changing
times
until
he
got
back,
and
I
know
september
7th
he's
already
planning
on
not
you
know
not
being
back
yet
because
that's
that's
another
meeting
on
the
north
america
centric
time
that
shubham
or
I
were
was
going
to
be
leading
that
meeting,
because
he
wasn't
going
to
be
back
yet.
But
it
sounds
like
after
that
week
he
will
be
back.
C
Yeah
he's
going
to
be
back
actually
after
september
15th,
according
to
oh
yeah,.
D
So
so
I
I
think
right
now,
just
because
I
I
think
you
know,
since
he's
not
available
yet
let's
just
make
the
one-time
call
for
next
week
and
then
when
he
gets
back,
we
can,
you
know
figure
this
out
once
and
for
all,
and
you
know
for
all
the
meetings,
because
yeah.
D
And
also
being
comfortable
making
decisions
about,
you
know
long-term.
You
know
meeting
plans
because
that
it
does
change,
because
if
we
switch
to
doing
it
every
you
know
two
weeks
at
this
time
and
every
two
weeks
at
the
other
time
we're
no
longer
on
first
third,
second,
whatever
wednesdays,
and
that's
fine,
but
that's
a
that's
that
you
know
that
that's
also
a
change
not
just
to
the
calendar,
but
also
to
the
invites
and
to
the
you
know
the
website
and
all
that
community
website.
D
B
D
B
I
think
what
understanding
the
current
problem
for
next
is
for
next
week
we
will
not
have
any
community
meeting,
either
in
u.s
time
zone
or
in
beijing
time
zone
right.
D
Last
year,
when
we
just
started
doing
the
you
know
the
beijing
eccentric
meetings,
it
was
at
that
point
decided
to
not
have
the
meeting
if
there
were
five
wednesdays
in
the
month,
for
whatever
reason-
and
it
sounds
like
we
want
to
revisit
that-
and
you
know,
come
up
with
a
simpler
scheme
now,
which
would
make
sense
but
right
now,
because
of
that
there's
no
meeting
scheduled
on
the
you
know
on
the
list
for
next
week.
C
D
Yeah,
that's
actually
the
way
that
was
set
up
and
I
think
that's
just
because
they
wanted
to
make
it
clear
that
okay,
if
it's
the
first
wednesday,
then
we're
gonna
have
it.
You
know
the
beijing
time,
but
I
actually
think
the
switching
to
just
doing
it
every
two
weeks,
starting
this
date
makes
a
little
more
sense
anyway,
because
we've
already
have
some
confusion,
because
some
weeks
the
you
know,
we
have
a
meeting.
B
D
At
this
time,
on
the
you
know,
first
wednesday
and
then
the
second
tuesday,
but
sometimes
or
no
it's
the
first
tuesday
and
second
wednesday.
But
you
know
if
the
month
starts
on
a
wednesday
that
gets
thrown
off
and
the
meetings
are
messed
up
anyway.
C
D
That's
caused
confusion,
you
know
once
every
you
know
six
or
seven
months,
so
you
know,
I
think,
if
we
just
switch
to
a
bi-weekly
kind
of
situation
where
we
say
starting
on
this
day,
every
two
weeks-
it's
you
know,
8
a.m,
beijing
time
on
wednesday
morning
and
then
the
next
week,
starting
that
week,
every
two
weeks.
It's
you
know.
Whatever
time
we
decide,
the
new
north
american
meeting
time
is
going
to
be
because
we
talked
about
making
that
earlier.
You
know,
I
think
so.
B
D
Think
there,
that
might
be
a
good
time
to
you,
know
make
that
kind
of
conclude.
This
scheduling
change
as
well,
but
in
the
meantime,
since
we
already
have
you
know
a
meeting
scheduled
for
the
the
u.s
centric
meeting
on
the
6th
of
september
and
then
the
in
the
beijing
went
after
that.
You
know
I'm
thinking
right
now.
D
You
know
so
we're
not
just
making
a
decision.
You
know
a
long-term
decision
at
the
end
of
a
call
here.
Let's
just
make
a
decision
for
next
week.
Let's
have
another
beijing-centric
meeting
next
week
and
then
the
week
after
it's
the
u.s
centric
meeting,
so
it'll
be
two
in
a
row
in
this
time
zone.
You
know
right
now,
but
then,
hopefully,
when
orlan
gets
back,
we
can
get
that
onto
a
kind
of
more
regular
basis.
B
Yeah,
I
think
it
we
can.
We
can
discuss
change
the
whole
series
when
holding
back,
because
that
at
this
time
no
one
have
permission
to
edit
that
series.
So
so
I
think
maybe
we
can
decide
whether
we
need
to
have
one
community
meeting
next
week
for
beijing
time
zone
or
for
us
temple,
so
that.
B
C
Yeah
yeah,
so
why
the
the
solitary
road?
The
reason
I
want
to
make
the
change
to
the
series
is
that
we
decided
to
update
the
feature
freeze
day
right.
So
I
want
to
make
sure
that
the
beijing
guys
are
in
this
meeting
in
september
7th
so
that
we
can
have
this
list,
but
I'll
try
to
join
the
u.s
meeting
anyway.
C
So
to
make
sure
that
the
feeder
freeze
day,
we
have
a
concrete
list,
so
it's
less
important
whether
we
have
a
meeting
in
the
next
week.
I
think
maybe
we
just
keep
it
asis
and
skip
it,
and
I
will
join
this
september
7th
meeting
anyway
to
make
sure
all
these
candidates-
and
we
have
a
you-
know-
finalized
plan
for
one
time
that
sounds
good
to
everyone
right.
D
B
Way,
it's
called
when
we
have
the
u.s
time
zone
community
meeting.
Is
there
any
one
can
recordings
of
the
session?
I
I'm
not
sure
whether.
D
So
normally
you
know
when
orlando's
not
on
vacation.
He
does
that
the
last
couple
of
weeks,
because
he's
been
a
couple
of
meetings,
we
got
things
set
up
so
that
shubaao
and
I
both
would
have
permission
to
do
it.
But
it's
I
don't
know
if
it's
because
we're
not
vmware
employees,
it's
been
kind
of
flaky
about
that.
So,
like
last
week,
I
wasn't
able
to
log
in
and
and
record,
but
shoe
bomb
was
so
you
know
it's.
It
hasn't
been
totally
reliable
for
us
with.
We
was
doing
it.
D
B
D
A
recording
last
week
it
was
a
very
short
meeting
because
it
was
basically
it
was.
There
was
only,
I
think,
four
of
us
on
the
call
didn't
last
very
long
last
week,
but
I
did
record
it
it's
not.
I
don't.
I
don't
think
it's
linked
to
anything,
because
I'm
not
sure
how
to
do
that
part,
but
the
call
was
recorded.
E
Yeah,
I
did
record
the
meeting,
but
I
don't
know
who
receives
the
recording.
I
didn't
get
any
email.
B
Okay,
okay,
okay
got
it
so,
but
then
one
suggestion
is
from.
I
said
you.
If
we
do
this,
let's
say
on
the
feature
feature
the
latest
discussion
on
september
14.
Is
that
still?
Okay
for
all
of
us,
I
mean
so
that
it.
C
Yeah,
it's
okay
for
me,
so
let
me
share
my
screen
again.
Sorry.
D
C
D
D
That
needs
to
happen.
You
know
to
to
myself
or
someone
on
on
my
side.
That
gives
us
enough
time
to
actually
get
something
in
place
there.
Hopefully
you
know
to
get
that.
B
A
Okay,
thanks
guys
and
the
number
two
next
one
is
it's
a
demo.
I
think
we
can
deliver
it
to
swan
directly
right.
E
Okay,
so
basically,
this
is
a
odp
csi
data
mover
demo,
so
we
from
red
hat.
We
just
wanted
to
show
you
guys
what
we
want
to
what
we
envision
to
do
upstream
in
upstream
valero,
and
what
we
and
like
what
we
should
anticipate
as
a
data
mover
like
data
more,
can
have
multiple
implementations.
So
this
is
an
example
of
csi
volume.
Snapshot
mover.
E
E
Then
following
restore
workflow,
then
we'll
see
a
short
demo
of
our
stateful
app
and
then
later
on,
we'll
discuss
the
future
scope
related
to
valero
and
how
async
plug-in
comes
into
picture
and
what
we
want
to
do
with
async
plugin
for
data
movement
and
then
references
and
q
a
so
problem
statement
as
you,
everyone
is
aware
that
csi
snapshots
like
taken
during
the
backup
process
are
stored
in
storage
provider
cluster.
So
this
means
that
the
snapshot
data
is
not
actually
safe
from
a
disaster
scenario,
since
the
snapshot
exists
on
the
cluster.
E
So
if
the
cluster
is
wiped
out,
your
data
is
also
gone.
In
short,
csi
volume
snapshots
are
not
portable
and
durable.
D
E
E
So
we
are
introducing
two
new
custom
resource
definitions,
one
for
backup
and
one
for
restore.
So
the
first
one
is
volume,
snapshot,
backup
and
the
second
one
is
volume
snapshot
restore.
E
D
E
Repository
url,
the
face
and
status
of
data
movement
and
the
volume
snapshot
class
used.
Similarly
for
vsr
we'll
have
rustic
secret
reference,
we'll
have
all
the
data
of
volume
snapshot
more
backup
reference,
then
the
product
namespace
and
similarly
we'll
have
status
conditions
and
the
snapshot
handle,
which
we
want
to
refer
during
our
restore.
E
So
these
are
the
two
crds,
so
some
components
that
I
want
to
give
a
brief
overview
that
are
involved
in
this
data
mover
are
like.
Basically,
there
are
three
major
components:
that's
a
modified
csi
plugin,
then
volume
snapshot,
mover
controller
and
wall
sync
controller,
so
under
modified
csi
plugin
for
backup,
we'll
create
a
vsb
cr
per
volume,
snapshot,
content
and
add
it
as
an
additional
item.
E
If
it's
data
mover
case
so
basically
the
csf
plugin
will
have
a
native
workflow
and
a
data
mode
workflow
and
we'll
also
register
a
new
backup
item
action
plugin,
which
works
on
vsb,
that
we
added
as
an
additional
item
and
add
status
data
as
annotation
that
we
will
be
using
for
restore
so
for
modifications
regarding
csr
restore
we'll
register.
A
new
restore
item.
Action
plugin,
which
works
on
vsb
encountered
in
backup,
creates
a
vsr
from
vsb
annotation
data.
E
Now
we'll
update
the
volume
snapshot,
restore
item
action
plugin
to
use
the
snap
handle
from
data
mover
snapshot
rather
than
the
one
present
in
black
backup,
because
data
mover
snapshot
will
be
the
one
snapshot
created
by
the
data
mover
on
the
cluster.
This
will
be
new,
and
this
is
the
one
which
consists
of
the
data
which
we
copy
from
s3
to
the
cluster
during
restore
so
for
the
another
component.
Is
volume
snapshot
mover
controller?
E
Now
the
third
part
is
wall
sync,
so
this
is
actually
the
data
mover,
that
is
a
restricted
data
mover
which
copies
snapshot,
data
from
cluster
to
s3
and
vice
versa.
This
is
vendor
implementation.
E
So
this
is
the
backup,
workflow
diagram
I'll
just
go
through
this
diagram
once
before
the
demo,
so
that
it's
not
confusing.
So
basically,
if
you
see
here
at
the
top,
this
is
the
application
namespace,
and
this
is
the
projector
namespace,
so
protected.
Namespace
is
the
namespace
where
odp
is
installed,
odp,
installs
valero,
and
it
provides
us
with
the
valero
csi,
backup
plugin,
that
is
the
data
mode
plugin,
and
here
we
have
the
application,
which
is
stateful
app,
consisting
of
a
pvc.
E
E
It
also
basically
it
first.
First
of
all,
it
creates
a
volume
clone
volume
snapshot
content.
Then
it
creates
a
cloned
volume
snapshot
and
creates
a
cloned
pvc.
So
now
this
pvc
is
created
in
the
name
switch
where
valero
resides
and
then
wall
sink
transfers.
This
pvc
to
remote
storage,
that
is
the
s3.
C
So
quick
question,
so
you
have
to
mount
the
pvc
to
a
part.
Yes,.
E
Yes,
yes
yeah,
so
for
the
pvc
to
act
as
a
data
source,
we'll
be
mounting
it.
The
pvc
to
a
dummy
pod
like
which
will
be
used
as
a
data
source,
yeah
you're
right
any
other
questions
about
backup,
workflow.
E
No,
so
this
is
just
a
backup
workflow
right
by
clone.
We
are
just
so
every
volume
snapshot
content
will
have
a
snap
handle
right.
B
E
The
snap
handle
can
have
multiple
volume
snapshot,
content
referring
to
it,
so
just
for
the
sake
of
data
movement.
For
for
time
being
we'll
create
a
new
volume
snapshot
content
referring
to
that
snap
handle.
Now
this
volume
snapshot
content
with
this
vsc
will
create
a
volume
snapshot,
and
this
volume
snapshot
will
have
a
pvc
now
that
pvc
will
have
the
data
of
the
volume
snapshot,
which
you
want
to
transfer
to
remote
storage.
E
E
So,
basically
why
we
are
doing
why
the
cloning
process
is,
we
don't
want
to
like
share
the
rustic
secret
in
application
namespace
right.
We
want
to
keep
the
data
movement
and
valero
namespace
wherever
it
is.
B
C
B
The
so
handle
okay,
so
that
is
very
fast
when
you
clone
the
slapshot
right.
A
Yep
yep,
no,
no,
okay,
not
actually,
actually,
if.
C
A
Surprise
is
very
large.
It
will
take
time
because
it
in
the
storage
so.
E
A
E
By
cloning,
we
are
not
actually
copying
it,
we
are
just
using
the
same
reference.
I
think
this
is
an
incorrect
word
to
use
your
clone,
but
we
are
not
actually
creating
a
new
snap
handle.
So
snap
handle
is
the
actual
data
on
cluster
right.
A
B
A
Actually
it's
it's.
This
is
actually
called
the
csis
great
volume
from
surprise,
and
we
have
discussed
this
with
yongshin,
which
is
yeah.
I
think
the
maintainer
of
the
csi
right
just
driver
under
the
hood.
The
storage
is
indeed
the
copy,
every
piece
of
data,
every
byte
into
a
new,
a
new
line,
new
line-
and
it
spoke
that
long
as
a
clone.
The
pvc.
E
Yes,
you
are
right,
if
that
happens,
only
if
we
have
a
different
snap
handle,
the
new
learn
will
be
created
for
every
snap
handle
right.
That's
right.
A
New
long
great
for
sorry,
I
I
didn't
get
questions,
but
actually,
if
we
call
once
we
call
great
volume
from
the
subtotal,
one
new
line
will
be
created
and
the
data
is
copied
actually
cloned,
but
but
anyway,
that
is
the
only
available
method
to
to
to
create
two
is
both
the
sample
data
to
to
combinations?
B
B
A
Sorry,
actually,
I
have
another
question
so
as
as,
as
you
mentioned,
the
wall
sync
tool
is
using
erratic
and
and
background.
E
A
Why
don't
we
just
use
electric
directly,
and
you
know
why?
Why
do
we
use
voting
here.
E
Yeah
we
we
should
be
able
to
use
valero's
restrict
as
well,
but
wall
sync
gives
like
this
is
just
for
the
demo
purpose
that
we
are
using,
restrict,
but
wall
sync
is
an
operator,
provides
multiple
data.
Movers
like
it
provides
rsync
as
a
data
mover
as
well
and
rustic
has
it
more
as
well.
E
So
this
wasn't
implemented
in
upstream
context
right,
because
we
still
have
the
data
more
design
in
progress.
A
E
A
E
Okay,
moving
on,
we
have
the
restore
workflow
so
for
restore
workflow.
Whenever
you
trigger
a
restore
the
valero
csi
restore
data,
more
plugin
will
create
a
volume
snapshot
restore
cr,
so
this
vsr
cr
is
created
whenever
the
vsb
that
we
backed
up
was
encountered
during
encounter
during
the
restore
process.
So
the
data
mover
controller
that
calling
snapshot
mover
controller,
reconciles
on
this
vs
rcr,
and
then
we
have
wall,
sync
which
this
will
trigger.
The
vsr
cr
will
trigger
wall
sync
and
that
will
copy
the
volume
snapshots
content
from
remote
storage
to
the
cluster.
E
And
now
we
have
a
snapshot
right.
This
snapshot
will
have
a
new
snap
handle
that
we
can
use
to
create
a
vsc
so
so
that
snap
handle
can
be
supplied
to
belarus,
csi
plugin
to
create
a
snapshot
as
a
data
source
in
application
name
space.
Basically,
we
are
just
hijacking
the
current
csi
plugin
workflow
and
providing
a
new
snap
handle
from
the
data
movement
which
occurred,
not
the
one
snap
handle
which
valero
has
in
backup.
E
So
this
is
the
restore
workflow
any
confusion
regarding
this.
A
So,
with
still
use
csi
procedure
to
create
the
the
target
I
mean
during
the
to
to
create
the
the
pvc
right
yep.
So
yeah
do
we
have
any
other
ways
like
we
created
the
pva
and
the
pvd
directly
like
what
we
have
done
for
pod
volume,
backup
restore.
E
So
we
did
not
change
anything
in
valero
controller
per
say.
We
wanted
to
actually
keep
our
changes
limited
to
were
csi
plugin
so
that
we
complete
the
csi
plugin
right
making
the
snapshots
durable.
E
So
that's
why
we
haven't
done
any
welder
controller
changes.
But
can
you
say
it
again
what
you
mentioned.
A
I
mean
you
know,
for
port
volume,
black
carbon,
we
saw
actually
we
we
created
the
port
and
locked
the
product
to
unlock
kubernetes,
to
brilliance
the
pv
automatically
right,
and
so
I'm
just
a
a
wonder,
ring
whether
there's
any
you
know
different.
I
mean
problems
on
cons
to
do
in
that
way
or
and
under
the
current
way.
C
A
C
A
Discuss:
okay,
okay,
okay,
then
we
can
dislike
offline.
E
Okay,
so
we
have
a
short
demo
about
this.
E
E
A
Sorry
one
more
question
here,
so
it
means
under
the
current
code,
when
there
is
no
option
that
we
do
the
upload
or
data
moment
or
do
not
right.
Sorry,
I
mean:
does
the
user
have
the
option
to
choose
whether
we
do
the
data
movement
or
not
for
that
csi
after
schedules
and
projects
created?
B
B
E
So
we
just
have
normal
setup
with
rustic,
pods
and
velo,
and
the
volume
snapshot
mover
controller
which
reconciles
on
the
new
crs
that
we
introduced
and
in
bottom
pane,
we'll
just
stream
the
logs
for
our
volume
snapshot
mover.
E
E
E
The
backup
is
created
now,
let's
look
at
the
belaru
logs
and
we'll
be
able
to
observe
some
csl
logs
csi
plugin
logs,
so
we're
not
using
well
arose.
Restack
here
we'll
be
using
the
cs5
workflow
you
can
see,
it
has
triggered
the
backup
and
you
can
see
the
volume
snapshot,
backup,
item
action,
csi,
plugin,
logs
being
triggered
and
it's
executing
the
custom
actions
which
we
want.
E
So
it's
waiting
for
the
snapshot,
handle
volume,
snapshot,
content
to
have
handle
and
be
ready
once
the
volume
snapshot
content
is
ready.
I
will
create
a
volume
snapshot,
backup,
cr,
see
we
are
creating
a
volume
snapshot
backups
here
now.
This
will
trigger
the
bottom
controller,
to
reconcile
on
it
and
trigger
the
data
moment.
You
can
see
triggered
the
bottom
controller
and
it's
cloning.
The
volume
snapshot
content
in
our
namespace
and
at
the
same
time.
E
So
this
is
where
we
need
async
plugins
right
here
we
are
waiting
for
right
now
we
are
waiting
for
the
volume
snapshot
backup
to
have
status
data,
so
the
valero
backup
operation
is
stalled
here
a
bit
and
until
the
data
more
updates,
the
vsb
with
status.
E
B
E
D
E
E
So,
let's
check
up
on
the
status.
Once
again,
I
think
the
snapshot
is
copied,
as
you
can
see,
it's
complete,
so
this
phase
is
volume,
snapshot
backup
done
now.
Once
it's
done,
what
the
volume
snapshot
mover
controller
does.
Is
it
cleans
up
the
clone
clone
resources
before
marking
the
backup?
As
complete
you
can
see,
the
backup
is
complete,
which
means
the
cleanup
is
done
and
backup
is
completed.
C
So
so
that
means
during
the
during
the
upload
during
the
process
of
uploading,
this
snapshot,
the
the
backup
of
the
the
backup
cr
of
valero,
will
be
in
progress
right.
C
B
D
B
D
Would
be
one
of
these
async
actions
that
would
happen
in
the
background
and
then
at
the
end
of
the
backup
valero
would
jack.
You
know,
based
on
that
design,
to
see
whether
they're
done
and
then
the
backup
is
still
not
going
to
be
completed
until
it's
done,
but
we
wouldn't
be
holding
up
the
other
backup
actions.
E
E
We'll
see
this
volume
snapshot
data
is
in
s3
in
order
to
confirm
that
we
can
see,
we
can
copy
the
snap
handle
id
and
the
snap
content
id
and
we'll
search
for
it
in
our
s3
bucket,
just
to
make
sure
we
have
actually
moved
the
data
from
cluster
to
amazon
s3
in
this
case.
So
this
is
our
bucket,
which
we
used
for
our
demo
under
openshift
adp,
that's
a
namespace!
E
If
you
search
you
can
see,
we
are
able
to
find
the
snap
content
id.
This
is
the
snapshot.
We
backed
up
using
data
mover
and
you
can
see
the
time
stamp.
It
matches
the
system
timestamp.
So
it
happened
just
now
like
two
minutes
before,
so
that
is
the
backup.
E
E
E
E
E
E
D
E
So
that
is
one
thing
which
we
hope
to
achieve
for
references.
I've
added
like
I
can
share
this
slides
post
demo,
so
this
is
just
our
operator
and
then
one
snapshot
mover
cr
volume,
transfer
motor
controller
that
reconciles
the
crs.
Then
the
modified
csi
plugin.
We
have
a
data
mode
branch
which
has
all
the
modifications
and
also
a
wall,
sync
controller
which
moves
the
data
okay
time
for
some
q.
A
thank
you
guys.
Let
me
know
if
there
are
any
questions
about
this.
B
E
So
then,
you
will
have
to
like
create
the
secrets
and
access
the
application.
Namespace
right.
B
D
E
Yeah,
I
think
a
volume
snapshot
content
cannot
have
more
than
one.
We.
E
We
so
I
I
think
under
csi
conforms,
there
is
only
one
resource
which
can
have
one
to
many
mapping.
That
is
snap
handle.
E
That
one
too
many
mapping
issue,
if
you
like,
where
they
have
mentioned
about
this
yeah.
D
C
E
C
And
yeah.
B
C
E
B
E
B
A
Yes
and
well
now,
do
we
have
any
other
things
to
discuss
for
this
community
meeting
morning.
A
If
no,
I
think
we
can
stop
here
for
this.
Today's
meeting
and
thanks
everyone
everyone
and
have
a
good
day
at
night.
D
So
quick
question:
did
we
decide
we're
not
having
the
meeting
at
all
next
week
then,
since
it's
not
on
the
calendar
and
we
delayed
the
the
future
fees
anyway,.