Date post: | 08-May-2015 |
Category: |
Technology |
Upload: | mestery |
View: | 10,660 times |
Download: | 0 times |
© 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
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 2
What is OpenStack?
© 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.”
© 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”.
© 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)
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 6
OpenStack Community
© 2010 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 7
What is
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
Cisco Confidential© 2010 Cisco and/or its affiliates. All rights reserved. 20