• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Aligning Continuous Integration Deployment: Automated Validation of OpenStack Deployments
 

Aligning Continuous Integration Deployment: Automated Validation of OpenStack Deployments

on

  • 4,130 views

Ever think to yourself...how can my team automate the processes for my complex system? How does Continuous integration and Continuous Deployment fit in? In this talk by Teyo and Dan you will dive into ...

Ever think to yourself...how can my team automate the processes for my complex system? How does Continuous integration and Continuous Deployment fit in? In this talk by Teyo and Dan you will dive into world of automation using Puppet and OpenStack. Start off with brief overview of Puppet and OpenStack, then dive into examples of how you model complex deployments of OpenStack using Puppet.

Statistics

Views

Total Views
4,130
Views on SlideShare
1,464
Embed Views
2,666

Actions

Likes
0
Downloads
28
Comments
0

5 Embeds 2,666

http://summit.atlassian.com 2407
https://summit.atlassian.com 244
http://magnolia-staging.private.atlassian.com 11
http://qa-wac.atlassian.com 3
https://wacdev.internal.atlassian.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Aligning Continuous Integration Deployment: Automated Validation of OpenStack Deployments Aligning Continuous Integration Deployment: Automated Validation of OpenStack Deployments Presentation Transcript

    • Monday, June 18, 12
    • Puppet & Openstack: Building and Testing Community Puppet Modules Teyo Tyree Co-Founder Dan Bode Integration SpecialistMonday, June 18, 12
    • Monday, June 18, 12
    • Laziness...Impatience...Hubris... Larry Wall The InternetMonday, June 18, 12
    • Puppet automates computers.Monday, June 18, 12
    • Declarative Idempotent Model DrivenMonday, June 18, 12
    • Puppetized infrastucture is awesome. Using someone else’s puppetized infrastructure is even more awesome. Teyo Tyree Atlassian Conf 2012Monday, June 18, 12
    • Build Reusable InfrastructureMonday, June 18, 12
    • Monday, June 18, 12
    • New GoalMonday, June 18, 12
    • Build reusable models for complex applications.Monday, June 18, 12
    • Model OpenstackMonday, June 18, 12
    • OpenStack is an opensource cloud controlling software that is comprised of three components called Compute, Object Storage, and Image Service.Monday, June 18, 12
    • Monday, June 18, 12
    • repos:   repo_paths:     # openstack git repos     git://github.com/puppetlabs/puppetlabs-nova: nova     git://github.com/puppetlabs/puppetlabs-glance: glance     git://github.com/puppetlabs/puppetlabs-swift: swift     git://github.com/puppetlabs/puppetlabs-keystone: keystone     git://github.com/puppetlabs/puppetlabs-horizon: horizon     # openstack middleware     git://github.com/puppetlabs/puppetlabs-rabbitmq: rabbitmqNerd Sniped     git://github.com/puppetlabs/puppetlabs-mysql:     git://github.com/puppetlabs/puppetlabs-git:     git://github.com/puppetlabs/puppetlabs-vcsrepo:     git://github.com/saz/puppet-memcached:     git://github.com/puppetlabs/puppetlabs-rsync: mysql git vcsrepo memcached rsync     # other deps     git://github.com/ghoneycutt/puppet-xinetd: xinetd     git://github.com/saz/puppet-ssh: ssh     git://github.com/puppetlabs/puppetlabs-stdlib: stdlib     git://github.com/puppetlabs/puppetlabs-apt: apt     git://github.com/ripienaar/puppet-concat: concat     git://github.com/duritong/puppet-sysctl.git: sysctlMonday, June 18, 12
    • repos:   repo_paths:     # openstack git repos     git://github.com/puppetlabs/puppetlabs-nova: nova     git://github.com/puppetlabs/puppetlabs-glance: glance     git://github.com/puppetlabs/puppetlabs-swift: swift     git://github.com/puppetlabs/puppetlabs-keystone: keystone     git://github.com/puppetlabs/puppetlabs-horizon: horizon     # openstack middleware     git://github.com/puppetlabs/puppetlabs-rabbitmq: rabbitmqLego Blocks     git://github.com/puppetlabs/puppetlabs-mysql:     git://github.com/puppetlabs/puppetlabs-git:     git://github.com/puppetlabs/puppetlabs-vcsrepo:     git://github.com/saz/puppet-memcached:     git://github.com/puppetlabs/puppetlabs-rsync: mysql git vcsrepo memcached rsync     # other deps     git://github.com/ghoneycutt/puppet-xinetd: xinetd     git://github.com/saz/puppet-ssh: ssh     git://github.com/puppetlabs/puppetlabs-stdlib: stdlib     git://github.com/puppetlabs/puppetlabs-apt: apt     git://github.com/ripienaar/puppet-concat: concat     git://github.com/duritong/puppet-sysctl.git: sysctlMonday, June 18, 12
    • class nova(   $nova_cluster_id=localcluster,   $sql_connection = false,   $image_service = nova.image.glance.GlanceImageService,   $glance_api_servers = localhost:9292,   $rabbit_host = localhost,   $rabbit_password=guest,   $rabbit_port=5672,   $rabbit_userid=guest, Flexible   $rabbit_virtual_host=/,   $auth_strategy = keystone,   $service_down_time = 60,   $logdir = /var/log/nova,   $state_path = /var/lib/nova,   $lock_path = $::nova::params::lock_path,   $verbose = false,   $periodic_interval = 60,   $report_interval = 10,   $root_helper = $::nova::params::root_helper ) {...}Monday, June 18, 12
    • We aren’t Openstack experts. We need the community.Monday, June 18, 12
    • Puppetized infrastucture is awesome. Using someone else’s Puppetized infrastructure is even more awesome! Teyo Tyree Atlassian Conf 2012Monday, June 18, 12
    • EngagementMonday, June 18, 12
    • Fear the Fork!Monday, June 18, 12
    • Monday, June 18, 12
    • 300+ merged pull requests!Monday, June 18, 12
    • class nova(   $nova_cluster_id=localcluster,   $sql_connection = false,   $image_service = nova.image.glance.GlanceImageService,   $glance_api_servers = localhost:9292,   $rabbit_host = localhost,   $rabbit_password=guest,   $rabbit_port=5672,   $rabbit_userid=guest, Flexible   $rabbit_virtual_host=/,   $auth_strategy = keystone,   $service_down_time = 60,   $logdir = /var/log/nova,   $state_path = /var/lib/nova,   $lock_path = $::nova::params::lock_path,   $verbose = false,   $periodic_interval = 60,   $report_interval = 10,   $root_helper = $::nova::params::root_helper ) {...}Monday, June 18, 12
    • class nova::params {   case $::osfamily {     RedHat: { # package names       $api_package_name = false       $cert_package_name = false       $common_package_name = openstack-nova Multi-platform       $compute_package_name = false       ...          }     Debian: { # package names       $api_package_name = nova-api       $cert_package_name = nova-cert       $common_package_name = nova-common       $compute_package_name = nova-compute       ... }Monday, June 18, 12
    • Whoa, we need tests!Monday, June 18, 12
    • Data Puppet Rspec-Puppet Facts ModelMonday, June 18, 12
    • let :facts do Data {:operatingsystem => ‘RedHat’} end Puppet Facts ModelMonday, June 18, 12
    • Data let :params do {:rabbit_host => ‘10.0.0.42’} end Puppet Facts ModelMonday, June 18, 12
    • it do Data should contain_file (‘/etc/nova.conf’). with_content (‘rabbit_host = 10.0.0.42’) end Puppet Facts ModelMonday, June 18, 12
    • Openstack DevopsMonday, June 18, 12
    • Openstack is not static!Monday, June 18, 12
    • TempestMonday, June 18, 12
    • Puppet defines deploymentsMonday, June 18, 12
    • Testing Openstack?Monday, June 18, 12
    • Git Tempest PuppetMonday, June 18, 12
    • https://github.com/puppetlabs/puppetlabs-openstack http://rspec-puppet.com/ https://github.com/openstack/tempestMonday, June 18, 12
    • Questions?Monday, June 18, 12