scale 2011 deploying openstack with chef
DESCRIPTION
This talk gives a brief introduction to OpenStack and Chef, then outlines the current state of deploying OpenStack with Chef. There was a live demo deploying to a Dell rack during the talk.SCALE 9x, February 25-27 in Los Angeles.TRANSCRIPT
![Page 1: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/1.jpg)
SCALE 9xFebruary 25-27, 2011
Automated Deployment of OpenStack with Chef
![Page 2: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/2.jpg)
Introductions
Matt Ray
Senior Technical Evangelist
@mattray
GitHub:mattray
![Page 3: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/3.jpg)
What is OpenStack?
![Page 4: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/4.jpg)
But do we really have to choose?
NASA Founders operate at
massive scale
![Page 5: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/5.jpg)
OpenStack: The 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 6: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/6.jpg)
OpenStack Founding Principles
Apache 2.0 license (OSI), open development process
Open design process, 2x year public Design Summits
Publicly available open source code repositories
Open community processes documented and transparent
Commitment to drive and adopt open standards
Modular design for deployment flexibility via APIs
![Page 7: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/7.jpg)
Community with Broad Support
![Page 8: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/8.jpg)
creating open source software to build public and private
clouds
Software to provision virtual machines on standard hardware at massive scale
OpenStack Compute
Software to reliably store billions of objects distributed across standard hardware
OpenStack Object Storage
![Page 9: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/9.jpg)
Asynchronous eventually consistent
communication
ReST-based API
Horizontally and massively scalable
Hypervisor agnostic: support for Xen ,XenServer, Hyper-V,
KVM, UML and ESX is coming Hardware agnostic: standard hardware, RAID not required
OpenStack Compute Key Features
![Page 10: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/10.jpg)
API: Receives HTTP requests, converts commands to/from API format, and sends requests to cloud controller
Cloud Controller: Global state of system, talks to LDAP, OpenStack Object Storage, and node/storage workers through a queue
User Manager
ATAoE / iSCSI
Host Machines: workers that spawn instances
Glance: HTTP + OpenStack Object Storage for server images OpenStack Compute
![Page 11: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/11.jpg)
Hardware Requirements
OpenStack is designed to run on industry standard hardware, with flexible configurations
Computex86 Server (Hardware Virt. recommended)Storage flexible (Local, SAN, NAS)
Object Storagex86 Server (other architectures possible)Do not deploy with RAID (can use controller for cache)
![Page 12: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/12.jpg)
Why is OpenStack important?
Open eliminates vendor lock-in
Working together, we all go faster
Freedom to federate, or move between clouds
![Page 13: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/13.jpg)
What is Chef?
![Page 14: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/14.jpg)
Chef enables Infrastructure as Code
Manage configuration as idempotent Resources.
Put them together in Recipes.
Track it like Source Code.
Configure your servers.
![Page 15: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/15.jpg)
At a High Level
A library for configuration management
A configuration management system
A systems integration platform
An API for your entire Infrastructure
![Page 16: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/16.jpg)
Fully automated Infrastructure
![Page 17: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/17.jpg)
Principles
IdempotentData-drivenSane defaultsHackabilityTMTOWTDI
![Page 18: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/18.jpg)
Open Source and Community
Apache licensed
Large and active community
Over 280 individual contributors (60+ corporate)
Community is Important!
![Page 19: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/19.jpg)
![Page 20: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/20.jpg)
How does it Work?
![Page 21: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/21.jpg)
How does it Work?Magic!
![Page 22: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/22.jpg)
How does it Work?Magic!
(no really)
![Page 23: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/23.jpg)
Chef Client runs on your System
![Page 24: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/24.jpg)
Chef Client runs on your System
ohai!
![Page 25: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/25.jpg)
Clients talk to the Chef Server
![Page 26: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/26.jpg)
The Opscode Platform is a hosted Chef Server
![Page 27: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/27.jpg)
We call each system you configure a Node
![Page 28: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/28.jpg)
Nodes have Attributes{ "kernel": { "machine": "x86_64", "name": "Darwin", "os": "Darwin", "version": "Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386", "release": "10.4.0" }, "platform_version": "10.6.4", "platform": "mac_os_x", "platform_build": "10F569", "domain": "local", "os": "darwin", "current_user": "mray", "ohai_time": 1278602661.60043, "os_version": "10.4.0", "uptime": "18 days 17 hours 49 minutes 18 seconds", "ipaddress": "10.13.37.116", "hostname": "morbo", "fqdn": "morbomorbo.local", "uptime_seconds": 1619358 }
Kernel info!
Platform info!
Hostname and IP!
![Page 29: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/29.jpg)
Nodes have a Run List
What Roles and Recipes to Apply in Order
![Page 30: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/30.jpg)
Nodes have Roles
![Page 31: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/31.jpg)
Nodes have Roles
webserver, database, monitoring, etc.
![Page 32: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/32.jpg)
Roles have a Run List
What Roles and Recipes to Apply in Order
![Page 33: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/33.jpg)
33
name "webserver"description "Systems that serve HTTP traffic"
run_list( "role[base]", "recipe[apache2]", "recipe[apache2::mod_ssl]")
default_attributes( "apache" => { "listen_ports" => [ "80", "443" ] })
override_attributes( "apache" => { "max_children" => "50" })
Can includeother roles!
![Page 34: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/34.jpg)
Chef manages Resources on Nodes
![Page 35: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/35.jpg)
‣ Have a type
‣ Have a name
‣ Have parameters
‣ Take action to put the resource in the declared state
package "apache2" do version "2.2.11-2ubuntu2.6" action :installend
template "/etc/apache2/apache2.conf" do source "apache2.conf.erb" owner "root" group "root" mode 0644 action :createend
Declare a description of the state a part of the node should be in
Resources
![Page 36: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/36.jpg)
Resources take action through Providers
![Page 37: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/37.jpg)
Recipes are lists of Resources
![Page 38: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/38.jpg)
Evaluate and apply Resources in the order they appear
Recipes
package "apache2" do version "2.2.11-2ubuntu2.6" action :installend
template "/etc/apache2/apache2.conf" do source "apache2.conf.erb" owner "root" group "root" mode 0644 action :createend
1
2
![Page 39: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/39.jpg)
Order Matters
![Page 40: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/40.jpg)
Recipes are just Ruby!
extra_packages = case node[:platform] when "ubuntu","debian" %w{ ruby1.8 ruby1.8-dev rdoc1.8 ri1.8 libopenssl-ruby } end
extra_packages.each do |pkg| package pkg do action :install endend
![Page 41: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/41.jpg)
Cookbooks are packages for Recipes
![Page 42: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/42.jpg)
Cookbooks
Distributable
cookbooks.opscode.com
Infrastructure as Code
Versioned
![Page 43: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/43.jpg)
Cookbooks
Recipes
Files
Templates
Attributes
Metadata
![Page 44: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/44.jpg)
Data bags store arbitrary data
![Page 45: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/45.jpg)
A user data bag item...% knife data bag show users mray{ "comment": "Matt Ray", "groups": "sysadmin", "ssh_keys": "ssh-rsa SUPERSEKRATS mray@morbo", "files": { ".bashrc": { "mode": "0644", "source": "dot-bashrc" }, ".emacs": { "mode": "0644", "source": "dot-emacs" } }, "id": "mray", "uid": 7004, "shell": "/usr/bin/bash" }
![Page 46: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/46.jpg)
Environments manage versioned infrastructure
![Page 47: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/47.jpg)
Copyright © 2011 Opscode, Inc - All Rights Reserved
Command-line API utility, Knife
47http://www.flickr.com/photos/myklroventine/3474391066/
![Page 48: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/48.jpg)
$ knife search node 'platform:ubuntu'
search(:node, ‘platform:centos’)
$ knife search role 'max_children:50'
search(:role, ‘max_children:50’)
$ knife search node ‘role:webserver’
search(:node, ‘role:webserver’)
$ knife users ‘shell:/bin/bash’
search (:users, ‘group:sysadmins’)
Search
‣CLI or in Ruby
‣Nodes are searchable
‣Roles are searchable
‣Recipes are searchable
‣Data bags are searchable
![Page 49: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/49.jpg)
![Page 50: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/50.jpg)
HOW TO: Turn Racks of Standard Hardware Into a
Cloud with OpenStack
![Page 51: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/51.jpg)
What Works Today?
![Page 52: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/52.jpg)
Compute (Nova)
Single machine installation
‣ MySQL, RabbitMQ, OpenLDAP
‣ Nova-(api|scheduler|network|objectstore|compute)
‣ Role: nova-single-machine-install
Multi-machine
‣ Role: nova-multi-controller (1)
‣ Role: nova-multi-compute (N)
![Page 53: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/53.jpg)
name "nova-single-machine-install"description "Installs everything required to run Nova on a single machine"run_list( "recipe[apt]", "recipe[nova::mysql]", "recipe[nova::openldap]", "recipe[nova::rabbit]", "recipe[nova::common]", "recipe[nova::api]", "recipe[nova::scheduler]", "recipe[nova::network]", "recipe[nova::objectstore]", "recipe[nova::compute]", "recipe[nova::setup]", "recipe[nova::creds]", "recipe[nova::finalize]" )
Role: nova-single-machine-install
![Page 54: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/54.jpg)
name "nova-multi-controller"
description "Installs requirements to run the Controller node in a Nova cluster"run_list( "recipe[apt]", "recipe[nova::mysql]", "recipe[nova::openldap]", "recipe[nova::rabbit]", "recipe[nova::common]", "recipe[nova::api]", "recipe[nova::objectstore]", "recipe[nova::compute]", "recipe[nova::setup]", "recipe[nova::creds]", "recipe[nova::finalize]" )
Role: nova-multi-controller
![Page 55: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/55.jpg)
name "nova-multi-compute"
description "Installs requirements to run a Compute node in a Nova cluster"run_list( "recipe[apt]", "recipe[nova::network]", "recipe[nova::compute]", )
Role: nova-multi-compute
![Page 56: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/56.jpg)
knife bootstrap crushinator.localdomain ~/.ssh/id_rsa -x mray \ --sudo -d ubuntu10.04-gems
Starting with a provisioned server
‣Ubuntu 10.10 (preseed)
‣openssh-server
‣virtual-machine-host
![Page 57: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/57.jpg)
$ knife cookbook upload -a$ knife cookbook list$ rake roles$ knife role list$ knife node list
Installation
‣Cookbooks uploaded
‣Roles uploaded
‣Nodes ready
![Page 58: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/58.jpg)
name "nova-ami-urls"description "Feed in a list URLs for AMIs to download"default_attributes( "nova" => { "images" => ["http://192.168.11.7/ubuntu1010-UEC-localuser-image.tar.gz”] } )
$ knife role from file roles/nova-ami-urls.rb
AMIs
‣Use an existing AMI
‣Update URL to your own
![Page 59: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/59.jpg)
$ knife node run_list add crushinator.localdomain "role[nova-ami-urls]" { "run_list": [ "role[nova-ami-urls]" ]}
$ knife node run_list add crushinator.localdomain "role[nova-single-machine-install]"{ "run_list": [ "role[nova-ami-urls]" "role[nova-single-machine-install]", ]}
Assign the Roles
![Page 60: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/60.jpg)
mray@ubuntu1010:~$ sudo chef-client[Fri, 25 Feb 2011 11:52:59 -0800] INFO: Starting Chef Run (Version 0.9.12)...[Fri, 25 Feb 2011 11:56:05 -0800] INFO: Chef Run complete in 5.911955 seconds[Fri, 25 Feb 2011 11:56:05 -0800] INFO: cleaning the checksum cache[Fri, 25 Feb 2011 11:56:05 -0800] INFO: Running report handlers[Fri, 25 Feb 2011 11:56:05 -0800] INFO: Report handlers complete
chef-client
![Page 61: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/61.jpg)
nova@$ nova-manage service listh00-26-6c-f4-1e-a0 nova-scheduler enabled :-) 2011-02-25 18:30:45h00-26-6c-f4-1e-a0 nova-network enabled :-) 2011-02-25 18:30:48h00-26-6c-f4-1e-a0 nova-compute enabled :-) 2011-02-25 18:30:50
nova@$ euca-describe-images IMAGE! ami-90hgmwai!nova_amis/maverick-server-uec-amd64-vmlinuz-virtual.manifest.xml! admin! available!private i386!kernel!true!IMAGE! ami-h8wh0j17!nova_amis/maverick-server-uec-amd64.img.manifest.xml!admin! untarring!private i386!machine! ami-90hgmwai!
nova@$ euca-run-instances ami-h8wh0j17 -k mykey -t m1.tinyRESERVATION! r-uur39109! admin! defaultINSTANCE! i-00000001! ami-h8wh0j17!! ! scheduling! mykey (admin, None)! 0! ! m1.tiny! 2011-02-25 18:34:01!unknown zone!!
sudo su - nova
![Page 62: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/62.jpg)
nova@$ euca-describe-instances RESERVATION! r-uur39109! admin! defaultINSTANCE! i-00000001! ami-h8wh0j17!10.0.0.2! 10.0.0.2! running! mykey (admin, h00-26-6c-f4-1e-a0)! 0! ! m1.tiny! 2011-02-25 18:34:01! nova!
nova@$ ssh -i mykey.priv [email protected] authenticity of host '10.0.0.2 (10.0.0.2)' can't be established.RSA key fingerprint is 91:21:ef:5d:33:17:24:cb:f6:65:dd:27:1d:1c:50:ad.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '10.0.0.2' (RSA) to the list of known hosts.
sudo su - nova (page 2)
![Page 63: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/63.jpg)
Linux i-00000001 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 05:15:26 UTC 2010 x86_64 GNU/LinuxUbuntu 10.10
Welcome to Ubuntu!<SNIP>See "man sudo_root" for details.
ubuntu@i-00000001:~$
The Moment of Truth
![Page 64: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/64.jpg)
How Did We Get Here?
![Page 65: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/65.jpg)
Forked from Anso Labs’ Cookbooks
Bootstrapped by Opscode
Chef Solo/Vagrant installs for Developers
http://github.com/ansolabs/openstack-cookbooks
![Page 66: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/66.jpg)
Who’s involved so far?
![Page 67: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/67.jpg)
What’s Next?
![Page 68: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/68.jpg)
Nova needed enhancements
Happy Path-only!
KVM-only
MySQL-only
Flat DHCP network-only
Swift and Glance integration
More Roles
![Page 69: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/69.jpg)
Dashboard
Graphical interface for managing instantiation of AMIs
Django application
dashboard.rb recipe already exists in nova cookbook
![Page 70: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/70.jpg)
Knife
‣ Nova has same API as Amazon
‣ knife ec2 server create ‘role[base]’ -I ~/.ssh/my.pem -x ubuntu -G default -i ami-a403f6xd -f m1.micro
‣ Fog reportedly supports OpenStack already
‣ Simply need to pass URL of nova-api server and credentials
‣ http://tickets.opscode.com/browse/CHEF-1757
‣ knife openstack server create ‘role[base]’ -I ~/.ssh/my.pem -x ubuntu -G default -i ami-a403f6xd -f m1.micro
![Page 71: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/71.jpg)
Object Storage (Swift)
‣ Recipes originated from Anso Labs’ repository
‣ https://github.com/ansolabs/openstack-cookbooks
‣ Included in the ‘bexar’ branch
‣ Untested so far
![Page 72: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/72.jpg)
Image Registry (Glance)
‣ Recipes originated from Anso Labs’ repository
‣ https://github.com/ansolabs/openstack-cookbooks
‣ Included in the ‘bexar’ branch
‣ Untested so far
![Page 73: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/73.jpg)
Scaling changes how we deploy OpenStack!
![Page 74: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/74.jpg)
Deployment Scenarios
‣ Single machine is relatively simple
‣ Controller + Compute nodes is a known quantity for small installations
‣ Nova + Swift + Glance in large installations
‣ Services separated and HA configurations supported
‣ Documentation and Chef Roles will be the solution
![Page 75: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/75.jpg)
Cactus, Diablo, ...
Development continues...
Branches for each stable release
Design Summit in April
Design Summit in the Fall
![Page 76: SCALE 2011 Deploying OpenStack with Chef](https://reader034.vdocuments.mx/reader034/viewer/2022052505/554f48d2b4c905b9508b4704/html5/thumbnails/76.jpg)
Get Involved!
https://github.com/mattray/openstack-cookbooks/tree/bexar
http://lists.openstack.org
http://lists.opscode.com
#chef on irc.freenode.net
#openstack on irc.freenode.net