Developing new modules using Puppet Sandbox

144 views
Skip to first unread message

Aaron Schaefer

unread,
Mar 21, 2012, 4:36:33 PM3/21/12
to Puppet Users
Hey everyone,

I just wanted to share a simple project I created called Puppet
Sandbox [1]. It's a multi-VM Vagrant-based Puppet development
environment used for creating and testing new modules outside of your
production environment. I also made a screencast that provides a brief
overview of the project [2]. There's still a bit of work to be done,
but the basics are all in place. Let me know what you think!

[1] https://github.com/elasticdog/puppet-sandbox
[2] http://vimeo.com/elasticdog/puppet-sandbox-demo

--
Aaron Bull Schaefer
http://elasticdog.com/

Jonathan Proulx

unread,
Mar 21, 2012, 6:11:52 PM3/21/12
to puppet...@googlegroups.com
Screen cast looks cool, can't wait to dig into the code.

I'm at the beginning (3rd day?) of a similar project using cucumber to
drive module tests on virtual boxes using vagrant. I've been focusing
on puppet "apply"ing single tasks (a module and its dependencies) to a
variety of operating systems and verifying it works.

I definitely am for the end to end testing the VM gets you.
Cucumber-puppet and Rspec-puppet both seem to just look at the
generated manifest which can be valid but still do the worng thing
(try installing "chromium" instead of "chromium-browser" on a Debian
system fo ran example :) )

Setting up a whole client server virtual environment seems like it may
be over kill, but if your environment uses exported resources it may
be necessary.

-Jon

elasticdog

unread,
Mar 21, 2012, 6:56:22 PM3/21/12
to puppet...@googlegroups.com

On Wednesday, March 21, 2012 3:11:52 PM UTC-7, Jonathan Proulx wrote:
Screen cast looks cool, can't wait to dig into the code.

I'm at the beginning (3rd day?) of a similar project using cucumber to
drive module tests on virtual boxes using vagrant.  I've been focusing
on puppet "apply"ing single tasks (a module and its dependencies) to a
variety of operating systems and verifying it works.


Very cool! It would be awesome to have an automated way to test manifests cross-platform.

Puppet Sandbox isn't too complex at this point, it just takes the headache out of configuring this type of environment and allows you to stay away from your production setup. It still needs tweaking to work on multiple platforms, and I'd love for some of the templates it creates to be more dynamic so they could pick up changes based on info in the Vagrantfile, but it works as expected with the default configuration.

--
Aaron Bull Schaefer

Dan Bode

unread,
Mar 21, 2012, 8:35:18 PM3/21/12
to puppet...@googlegroups.com
on a related note. I am a little over a week into starting to write a tool to streamline my module development efforts.

It is intended to model multi-node deployments and to support running integration tests.

It is all ec2 based (I had to abandon my vagrant + rake workflow b/c it just did not scale for large complicated app deployments)

I am not quite ready to share, it doesn't have any docs yet, its just a bunch of code. I am happy to share the source if anyone is interested:



--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/y1Gga98yLg8J.

To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Reply all
Reply to author
Forward
0 new messages