+ All Categories
Home > Technology > OpenStack Development Using devstack

OpenStack Development Using devstack

Date post: 08-May-2015
Category:
Upload: mestery
View: 10,660 times
Download: 0 times
Share this document with a friend
Description:
This is a presentation I gave around using devstack to develop for OpenStack.
20
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1 Kyle Mestery Technical Leader, Office of the Cloud CTO OpenStack Development Using devstack
Transcript
Page 1: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1

Kyle Mestery

Technical Leader, Office of the Cloud CTO

OpenStack Development Using devstack

Page 2: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 2

What is OpenStack?

Page 3: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 3

OpenStack Mission

“To produce the ubiquitous open source cloud computing platform that will meet the needs of

public and private cloud providers regardless of size, by being simple to implement and

massively scalable.”

Page 4: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 4

OpenStack• OpenStack is open source software that allows any company to build their own

public or private cloud

• Sits above the hypervisor and is hypervisor agnosticKVM, Xen, Hyper-V, ESX

• Think of it as: “software that powers Amazon’s ECS+S3”.

Page 5: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 5

OpenStack Technology

Today (Folsom release)• Compute Service (Nova)• Object Storage Service (Swift)• Image Service (Glance)• Identity Service (Keystone)• Dashboard (Horizon)• Network Service (Quantum)

Also• Load Balancer Service (proposed)• Database Service (proposed)• Heat API (AWS CloudForms compatible)• Ceilometer monitoring and metering (proposed)

Releases• Cactus (Q1 2011)• Diablo (Q3 2011)• Essex (Q1 2012)• Folsom (Q3 2012)• Grizzly (Q1 2013)

Page 6: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 6

OpenStack Community

Page 7: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 7

What is

Page 8: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 8

devstack in 30 seconds• Quickstart

http://devstack.org/

git clone https://github.com/openstack-dev/devstack.git

cd devstack && ./stack.sh

• Files of notelocalrc: Contains settings for each node running devstack

stackrc: git repository and branch information

Page 9: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 9

devstack is …• A documented shell script to build complete OpenStack development environments

• devstack is written in bash

• Originally created by Rackspace Cloud BuildersNow maintained by the OpenStack Community

• Supported on both Ubuntu and Fedora Linux

• Able to run in both single and multi-node environments

Page 10: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 10

devstack is NOT• Intended to allow you to deploy OpenStack in a production environment

• The exact way you would deploy OpenStack in production (but it’s close)

• The way to do a full system qualification of your OpenStack workStill need to test things using actual packages for your distribution

Page 11: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 11

Who uses devstack?• Developers working on OpenStack

• Used to test changes and verify they work in a running OpenStack deployment

• Used by the CI system to test changes as they are pushed into gerrit for review

• Used for demos and proof of concept work

Page 12: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 12

What is devstack actually doing• devstack will pull code from the upstream OpenStack git repositories and deploy it on

your host or virtual machinedevstack is not using operating system packages, but actual git

Well the OpenStack CI system usually ensures the upstream branches always work, there are no warranties here (e.g. buyer beware)

• You can configure devstack to make use of releases other than the master releaseTo use Folsom instead of grizzly add this to localrc:

NOVA_BRANCH=stable/folsom

CINDER_BRANCH=stable/folsom

GLANCE_BRANCH=stable/folsom

KEYSTONE_BRANCH=stable/folsom

QUANTUM_BRANCH=stable/folsom

HORIZON_BRANCH=stable/folsom

Page 13: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 13

Where can you run devstack?• devstack will run on Fedora 16/17/18 or Ubuntu 11.10/12.04/12.10

• Devstack will run equally well either directly on physical hardware or in a virtual machine

• Runs in a VM with whatever virtualization software you are familiar with:VMware ESX

VMware Workstation

VMware Fusion

VirtualBox

KVM

Xen

Page 14: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 14

Making use of screen• “screen” is a software application which can be used to multiplex several virtual consoles

• Allows a user to “attach” to a screen session and “detach” from a screen session

• devstack runs all the OpenStack software in a screen session

• Very handy for debugging your environment, restarting OpenStack processes, and connecting back into your devstack host with ssh

• Handy screen commands:Next screen: CTRL-A-N

Previous screen: CTRL-A-P

Pause the output: CTRL-ESC (scroll around with “vi” commands)

Un-pause the output: CTRL-ESC again

Page 15: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 15

Issues Using devstack and git behind a firewall• Lab Proxies cause issues for tools such as git

• IT does provide a socks proxy to help with this issue

• Install a tool called “tsocks” to work around proxy issues

• Alias “git” to “tsocks git” in /etc/bash.bashrc

Page 16: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 16

devstack: The Demo• Two virtual machines running inside Vmware Fusion on a Mac

Both virtual machines running Fedora 17

One acts as the control and compute node running Nova, Glance, Horizon, and Quantum

The other acts as a compute node only and runs Nova compute and the OVS Quantum Agent

• Running the very latest OpenStack “Folsom” code from gitMakes use of changes to localrc I discussed earlier to pull from the stable/folsom branch

Page 17: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 17

Example control node localrc fileOFFLINE=True

#RECLONE=yes

disable_service n-net

enable_service q-svc

enable_service q-agt

enable_service q-dhcp

enable_service q-l3

enable_service quantum

#enable_service ryu

HOST_NAME=$(hostname)

SERVICE_HOST_NAME=${HOST_NAME}

SERVICE_HOST=192.168.64.188

FLOATING_RANGE=192.168.100.0/24

Q_PLUGIN=openvswitch

# compute service

NOVA_BRANCH=stable/folsom

# volume service

CINDER_BRANCH=stable/folsom

# image catalog service

GLANCE_BRANCH=stable/folsom

# unified auth system (manages accounts/tokens)

KEYSTONE_BRANCH=stable/folsom

# quantum service

QUANTUM_BRANCH=stable/folsom

# django powered web control panel for openstack

HORIZON_BRANCH=stable/folsom

Q_HOST=$SERVICE_HOST

Q_USE_NAMESPACE=False

ENABLE_TENANT_TUNNELS=True

MYSQL_HOST=$SERVICE_HOST

RABBIT_HOST=$SERVICE_HOST

GLANCE_HOSTPORT=$SERVICE_HOST:9292

KEYSTONE_AUTH_HOST=$SERVICE_HOST

KEYSTONE_SERVICE_HOST=$SERVICE_HOST

MYSQL_PASSWORD=mysql

RABBIT_PASSWORD=rabbit

SERVICE_TOKEN=service

SERVICE_PASSWORD=admin

ADMIN_PASSWORD=admin

SCHEDULER=nova.scheduler.simple.SimpleScheduler

Page 18: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 18

Example compute node localrc fileOFFLINE=true

#RECLONE=yes

disable_all_services

enable_service rabbit n-cpu quantum q-agt

HOST_NAME=$(hostname)

SERVICE_HOST_NAME=km-dhcp-64-188

SERVICE_HOST=192.168.64.188

FLOATING_RANGE=192.168.100.0/24

Q_PLUGIN=openvswitch

# compute service

NOVA_BRANCH=stable/folsom

# volume service

CINDER_BRANCH=stable/folsom

# image catalog service

GLANCE_BRANCH=stable/folsom

# unified auth system (manages accounts/tokens)

KEYSTONE_BRANCH=stable/folsom

# quantum service

QUANTUM_BRANCH=stable/folsom

# django powered web control panel for openstack

HORIZON_BRANCH=stable/folsom

Q_HOST=$SERVICE_HOST

Q_USE_NAMESPACE=False

ENABLE_TENANT_TUNNELS=True

MYSQL_HOST=$SERVICE_HOST

RABBIT_HOST=$SERVICE_HOST

GLANCE_HOSTPORT=$SERVICE_HOST:9292

KEYSTONE_AUTH_HOST=$SERVICE_HOST

KEYSTONE_SERVICE_HOST=$SERVICE_HOST

MYSQL_PASSWORD=mysql

RABBIT_PASSWORD=rabbit

SERVICE_TOKEN=service

SERVICE_PASSWORD=admin

ADMIN_PASSWORD=admin

Page 19: OpenStack Development Using devstack

© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 19

The demo will show you …• Running devstack

• Showing all the OpenStack services running

• Interacting via the CLI and Dashboard with OpenStack

• Running virtual machines

• “How to” devstack development

Page 20: OpenStack Development Using devstack

Cisco Confidential© 2010 Cisco and/or its affiliates. All rights reserved. 20


Recommended