Austin OpenStack Meetup: Chef and OpenStack

Preview:

DESCRIPTION

Presentation on the state of Chef support around the OpenStack ecosystem for the Austin OpenStack Meetup February 16, 2012.

Citation preview

Deploying OpenStack with Opscode Chef

matt@opscode.comwww.opscode.com

Thursday, February 16, 12

Who am I?

• Matt Ray

• Senior Technical Evangelist

• Opscode, Inc.

• Twitter/GitHub/Launchpad/IRC: mattray

Thursday, February 16, 12

Deploying and Managing OpenStack is not simple.

Thursday, February 16, 12

Chef makes it easier.

Thursday, February 16, 12

Infrastructure as Code

Thursday, February 16, 12

Enable the reconstruction of the business from

nothing but a source code repository, an application

data backup, and bare metal resources.

Thursday, February 16, 12

Configuration Management

Thursday, February 16, 12

System Integration

http://www.flickr.com/photos/opalsson/3773629074/

Thursday, February 16, 12

The Chef Community

• Apache License, Version 2.0

• 550+ Individual contributors

• 100+ Corporate contributors

• Dell, Rackspace,VMware, RightScale, Heroku, and many more

• 400+ cookbooks

• http://community.opscode.com

Thursday, February 16, 12

Resourcesopenstack-cookbooks

crowbaropenstack-chef

Thursday, February 16, 12

github.com/mattray/openstack-cookbooks

• Chef repository for deploying OpenStack

• Bexar/Cactus

• source for many other efforts

• Crowbar

• Mercado Libre

• HP

• http://wiki.opscode.com/display/chef/Deploying+OpenStack+with+Chef

• deprecated

Thursday, February 16, 12

Crowbar

• Datacenter installer from Dell

• Extension of the Chef server

• Components are "barclamps"

• Dell released under the Apache 2 license

• Developed by Dell, Rackspace & Opscode

• Active Development & Community

• https://github.com/dellcloudedge/crowbar

Thursday, February 16, 12

github.com/openstack/openstack-chef

• Chef repository for deploying OpenStack

• Diablo

• trunk (Essex)

• source for many other efforts

• TryStack.org

• Smokestack testing

• mattray/openstack-chef

Thursday, February 16, 12

Deploying OpenStack

• Chef ties it all together automatically

• Scaling changes how we deploy

• Configurations will be supported, shared & documented

• Licensing makes it available to everyone

Thursday, February 16, 12

knife openstack

Thursday, February 16, 12

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)

Thursday, February 16, 12

knife.rb

#trystack.orgknife[:openstack_username] = "mattray"knife[:openstack_password] = "password"knife[:openstack_auth_url] = "http://trystack.org:5000/v2.0/tokens"

#demo.rcb.meknife[:openstack_username] = "opscode"knife[:openstack_password] = "password"knife[:openstack_auth_url] = "http://demo.rcb.me:5000/v2.0/tokens"

Thursday, February 16, 12

knife openstack flavor list

$ knife openstack flavor listID Name RAM Disk 1 m1.tiny 512 MB 0 GB 2 m1.small 2048 MB 20 GB 3 m1.medium 4096 MB 40 GB 4 m1.large 8192 MB 80 GB 5 m1.xlarge 16384 MB 160 GB

Thursday, February 16, 12

knife openstack image list

$ knife openstack image listID Name 13 natty-server-cloudimg-amd64 12 natty-server-cloudimg-amd64-kernel 15 oneiric-server-cloudimg-amd64 14 oneiric-server-cloudimg-amd64-kernel

Thursday, February 16, 12

knife openstack server create --node-name ko1 --flavor 1 --image 13 -S trystack

Thursday, February 16, 12

knife openstack

$ knife openstack server listInstance ID Name Public IP Private IP Flavor Image Keypair State 185 ko1 8.21.28.24 8.21.28.24 1 13 trystack active

Thursday, February 16, 12

Thursday, February 16, 12

$ ssh -i ~/.ssh/trystack.pem ubuntu@8.21.28.24The authenticity of host '8.21.28.24 (8.21.28.24)' can't be established.RSA key fingerprint is 0c:d8:3e:34:d1:de:c4:ee:5f:bc:b5:89:11:0d:73:e0.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '8.21.28.24' (RSA) to the list of known hosts.Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-13-virtual x86_64)

* Documentation: https://help.ubuntu.com/

System information as of Thu Feb 16 23:43:29 UTC 2012

System load: 0.08 Processes: 63 Usage of /: 40.8% of 1.35GB Users logged in: 0 Memory usage: 6% IP address for eth0: 8.21.28.24 Swap usage: 0%---------------------------------------------------------------------<snip>Get cloud support with Ubuntu Advantage Cloud Guest http://www.ubuntu.com/business/services/cloud

The programs included with the Ubuntu system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted byapplicable law.

To run a command as administrator (user "root"), use "sudo <command>".See "man sudo_root" for details.

ubuntu@ko1:~$

Thursday, February 16, 12

$ knife bootstrap 8.21.28.24 -i ~/.ssh/trystack.pem -x ubuntu --sudo -d omnibusBootstrapping Chef on 8.21.28.248.21.28.24 [Thu, 16 Feb 2012 23:51:40 +0000] INFO: *** Chef 0.10.8 ***8.21.28.24 [Thu, 16 Feb 2012 23:51:40 +0000] INFO: Client key /etc/chef/client.pem is not present - registering8.21.28.24 [Thu, 16 Feb 2012 23:51:42 +0000] INFO: Setting the run_list to [] from JSON8.21.28.24 [Thu, 16 Feb 2012 23:51:42 +0000] INFO: Run List is []8.21.28.24 [Thu, 16 Feb 2012 23:51:42 +0000] INFO: Run List expands to []8.21.28.24 [Thu, 16 Feb 2012 23:51:42 +0000] INFO: Starting Chef Run for ko1.novalocal8.21.28.24 [Thu, 16 Feb 2012 23:51:42 +0000] INFO: Running start handlers8.21.28.24 [Thu, 16 Feb 2012 23:51:42 +0000] INFO: Start handlers complete.8.21.28.24 [Thu, 16 Feb 2012 23:51:43 +0000] INFO: Loading cookbooks []8.21.28.24 [Thu, 16 Feb 2012 23:51:43 +0000] WARN: Node ko1.novalocal has an empty run list.8.21.28.24 [Thu, 16 Feb 2012 23:51:44 +0000] INFO: Chef Run complete in 1.414499044 seconds8.21.28.24 [Thu, 16 Feb 2012 23:51:44 +0000] INFO: Running report handlers8.21.28.24 [Thu, 16 Feb 2012 23:51:44 +0000] INFO: Report handlers complete

Thursday, February 16, 12

Yay Bleeding Edge!

$ git clone git@github.com:mattray/fog.git$ cd fog$ gem build fog.gemspec$ gem install fog-1.1.2.gem

$ git clone -b 0.6.0 git@github.com:mattray/knife-openstack.git$ cd knife-openstack$ gem build knife-openstack.gemspec$ gem install knife-openstack-0.6.0.gem

Thursday, February 16, 12

What's Next?

http://www.flickr.com/photos/felixmorgner/4347750467/

Thursday, February 16, 12

knife-openstack roadmap

• Patches will be merged upstream

• http://wiki.opscode.com/display/chef/OpenStack+Bootstrap+Fast+Start+Guide

• bootstrap will be fixed

• Push to Rubygems.org

• Testing will be done with Crowbar

• Essex/trunk support will be tested

• security groups and floating IPs

Thursday, February 16, 12

Chef Roadmap

• Diablo release (RCB patches)

• Essex milestones (RCB patches)

• Multiple Hypervisors

• KVM, Xen, LXC?

• Databases

• PostgreSQL, MySQL

• HA Support

• Red Hat/Illumos?

Thursday, February 16, 12

Questions?

http://www.flickr.com/photos/mrchippy/443960682/

Questions?

Thursday, February 16, 12

Thanks!

http://www.opscode.com

Thursday, February 16, 12