ServerOPuppetIntegration

Summary

This spec summarizes what needs to be done to integrate Puppet into Ubuntu for onerieric. In addition to providing packages packages, this will allow Puppet to be used as an method of installation as well as support the puppet needs of the Orchestra project.

Release Note

Puppet has already been included in Ubuntu. Further integration will allow easier mass-deployment of services traditionally installed from ISO as well as more complex stacks that have been outside the scope of the server installation.

Rationale

User stories

  • User1 simply wants to install/upgrade and use the latest upstream version of Puppetmaster, puppet agent and puppet dashboard.
  • User2 plans to use Puppet to centrally install and manage traditional tasksel items (SSH, LAMP, Samba, etc) throughout his server deployment.
  • User3 wants to use Orchestra to deploy Ubuntu Server + services in his cloud.
  • User4 has already been using Puppet, but wishes to have access to a collection of modules he can use in addition to what he has already developed on his own.

Assumptions

Design

Implementation

Packaging

  • Existing puppet packages need to be updated to 2.7.
  • Puppet dashboard needs to be packages (using MySQL + Apache)
  • Modules will be packaged individually. A '-common' package will be used to install the modules used to install the most common services from Main. An orchestra-puppet-recipes package will install modules specific to orchestra. Etc.

Modules

  • Puppet modules need to be written for services that haven't already been addressed by Orchestra.
  • Additionally, we need to test and verify existing and new modules conform to upstream best practices and coding standards as well as standards set by Ubuntu/Orchestra.

BoF agenda and discussion


Requested Orchestra/Puppet recipes:

[negronjl] Currently implemented Puppet recipes:

  • apache
  • puppet-apt helper
  • debconf helper module
  • distcc
  • gearman
  • glusterfs
  • hadoop
  • haproxy ( with apache and tomcat integration )
  • mongodb
  • mpi ( mpich2 )
  • mysql
  • tomcat ( tomcat6)

[negronjl] We should talk about having a tool that will create the module directory structure and recommended files in it to encourage contributors to have more or less the same module structure.

============

Welcome to Ubuntu Developer Summit!

#uds-o #track #topic

puppet 2.7

-- puppet roadmap -- - quarterly releases

Add Tasksel options ( server ) to puppet ... - mail server - LAMP stack - SSH - samba - DNS - PostgreSQL - Print server ( cups ) - rsyslog - ...

Orchestra recipes needed. - rsyslog - nagios - cobbler? - bzr/git - fs creation/management - jenkins (master and slave) - ha cluster (drdb, pacemaker, corosync, cman) - kvm (host and guest?) - LXC - Xen - OpenStack

Currently implemented Puppet recipes:

  • apache
  • puppet-apt helper
  • debconf helper module
  • distcc
  • gearman
  • glusterfs
  • hadoop
  • haproxy ( with apache and tomcat integration )
  • mongodb
  • mpi ( mpich2 )
  • mysql ( with and without EBS )
  • tomcat ( tomcat6)
  • cloud utils (ec2, UEC, openstack)

We should talk about having a tool that will create the module directory structure and recommended files in it to encourage contributors to have more or less the same module structure.

Actions

  • investigate puppet faces
  • Report puppet configuration ( no .d )
  • Investigate methods for helper script for puppet modules install
  • Puppet dashboard packaging from upstream for inclusion in Ubuntu.
  • Puppet 2.7 for inclusion in Natty.


CategorySpec

ServerOPuppetIntegration (last edited 2011-05-25 19:16:14 by gandelman-a)