SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
Automating CloudStack with Puppet



      Puppet Camp Silicon Valley
             David Nalley
           david@gnsa.us
              @ke4qqq
#whoami
    Recovering sysadmin
    Committer on Apache CloudStack
    Fedora Project Contributor
    Fan of “The Phoenix Project”
The plan
   Overview of Apache CloudStack
   Using puppet to manage your CloudStack-based VMs
   Using puppet to manage your VM deployment.
What is CloudStack?
   Open source IaaS platform
   ASLv2 licensed
   History tl;dr
      began development in 2008
      production deployments by 2009
      open sourced in 2010
      moved to ASF in 2012
Design goals
   Integrate with untold number of yet to be identified hardware.
   Provide an API platform on which to run cloud operations.
   Orchestrate hardware resources that may be protected by a
    firewall.
   Horizontally scalable management layer.
   Enable the best data paths to accomplish cloud operations.
   A beautiful and functional UI
Architectural Overview
   Division of physical resources
   Storage
   Borg drones VMs
   Networking
   Management and orchestration
Physical hosts
   Hypervisors
      KVM
      Xenserver
      XCP
      VMware
   Baremetal (with IPMI)
Clusters
   Collections of hosts
   Typically 1-15 hosts in a cluster
   Homogenity
      Network
      Hypervisor
      CPU type
Clusters
   Hosts share storage
   Fault domain for individual VM availability
   Lowest level for allocation decisions
Pods
   Collection of clusters
   Typically a rack or row of racks
   Can contain multiple types of hypervisors
   Largely just an arbitrary division
Zones
   Typically a datacenter
   Single networking model within a zone
   Visible to the end user
Storage
   CloudStack doesn't really provide storage, but does consume
    and orchestrate it.
Local Storage
   Typically faster than SAN/NAS
   Failure of a host means loss of a VM
   Can be far more scalable than trying to scale a large traditional
    storage platform
Primary (shared) storage
   Shared at the cluster level
   Where running disk images live
   All hosts in the cluster can write to the resource
   Most commonly NFS and iSCSI, but essentially anything the
    hypervisor can mount
   'New' storage types like Ceph RBD
Secondary Storage
   Primary storage is focused on running VMs, Secondary
    storage is focused on immutable items.
      Snapshots
      Disk images
      ISOs
   Zone wide storage resource
   Can employ object storage
Borg drone VMs
Console Proxy VM
   AJAX-based VNC console access
   Allows CloudStack to deal with auth{n,z} for console access.
   Abstracts away hypervisor access
   Not a replacement for ssh/RDP but no more painful than
    DRAC/iLO
   Stateless; horizontally scalable
Secondary Storage VM
   Secondary Storage is the resource, the SSVM that handles the following operations:
      Copying snapshots from primary to secondary storage
      Copying disk images from secondary to primary storage
      Making all items stored in secondary storage downloadable and a place to transfer
      items into secondary storage
      Aging the snapshots according to policy
Networking Model: VLANs
   Traditional L2 isolation
   CloudStack given a block of VLANs and allocates them on
    demand
   Each account gets allocated at least one VLAN.
   Inherent limitations of VLANs
Networking model: L3 Isolation
   L3 isolation; aka Security Groups
   Pushes ACLs down to each hypervisor host
   Far more scalable, decentralized (more Borg)
   Filter at the bridge device
Security Groups
Security Groups
Network Model: SDN
   OVS (GRE overlay tunnels)
   Nicira NVP
   Others rapidly appearing:
      BigSwitch
      Midokura
Virtual networking hardware
   DHCP
   VLAN allocation
   Firewall
   NAT/Port forwarding
   Routing
   VPN
   Load Balancing
Virtual networking hardware
   Cisco Nexus 1000v
   NetScaler VPX
   F5 Big IP virtual edition
Physical networking hardware
   Juniper SRX
   F5 BigIP LB
   NetScaler
Management Server
   Management server is stateless, horizontally scalable platform
    for orchestrating all of the resources.
   Provides isolation in what is assumed to be a multi-tenant
    environment
UI
API
   EC2/S3 translation layer
   CloudStack native API:
      http://incubator.apache.org/cloudstack/docs/api
More info
   http://incubator.apache.org/cloudstack
   #cloudstack on irc.freenode.net
   cloudstack-users-subscribe@incubator.apache.org
Using puppet to manage VMs
   Being able to deploy 500 VMs in 10 minutes means you need
    some method to classify and apply configuration management.
   Most of the work for this awesomeness was done by Jason
    Hancock (@jsnby)
A couple of upfront goals
   Minimize the number of templates
   Have all instances receive config via Puppet
   Zero manual intervention
Make one API call to launch a VM, and get out of the way and
 watch the automation do wonderful things.
A word about auto-signing
   You can use auto-signing.
   Automatically signs any cert from a given domain
   Potential security issues if folks can connect to your
    puppetmaster
   You can pre-seed templates with a signed key - but there are
    gotchas
Run puppet ASAP
   Turn off splay - you want to minimize the time that the box
    remains unconfigured.
   Make sure puppet is configured to start on boot (enable the
    service, not cron)
Classifying nodes - options
   {site,node}.pp
   hostname-based regex
   PE/Dashboard
   ENC
   facts
   $other_things
facts
What to base a fact on...
           http://incubator.apache.org/cloudstack/docs/api/apidocs-4.0.0/user/deployVirtualMachine.html



userdata                                                 an optional binary data that can be sent to the virtual
                                                         machine upon a successful deployment. This binary data
                                                         must be base64 encoded before adding it to the request.
                                                         Currently only HTTP GET is supported. Using HTTP GET
                                                         (via querystring), you can send up to 2KB of data after
                                                         base64 encoding.
Sample userdata
role=webserver
location=datacenter1
environment=production
Custom fact for userdata
   http://s.apache.org/acs_userdata
Implementing ::role in puppet
Everyone is a default node.
No need to add nodes to site.pp or use an ENC.
Sample, skeletonized, site.pp
import 'base'


node default {
include base
}
Sample, skeletonized, base.pp
class base.pp {
# Includes that apply to all machines


case $::role {
 'somerole': {
     include somemodule
 }
 'otherrole': {
     include someothermodule
 }
This is only the beginning...
   Setting environment, purging terminated instances, and more.
   Check out Jason's blog: http://geek.jasonhancock.com
Making puppet deploy your infrastructure in
                   CloudStack
   Most of the real work that follows was done by Dan Bode.
deployVirtualMachine API
   CloudStack provides an API for provisioning machines.
Puppet...
   converts freshly provisioned VMs into functional machines
    ready to do work.
When combined....
you can start from nothing, deploy the machines and wind up with
 a completely automated deployment system.
CloudStack resources in puppet
https://github.com/bodepd/cloudstack_resources


Still a bit raw....potentially unstable, use with caution, file bug
 reports and patches.
Defining application stacks
class my_app_stack {
cloudstack_instance {'web1':
    ensure => present,
    group   => 'role=web',
}
cloudstack_instance {'db1':
    ensure => present,
    group   => 'role=db',
}
Setting defaults
Cloudstack_instance {
image    => 'Fedora18_x86_64',
flavor   => 'm1.medium',
zone     => 'SanJose',
network => 'default own',
keypair => 'my_secret_keypair',
}
cloudstack_instance { 'web1':
ensure => $::ensure,
group => 'role=web',
Now machines and their configuration are deployable all from
 puppet.


(This also exists for GCE and OpenNebula.)
Automating CloudStack Deployments with Puppet

Más contenido relacionado

La actualidad más candente

Service Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleService Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleIsaac Christoffersen
 
ILM - Pipeline in the cloud
ILM - Pipeline in the cloudILM - Pipeline in the cloud
ILM - Pipeline in the cloudAaron Carey
 
Ansible fest Presentation slides
Ansible fest Presentation slidesAnsible fest Presentation slides
Ansible fest Presentation slidesAaron Carey
 
Introduction to Packer and Suitcase: A Packer-based OS Image Build System
Introduction to Packer and Suitcase: A Packer-based OS Image Build SystemIntroduction to Packer and Suitcase: A Packer-based OS Image Build System
Introduction to Packer and Suitcase: A Packer-based OS Image Build SystemHubSpot Product Team
 
Puppet and the HashiCorp Suite
Puppet and the HashiCorp SuitePuppet and the HashiCorp Suite
Puppet and the HashiCorp SuiteBram Vogelaar
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansiblefmaccioni
 
Openstack study-nova-02
Openstack study-nova-02Openstack study-nova-02
Openstack study-nova-02Jinho Shin
 
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in ActionAmazon EC2 Container Service in Action
Amazon EC2 Container Service in ActionRemotty
 
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013Puppet
 
An intro to Docker, Terraform, and Amazon ECS
An intro to Docker, Terraform, and Amazon ECSAn intro to Docker, Terraform, and Amazon ECS
An intro to Docker, Terraform, and Amazon ECSYevgeniy Brikman
 
Usecase examples of Packer
Usecase examples of Packer Usecase examples of Packer
Usecase examples of Packer Hiroshi SHIBATA
 
Kubernetes Boston — Custom High Availability of Kubernetes
Kubernetes Boston — Custom High Availability of KubernetesKubernetes Boston — Custom High Availability of Kubernetes
Kubernetes Boston — Custom High Availability of KubernetesMike Splain
 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!David Lapsley
 
A Introduction of Packer
A Introduction of PackerA Introduction of Packer
A Introduction of PackerFreyr Lin
 
Automation with Ansible and Containers
Automation with Ansible and ContainersAutomation with Ansible and Containers
Automation with Ansible and ContainersRodolfo Carvalho
 
How to operate containerized OpenStack
How to operate containerized OpenStackHow to operate containerized OpenStack
How to operate containerized OpenStackNalee Jang
 
Rackspace Hack Night - Vagrant & Packer
Rackspace Hack Night - Vagrant & PackerRackspace Hack Night - Vagrant & Packer
Rackspace Hack Night - Vagrant & PackerMarc Cluet
 
Terraform in deployment pipeline
Terraform in deployment pipelineTerraform in deployment pipeline
Terraform in deployment pipelineAnton Babenko
 

La actualidad más candente (20)

Service Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleService Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and Ansible
 
ILM - Pipeline in the cloud
ILM - Pipeline in the cloudILM - Pipeline in the cloud
ILM - Pipeline in the cloud
 
Ansible fest Presentation slides
Ansible fest Presentation slidesAnsible fest Presentation slides
Ansible fest Presentation slides
 
Introduction to Packer and Suitcase: A Packer-based OS Image Build System
Introduction to Packer and Suitcase: A Packer-based OS Image Build SystemIntroduction to Packer and Suitcase: A Packer-based OS Image Build System
Introduction to Packer and Suitcase: A Packer-based OS Image Build System
 
Puppet and the HashiCorp Suite
Puppet and the HashiCorp SuitePuppet and the HashiCorp Suite
Puppet and the HashiCorp Suite
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansible
 
Openstack study-nova-02
Openstack study-nova-02Openstack study-nova-02
Openstack study-nova-02
 
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in ActionAmazon EC2 Container Service in Action
Amazon EC2 Container Service in Action
 
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
 
An intro to Docker, Terraform, and Amazon ECS
An intro to Docker, Terraform, and Amazon ECSAn intro to Docker, Terraform, and Amazon ECS
An intro to Docker, Terraform, and Amazon ECS
 
Usecase examples of Packer
Usecase examples of Packer Usecase examples of Packer
Usecase examples of Packer
 
Kubernetes Boston — Custom High Availability of Kubernetes
Kubernetes Boston — Custom High Availability of KubernetesKubernetes Boston — Custom High Availability of Kubernetes
Kubernetes Boston — Custom High Availability of Kubernetes
 
Carlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD ParisCarlos Conde : AWS Game Days - TIAD Paris
Carlos Conde : AWS Game Days - TIAD Paris
 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!
 
A Introduction of Packer
A Introduction of PackerA Introduction of Packer
A Introduction of Packer
 
Automation with Ansible and Containers
Automation with Ansible and ContainersAutomation with Ansible and Containers
Automation with Ansible and Containers
 
How to operate containerized OpenStack
How to operate containerized OpenStackHow to operate containerized OpenStack
How to operate containerized OpenStack
 
Rackspace Hack Night - Vagrant & Packer
Rackspace Hack Night - Vagrant & PackerRackspace Hack Night - Vagrant & Packer
Rackspace Hack Night - Vagrant & Packer
 
Packer
PackerPacker
Packer
 
Terraform in deployment pipeline
Terraform in deployment pipelineTerraform in deployment pipeline
Terraform in deployment pipeline
 

Destacado

Puppet and Apache CloudStack
Puppet and Apache CloudStackPuppet and Apache CloudStack
Puppet and Apache CloudStackPuppet
 
PuppetConf 2017: Puppet Platform: A Path Forward- Eric Sorenson, Puppet
PuppetConf 2017: Puppet Platform: A Path Forward- Eric Sorenson, PuppetPuppetConf 2017: Puppet Platform: A Path Forward- Eric Sorenson, Puppet
PuppetConf 2017: Puppet Platform: A Path Forward- Eric Sorenson, PuppetPuppet
 
Rapid scaling in_the_cloud_with_puppet
Rapid scaling in_the_cloud_with_puppetRapid scaling in_the_cloud_with_puppet
Rapid scaling in_the_cloud_with_puppetCarl Caum
 
PuppetConf 2017: Hiera 5: The Full Data Enchilada- Hendrik Lindberg, Puppet
PuppetConf 2017: Hiera 5: The Full Data Enchilada- Hendrik Lindberg, PuppetPuppetConf 2017: Hiera 5: The Full Data Enchilada- Hendrik Lindberg, Puppet
PuppetConf 2017: Hiera 5: The Full Data Enchilada- Hendrik Lindberg, PuppetPuppet
 
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, Puppet
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, PuppetPuppetConf 2017: The Changing Role of Operations- Michael Stahnke, Puppet
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, PuppetPuppet
 
Automating CloudStack and hypervisor installation and configuration
Automating CloudStack and hypervisor installation and configurationAutomating CloudStack and hypervisor installation and configuration
Automating CloudStack and hypervisor installation and configurationDag Sonstebo
 

Destacado (6)

Puppet and Apache CloudStack
Puppet and Apache CloudStackPuppet and Apache CloudStack
Puppet and Apache CloudStack
 
PuppetConf 2017: Puppet Platform: A Path Forward- Eric Sorenson, Puppet
PuppetConf 2017: Puppet Platform: A Path Forward- Eric Sorenson, PuppetPuppetConf 2017: Puppet Platform: A Path Forward- Eric Sorenson, Puppet
PuppetConf 2017: Puppet Platform: A Path Forward- Eric Sorenson, Puppet
 
Rapid scaling in_the_cloud_with_puppet
Rapid scaling in_the_cloud_with_puppetRapid scaling in_the_cloud_with_puppet
Rapid scaling in_the_cloud_with_puppet
 
PuppetConf 2017: Hiera 5: The Full Data Enchilada- Hendrik Lindberg, Puppet
PuppetConf 2017: Hiera 5: The Full Data Enchilada- Hendrik Lindberg, PuppetPuppetConf 2017: Hiera 5: The Full Data Enchilada- Hendrik Lindberg, Puppet
PuppetConf 2017: Hiera 5: The Full Data Enchilada- Hendrik Lindberg, Puppet
 
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, Puppet
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, PuppetPuppetConf 2017: The Changing Role of Operations- Michael Stahnke, Puppet
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, Puppet
 
Automating CloudStack and hypervisor installation and configuration
Automating CloudStack and hypervisor installation and configurationAutomating CloudStack and hypervisor installation and configuration
Automating CloudStack and hypervisor installation and configuration
 

Similar a Automating CloudStack Deployments with Puppet

Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppetbuildacloud
 
Chef and Apache CloudStack (ChefConf 2014)
Chef and Apache CloudStack (ChefConf 2014)Chef and Apache CloudStack (ChefConf 2014)
Chef and Apache CloudStack (ChefConf 2014)Jeff Moody
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platformnirajrules
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISORVanika Kapoor
 
CloudStack Build A Cloud Day (SCaLE 2013)
CloudStack Build A Cloud Day (SCaLE 2013)CloudStack Build A Cloud Day (SCaLE 2013)
CloudStack Build A Cloud Day (SCaLE 2013)Clayton Weise
 
Docker Based Hadoop Provisioning
Docker Based Hadoop ProvisioningDocker Based Hadoop Provisioning
Docker Based Hadoop ProvisioningDataWorks Summit
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackJesse Andrews
 
Tlu introduction-to-cloud
Tlu introduction-to-cloudTlu introduction-to-cloud
Tlu introduction-to-cloudVan Phuc
 
kata-containers-onboarding-deck.pptx
kata-containers-onboarding-deck.pptxkata-containers-onboarding-deck.pptx
kata-containers-onboarding-deck.pptxQforQA
 
The Lies We Tell Our Code (#seascale 2015 04-22)
The Lies We Tell Our Code (#seascale 2015 04-22)The Lies We Tell Our Code (#seascale 2015 04-22)
The Lies We Tell Our Code (#seascale 2015 04-22)Casey Bisson
 
Virtual machines and containers
Virtual machines and containersVirtual machines and containers
Virtual machines and containersPatrick Pierson
 
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18Casey Bisson
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparisonbizalgo
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Partner S.A.
 
Silicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStackSilicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStackShapeBlue
 
Docker based Hadoop provisioning - Hadoop Summit 2014
Docker based Hadoop provisioning - Hadoop Summit 2014 Docker based Hadoop provisioning - Hadoop Summit 2014
Docker based Hadoop provisioning - Hadoop Summit 2014 Janos Matyas
 

Similar a Automating CloudStack Deployments with Puppet (20)

Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppet
 
Chef and Apache CloudStack (ChefConf 2014)
Chef and Apache CloudStack (ChefConf 2014)Chef and Apache CloudStack (ChefConf 2014)
Chef and Apache CloudStack (ChefConf 2014)
 
Deltacloud API
Deltacloud APIDeltacloud API
Deltacloud API
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
 
vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28
vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28
vBACD - Deploying Infrastructure-as-a-Service with CloudStack - 2/28
 
CloudStack Build A Cloud Day (SCaLE 2013)
CloudStack Build A Cloud Day (SCaLE 2013)CloudStack Build A Cloud Day (SCaLE 2013)
CloudStack Build A Cloud Day (SCaLE 2013)
 
Docker Based Hadoop Provisioning
Docker Based Hadoop ProvisioningDocker Based Hadoop Provisioning
Docker Based Hadoop Provisioning
 
Baylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStackBaylisa - Dive Into OpenStack
Baylisa - Dive Into OpenStack
 
Tlu introduction-to-cloud
Tlu introduction-to-cloudTlu introduction-to-cloud
Tlu introduction-to-cloud
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
kata-containers-onboarding-deck.pptx
kata-containers-onboarding-deck.pptxkata-containers-onboarding-deck.pptx
kata-containers-onboarding-deck.pptx
 
The Lies We Tell Our Code (#seascale 2015 04-22)
The Lies We Tell Our Code (#seascale 2015 04-22)The Lies We Tell Our Code (#seascale 2015 04-22)
The Lies We Tell Our Code (#seascale 2015 04-22)
 
Virtual machines and containers
Virtual machines and containersVirtual machines and containers
Virtual machines and containers
 
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
The lies we tell our code, LinuxCon/CloudOpen 2015-08-18
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
Silicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStackSilicon Valley CloudStack User Group - Introduction to Apache CloudStack
Silicon Valley CloudStack User Group - Introduction to Apache CloudStack
 
Docker based Hadoop provisioning - Hadoop Summit 2014
Docker based Hadoop provisioning - Hadoop Summit 2014 Docker based Hadoop provisioning - Hadoop Summit 2014
Docker based Hadoop provisioning - Hadoop Summit 2014
 
aws.ppt
aws.pptaws.ppt
aws.ppt
 

Más de Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping groundPuppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
 

Más de Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Último

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Último (20)

Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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)
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.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
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Automating CloudStack Deployments with Puppet

  • 1. Automating CloudStack with Puppet Puppet Camp Silicon Valley David Nalley david@gnsa.us @ke4qqq
  • 2. #whoami  Recovering sysadmin  Committer on Apache CloudStack  Fedora Project Contributor  Fan of “The Phoenix Project”
  • 3. The plan  Overview of Apache CloudStack  Using puppet to manage your CloudStack-based VMs  Using puppet to manage your VM deployment.
  • 4. What is CloudStack?  Open source IaaS platform  ASLv2 licensed  History tl;dr began development in 2008 production deployments by 2009 open sourced in 2010 moved to ASF in 2012
  • 5. Design goals  Integrate with untold number of yet to be identified hardware.  Provide an API platform on which to run cloud operations.  Orchestrate hardware resources that may be protected by a firewall.  Horizontally scalable management layer.  Enable the best data paths to accomplish cloud operations.  A beautiful and functional UI
  • 6. Architectural Overview  Division of physical resources  Storage  Borg drones VMs  Networking  Management and orchestration
  • 7. Physical hosts  Hypervisors KVM Xenserver XCP VMware  Baremetal (with IPMI)
  • 8. Clusters  Collections of hosts  Typically 1-15 hosts in a cluster  Homogenity Network Hypervisor CPU type
  • 9. Clusters  Hosts share storage  Fault domain for individual VM availability  Lowest level for allocation decisions
  • 10. Pods  Collection of clusters  Typically a rack or row of racks  Can contain multiple types of hypervisors  Largely just an arbitrary division
  • 11. Zones  Typically a datacenter  Single networking model within a zone  Visible to the end user
  • 12. Storage  CloudStack doesn't really provide storage, but does consume and orchestrate it.
  • 13. Local Storage  Typically faster than SAN/NAS  Failure of a host means loss of a VM  Can be far more scalable than trying to scale a large traditional storage platform
  • 14. Primary (shared) storage  Shared at the cluster level  Where running disk images live  All hosts in the cluster can write to the resource  Most commonly NFS and iSCSI, but essentially anything the hypervisor can mount  'New' storage types like Ceph RBD
  • 15. Secondary Storage  Primary storage is focused on running VMs, Secondary storage is focused on immutable items. Snapshots Disk images ISOs  Zone wide storage resource  Can employ object storage
  • 17. Console Proxy VM  AJAX-based VNC console access  Allows CloudStack to deal with auth{n,z} for console access.  Abstracts away hypervisor access  Not a replacement for ssh/RDP but no more painful than DRAC/iLO  Stateless; horizontally scalable
  • 18. Secondary Storage VM  Secondary Storage is the resource, the SSVM that handles the following operations: Copying snapshots from primary to secondary storage Copying disk images from secondary to primary storage Making all items stored in secondary storage downloadable and a place to transfer items into secondary storage Aging the snapshots according to policy
  • 19. Networking Model: VLANs  Traditional L2 isolation  CloudStack given a block of VLANs and allocates them on demand  Each account gets allocated at least one VLAN.  Inherent limitations of VLANs
  • 20. Networking model: L3 Isolation  L3 isolation; aka Security Groups  Pushes ACLs down to each hypervisor host  Far more scalable, decentralized (more Borg)  Filter at the bridge device
  • 23. Network Model: SDN  OVS (GRE overlay tunnels)  Nicira NVP  Others rapidly appearing: BigSwitch Midokura
  • 24. Virtual networking hardware  DHCP  VLAN allocation  Firewall  NAT/Port forwarding  Routing  VPN  Load Balancing
  • 25. Virtual networking hardware  Cisco Nexus 1000v  NetScaler VPX  F5 Big IP virtual edition
  • 26. Physical networking hardware  Juniper SRX  F5 BigIP LB  NetScaler
  • 27. Management Server  Management server is stateless, horizontally scalable platform for orchestrating all of the resources.  Provides isolation in what is assumed to be a multi-tenant environment
  • 28. UI
  • 29. API  EC2/S3 translation layer  CloudStack native API: http://incubator.apache.org/cloudstack/docs/api
  • 30. More info  http://incubator.apache.org/cloudstack  #cloudstack on irc.freenode.net  cloudstack-users-subscribe@incubator.apache.org
  • 31. Using puppet to manage VMs  Being able to deploy 500 VMs in 10 minutes means you need some method to classify and apply configuration management.  Most of the work for this awesomeness was done by Jason Hancock (@jsnby)
  • 32. A couple of upfront goals  Minimize the number of templates  Have all instances receive config via Puppet  Zero manual intervention
  • 33. Make one API call to launch a VM, and get out of the way and watch the automation do wonderful things.
  • 34. A word about auto-signing  You can use auto-signing.  Automatically signs any cert from a given domain  Potential security issues if folks can connect to your puppetmaster  You can pre-seed templates with a signed key - but there are gotchas
  • 35. Run puppet ASAP  Turn off splay - you want to minimize the time that the box remains unconfigured.  Make sure puppet is configured to start on boot (enable the service, not cron)
  • 36. Classifying nodes - options  {site,node}.pp  hostname-based regex  PE/Dashboard  ENC  facts  $other_things
  • 37. facts
  • 38. What to base a fact on... http://incubator.apache.org/cloudstack/docs/api/apidocs-4.0.0/user/deployVirtualMachine.html userdata an optional binary data that can be sent to the virtual machine upon a successful deployment. This binary data must be base64 encoded before adding it to the request. Currently only HTTP GET is supported. Using HTTP GET (via querystring), you can send up to 2KB of data after base64 encoding.
  • 40. Custom fact for userdata  http://s.apache.org/acs_userdata
  • 41. Implementing ::role in puppet Everyone is a default node. No need to add nodes to site.pp or use an ENC.
  • 42. Sample, skeletonized, site.pp import 'base' node default { include base }
  • 43. Sample, skeletonized, base.pp class base.pp { # Includes that apply to all machines case $::role { 'somerole': { include somemodule } 'otherrole': { include someothermodule }
  • 44. This is only the beginning...  Setting environment, purging terminated instances, and more.  Check out Jason's blog: http://geek.jasonhancock.com
  • 45. Making puppet deploy your infrastructure in CloudStack  Most of the real work that follows was done by Dan Bode.
  • 46. deployVirtualMachine API  CloudStack provides an API for provisioning machines.
  • 47. Puppet...  converts freshly provisioned VMs into functional machines ready to do work.
  • 48. When combined.... you can start from nothing, deploy the machines and wind up with a completely automated deployment system.
  • 49. CloudStack resources in puppet https://github.com/bodepd/cloudstack_resources Still a bit raw....potentially unstable, use with caution, file bug reports and patches.
  • 50. Defining application stacks class my_app_stack { cloudstack_instance {'web1': ensure => present, group => 'role=web', } cloudstack_instance {'db1': ensure => present, group => 'role=db', }
  • 51. Setting defaults Cloudstack_instance { image => 'Fedora18_x86_64', flavor => 'm1.medium', zone => 'SanJose', network => 'default own', keypair => 'my_secret_keypair', } cloudstack_instance { 'web1': ensure => $::ensure, group => 'role=web',
  • 52. Now machines and their configuration are deployable all from puppet. (This also exists for GCE and OpenNebula.)