SlideShare a Scribd company logo
1 of 31
Download to read offline
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

More Related Content

Similar to Openstack havana

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 modulesKristian Houlberg Øllegaard
 
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...Atlassian
 
Testing Drupal with Ghosts and Gherkin
Testing Drupal  with Ghosts and GherkinTesting Drupal  with Ghosts and Gherkin
Testing Drupal with Ghosts and GherkinPhase2
 
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...Puppet
 
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
 
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
 
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 PuppetPuppet
 
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 PuppetNETWAYS
 
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?eNovance
 
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 AgentsPuppet
 
Heroku & Sinatra
Heroku & SinatraHeroku & Sinatra
Heroku & Sinatramyles_byrne
 
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 packerJan Collijs
 
Getting Started With Puppet - Chad Metcalf
Getting Started With Puppet - Chad MetcalfGetting Started With Puppet - Chad Metcalf
Getting Started With Puppet - Chad MetcalfPuppet
 
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 2013Puppet
 
Building Reusable Puppet Modules
Building Reusable Puppet ModulesBuilding Reusable Puppet Modules
Building Reusable Puppet ModulesPuppet
 
How I hack on puppet modules
How I hack on puppet modulesHow I hack on puppet modules
How I hack on puppet modulesKris Buytaert
 
Pragmatic JavaScript
Pragmatic JavaScriptPragmatic JavaScript
Pragmatic JavaScriptJohn Hann
 

Similar to 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
 

More from bodepd

Puppet as data_chicago
Puppet as data_chicagoPuppet as data_chicago
Puppet as data_chicagobodepd
 
Puppet: Orchestration framework?
Puppet: Orchestration framework?Puppet: Orchestration framework?
Puppet: Orchestration framework?bodepd
 
Cloud building talk
Cloud building talkCloud building talk
Cloud building talkbodepd
 
Cloudstack talk
Cloudstack talkCloudstack talk
Cloudstack talkbodepd
 
Openstack grizzley puppet_talk
Openstack grizzley puppet_talkOpenstack grizzley puppet_talk
Openstack grizzley puppet_talkbodepd
 
Hacking puppet
Hacking puppetHacking puppet
Hacking puppetbodepd
 
Google compute presentation puppet conf
Google compute presentation puppet confGoogle compute presentation puppet conf
Google compute presentation puppet confbodepd
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentationbodepd
 

More from 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
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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 educationjfdjdjcjdnsjd
 
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 SavingEdi Saputra
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
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 Takeoffsammart93
 
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.pdfOrbitshub
 
"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 ...Zilliz
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
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
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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
 
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
 
"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 ...
 

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