►
From YouTube: Ceph Developer Monthly 2021-09-01
A
B
B
So
the
idea
here
is
that
post-deploy
stuff
in
many
different
kinds
of
very
many
different
kinds
of
use,
cases
and
different
kinds
of
environments,
and
one
of
the
like
our
existing
kind
of
defaults-
are
pretty
well
tuned
for
high
performance
servers.
B
B
So
the
idea
is
that
we
could
have
kind
of
performance
profiles
for
it
applied
to
the
cluster
that
would
affect
the
defaults
for
a
bunch
of
these
kinds
of
tunables
that
control,
how
much
cpu
memory
we
consume.
B
B
Especially
for
things
like
rgw
mds
that
are
are
more
about
passing
data
through
themselves,
rather
than
storing
it
directly.
B
I
think
there's
also
a
lot
of
investigation
that
we
could
do
to
figure
out
exactly
which
things
we
could
tune
or
to
kind
of
get
the
lowest
possible
resource
usage
in
scenarios.
That's
demanded.
B
B
Now
it
would
act.
Similarly,
so
you
said
like
performance
profile,
they're
like
default
or
it's
a
limited
or
I'm
not
sure
where
the
name
is
for
the
the
resource.
B
C
B
A
I
think
there's
some
valid
discussion
to
be
had
about
what
that
ui
should
look
like,
but.
B
C
D
D
D
A
D
B
B
B
That
seems
to
be
useful
to
start
with
two,
and
if
we
need
more,
we
can
always
add
them,
but.
D
B
A
C
A
A
C
B
Yeah
it
sounds
like
a
nice
simple
indication
to
be
able
to
import
and
export,
and
it's
essentially
like
important,
exporting
except.com
file.
Isn't
it
but
maybe
yeah.
A
A
A
The
from
an
implementation
that
would
probably
look
something
like
the
config
now
has
some
kind
of
a
baseline
config
that
lives
above
the
most
basic
defaults
but
below
the
specifically
set
ones.
Something
like
that.
You
need
a
way
to
dump
all
this
stuff,
so
there
need
you
to
be
ui
elements
for
exposing
that.
C
Yeah
I
mean
there's
the
late.
The
config
subsystem
already
has
like,
I
think,
like
five
different
ordered
things,
sources
of
a
config
value
and
it
tracks
where
they
come
from,
and
so
you
could
just
sort
of
insert
profiles
in
there
somewhere.
C
C
Or
that
they're-
probably
not
touching
us
enough,
but
yeah
yeah,
I
just
remembering
the
the
asoc
command
config
diff
on
a
running
daemon,
will
tell
you
it'll,
show
you
the
demon,
all
the
different
values
it
has
in
the
different
layers
and
which
one
is
the
actual
one
that's
using,
including
the
default,
and
then
the
one
that
came
from
the
config
one
command
line
from
the
environment,
from
the
monitor
and
so
on.
C
Yeah,
it
just
needs
to
be,
I
mean
it
could
even
be
implemented
at
the
well.
Maybe
if
we
implement
it,
it
couldn't
implement
it
entirely
in
the
monitor
and
then
it
would
be.
The
monitor
would
feed
it
through
to
the
demon,
and
so
the
source
of
damage
is
concerned.
To
pick
options
come
up
from
the
monitor
or
you
could
plummet
so
that
that,
at
the
demon
level
you
can
actually
see
the
source.
B
I
guess
you
may
have
some
complexity
around
those
that
aren't
able
to
talk
to
the
monitor
for
some
reason,
just
like
we
do
today
with
like
yeah
yeah.
B
C
C
C
A
C
Well,
if
we,
if
for
any
given
profile,
you
say
that
it's
driven
by
a
unnamed
config
option,
then
you
could
set
that
config
option
so
like
say
that
the
osd
scale
or
whatever
osd
profile,
is,
has
a
set
of
key
value
pairs,
and
you
have
all
the
different
like
values
for
it.
You
could
define
what
the
config
option
is
that
sets
the
profile,
and
then
you
could
set
that
using
the
normal,
like
hierarchical,
whatever
config
thing.
B
A
C
C
It
might
look
kind
of
gross
inside
like
a
big
option.
They
could
put
in
config
key
or
something.
B
It's
with
some
like
some
of
the
pre-existing
ones
already
defined.
B
I
think
today
the
reason
fast
I
think
mark
is
tested
kind
of
like
osu's
scaling
down
memory
like
two
gigs
or
maybe
one
half
gigs,
but
they're,
probably
some
other
things
that
we
can
do
to
make
that
minimum
even
lower.
B
Basically,
just
still
take
notes
here,
but
we
can
start
just
describing
the
next
one
a
little
bit
so
that
this
is
about
how
we
could
handle
pools
with
no
replication
better,
particularly
how
to
deal
with
eios
on
the
client
side,
as
if
this
kind
of
a
pool
is
accessed
by
an
rbd
client.
B
For
example,
it's
got
a
file
system
running
on
top
of
it's
it's
it's
local,
lock
device
and
if
the
file
system,
like
the
xp4
or
xfs,
starts
getting
io
errors
because
the
disk
backing
in
in
that
poor
one
died,
it's
not
going
to
behave!
Well,
it's
going
to
essentially
craft
this
local
power
system.
If
it
gets
some
eaos
and
some
successful
rights.
B
So
that
it
is
to
prevent
the
client
from
getting
any
success
for
voice
or
reads
as
soon
as
it
starts
to
fail,
so
basically,
as
the
first
yeah
it
gets,
it
just
continuously
returns
the
io
for
that
device.
B
Until
it's
unmapped
there's
a
couple
ways
to
we
thought
of
implementing
this
one
is
based
in
the
osd
map.
You
can
see,
you
could
add
a
full
flag
that
indicates
this
pool
is.
B
That
way,
the
osd
would
also
be
able
to
return
the
air
directly
to
the
client
in
case
the
client
didn't
support
this
yet,
and
it
would
work
well
with
clients,
man,
I
think,
multiple
places
like
ffs.
B
The
library
that
rdd
user
space
or
the
kernel
client
would
detect
an
eio
and
because
the
first
time
it
has
to
respond
that
to
the
client
to
the
upper
layer.
It
just
continues
to
do
that,
keeping
track
of
that
in
its
own
memory.
C
C
C
B
They
were
designed
only
for
like
applications
that
could
handle
those
errors,
basically
so
like
like
a
liberator
like
the
cli
or
something
that's
expecting
to
be
able
to
be
interactive
and
responsive
and
doesn't
mind
if
some
requests
sent
out
fail.
But
the
file
system
can't
deal
with
that
kind
of.
B
Like
yeah,
like
a
local
disc,
doesn't
usually
feel
that
way
where
it
tells
you
to
view
some
errors
back
within
complete
bunch
of
your
other
rights
that
are
still
being
written
out.
So
that's
essentially
why
the
locations
get
get
corrupted
in
that
kind
of
situation.
E
E
C
E
C
The
reason
why
I'm
partial
to
the
pool
eio
flag
is
that
it
separates
out
the
sort
of
the
implementation
mechanics
of
having
a
well-defined
point
in
time,
after
which
you
return,
I
o
and
before
which
you
don't
and
having
it
that
ordering
so
that
it
behaves
the
way
like
maybe
a
disc.
If
you
disconnect
the
cable
or
something
I
behave
well,.
C
E
E
C
The
point
is
that
it
separates
that
policy
decision
of
when
to
return
the
I
o
from
the
mechanics
of
saying,
okay
set
the
flag
in
the
osd
map,
and
now
we
return
the
I
o
for
that
pool
and
we
can
make
sure
that
the
client
implementation
and
the
osd
are
properly
coded
so
that
that
behaves.
You
know
in
a
way
that
doesn't
have
weird
ordering
issues
or
apps
that
are
resubmitted
later
or
happen
to
be
in
flight
like
we
can
make
sure
those
issues
are
don't
exist
and
then
separately.
We
can
have.
E
D
C
If
you
say
you
have
a
hung,
osd
and
you
have
a
bunch
of
ops
that
are
in
flight
and
are
hanging,
and
then
you
set
the
flag,
so
those
ops
that
were
already
in
flight-
maybe
maybe
the
ocd
actually
instant
down
and
the
up
the
op
like
made
it
to
the
osd,
is-
was
processed
or
maybe
it
didn't.
And
so
I
think
I
think,
the
the
implementation
that
made
sense
to
me
at
least
was
that
for
existing
ops
on
the
client
side.
We
don't
do
anything
and
we
wait
for
the
osd
to
respond.
A
A
I
think
there's
a
simple
way
to
do
this.
The
pool
eio
flag
is
semantically
equivalent
to
deleting
the
pool
the
osd's
immediately
start
getting
rid
of
their
state.
They
drop
any
in
flight
ops
period.
The
client
eventually
sees
the
flag
goes.
Oh,
that's
why
it
didn't
get
any
responses.
It
starts
returning
yeah.
C
D
C
Doesn't
have
to
so
I
was
assuming
that
this
could
be.
You
could
remove
this
flag
like
some
time
went
by
and
you're
like.
Oh,
I
didn't
actually
lose
the
data.
I
don't
actually
want
to
delete
it,
because
if
you
just
wanted,
we
could
just
delete
the
pool
and
we
could
get
what
you're
talking
about
right
and
we
just
fix
the
client
so
that
if
the
pool
doesn't
exist,
then
you
get
the
io
instead
of
you
know
something
like
that.
A
C
And
I
think
in
general,
that
that
is
the
case.
But
if
say,
you're
running
your
application
and
you've
got
the
replicas
and
one
of
them's
down,
and
you
have
some
policy
that
says.
D
C
It's
discounted
for
this
long
then
like
make
it
look
like
the
disc
guide,
and
you
start
returning
io
and
then
you
know
12
hours
go
by
and
the
administrator
realizes
that
their
system's
down,
because
that
happened
to
too
many
disks
and
it
turns
out,
we
didn't
actually
lose
any
data.
They
were
just
offline
for
a
long
time
and
the
policy
that
was
triggering
this
like
didn't
realize
that
it
killed
two
volumes
that
would
break
the
upper
application,
all
the
data's
still
there,
and
so
you
would.
C
A
C
You
start
getting
io,
the
data
doesn't
go
away,
but
and
you
can
plug
it
back
in,
but
it's
like
a
it's
a
it's
that
like
lever
that
we
can
then
implement
some
policy
on
top
of
or
have
a
human
intervene
if
they
need
to.
A
A
E
A
E
A
I
mean
I
personally
don't
think
that
the
semantic
difference
matters
very
much
because
I
don't
think
the
I.
I
think
we
will
almost
never
use
this
feature
on
purpose
on
a
replicated
pool,
I
think
99.999
percent
of
the
time
this
will
be
used
immediately
before
deleting
a
pool
and
that's
the
use
case
we
really
care
about.
So
I
don't
think
we
want
to
go
out
of
our
way
to
like
make
this
harder
just
to
make
replication
behave
in
a
slightly
less
weird
fashion.
Oh.
C
The
client
well,
I
think
I
think
there
are
two
things
first.
I
think
I
disagree
with
sam
that
this
is
99.9
when
you're
going
to
delete
the
data,
because
I
think
that
actually
I
mean
sometimes
that's
going
to
be
true,
but
I
think
they're
going
to
be
lots
of
cases
where
the
osd
is
offline
for
some
reason
and
that's
going
to
trigger
all
the
policy
that
makes
these
disks
appear
to
fail.
But
the
oc
actually
isn't
like
it's,
not
because
the
disk
failed.
B
C
Hopefully,
but
maybe
two
hosts
are
down
and
you
do
it
the
two
discs
and
can't
recover
until
is
stuck.
You
turn
the
host
back
on
they
come
up
like.
I
think
this
might
actually
need
to
be
coupled
with,
like
the
equivalent
of
the
there's,
some
other
annoying
osu
flag.
That's
like
auto
out
auto
out
so
that
if
it
comes
back
up,
it
clears
it
automatically
or
maybe
whatever.
That's
that's
a
separate
discussion
but
like
it,
we
need
to
the
having
plugging
the
discs,
conceptually
or
logically
or
whatever,
plugging
metaphorically
plugging.
C
B
It
sounds
almost
like
you
get
the
same
semantics
or,
like
I
said
here.
What
you're
drawing
between
android
keep
it
sounds
like
sages
being
able
to
recover
data
after
the
application
has
moved
on
in
case
of
a
disaster.
B
It
sounds
like
you're
describing
being
able
to
recover
data
in
disaster
when
you
thought
you
lost
it,
but
you
didn't.
The
application
has
moved
on
in
some
way,
but
you
want
you,
you
find
you've
had
this
like
extra
copies
lying
around.
D
A
D
D
I
still
want
to
recover
something,
so
I
will
say:
okay,
I
I
will
do
this
manual
like
let
us
say,
there's
a
cascading
failure
like
what
sage
is
describing
that
all
the
nodes
for,
even
though
their
replica
one
pulse
suddenly
became
unavailable.
At
that
point,
we
want
to
still
recover
the
data,
but
it
was
just
one
off
incident
that
happened
and
we
don't
care
about
the
data
that
should
be
like
a
manual.
A
B
A
And
paserio
I
was
imagining
wasn't
so
much
administrator.
It
was
ocs
observed
that,
for
whatever
reason,
a
pool
marked
scratch
or
something
replica,
one
became
unresponsive
and
it
automatically
took
its
own
steps
to
increase
the
replication
factor
on
or
whatever,
and
because
this
is
a
thing
that
has
to
happen
automatically.
Freeing
up
the
space
also
has
to
happen
automatically.
C
E
A
E
B
A
B
C
I
mean
I
think,
live
rvd
might
yeah.
It
probably
doesn't
already
do
that.
Xfs,
for
example,
will
do
that
if
it
gets
any
io
on
any
of
its
metadata
structures,
it
goes
into
like
this
zombie
state
or
you
can
maybe
read
stuff
or
whatever,
but
it
won't
write
anything
else
if
whatever
it
should
do
the
same
thing
like
once
it
sees
in
the
I
o.
E
C
I
don't
think
so
because
again
it's
just
like
it
might
come
back
yeah.
It
might
come
back
right.
You
might
have
done
this
because
the
osd
was
offline
for
too
long
and
you
hit
some
time
out
and
you're
like
oh.
D
C
Going
to
fail,
but
then
like
it,
turns
out
that
you
need
the
data
and
you
have
the
data
and
metaphorically
you
want
to
plug
the
disk
back
in.
C
D
A
C
B
C
A
A
C
So
I
think
that
that
take
away
from
this
is
that
it
requires
osu
changes
that
are
like
relatively
well
defined
and
understood.
There
are
some
client
changes,
also
again
a
mirroring
of
what's
up,
but
both
right.
That
means
that
burritos
needs
to
be
changed.
The
kernel
client
needs
to
be
changed,
so
if
this
is
going
to
go
in
order
for
this
actually
used
like
we
need
to
get
those
all
those
changes
upstream
into
the
upstream
kernel
and
into
the
downstream
kernel
and
all
that
stuff.
So.
C
So
my
thinking
here
is
that
I
yes,
so
I
think
you
want
to
generally
do
this
with
like
single
pg
pools,
probably
because
having
a
replica
one.
D
C
A
C
C
Pg
yeah
yeah
pg
num
will
usually
be
small,
so
it's
not
so
much
a
pg
count
issue
and
then.
C
But
the
part
is
that,
if,
if
we
are
thinking
about
these
as
analogous
to
disks,
then
I
think
there
are
two
ways
to
do
it.
We
could
we
could
set
it
up,
so
these
pools
are
like
actually
sort
of
correspond
to
disks,
and
then
you
have
like
multiple
rbds,
maybe
on
the
same
disk
disk,
slash
pool
right,
so
the
pool
becomes
the
failure
domain
and
then
we
have.
If
there
are
lots
of
applications
that
are
doing
this,
then
they
would
have
multiple
they
would
each
have
their
own
rbd.
That's
in
that
pool.
C
That
would
be
one
way
to
work
it,
and
if
we
did
that,
then
the
number
of
pools
is
order,
the
number
of
osds.
So
we
don't
have
this
like
oc
map
explosion
right.
C
Of
these
pools
already
has
to
have
some
like
goofy
crush
rule
that
like
pins
it
to
a
failure
domain,
and
so
I
think,
basically,
basically
have
a
pool
for
domain.
Basically,
whatever
it
is
yeah
and
that
could
either
be,
I
mean,
probably
you
want
to
push
it
all
the
way
down
to
disk.
Do
we
do.
E
C
E
Part
of
it,
but
oh
I
just
mean
that
we're
gonna
need
to
start
writing
tests
for
this
eio
returns
and
stuff,
and
that's
a
little
different
than
a
lot
of
our
testing
is,
and
if
we're
putting
this
in
step,
we
need
to
actually
write
some
purpose
testing
for
it.
A
C
C
A
C
A
I
was
going
to
suggest
some
clever
if
we
had
the
way
this
like
way
of
limiting
a
set
of
pg's
an
rbd
image
could
map
to.
Then
we
could
do
something
clever
with
recreating
pgs,
but
it
interacts
poorly
with
this
not
wanting
to
permanently
delete
data
concept.
B
Didn't
we
want
the
idea
of
like
rbd
masking,
for
other
reasons,
though,
for
like.
C
A
Oh
yeah,
that
watch
notified
thing.
I
mean
it's,
the
semantics
are
still
the
same,
like
watch
returns,
cio
or
whatever
the
watch
callback.
Equivalent
of
that
is
yeah
and
the
client
I'm
no.
I
think
it's
just
all.
The
watch
date
is
therefore
like
explicitly.
E
E
B
C
A
A
C
A
I
mean
probably
we
shouldn't
make
the
object
or
die
any
more
aggressively
than
it
needs
to,
but
rbd
is
like
no
rpd
users.
User
is
ever
going
to
continue
operating
without
actually
reinitializing
rbd,
because
no
one's
going
to
want
to
build
some
kind
of
an
online
reinitialize
setup
thing.
That's
too
much
work
for
no
reason
waiting.
Just
on
map
and
remount.
B
Okay,
I
think
we've
covered
that
one
pretty
well
go
to
the
well
havoc
scale
testing.
B
So
the
idea
with
this
one
is
there
are
different
ways
that
we
can
try
to
test
very
large
scale
clusters
without
necessarily
having
physical
hardware.
That's
with
they
might
we
can't
necessarily
test
the
capacity
or
the
performance
characteristics
exactly
the
same
way
without
that
same
number
of
osds,
but
just
have
it
having
say
thousand
supposed
to
use
in
a
very,
very
small
number
of
nodes.
B
We
can
find
lots,
lots
of
bugs
that
we
wouldn't
detect
otherwise
without
a
very
large
cluster,
like
things
in
the
manager,
the
monitor
the
fam
and
the
do
with
like
cluster
cluster-wide
operations.
B
So
we
could
use
like
memory
back
to
osds
this,
like
memstor.
I
think
we
will
quickly
run
into
memory
constraints
and
if
we
want
to
deploy
thousands
of
these,
I
think
it
might
be.
B
More
efficient
to
create
use
a
little
bit
of
the
persistent
storage
on
disk
for,
like
the
metadata
pools
and
os
internal
metadata
for
like
pg
log
pg
info
that
kind
of
thing
so
that
we
can
restart
the
osds
and
test
peering
and
well
recovery
of
no
data.
Perhaps
but
it's
like
with
gabby
about
this
earlier,
and
he
was
guessing
like
having
that
the
data
pools
essentially
be
like
devnl
and
subzero.
So
rights
go
nowhere
and
reads:
return
zeros
or
some
deterministic
data
based
on
the
h
object.
B
Yeah
yeah,
I
think
we
have
two
memory
down.
We
have
to
tune
like
ranks
to
be
settings
potentially
to
make
it
not
use
any
disk
space
or
it's
first
level
like
or
make
it
use
all
the
disk
space
for
its
first
level
or
something,
but
it
doesn't
have
that
giant.
Spacing
amplification.
C
B
B
A
Object
creation
flight,
whatever
hint
that
says,
I
assume
you're,
going
to
lie
to
me
about
the
contents
of
the
subject
and
then
create
a
pool
flag.
That
says,
don't
actually
store
any
of
the
data
for
the
objects
in
this
pool
yeah.
This
is
a
fake
pool
like
the
pool
will
store
all
of
its
metadata.
It'll
do
all
the
usual
appearing
stuff.
It's
got
a
pg
log,
but
the
actual
objects
won't
have
any
data
they'll
just
return.
Zero
is.
A
E
A
C
B
C
I
mean
you
could
do
the
same
with
menstrual.
You
could
think,
I'm
sorry
do
the
zero
detection
and
then
you
could
also
do
this
with
a
bazillion.
Although
I
the
thing
that's,
I'm
sorry
is
that
you
probably
want
to
test
things
like
you
know,
stopping
a
bunch
of
osds
and
starting
them
up
again
and
like
all
those
like
crashing
type
behaviors
and
I'm
sorry
doesn't
do
that
super
well,
I
actually
do
want
to
write
down
everything
else.
A
A
B
It
really
depends
on
the
memory
like
if
you're
talking
about
like
60,
like
100
megs.
A
Yeah,
I
think
what
I'm
saying
is
if
the
goal
is
to
test
how
the
monitors,
which
is
what
we're
talking
about
in
this.
A
C
So
I
wrote
a
bunch
of
like
fake,
monitor,
osd
things
like
I
don't
know
10
years
ago
and
they've
just
languished.
I
I
periodically
have
to
like
touch
them.
If
I
ever
like
changed
an
interface
and
there's
all
this
like
annoying
test
code
that
never
gets
run.
Probably
I
have
to
go
fix.
I
might
have
finally
ripped
it
out,
but
it's
I
I
think
the
maintenance
burden
is
like
I
don't
know.
C
A
C
I
think
200
megs
whatever
it
is
and
then
like
run
two
dozen
of
them
on
the
smithy
and
then
lock
a
hundred
smithy.
That
feels
like
an.
B
E
C
I
guess
the
the
concern
I
always
have
with
faking
listings
is
that
you're
never
sure
that
you've
faked
it
right
so
yeah.
You
might
run
this
like
crazy
scale.
Tester
like
monitors
are
great
but
like
you're
running
they're
running
getting
us
pickles
these
that
aren't
realistic
and
realistic
or
have
some
different
behavior.
That's
the
same
plus.
C
E
A
B
That
get
this
running
and
that
to
actually
use
this
with
like
toothology
and
deploy
it.
I
guess
we
need
to
change.
C
Yeah,
sorry,
I
was
distracted.
That's
what
right
now
that
the
ansible
job
is
the
thing
that
every
every
time
the
machine
is
brought
up
for
a
particular
test.
It
creates
recreates
those
like
four
lvs
and
they're
each
100
gigs
right
now,
and
so
we
could
have
an
alternate
answer
which
or
whatever
it
is
so
we
create.
Instead
of
creating
four
of
them,
we
create
40
that
are
10
gigs
each
as
long
as
bluestorkin,
fine,
so
yeah.
C
C
C
C
If
the
old
ones
are
definitely
400,
gig
or
490,
gig
or
whatever,
because
there
are
only
400
gig
but
whatever
whatever
sets
lower
bound
on
blue
story
is
like
it's
not
like
a
fundamental
thing:
if
there's
some
option
somewhere,
but
it's
for
rocks
to
be
it's
whatever
or
something
like
that,
so
those
can
be
changed
too.
C
B
C
And
I
like
the
idea
of
running
big
pathology
tests,
especially
now
the
scheduler
will
be
able
to
handle
it.
Hopefully
yeah.
B
C
B
E
E
A
C
So
I
think
the
counter
argument
is
that
maybe
these
things
should
be
using
the
the
new
local
storage
operator
thing
that
we've
been
talking
about
and
they
shouldn't
be
using
ceph
at
all,
and
obviously
that
has
the
benefit
that
you
get
better
performance
you're
not
using
this
complicated
stack
to
do
it.
I
think
the
counter
argument
to
that
is
there
are
cases
where
replica,
I
think,
their
cases
where
replica
one
makes
sense,
and
you
want
the
full
feature
set
that
stuff
provides
like
rbd
mirroring,
for
example.
Well,.
E
A
C
A
C
Mean
maybe
you
can
do
that
with
like
lvm
snapshots
and
like
mirroring
gifs
and
all
that
stuff
like
maybe,
but
I
think,
there's
if
you
everything
else
is
already
stuff
using.
A
A
A
E
C
C
E
C
A
E
C
Because
that's
not
necessarily
enough,
it's
it's
a
policy
thing
like
what.
Maybe
that's
what
the
environment
user
administrator
application
wants,
and
maybe
it
isn't
so
I
I
really
feel
like
we
could
implement
a
particular
policy
in
a
manager
module.
Some
external
thing
can
implement
its
own
policy
and
just
call
like
fosd
pool
set
flag.
Eio
whatever
like
this
like
opens
up
all
those
possibilities,
since
we
have
total
flexibility.
C
C
B
B
E
A
What
I,
what
I
mean
is
that
there
should
be
business
logic
and
stuff
that
takes
the
raw
information
from
the
current
stats
and
makes
a
choice
based
on
the
set
policy.
Yeah
yeah,
that
business
logic
should
live
in
the
manager
and
not
in
ocs,
see.
I
should
specify
the
policy,
not
the
implementation
yeah.
Otherwise,
we
get
into
things
like
ocs
interpreting,
really
specific
details
of
like
status,
which
is
probably
not
good,
probably
not
a
good
thing.
C
C
D
A
A
Oh,
I
know
what
I'm
what
I
mean
is
the
the
time
frame
is
less
about
cassandra's
expectations
of
when
it
does
fails
and
more
about
how
long
you
should
go
before
ocs
should
start
setting
up
another
replica.
It's
replication
delay,
I
think
not
not
the
application's
internal
expectations
or
a
recovery
point
objective.
Whatever
time
you're
allowed
to
be
degraded.
A
C
I
think
the
the
good
news
is
that
the
fact
that,
like
the
I
thought
it
was
it's
like
the
non,
I
thought
there
was
some
category
of
device.
I
don't.
Maybe
it's
not
stated,
but
it's
like
the
non-enterprise
whatever,
where,
like
you,
can
get
ios
that
just
take
a
long
time
before
the
firmware
decides
to
time
it
out.
E
E
Yeah
and
kafka
never
like
decides
that
it's
dead
because
we
hang
forever.
That
was
the
specific
example
I
heard
at
least
yeah,
and
so
I
think
kafka
expects
us
to
return
an
error
in
a
reasonable
amount
of
time.
A
A
Much
application
correctness
as
how
does
it
behave
when
a
hang
happens
and
how
long
are
we
supposed
to
wait
before
spinning
up
another
one
yeah,
because
with
kubernetes
you're
going
to
be
setting
up
what
a?
What
do
you
call
it
replica?
No,
I
forgot,
but
it's
like
kubernetes.
Please
keep
end
of
these
alive.
Basically,.