Your SlideShare is downloading. ×
0
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Openstack grizzley puppet_talk
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Openstack grizzley puppet_talk

1,365

Published on

slides for puppet-openstack workshop

slides for puppet-openstack workshop

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,365
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
96
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Deploying OpenStack with Puppet
    • 2. who is this talk for?- the reasonably technical- already understands config management- wants to learn more about using Puppet modules to deployopenstack
    • 3. Shameless plug
    • 4. What is Puppet?
    • 5. Resources describe state Current Desired package {‘git’: ensure => present, State State } != Sync Event| CONFIDENTIAL & PROPRIETARY
    • 6. Providers Detect Current Staterpm -q git Current Desired package {‘git’: ensure => present,dpkg-query --searchgit State State } != Sync Event | CONFIDENTIAL & PROPRIETARY
    • 7. Puppet comparesrpm -q git Current Desired package {‘git’: ensure => present,dpkg-query --searchgit State State } Absent != Present Sync Event | CONFIDENTIAL & PROPRIETARY
    • 8. Provides remediaterpm -q git Current Desired package {‘git’: ensure => present,dpkg-query --searchgit State State } Absent != Present yum install git Sync Event apt-get install git | CONFIDENTIAL & PROPRIETARY
    • 9. Providers Remediaterpm -q git Current Desired package {‘git’: ensure => present,dpkg-query --searchgit State State } Absent != Present yum install git state transition: Sync Event absent -> present apt-get install git | CONFIDENTIAL & PROPRIETARY
    • 10. Noop Moderpm -q git Current Desired package {‘git’: ensure => present,dpkg-query --searchgit State State } Absent != Present state transition: Sync Event absent -> present | CONFIDENTIAL & PROPRIETARY
    • 11. Puppet DSL composes resources class keystone( $admin_token, ){ package { keystone: ensure => present, } keystone_config { DEFAULT/admin_token: value => $admin_token, require => Package[‘keystone’], notify => Service[‘keystone’], } service { keystone: ensure => running, } }| CONFIDENTIAL & PROPRIETARY
    • 12. Why Integrate?
    • 13. OpenStack is hard to build reliably, repeatedly
    • 14. OpenStack is hard
    • 15. OpenStack makes it easier to automate the management of compute resources Puppet Your BusinessOpenStack Configuration Management Self Service API Hardware
    • 16. OpenStack makes it easier to automate the management of compute resources You Puppet Your BusinessOpenStack Configuration Management Self Service API Hardware http://www.happyemrdoctor.com/files/2011/02/HappyComputerMan.gif
    • 17. Puppet can be used to codify best practices for OpenStack OpenStackios Now with best practices by: CERN, Enovance, Cisco Redhat, Cybera
    • 18. The modules
    • 19. OpenStack modules • nova • swift • glance • keystone • horizon • openstack • quantum • cinder
    • 20. General purpose modules• rabbitmq• mysql• memcache• apt• concat• ntp• rsync• stdlib• xinetd• openvswitch• apache
    • 21. Each module has classes that present configuration interfaces glance class { glance::api: auth_port => 35357, auth_host => ‘keystone_host’, keystone_tenant => services, keystone_user => glance, keystone_password => pass, } class { glance::registry: ... }
    • 22. OpenStack - higher level roles class { openstack::db::mysql: .... } class { ‘openstack::keystone’: .... } class { openstack::glance: ... } class { ‘openstack::horizon’ } class { ‘openstack::nova::controller’ { }
    • 23. 2 role deployments node /openstack-controller/ { class { openstack::controller: .... } } node /compute/ { class { ‘openstack::compute’: ... } }
    • 24. Getting Started
    • 25. Download repogit clone https://github.com/puppetlabs/puppetlabs-openstack_dev_env
    • 26. Install modules> gem install librarian-puppet> cd puppetlabs-openstack_dev_env> librarian-puppet installOnce it’s released to the forge> puppet module install puppetlabs-openstack
    • 27. Example site manifest> vi manifests/site.pp
    • 28. Node declarationsReview now nodes can be classified:node /openstack-controller/ {....}node /compute/ {...}
    • 29. Modify top scope variables...$cinder_user_password = cinder_user_password$quantum_user_password = quantum_user_password$verbose = True$public_interface = eth1$private_interface = eth2$rabbit_password = rabbit_password$rabbit_user = nova...
    • 30. install openstack host1# puppet agent -t --certname openstack- controller host2# puppet agent -t --certname compute
    • 31. log into controller > ssh openstack-controller > source /root/openrc
    • 32. Run basic test script: > bash /tmp/test_nova.sh
    • 33. Advanced
    • 34. Or use hiera (maybe I should switch?)$cinder_user_password = hiera(cinder_user_password)$quantum_user_password = hiera(quantum_user_password)$verbose = True$public_interface = hiera(public_interface)$private_interface = hiera(private_interface)$rabbit_password = hiera(rabbit_password)
    • 35. Or use an ENC
    • 36. PuppetDB* stores facts and catalog* search for nodes* find facts for nodes* find resources from nodes

    ×