SlideShare a Scribd company logo
Integrating the
                    Cloud with
                    Puppet



Tuesday, February 26, 13
About me:

                    Dan Bode
                    Some Dude at PuppetLabs

                    @bodepd

                    bodepd <on> freenode




Tuesday, February 26, 13
Who is this talk for?

         Cloud Users

         Puppet beginners




Tuesday, February 26, 13
It will cover

         why integrate?

         explanation of Puppet’s architecture as it applies to
         integration

         using Puppet to model VM instances




Tuesday, February 26, 13
Why Integrate?




Tuesday, February 26, 13
Cloud

                            Provisions virtual machines


         deployVirtualMachine


                                   Self Service API



                                       VM1




Tuesday, February 26, 13
Puppet

                                       VMs -> Applications


           deployApacheServer


                                              Self Service API



                                                  VM1
                     Make me an
                     apache server                               Here are your
                                                                 instructions
                                     Puppet
                                     Master



Tuesday, February 26, 13
Together

                                                PaaS


                   deployAppStack


                                          Self Service API



                                    DB1       Apache1 Apache2   LB




Tuesday, February 26, 13
Puppet




Tuesday, February 26, 13
2 run modes


                           puppet apply



                           client/server




Tuesday, February 26, 13
Puppet Client/Server

                           Classifier            Modules

                                        Master



                            Facts                  Catalog




                                        VM1




Tuesday, February 26, 13
Facter

                             Classifier            Modules

                                          Master



                           Facts                     Catalog




                                          VM1




Tuesday, February 26, 13
Facter

        $ facter
        architecture       => x86_64
        domain             => local
        fqdn               => DansLapTop.local
        id                 => danbode
        ec2_instance_id    => abc123abc123abc123
        operatingsystem    => ‘Ubunbtu’
        osfamily           => ‘Debian’
        .....




Tuesday, February 26, 13
Facter

              Available as top scope variables from manifests

              ie : $::fact_name

              Creating custom facts is easy.




Tuesday, February 26, 13
Modules
                                                 Modules
                           Classifier

                                        Master



                            Facts                 Catalog




                                        VM1




Tuesday, February 26, 13
Modules

              Sharable Puppet content




Tuesday, February 26, 13
Module Forge

           http://forge.puppetlabs.com/puppetlabs/apache

                                  I get all of
                                  my content
                                   from the
                                     forge!




Tuesday, February 26, 13
Classes/defines compose resources




Tuesday, February 26, 13
Resources
           Describe the configuration state of individual
           system elements.




Tuesday, February 26, 13
user { ‘dan’:        # a user named dan
        ...




Tuesday, February 26, 13
user { ‘dan’:         # a user named dan
       ensure => present,   # should exist
       ...




Tuesday, February 26, 13
user { ‘dan’:           # a user named dan
        ensure => present,    # should exist
        shell => ‘/bin/bash’, # with this shell
      }




Tuesday, February 26, 13
Puppet DSL and resources




Tuesday, February 26, 13
Puppet DSL

      Composes collections of resources.




Tuesday, February 26, 13
Package/File/Service
      class webserver {
        package { ‘apache2’: ... }
        file { ‘/etc/apache2/apache2.conf’:
          ...
          require => Package[‘apache2’],
        }
        service { ‘apache2’:
          ...
          subscribe => File[‘/etc/apache2/apache2.conf’]
        }
      }



Tuesday, February 26, 13
configure a node

      include webserver




Tuesday, February 26, 13
Classification                           (maps roles as classes)


                           Classifier
                                                 Modules

                                        Master



                                Facts              Catalog




                                        VM1




Tuesday, February 26, 13
Site manifest
          (/etc/puppet/manifests/site.pp)

          Map a host’s certname to content from a module

       node /^my_node/ {
         include apache
       }




Tuesday, February 26, 13
ENC
                                             ENC

                           Master


            The master can call out to arbitrary executables to
            figure out how a node should be classified.




Tuesday, February 26, 13
Puppet Client/Server

                           Classifier            Modules

                                        Master



                            Facts
                                                   Catalog

                                        VM1




Tuesday, February 26, 13
Catalog
          Resources
                                  Package

                           Package             File

                                                         File
  Dependencies             User         User

                                  Service
                                               Service

Tuesday, February 26, 13
Integration
                               is all about

                           Classification



Tuesday, February 26, 13
Using metadata/userdata

          deployApacheServer (with metadata=’puppet_class=apache’)


                                       Self Service API



                                           VM1




                              Puppet
                              Master




Tuesday, February 26, 13
Using metadata/userdata

          deployApacheServer (with metadata=’puppet_class=apache’)


                                       Self Service API


               I was provisioned
               with metadata               VM1
               puppet_class=apache


                              Puppet
                              Master




Tuesday, February 26, 13
Using metadata/userdata

          deployApacheServer (with metadata=’puppet_class=apache’)


                                       Self Service API


               I was provisioned
               with metadata               VM1
               puppet_class=apache
                                                    Oh cool!
                                                    You must be an
                              Puppet                apache server
                              Master




Tuesday, February 26, 13
Determine role based on facts

                           deployVirtualMachine (with metadata)




Tuesday, February 26, 13
Determine role based on facts

                           deployVirtualMachine (with metadata)
                           populate facter metadata service




Tuesday, February 26, 13
Determine role based on facts

                           deployVirtualMachine (with metadata)
                           populate facter metadata service

                           use fact for classification



   node default {
     include $::meta_data_role
   }



Tuesday, February 26, 13
Pros

   - simple

   - classification information set during provisioning process




Tuesday, February 26, 13
Cons

   - hosts become authoritative over their role

   - a single rooted host can pretend to be anyone else

   - metadata/userdata is not always read/write




Tuesday, February 26, 13
Using instance annotation data

          deployApacheServer (with group=‘apache’)


                                              Self Service API


            here is my id
                                    VM1

                                     Let me consult
                                     the cloud system
                           Puppet
                           Master         You were provisioned
                                          as an apache server




Tuesday, February 26, 13
Using instance annotation data

          deployApacheServer (with group=‘apache’)


                                      Self Service API



                             VM1




Tuesday, February 26, 13
Using instance annotation data

          deployApacheServer (with group=‘apache’)


                                          Self Service API


            here is my id
                                    VM1




                           Puppet
                           Master




Tuesday, February 26, 13
Using instance annotation data

          deployApacheServer (with group=‘apache’)


                                            Self Service API


            here is my id
                                    VM1

                                     Let me lookup your
                                     role based on your id
                           Puppet
                           Master




Tuesday, February 26, 13
Using instance annotation data

          deployApacheServer (with group=‘apache’)


                                              Self Service API


            here is my id
                                    VM1

                                     Let me lookup your
                                     role based on your id
                           Puppet
                           Master         You were provisioned
                                          as an apache server




Tuesday, February 26, 13
Pros

   - provisioning credentials are used to determine role

   - annotation field likely updatable




Tuesday, February 26, 13
Cons

   - puppetmaster must have API credentials

   - may require a custom ENC




Tuesday, February 26, 13
Decouple role assignment from
        provisioning
        After provisioning is completed, ssh into a machine,
        set a custom fact (using facts.d), and trigger a
        puppet run.

        pros - you can easily execute a script to install and
        bootstrap puppet

        cons - extra step




Tuesday, February 26, 13
facts.d

        facts.d comes with stdlib
        (http://forge.puppetlabs.com/puppetlabs/stdlib)

        it converts any ‘key=value’ pairs listed in /etc/
        facts.d/*.txt into facts




Tuesday, February 26, 13
VM provisioning with Puppet
            (experimental! use cases
            appreciated)




Tuesday, February 26, 13
Share Application Stacks as text

        class my_app_stack {
            cloudstack_instance { 'foo4':
                ensure     => present,
                group      => 'role=db',
            }
            cloudstack_instance { 'foo3':
                ensure     => present,
                group      => 'role=apache',
            }
        }




Tuesday, February 26, 13
Use resource defaults for
        common settings
        Cloudstack_instance {
            image          => 'CentOS 5.6 key+pass',
            flavor         => 'Small Instance',
            zone           => 'ACS-FMT-001',
            network        => 'puppetlabs-network',
            keypair        => 'dans_keypair4',
        }
        cloudstack_instance { 'foo4':
            ensure         => $::ensure,
            group          => 'role=db',
        }
        cloudstack_instance { 'foo3':
            ensure         => $::ensure,
            group          => 'role=apache',
        }




Tuesday, February 26, 13
More issues of trust




Tuesday, February 26, 13

More Related Content

Similar to Automatic Configuration of Your Cloud with Puppet (20)

PDF
Cloudstack talk
bodepd
 
PDF
Modules and the Puppet Forge
Puppet
 
PDF
Puppet: Orchestration framework?
bodepd
 
PDF
Puppet @ Nedap
Puppet
 
PDF
State of Puppet
Puppet
 
PDF
Puppet buero20 presentation
Martin Alfke
 
PDF
The State of Puppet
Puppet
 
PDF
State of Puppet - Puppet Camp Barcelona 2013
Puppet
 
PDF
Lessons I Learned While Scaling to 5000 Puppet Agents
Puppet
 
PDF
Systems Automation with Puppet
elliando dias
 
KEY
modern module development - Ken Barber 2012 Edinburgh Puppet Camp
Puppet
 
PDF
Developing IT infrastructures with Puppet
Alessandro Franceschi
 
PDF
Building Reusable Puppet Modules
Puppet
 
PDF
20090514 Introducing Puppet To Sasag
garrett honeycutt
 
PDF
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
Walter Heck
 
PDF
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
OlinData
 
KEY
Keynote Puppet Camp San Francisco 2010
Puppet
 
PDF
Scaling Puppet Usage to a Global Organization
Puppet
 
KEY
Puppet101
Puppet
 
PDF
Puppet | Custom Modules & Using the Forge
Aaron Bernstein
 
Cloudstack talk
bodepd
 
Modules and the Puppet Forge
Puppet
 
Puppet: Orchestration framework?
bodepd
 
Puppet @ Nedap
Puppet
 
State of Puppet
Puppet
 
Puppet buero20 presentation
Martin Alfke
 
The State of Puppet
Puppet
 
State of Puppet - Puppet Camp Barcelona 2013
Puppet
 
Lessons I Learned While Scaling to 5000 Puppet Agents
Puppet
 
Systems Automation with Puppet
elliando dias
 
modern module development - Ken Barber 2012 Edinburgh Puppet Camp
Puppet
 
Developing IT infrastructures with Puppet
Alessandro Franceschi
 
Building Reusable Puppet Modules
Puppet
 
20090514 Introducing Puppet To Sasag
garrett honeycutt
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
Walter Heck
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
OlinData
 
Keynote Puppet Camp San Francisco 2010
Puppet
 
Scaling Puppet Usage to a Global Organization
Puppet
 
Puppet101
Puppet
 
Puppet | Custom Modules & Using the Forge
Aaron Bernstein
 

More from Puppet (20)

PPTX
Puppet Community Day: Planning the Future Together
Puppet
 
PPTX
The Evolution of Puppet: Key Changes and Modernization Tips
Puppet
 
PPTX
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Puppet
 
PPTX
Bolt Dynamic Inventory: Making Puppet Easier
Puppet
 
PPTX
Customizing Reporting with the Puppet Report Processor
Puppet
 
PPTX
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet
 
PPTX
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Puppet
 
PPTX
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet
 
PDF
Puppet camp2021 testing modules and controlrepo
Puppet
 
PPTX
Puppetcamp r10kyaml
Puppet
 
PDF
2021 04-15 operational verification (with notes)
Puppet
 
PPTX
Puppet camp vscode
Puppet
 
PDF
Modules of the twenties
Puppet
 
PDF
Applying Roles and Profiles method to compliance code
Puppet
 
PPTX
KGI compliance as-code approach
Puppet
 
PDF
Enforce compliance policy with model-driven automation
Puppet
 
PDF
Keynote: Puppet camp compliance
Puppet
 
PPTX
Automating it management with Puppet + ServiceNow
Puppet
 
PPTX
Puppet: The best way to harden Windows
Puppet
 
PPTX
Simplified Patch Management with Puppet - Oct. 2020
Puppet
 
Puppet Community Day: Planning the Future Together
Puppet
 
The Evolution of Puppet: Key Changes and Modernization Tips
Puppet
 
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Puppet
 
Bolt Dynamic Inventory: Making Puppet Easier
Puppet
 
Customizing Reporting with the Puppet Report Processor
Puppet
 
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet
 
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Puppet
 
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet
 
Puppet camp2021 testing modules and controlrepo
Puppet
 
Puppetcamp r10kyaml
Puppet
 
2021 04-15 operational verification (with notes)
Puppet
 
Puppet camp vscode
Puppet
 
Modules of the twenties
Puppet
 
Applying Roles and Profiles method to compliance code
Puppet
 
KGI compliance as-code approach
Puppet
 
Enforce compliance policy with model-driven automation
Puppet
 
Keynote: Puppet camp compliance
Puppet
 
Automating it management with Puppet + ServiceNow
Puppet
 
Puppet: The best way to harden Windows
Puppet
 
Simplified Patch Management with Puppet - Oct. 2020
Puppet
 
Ad

Recently uploaded (20)

PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Ad

Automatic Configuration of Your Cloud with Puppet

  • 1. Integrating the Cloud with Puppet Tuesday, February 26, 13
  • 2. About me: Dan Bode Some Dude at PuppetLabs @bodepd bodepd <on> freenode Tuesday, February 26, 13
  • 3. Who is this talk for? Cloud Users Puppet beginners Tuesday, February 26, 13
  • 4. It will cover why integrate? explanation of Puppet’s architecture as it applies to integration using Puppet to model VM instances Tuesday, February 26, 13
  • 6. Cloud Provisions virtual machines deployVirtualMachine Self Service API VM1 Tuesday, February 26, 13
  • 7. Puppet VMs -> Applications deployApacheServer Self Service API VM1 Make me an apache server Here are your instructions Puppet Master Tuesday, February 26, 13
  • 8. Together PaaS deployAppStack Self Service API DB1 Apache1 Apache2 LB Tuesday, February 26, 13
  • 10. 2 run modes puppet apply client/server Tuesday, February 26, 13
  • 11. Puppet Client/Server Classifier Modules Master Facts Catalog VM1 Tuesday, February 26, 13
  • 12. Facter Classifier Modules Master Facts Catalog VM1 Tuesday, February 26, 13
  • 13. Facter $ facter architecture => x86_64 domain => local fqdn => DansLapTop.local id => danbode ec2_instance_id => abc123abc123abc123 operatingsystem => ‘Ubunbtu’ osfamily => ‘Debian’ ..... Tuesday, February 26, 13
  • 14. Facter Available as top scope variables from manifests ie : $::fact_name Creating custom facts is easy. Tuesday, February 26, 13
  • 15. Modules Modules Classifier Master Facts Catalog VM1 Tuesday, February 26, 13
  • 16. Modules Sharable Puppet content Tuesday, February 26, 13
  • 17. Module Forge http://forge.puppetlabs.com/puppetlabs/apache I get all of my content from the forge! Tuesday, February 26, 13
  • 19. Resources Describe the configuration state of individual system elements. Tuesday, February 26, 13
  • 20. user { ‘dan’: # a user named dan ... Tuesday, February 26, 13
  • 21. user { ‘dan’: # a user named dan ensure => present, # should exist ... Tuesday, February 26, 13
  • 22. user { ‘dan’: # a user named dan ensure => present, # should exist shell => ‘/bin/bash’, # with this shell } Tuesday, February 26, 13
  • 23. Puppet DSL and resources Tuesday, February 26, 13
  • 24. Puppet DSL Composes collections of resources. Tuesday, February 26, 13
  • 25. Package/File/Service class webserver { package { ‘apache2’: ... } file { ‘/etc/apache2/apache2.conf’: ... require => Package[‘apache2’], } service { ‘apache2’: ... subscribe => File[‘/etc/apache2/apache2.conf’] } } Tuesday, February 26, 13
  • 26. configure a node include webserver Tuesday, February 26, 13
  • 27. Classification (maps roles as classes) Classifier Modules Master Facts Catalog VM1 Tuesday, February 26, 13
  • 28. Site manifest (/etc/puppet/manifests/site.pp) Map a host’s certname to content from a module node /^my_node/ { include apache } Tuesday, February 26, 13
  • 29. ENC ENC Master The master can call out to arbitrary executables to figure out how a node should be classified. Tuesday, February 26, 13
  • 30. Puppet Client/Server Classifier Modules Master Facts Catalog VM1 Tuesday, February 26, 13
  • 31. Catalog Resources Package Package File File Dependencies User User Service Service Tuesday, February 26, 13
  • 32. Integration is all about Classification Tuesday, February 26, 13
  • 33. Using metadata/userdata deployApacheServer (with metadata=’puppet_class=apache’) Self Service API VM1 Puppet Master Tuesday, February 26, 13
  • 34. Using metadata/userdata deployApacheServer (with metadata=’puppet_class=apache’) Self Service API I was provisioned with metadata VM1 puppet_class=apache Puppet Master Tuesday, February 26, 13
  • 35. Using metadata/userdata deployApacheServer (with metadata=’puppet_class=apache’) Self Service API I was provisioned with metadata VM1 puppet_class=apache Oh cool! You must be an Puppet apache server Master Tuesday, February 26, 13
  • 36. Determine role based on facts deployVirtualMachine (with metadata) Tuesday, February 26, 13
  • 37. Determine role based on facts deployVirtualMachine (with metadata) populate facter metadata service Tuesday, February 26, 13
  • 38. Determine role based on facts deployVirtualMachine (with metadata) populate facter metadata service use fact for classification node default { include $::meta_data_role } Tuesday, February 26, 13
  • 39. Pros - simple - classification information set during provisioning process Tuesday, February 26, 13
  • 40. Cons - hosts become authoritative over their role - a single rooted host can pretend to be anyone else - metadata/userdata is not always read/write Tuesday, February 26, 13
  • 41. Using instance annotation data deployApacheServer (with group=‘apache’) Self Service API here is my id VM1 Let me consult the cloud system Puppet Master You were provisioned as an apache server Tuesday, February 26, 13
  • 42. Using instance annotation data deployApacheServer (with group=‘apache’) Self Service API VM1 Tuesday, February 26, 13
  • 43. Using instance annotation data deployApacheServer (with group=‘apache’) Self Service API here is my id VM1 Puppet Master Tuesday, February 26, 13
  • 44. Using instance annotation data deployApacheServer (with group=‘apache’) Self Service API here is my id VM1 Let me lookup your role based on your id Puppet Master Tuesday, February 26, 13
  • 45. Using instance annotation data deployApacheServer (with group=‘apache’) Self Service API here is my id VM1 Let me lookup your role based on your id Puppet Master You were provisioned as an apache server Tuesday, February 26, 13
  • 46. Pros - provisioning credentials are used to determine role - annotation field likely updatable Tuesday, February 26, 13
  • 47. Cons - puppetmaster must have API credentials - may require a custom ENC Tuesday, February 26, 13
  • 48. Decouple role assignment from provisioning After provisioning is completed, ssh into a machine, set a custom fact (using facts.d), and trigger a puppet run. pros - you can easily execute a script to install and bootstrap puppet cons - extra step Tuesday, February 26, 13
  • 49. facts.d facts.d comes with stdlib (http://forge.puppetlabs.com/puppetlabs/stdlib) it converts any ‘key=value’ pairs listed in /etc/ facts.d/*.txt into facts Tuesday, February 26, 13
  • 50. VM provisioning with Puppet (experimental! use cases appreciated) Tuesday, February 26, 13
  • 51. Share Application Stacks as text class my_app_stack { cloudstack_instance { 'foo4': ensure => present, group => 'role=db', } cloudstack_instance { 'foo3': ensure => present, group => 'role=apache', } } Tuesday, February 26, 13
  • 52. Use resource defaults for common settings Cloudstack_instance { image => 'CentOS 5.6 key+pass', flavor => 'Small Instance', zone => 'ACS-FMT-001', network => 'puppetlabs-network', keypair => 'dans_keypair4', } cloudstack_instance { 'foo4': ensure => $::ensure, group => 'role=db', } cloudstack_instance { 'foo3': ensure => $::ensure, group => 'role=apache', } Tuesday, February 26, 13
  • 53. More issues of trust Tuesday, February 26, 13