Chef for OpenStack
Austin OpenStack MeetupDecember 6, 2012
Matt RaySenior Technical EvangelistOpscode
What is Chef?
Recipes and Cookbooks that describe Infrastructure as Code.
Chef enables people to easily build & manage complex & dynamic applications at massive scale
• New model for describing infrastructure that promotes reuse
• Programmatically provision and configure
• Reconstruct business from code repository, data backup, and bare metal resources
Chef is an automation platform for developers & systems engineers to continuously define, build, and manage infrastructure.
CHEF USES:
“”
• Programmatically provision and configure
• Treat like any other code base
• Reconstruct business from code repository, data backup, and bare metal resources.
Chef is Infrastructure as Code
Blueprint Your Infrastructure
• Compute
• Application
• Storage
• Security
• Network
• Configuration Standards
How Can Chef Help?
Build Anything…
• Provision compute resources in the Data Center and the Cloud
• Infrastructure
• Application Stacks
• Big Data
• HPC
• Linux, Windows, OSX, Unixes
And Manage It Simply• Introduce continuous incremental
change or total change.
• Automatically reconfigure everything
• Re-provision for disaster recovery
• Fail-over to bare metal
• Monitor for compliance
• Cloud migrations become trivialUsing 1,000’s of man-days of prior art!
Discoverable and Searchable Infrastructure
• Apache License, Version 2.0
• 1000+ Individual contributors
• 180+ Corporate contributors
• Dell, HP, Rackspace, Calxeda, VMware, SUSE, and many more
• 700+ cookbooks
• Plugins for every cloud
• http://community.opscode.com
The Chef Community
5
ResourcesChef for OpenStack
What's Out There?
Chef for OpenStack: Why
• Community for the automated deployment and management of OpenStack
• Reduce fragmentation and encourage collaboration
• Deploying OpenStack is not "secret sauce"
• Project not a product
• Apache 2 license
Chef for OpenStack: What
• Chef Repository for Deploying OpenStack
• Documentation for Chef for OpenStack
• Cookbooks• Keystone
• Glance
• Nova
• Horizon
• Swift
• Quantum
• Cinder
• Knife OpenStack
Chef for OpenStack: Where
• groups.google.com/group/opscode-chef-openstack
• #openstack-chef on irc.freenode.net
• github.com/opscode/openstack-chef-repo
• github.com/mattray/openstack-chef-docs
• github.com/opscode-cookbooks/
• keystone, glance, nova, horizon, swift,quantum,cinder
• github.com/opscode/knife-openstack
Chef for OpenStack: Who
• Chef repo for Essex
• Operating Systems (Ubuntu 12.04)
• Hypervisors (KVM, LXC)
• Databases (MySQL)
• FlatDHCP networking with floating IPs
• Test Kitchen
Chef for OpenStack: Today
Rackspace Private Cloud: Alamo
• Parallel fork of current cookbooks
• github.com/rcbops/chef-cookbooks
• www.rackspace.com/cloud/private/
Chef for OpenStack: When
• Folsom is under active development
• Rackspace, AT&T, DreamHost have active branches
• Quantum (Nicira, OVS)
• Cinder
• Hyper-V
• Red Hat
github.com/mattray/openstack-chef-docsmoving to
github.com/opscode/chef-docs
Chef for OpenStack: How
Deploying OpenStack
• Chef ties it all together automatically
• Scaling changes how we deploy
• Interchangeable components
• Configurations shared, supported & documented
• Licensing makes it available to everyone
knife openstack
knife openstack
$ knife openstackAvailable openstack subcommands: (for details, knife SUB-COMMAND --help)
** OPENSTACK COMMANDS **knife openstack flavor list (options)knife openstack image list (options)knife openstack server create (options)knife openstack server delete SERVER [SERVER] (options)knife openstack server list (options)
knife openstack flavor list
$ knife openstack flavor listID Name Virtual CPUs RAM Disk 1 m1.tiny 1 512 MB 0 GB 2 m1.small 1 2048 MB 10 GB3 m1.medium 2 4096 MB 10 GB4 m1.large 4 8192 MB 10 GB5 m1.xlarge 8 16384 MB 10 GB
knife openstack image list
$ knife openstack image listID Name 4a197431-503d-4b85-b61e-84af21ca8654 cirros-image f8ebb842-c0c0-4be3-8c4c-f72f48edec50 precise-image
knife openstack server create -a -f 1 -I f8ebb842-c0c0-4be3-8c4c-f72f48edec50\ -S local -i ~/.ssh/local.pem -x ubuntu
knife openstack server create
Chef for Infrastructure Portability
• knife openstack
• Piston, Nebula, Crowbar, TryStack
• knife hp
• knife rackspace
• knife ec2
• ... and many others
• Documentation (docs.opscode.com)
• Hypervisors (Hyper-V)
• Databases (PostgreSQL)
• Operating Systems (RHEL, Debian, SUSE)
• HA Configurations
• Quantum (pluggable)
• Cinder (pluggable)
• Community Events (Boston January 22)
Chef for OpenStack Roadmap
• Cookbooks reusable outside of OpenStack
• Test Kitchen
• Librarian
• Spiceweasel
• pxe_dust
• knife-rackspace/hp/dreamhost
• Sputnik Cloud Launcher
• Crowbar
Chef for OpenStack Ecosystem
Chef for OpenStack TL;DL
• Opscode.com/openstack
• Project, not a product
• Lots of contributors with real deployments
• Essex works, Folsom merging
• Features driven by demand (show up for what you want)
• Documentation with examples
AT&T