23
1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for Wind River Linux - Kernel.org KDB/KGDB Maintainer August 22 nd , 2014

NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

1

© 2014 Wind River

NFV in the Embedded World:

Yocto Project

and

OpenStack

Jason Wessel - Product Architect for Wind River Linux

- Kernel.org KDB/KGDB Maintainer

August 22nd, 2014

Page 2: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

2

© 2014 Wind River

Google, Microsoft and Apple…

Rackspace, Amazon…

Private Cloud for IT guys

The embedded Cloud?

Cloud this, Cloud that

Page 3: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

3

© 2014 Wind River

Why the embedded cloud?

Page 4: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

4

© 2014 Wind River

The Cloud of Clouds Orchestration

Redundancy

Page 5: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

5

© 2014 Wind River

Embedded NFV

Telco

Radio Access networks

Real Time VMs

Consolidation and management of embedded equipment -> VMs

Page 6: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

6

© 2014 Wind River

Obvious Choice

+

=

Page 7: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

7

© 2014 Wind River

meta-cloud-services

Choose branch wisely…

havana -> “Not dead yet!”

icehouse -> “latest“

juno/master -> “unstable”

Page 8: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

8

© 2014 Wind River

How can you build it? mkdir –p /space/jw/yocto ; cd /space/jw/yocto

# Clone away

git clone git://git.yoctoproject.org/meta-cloud-services

git clone git://git.openembedded.org/meta-openembedded

git clone --branch icehouse git://git.yoctoproject.org/meta-virtualization

git clone git://git.openembedded.org/openembedded-core oe-core

cd oe-core

git clone git://git.openembedded.org/bitbake

At this point ~ 5 min

Page 9: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

9

© 2014 Wind River

Build controller (1 of 2) mkdir –p /space/jw/yocto/oe-core/controller

cd /space/jw/yocto/oe-core/controller

. ../oe-init-build-env

# Edit conf/local.conf to use: echo ‘MACHINE = “qemux86-64” >> conf/local.conf # Edit conf/bblayers.conf to include other layers

BBLAYERS ?= " \

/space/jw/yocto/oe-core/meta \

/space/jw/yocto/meta-virtualization \

/space/jw/yocto/meta-cloud-services \

/space/jw/yocto/meta-cloud-services/meta-openstack-controller-deploy \

/space/jw/yocto/meta-cloud-services/meta-openstack \

/space/jw/yocto/meta-cloud-services/meta-openstack-qemu \

/space/jw/yocto/meta-cloud-services/meta-openstack \

/space/jw/yocto/meta-openembedded/meta-oe \

/space/jw/yocto/meta-openembedded/meta-networking \

/space/jw/yocto/meta-openembedded/meta-filesystems \

/space/jw/yocto/meta-openembedded/meta-python \

/space/jw/yocto/meta-openembedded/meta-webserver \

/space/jw/yocto/meta-openembedded/meta-ruby"

Page 10: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

10

© 2014 Wind River

Build controller (2 of 2) # Build it

bitbake openstack-image-controller

~ 1-4 hours depending on internet speed and processor power

Page 11: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

11

© 2014 Wind River

Boot Controller with QEMU

runqemu qemux86-64 \

openstack-image-controller \

kvm nographic \

qemuparams="-m 4096"

Page 12: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

12

© 2014 Wind River

Build Compute(1 of 2) mkdir –p /space/jw/yocto/oe-core/compute

cd /space/jw/yocto/oe-core/compute

. ../oe-init-build-env

ln -s ../../controller/build/downloads .

ln -s ../../controller/build/sstate-cache .

# Edit conf/local.conf to use: echo ‘MACHINE = “qemux86-64” >> conf/local.conf # Edit conf/bblayers.conf to include other layers BBLAYERS ?= " \

/space/jw/yocto/oe-core/meta \

/space/jw/yocto/meta-virtualization \

/space/jw/yocto/meta-cloud-services \

/space/jw/yocto/meta-cloud-services/meta-openstack-compute-deploy \

/space/jw/yocto/meta-cloud-services/meta-openstack \

/space/jw/yocto/meta-cloud-services/meta-openstack-qemu \

/space/jw/yocto/meta-cloud-services/meta-openstack \

/space/jw/yocto/meta-openembedded/meta-oe \

/space/jw/yocto/meta-openembedded/meta-networking \

/space/jw/yocto/meta-openembedded/meta-filesystems \

/space/jw/yocto/meta-openembedded/meta-python \

/space/jw/yocto/meta-openembedded/meta-webserver \

/space/jw/yocto/meta-openembedded/meta-ruby"

Page 13: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

13

© 2014 Wind River

Build compute (2 of 2) # Build it

bitbake openstack-image-compute

< 15 min (because of caching)

Page 14: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

14

© 2014 Wind River

Boot Compute node with QEMU

runqemu qemux86-64 \

openstack-image-compute \

kvm nographic \

qemuparams="-m 4096 -smp 4"

“Free as in beer”

Page 15: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

15

© 2014 Wind River

What does it look like? Yocto Project + icehouse OpenStack

https://www.youtube.com/watch?v=tpf0XtP3HDE

Play

Video

Page 16: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

16

© 2014 Wind River

Load an image wget http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img

scp cirros-0.3.2-x86_64-disk.img [email protected]:

ssh [email protected]

. /etc/nova/openrc

glance image-create --name myFirstImage --is-public true \

--container-format bare --disk-format qcow2 \

--file /home/root/cirros-0.3.2-x86_64-disk.img

Page 17: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

17

© 2014 Wind River

Create instance in horizon Web browser: http://192.168.7.2:8080/

Login: admin

Password: password

Click Project tab -> Network tab -> Networks

Click: Create Network (upper right)

Name a network: testnet (next)

Create a subnet name: 192-168 Network address: 192.168.0.0/24 (next, next)

Click Project tab -> Compute -> Instances

Click: Launch Instance (upper right)

Instance Name: test1

Instance Boot Source: Boot from image

Image Name: myFirstImage

Click: Launch

Page 19: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

19

© 2014 Wind River

Guest to your liking

Page 20: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

20

© 2014 Wind River

What would you build?

Five 9’s

Cloud

Page 21: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

21

© 2014 Wind River

Availability Downtime

per year

Downtime

per month

Downtime

Per week

99% (2 9’s) 3.65 days 7.20 hours 1.68 hours

99.9% (3 9’s) 17.52 hours 43.8 minutes 10.1 minutes

99.99% (4 9’s) 52.56 minutes 4.32 minutes 1.1 minutes

99.999 (5 9’s) 5.26 minutes 25.9 seconds 6.05 seconds

99.9999 (6 9’s) 31.5 seconds 2.59 seconds 0.605 seconds

Carrier Grade

Typical

Open Stack

Carrier Grade

Page 22: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

22

© 2014 Wind River

Internet

L2 Switch

Controller

Node A Storage

Node

Compute

Node Controller

Node B Storage

Node Storage

Node

Compute

Node Compute

Node HA

Compute Node

HA Platform, Vswitch,

and Services

APP

VM

APP

VM

RT

VM

Wire rate 40GB

L3 forwarding in a VM

Page 23: NFV in the Embedded World: Yocto Project and OpenStack ...€¦ · 1 © 2014 Wind River NFV in the Embedded World: Yocto Project and OpenStack Jason Wessel - Product Architect for

23

© 2014 Wind River