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

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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
 

Dernier (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

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