8 devstack beyond_hello-world

Post on 08-May-2015

1.403 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Devstack beyond ‘hello-world’

Agenda

What is Devstack?

Single and multi node architecture

Cell architecture

Quick demo of cell setup

Run it

Test it

Mimic a deploy

Why Devstack?

Structure

nova-db

glance-

db

img

store

volume

storage

Compute

Other components Nova API

API request

Compute Compute`

Compute

Compute

Single node setup

Multi-node setup

A peek into stack.sh

ADMIN_PASSWORD=password

MYSQL_PASSWORD=stackdb

RABBIT_PASSWORD=stackqueue

SERVICE_PASSWORD=$ADMIN_PASSWORD

HOST_IP=w.x.y.z

...

localrc – set overrides

Database type

Enabled services=g-api,n-api,...

(Service repos)

NOVA_REPO=<nova git repo>

NOVA_BRANCH=<nova branch>

stackrc – primary config file

HOST_IP = <compute node IP>

MULTI_HOST=1

SERVICE_HOST=<controller IP>

MYSQL_HOST=<controller IP>

RABBIT_HOST=<controller IP>

ENABLED_SERVICES=n-cpu, n-net, c-sch, c-api, c-vol

On the compute node:

localrc settings

HOST_IP = <controller IP>

MULTI_HOST=1

ENABLED_SERVICES=n-net, n-api, c-sch, c-api, c-vol

On the controller node:

Work flow

API request

http://devstack.org/guides/multinode-lab.html

Cells

Nova-

cpu

Nova

-net DB

DB

Nova-

cpu

Nova

-net

Nova-

cell

Nova-

cell

Nova-

sch

Nova

-sch

Parent

Child

Grand-child

Parent-child structure

AMQP

Build Request

Parent

Child

Work flow

So, how we do we configure these cells in devstack?

Let’s try to configure a cell environment with one parent and one child

We used two VMs with Ubuntu 12.04 LTS installed as parent and child for this

demo

Clone https://github.com/matiu2/devstack on both parent and child and

checkout “cell_support” branch

Open localrc under devstack folder and type in

below content..

MULTI_HOST=True

enable_service n-cell n-api-meta

disable_service n-cpu

Open /etc/nova/nova.conf and type in below

content..

[cells]

enable=True

name=parent

cell_type=api

On Parent..

Run ./stack.sh

Restart n-api and n-cell services

On Child..

Open localrc under devstack folder and type in below

content..

MULTI_HOST=True

enable_service n-cell

disable_service n-api

Run ./stack.sh

Open /etc/nova/nova.conf and type in below

content..

[DEFAULT]

quota_driver=nova.quota.NoopQuotaDriver

glance_api_server = <glance server running in parent>

[cells]

enable=True

name=child

cell_type=compute

Restart n-cpu, n-sch and n-cell services

Now we are done configuring both parent and child…

How do the parent and the child know about each other now?

On parent, we will run the command:

nova-manage cell create --name=child --cell_type=compute --

username=guest --password=password --hostname=<child ip> --

port=5672 --virtual_host=/ --woffset=1.0 --wscale=1.0

On the child, we will run the command:

nova-manage cell create –name=parent --cell_type=api --

username=guest --password=password --hostname=<parent ip> --

port=5672 --virtual_host=/ --woffset=1.0 --wscale=1.0

Let’s try to build an instance in this cell environment…

http://openlystacking.blogspot.in/2013/07/creating-cell-environment-using-

devstack.html

So far, we have seen…

Brief introduction to devstack

Single and multi-node environment

Cells

A demo in a cell environment

Questions?

top related