SlideShare a Scribd company logo
1 of 129
Download to read offline
Chef and OpenStack
Matt Ray
April 24, 2013
Agenda
• OpenStack Overview
• Chef for OpenStack Overview
• Knife OpenStack
• Lunch 12:15
• Chef for OpenStack Grizzly Roadmap
• Related Technologies
• Code Walkthroughs
Introductions
• Matt Ray
• matt@opscode.com
• mattray IRC, GitHub
• @mattray
http://upload.wikimedia.org/wikipedia/commons/2/27/Hi_How_Are_You_Austin_2005.jpg
Presenter notes: Austin, San Antonio, Santa Clara, Boston, San Francisco, San Diego, Portland
Bexar and on
Mercado Libre, Dell, Rackspace, HP, DreamHost
Agenda
• OpenStack Overview
• Chef for OpenStack Overview
• Knife OpenStack
• Lunch 12:15
• Chef for OpenStack Grizzly Roadmap
• Related Technologies
• Code Walkthroughs
"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."
Mission Statement
Why OpenStack?
‣ Control. Open source, no vendor lock in. Apache 2 license.
‣ Flexibility. Modular design integrates legacy and third party technologies.
‣ Emerging Industry Standard. More than 180 technology industry leaders backing it and
major public clouds built on OpenStack. 
‣ Proven. Originally built for scale and redundancy at NASA and Rackspace. More than
200 large-scale deployments worldwide.
‣ Compatible and Connected. Enables portability.
Control.	
  Open	
  source	
  means	
  you’re	
  never	
  locked	
  to	
  a	
  proprietary	
  vendor.	
  You	
  always	
  have	
  visibility	
  and	
  the	
  ability	
  to	
  directly	
  influence	
  the	
  roadmap	
  through	
  the	
  open	
  design	
  process.
Flexibility.	
  Modular	
  design	
  can	
  integrate	
  with	
  legacy	
  systems	
  and	
  third-­‐party	
  technologies,	
  so	
  you	
  don't	
  have	
  to	
  rip-­‐and-­‐replace	
  your	
  exisAng	
  infrastructure.	
  
Emerging	
  Industry	
  Standard.	
  	
  More	
  than	
  170	
  leading	
  technology	
  companies	
  across	
  the	
  globe	
  are	
  developing	
  and	
  building	
  tools	
  for	
  OpenStack,	
  including	
  AT&T,	
  Cisco,	
  Dell,	
  HP,	
  Intel,	
  IBM,	
  MicrosoP	
  and	
  Red	
  Hat,	
  and	
  new	
  OpenStack	
  clouds	
  are	
  coming	
  online	
  daily.
Proven	
  and	
  Scalable.	
  OpenStack	
  was	
  built	
  for	
  scale	
  and	
  redundancy.	
  You	
  can	
  run	
  the	
  same	
  soPware	
  that	
  today	
  powers	
  some	
  of	
  the	
  world's	
  largest	
  public	
  and	
  private	
  clouds.
Compa<ble	
  and	
  Connected.	
  CompaAbility	
  with	
  public	
  OpenStack	
  clouds	
  means	
  enterprises	
  are	
  prepared	
  for	
  the	
  future—making	
  it	
  easy	
  to	
  migrate	
  data	
  and	
  applicaAons	
  to	
  public	
  clouds	
  when	
  condiAons	
  are	
  right.
OpenStack Controls Compute, Storage & Networking
Architecture
Architecture: Nova
Compute: Nova
‣ Virtual Machines
‣ Provision and manage large pools of on-demand computing resources
(hypervisors & instances)
‣ KVM
‣ Xen
‣ LXC
‣ Hyper-V
‣ VMware
‣ Bare-metal
Compute (codenamed "Nova") provides virtual servers upon demand. Rackspace and HP provide commercial compute services built
on Nova and it is used internally at companies like Mercado Libre, AT&T and NASA (where it originated).
Architecture: Cinder
Block Storage: Cinder
‣ Virtual Block Storage Devices
‣ Volumes on commodity storage gear
‣ Drivers for more advanced systems like NetApp, Solidfire, Ceph and Nexenta
‣ Released in Folsom Fall 2012
Block Storage (codenamed "Cinder") provides persistent block storage to guest VMs. This project was born from code originally in
Nova (the nova-volume service described below). Please note that this is block storage (or volumes) not filesystems like NFS or CIFS
share.Cinder is new for the Folsom release.
Architecture: Quantum
Networking as a Service: Quantum
‣ Virtualized Networking
‣ Software Defined Networking (SDN)
‣ Automation of hardware & software
‣ Define network connectivity & addressing used by devices from other services
‣ Drivers for Ryu, Floodlight, Nicira, Midokura, Cisco and many more
‣ Released in Folsom Fall 2012
Network (codenamed "Quantum") provides "network connectivity as a service" between interface devices managed by other
OpenStack services (most likely Nova). The service works by allowing users to create their own networks and then attach interfaces to
them. Quantum has a pluggable architecture to support many popular networking vendors and technologies. Quantum is new in the
Folsom release.
Architecture: Glance
Image Registry: Glance
‣ Multi-format virtual disk image registry & catalog
‣ Delivery of images to Nova Compute
‣ Allows uploads of private and public images in a wide variety of formats
‣ Machine (kernel/ramdisk outside of image, a.k.a. AMI)
‣ qcow2 (Qemu/KVM)
‣ VMDK (VMWare)
‣ OVF (VMWare, others)
‣ And more
Image (codenamed "Glance") provides a catalog and repository for virtual disk images. These disk images are mostly commonly used
in OpenStack Compute. While this service is technically optional, any cloud of size will require it.
Architecture: Keystone
Identity: Keystone
‣ Unifies all core projects with common authentication system
‣ Provides authorization for multiple log-in credentials
‣ Username/password
‣ Token-based
‣ AWS-style logins
‣ Integrate with existing systems
Identity (codenamed "Keystone") provides authentication and authorization for all the OpenStack services. It also provides a service
catalog of services within a particular OpenStack cloud.
Architecture: Swift
Object Storage: Swift
‣ Redundant, resilient, horizontally scalable object storage
‣ Petabytes of reliable storage on standard gear
‣ Examples include virtual machine images, photo storage, email storage
and backup archiving
‣ Rackspace Cloud Files
Object Store (codenamed "Swift") allows you to store or retrieve files (but not mount directories like a fileserver). Several companies
provide commercial storage services based on Swift. These include KT, Rackspace (from which Swift originated) and Internap. Swift is
also used internally at many large companies to store their data.
Architecture: Horizon
Web Dashboard: Horizon
‣ Self-service, role-based web interface for users and administrators
‣ Provision cloud-based resources through a self-service portal
‣ Create and manage projects and users, defining resources available to
them
‣ Extensible design makes it easy to plug in and expose third party
products and services
‣ Django application that consumes APIs
Dashboard (codenamed "Horizon") provides a modular web-based user interface for all the OpenStack services. With this web
GUI, you can perform most operations on your cloud like launching an instance, assigning IP addresses and setting access
controls.
OpenStack Community
‣ OpenStack Summits (Spring & Fall)
‣ IRC (irc.freenode.net)
‣ #openstack, #openstack-meetings, #openstack-chef, many more
‣ Mailing Lists (lists.openstack.org)
‣ OpenStack.org
‣ Blog, Docs, Wiki
‣ Twitter @OpenStack
OpenStack Code
‣ GitHub
‣ https://github.com/openstack/
‣ Gerrit
‣ https://review.openstack.org
‣ Jenkins
‣ https://jenkins.openstack.org/
‣ DevStack.org
OpenStack Foundation
Led by Executive Director, Jonathan Bryce, the Foundation is hiring 10-12 employees who, under the strategic direction of the Board, will
help carry out the OpenStack mission. Specific responsibilities include coordinating the project's infrastructure, such as systems for testing
the software at scale, community building activities, and managing the OpenStack trademark, which was transferred from Rackspace
following the first board meeting.
OpenStack Distributions
‣ Linux Distributions
‣ Debian
‣ Fedora
‣ Red Hat
‣ SUSE
‣ Ubuntu
‣ Commercial Offerings
‣ CloudScaling
‣ Mirantis
‣ Nebula
‣ Piston
‣ Rackspace
‣ ...many more
Grizzly Release
‣ 550 Developers
‣ 2500 conference attendees
‣ Red Hat, IBM, Rackspace
‣ Incubating:
‣ Commons: Oslo
‣ Metering: Ceilometer
‣ Orchestration: Heat
• Ceilometer is a metering project. The project offers metering information and the ability to code more ways to know what has happened on an OpenStack cloud.
While it provides metering, it is not a billing project. A full billing solution requires metering, rating, and billing. Metering lets you know what actions have taken
place, rating enables pricing and line items, and billing gathers the line items to create a bill to send to the consumer and collect payment. Ceilometer is available
as a preview.
• Heat provides a REST API to orchestrate multiple cloud applications implementing standards such as AWS CloudFormation.
Agenda
• OpenStack Overview
• Chef for OpenStack Overview
• Knife OpenStack
• Lunch 12:15
• Chef for OpenStack Grizzly Roadmap
• Related Technologies
• Code Walkthroughs
Why Chef?
I'm here to tell you
Chef is Infrastructure as Code
http://www.flickr.com/photos/louisb/4555295187/
• Programmatically
provision and configure
• Treat like any other code
base
• Reconstruct business from
code repository, data
backup, and bare metal
resources.
When dealing with Chef, need to literally “think outside the box”, by shifting your thinking about configuration away from a
single system, to that of an Application Infrastructure. The concept of an Infrastructure is an abstract one with a specific
technical meaning. When we talk about Infrastructure, we mean..
Declarative Interface to Resources
• Define policy
• Say what, not how
• Pull not Push
http://www.flickr.com/photos/bixentro/2591838509/
Chef gives you declarative interfaces into the Resources on those Nodes.
Being declarative means that you say what you want to do, instead of how to do it.
For example,

 you declare that package foobar-1.2.3 should be installed, or that the directory /var/log/foobar should exist.
Chef pulls down policy from the chef-server, ensuring that a node down for maintenance will receive its policy update when it
comes back online.
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
end
end
Because we use a 3GL for the recipe config files, we can use features of ruby like case statements and iterative loops.
Sysadmins don’t need to be afraid of Ruby, they’ve been dealing with sub-standard programming languages like
configuration files for years.
They’re also not limited to what the language tells them they can do.
Recipes and Cookbooks
• Recipes are collections of
Resources
• Cookbooks contain
recipes, templates, files,
custom resources, etc
• Code re-use and
modularity
• Hundreds already on
Community.opscode.com
http://www.flickr.com/photos/shutterhacks/4474421855/
The Chef Community
• Apache License,Version 2.0
• 1300+ Individual contributors
• 200+ Corporate contributors
• Dell, DreamHost, HP, Rackspace,
VMware, SUSE and many more
• 900+ cookbooks
• http://community.opscode.com
Chef is hackable! Permissive Apache2 license, vibrant community of awesome folks.
Community is very important to us.
That's why we're here.
http://www.flickr.com/photos/16339684@N00/2681435235/
Chef and OpenStack?
That's great and all,
but tell me about
OpenStack!
And a basic fact about Infrastructure -- it EVOLVES.
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
We've learned a lot of things.
Overview & Status of
Chef for OpenStack
Chef for OpenStack:Who
• Arista
• AT&T
• Baremetal Cloud
• Calxeda
• Dell
• DreamHost
• HP
• HubSpot
• IBM
• Intel
• Internap
• Mercado Libre
• Mirantis
• NTT
• Nebula
• Nicira
• Piston Cloud
• Rackspace
• SUSE
• TryStack.org
• Voxel
• ...and more
These companies are currently involved to some extent. Some are paying customers that we've done engagements with.
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
• #openstack-chef on irc.freenode.net
• github.com/opscode/openstack-chef-repo
• github.com/opscode-cookbooks/
• keystone, glance, nova, horizon,
swift,quantum,cinder
• github.com/opscode/knife-openstack
• github.com/mattray/openstack-chef-docs
• groups.google.com/group/opscode-chef-
openstack
• @chefopenstack
• Chef repo for Essex/Grizzly
• Operating Systems (Ubuntu 12.04)
• Hypervisors (KVM, LXC)
• Databases (MySQL)
• Nova network FlatDHCP HA & VLAN
• Quantum Nicira plugin available
• Test Kitchen integration
Chef for OpenStack:When (Today)
Chef for OpenStack:When (Tomorrow)
• Grizzly sprint scheduled in 2
weeks
• Merging AT&T, DreamHost,
HubSpot and Rackspace code
• Documentation
(docs.opscode.com)
• Build packages from source
• Continuous integration
• Hypervisors (Hyper-V, bare metal)
• Databases (PostgreSQL)
• Cinder (Ceph)
• Quantum (Midokura)
• Operating Systems (RHEL, Debian, SUSE)
• Documentation (docs.opscode.com)
• HA Configurations
Chef for OpenStack:When (Roadmap)
Resources
Chef for OpenStack
Ecosystem
Mercado Libre
HP
Rackspace
Dell
Trystack
Voxel
OpenStack
AT&T
• github.com/att-cloud/
• primary Folsom merge source
• openstack-common
• cinder (lvm, netapp, rbd)
• lots of support cookbooks
Crowbar
• Hardware provisioning and application
management platform
• crowbar.github.com
• Dell, SUSE, others
• likely Swift cookbook source combined
with Rackspace's
DreamHost
• github.com/dreamhost
• ceph
• ceilometer
• quantum
• Nicira NVP cookbook
• Open vSwitch cookbook
• Development in progress by Opscode
• github.com/gmiranda23/nvp-cookbook
Nicira
Rackspace Private Cloud
• www.rackspace.com/cloud/private/
• github.com/rcbops/chef-cookbooks
• primary Essex merge source
• likely Red Hat source
• Cookbooks reusable outside of
OpenStack
• Test Kitchen
• knife-rackspace/hp
• Crowbar, pxe_dust & Razor
• Arista EOS cookbook
• Berkshelf & Librarian
• Spiceweasel & Sputnik
Chef for OpenStack "Halo Effect"
Why the Cloud?
Why OpenStack?
The solution to this perceived impediment to resources
• Instant infrastructure
• Unlimited capacity
• Autoscaling
• No commitment
• Immediate replacement
Why the Cloud?
Enforces good architecture
No long term commitment
Cloud benefits – instant infrastructure
Immediate replacement, no sparing etc.
Unlimited storage, snapshots (1 TB volume limit)
Provisioning APIs, autoscaling, EU storage, geodist
Public, private, hybrid
• Real Open Source
• Anyone can play
• Choice of features
• Features achieving parity/
accelerating ahead
Why OpenStack?
Know our escape plan
for every infrastructure
provider
"Drink the cloud Kool-aid, but only drink our Kool-aid"
If there are problems that you have with your cloud provider...
Not just the cloud
Chef for Infrastructure Portability
• knife ec2
• knife rackspace
• knife hp
• knife google
• knife azure
• knife cloudstack
• knife openstack
• knife vcloud
• ... and many
others
From EC2 to Rackspace, HP or any other OpenStack provider
• Vagrant
• VMware
• CloudStack
• Eucalyptus
• OpenStack
• bare metal
• AWS
• Rackspace
• HP
• Google
• Azure
• many others
Desktop,Virtualization, Private & Public Clouds
Chef is hackable! Permissive Apache2 license, vibrant community of awesome folks.
More than 360 individual contributors, over 70 corporate contributors.
Community is very important to us.
That's why we're here.
• Vagrant
• VMware
• CloudStack
• Eucalyptus
• OpenStack
• bare metal
Desktop,Virtualization, Private & Public Clouds
• AWS
• Rackspace
• HP
• Google
• Azure
• many others
Chef is hackable! Permissive Apache2 license, vibrant community of awesome folks.
More than 360 individual contributors, over 70 corporate contributors.
Community is very important to us.
That's why we're here.
Chef for OpenStack TL;DL
• Project, not a product
• Lots of contributors with real
deployments in a vibrant
ecosystem
• Essex works, Grizzly soon
• Features driven by demand
• Documentation with examples
• Do real work with OpenStack
From EC2 to Rackspace, HP or any other OpenStack provider
Agenda
• OpenStack Overview
• Chef for OpenStack Overview
• Knife OpenStack
• Lunch 12:15
• Chef for OpenStack Grizzly Roadmap
• Related Technologies
• Code Walkthroughs
knife openstack
Knife is our command line tool, literally a swiss army knife of cloud APIs
It talks to the Chef server to manage your infrastructure, but it also talks to APIs like the OpenStack one
So even if you're not managing your OpenStack layer, you have Chef to manage the components on top of it.
knife openstack
$ knife openstack
Available openstack subcommands: (for details, knife SUB-
COMMAND --help)
** OPENSTACK COMMANDS **
knife openstack flavor list (options)
knife openstack group list (options)
knife openstack image list (options)
knife openstack server create (options)
knife openstack server delete SERVER [SERVER] (options)
knife openstack server list (options)
This is a supported knife plugin for Chef, so we have ticket tracking and everything for it.
It has the basics, server creation, deletion and listing available images and servers
knife openstack flavor list
$ knife openstack flavor list
ID Name Virtual CPUs RAM Disk
1 m1.tiny 1 512 MB 0 GB
2 m1.small 1 2048 MB 10 GB
3 m1.medium 2 4096 MB 10 GB
4 m1.large 4 8192 MB 10 GB
5 m1.xlarge 8 16384 MB 10 GB
update your knife.rb with
### Note: If you are not proxying HTTPS to the OpenStack EC2 API port, the scheme
should be HTTP, and the PORT is 8773.
you can get these from "knife node show blahblah -a nova"
knife openstack group list
$ knife openstack group list
Name Protocol From To CIDR Description
default tcp 22 22 0.0.0.0/0 default
default icmp -1 -1 0.0.0.0/0 default
haproxy tcp 22002 22002 0.0.0.0/0 22022
knife openstack image list
$ knife openstack image list
ID Name
4a197431-503d-4b85-b61e-84af21ca8654 cirros-image
f8ebb842-c0c0-4be3-8c4c-f72f48edec50 precise-image
update your knife.rb with
### Note: If you are not proxying HTTPS to the OpenStack EC2 API port, the scheme
should be HTTP, and the PORT is 8773.
you can get these from "knife node show blahblah -a nova"
knife openstack server create -h
knife openstack server create (options)
--bootstrap-version VERSION The version of Chef to install
-N, --node-name NAME The Chef node name for your new node
-s, --server-url URL Chef Server URL
-k, --key KEY API Client Key
--[no-]color Use colored output, defaults to enabled
-c, --config CONFIG The configuration file to use
--defaults Accept default values for all questions
--disable-editing Do not open EDITOR, just accept the data as is
-d, --distro DISTRO Bootstrap a distro using a template; default is 'chef-full'
-e, --editor EDITOR Set the editor to use for interactive commands
-E, --environment ENVIRONMENT Set the Chef environment
-f, --flavor FLAVOR_ID The flavor ID of server (m1.small, m1.medium, etc)
-a, --floating-ip [IP] Request to associate a floating IP address to the new OpenStack node. Assumes IPs
have been allocated to the project. Specific IP is optional.
-F, --format FORMAT Which format to use for output
--[no-]host-key-verify Verify host key, enabled by default
-i IDENTITY_FILE, The SSH identity file used for authentication
--identity-file
-I, --image IMAGE_ID The image ID for the server
-u, --user USER API Client Username
--openstack-api-endpoint ENDPOINT
Your OpenStack API endpoint
--insecure Ignore SSL certificate on the Auth URL
-K, --openstack-password SECRET Your OpenStack Password
-T, --openstack-tenant NAME Your OpenStack Tenant NAME
-A, --openstack-username KEY Your OpenStack Username
--prerelease Install the pre-release chef gems
--print-after Show the data after a destructive operation
--private-network Use the private IP for bootstrapping rather than the public IP
-r, --run-list RUN_LIST Comma separated list of roles/recipes to apply
-G, --groups X,Y,Z The security groups for this server
-S, --ssh-key KEY The OpenStack SSH keypair id
-P, --ssh-password PASSWORD The ssh password
-x, --ssh-user USERNAME The ssh username
--template-file TEMPLATE Full path to location of template to use
-V, --verbose More verbose output. Use twice for max verbosity
-v, --version Show chef version
-y, --yes Say yes to all prompts for confirmation
-h, --help Show this message
update your knife.rb with
### Note: If you are not proxying HTTPS to the OpenStack EC2 API port, the scheme
should be HTTP, and the PORT is 8773.
you can get these from "knife node show blahblah -a nova"
$ knife openstack server list
Instance ID Name Public IP Private IP Flavor Image Keypair State
08f2d9f7-eeb0-45e7-8562-63aed8f096cc os-45539345723309377 50.56.12.229 2 737969f8-6091-4896-ba9c-f3cf63bd25c5 rs-demo active
43c6bbf5-b397-4986-8aec-392d955ce5b1 os-9924426691020416 50.56.12.232 2 737969f8-6091-4896-ba9c-f3cf63bd25c5 rs-demo active
c1b9e3df-e566-4378-8a52-ed998b516608 os-553425714287088 50.56.12.230 2 737969f8-6091-4896-ba9c-f3cf63bd25c5 rs-demo active
f3edc5da-ef99-4acb-a141-d957e09809e3 os-07459550287500682 50.56.12.231 2 737969f8-6091-4896-ba9c-f3cf63bd25c5 rs-demo active
knife openstack server list
How did we get to the point where we can build a multi-tiered, monitored infrastructure?
knife openstack server create -a -f 2 -I 737969f8-6091-4896-ba9c-f3cf63bd25c5 -S
rs-demo -i ~/.ssh/rs-demo.pem -x ubuntu -r "role[base]"
knife openstack server create
How did we get to the point where we can build a multi-tiered, monitored infrastructure?
knife openstack server create
Instance Name: os-45539345723309377
Instance ID: 08f2d9f7-eeb0-45e7-8562-63aed8f096cc
Waiting for server.........
Flavor: 2
Image: 737969f8-6091-4896-ba9c-f3cf63bd25c5
SSH Identity File: /Users/mray/.ssh/rs-demo.pem
SSH Keypair: rs-demo
Public IP Address: 10.241.0.12
Floating IP Address: 50.56.12.229
Waiting for sshd.....done
Bootstrapping Chef on 50.56.12.229
Instance Name: os-45539345723309377
Instance ID: 08f2d9f7-eeb0-45e7-8562-63aed8f096cc
Flavor: 2
Image: 737969f8-6091-4896-ba9c-f3cf63bd25c5
SSH Keypair: rs-demo
Public IP Address: 50.56.12.229
Environment: _default
Run List: role[base]
update your knife.rb with
### Note: If you are not proxying HTTPS to the OpenStack EC2 API port, the scheme
should be HTTP, and the PORT is 8773.
you can get these from "knife node show blahblah -a nova"
How did we get to the point where we can build a multi-tiered, monitored infrastructure?
How did we get to the point where we can build a multi-tiered, monitored infrastructure?
knife-openstack compatibility
• Uses the OpenStack API
• Diablo, Essex, Folsom, Grizzly
• Cloudscaling
• Crowbar
• DreamHost
• Nebula
• Piston
• Rackspace Private Cloud
knife-openstack Roadmap
• github.com/opscode/knife-openstack
• docs.opscode.com/plugin_knife_openstack.html
• tickets.opscode.com/browse/KNIFE/component/
• windows support
• floating IP address management
• quantum network management
Agenda
• OpenStack Overview
• Chef for OpenStack Overview
• Knife OpenStack
• Lunch 12:15
• Chef for OpenStack Grizzly Roadmap
• Related Technologies
• Code Walkthroughs
Agenda
• OpenStack Overview
• Chef for OpenStack Overview
• Knife OpenStack
• Lunch 12:15
• Chef for OpenStack Grizzly Roadmap
• Related Technologies
• Code Walkthroughs
Who was there
• AT&T
• Dell
• DreamHost
• HubSpot
• KT
• Midokura
• Opscode
• Rackspace
• SUSE
There had been several days of conversations, these companies were all represented in the meeting. Missing: eNovance, HP, IBM,
KIO, Mirantis
Where
• #openstack-chef on irc.freenode.net
• groups.google.com/group/opscode-chef-
openstack
• github.com/mattray/openstack-chef-docs
• @chefopenstack
The resources we're using
Licensing
• Apache 2
• Opscode CLA/CCLA required
• http://wiki.opscode.com/display/chef/
How+to+Contribute
• http://wiki.opscode.com/display/chef/
Approved+Contributors
Attendees were all covered already
Where on GitHub
• http://github.com/osops
• chef-repo/
• berkshelf, not git submodules
• cookbooks all end in "-cookbook"
• ie. "nova-cookbook"
• "operations" cookbooks outside scope
• ie. logging, monitoring, provisioning
Move to community GitHub repo, not Opscode's. Opscode will upstream from this repo.
Cookbooks
• cinder
• glance
• horizon
• keystone
• nova
• quantum
• swift
• ceilometer & heat eventually
The core OpenStack services
Goal of incorporating into OpenStack
• Get on StackForge
• will provide CI
• which everyone will probably slave
• Gerrit for code reviews
• we'll sort out reviewers once we start
• Testing with TestKitchen initially
• Grenade? Kong? SmokeStack?
We want to go into "mainline" OpenStack
• support alternative package sources
• source-built coming ("VanillaStack")
• packaging recipes before configuration
• ie. "nova/recipes/nova-compute-packages"
Packages
Use distro packages were applicable, but not everyone wants to use them. Build from source will come in eventually.
Chef Style Guide
• Chef 11 target release
• partial search
• partial templates
• Full-stack Chef-client compatible
• Ruby 1.9.x
• Upstream community cookbooks
• Foodcritic as much as possible
Table stakes
Chef Style Guide
• openstack-common instead of osops-utils
• Attribute injection
• attributes may short-circuit search
• few, if any, attributes in roles
• environment-driven attributes
• Chef Solo not actively supported
• platform logic in attributes files
Already using these patterns
• May release "2013.1.0"
• Chef repo for Grizzly
• Operating Systems (Ubuntu 12.04)
• Databases (MySQL)
• Hypervisors (KVM, LXC)
• Nova network FlatDHCP HA & VLAN
Initial osops release
Opscode employee Matt Ray and Chris McClimans are getting together after ChefConf to work on cleaning up Grizzly. Sources
will be AT&T, Dell, HubSpot and Rackspace primarily.
• Operating Systems (RHEL, SUSE)
• Databases (Postgres)
• Hypervisors (Xen, bare metal)
• Cinder (Ceph, LVM, NetApp)
• Quantum (Bridge, Midokura, Nicira, OVS)
• Folsom backport
• HA Configurations may be stretch goal
because of differing implementations
Grizzly Roadmap
SUSE: SLES, OpenSUSE, Postgres
KT: Xen
HubSpot: bare metal
DreamHost: Ceph
AT&T: LVM
Rackspace: Bridge, NetApp, OVS, RHEL
Opscode: Nicira
Midokura: Folsom, MidoNet
AT&T, SUSE, Rackspace different HA setups
knife-openstack v0.7.0
$ knife openstack
Available openstack subcommands: (for details, knife SUB-
COMMAND --help)
** OPENSTACK COMMANDS **
knife openstack flavor list (options)
knife openstack group list (options)
knife openstack image list (options)
knife openstack server create (options)
knife openstack server delete SERVER [SERVER] (options)
knife openstack server list (options)
Currently supported features.
knife-openstack compatibility
• Uses the OpenStack API
• Diablo, Essex, Folsom, Grizzly
• Cloudscaling
• Crowbar
• DreamHost
• Nebula
• Piston
• Rackspace Private Cloud
Continue to test for compatibility, will build out CI testing for Opscode-supported knife plugins.
knife-openstack Roadmap
• github.com/opscode/knife-openstack
• docs.opscode.com/plugin_knife_openstack.html
• tickets.opscode.com/browse/KNIFE/
component/
• Continues to be managed by Opscode
• Test against multiple OpenStack deployments
for compatibility
• next major release v0.8.0 (May)
• floating IP address management
• network assignment on server creates
More features will undoubtedly show up
• Submit talk "Chef for OpenStack Fall 2013
Overview & Status"
• Review this deck
• Report progress
• Submit for developer track session as well
• See you in Hong Kong!
Fall 2013 OpenStack Summit
We'll see what actually happens in November.
Agenda
• OpenStack Overview
• Chef for OpenStack Overview
• Knife OpenStack
• Lunch 12:15
• Chef for OpenStack Grizzly Roadmap
• Related Technologies
• Code Walkthroughs
Berkshelf
• http://berkshelf.com/
• tool for managing your Chef Cookbooks and
their dependencies
• Community site, Git, local development
• Berksfile managed in version control
Spiceweasel
• https://github.com/mattray/spiceweasel
• manages your Chef repositories and creating
reproducible infrastructure
• nodes, cookbooks, roles, data bags &
environments with a version controlled
manifest
• validates dependencies
• allows extraction and creation of infrastructure
• lightweight orchestration and cluster
management
• Sputnik Cloud Launcher
• fills gap between the documentation and
deployment of your Chef repository &
infrastructure
Rackspace Private Cloud
• http://www.rackspace.com/cloud/private/
• https://github.com/rcbops-cookbooks/
• Session: Deploying OpenStack with Chef
and Operational Tooling
Test Kitchen
• kitchen-openstack
• https://github.com/RoboticCheese/kitchen-openstack
• Session: Test Kitchen: Multi-Platform Integration Testing for the Masses
pxe_dust
• Provisioning solution for hardware
• Initially developed by Matt Ray
• https://github.com/opscode-cookbooks/pxe_dust
• pxe_dust::bootstrap_template
• pxe_dust::installers
• pxe_dust::server
Crowbar
• Provisioning solution for hardware
• Initially developed by Dell
• crowbar.github.com
• Barclamps!
• 1.0 vs. 2.0
Razor
• Provisioning solution for hardware
• Initially developed by EMC and Puppet
• Open sourced as a Puppet Labs project
• Install using Puppet, Chef, or manual
• Auto-Discovered Real-Time Inventory Data
• Dynamic Image Selection
• Model-Based Provisioning
• APIs and Plug-in Architecture
• Metal-to-Cloud Application Lifecycle Management
• Session: Harnessing the Power of Bare Metal with Razor and Chef Server
OpenStack Baremetal
• https://wiki.openstack.org/wiki/Baremetal
• driver to allow OpenStack Compute to manage hardware directly (Grizzly)
• provisioned via PXE and managed via IPMI
• OpenStack Compute manages them via the Dashboard, CLI and API
• OpenStack on OpenStack (aka "Triple-O")
• authentication, authorization, quotas, a dashboard and an API provided by OpenStack
• roadmap has device discovery, network management and additional hardware features
Agenda
• OpenStack Overview
• Chef for OpenStack Overview
• Knife OpenStack
• Lunch 12:15
• Chef for OpenStack Grizzly Roadmap
• Related Technologies
• Code Walkthroughs
currently Folsom release (v3.0.1)
open source Chef 11 server embedded
http://www.rackspace.com/cloud/private/
https://github.com/rcbops
https://github.com/rcbops-cookbooks/
Rackspace Private Cloud
Rackspace Private Cloud
github.com/rcbops/chef-cookbooks/tree/v3.0.1
roles/
environments/
cookbooks/
Rackspace Private Cloud
cookbooks/
apache2/
apt/
aws/
build-essential/
cinder/
collectd/
collectd-graphite/
collectd-plugins/
corosync/
database/
dsh/
erlang/
exerstack/
glance/
graphite/
haproxy/
hardware/
horizon/
keepalived/
keystone/
kong/
memcached/
modules/
monit/
monitoring/
mysql/
mysql-openstack/
nova/
nova-network/
ntp/
openssh/
openssl/
openstack-ha/
osops-utils/
postgresql/
rabbitmq/
rabbitmq-openstack/
rsyslog/
runit/
selinux/
sosreport/
swift/
sysctl/
xfs/
yum/
environments/example.json
{
"name": "example_environment",
"description": "Chef-server example environment",
"cookbook_versions": {
},
"json_class": "Chef::Environment",
"chef_type": "environment",
"default_attributes": {
},
"override_attributes": {
"developer_mode": false,
"monitoring" : {
"metric_provider" : "collectd",
"procmon_provider" : "monit"
},
"glance": {
"image_upload": true,
"images": ["cirros", "precise"]
},
environments/example.json"nova": {
"ratelimit" : {
"api" : { "enabled" : true },
"volume" : { "enabled" : true }
},
"libvirt": { "virt_type": "qemu" },
"networks": [
{
"label": "public",
"ipv4_cidr": "10.10.100.0/24",
"num_networks": "1",
"network_size": "255",
"bridge": "br100",
"bridge_dev": "eth0.100",
"dns1": "8.8.8.8",
"dns2": "8.8.4.4"
},
{
"label": "private",
"ipv4_cidr": "172.16.101.0/24",
"num_networks": "1",
"network_size": "255",
"bridge": "br101",
"bridge_dev": "eth0.101",
"dns1": "8.8.8.8",
"dns2": "8.8.4.4"
}
]
},
environments/example.json
"mysql": {
"allow_remote_root": true,
"root_network_acl": "%"
},
"osops_networks": {
"nova": "192.168.1.0/24",
"public": "192.168.1.0/24",
"management": "192.168.1.0/24"
},
"package_component": "folsom"
}
}
roles/
allinone.rb
base.rb
cinder-all.rb
cinder-api.rb
cinder-scheduler.rb
cinder-setup.rb
cinder-volume.rb
collectd-client.rb
collectd-server.rb
glance-api.rb
glance-registry.rb
glance-setup.rb
glance.rb
graphite.rb
ha-controller1.rb
ha-controller2.rb
haproxy.rb
horizon-server.rb
jenkins-allinone.rb
jenkins-compute.rb
jenkins-controller.rb
jenkins-glance.rb
jenkins-mysql-master.rb
jenkins-nova-api.rb
keystone-api.rb
keystone.rb
mysql-master.rb
nova-api-ec2.rb
nova-api-os-compute.rb
nova-api.rb
nova-cert.rb
nova-controller.rb
nova-misc-services.rb
nova-network-compute.rb
nova-network-controller.rb
nova-network.rb
nova-scheduler.rb
nova-setup.rb
nova-vncproxy.rb
nova-volume.rb
openstack-ha.rb
quantum-network-manager.rb
rabbitmq-server.rb
rsyslog-client.rb
rsyslog-server.rb
single-compute.rb
single-controller.rb
swift-account-server.rb
swift-all-in-one.rb
swift-container-server.rb
swift-management-server.rb
swift-object-server.rb
swift-proxy-server.rb
swift-setup.rb
roles/allinone.rb
name "allinone"
description "This will create an all-in-one Openstack
cluster"
run_list(
"role[single-controller]",
"role[single-compute]"
)
expanded run list
osops-utils::packages, openssh, ntp, sosreport, rsyslog::default,
hardware, osops-utils::default, mysql-openstack::server,
erlang::default, rabbitmq-openstack::server, keystone::server,
keystone::keystone-api, glance::setup, glance::registry,
glance::api, nova::nova-setup, nova-network::nova-controller,
nova::scheduler, nova::api-ec2, nova::api-os-compute,
nova::volume, nova::nova-cert, nova::vncproxy, mysql::client,
mysql::ruby, horizon::server, nova-network::nova-compute,
nova::compute
roles/single-controller
name "single-controller"
description "Nova Controller (non-HA)"
run_list(
"role[base]",
"role[mysql-master]",
"role[rabbitmq-server]",
"role[keystone]",
"role[glance-setup]",
"role[glance-registry]",
"role[glance-api]",
"role[nova-setup]",
"role[nova-network-controller]",
"role[nova-scheduler]",
"role[nova-api-ec2]",
"role[nova-api-os-compute]",
"role[nova-volume]",
"role[nova-cert]",
"role[nova-vncproxy]",
"role[horizon-server]"
)
roles/base
name "base"
description "Base role for a server"
run_list(
"recipe[osops-utils::packages]",
"recipe[openssh]",
"recipe[ntp]",
"recipe[sosreport]",
"recipe[rsyslog::default]",
"recipe[hardware]",
"recipe[osops-utils::default]"
)
default_attributes(
"ntp" => {
"servers" => ["0.pool.ntp.org", "1.pool.ntp.org", "2.pool.ntp.org"]
}
)
roles/mysql-master
name "mysql-master"
description "Installs mysql and sets up replication (if 2
nodes with role)"
run_list(
"role[base]",
"recipe[mysql-openstack::server]"
)
roles/rabbitmq-server
name "rabbitmq-server"
description "RabbitMQ Server (non-ha)"
run_list(
"role[base]",
"recipe[erlang::default]",
"recipe[rabbitmq-openstack::server]"
)
roles/keystone
name "keystone"
description "Keystone server"
run_list(
"role[base]",
"recipe[keystone::server]",
"role[keystone-api]"
)
roles/glance-setup
name "glance-setup"
description "sets up glance registry db and passwords"
run_list(
"role[base]",
"recipe[glance::setup]"
)
roles/glance-registry
name "glance-registry"
description "Glance Registry server"
run_list(
"role[base]",
"recipe[glance::registry]"
)
roles/glance-api
name "glance-api"
description "Glance API server"
run_list(
"role[base]",
"recipe[glance::api]"
)
roles/nova-setup
name "nova-setup"
description "Where the setup operations for nova get run"
run_list(
"recipe[nova::nova-setup]"
)
/nova-network-controller
name "nova-network-controller"
description "Setup nova-networking for controller node"
run_list(
"recipe[nova-network::nova-controller]"
)
roles/nova-scheduler
name "nova-scheduler"
description "Nova scheduler"
run_list(
"role[base]",
"recipe[nova::scheduler]"
)
roles/nova-api-ec2
name "nova-api-ec2"
description "Nova API EC2"
run_list(
"role[base]",
"recipe[nova::api-ec2]"
)
/nova-api-os-compute
name "nova-api-os-compute"
description "Nova API for Compute"
run_list(
"role[base]",
"recipe[nova::api-os-compute]"
)
roles/nova-volume
name "nova-volume"
description "Nova Volume Service"
run_list(
"role[base]",
"recipe[nova::volume]"
)
roles/nova-cert
name "nova-cert"
description "Nova Certificate Service"
run_list(
"role[base]",
"recipe[nova::nova-cert]"
)
roles/nova-vncproxy
name "nova-vncproxy"
description "Nova VNC Proxy"
run_list(
"role[base]",
"recipe[nova::vncproxy]"
)
roles/horizon-server
name "horizon-server"
description "Horizon server"
run_list(
"role[base]",
"recipe[mysql::client]",
"recipe[mysql::ruby]",
"recipe[horizon::server]"
)
roles/single-compute
name "single-compute"
description "Nova compute (with non-HA Controller)"
run_list(
"role[base]",
"role[nova-network-compute]",
"recipe[nova::compute]"
)
Thanks!
Matt Ray
matt@opscode.com
@mattray

More Related Content

What's hot

OpenStack Toronto: Juno Community Update
OpenStack Toronto: Juno Community UpdateOpenStack Toronto: Juno Community Update
OpenStack Toronto: Juno Community UpdateStephen Gordon
 
OpenStack and private cloud
OpenStack and private cloudOpenStack and private cloud
OpenStack and private cloudSK Telecom
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutronmarkmcclain
 
OpenStack Nova - Developer Introduction
OpenStack Nova - Developer IntroductionOpenStack Nova - Developer Introduction
OpenStack Nova - Developer IntroductionJohn Garbutt
 
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016Cloud Native Day Tel Aviv
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler Peeyush Gupta
 
Hostvn ceph in production v1.1 dungtq
Hostvn   ceph in production v1.1 dungtqHostvn   ceph in production v1.1 dungtq
Hostvn ceph in production v1.1 dungtqViet Stack
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kiloSteven Li
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Stephen Gordon
 
Red Hat Enteprise Linux Open Stack Platfrom Director
Red Hat Enteprise Linux Open Stack Platfrom DirectorRed Hat Enteprise Linux Open Stack Platfrom Director
Red Hat Enteprise Linux Open Stack Platfrom DirectorOrgad Kimchi
 
Andy McCrae, Rackspace - Using Ansible to Deploy and Automate OpenStack, Open...
Andy McCrae, Rackspace - Using Ansible to Deploy and Automate OpenStack, Open...Andy McCrae, Rackspace - Using Ansible to Deploy and Automate OpenStack, Open...
Andy McCrae, Rackspace - Using Ansible to Deploy and Automate OpenStack, Open...Cloud Native Day Tel Aviv
 
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기OpenStack Korea Community
 
Neutron high availability open stack architecture openstack israel event 2015
Neutron high availability  open stack architecture   openstack israel event 2015Neutron high availability  open stack architecture   openstack israel event 2015
Neutron high availability open stack architecture openstack israel event 2015Arthur Berezin
 
RedHat OpenStack Platform Overview
RedHat OpenStack Platform OverviewRedHat OpenStack Platform Overview
RedHat OpenStack Platform Overviewindevlab
 
High Availability in OpenStack Cloud
High Availability in OpenStack CloudHigh Availability in OpenStack Cloud
High Availability in OpenStack CloudQiming Teng
 
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell ScruggsOrchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell ScruggsCloud Native Day Tel Aviv
 

What's hot (19)

OpenStack Toronto: Juno Community Update
OpenStack Toronto: Juno Community UpdateOpenStack Toronto: Juno Community Update
OpenStack Toronto: Juno Community Update
 
OpenStack and private cloud
OpenStack and private cloudOpenStack and private cloud
OpenStack and private cloud
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 
OpenStack Nova - Developer Introduction
OpenStack Nova - Developer IntroductionOpenStack Nova - Developer Introduction
OpenStack Nova - Developer Introduction
 
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
 
OpenStack Nova Scheduler
OpenStack Nova Scheduler OpenStack Nova Scheduler
OpenStack Nova Scheduler
 
Hostvn ceph in production v1.1 dungtq
Hostvn   ceph in production v1.1 dungtqHostvn   ceph in production v1.1 dungtq
Hostvn ceph in production v1.1 dungtq
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kilo
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 
Red Hat Enteprise Linux Open Stack Platfrom Director
Red Hat Enteprise Linux Open Stack Platfrom DirectorRed Hat Enteprise Linux Open Stack Platfrom Director
Red Hat Enteprise Linux Open Stack Platfrom Director
 
Andy McCrae, Rackspace - Using Ansible to Deploy and Automate OpenStack, Open...
Andy McCrae, Rackspace - Using Ansible to Deploy and Automate OpenStack, Open...Andy McCrae, Rackspace - Using Ansible to Deploy and Automate OpenStack, Open...
Andy McCrae, Rackspace - Using Ansible to Deploy and Automate OpenStack, Open...
 
TripleO
 TripleO TripleO
TripleO
 
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
 
OpenStack HA
OpenStack HAOpenStack HA
OpenStack HA
 
Neutron high availability open stack architecture openstack israel event 2015
Neutron high availability  open stack architecture   openstack israel event 2015Neutron high availability  open stack architecture   openstack israel event 2015
Neutron high availability open stack architecture openstack israel event 2015
 
OpenStack Neutron behind the Scenes
OpenStack Neutron behind the ScenesOpenStack Neutron behind the Scenes
OpenStack Neutron behind the Scenes
 
RedHat OpenStack Platform Overview
RedHat OpenStack Platform OverviewRedHat OpenStack Platform Overview
RedHat OpenStack Platform Overview
 
High Availability in OpenStack Cloud
High Availability in OpenStack CloudHigh Availability in OpenStack Cloud
High Availability in OpenStack Cloud
 
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell ScruggsOrchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
 

Similar to Chef and OpenStack Workshop from ChefConf 2013

DevOps and OpenStack December 2012
DevOps and OpenStack December 2012DevOps and OpenStack December 2012
DevOps and OpenStack December 2012Matt Ray
 
Cisco Cloud Computing and Open Stack: Velocity 2011
Cisco Cloud Computing and Open Stack: Velocity 2011Cisco Cloud Computing and Open Stack: Velocity 2011
Cisco Cloud Computing and Open Stack: Velocity 2011Cisco Service Provider
 
OpenStack for VMware Administrators
OpenStack for VMware AdministratorsOpenStack for VMware Administrators
OpenStack for VMware AdministratorsTrevor Roberts Jr.
 
Red hat's updates on the cloud & infrastructure strategy
Red hat's updates on the cloud & infrastructure strategyRed hat's updates on the cloud & infrastructure strategy
Red hat's updates on the cloud & infrastructure strategyOrgad Kimchi
 
Oracle week Israel - OpenStack Platform - 2013
Oracle week Israel - OpenStack Platform - 2013Oracle week Israel - OpenStack Platform - 2013
Oracle week Israel - OpenStack Platform - 2013Arthur Berezin
 
OpenStack (projects 101)
OpenStack (projects 101)OpenStack (projects 101)
OpenStack (projects 101)Hazzim Anaya
 
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the CloudLinux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the CloudMark Hinkle
 
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudCloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudMark Hinkle
 
Making Openstack Really Easy - Why Build Open Source When You Can Buy? Danny ...
Making Openstack Really Easy - Why Build Open Source When You Can Buy? Danny ...Making Openstack Really Easy - Why Build Open Source When You Can Buy? Danny ...
Making Openstack Really Easy - Why Build Open Source When You Can Buy? Danny ...OpenStack
 
OpenStack in Enterprise
OpenStack in EnterpriseOpenStack in Enterprise
OpenStack in EnterpriseNalee Jang
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingMark Hinkle
 
BRKVIR-2601 Architecting an OpenStack Based Cloud with Cisco Infrastructure.pdf
BRKVIR-2601 Architecting an OpenStack Based Cloud with Cisco Infrastructure.pdfBRKVIR-2601 Architecting an OpenStack Based Cloud with Cisco Infrastructure.pdf
BRKVIR-2601 Architecting an OpenStack Based Cloud with Cisco Infrastructure.pdfssuserc6aaff
 
VMware - Openstack e VMware: la strana coppia
VMware - Openstack e VMware: la strana coppia VMware - Openstack e VMware: la strana coppia
VMware - Openstack e VMware: la strana coppia VMUG IT
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingLinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingMark Hinkle
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"CREATE-NET
 

Similar to Chef and OpenStack Workshop from ChefConf 2013 (20)

DevOps and OpenStack December 2012
DevOps and OpenStack December 2012DevOps and OpenStack December 2012
DevOps and OpenStack December 2012
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
OpenStack 101 update
OpenStack 101 updateOpenStack 101 update
OpenStack 101 update
 
Sharad openstack slides
Sharad openstack slidesSharad openstack slides
Sharad openstack slides
 
Cisco Cloud Computing and Open Stack: Velocity 2011
Cisco Cloud Computing and Open Stack: Velocity 2011Cisco Cloud Computing and Open Stack: Velocity 2011
Cisco Cloud Computing and Open Stack: Velocity 2011
 
OpenStack for VMware Administrators
OpenStack for VMware AdministratorsOpenStack for VMware Administrators
OpenStack for VMware Administrators
 
Red hat's updates on the cloud & infrastructure strategy
Red hat's updates on the cloud & infrastructure strategyRed hat's updates on the cloud & infrastructure strategy
Red hat's updates on the cloud & infrastructure strategy
 
Cloud Computing using OpenStack
Cloud Computing using OpenStackCloud Computing using OpenStack
Cloud Computing using OpenStack
 
Oracle week Israel - OpenStack Platform - 2013
Oracle week Israel - OpenStack Platform - 2013Oracle week Israel - OpenStack Platform - 2013
Oracle week Israel - OpenStack Platform - 2013
 
OpenStack (projects 101)
OpenStack (projects 101)OpenStack (projects 101)
OpenStack (projects 101)
 
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the CloudLinux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
 
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudCloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
 
Making Openstack Really Easy - Why Build Open Source When You Can Buy? Danny ...
Making Openstack Really Easy - Why Build Open Source When You Can Buy? Danny ...Making Openstack Really Easy - Why Build Open Source When You Can Buy? Danny ...
Making Openstack Really Easy - Why Build Open Source When You Can Buy? Danny ...
 
OpenStack in Enterprise
OpenStack in EnterpriseOpenStack in Enterprise
OpenStack in Enterprise
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
 
BRKVIR-2601 Architecting an OpenStack Based Cloud with Cisco Infrastructure.pdf
BRKVIR-2601 Architecting an OpenStack Based Cloud with Cisco Infrastructure.pdfBRKVIR-2601 Architecting an OpenStack Based Cloud with Cisco Infrastructure.pdf
BRKVIR-2601 Architecting an OpenStack Based Cloud with Cisco Infrastructure.pdf
 
VMware - Openstack e VMware: la strana coppia
VMware - Openstack e VMware: la strana coppia VMware - Openstack e VMware: la strana coppia
VMware - Openstack e VMware: la strana coppia
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingLinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"Webinar "Introduction to OpenStack"
Webinar "Introduction to OpenStack"
 

More from Matt Ray

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...Matt Ray
 
HashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherHashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherMatt Ray
 
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeEmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeMatt Ray
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatMatt Ray
 
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...Matt Ray
 
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Matt Ray
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code EverywhereMatt Ray
 
DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018Matt Ray
 
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesDevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesMatt Ray
 
Infrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateInfrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateMatt Ray
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateMatt Ray
 
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeDevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeMatt Ray
 
DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteMatt Ray
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupMatt Ray
 
Automating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyAutomating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyMatt Ray
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Matt Ray
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Matt Ray
 

More from Matt Ray (20)

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
 
HashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherHashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better Together
 
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeEmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with Habitat
 
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
 
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code Everywhere
 
DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018
 
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesDevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
 
Infrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateInfrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef Automate
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef Automate
 
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeDevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
 
DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat Ignite
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User Group
 
Automating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyAutomating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North Sydney
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Chef and OpenStack Workshop from ChefConf 2013

  • 1. Chef and OpenStack Matt Ray April 24, 2013
  • 2. Agenda • OpenStack Overview • Chef for OpenStack Overview • Knife OpenStack • Lunch 12:15 • Chef for OpenStack Grizzly Roadmap • Related Technologies • Code Walkthroughs
  • 3. Introductions • Matt Ray • matt@opscode.com • mattray IRC, GitHub • @mattray http://upload.wikimedia.org/wikipedia/commons/2/27/Hi_How_Are_You_Austin_2005.jpg Presenter notes: Austin, San Antonio, Santa Clara, Boston, San Francisco, San Diego, Portland Bexar and on Mercado Libre, Dell, Rackspace, HP, DreamHost
  • 4. Agenda • OpenStack Overview • Chef for OpenStack Overview • Knife OpenStack • Lunch 12:15 • Chef for OpenStack Grizzly Roadmap • Related Technologies • Code Walkthroughs
  • 5. "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." Mission Statement
  • 6. Why OpenStack? ‣ Control. Open source, no vendor lock in. Apache 2 license. ‣ Flexibility. Modular design integrates legacy and third party technologies. ‣ Emerging Industry Standard. More than 180 technology industry leaders backing it and major public clouds built on OpenStack.  ‣ Proven. Originally built for scale and redundancy at NASA and Rackspace. More than 200 large-scale deployments worldwide. ‣ Compatible and Connected. Enables portability. Control.  Open  source  means  you’re  never  locked  to  a  proprietary  vendor.  You  always  have  visibility  and  the  ability  to  directly  influence  the  roadmap  through  the  open  design  process. Flexibility.  Modular  design  can  integrate  with  legacy  systems  and  third-­‐party  technologies,  so  you  don't  have  to  rip-­‐and-­‐replace  your  exisAng  infrastructure.   Emerging  Industry  Standard.    More  than  170  leading  technology  companies  across  the  globe  are  developing  and  building  tools  for  OpenStack,  including  AT&T,  Cisco,  Dell,  HP,  Intel,  IBM,  MicrosoP  and  Red  Hat,  and  new  OpenStack  clouds  are  coming  online  daily. Proven  and  Scalable.  OpenStack  was  built  for  scale  and  redundancy.  You  can  run  the  same  soPware  that  today  powers  some  of  the  world's  largest  public  and  private  clouds. Compa<ble  and  Connected.  CompaAbility  with  public  OpenStack  clouds  means  enterprises  are  prepared  for  the  future—making  it  easy  to  migrate  data  and  applicaAons  to  public  clouds  when  condiAons  are  right.
  • 7. OpenStack Controls Compute, Storage & Networking
  • 10. Compute: Nova ‣ Virtual Machines ‣ Provision and manage large pools of on-demand computing resources (hypervisors & instances) ‣ KVM ‣ Xen ‣ LXC ‣ Hyper-V ‣ VMware ‣ Bare-metal Compute (codenamed "Nova") provides virtual servers upon demand. Rackspace and HP provide commercial compute services built on Nova and it is used internally at companies like Mercado Libre, AT&T and NASA (where it originated).
  • 12. Block Storage: Cinder ‣ Virtual Block Storage Devices ‣ Volumes on commodity storage gear ‣ Drivers for more advanced systems like NetApp, Solidfire, Ceph and Nexenta ‣ Released in Folsom Fall 2012 Block Storage (codenamed "Cinder") provides persistent block storage to guest VMs. This project was born from code originally in Nova (the nova-volume service described below). Please note that this is block storage (or volumes) not filesystems like NFS or CIFS share.Cinder is new for the Folsom release.
  • 14. Networking as a Service: Quantum ‣ Virtualized Networking ‣ Software Defined Networking (SDN) ‣ Automation of hardware & software ‣ Define network connectivity & addressing used by devices from other services ‣ Drivers for Ryu, Floodlight, Nicira, Midokura, Cisco and many more ‣ Released in Folsom Fall 2012 Network (codenamed "Quantum") provides "network connectivity as a service" between interface devices managed by other OpenStack services (most likely Nova). The service works by allowing users to create their own networks and then attach interfaces to them. Quantum has a pluggable architecture to support many popular networking vendors and technologies. Quantum is new in the Folsom release.
  • 16. Image Registry: Glance ‣ Multi-format virtual disk image registry & catalog ‣ Delivery of images to Nova Compute ‣ Allows uploads of private and public images in a wide variety of formats ‣ Machine (kernel/ramdisk outside of image, a.k.a. AMI) ‣ qcow2 (Qemu/KVM) ‣ VMDK (VMWare) ‣ OVF (VMWare, others) ‣ And more Image (codenamed "Glance") provides a catalog and repository for virtual disk images. These disk images are mostly commonly used in OpenStack Compute. While this service is technically optional, any cloud of size will require it.
  • 18. Identity: Keystone ‣ Unifies all core projects with common authentication system ‣ Provides authorization for multiple log-in credentials ‣ Username/password ‣ Token-based ‣ AWS-style logins ‣ Integrate with existing systems Identity (codenamed "Keystone") provides authentication and authorization for all the OpenStack services. It also provides a service catalog of services within a particular OpenStack cloud.
  • 20. Object Storage: Swift ‣ Redundant, resilient, horizontally scalable object storage ‣ Petabytes of reliable storage on standard gear ‣ Examples include virtual machine images, photo storage, email storage and backup archiving ‣ Rackspace Cloud Files Object Store (codenamed "Swift") allows you to store or retrieve files (but not mount directories like a fileserver). Several companies provide commercial storage services based on Swift. These include KT, Rackspace (from which Swift originated) and Internap. Swift is also used internally at many large companies to store their data.
  • 22. Web Dashboard: Horizon ‣ Self-service, role-based web interface for users and administrators ‣ Provision cloud-based resources through a self-service portal ‣ Create and manage projects and users, defining resources available to them ‣ Extensible design makes it easy to plug in and expose third party products and services ‣ Django application that consumes APIs Dashboard (codenamed "Horizon") provides a modular web-based user interface for all the OpenStack services. With this web GUI, you can perform most operations on your cloud like launching an instance, assigning IP addresses and setting access controls.
  • 23. OpenStack Community ‣ OpenStack Summits (Spring & Fall) ‣ IRC (irc.freenode.net) ‣ #openstack, #openstack-meetings, #openstack-chef, many more ‣ Mailing Lists (lists.openstack.org) ‣ OpenStack.org ‣ Blog, Docs, Wiki ‣ Twitter @OpenStack
  • 24. OpenStack Code ‣ GitHub ‣ https://github.com/openstack/ ‣ Gerrit ‣ https://review.openstack.org ‣ Jenkins ‣ https://jenkins.openstack.org/ ‣ DevStack.org
  • 25. OpenStack Foundation Led by Executive Director, Jonathan Bryce, the Foundation is hiring 10-12 employees who, under the strategic direction of the Board, will help carry out the OpenStack mission. Specific responsibilities include coordinating the project's infrastructure, such as systems for testing the software at scale, community building activities, and managing the OpenStack trademark, which was transferred from Rackspace following the first board meeting.
  • 26. OpenStack Distributions ‣ Linux Distributions ‣ Debian ‣ Fedora ‣ Red Hat ‣ SUSE ‣ Ubuntu ‣ Commercial Offerings ‣ CloudScaling ‣ Mirantis ‣ Nebula ‣ Piston ‣ Rackspace ‣ ...many more
  • 27. Grizzly Release ‣ 550 Developers ‣ 2500 conference attendees ‣ Red Hat, IBM, Rackspace ‣ Incubating: ‣ Commons: Oslo ‣ Metering: Ceilometer ‣ Orchestration: Heat • Ceilometer is a metering project. The project offers metering information and the ability to code more ways to know what has happened on an OpenStack cloud. While it provides metering, it is not a billing project. A full billing solution requires metering, rating, and billing. Metering lets you know what actions have taken place, rating enables pricing and line items, and billing gathers the line items to create a bill to send to the consumer and collect payment. Ceilometer is available as a preview. • Heat provides a REST API to orchestrate multiple cloud applications implementing standards such as AWS CloudFormation.
  • 28. Agenda • OpenStack Overview • Chef for OpenStack Overview • Knife OpenStack • Lunch 12:15 • Chef for OpenStack Grizzly Roadmap • Related Technologies • Code Walkthroughs
  • 29. Why Chef? I'm here to tell you
  • 30. Chef is Infrastructure as Code http://www.flickr.com/photos/louisb/4555295187/ • Programmatically provision and configure • Treat like any other code base • Reconstruct business from code repository, data backup, and bare metal resources. When dealing with Chef, need to literally “think outside the box”, by shifting your thinking about configuration away from a single system, to that of an Application Infrastructure. The concept of an Infrastructure is an abstract one with a specific technical meaning. When we talk about Infrastructure, we mean..
  • 31. Declarative Interface to Resources • Define policy • Say what, not how • Pull not Push http://www.flickr.com/photos/bixentro/2591838509/ Chef gives you declarative interfaces into the Resources on those Nodes. Being declarative means that you say what you want to do, instead of how to do it. For example, you declare that package foobar-1.2.3 should be installed, or that the directory /var/log/foobar should exist. Chef pulls down policy from the chef-server, ensuring that a node down for maintenance will receive its policy update when it comes back online.
  • 32. 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 end end Because we use a 3GL for the recipe config files, we can use features of ruby like case statements and iterative loops. Sysadmins don’t need to be afraid of Ruby, they’ve been dealing with sub-standard programming languages like configuration files for years. They’re also not limited to what the language tells them they can do.
  • 33. Recipes and Cookbooks • Recipes are collections of Resources • Cookbooks contain recipes, templates, files, custom resources, etc • Code re-use and modularity • Hundreds already on Community.opscode.com http://www.flickr.com/photos/shutterhacks/4474421855/
  • 34. The Chef Community • Apache License,Version 2.0 • 1300+ Individual contributors • 200+ Corporate contributors • Dell, DreamHost, HP, Rackspace, VMware, SUSE and many more • 900+ cookbooks • http://community.opscode.com Chef is hackable! Permissive Apache2 license, vibrant community of awesome folks. Community is very important to us. That's why we're here.
  • 35. http://www.flickr.com/photos/16339684@N00/2681435235/ Chef and OpenStack? That's great and all, but tell me about OpenStack! And a basic fact about Infrastructure -- it EVOLVES.
  • 36. 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 We've learned a lot of things.
  • 37. Overview & Status of Chef for OpenStack
  • 38. Chef for OpenStack:Who • Arista • AT&T • Baremetal Cloud • Calxeda • Dell • DreamHost • HP • HubSpot • IBM • Intel • Internap • Mercado Libre • Mirantis • NTT • Nebula • Nicira • Piston Cloud • Rackspace • SUSE • TryStack.org • Voxel • ...and more These companies are currently involved to some extent. Some are paying customers that we've done engagements with.
  • 39. 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
  • 40. Chef for OpenStack:What • Chef Repository for Deploying OpenStack • Documentation for Chef for OpenStack • Cookbooks • Keystone • Glance • Nova • Horizon • Swift • Quantum • Cinder • knife-openstack
  • 41. Chef for OpenStack:Where • #openstack-chef on irc.freenode.net • github.com/opscode/openstack-chef-repo • github.com/opscode-cookbooks/ • keystone, glance, nova, horizon, swift,quantum,cinder • github.com/opscode/knife-openstack • github.com/mattray/openstack-chef-docs • groups.google.com/group/opscode-chef- openstack • @chefopenstack
  • 42. • Chef repo for Essex/Grizzly • Operating Systems (Ubuntu 12.04) • Hypervisors (KVM, LXC) • Databases (MySQL) • Nova network FlatDHCP HA & VLAN • Quantum Nicira plugin available • Test Kitchen integration Chef for OpenStack:When (Today)
  • 43. Chef for OpenStack:When (Tomorrow) • Grizzly sprint scheduled in 2 weeks • Merging AT&T, DreamHost, HubSpot and Rackspace code • Documentation (docs.opscode.com)
  • 44. • Build packages from source • Continuous integration • Hypervisors (Hyper-V, bare metal) • Databases (PostgreSQL) • Cinder (Ceph) • Quantum (Midokura) • Operating Systems (RHEL, Debian, SUSE) • Documentation (docs.opscode.com) • HA Configurations Chef for OpenStack:When (Roadmap)
  • 45. Resources Chef for OpenStack Ecosystem Mercado Libre HP Rackspace Dell Trystack Voxel OpenStack
  • 46. AT&T • github.com/att-cloud/ • primary Folsom merge source • openstack-common • cinder (lvm, netapp, rbd) • lots of support cookbooks
  • 47. Crowbar • Hardware provisioning and application management platform • crowbar.github.com • Dell, SUSE, others • likely Swift cookbook source combined with Rackspace's
  • 49. • Nicira NVP cookbook • Open vSwitch cookbook • Development in progress by Opscode • github.com/gmiranda23/nvp-cookbook Nicira
  • 50. Rackspace Private Cloud • www.rackspace.com/cloud/private/ • github.com/rcbops/chef-cookbooks • primary Essex merge source • likely Red Hat source
  • 51. • Cookbooks reusable outside of OpenStack • Test Kitchen • knife-rackspace/hp • Crowbar, pxe_dust & Razor • Arista EOS cookbook • Berkshelf & Librarian • Spiceweasel & Sputnik Chef for OpenStack "Halo Effect"
  • 52. Why the Cloud? Why OpenStack? The solution to this perceived impediment to resources
  • 53. • Instant infrastructure • Unlimited capacity • Autoscaling • No commitment • Immediate replacement Why the Cloud? Enforces good architecture No long term commitment Cloud benefits – instant infrastructure Immediate replacement, no sparing etc. Unlimited storage, snapshots (1 TB volume limit) Provisioning APIs, autoscaling, EU storage, geodist Public, private, hybrid
  • 54. • Real Open Source • Anyone can play • Choice of features • Features achieving parity/ accelerating ahead Why OpenStack?
  • 55. Know our escape plan for every infrastructure provider "Drink the cloud Kool-aid, but only drink our Kool-aid" If there are problems that you have with your cloud provider... Not just the cloud
  • 56. Chef for Infrastructure Portability • knife ec2 • knife rackspace • knife hp • knife google • knife azure • knife cloudstack • knife openstack • knife vcloud • ... and many others From EC2 to Rackspace, HP or any other OpenStack provider
  • 57. • Vagrant • VMware • CloudStack • Eucalyptus • OpenStack • bare metal • AWS • Rackspace • HP • Google • Azure • many others Desktop,Virtualization, Private & Public Clouds Chef is hackable! Permissive Apache2 license, vibrant community of awesome folks. More than 360 individual contributors, over 70 corporate contributors. Community is very important to us. That's why we're here.
  • 58. • Vagrant • VMware • CloudStack • Eucalyptus • OpenStack • bare metal Desktop,Virtualization, Private & Public Clouds • AWS • Rackspace • HP • Google • Azure • many others Chef is hackable! Permissive Apache2 license, vibrant community of awesome folks. More than 360 individual contributors, over 70 corporate contributors. Community is very important to us. That's why we're here.
  • 59. Chef for OpenStack TL;DL • Project, not a product • Lots of contributors with real deployments in a vibrant ecosystem • Essex works, Grizzly soon • Features driven by demand • Documentation with examples • Do real work with OpenStack From EC2 to Rackspace, HP or any other OpenStack provider
  • 60. Agenda • OpenStack Overview • Chef for OpenStack Overview • Knife OpenStack • Lunch 12:15 • Chef for OpenStack Grizzly Roadmap • Related Technologies • Code Walkthroughs
  • 61. knife openstack Knife is our command line tool, literally a swiss army knife of cloud APIs It talks to the Chef server to manage your infrastructure, but it also talks to APIs like the OpenStack one So even if you're not managing your OpenStack layer, you have Chef to manage the components on top of it.
  • 62. knife openstack $ knife openstack Available openstack subcommands: (for details, knife SUB- COMMAND --help) ** OPENSTACK COMMANDS ** knife openstack flavor list (options) knife openstack group list (options) knife openstack image list (options) knife openstack server create (options) knife openstack server delete SERVER [SERVER] (options) knife openstack server list (options) This is a supported knife plugin for Chef, so we have ticket tracking and everything for it. It has the basics, server creation, deletion and listing available images and servers
  • 63. knife openstack flavor list $ knife openstack flavor list ID Name Virtual CPUs RAM Disk 1 m1.tiny 1 512 MB 0 GB 2 m1.small 1 2048 MB 10 GB 3 m1.medium 2 4096 MB 10 GB 4 m1.large 4 8192 MB 10 GB 5 m1.xlarge 8 16384 MB 10 GB update your knife.rb with ### Note: If you are not proxying HTTPS to the OpenStack EC2 API port, the scheme should be HTTP, and the PORT is 8773. you can get these from "knife node show blahblah -a nova"
  • 64. knife openstack group list $ knife openstack group list Name Protocol From To CIDR Description default tcp 22 22 0.0.0.0/0 default default icmp -1 -1 0.0.0.0/0 default haproxy tcp 22002 22002 0.0.0.0/0 22022
  • 65. knife openstack image list $ knife openstack image list ID Name 4a197431-503d-4b85-b61e-84af21ca8654 cirros-image f8ebb842-c0c0-4be3-8c4c-f72f48edec50 precise-image update your knife.rb with ### Note: If you are not proxying HTTPS to the OpenStack EC2 API port, the scheme should be HTTP, and the PORT is 8773. you can get these from "knife node show blahblah -a nova"
  • 66. knife openstack server create -h knife openstack server create (options) --bootstrap-version VERSION The version of Chef to install -N, --node-name NAME The Chef node name for your new node -s, --server-url URL Chef Server URL -k, --key KEY API Client Key --[no-]color Use colored output, defaults to enabled -c, --config CONFIG The configuration file to use --defaults Accept default values for all questions --disable-editing Do not open EDITOR, just accept the data as is -d, --distro DISTRO Bootstrap a distro using a template; default is 'chef-full' -e, --editor EDITOR Set the editor to use for interactive commands -E, --environment ENVIRONMENT Set the Chef environment -f, --flavor FLAVOR_ID The flavor ID of server (m1.small, m1.medium, etc) -a, --floating-ip [IP] Request to associate a floating IP address to the new OpenStack node. Assumes IPs have been allocated to the project. Specific IP is optional. -F, --format FORMAT Which format to use for output --[no-]host-key-verify Verify host key, enabled by default -i IDENTITY_FILE, The SSH identity file used for authentication --identity-file -I, --image IMAGE_ID The image ID for the server -u, --user USER API Client Username --openstack-api-endpoint ENDPOINT Your OpenStack API endpoint --insecure Ignore SSL certificate on the Auth URL -K, --openstack-password SECRET Your OpenStack Password -T, --openstack-tenant NAME Your OpenStack Tenant NAME -A, --openstack-username KEY Your OpenStack Username --prerelease Install the pre-release chef gems --print-after Show the data after a destructive operation --private-network Use the private IP for bootstrapping rather than the public IP -r, --run-list RUN_LIST Comma separated list of roles/recipes to apply -G, --groups X,Y,Z The security groups for this server -S, --ssh-key KEY The OpenStack SSH keypair id -P, --ssh-password PASSWORD The ssh password -x, --ssh-user USERNAME The ssh username --template-file TEMPLATE Full path to location of template to use -V, --verbose More verbose output. Use twice for max verbosity -v, --version Show chef version -y, --yes Say yes to all prompts for confirmation -h, --help Show this message update your knife.rb with ### Note: If you are not proxying HTTPS to the OpenStack EC2 API port, the scheme should be HTTP, and the PORT is 8773. you can get these from "knife node show blahblah -a nova"
  • 67. $ knife openstack server list Instance ID Name Public IP Private IP Flavor Image Keypair State 08f2d9f7-eeb0-45e7-8562-63aed8f096cc os-45539345723309377 50.56.12.229 2 737969f8-6091-4896-ba9c-f3cf63bd25c5 rs-demo active 43c6bbf5-b397-4986-8aec-392d955ce5b1 os-9924426691020416 50.56.12.232 2 737969f8-6091-4896-ba9c-f3cf63bd25c5 rs-demo active c1b9e3df-e566-4378-8a52-ed998b516608 os-553425714287088 50.56.12.230 2 737969f8-6091-4896-ba9c-f3cf63bd25c5 rs-demo active f3edc5da-ef99-4acb-a141-d957e09809e3 os-07459550287500682 50.56.12.231 2 737969f8-6091-4896-ba9c-f3cf63bd25c5 rs-demo active knife openstack server list How did we get to the point where we can build a multi-tiered, monitored infrastructure?
  • 68. knife openstack server create -a -f 2 -I 737969f8-6091-4896-ba9c-f3cf63bd25c5 -S rs-demo -i ~/.ssh/rs-demo.pem -x ubuntu -r "role[base]" knife openstack server create How did we get to the point where we can build a multi-tiered, monitored infrastructure?
  • 69. knife openstack server create Instance Name: os-45539345723309377 Instance ID: 08f2d9f7-eeb0-45e7-8562-63aed8f096cc Waiting for server......... Flavor: 2 Image: 737969f8-6091-4896-ba9c-f3cf63bd25c5 SSH Identity File: /Users/mray/.ssh/rs-demo.pem SSH Keypair: rs-demo Public IP Address: 10.241.0.12 Floating IP Address: 50.56.12.229 Waiting for sshd.....done Bootstrapping Chef on 50.56.12.229 Instance Name: os-45539345723309377 Instance ID: 08f2d9f7-eeb0-45e7-8562-63aed8f096cc Flavor: 2 Image: 737969f8-6091-4896-ba9c-f3cf63bd25c5 SSH Keypair: rs-demo Public IP Address: 50.56.12.229 Environment: _default Run List: role[base] update your knife.rb with ### Note: If you are not proxying HTTPS to the OpenStack EC2 API port, the scheme should be HTTP, and the PORT is 8773. you can get these from "knife node show blahblah -a nova"
  • 70. How did we get to the point where we can build a multi-tiered, monitored infrastructure?
  • 71. How did we get to the point where we can build a multi-tiered, monitored infrastructure?
  • 72. knife-openstack compatibility • Uses the OpenStack API • Diablo, Essex, Folsom, Grizzly • Cloudscaling • Crowbar • DreamHost • Nebula • Piston • Rackspace Private Cloud
  • 73. knife-openstack Roadmap • github.com/opscode/knife-openstack • docs.opscode.com/plugin_knife_openstack.html • tickets.opscode.com/browse/KNIFE/component/ • windows support • floating IP address management • quantum network management
  • 74. Agenda • OpenStack Overview • Chef for OpenStack Overview • Knife OpenStack • Lunch 12:15 • Chef for OpenStack Grizzly Roadmap • Related Technologies • Code Walkthroughs
  • 75. Agenda • OpenStack Overview • Chef for OpenStack Overview • Knife OpenStack • Lunch 12:15 • Chef for OpenStack Grizzly Roadmap • Related Technologies • Code Walkthroughs
  • 76. Who was there • AT&T • Dell • DreamHost • HubSpot • KT • Midokura • Opscode • Rackspace • SUSE There had been several days of conversations, these companies were all represented in the meeting. Missing: eNovance, HP, IBM, KIO, Mirantis
  • 77. Where • #openstack-chef on irc.freenode.net • groups.google.com/group/opscode-chef- openstack • github.com/mattray/openstack-chef-docs • @chefopenstack The resources we're using
  • 78. Licensing • Apache 2 • Opscode CLA/CCLA required • http://wiki.opscode.com/display/chef/ How+to+Contribute • http://wiki.opscode.com/display/chef/ Approved+Contributors Attendees were all covered already
  • 79. Where on GitHub • http://github.com/osops • chef-repo/ • berkshelf, not git submodules • cookbooks all end in "-cookbook" • ie. "nova-cookbook" • "operations" cookbooks outside scope • ie. logging, monitoring, provisioning Move to community GitHub repo, not Opscode's. Opscode will upstream from this repo.
  • 80. Cookbooks • cinder • glance • horizon • keystone • nova • quantum • swift • ceilometer & heat eventually The core OpenStack services
  • 81. Goal of incorporating into OpenStack • Get on StackForge • will provide CI • which everyone will probably slave • Gerrit for code reviews • we'll sort out reviewers once we start • Testing with TestKitchen initially • Grenade? Kong? SmokeStack? We want to go into "mainline" OpenStack
  • 82. • support alternative package sources • source-built coming ("VanillaStack") • packaging recipes before configuration • ie. "nova/recipes/nova-compute-packages" Packages Use distro packages were applicable, but not everyone wants to use them. Build from source will come in eventually.
  • 83. Chef Style Guide • Chef 11 target release • partial search • partial templates • Full-stack Chef-client compatible • Ruby 1.9.x • Upstream community cookbooks • Foodcritic as much as possible Table stakes
  • 84. Chef Style Guide • openstack-common instead of osops-utils • Attribute injection • attributes may short-circuit search • few, if any, attributes in roles • environment-driven attributes • Chef Solo not actively supported • platform logic in attributes files Already using these patterns
  • 85. • May release "2013.1.0" • Chef repo for Grizzly • Operating Systems (Ubuntu 12.04) • Databases (MySQL) • Hypervisors (KVM, LXC) • Nova network FlatDHCP HA & VLAN Initial osops release Opscode employee Matt Ray and Chris McClimans are getting together after ChefConf to work on cleaning up Grizzly. Sources will be AT&T, Dell, HubSpot and Rackspace primarily.
  • 86. • Operating Systems (RHEL, SUSE) • Databases (Postgres) • Hypervisors (Xen, bare metal) • Cinder (Ceph, LVM, NetApp) • Quantum (Bridge, Midokura, Nicira, OVS) • Folsom backport • HA Configurations may be stretch goal because of differing implementations Grizzly Roadmap SUSE: SLES, OpenSUSE, Postgres KT: Xen HubSpot: bare metal DreamHost: Ceph AT&T: LVM Rackspace: Bridge, NetApp, OVS, RHEL Opscode: Nicira Midokura: Folsom, MidoNet AT&T, SUSE, Rackspace different HA setups
  • 87. knife-openstack v0.7.0 $ knife openstack Available openstack subcommands: (for details, knife SUB- COMMAND --help) ** OPENSTACK COMMANDS ** knife openstack flavor list (options) knife openstack group list (options) knife openstack image list (options) knife openstack server create (options) knife openstack server delete SERVER [SERVER] (options) knife openstack server list (options) Currently supported features.
  • 88. knife-openstack compatibility • Uses the OpenStack API • Diablo, Essex, Folsom, Grizzly • Cloudscaling • Crowbar • DreamHost • Nebula • Piston • Rackspace Private Cloud Continue to test for compatibility, will build out CI testing for Opscode-supported knife plugins.
  • 89. knife-openstack Roadmap • github.com/opscode/knife-openstack • docs.opscode.com/plugin_knife_openstack.html • tickets.opscode.com/browse/KNIFE/ component/ • Continues to be managed by Opscode • Test against multiple OpenStack deployments for compatibility • next major release v0.8.0 (May) • floating IP address management • network assignment on server creates More features will undoubtedly show up
  • 90. • Submit talk "Chef for OpenStack Fall 2013 Overview & Status" • Review this deck • Report progress • Submit for developer track session as well • See you in Hong Kong! Fall 2013 OpenStack Summit We'll see what actually happens in November.
  • 91. Agenda • OpenStack Overview • Chef for OpenStack Overview • Knife OpenStack • Lunch 12:15 • Chef for OpenStack Grizzly Roadmap • Related Technologies • Code Walkthroughs
  • 92. Berkshelf • http://berkshelf.com/ • tool for managing your Chef Cookbooks and their dependencies • Community site, Git, local development • Berksfile managed in version control
  • 93. Spiceweasel • https://github.com/mattray/spiceweasel • manages your Chef repositories and creating reproducible infrastructure • nodes, cookbooks, roles, data bags & environments with a version controlled manifest • validates dependencies • allows extraction and creation of infrastructure • lightweight orchestration and cluster management • Sputnik Cloud Launcher • fills gap between the documentation and deployment of your Chef repository & infrastructure
  • 94. Rackspace Private Cloud • http://www.rackspace.com/cloud/private/ • https://github.com/rcbops-cookbooks/ • Session: Deploying OpenStack with Chef and Operational Tooling
  • 95. Test Kitchen • kitchen-openstack • https://github.com/RoboticCheese/kitchen-openstack • Session: Test Kitchen: Multi-Platform Integration Testing for the Masses
  • 96. pxe_dust • Provisioning solution for hardware • Initially developed by Matt Ray • https://github.com/opscode-cookbooks/pxe_dust • pxe_dust::bootstrap_template • pxe_dust::installers • pxe_dust::server
  • 97. Crowbar • Provisioning solution for hardware • Initially developed by Dell • crowbar.github.com • Barclamps! • 1.0 vs. 2.0
  • 98. Razor • Provisioning solution for hardware • Initially developed by EMC and Puppet • Open sourced as a Puppet Labs project • Install using Puppet, Chef, or manual • Auto-Discovered Real-Time Inventory Data • Dynamic Image Selection • Model-Based Provisioning • APIs and Plug-in Architecture • Metal-to-Cloud Application Lifecycle Management • Session: Harnessing the Power of Bare Metal with Razor and Chef Server
  • 99. OpenStack Baremetal • https://wiki.openstack.org/wiki/Baremetal • driver to allow OpenStack Compute to manage hardware directly (Grizzly) • provisioned via PXE and managed via IPMI • OpenStack Compute manages them via the Dashboard, CLI and API • OpenStack on OpenStack (aka "Triple-O") • authentication, authorization, quotas, a dashboard and an API provided by OpenStack • roadmap has device discovery, network management and additional hardware features
  • 100. Agenda • OpenStack Overview • Chef for OpenStack Overview • Knife OpenStack • Lunch 12:15 • Chef for OpenStack Grizzly Roadmap • Related Technologies • Code Walkthroughs
  • 101. currently Folsom release (v3.0.1) open source Chef 11 server embedded http://www.rackspace.com/cloud/private/ https://github.com/rcbops https://github.com/rcbops-cookbooks/ Rackspace Private Cloud
  • 105. environments/example.json { "name": "example_environment", "description": "Chef-server example environment", "cookbook_versions": { }, "json_class": "Chef::Environment", "chef_type": "environment", "default_attributes": { }, "override_attributes": { "developer_mode": false, "monitoring" : { "metric_provider" : "collectd", "procmon_provider" : "monit" }, "glance": { "image_upload": true, "images": ["cirros", "precise"] },
  • 106. environments/example.json"nova": { "ratelimit" : { "api" : { "enabled" : true }, "volume" : { "enabled" : true } }, "libvirt": { "virt_type": "qemu" }, "networks": [ { "label": "public", "ipv4_cidr": "10.10.100.0/24", "num_networks": "1", "network_size": "255", "bridge": "br100", "bridge_dev": "eth0.100", "dns1": "8.8.8.8", "dns2": "8.8.4.4" }, { "label": "private", "ipv4_cidr": "172.16.101.0/24", "num_networks": "1", "network_size": "255", "bridge": "br101", "bridge_dev": "eth0.101", "dns1": "8.8.8.8", "dns2": "8.8.4.4" } ] },
  • 107. environments/example.json "mysql": { "allow_remote_root": true, "root_network_acl": "%" }, "osops_networks": { "nova": "192.168.1.0/24", "public": "192.168.1.0/24", "management": "192.168.1.0/24" }, "package_component": "folsom" } }
  • 108. roles/ allinone.rb base.rb cinder-all.rb cinder-api.rb cinder-scheduler.rb cinder-setup.rb cinder-volume.rb collectd-client.rb collectd-server.rb glance-api.rb glance-registry.rb glance-setup.rb glance.rb graphite.rb ha-controller1.rb ha-controller2.rb haproxy.rb horizon-server.rb jenkins-allinone.rb jenkins-compute.rb jenkins-controller.rb jenkins-glance.rb jenkins-mysql-master.rb jenkins-nova-api.rb keystone-api.rb keystone.rb mysql-master.rb nova-api-ec2.rb nova-api-os-compute.rb nova-api.rb nova-cert.rb nova-controller.rb nova-misc-services.rb nova-network-compute.rb nova-network-controller.rb nova-network.rb nova-scheduler.rb nova-setup.rb nova-vncproxy.rb nova-volume.rb openstack-ha.rb quantum-network-manager.rb rabbitmq-server.rb rsyslog-client.rb rsyslog-server.rb single-compute.rb single-controller.rb swift-account-server.rb swift-all-in-one.rb swift-container-server.rb swift-management-server.rb swift-object-server.rb swift-proxy-server.rb swift-setup.rb
  • 109. roles/allinone.rb name "allinone" description "This will create an all-in-one Openstack cluster" run_list( "role[single-controller]", "role[single-compute]" )
  • 110. expanded run list osops-utils::packages, openssh, ntp, sosreport, rsyslog::default, hardware, osops-utils::default, mysql-openstack::server, erlang::default, rabbitmq-openstack::server, keystone::server, keystone::keystone-api, glance::setup, glance::registry, glance::api, nova::nova-setup, nova-network::nova-controller, nova::scheduler, nova::api-ec2, nova::api-os-compute, nova::volume, nova::nova-cert, nova::vncproxy, mysql::client, mysql::ruby, horizon::server, nova-network::nova-compute, nova::compute
  • 111. roles/single-controller name "single-controller" description "Nova Controller (non-HA)" run_list( "role[base]", "role[mysql-master]", "role[rabbitmq-server]", "role[keystone]", "role[glance-setup]", "role[glance-registry]", "role[glance-api]", "role[nova-setup]", "role[nova-network-controller]", "role[nova-scheduler]", "role[nova-api-ec2]", "role[nova-api-os-compute]", "role[nova-volume]", "role[nova-cert]", "role[nova-vncproxy]", "role[horizon-server]" )
  • 112. roles/base name "base" description "Base role for a server" run_list( "recipe[osops-utils::packages]", "recipe[openssh]", "recipe[ntp]", "recipe[sosreport]", "recipe[rsyslog::default]", "recipe[hardware]", "recipe[osops-utils::default]" ) default_attributes( "ntp" => { "servers" => ["0.pool.ntp.org", "1.pool.ntp.org", "2.pool.ntp.org"] } )
  • 113. roles/mysql-master name "mysql-master" description "Installs mysql and sets up replication (if 2 nodes with role)" run_list( "role[base]", "recipe[mysql-openstack::server]" )
  • 114. roles/rabbitmq-server name "rabbitmq-server" description "RabbitMQ Server (non-ha)" run_list( "role[base]", "recipe[erlang::default]", "recipe[rabbitmq-openstack::server]" )
  • 115. roles/keystone name "keystone" description "Keystone server" run_list( "role[base]", "recipe[keystone::server]", "role[keystone-api]" )
  • 116. roles/glance-setup name "glance-setup" description "sets up glance registry db and passwords" run_list( "role[base]", "recipe[glance::setup]" )
  • 117. roles/glance-registry name "glance-registry" description "Glance Registry server" run_list( "role[base]", "recipe[glance::registry]" )
  • 118. roles/glance-api name "glance-api" description "Glance API server" run_list( "role[base]", "recipe[glance::api]" )
  • 119. roles/nova-setup name "nova-setup" description "Where the setup operations for nova get run" run_list( "recipe[nova::nova-setup]" )
  • 120. /nova-network-controller name "nova-network-controller" description "Setup nova-networking for controller node" run_list( "recipe[nova-network::nova-controller]" )
  • 121. roles/nova-scheduler name "nova-scheduler" description "Nova scheduler" run_list( "role[base]", "recipe[nova::scheduler]" )
  • 122. roles/nova-api-ec2 name "nova-api-ec2" description "Nova API EC2" run_list( "role[base]", "recipe[nova::api-ec2]" )
  • 123. /nova-api-os-compute name "nova-api-os-compute" description "Nova API for Compute" run_list( "role[base]", "recipe[nova::api-os-compute]" )
  • 124. roles/nova-volume name "nova-volume" description "Nova Volume Service" run_list( "role[base]", "recipe[nova::volume]" )
  • 125. roles/nova-cert name "nova-cert" description "Nova Certificate Service" run_list( "role[base]", "recipe[nova::nova-cert]" )
  • 126. roles/nova-vncproxy name "nova-vncproxy" description "Nova VNC Proxy" run_list( "role[base]", "recipe[nova::vncproxy]" )
  • 127. roles/horizon-server name "horizon-server" description "Horizon server" run_list( "role[base]", "recipe[mysql::client]", "recipe[mysql::ruby]", "recipe[horizon::server]" )
  • 128. roles/single-compute name "single-compute" description "Nova compute (with non-HA Controller)" run_list( "role[base]", "role[nova-network-compute]", "recipe[nova::compute]" )