SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Lets build an
                         OpenStack!
                                   Dan Bode
                                   @bodepd
                         ‘doer of things’ at PuppetLabs




Thursday, April 18, 13
Connect to our
                                 network

                         • SSID: puppet_openstack
                         • We’ll bridge you to the outside world from
                           here (please respect our pipes)




Thursday, April 18, 13
Dependencies

                         • Ruby (we assume its already installed)
                         • VirtualBox
                         • Ubuntu precise base box
                         • Vagrant
                         • Puppet modules
Thursday, April 18, 13
• download requirements:
                          • http://10.0.1.2/share/
                            • virtual_box/VirtualBox-.4.2.10.dmg
                            • precise64.box
                            • puppet-openstack_dev_env.tgz
                            • vagrant/Vagrant.dmg

Thursday, April 18, 13
• unpack the modules
                         • tar -xzvf puppet-openstack_dev_env.tgz



Thursday, April 18, 13
• vagrant box add precise64 precise64.box




Thursday, April 18, 13
• double check the proxy settings
                          • manifests/pre.pp
                          • manifests/setup/precise64.pp



Thursday, April 18, 13
• vagrant up openstack_controller




Thursday, April 18, 13
• vagrant up compute1




Thursday, April 18, 13
• vagrant ssh openstack_controller
                          • bash /tmp/test_nova.sh
                            • source /root/openrc



Thursday, April 18, 13
The Goal



Thursday, April 18, 13
The Goal:




             Start with your laptop   Your Laptop

Thursday, April 18, 13
The Goal:




                         Install VBox      Virtual Box
                                          Your Laptop

Thursday, April 18, 13
The Goal:



                     Install vagrant        Vagrant
                                           Virtual Box
                                          Your Laptop

Thursday, April 18, 13
The Goal:


     Define/Boot 2 VMs with
                               VM1             VM2
            Vagrant
                                     Vagrant
                                 Virtual Box
                                 Your Laptop

Thursday, April 18, 13
The Goal:

    Run Puppet on those VMs          Puppet
                               VM1             VM2
                                     Vagrant
                                 Virtual Box
                                 Your Laptop

Thursday, April 18, 13
Vagrant (Vagrantfile)

                                        VM1             VM2
                                              Vagrant
                                          Virtual Box
                                          Your Laptop

Thursday, April 18, 13
Librarian Puppet (Puppetfile)
                                   Puppet
                             VM1             VM2
                                   Vagrant
                               Virtual Box
                               Your Laptop

Thursday, April 18, 13
Puppetfile
                                     mod 'puppetlabs/openstack', :git => 'git://github.com/stackforge/puppet-openstack'
                                     mod 'puppetlabs/nova', :git => 'git://github.com/stackforge/puppet-nova'
                                     mod 'puppetlabs/glance', :git => 'git://github.com/stackforge/puppet-glance'
                                     mod 'puppetlabs/keystone', :git => 'git://github.com/stackforge/puppet-keystone'
                                     mod 'puppetlabs/horizon', :git => 'git://github.com/stackforge/puppet-horizon'
                                     mod 'puppetlabs/swift', :git => 'git://github.com/stackforge/puppet-swift'
                                     mod 'puppetlabs/cinder', :git => 'git://github.com/stackforge/puppet-cinder'
                                     mod 'puppetlabs/tempest', :git => 'git://github.com/puppetlabs/puppetlabs-tempest'
                                     mod 'puppet/quantum', :git => 'git://github.com/bodepd/puppet-quantum/'
                                     # openstack middleware
                                     mod 'puppet/vswitch', :git => 'git://github.com/ekarlso/puppet-vswitch'
                                     mod 'puppetlabs/rabbitmq', :git => 'git://github.com/puppetlabs/puppetlabs-rabbitmq'
                                     mod 'puppetlabs/mysql', :git => 'git://github.com/puppetlabs/puppetlabs-mysql'
                                     mod 'puppetlabs/git', :git => 'git://github.com/puppetlabs/puppetlabs-git'
                                     mod 'puppetlabs/vcsrepo', :git => 'git://github.com/puppetlabs/puppetlabs-vcsrepo'
                                     mod 'saz/memcached', :git => 'git://github.com/saz/puppet-memcached'
                                     mod 'puppetlabs/rsync', :git => 'git://github.com/puppetlabs/puppetlabs-rsync'
                                     .......




Thursday, April 18, 13
Site Manifests (manifest/site.pp)




Thursday, April 18, 13
Specify how nodes map
                           to roles
                         node /openstack-controller/ {
                         ....
                         }

                         node /compute/ {
                         ...
                         }



Thursday, April 18, 13
Hiera (external hierarchical data
                                    lookup)
                            Common                Default


                               CI               US      EU

                         Node Node Node       Node Node Node


Thursday, April 18, 13
check out hiera_data/

             hiera_data/common.yaml
             hiera_data/jenkins.yaml
             hiera_data/NODE.yaml




Thursday, April 18, 13
The OpenStack Module




Thursday, April 18, 13
Specifies high level roles that are very
             opinionated about how to install openstack


                            openstack::all
                         openstack::controller
                         openstack::compute
                         openstack::keystone
                         openstack::db::mysql




Thursday, April 18, 13
High Level Configuration Interfaces
          class { 'openstack::all':
            public_address            =>   $ipaddress_eth0,
            public_interface          =>   $public_interface,
            private_interface         =>   $private_interface,
            admin_email               =>   $admin_email,
            admin_password            =>   $admin_password,
            keystone_db_password      =>   $keystone_db_password,
            keystone_admin_token      =>   $keystone_admin_token,
            nova_db_password          =>   $nova_db_password,
            nova_user_password        =>   $nova_user_password,
            glance_db_password        =>   $glance_db_password,
            glance_user_password      =>   $glance_user_password,
            rabbit_password           =>   $rabbit_password,
            rabbit_user               =>   $rabbit_user,
            libvirt_type              =>   'kvm',
            floating_range            =>   $floating_network_range,
            fixed_range               =>   $fixed_network_range,
            verbose                   =>   $verbose,
            auto_assign_floating_ip   =>   $auto_assign_floating_ip,
          }




Thursday, April 18, 13
The ‘Core’ Modules



Thursday, April 18, 13
• nova
                         • swift
                         • glance
                         • keystone
                         • horizon
                         • openstack
                         • cinder
                         • quantum
                         • ceilometer


Thursday, April 18, 13
Helper Modules



Thursday, April 18, 13
•   rabbitmq

                         •   mysql

                         •   memcache

                         •   apt

                         •   concat

                         •   ntp

                         •   rsync

                         •   stdlib

                         •   xinetd

                         •   openvswitch

                         •   apache




Thursday, April 18, 13
Stackforge


                         • modules have been upstreamed to stackforge
                         • follow openstack development process


Thursday, April 18, 13

Contenu connexe

Similaire à Openstack havana

Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
NETWAYS
 

Similaire à Openstack havana (20)

Using vagrant for developing and testing puppet modules
Using vagrant for developing and testing puppet modulesUsing vagrant for developing and testing puppet modules
Using vagrant for developing and testing puppet modules
 
Aligning Continuous Integration Deployment: Automated Validation of OpenStack...
Aligning Continuous Integration Deployment: Automated Validation of OpenStack...Aligning Continuous Integration Deployment: Automated Validation of OpenStack...
Aligning Continuous Integration Deployment: Automated Validation of OpenStack...
 
Testing Drupal with Ghosts and Gherkin
Testing Drupal  with Ghosts and GherkinTesting Drupal  with Ghosts and Gherkin
Testing Drupal with Ghosts and Gherkin
 
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...
Releasing Puppet: Automating Packaging for Many Platforms or 'Make all the th...
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for PuppetPuppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
 
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for Puppet
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for PuppetPuppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for Puppet
Puppet Camp Berlin 2015: Felix Frank | Rapid Testing Setups for Puppet
 
OE Hands-On
OE Hands-OnOE Hands-On
OE Hands-On
 
CloudInit Introduction
CloudInit IntroductionCloudInit Introduction
CloudInit Introduction
 
How much for an openstack cloud please?
How much for an openstack cloud please?How much for an openstack cloud please?
How much for an openstack cloud please?
 
Lessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet AgentsLessons I Learned While Scaling to 5000 Puppet Agents
Lessons I Learned While Scaling to 5000 Puppet Agents
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansible
 
Heroku & Sinatra
Heroku & SinatraHeroku & Sinatra
Heroku & Sinatra
 
Automated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packerAutomated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packer
 
Getting Started With Puppet - Chad Metcalf
Getting Started With Puppet - Chad MetcalfGetting Started With Puppet - Chad Metcalf
Getting Started With Puppet - Chad Metcalf
 
DSL Quest: A WAT Safari - PuppetConf 2013
DSL Quest: A WAT Safari - PuppetConf 2013DSL Quest: A WAT Safari - PuppetConf 2013
DSL Quest: A WAT Safari - PuppetConf 2013
 
Building Reusable Puppet Modules
Building Reusable Puppet ModulesBuilding Reusable Puppet Modules
Building Reusable Puppet Modules
 
How I hack on puppet modules
How I hack on puppet modulesHow I hack on puppet modules
How I hack on puppet modules
 
Pragmatic JavaScript
Pragmatic JavaScriptPragmatic JavaScript
Pragmatic JavaScript
 

Plus de bodepd (8)

Puppet as data_chicago
Puppet as data_chicagoPuppet as data_chicago
Puppet as data_chicago
 
Puppet: Orchestration framework?
Puppet: Orchestration framework?Puppet: Orchestration framework?
Puppet: Orchestration framework?
 
Cloud building talk
Cloud building talkCloud building talk
Cloud building talk
 
Cloudstack talk
Cloudstack talkCloudstack talk
Cloudstack talk
 
Openstack grizzley puppet_talk
Openstack grizzley puppet_talkOpenstack grizzley puppet_talk
Openstack grizzley puppet_talk
 
Hacking puppet
Hacking puppetHacking puppet
Hacking puppet
 
Google compute presentation puppet conf
Google compute presentation puppet confGoogle compute presentation puppet conf
Google compute presentation puppet conf
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Openstack havana

  • 1. Lets build an OpenStack! Dan Bode @bodepd ‘doer of things’ at PuppetLabs Thursday, April 18, 13
  • 2. Connect to our network • SSID: puppet_openstack • We’ll bridge you to the outside world from here (please respect our pipes) Thursday, April 18, 13
  • 3. Dependencies • Ruby (we assume its already installed) • VirtualBox • Ubuntu precise base box • Vagrant • Puppet modules Thursday, April 18, 13
  • 4. • download requirements: • http://10.0.1.2/share/ • virtual_box/VirtualBox-.4.2.10.dmg • precise64.box • puppet-openstack_dev_env.tgz • vagrant/Vagrant.dmg Thursday, April 18, 13
  • 5. • unpack the modules • tar -xzvf puppet-openstack_dev_env.tgz Thursday, April 18, 13
  • 6. • vagrant box add precise64 precise64.box Thursday, April 18, 13
  • 7. • double check the proxy settings • manifests/pre.pp • manifests/setup/precise64.pp Thursday, April 18, 13
  • 8. • vagrant up openstack_controller Thursday, April 18, 13
  • 9. • vagrant up compute1 Thursday, April 18, 13
  • 10. • vagrant ssh openstack_controller • bash /tmp/test_nova.sh • source /root/openrc Thursday, April 18, 13
  • 12. The Goal: Start with your laptop Your Laptop Thursday, April 18, 13
  • 13. The Goal: Install VBox Virtual Box Your Laptop Thursday, April 18, 13
  • 14. The Goal: Install vagrant Vagrant Virtual Box Your Laptop Thursday, April 18, 13
  • 15. The Goal: Define/Boot 2 VMs with VM1 VM2 Vagrant Vagrant Virtual Box Your Laptop Thursday, April 18, 13
  • 16. The Goal: Run Puppet on those VMs Puppet VM1 VM2 Vagrant Virtual Box Your Laptop Thursday, April 18, 13
  • 17. Vagrant (Vagrantfile) VM1 VM2 Vagrant Virtual Box Your Laptop Thursday, April 18, 13
  • 18. Librarian Puppet (Puppetfile) Puppet VM1 VM2 Vagrant Virtual Box Your Laptop Thursday, April 18, 13
  • 19. Puppetfile mod 'puppetlabs/openstack', :git => 'git://github.com/stackforge/puppet-openstack' mod 'puppetlabs/nova', :git => 'git://github.com/stackforge/puppet-nova' mod 'puppetlabs/glance', :git => 'git://github.com/stackforge/puppet-glance' mod 'puppetlabs/keystone', :git => 'git://github.com/stackforge/puppet-keystone' mod 'puppetlabs/horizon', :git => 'git://github.com/stackforge/puppet-horizon' mod 'puppetlabs/swift', :git => 'git://github.com/stackforge/puppet-swift' mod 'puppetlabs/cinder', :git => 'git://github.com/stackforge/puppet-cinder' mod 'puppetlabs/tempest', :git => 'git://github.com/puppetlabs/puppetlabs-tempest' mod 'puppet/quantum', :git => 'git://github.com/bodepd/puppet-quantum/' # openstack middleware mod 'puppet/vswitch', :git => 'git://github.com/ekarlso/puppet-vswitch' mod 'puppetlabs/rabbitmq', :git => 'git://github.com/puppetlabs/puppetlabs-rabbitmq' mod 'puppetlabs/mysql', :git => 'git://github.com/puppetlabs/puppetlabs-mysql' mod 'puppetlabs/git', :git => 'git://github.com/puppetlabs/puppetlabs-git' mod 'puppetlabs/vcsrepo', :git => 'git://github.com/puppetlabs/puppetlabs-vcsrepo' mod 'saz/memcached', :git => 'git://github.com/saz/puppet-memcached' mod 'puppetlabs/rsync', :git => 'git://github.com/puppetlabs/puppetlabs-rsync' ....... Thursday, April 18, 13
  • 21. Specify how nodes map to roles node /openstack-controller/ { .... } node /compute/ { ... } Thursday, April 18, 13
  • 22. Hiera (external hierarchical data lookup) Common Default CI US EU Node Node Node Node Node Node Thursday, April 18, 13
  • 23. check out hiera_data/ hiera_data/common.yaml hiera_data/jenkins.yaml hiera_data/NODE.yaml Thursday, April 18, 13
  • 25. Specifies high level roles that are very opinionated about how to install openstack openstack::all openstack::controller openstack::compute openstack::keystone openstack::db::mysql Thursday, April 18, 13
  • 26. High Level Configuration Interfaces   class { 'openstack::all':     public_address => $ipaddress_eth0,     public_interface => $public_interface,     private_interface => $private_interface,     admin_email => $admin_email,     admin_password => $admin_password,     keystone_db_password => $keystone_db_password,     keystone_admin_token => $keystone_admin_token,     nova_db_password => $nova_db_password,     nova_user_password => $nova_user_password,     glance_db_password => $glance_db_password,     glance_user_password => $glance_user_password,     rabbit_password => $rabbit_password,     rabbit_user => $rabbit_user,     libvirt_type => 'kvm',     floating_range => $floating_network_range,     fixed_range => $fixed_network_range,     verbose => $verbose,     auto_assign_floating_ip => $auto_assign_floating_ip,   } Thursday, April 18, 13
  • 28. • nova • swift • glance • keystone • horizon • openstack • cinder • quantum • ceilometer Thursday, April 18, 13
  • 30. rabbitmq • mysql • memcache • apt • concat • ntp • rsync • stdlib • xinetd • openvswitch • apache Thursday, April 18, 13
  • 31. Stackforge • modules have been upstreamed to stackforge • follow openstack development process Thursday, April 18, 13