Академический Документы
Профессиональный Документы
Культура Документы
<3 Fest
by Dan Bode
bodepd <at > [freenode.net, twitter, github]
OpenStack?
What is OpenStack?
Open source project
Self service API for your infrastructure
OpenStack Components
Compute (Nova)
Image (Glance)
Identity (Keystone)
Dashboard (Horizon)
Object Store (Swift)
Nova
OpenStack Compute
Schedules allocation of compute resources.
Scheduler
Nova API
RabbitMQ
Volumes
Volumes
Compute
Compute
Compute
Network
Nova
Supports management of VM instances, volumes, and
networks
Scheduler
list instance
create instance
terminate instance
Nova API
RabbitMQ
Volumes
Volumes
Compute
Compute
Compute
create network
create volume
attach volume
Network
Glance
Storage service for Virtual machine images
Swift
Store
Glance
API
Glance
Registry
FileSystem
Glance
Storage service for Virtual machine images
Swift
AMI
Store
Retrieve
AMI
Store
Glance
API
Glance
Registry
FileSystem
Keystone
Manages authentication/authorization
Tenant
User
Authenticate
Role
Keystone API
Token
Service
Endpoint
Horizon
Provides a dashboard for the OpenStack components.
Why Integrate?
OpenStack is hard
Puppet
OpenStack
Your Business
Configuration Management
Self Service API
Hardware
OpenStackios
Now with best practices by:
CERN,
Enovance,
Cisco
Redhat,
Cybera
Building
OpenStack
Modules
Part One:
Creating a community
Because youre the experts
Class[keystone]
Package[keystone]
Interface
- bind_host
- public_port
- admin_port
- admin_token
- compute_port
Group[keystone]
User[keystone]
File[/etc/keystone/keystone.conf]
Service[keystone]
All of them:
nova
swift
glance
keystone
horizon
openstack
rabbitmq
mysql
memcache
apt
concat
ntp
rsync
stdlib
xinetd
Class
[openstack::controller]
mysql::server
rabbit::queue
glance::api
keystone
nova::api
Class
[openstack::compute]
nova::compute::libvirt
nova::network::flatdhcp
glance::registry
nova::volume::iscsi
memcached
nova::scheduler
horizon
nova
glance
swift
keystone
horizon
rabbitmq
mysql
git
vcsrepo
memcached
rsync
xinetd
ssh
stdlib
apt
concat
sysctl
glance
|-- manifests
| |-- db
| | |-- mysql.pp
| | `--postgresql.pp
| |-- backend
| | |-- file.pp
| | `-- swift.pp
=
=
=
=
false
false
'openstack-nova'
false
=
=
=
=
'nova-api'
'nova-cert'
'nova-common'
'nova-compute'
Rspec Puppet
Data
Puppet
Facts
Model
Emulate Facter
let :facts do
{:operatingsystem => RedHat}
end
Data
Puppet
Facts
Model
Specify Data
Data
let :params do
{:rabbit_host => 10.0.0.42}
end
Puppet
Facts
Model
Inspect catalog
it do
should contain_file (/etc/nova.conf).\
with_content (rabbit_host = 10.0.0.42)
end
Data
Puppet
Facts
Model
Integration Tests
GitHub
Tempest
Jenkins
Puppet
Next Steps
Start connecting the community
get more collaboration on the mailing list
grant community members merge rights
Single set of preferred community modules for
monitoring
HA
Razor
automatically boots a machine in a micro-OS with
facter running
Machines are automatically discovered and turned
into an inventory service that can be
programmatically installed.
Resources:
http://puppetlabs.com/blog/module-of-the-week-puppetlabs-openstack/
http://forge.puppetlabs.com/puppetlabs/openstack
https://github.com/puppetlabs/puppetlabs-openstack