Sarah Novotny and Matt Ray's presentation from the Seattle OpenStack Meetup on 10/19/2011. Covered Chef basics and a snapshot of the current state of OpenStack cookbook development.
6. Enable the reconstruction
of the business from
nothing but a source code
repository, an application
data backup, and bare
metal resources.
Thursday, October 20, 2011
10. The Chef Framework
• Reasonability
• Flexibility
• Library & Primitives
• TIMTOWTDI
Thursday, October 20, 2011
11. The Chef Tool(s)
• ohai
• chef-client
• knife
• shef
Thursday, October 20, 2011
12. The Chef API
• Client/Server
• RESTful API w/ JSON
• Search Service
Thursday, October 20, 2011
13. 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
Thursday, October 20, 2011
14. 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
Thursday, October 20, 2011
15. 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
Thursday, October 20, 2011
16. Chef Cookbooks
• Cookbooks are packages for Recipes
• Recipes
• Assets (files/templates)
• Attributes
• Metadata
• Distributable and managed as Source
• community.opscode.com
Thursday, October 20, 2011
17. Chef Roles
• Roles describe the node.
• Roles have run lists.
• Roles have attributes.
• Roles may contain other roles.
• Searchable.
• Webserver, database, Hadoop-worker, etc.
Thursday, October 20, 2011
18. Chef Data Bags
• Data bags store arbitrary data
• JSON
• Searchable
Thursday, October 20, 2011
19. The Chef Community
• Apache License, Version 2.0
• 400+ Individual contributors
• 90+ Corporate contributors
• Dell, Rackspace,VMware, RightScale,
Heroku, and many more
• 300+ cookbooks
• http://community.opscode.com
Thursday, October 20, 2011
21. github.com/opscode/openstack-chef-repo
• Chef repository
• cookbooks
• roles
• data bags
• diablo & essex milestones
• issues
Thursday, October 20, 2011
22. OpenStack Cookbooks
• Included
• glance
• nova
• swift
• Future
• dashboard
• keystone
Thursday, October 20, 2011
23. OpenStack Roles
• nova-single-machine
• nova-db
• nova-rabbitmq-server
• glance-single-machine
• nova-multi-controller
• nova-multi-compute
• bit.ly/OSChef will receive a major update
at or before the OpenStack dev conference
Thursday, October 20, 2011
25. OpenStack Data Bags
knife data bag create openstack
knife data bag from file openstack defaults.json
knife data bag from file openstack glance.json
knife data bag from file openstack images.json
knife data bag show openstack images
id: images
images:
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
Thursday, October 20, 2011
26. Deploying OpenStack
• Scaling changes how we deploy
• Nova installation with Glance, Keystone &
Dashboard
• Production-ready Swift soon
• Lightweight HA
• Upgradeable
• Configurations will be supported, shared &
documented
Thursday, October 20, 2011
27. Spiceweasel
• yaml/json for describing infrastructure
• generates knife commands
• shareable "best practices"
• infrastructure.yml included
• bit.ly/spcwsl
Thursday, October 20, 2011
28. Testing OpenStack
• bare-metal to OpenStack
• ~15 minutes
• pxe_dust cookbook
• 2 networks
• admin
• public
Thursday, October 20, 2011
29. Crowbar
• OpenStack installer from Dell
• Components are "barclamps"
• Dell released this under the Apache 2
license
• Extension of the Chef server
• Developed by Dell, Rackspace & Opscode
• https://github.com/dellcloudedge/
crowbar
Thursday, October 20, 2011
33. knife openstack server create -S mykey -x ubuntu
-I ami-4b0ff834 -f m1.tiny -r 'role[webserver]'
Thursday, October 20, 2011
34. What's Next?
http://www.flickr.com/photos/felixmorgner/4347750467/
Thursday, October 20, 2011
35. Nova Roadmap
• Diablo support is under active
development
• Network Types
• Flat, FlatDHCP, VLANs, HA DHCP
• Multiple Hypervisors
• KVM, Xen, LXC, Hyper-V
• Databases
• PostgreSQL, Drizzle
Thursday, October 20, 2011
36. Swift Roadmap
• Diablo support is next for active
development
• Rackspace has a lot of operational
experience to incorporate
• Other vendors will collaborate
• Ceph?
Thursday, October 20, 2011
37. OpenStack Roadmap
• Diablo release (RCB patches)
• Reference Architectures
• Essex milestones (RCB patches)
• More collaborators
• RHEL 6 & Fedora
• Windows
Thursday, October 20, 2011