openstack quantum + devstack tutorial

16
Quantum + Devstack Tutorial Dave Lapsley [email protected]

Upload: david-lapsley

Post on 08-May-2015

13.804 views

Category:

Technology


0 download

DESCRIPTION

Presented at March 8 Essex Installfest Boston.

TRANSCRIPT

Page 1: Openstack Quantum + Devstack Tutorial

Quantum + DevstackTutorial

Dave [email protected]

Page 2: Openstack Quantum + Devstack Tutorial

Outline

• Overall Architecture• Instance Launching Internals• Devstack in 30s• Single Node Development Deployment (OVS)• Multi-Node Development Deployment (OVS)• Tips and Tricks

Page 3: Openstack Quantum + Devstack Tutorial

Nova/Quantum Architecture

Adapted from http://ken.pepple.info/openstack/2011/04/22/openstack-nova-architecture/

Page 4: Openstack Quantum + Devstack Tutorial

Instance Launching InternalsAPI server receives run_instance command from user.

1. api server relays message to cloud controller (authentication).

2. controller sends message to scheduler3. scheduler casts message to a

“random” host and requests instance start

4. compute worker on host grabs the message

5. compute worker needs IP to launch new instance so it sends a message to the network controller (5,6,7,8).

Compute worker continues with spawning a new instance.

Adapted from http://www.laurentluce.com/posts/openstack-nova-internals-of-instance-launching/

Page 5: Openstack Quantum + Devstack Tutorial

Devstack in 30s

• Quickstart– http://devstack.org– git clone https://github.com/openstack-dev/devstack.git

cd devstack && ./stack.sh• Important files:– localrc: node settings– stackrc: git repo and branch information, image download

location– tools/info.sh: capture system information, git

project/branch/commit, package version information, local node settings

Page 6: Openstack Quantum + Devstack Tutorial

Single Node Devstack + Quantum Development Deployment (OVS plugin)

Page 7: Openstack Quantum + Devstack Tutorial

Quantum Images, Patches, and Scripts

• Default devstack vm images currently don’t support multiple interfaces (patch available at: https://bugs.launchpad.net/devstack/+bug/940693)

• quantum.sh script is useful for automating your quantum setups and testing. Currently under review at: https://review.openstack.org/#change,4665

• OVS Plugin provides some really nice features but requires VLAN support for multi-node in basic non-tunneled mode. If developing in virtualized environment, make sure your ethernet drivers/hypervisor don’t strip tagging:– Virtual Box works fine (with virtio-net driver – haven’t tested others

yet)

Page 8: Openstack Quantum + Devstack Tutorial

Demo logical layout

Page 9: Openstack Quantum + Devstack Tutorial

localrc and versions# HostsHOST_IP=192.168.56.3

# ServicesENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,quantum,q-svc,q-agt

# NetworksFIXED_NETWORK_SIZE=4096FIXED_RANGE=10.4.128.0/20 FLAT_INTERFACE=eth1 FLOATING_RANGE=172.16.142.128/25 # MiscLOGFILE=/home/dlapsley/logs/stack.log MULTI_HOST=0OFFLINE=1SERVICE_TOKEN=xyzpdqlazydogSYSLOG=True UPLOAD_LEGACY_TTY=1

MYSQL_PASSWORD=nova RABBIT_PASSWORD=nova ADMIN_PASSWORD=novaRECLONE=noSERVICE_PASSWORD=nova DEFAULT_IMAGE_NAME=tty-quantum

git|glance|master[c6a626e]git|horizon|master[eb72487]git|keystone|master[48dc5be]git|nova|master[67eb98d]git|noVNC|master[22b9a75]git|python-keystoneclient|master[ca76785]git|python-novaclient|master[01873d0]git|python-quantumclient|master[f6d5087]git|quantum|master[a59c832]os|vendor=Ubuntuos|release=11.10

Page 10: Openstack Quantum + Devstack Tutorial

Single Node Demo

Page 11: Openstack Quantum + Devstack Tutorial

Multi-Node Devstack + Quantum(OVS plugin)

Page 12: Openstack Quantum + Devstack Tutorial

Quantum Images, Patches, and Scripts

• As for single node development deployment• Devstack patches under submission or to be

submitted• Patches will also be available on Quantum

Wiki next week:– http://wiki.openstack.org/Quantum

Page 13: Openstack Quantum + Devstack Tutorial

localrcs (same version info as before)# CONTROLLER NODE

# HostsHOST_IP=192.168.56.3

# ServicesENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,quantum,q-svc,q-agt

# NetworksFIXED_NETWORK_SIZE=4096FIXED_RANGE=10.4.128.0/20 FLAT_INTERFACE=eth1 FLOATING_RANGE=172.16.142.128/25 # MiscLOGFILE=/home/dlapsley/logs/stack.log MULTI_HOST=0OFFLINE=1SERVICE_TOKEN=xyzpdqlazydogSYSLOG=True UPLOAD_LEGACY_TTY=1

MYSQL_PASSWORD=nova RABBIT_PASSWORD=nova ADMIN_PASSWORD=novaRECLONE=noSERVICE_PASSWORD=nova DEFAULT_IMAGE_NAME=tty-quantum

# COMPUTE NODE

# HostsHOST_IP=192.168.56.2Q_HOST=192.168.56.3GLANCE_HOSTPORT=192.168.56.3:9292KEYSTONE_HOST=192.168.56.3MYSQL_HOST=192.168.56.3RABBIT_HOST=192.168.56.3SYSLOG_HOST=192.168.56.3

# ServicesENABLED_SERVICES=n-cpu,n-sch,quantum,q-agt

# NetworksFIXED_NETWORK_SIZE=4096FIXED_RANGE=10.4.128.0/20FLAT_INTERFACE=eth1FLOATING_RANGE=172.16.142.128/25

# MiscLOGFILE=/home/dlapsley/logs/stack.logMULTI_HOST=0OFFLINE=1SERVICE_TOKEN=xyzpdqlazydogSYSLOG=TrueUPLOAD_LEGACY_TTY=1

MYSQL_PASSWORD=novaRABBIT_PASSWORD=novaADMIN_PASSWORD=novaRECLONE=noSERVICE_PASSWORD=novaDEFAULT_IMAGE_NAME=tty-quantum

Page 14: Openstack Quantum + Devstack Tutorial

Multi-node Demo

Page 15: Openstack Quantum + Devstack Tutorial

Tips and Tricks Summary• devstack is your friend• Default images currently don’t support multiple interfaces (patch available at:

https://bugs.launchpad.net/devstack/+bug/940693)• devstack/tools/info.sh is also your friend

– Version information is critical for reproducible environment (particularly during periods of high code churn)

• devstack needs some minor patching to work with multi-node quantum (to be submitted for review next week)

• quantum.sh script is useful for automating your quantum setups and testing. Currently under review at: https://review.openstack.org/#change,4665

• OVS Plugin provides some really nice features but requires VLAN support for multi-node in basic non-tunneled mode. If developing in virtualized environment, make sure your ethernet drivers/hypervisor don’t strip tagging:– Virtual Box works fine (with virtio-net driver – haven’t tested others yet)