Deploying OpenStack with Opscode Chef      matt@opscode.com      www.opscode.com
Who am I?•   Matt Ray    •   Senior Technical Evangelist    •   Opscode, Inc.    •   Twitter/GitHub/Launchpad/IRC: mattray
Deploying OpenStack is     not simple.
Chef makes it easier.
Infrastructure as Code
Enable the reconstruction   of the business fromnothing but a source coderepository, an application  data backup, and bare...
ConfigurationManagement
System Integration     http://www.flickr.com/photos/opalsson/3773629074/
The Chef Framework•   Reasonability•   Flexibility•   Library & Primitives•   TIMTOWTDI
The Chef Tool(s)•   ohai•   chef-client•   knife•   shef
The Chef API•   Client/Server•   RESTful API w/ JSON•   Search Service•   Derivative Services
The Chef Community•   Apache License, Version 2.0•   360+ Individual contributors•   70+ Corporate contributors    •   Del...
openstack-cookbooks     Resources
github.com/mattray/openstack-cookbooks•   Chef repository    •   cookbooks    •   roles    •   data bags•   stable branche...
Chef Nodes•   Each system you manage is called a node.•   The chef-client runs on nodes.•   The ohai discovery agent runs ...
Chef Resources                                      package "haproxy" do                                        action :in...
Chef Recipes                                extra_packages = case node[:platform]                                  when "u...
Chef Cookbooks•   Cookbooks are packages for Recipes    •   Recipes    •   Assets (files/templates)    •   Attributes    •...
OpenStack Cookbooks•   Included    •   glance    •   nova    •   swift•   Installed    •   apache2    •   apt    •   mysql...
Chef Roles•   Roles describe the node.•   Roles have run lists.•   Roles have attributes.•   Roles may contain other roles...
OpenStack Roles•   nova-single-machine•   nova-db•   nova-rabbitmq-server•   glance-single-machine•   nova-multi-controlle...
Chef Data Bags•   Data bags store arbitrary data•   JSON•   Searchable
OpenStack Data Bagsknife data bag create openstackknife data bag from file openstack defaults.jsonknife data bag from file...
Deploying OpenStack•   Scaling changes how we deploy!•   Single machine works•   Controller + N Computes work(ed)•   Nova ...
Spiceweasel•   yaml/json for describing infrastructure•   generates knife commands•   shareable "best practices"•   infras...
Testing OpenStack• bare-metal to OpenStack • ~15 minutes • pxe_dust cookbook• 2 networks • admin • public
knife openstack
knife openstack$ gem install knife-openstack$ knife openstack** OPENSTACK COMMANDS **knife openstack server list (options)...
knife.rbknife[:openstack_access_key_id]     = "MeMpLexdnjmXeXGMx:admin"knife[:openstack_secret_access_key] = "nFjXAKl5G6Va...
knife openstack server create -S mykey -x ubuntu-I ami-4b0ff834 -f m1.tiny -r role[webserver]
How did we get here? git clone git://github.com/mattray/openstack-cookbooks.git
Origins•   Forked from Anso Labs•   Bootstrapped originally by Opscode•   Chef Solo/Vagrant installs for Developers    •  ...
Crowbar•   OpenStack installer from Dell•   Dell is releasing this under the Apache 2    license•   Extension of the Chef ...
Whats Next?  http://www.flickr.com/photos/felixmorgner/4347750467/
Nova Roadmap•   Improve Glance integration•   Network Types    •   Flat, FlatDHCP, VLANs•   Multiple Hypervisors    •   Xe...
Swift Roadmap•   Multiple Implementations Available•   Dell    •   http://github.com/dellcloudedge/openstack-swift•   Voxe...
Dashboard
OpenStack Roadmap•   Diablo release•   RHEL 6 & Fedora•   Windows
Get Involved!•   http://github.com/mattray/openstack-    cookbooks/tree/cactus•   http://wiki.opscode.com/display/chef/   ...
Questions?  http://www.flickr.com/photos/mrchippy/443960682/
Thanks!   http://www.opscode.com
Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
Upcoming SlideShare
Loading in...5
×

Velocity 2011 Chef OpenStack Workshop

3,977

Published on

The Deploying OpenStack with Chef section of the OpenStack Workshop from Velocity 2011

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,977
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
123
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Velocity 2011 Chef OpenStack Workshop"

  1. 1. Deploying OpenStack with Opscode Chef matt@opscode.com www.opscode.com
  2. 2. Who am I?• Matt Ray • Senior Technical Evangelist • Opscode, Inc. • Twitter/GitHub/Launchpad/IRC: mattray
  3. 3. Deploying OpenStack is not simple.
  4. 4. Chef makes it easier.
  5. 5. Infrastructure as Code
  6. 6. Enable the reconstruction of the business fromnothing but a source coderepository, an application data backup, and bare metal resources.
  7. 7. ConfigurationManagement
  8. 8. System Integration http://www.flickr.com/photos/opalsson/3773629074/
  9. 9. The Chef Framework• Reasonability• Flexibility• Library & Primitives• TIMTOWTDI
  10. 10. The Chef Tool(s)• ohai• chef-client• knife• shef
  11. 11. The Chef API• Client/Server• RESTful API w/ JSON• Search Service• Derivative Services
  12. 12. The Chef Community• Apache License, Version 2.0• 360+ Individual contributors• 70+ Corporate contributors • Dell, Rackspace,VMware, RightScale, Heroku, and many more• 240+ cookbooks• http://community.opscode.com
  13. 13. openstack-cookbooks Resources
  14. 14. github.com/mattray/openstack-cookbooks• Chef repository • cookbooks • roles • data bags• stable branches• issues
  15. 15. Chef Nodes• Each system you manage is called a node.• The chef-client runs on nodes.• The ohai discovery agent runs on nodes.• Nodes have a run list.• Searchable
  16. 16. Chef Resources package "haproxy" do action :install end• Have a type.• template "/etc/haproxy/haproxy.cfg" do Have a name. source "haproxy.cfg.erb"• Have parameters. owner "root" group "root"• Take action to put the resource mode 0644 notifies :restart, "service[haproxy]" in the declared state. end• Can send notifications to other service "haproxy" do resources. supports :restart => true action [:enable, :start]• Take action through Providers end
  17. 17. Chef Recipes extra_packages = case node[:platform] when "ubuntu","debian" %w{ ruby1.8 ruby1.8-dev• Ordered list of Resources rdoc1.8 ri1.8• Idempotent execution } libopenssl-ruby• Ruby end extra_packages.each do |pkg| package pkg do action :install end end
  18. 18. Chef Cookbooks• Cookbooks are packages for Recipes • Recipes • Assets (files/templates) • Attributes • Metadata• Distributable and managed as Source• community.opscode.com
  19. 19. OpenStack Cookbooks• Included • glance • nova • swift• Installed • apache2 • apt • mysql • openssl • rabbitmq
  20. 20. Chef Roles• Roles describe the node.• Roles have run lists.• Roles have attributes.• Roles may contain other roles.• Searchable.• Webserver, database, Hadoop-worker, etc.
  21. 21. OpenStack Roles• nova-single-machine• nova-db• nova-rabbitmq-server• glance-single-machine• nova-multi-controller• nova-multi-compute
  22. 22. Chef Data Bags• Data bags store arbitrary data• JSON• Searchable
  23. 23. OpenStack Data Bagsknife data bag create openstackknife data bag from file openstack defaults.jsonknife data bag from file openstack glance.jsonknife data bag from file openstack images.jsonknife data bag show openstack imagesid: imagesimages: http://uec-images.ubuntu.com/lucid/current/ubuntu-10.04-server-uec-amd64.tar.gz: arch: x86_64 distro: Ubuntu image: lucid-server-uec-amd64.img kernel: lucid-server-uec-amd64-vmlinuz-virtual version: 10.04
  24. 24. Deploying OpenStack• Scaling changes how we deploy!• Single machine works• Controller + N Computes work(ed)• Nova and/or Swift installations• Configurations will be supported, shared & documented
  25. 25. Spiceweasel• yaml/json for describing infrastructure• generates knife commands• shareable "best practices"• infrastructure.yml included• bit.ly/spcwsl
  26. 26. Testing OpenStack• bare-metal to OpenStack • ~15 minutes • pxe_dust cookbook• 2 networks • admin • public
  27. 27. knife openstack
  28. 28. knife openstack$ gem install knife-openstack$ knife openstack** OPENSTACK COMMANDS **knife openstack server list (options)knife openstack flavor list (options)knife openstack server create (options)knife openstack server delete SERVER [SERVER] (options)knife openstack image list (options)
  29. 29. knife.rbknife[:openstack_access_key_id] = "MeMpLexdnjmXeXGMx:admin"knife[:openstack_secret_access_key] = "nFjXAKl5G6VaXE3bVuwi"knife[:openstack_api_endpoint] = "http://192.168.11.9:8773/services/Cloud"
  30. 30. knife openstack server create -S mykey -x ubuntu-I ami-4b0ff834 -f m1.tiny -r role[webserver]
  31. 31. How did we get here? git clone git://github.com/mattray/openstack-cookbooks.git
  32. 32. Origins• Forked from Anso Labs• Bootstrapped originally by Opscode• Chef Solo/Vagrant installs for Developers • http://github.com/ansolabs/openstack-cookbooks
  33. 33. Crowbar• OpenStack installer from Dell• Dell is releasing this under the Apache 2 license• Extension of the Chef server• Developed by Dell, Rackspace & Opscode• http://github.com/dellcloudedge
  34. 34. Whats Next? http://www.flickr.com/photos/felixmorgner/4347750467/
  35. 35. Nova Roadmap• Improve Glance integration• Network Types • Flat, FlatDHCP, VLANs• Multiple Hypervisors • Xen, LXC, Hyper-V• Databases • PostgreSQL, Drizzle
  36. 36. Swift Roadmap• Multiple Implementations Available• Dell • http://github.com/dellcloudedge/openstack-swift• Voxel • http://www.voxel.net/blog/2011/05/openstack-swift-chef- and-spiceweasel-part-1-0 • http://github.com/voxeldotnet/openstack-swift-chef
  37. 37. Dashboard
  38. 38. OpenStack Roadmap• Diablo release• RHEL 6 & Fedora• Windows
  39. 39. Get Involved!• http://github.com/mattray/openstack- cookbooks/tree/cactus• http://wiki.opscode.com/display/chef/ Deploying+OpenStack+with+Chef• irc.freenode.net #chef #openstack• Twitter/GitHub/Launchpad/IRC:mattray• matt@openstack.org/matt@opscode.com
  40. 40. Questions? http://www.flickr.com/photos/mrchippy/443960682/
  41. 41. Thanks! http://www.opscode.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×