Openstack havana

1,437
-1

Published on

presentation used at the puppet build an openstack lab

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,437
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
77
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Openstack havana

  1. 1. Lets build an OpenStack! Dan Bode @bodepd ‘doer of things’ at PuppetLabsThursday, April 18, 13
  2. 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. 3. Dependencies • Ruby (we assume its already installed) • VirtualBox • Ubuntu precise base box • Vagrant • Puppet modulesThursday, April 18, 13
  4. 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.dmgThursday, April 18, 13
  5. 5. • unpack the modules • tar -xzvf puppet-openstack_dev_env.tgzThursday, April 18, 13
  6. 6. • vagrant box add precise64 precise64.boxThursday, April 18, 13
  7. 7. • double check the proxy settings • manifests/pre.pp • manifests/setup/precise64.ppThursday, April 18, 13
  8. 8. • vagrant up openstack_controllerThursday, April 18, 13
  9. 9. • vagrant up compute1Thursday, April 18, 13
  10. 10. • vagrant ssh openstack_controller • bash /tmp/test_nova.sh • source /root/openrcThursday, April 18, 13
  11. 11. The GoalThursday, April 18, 13
  12. 12. The Goal: Start with your laptop Your LaptopThursday, April 18, 13
  13. 13. The Goal: Install VBox Virtual Box Your LaptopThursday, April 18, 13
  14. 14. The Goal: Install vagrant Vagrant Virtual Box Your LaptopThursday, April 18, 13
  15. 15. The Goal: Define/Boot 2 VMs with VM1 VM2 Vagrant Vagrant Virtual Box Your LaptopThursday, April 18, 13
  16. 16. The Goal: Run Puppet on those VMs Puppet VM1 VM2 Vagrant Virtual Box Your LaptopThursday, April 18, 13
  17. 17. Vagrant (Vagrantfile) VM1 VM2 Vagrant Virtual Box Your LaptopThursday, April 18, 13
  18. 18. Librarian Puppet (Puppetfile) Puppet VM1 VM2 Vagrant Virtual Box Your LaptopThursday, April 18, 13
  19. 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
  20. 20. Site Manifests (manifest/site.pp)Thursday, April 18, 13
  21. 21. Specify how nodes map to roles node /openstack-controller/ { .... } node /compute/ { ... }Thursday, April 18, 13
  22. 22. Hiera (external hierarchical data lookup) Common Default CI US EU Node Node Node Node Node NodeThursday, April 18, 13
  23. 23. check out hiera_data/ hiera_data/common.yaml hiera_data/jenkins.yaml hiera_data/NODE.yamlThursday, April 18, 13
  24. 24. The OpenStack ModuleThursday, April 18, 13
  25. 25. Specifies high level roles that are very opinionated about how to install openstack openstack::all openstack::controller openstack::compute openstack::keystone openstack::db::mysqlThursday, April 18, 13
  26. 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
  27. 27. The ‘Core’ ModulesThursday, April 18, 13
  28. 28. • nova • swift • glance • keystone • horizon • openstack • cinder • quantum • ceilometerThursday, April 18, 13
  29. 29. Helper ModulesThursday, April 18, 13
  30. 30. • rabbitmq • mysql • memcache • apt • concat • ntp • rsync • stdlib • xinetd • openvswitch • apacheThursday, April 18, 13
  31. 31. Stackforge • modules have been upstreamed to stackforge • follow openstack development processThursday, April 18, 13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×