On Tuesday 19 Oct 2010 21:52:37 Nicolas Szalay wrote:
> ----- "Al @ Lab42" <lab42...@gmail.com> a écrit :
> | Hi List,
> 
> Hi,
> 
> | I would like to discuss with whoever is interested one topic that I
> | suppose has general interest.
> | 
> | I want to implement some kind of automatic testing on the status of a
> | node after a Puppet Run.
> | These tests involve trivial and less trivial things things like:
> | - A local service is running
> | - A local port is open
> | - A remote server on a remote port is reachable by the node
> | - An URL replies with an expected content
> | - Some specific function needed by the node and provided by a remote
> | host is working (ie: ldap acces for users authentication, ntp
> | sync...)
> | - Whatever other check that asserts that the node is correctly
> | working

OK, so we do this slightly differently however it might help...

1) All our manifests are stored in Git
2) A Git update forces Hudson to run a build
3) The Build process performs the following steps:
    * Checkout the latest version of the manifest into the staging server's 
puppet-module-path
    * Start a virtual server of the defined type using cucumber-vhost[0]
    * Use puppet to deploy the latest staging versions of the manifests to the 
virtual-server
    * run cucumber tests (using webrat for webservices and SMTP/IMAP libraries 
to test sending/delivery of email) against the service/facility that is 
contained in the manifests we are testing
    * Report back on the results of those tests
    * Destroy the virtual server

This means that all of our manifests are fully tested before they go near our 
production system and we can be confident (although obviously this is only as 
good as the tests that we write!) that when we merge from staging into master 
the changes that are rolled out will work correctly.

I've not gone down the cucumber-puppet root as I'm not 100% sure how it works 
and how to write stories correctly so if anyone can point me at a good 
resource on this, I'd be very appreciative!

Hope that helps,

Matt

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to