Contenu connexe Similaire à Openstack havana (20) Openstack havana1. 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
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
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
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