►
From YouTube: Ceph Orchestrator Meeting 2021-08-24
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).
B
Yeah
sure,
let
me
share
my
screen
and
thanks
for
joining
and
on
my
presentations
on
my
project,
I've
been
working
for
past
months.
It's
on
implementing
a
new
integration
testing
framework
using
jacqueline
language
for
safe
orchestration
operations,.
B
And
as
a
quick
recap,
what
is
checkering
language
and
kcli
and
jacqueline
language
is
a
common
natural
language
which
uses
common
keywords
like
given
and
and
then
to
define
a
step
to
execute,
to
create
the
scenarios,
and
I
have
provided
a
sample
tips.
We
have
implemented
in
the
project
and
you
can
see.
B
As
you
can
see,
we
can
execute
a
few
commands
on
host
and
and
two
steps
to
validate
whether
we
have
a
specific
keyword
from
to
validate
whether
there
are
specific
keywords
that
contain
from
output,
which
I'll
be
talking
in
later
slides
as
well
and
kcl2.
B
A
B
Output
of
a
servers
executed,
command
and
also
creating
a
test
scenario
that
doesn't
require
any
programming
language
other
than
that.
If
we
are
required
to
implement
a
completion
instead
and
the
testing
noise
can
be
implemented
other
than
the
program
as
well
and
these
tests.
You
know
this
cases,
computers
and
integrated
to
ci,
and
it's
based
on
behavior
based
development.
B
And
speaking
on
the
current
state
of
this
project,
I
have
implemented
functionality
so
that
user
can
define
different
test
labs
configurations
and
to
execute
a
specific
set
of
tests
in
our
earth,
which
will
be
created
using
the
kcli
and
user
will
be
able
to
define
certain
commands
that
should
be
executed
on
in
the
virtual
machine
and
which
should
be
executed
on
stephanie
m.
Sir
and
the
user
will
be
able
to
use
the
specific.
B
B
Scenarios
and
also
user
will
be
able
to
define,
commands
on
first
and
also
in
massive
idm
cells
and
specify
which
commands
should
be
executing
which
state
and
user
will
be
able
to
specify
the
keywords
that
are
expected
to
be
in
a
specific
output
or
output
of
a
executed
command
and
as
in
currently,
I'm
also
working
on
defining
more
test
scenarios
and
implementing
steps
to
us
implementing
steps
to
execute
a
specific
command
and
store
the
output
of
the
command
in
a
specific
variable
which
can
be
later
accessed
to
execute
other.
B
And
looking
into
the
implementation
structure,
I
have
you
know,
implemented
this
feature
under
behavioral
tests
on
the
test
directory
under
the
behave
test.
B
We
have
two
directories,
the
one
contains
the
feature
and
the
python
scripts
and
other
the
two
templates
used
for
this
behave
tests
which
is
bootstrap
script,
template
and
the
case
blend
script,
template
which
will
be
modified
according
to
the
user,
given
configurations
and
the
tests
will
be
defined
on
the
dot
feature
files
using
the
jacking
language
and
the
steps
the
python
implementation
of
the
steps
will
be
defined
under
the
safe
steps
or
we
can
define
any
additional
steps
under
the
step
directory
and
we
have
the
environment,
kcli,
handler
and
validation
neutral
trips
to
enter
other
functions
to
execute
this
run.
B
And
looking
into
defining
the
environment,
config
user
will
be,
the
user
will
define
the
configuration
on
which
the
environment
configuration
where
the
test
scenarios
should
be
executed,
and
as
I
as
an
example
here
in
this
example,
we
have
three
nodes
with
four
grids
of
rams
and
four
cpus
and
uses
a
fedora
32
image
to
create
an
environment
to
run
specific
tests,
and
these
tests
will
be
created
under
the
test.
In
kcr
plan
will
be
created
and
behave
test
plan
and
also
uses
karma
b
kcra
container
to
execute
any
kci
like
commands.
B
And
here's
a
basic
structure
of
defining
a
test
scenario.
After
defining
the
feature
we
are
required
to
define
the
scenarios.
As
you
can
see,
it
is
simple
of
a
simple
language
where,
given
that
I
log
as
a
root
user
into
the
shift
node
0
0-
and
I
just
I-
can
use
the
step,
I
execute
in
a
host
and
provide
the
commands
that
should
be
executed.
B
And
again
I
execute
sephardium
version,
and
then
I
used
to
say
then
that
that
I
get
results
which
contains
and
provide
the
keywords
that
should
be
in
the
output
of
say,
fading
version.
And
this
validates
whether
keywords
contain
in
the
output.
B
And
here's
a
this
scenario
used
to
create
the
osds
and,
as
you
can
see,
these
contains,
has
a
steps
where
I
execute
in
sephardium
cell.
So
these
commands
will
be
executed
in
sephardium
cell
and
also
a
step
waits
for
a
certain
period
of
time
to
oh
period
of
time,
so
that
it
gets
the
output
output.
It
awaits
for
a
certain
period
of
time
to
validate
the
outputs.
B
And
running
this
test,
we
can
run
all
these
tests
together
or
we
can
use
the
behave
tags
to
specify
which
scenarios
should
be
executed.
B
As
you
can
see,
I
have
used
the
at
ost
tag
to
specify
this
feature
is
related
to
osd
and
when
us
executed
with
a
tag
flag
using
the
behave
command,
it
will
be
actually
executing
only
the
osd
scenarios.
B
As
a
current
issue,
which
we
encountered
during
the
implementation,
that
we
cannot
run
the
behave
tests
using
the
talks
command
or
on
this
implementation
of
behave
using
the
talks
command
because
it
requires
the
environment
variables
to
execute
the
kcli
command,
which
requires
a
suitable
privileges,
and
we
are
looking
into
mitigate
this
workaround
on
this
issue
as
well.
B
The
output
of
executing
these
commands
and
this
the
scenarios.
B
Yeah,
you
would
specify
to
run
only
the
scenarios
with
the
tag
of
the
cell,
which
contains
the
scenarios
to.
B
Because
it's
taking
time,
I
can
show
the
previously
executed
output
of
this
command
and
the
feature
with
the
safe
cell,
and
I
have
of
the
the
commands
here
and
validated
the
output.
What
what
is
strict.
B
C
A
A
To
just
shortcut
things-
and
I
don't
know-
maybe
an
ellipsis
or
create
wild
cards
such
that
the
specific
details
are
not
important
like,
for
example,
if
if
here
there
is
an
exception-
and
you
want
to
verify
the
exception,
then
you
probably
do
not
want
to
have
the
line
numbers
matching
the
output.
So
typically,
you
would
have
some
kind
of
a
way
to
say
yeah.
I
don't.
I
don't
want
this
part
of
the
output
to
be
relevant.
For
me.
A
B
Yeah,
currently
we
the
dynamic
layer,
it
the
keywords
are
specified
which
are
not
dynamically
defined.
We,
for
example,
to
test
the
us
define
the
hosts
in
the
cluster
like
we
specify
these
posts
should
be
defined
and
we
specify
the
name
of
the
host,
but
not
the
ip
addresses.
D
Just
have
a
curiosity
question:
where
else
is
gherkin
used?
I
I
sort
of
like
it.
It's
very
simple
I
mean
where
is?
Is
this
unique
to
this
environment
or
there
are
other
places
that
use
this
for
testing
purposes.
B
Yeah
it's
based
on
behavior
based
development,
so
it
is
used
on
pi
test
behave
by
tests.
B
B
B
Yeah
and
finally,
I
would
like
that's
how
my
on
my
implementation,
I
have
been
working,
and
I
would
like
to
thank
my
mentor
and
the
safe
community
for
giving
this
opportunity
to
work
on
a
completely
new
feature
and
thank
you
looking
forward
to
contributing
on
other
issues
in
working
on
this
project
as
well.
A
B
A
Which
means
those
tests
are
probably
going
to
get
to
to
break
very
soon
right
after
after
the
pull
request
is
merged.
Do
you
plan
to
add
some
kind
of
a
jenkins
integration.
C
Yeah
well,
there
is
a
a
request
that
alfonso
implemented
about
well
to
test
dashboard.
We're
using
a
jenkins.
I
think
his
job,
okay
and
basically
is
is
very
similar.
Okay,
but
the
test
is
not
implemented
using
a
behave
okay,
so
I
think
that
it
would
be
easy
to
integrate
this
kind
of
test
with
with
the
yankees
the
yankee
system,
and
I
think
that
the
world
is
not
it's
not
very
difficult.
Okay,
and
what
we
have
in
this
moment
is
just
a
proof
of
content.
C
Okay,
that
could
be
expanded
and
improved
in
several
several
ways.
Okay,
and
what
I
think
that
is
going
to
happen
is
that
the
tests
are
there
and
I
think
that
what
what
could
be
broken,
maybe
is
functionality
okay,
but
the
test
is
just
the
security
and
theft
commands
okay
and
several
commands,
so
it's
very
difficult
to
predict
or
to
but
to
do
something
in
the
code
that
is
going
to
break
to
break
or
to
cause
problems
in
the
in
the
in
the
test.
C
C
A
A
Okay
did.
B
Yeah,
so
I
only
run
only
tags,
the
scenarios
associated
step
cell,
so
it
has
all
the
disk
scenarios
has
has
been
tested
and
executed
and
yes,
two
others
have
skipped
and
it
has
passed
and
it
also
has
deleted
the.
C
A
Okay,
yeah,
then
thank
you,
arun,
for
only
for
your
parents,
presentation.
D
E
All
right,
so
my
name
is
melissa
and
I'm
just
going
to
talk
a
little
bit
about
what
I've
been
doing
these
past
few
months.
At
my
outreach
internship
with
sev,
so
essentially
my
project
was
to
replace
a
zeknet
and
remoto
and
stuff
adm
with
the
python
ssh
library
which
we
decided
to
be
async
ssh
and
on
github,
I'm
melissa,
quinley,
rc,
melissa,
lee.
E
So
exact
nut
is
a
like
python
library
that,
like
it,
opens
gateways
and
channels
and
allows
you
to
execute,
execute
commands
remotely
and
remote
is
kind
of
like
a
wrapper
around
exec.net,
and
one
reason
why
xanax
should
be
replaced
is
that
it's
currently
in
maintenance
mode,
so
it's
no
longer
being
actively
developed.
E
Another
very
significant
reason
is
that
azekna
has
poor
error
reporting,
since
it's
not
like
a
dedicated
ssh
library.
So
if
users
like
encounter
an
ssh
connection,
issue
in
stuff,
adm
it'd
be
difficult
to
see
like
what
exactly
was
failing,
but
in
contrast
to
this
async
ssh,
since
it
is
a
dedicated,
ssh,
python
library,
it
does
handle
a
lot
of
the
errors
within
the
library
and
it
has
debug
logs,
which
are
quite
informative,
that
we
can
show
users
if
there
is
an
error.
So
then,
overall
it
can
improve
user
experience.
E
So
I
want
to
briefly
talk
about
some
of
the
challenges
I
faced
during
this
project,
and
I
basically
it
boils.
I
can
boil
it
down
to
like
three
main
categories.
The
first
one
is
evaluating
like
simply
which
python
ssh
library
to
replace
a
zac
net
and
remoto
with
so
initially
we
were
deciding
like.
We
thought
we
were
going
to
go
with
parameco.
E
It
is
like
a
very
popular
python,
sh
library,
it's
very
like
well
known,
but
we
were
running
into
limitations
with
parameco
that
you
might
expect,
like
python
ssh
libraries,
to
have
capabilities
that
permico
kind
of
it's
so
low
level
that
it
didn't
like
implement
it
itself.
So
an
example
of
that
is
parameco
didn't
natively
support,
openssh
config
and
within
cephadm
users
can
pass
in
their
ssh
config.
E
So
this
was
like
this
didn't
align
with
what
stefan
needed.
So
we
decided
to
switch
over
to
another
library,
async
ssh,
which
is
an
asynchronous
implementation
of
the
ssh
b2
protocol
and
async
ssh,
does
support
some
of
the
open,
ssh
config
and
overall,
it's
just
easier
to
use,
because
a
lot
of
the
features
that
you
would
expect
in
ssh
library
to
have
are
like
abstracted.
E
So
the
second
like
main
challenge
I
faced
during
this
project,
was
figuring
out
how
to
integrate
that
asynchronous.
Those
async
functions
and
cartoon
that
code
needed
for
the
library
into
the
pre-existing
code
in
stuff
adm.
That
is
synchronous
and
that
can
also
be
broken
down
into
like
the
event
loop,
which
you
need
for
async
like.
Where
do
we
put
it?
E
It
explains
also
a
lot
about
what's
happening,
but
basically
there's
this
like
module
that
I
created
sh,
dot
pi
in
pi
bind
manager,
sefa
dm,
and
what
we're
doing
here
is
we're
creating
a
thread
just
for
ssh
and
stuff
adm
and
we're
creating
our
event
loop
and
starting
it
in
that
thread,
and
then
we
have
a
method
get
result
which
basically
gets
the
result
of
the
async
coroutines
and
with
run
quarten
thread
safe.
E
It
submits
the
quarantines
onto
the
event
loop
in
that
thread
and
dot
result
will
basically
block
until
the
result
is
obtained,
so
that
essentially
maintains
like
the
synchronous
order
that
we
need
in
step
idm,
despite
using
an
asynchronous
library
and
in
terms
of
like
a
developer
standpoint
or
like
how
to
use
the
code.
So
this
is
an
example.
It's
in
it's
from
run,
suffidem
and
serve.pi,
so
like
checking
like
which
python3,
like
version.
E
E
Our
our
synchronous
function
is
basically
like
a
wrapper
around
the
asynchronous
core
routines
and
those
asymptotes
proteins
are
submitted
to
run
on
the
event
loop
and
we're
waiting
for
the
result,
which
will
then
be
returned.
E
So
this
is
like
an
example
of
what
an
asynchronous
cartoon
would
look
like.
It
just
has
like
syntax
of
async
functions,
so
we
can
like
await
upon
other
quarantines
and
then
also
raise
handle
the
errors
and
return
any
outputs
and
essentially
like
beyond,
like
the
syntax
of
the
async
ssh
async
syntax.
E
It
would
be
like
somewhat
comparable
to
like
programming
with
like
a
regular
like
synchronous
programming.
You
just
have
to
have
like
a
synchronous,
wrapper
function
around
your
core
routine
and
to
show
a
little
bit
about
what
async
sh
is
doing
in
the
background,
I'm
after
I
bootstrap
I'm
showing
these
manager
logs
and
typically
a
user
wouldn't
see
all
of
this,
because
it's
it's
really
verbose.
E
So
I
disabled
that
in
my
pr,
but
basically
I
just
enabled
it
for
the
purpose
of
this
presentation
just
to
show
like
what
stefadium,
what
async
stage
in
cepheum
is
doing.
So
it's
opening
a
connection
to
the
host
and
then
we're
caching
that
connection
object
per
host
and
then
we're
running
our
commands,
like
which
python
3,
through
like
check,
execute
command
or
xe
command
of
the
other
functions
in
cephem,
and
then
we
get
some
result
from
the
remote
host
and
whether
it's
a
success
or
failure.
E
E
So
that's
essentially
just
like
a
basic
overview
of
like
the
implementation
and
architecture
of
the
async
ssh
in
cephem
and
in
terms
of
in
terms
of
like
the
the
future
of
this
and
how
to
like
kind
of
maintain
it
or
like
how
to
manage
it,
because
I
know
that
there's
like
with
the
agent
and
with
maybe
like
future
changes,
cepheidium
architecture,
there's
like
how
do
we
like
integrate
this
within
that?
E
You
wouldn't
necessarily
need
to
care
a
lot
about
the
event
loop
because
it
is,
you
do
have
that
synchronous
wrapper
function,
so
you
can
just
use
that
normally
and
yeah.
So
that's
basically
just
wraps
up
my
presentation
and
thank
you
for
listening
and
thanks
to
sebastian
for
mentoring
me
through
the
project
and
the
rest
of
the
orchestrator
team
and
everyone
here
and
yeah.
That's
it.
A
Okay,
I
have
one
so
from
from
this
group,
you
you're
more
or
less
the
first
one
really
looking
into
async
coding
in
in
person
here.
What
what's
your
thought,
should
we
should
we
introduce
more
asynchronous
code
within
cepherdium,
or
should
we
keep
it.
A
In
in
specific
parts
of
the
code
base,
but
what's
your
what's
your
I
don't
know
what
what
do
you
think
about
asynchronous
programming
in
person.
E
Yeah,
so
through
this
project,
it's
my
first
like
encounter
with
async
programming
that
I've
done
so
like,
like
with
integrating
the
async
code
into
the
selfie
dm
right,
regular,
like
synchronous
code
like
it,
I
feel
like
there's
this
like
tendency,
like
the
more
you
introduce
asynchronous
code,
the
more
your
code,
it's
like
slowly
becoming
more
asynchronous,
or
it's
like
easy
for
your
code
to
become
more
asynchronous
just
because
of
like
the
nature
of
it.
E
E
I
do
feel
like
with
asus
programming
like
I
do
enjoy
it
like.
Personally,
I
find
it
pretty
interesting
in
terms
of
like
what,
if
it
would
be
good
for
sephora,
dm
or
the
rest
of
stuff,
I
guess
that
depends
on
just
like
whoever
is
like
developing
like
if
they're,
if
they
think
async,
is
the
right
way
to
go
in
terms
of
like
that's
like
what
seph
needs.
Personally,
I
think
it's
pretty
interesting.
E
I
think,
with
the
event
loop,
that's
like
something
I
was
struggling
with
was
like
figuring
out
getting
like
some
when
I
was
initially
programming
getting
some
like
async
related
bugs,
because
I
didn't
know
how
to
handle
the
event
loop.
D
Just
a
curiosity
question
from
a
performance
perspective
and
in
in
the
way
we
changed
it
are
there
big
implications
or
you
know
what
what
would
you
know?
What
are
the
overheads
of
some
of
these
calls?
Is
it?
Is
it
large
and
does
that
matter,
for
what
we're
trying
to
accomplish?
From
the
point
of
view
of
you
know
the
problem
we're
trying
to
solve
you
know
so,
where
do
you?
Where
do
you
see
that.
E
So,
in
terms
of
the
performance,
because
async
sh
is
asynchronous
typically,
you
would
see
a
little
like
if
you're,
just
like
purely
comparing
libraries,
you,
you
would
see
like
a
better
performance,
because
it's
asynchronous
the
way
I'm
like
using
it
here.
E
I
do
think
that,
like
we
are
creating
a
new
thread
which
could
have
some
overhead,
but
I
think
that
the
there's
benefits
in
terms
of
like,
like
the
user
experience,
because
they're
like
performance
wise,
I
don't
think
there
should
be
like
too
big
of
like
a
difference
between
the
like
the
current,
like
remote
second
net
and
with
async
ssh.
Since
we
are
caching
that
connection
object,
it's
not
like
we're
creating
a
new
connection
object
each
time,
so
I
don't
think
it
can.
E
It
would
be
that
negatively
affected,
but
I
think
that
the
user
experience
improvement
would
greatly
like
outweigh
or
like
the
like
any
performance
costs
just
because
using
like
a
dedicated
ssh
library
would
just
like
offer
so
much
more,
just
like
like
a
better
experience
for
the
user,
especially
in
terms
of
like
handling
those
errors
that
may
occur
and
yeah-
and
I
do
know
like
since
we
are
chained
like
changing
a
lot
with
stephanie
with
like
the
agent,
so
that
could
improve
a
lot
in
performance.
E
A
Yo,
so
so
so
my
take
on
it
is
the
library
or
the
choosing
a
different
library
doesn't
really
matter,
because
the
performance
is
really
dominated
by
the
ssh
protocol
and
creating
establishing
connections
and
which
library
we
are
using,
doesn't
really
matter
at
all,
and
we
have
different
goals
here.
D
A
Okay
yeah,
so
sef
has
some
slots
for
for
the
next
out,
which
you
round
that's
from
december
to
february.
A
Okay,
yes,
thank
you
again,
aaron
and
melissa
for
those
two
protect.
C
I
have
one
question
but
related
related
to
this,
as
in
kssh
is
this
package,
should
we
or
should
theft
provide
a
suitable
dependency
for
systems
that
don't
do
not
yet
have
this
packets
yet
like
centos.
A
I
think
right
right
now.
This
is
only
in
kfu's,
private,
copper,
repository
right.
B
B
A
A
Yeah,
but
not,
I
think,
ssh.
E
I
I
think,
if
you
added
his
geopr
repo
to
like
the
ceph
superior
repo,
but
I
think
yeah,
I
think
it's
not
available
like
outside
of
that.
C
A
Yeah
yep
yep
yep
yep.
Definitely
my
friend,
as
far
as
I
know,
the
dashboard
team
was
interested
in
using
in
installing
packages
directly
from
pip
right.
If
I'm
not.
C
A
Because
the
overhead
of
do
of
maintaining
that
rpm
package
for
centerwise
is
quite
big,
you
know,
so
that
would
be
a
great
use
case
for
avoiding
having
that
rpm
dependency.
C
A
Okay,
then
I
guess
we
can
conclude
the
okay
spread
directly
for
today.
If
there
is
nothing
else,
okay,
thank
you
and
let's,
thank
god.
Next
week,
bye.