C o n t a i n e r i z e y o u r l i f e ! H o - - PowerPoint PPT Presentation

c o n t a i n e r i z e y o u r l i f e
SMART_READER_LITE
LIVE PREVIEW

C o n t a i n e r i z e y o u r l i f e ! H o - - PowerPoint PPT Presentation

C o n t a i n e r i z e y o u r l i f e ! H o w t o l i v e w i t h a l w a y s n o t e n o u g h r e s o u r c e s J o a c h i m v o n T h a d d e n E M E A S e n i


slide-1
SLIDE 1

OpenStack Summit 2018 - Vancouver

C

  • n

t a i n e r i z e y

  • u

r l i f e !

H

  • w

t

  • l

i v e w i t h a l w a y s n

  • t

e n

  • u

g h r e s

  • u

r c e s

J

  • a

c h i m v

  • n

T h a d d e n E M E A S e n i

  • r

S p e c i a l i s t S

  • l

u t i

  • n

A r c h i t e c t O p e n S t a c k T h u 2 4 . 5 . 2 1 8 , 1 : 5 p m

  • 3

: 2 p m

slide-2
SLIDE 2

OpenStack Summit 2018 - Vancouver

2 / 4 4

D e mo

slide-3
SLIDE 3

OpenStack Summit 2018 - Vancouver

3 / 4 4

T h e P r

  • m

i s e F i r s t S t e p s w i t h L X D H

  • w

t

  • V

i r t u a l i z e w i t h

  • u

t V i r t u a l i z a t i

  • n

? A n d n

  • w

t h e h e a v y s t u f f ! T h e c u l p r i t s

  • f

m i s u s i n g a C

  • n

t a i n e r F i r s t S t e p s w i t h l i b v i r t L e t ’ s g e t

  • u

r fi n g e r s d i r t y . . . O p e n S t a c k : I n s t a l l P a c k s t a c k

A G E N D A

slide-4
SLIDE 4

OpenStack Summit 2018 - Vancouver

4 / 4 4

D i s c l a i me r

slide-5
SLIDE 5

OpenStack Summit 2018 - Vancouver

5 / 4 4

W a r n i n g

… t h i s i s n

  • t

a t r a d i t i

  • n

a l l a b ! T h i s L a b d i f f e r s f r

  • m
  • t

h e r s ! I t i s n

  • t

m e a n t t

  • b

e a g u i d e d t

  • u

r t h r

  • u

g h a t e c h n

  • l
  • g

y ! S e e i t m

  • r

e a s a n e x p e r i m e n t a l s e s s i

  • n

t

  • fi

g u r e

  • u

t t h e b

  • r

d e r s

  • f

t e c h n

  • l
  • g

y … S

  • e

x p e c t f a i l u r e s , q u e s t i

  • n

s a n d “ a g i l e c u s t

  • m

i z a t i

  • n

” ! A n d : Y

  • u

mu s t n

  • t

c

  • p

y + p a s t e b l i n d l y a s y

  • u

w i l l h a v e t

  • a

d a p t c

  • m

m a n d s t

  • y
  • u

r e n v i r

  • n

m e n t !

slide-6
SLIDE 6

OpenStack Summit 2018 - Vancouver

6 / 4 4

I n s t e a d

  • f

a n U S B S t i c k . . .

C

  • n

t e n t U R L

The slides can be found under the following URL: h t t p s : / / g i t h u b . c

  • m/

j t h a d d e n / O p e n S t a c k _ S u mmi t _ 2 1 8 _ V a n c

  • u

v e r / d

  • c

ma y b e a l s

  • v

i a my L a p t

  • p

: h t t p : / / 1 . 1 9 3 . 2 5 1 . 2 3 5 / p u b h t t p : / / 1 . 1 9 3 . 2 5 1 . 2 3 5 / r e p

  • s

h t t p : / / 1 . 1 9 3 . 2 5 1 . 2 3 5 / i s

  • s
slide-7
SLIDE 7

OpenStack Summit 2018 - Vancouver

7 / 4 4

T h e P r

  • mi

s e

slide-8
SLIDE 8

OpenStack Summit 2018 - Vancouver

8 / 4 4

Y

  • u

c a n ( mi s

  • )

u s e a C

  • n

t a i n e r a s a f u l l b l

  • w

n V i r t u a l M a c h i n e ! E v e n b e t t e r : Y

  • u

c a n v i r t u a l i z e w i t h

  • u

t n e s t i n g !

slide-9
SLIDE 9

OpenStack Summit 2018 - Vancouver

9 / 4 4

T h e C u l p r i t

  • f

V i r t u a l i z a t i

  • n

T h e r e a s

  • n

w h y w e d

  • n

’ t l i k e i t i f w e a r e n

  • t

a n e n t e r p r i s e !

  • R

e s

  • u

r c e s

  • R

e s

  • u

r c e s s s s

  • R

e s

  • u

r c e s s s s s s s s

slide-10
SLIDE 10

OpenStack Summit 2018 - Vancouver

1 / 4 4

O p e n S t a c k

… i s a W h a l e ! A f u l l b l

  • w

n O p e n S t a c k c

  • n

s i s t s

  • f

a t l e a s t

  • 1

I n s t a l l e r ( D i r e c t

  • r
  • r
  • t

h e r ) ( 1 6 G B R A M , 4 C P U s , 1 G B D i s k )

  • 3

C

  • n

t r

  • l

l e r s ( > 1 2 G B R A M , > 4 C P U s , 1 G B D i s k )

  • >

2 C

  • m

p u t e s ( > 4 G B R A M , > 4 C P U s , 1 G B D i s k )

  • S
  • m

e S t

  • r

a g e ( e . g . f

  • r

l i v e m i g r a t i

  • n

) ( > 4 G B R A M , 2 C P U s , > 1 G B D i s k ) A t l e a s t 6 G B R A M , 3 C P U s , 7 G B D i s k . I c a n d

  • i

t w i t h 2 4 G B R A M , 2 C P U s + H T , 1 G B D i s k :

  • )
slide-11
SLIDE 11

OpenStack Summit 2018 - Vancouver

1 1 / 4 4

H

  • w

t

  • V

i r t u a l i z e w i t h

  • u

t V i r t u a l i z a t i

  • n

?

slide-12
SLIDE 12

OpenStack Summit 2018 - Vancouver

1 2 / 4 4

H

  • w

t

  • V

i r t u a l i z e w i t h

  • u

t V i r t u a l i z a t i

  • n

?

S

  • m

e t y p e

  • f

C

  • n

t a i n e r i s y

  • u

r f r i e n d !

  • c

h r

  • t
  • C
  • n

t a i n e r

  • O

t h e r I d e a s ?

slide-13
SLIDE 13

OpenStack Summit 2018 - Vancouver

1 3 / 4 4

U s e f u l C

  • n

t a i n e r T e c h n

  • l
  • g

i e s . . .

. . . a n d w h y w e c a n ' t

  • r

d

  • n

' t w a n t t

  • u

s e t h e m ( a n d I t r i e d t h e m a l l ! ) I t r i e d t h e m a l l :

  • C

h r

  • t

○ l a c k i n g

  • f

n a m e s p a c e s e p a r a t i

  • n

a n d n

  • w

n n e t w

  • r

k i n g s t a c k ( b e c a u s e

  • f

t h e f

  • r

m e r )

  • D
  • c

k e r ○ w

  • r

k i n g b u t p r

  • b

l e m s w i t h ( n e e d e d ) p r i v i l e g e d a c t i

  • n

s

  • L

e g a c y O p e n V Z ( v z c t l ) ○ d

  • e

s t h e j

  • b

, b u t y

  • u

m i g h t n e e d t

  • u

s e t h e u p s t r e a m p a c k a g e ○ n

  • t

s u p p

  • r

t e d v e r y w e l l

  • L

x c ○ d

  • e

s t h e j

  • b

, b u t h

  • r

r i b l e t

  • c
  • n

fi g u r e a n d u s e

  • S

y s t e m d

  • n

s p a w n ○ n e s t e d v i r t u a l i z a t i

  • n

i s a p r

  • b

l e m

slide-14
SLIDE 14

OpenStack Summit 2018 - Vancouver

1 4 / 4 4

T h e b e s t w a y t

  • d

a y

  • a

n d w h y w e h a v e t

  • c

r y L X D

  • t

h e L X C D a e mo n

  • I

t ’ s a c t u a l l y a d a e m

  • n

f

  • r

L X C .

  • C
  • m

i n g f r

  • m

C a n

  • n

i c a l

  • s
  • w

i l l p r

  • b

a b l y d i e w h e n S h u t t l e w

  • r

t h d i e s ○ B U T i t ' s O p e n S

  • u

r c e ! S

  • w

h

  • c

a r e s !

  • L

X D i s b a s e d

  • n

L X C a n d t h a t ' s r u n n i n g

  • u

t

  • f

s u p p

  • r

t

  • f

R e d H a t ( a n d m i g h t b e r e m

  • v

e d i n t h e f u t u r e ) ○ N e v e r m i n d , w e w i l l u s e F e d

  • r

a … I f y

  • u

d

  • n

' t l i k e t h e L X D a p p r a

  • c

h

  • y
  • u

c a n d

  • i

t a s w e l l w i t h L e g a c y O p e n V Z ( i n s t a l l v z c t l

  • c
  • r

e )

slide-15
SLIDE 15

OpenStack Summit 2018 - Vancouver

1 5 / 4 4

T h e c u l p r i t s

  • f

mi s u s i n g a C

  • n

t a i n e r

slide-16
SLIDE 16

OpenStack Summit 2018 - Vancouver

1 6 / 4 4

C

  • n

t a i n e r s h a v e s e v e r a l r e s t r i c t i

  • n

s

  • n
  • n

e s t e d s e l i n u x

  • r

e s t r i c t e d s y s t e m d

  • n
  • a

u d i t d

  • n
  • s

y s c t l

  • n
  • m
  • d

u l e l

  • a

d i n g

  • p

r

  • b

l e m s w i t h s u b s c r i b i n g

  • e

r r

  • r

w i t h i s c s i ○ o p e n b u g s i n c e Y E A R S n

  • w

w i t h m i s s i n g n a m e s p a c i n g i n s c s i

  • m
  • d

u l e s

  • P

r

  • b

a b l y m

  • r

e y

  • u

w i l l f a c e ! A n d ma n y

  • f

t h e m c a n n

  • t

e v e n b e e n c i r c u mv e n t e d b y r u n n i n g t h e c

  • n

t a i n e r p r i v i l e g e d !

slide-17
SLIDE 17

OpenStack Summit 2018 - Vancouver

1 7 / 4 4

B U T : s

  • ma

n y t h i n g s a r e w

  • r

k i n g l i k e a c h a r m

  • B
  • t

i n g :

  • )
  • 9

9 % n e t w

  • r

k i n g

  • fi

r e w a l l i n g

  • n

a m e s p a c e s

  • v

i r t u a l i z a t i

  • n
  • 9

9 . 9 % f e e l i n g

  • f

r e a l m a c h i n e

slide-18
SLIDE 18

OpenStack Summit 2018 - Vancouver

1 8 / 4 4

L e t ’ s g e t

  • u

r fi n g e r s d i r t y . . .

slide-19
SLIDE 19

OpenStack Summit 2018 - Vancouver

1 9 / 4 4

N e e d a V M ?

T h e r e i s a V M

  • I

m a g e

  • f

a n a l r e a d y i n s t a l l e d a n d c

  • n

fi g u r e d F e d

  • r

a

  • 2

6 V M ( q c

  • w

2 ) : h t t p : / / < I P > / i s

  • s

/ F e d

  • r

a

  • 2

6

  • R

H T E . q c

  • w

2

  • m

a k e

  • n

e w i t h a t l e a s t 8 G B , 2 C P U , 8 G B H D D b a s e d

  • n

F e d

  • r

a 2 6 , c

  • p

y C P U c

  • n

fi g

  • s

t a r t t h e V M a n d i n s t a l l F e d

  • r

a 2 6

  • n
  • t

h e r d i s t r

  • s

s e e : h t t p s : / / l i n u x c

  • n

t a i n e r s .

  • r

g / l x d / g e t t i n g

  • s

t a r t e d

  • c

l i /

  • i

n s t a l l n e e d e d S

  • f

t w a r e dnf -y upgrade dnf -y groupinstall cloud-management dnf -y install libguestfs-tools

slide-20
SLIDE 20

OpenStack Summit 2018 - Vancouver

2 / 4 4

E n a b l i n g L X D

dnf -y copr enable ganto/lxd # don't use ganto/lxc3 for Fedora28 at the moment, instead edit # /etc/yum.repos.d/_copr_ganto-lxd.repo and change $releasever to 27 dnf -y install lxd lxd-client lxd-tools getent group lxd > /dev/null || groupadd -f -r lxd echo "root:1000000:65536" >> /etc/subuid echo "root:1000000:65536" >> /etc/subgid setenforce 0 systemctl start lxd.service usermod --append --groups lxd rhte T

  • m

a k e i t p e r m a n e n t ( e . g . i n a s p e c i a l V M ) : sed -i -e "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config systemctl enable lxd.service

slide-21
SLIDE 21

OpenStack Summit 2018 - Vancouver

2 1 / 4 4

L X D c a n b e u s e d a s a S e r v e r d a e mo n

E . g . i f y

  • u

h a v e s

  • m

e s t r

  • n

g e r m a c h i n e i n t h e c e l l a r . A d d t h e f

  • l

l

  • w

i n g : lxc config set core.https_address "[::]" lxc config set core.trust_password <your PW> firewall-cmd --add-port=8443/tcp --permanent firewall-cmd --reload

slide-22
SLIDE 22

OpenStack Summit 2018 - Vancouver

2 2 / 4 4

A d d s

  • me

s t

  • r

a g e

T h e r e a r e n u m e r

  • u

s s t

  • r

a g e

  • p

t i

  • n

s l i k e

  • Z

F S

  • B

t r f s

  • L

V M

  • P

l a i n F i l e s y s t e m <

  • w

e w i l l u s e t h a t R e

  • l
  • g

i n a s n

  • r

m a l u s e r r h t e a n d e x e c u t e : lxc storage create default dir lxc profile device add default root disk path=/ pool=default

slide-23
SLIDE 23

OpenStack Summit 2018 - Vancouver

2 3 / 4 4

F i r s t S t e p s w i t h L X D

slide-24
SLIDE 24

OpenStack Summit 2018 - Vancouver

2 4 / 4 4

S t a r t y

  • u

r fi r s t l i g h t w e i g h t V M

A l l l x c c

  • m

m a n d s s h

  • u

l d b e i s s u e d a s u s e r r h t e ! lxc image list images:|grep -i centos # remote repository images lxc image list # local available images lxc launch images:centos/7 my-centos7-container lxc exec my-centos7-container /bin/bash lxc list [regexp] # to list containers with state

slide-25
SLIDE 25

OpenStack Summit 2018 - Vancouver

2 5 / 4 4

S

  • me

mo r e C

  • mma

n d s

lxc info my-centos7-container # getting Info lxc {network|profile|config|storage} list lxc {network|profile|config|storage} show lxc config show compute0 --expanded # getting all configs # (like image, storage, security" ps aux | grep "containers compute0" # find the monitoring process of a # container (e.g. if hanging) lxc list security.privileged=true # list all privileged containers lxc start|stop|restart|pause lxc file pull|push|edit <container>/<path> [-] # - means stdout lxc config device add mycontainer vartest disk source=/var/www path=/var/test # attach a dir to a container

slide-26
SLIDE 26

OpenStack Summit 2018 - Vancouver

2 6 / 4 4

P r e p a r e a C e n t O S i ma g e f

  • r
  • u

r s p e c i a l u s a g e w i t h L X D

  • l

e a r n h e r e t h e e a s y w a y ○ t

  • d
  • t

h e t h i n g s w h i c h a r e n

  • t

w

  • r

k i n g i n a n L X D

  • C
  • n

t a i n e r

  • w

e n e e d ○ a p r

  • fi

l e ○ t h e C e n t O S i m a g e i n l x c ( y

  • u

k n

  • w

h

  • w

t

  • g

e t i t ) ○ a r c . l

  • c

a l fi l e : h t t p s : / / r a w . g i t h u b u s e r c

  • n

t e n t . c

  • m

/ j t h a d d e n / O p e n S t a c k _ S u m m i t _ 2 1 8 _ V a n c

  • u

v e r / m a s t e r / r

  • l

e s / l a y e r 2 _ b

  • t

s t r a p _ c

  • n

t a i n e r / fi l e s / r c . l

  • c

a l

  • c
  • n

t a i n e r

slide-27
SLIDE 27

OpenStack Summit 2018 - Vancouver

2 7 / 4 4

C r e a t e a n e w P r

  • fi

l e

R e m e m b e r : u s e r i s a l w a y s r h t e ! lxc profile create rhosp lxc network attach-profile virbr0 rhosp eth0 lxc profile device add rhosp root disk path=/ pool=default lxc profile set rhosp security.privileged true

slide-28
SLIDE 28

OpenStack Summit 2018 - Vancouver

2 8 / 4 4

r c . l

  • c

a l

→ let us go through it, to understand what to do ←

  • n the git repo go to:

roles/layer2_bootstrap_container/files/rc.local-container

slide-29
SLIDE 29

OpenStack Summit 2018 - Vancouver

2 9 / 4 4

P r e p a r e y

  • u

r C e n t O S w i t h t h e r c . l

  • c

a l

lxc image list lxc launch -p rhosp images:centos/7 my-centos7-container lxc exec my-centos7-container /bin/bash # install and start sshd yum -y install openssh-server file systemctl enable sshd && systemctl start sshd passwd root # and try to sshd into it lxc list ssh root@<IP> # get rc.local and execute curl <...> -o /etc/rc.local chmod 755 /etc/rc.local systemctl enable rc-local reboot # look into logfile for execution of rc.local

slide-30
SLIDE 30

OpenStack Summit 2018 - Vancouver

3 / 4 4

L e t ’ s t r y s

  • me

r e a l w

  • r

k !

slide-31
SLIDE 31

OpenStack Summit 2018 - Vancouver

3 1 / 4 4

I n s t a l l a n I P A

slide-32
SLIDE 32

OpenStack Summit 2018 - Vancouver

3 2 / 4 4

P r e p a r e t h e C

  • n

t a i n e r

S e t h

  • s

t n a m e , e n a b l e r e p

  • s

a n d i n s t a l l fi r e w a l l d # ssh into the container hostnamectl set-hostname `hostname`.rhte.internal yum repolist yum install firewalld systemctl enable firewalld && systemctl start firewalld

slide-33
SLIDE 33

OpenStack Summit 2018 - Vancouver

3 3 / 4 4

I n s t a l l a n d C

  • n

fi g u r e I P A

yum -y install ipa-server ipa-server-dns ipa-server-install --setup-dns --forwarder=8.8.8.8 -r \ `dnsdomainname|tr a-z A-Z` -p "changeme" -a "changeme" -U 2>&1 | \ tee ipa-install.out--setup-dns # open the firewall accordingly firewall-cmd --permanent \

  • -add-port={80/tcp,443/tcp,389/tcp,636/tcp,88/tcp,464/tcp,53/tcp,88/

udp,464/udp,53/udp,123/udp} firewall-cmd --reload

slide-34
SLIDE 34

OpenStack Summit 2018 - Vancouver

3 4 / 4 4

T e s t I P A

kinit admin klist ipa user-find admin

1 . i f y

  • u

w a n t t

  • s

e e t h e w e b i n t e r f a c e , u s e

  • n

y

  • u

r h

  • s

t s

  • m

e t h i n g l i k e

sshuttle -r root@<yourVMsIP> <yourContainersIP>

2 . a d d t h e h

  • s

t t

  • y
  • u

r / e t c / h

  • s

t s

echo "<IPofContainer> my-centos7-container.rhte.internal" >> /etc/hosts

3 . B r

  • w

s e t

  • y
  • u

r I P A

https://my-centos7-container.rhte.internal

slide-35
SLIDE 35

OpenStack Summit 2018 - Vancouver

3 5 / 4 4

N

  • w

t r y

  • u

t V M s i n C

  • n

t a i n e r s !

slide-36
SLIDE 36

OpenStack Summit 2018 - Vancouver

3 6 / 4 4

I n s t a l l l i b v i r t

yum -y install libvirt libvirt-daemon-kvm systemctl enable libvirtd systemctl start libvirtd

slide-37
SLIDE 37

OpenStack Summit 2018 - Vancouver

3 7 / 4 4

T r y

  • u

t l i b v i r t i n a c

  • n

t a i n e r

N

  • t

e : Y

  • u

s h

  • u

l d a l w a y s s s h

  • A

X t

  • y
  • u

r h

  • s

t … A t t e n t i

  • n

: T h e f

  • l

l

  • w

i n g i s d

  • n

e

  • n

t h e V M / y

  • u

r h

  • s

t , n

  • t

i n t h e c

  • n

t a i n e r ! M a p a n i m a g e i n t

  • t

h e C

  • n

t a i n e r : curl http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img \

  • o cirros-0.3.5-x86_64-disk.img

lxc config device add my-centos7-container image disk \ source=`pwd`/cirros-0.3.5-x86_64-disk.img \ path=/var/lib/libvirt/images/cirros-0.3.5-x86_64-disk.img S t a r t v i r t

  • m

a n a g e r :

  • E

i t h e r i n s t a l l i n t h e V M

  • r

u s e t h e s s h u t t l e c

  • n

n e c t i

  • n

f r

  • m

t h e I P A t e s t

  • n

y

  • u

r h

  • s

t .

  • A

d d a n e w c

  • n

n e c t i

  • n

t

  • y
  • u

r C

  • n

t a i n e r v i a s s h .

  • A

d d a n e w V M , s e l e c t t h e I m a g e a n d s t a r t i t .

  • L
  • k

a t y

  • u

r H

  • s

t a n d C

  • n

t a i n e r f

  • r

t h e V M : p g r e p

  • a

f k v m | g r e p k v m . Y

  • u

m i g h t w a n t t

  • s

t

  • p

t h i s c

  • n

t a i n e r n

  • w

!

slide-38
SLIDE 38

OpenStack Summit 2018 - Vancouver

3 8 / 4 4

A n d n

  • w

t h e h e a v y s t u f f !

slide-39
SLIDE 39

OpenStack Summit 2018 - Vancouver

3 9 / 4 4

I f O p e n S t a c k i s w

  • r

k i n g

  • n

t h a t , t h e n e v e r y t h i n g w i l l d

  • !
slide-40
SLIDE 40

OpenStack Summit 2018 - Vancouver

4 / 4 4

T h e g i t r e p

  • h

a s t h e c

  • d

e f

  • r

a n a n s i b l e i n s t a l l

  • f

R D O i n i t :

h t t p s : / / g i t h u b . c

  • m/

j t h a d d e n / O p e n S t a c k _ S u mmi t _ 2 1 8 _ V a n c

  • u

v e r . g i t

slide-41
SLIDE 41

OpenStack Summit 2018 - Vancouver

4 1 / 4 4

g i t i t a n d s t a r t i t

N

  • t

e : Y

  • u

s h

  • u

l d a l w a y s s s h

  • A

X t

  • y
  • u

r h

  • s

t … W e a r e n

  • w

w

  • r

k i n g

  • f

t h e V M / H

  • s

t a g a i n . . . yum -y install git ansible libselinux-python python-firewall git clone https://github.com/jthadden/OpenStack_Summit_2018_Vancouver.git cd OpenStack_Summit_2018_Vancouver/ # add a host entry for localhost (see config_infrastructure.yml) echo "<yourVMorHostIP> myserver" >> /etc/hosts # when working with a VM: generate an ssh key or copy it over from your host: ssh-keygen && ssh-add ./create.sh # be patient...

slide-42
SLIDE 42

OpenStack Summit 2018 - Vancouver

4 2 / 4 4

p l a y b

  • k

u s a g e

  • to stop the containers use:

ansible-playbook -v -i hosts-OSSummit-minimal -e @config/config_OSSummit_minimal.yml -e @config/config_infrastructure.yml stop.yml

  • to start again the containers use:

ansible-playbook -v -i hosts-OSSummit-minimal -e @config/config_OSSummit_minimal.yml -e @config/config_infrastructure.yml start.yml

  • to destroy the cloud use:

ansible-playbook -v -i hosts-OSSummit-minimal -e @config/config_OSSummit_minimal.yml -e @config/config_infrastructure.yml destroy.yml

  • to install an extended version with 3 computes and a network node use:

ansible-playbook -v -i hosts-OSSummit -e @config/config_OSSummit.yml -e @config/config_infrastructure.yml create.yml

slide-43
SLIDE 43

OpenStack Summit 2018 - Vancouver

4 3 / 4 4

P l e a s e p r

  • v

i d e f e e d b a c k . P l e a s e c l

  • n

e .

slide-44
SLIDE 44

OpenStack Summit 2018 - Vancouver

4 4 / 4 4

T h a n k y

  • u

!