Zenoss: Buildout
Upcoming SlideShare
Loading in...5
×
 

Zenoss: Buildout

on

  • 3,600 views

Deploying Zenoss with Buildout.

Deploying Zenoss with Buildout.

Statistics

Views

Total Views
3,600
Views on SlideShare
3,589
Embed Views
11

Actions

Likes
1
Downloads
33
Comments
0

1 Embed 11

http://www.slideshare.net 11

Accessibility

Upload Details

Uploaded via as Apple Keynote

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

Zenoss: Buildout Zenoss: Buildout Presentation Transcript

  • Zenoss: Buildout Alex Clark <aclark@aclark.net> Plone Consultant, Author, Core Developer Presented to BACON-PIG @ Zenoss HQ in Annapolis MD June 24 2009 & Presented to ZPUGDC @ Radio Free Asia in Washington DC July 6, 2009
  • What is buildout? A system to create complex, repeatable environments via Windows ini style syntax Simplest buildout [buildout] parts= “Pluggable” with recipes, search PyPI (http:// pypi.python.org) for ‘recipe’
  • Why are you doing this? Ability to easily deploy Zenoss via buildout: % svn co http://svn.aclark.net/svn/public/zen/trunk zen % cd zen; python bootstrap.py; bin/buildout Custom deployments featuring Zenoss + Plone. Better understanding of your environment. I like fiddling with buildout.
  • Aha, so you are insane then? No. Well, maybe, but there are other good reasons: Buildout has become the de facto standard in the Plone world for deploying repeatable apps, and I’d like to see its popularity spread. I’d also like to see some of Plone’s generally useful recipes be adopted by other open source projects. But buildout sucks! I.e. It is not as good as RPM, dpkg, etc. IMO, Buildout is NOT an alternative to packaging systems like rpm, dpkg, etc. but rather a complement to them. IOW, my general approach is to use system packages when I can easily use them, and to use buildout in cases where I need more control, repeatability, configuration management, etc.
  • System packages vs. buildouts System Packages Some things (e.g. libjpeg) may be better left to the OS (and whatever package management system it uses) Buildout Some things may be better suited for buildout (particular when it is hard to get packages for the latest code, e.g. rrdtool)
  • OK, Tell me about the buildout then Mostly uses cmmi and command recipes. These recipes download packages, extract them, cd to the package dir then do: ./configure; make; make install. There are currently two competing recipes that perform the same function with subtle differences, they are: zc.recipe.cmmi Allows you to set environment variables, e.g. CFLAGS, PKG_CONFIG, etc Allows you to pass extra options to ./configure with ‘extra_options’ (e.g. extra_options=--with-expat=${expat:location}) hexagonit.recipe.cmmi Allows you to do a post mortem via ‘keep_compile_dir = true’ option Allows you to pass extra options to ./configure with ‘configure-options’ (e.g. --configure_options=--with-expat=${expat:location}) Depending on your needs, one, or the other, or both or either may be required.
  • So, what else does the buildout do? Satisfies Zenoss dependencies: Zope2 Uses plone.recipe.zope2install to download and install the Zope 2 tarball. MySQL Uses zc.recipe.cmmi recipe to build the package. Uses zc.recipe.egg to configure environment variables. rrdtool Uses zc.recipe.cmmi/hexagonit.recipe.cmmi recipes to build the package and it dependencies: cairo/pango, glib/gtk, gettext, fontconfig, etc. Zenoss Zope 2 Products Uses subversion svn:externals property to pull down Zenoss 2.3.x.
  • Enough. Show me the buildout already! Glad you asked, please see the commented buildout at: http://svn.aclark.net/svn/public/buildout/zenoss/ trunk
  • The End! Thank you for reading. Questions/Comments/Concerns/WantToHelp? Please e-mail: aclark@aclark.net For your Plone consulting & hosting needs, please visit my website: http://aclark.net. For the latest on my (Plone and other related) activities, please follow me on Twitter: http:// twitter.com/aclark4life.