[Puppet Users] cucumber-puppet end of life

2012-06-09 Thread Nikolay Sturm
Hi,

cucumber-puppet has reached its end of life:

http://blog.nistu.de/2012/06/09/cucumber-puppet-end-of-life/

In case anyone is interested in picking it up, feel free to contact me.

cheers,

Nikolay

-- 
It's all part of my Can't-Do approach to life. Wally

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



[Puppet Users] Re: Puppet Enterprise 2.5 and cucumber-puppet

2012-03-30 Thread Nikolay Sturm
On Mar 29, 11:17 am, Brian Carpio bcar...@thetek.net wrote:
 Is cucumber-puppet compatible with Puppet Enterprise 2.5? If not is
 there a test framework which is similar that is?

I haven't used puppet enterprise, but I would be surprised if it
showed massive incompatibilities with the open-source version.
Anyways, if cucumber-puppet does not work with puppet enterprise,
please file a bug report and I'll take care of it.

HTH,

Nikolay

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



[Puppet Users] Module reusability

2012-03-05 Thread Nikolay Sturm
Hi,

yesterday I published some ideas about improving the reusability of chef
cookbooks on my blog. As I don't consider this issue chef-specific, you
might be interested in this as well:

http://blog.nistu.de/2012/03/04/reusability-in-configuration-management-systems/

I would love to discuss these ideas and see what people think about it.
Do you see any fundamental differences in puppet that would render these
ideas useless?

cheers,

Nikolay

--
It's all part of my Can't-Do approach to life. Wally

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] Recommendation for module-level and full integration testing puppet configuration.

2011-11-04 Thread Nikolay Sturm
* Brian Troutwine [2011-10-27]:
 While this setup works I hate it. It's tedious, not automated and
 error prone. I wonder, what are the puppet configuration testing
 experiences of other on this list? What have you gotten cobbled
 together, what works and what does not? I'm especially interested in
 experiences using Jenkins/Hudson, as we're already using that for our
 internal projects.

I have a description of the setup I used at my former job at

http://blog.nistu.de/2010/01/18/continuous-integration-for-puppet/

Since then I wrote cucumber-puppet and integrated it into the mix. This
doesn't address the issue of spinning up VMs and actually applying
catalogs, but still helped find bugs before manifests went into
production.

Please let me know if you have any questions regarding the setup.

cheers,

Nikolay

--
It's all part of my Can't-Do approach to life. Wally

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: Re: [Puppet Users] cucumber puppet - ymllookups

2011-09-16 Thread Nikolay Sturm
* tu2bg...@gmail.com [2011-09-15]:
 # For external lookups
 $ymllookup_datadir = /etc/puppet/manifests/extdata
 $ymllookup_precedence = [node/%{fqdn}, location/%{location},
 role/%{hitwise_role}, common/common]

From the error message I guess that features/yaml/testnode.yaml defines
the node's fqdn to something other than 'testnode'.

 Scenario: testing role
 Given a node specified by features/yaml/testnode.yaml
 Given a node of class role

This should not work as the yaml specification takes precedence over
explicit class. Instead I'd use

Given a node of class role
And an fqdn of testnode

with

Given /^an? ([^\]*) of ([^\]*)$/ |fact, value|
  @facts[fact] = value
end

HTH,

Nikolay

--
It's all part of my Can't-Do approach to life. Wally

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] cucumber puppet - ymllookups

2011-09-12 Thread Nikolay Sturm
* denmat [2011-09-12]:
 The issue here is that class roles::prod_webserver doesn't expect to
 be passed any values, but there is a bunch of ymllookups that pull
 values in from local yaml files. This causes errors when it complains
 about either invalid parameter (which it is in the above example) or
 failed lookup of value when I remove those parameters.

Please provide me with a minimal example to reproduce your problem and
I'll have a look.

cheers,

Nikolay

--
It's all part of my Can't-Do approach to life. Wally

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] Validating a puppet configuration

2011-07-31 Thread Nikolay Sturm
* Lars Kellogg-Stedman [2011-07-29]:
 I am trying to place some sanity checks (currently as git pre-commit
 hooks) in our configuration repository to avoid committing invalid
 Puppet configurations.

This is exactly the use case for cucumber-puppet. It compiles your
catalog, catching any syntax errors in your manifest and by default
ships with a step to verify requirements resolution. This should already
be of help, but you can test whatever you want in your cucumber
scenarios. Cucumber-puppet needs a node's yaml file, to verify its
catalog or can operate on single classes individually. More information
can be found here:

http://projects.puppetlabs.com/projects/cucumber-puppet/wiki

cheers,

Nikolay

--
It's all part of my Can't-Do approach to life. Wally

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] Testing, testing . . .

2011-06-12 Thread Nikolay Sturm
* Yushu Yao [2011-06-10]:
 I will need to verify if the services are up after the puppet catalog
 is applied.

I made a habit of setting up nagios checks for all my services. If you
don't have monitoring, I suggest using something like cucumber-nagios to
specify intended behaviour, i.e. service is up and running and checking
it in postrun. See
http://www.unixdaemon.net/tools/puppet/nagios-wrapped-puppet-runs.html
for an example.

 Currently I have to use a shell script to do it. It will be great if
 it can be defined as puppet script and included in the module.

You could do this with nagios checks.

cheers,

Nikolay

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] cucumber-puppet -- storeconfigs -- Feature #4724

2011-06-08 Thread Nikolay Sturm
* denmat [2011-06-07]:
 Where would I add/replace see this code?  What does it do?

cucumber-puppet does not yet deal with storeconfigs and as the warning
is harmless, I suggest you just silence it by raising the loglevel in
your Scenario:

Given I use storeconfigs

HTH,

Nikolay

--
It's all part of my Can't-Do approach to life. Wally

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] Puppet testing and adoption strategies

2011-06-01 Thread Nikolay Sturm
* Tim Coote [2011-06-01]:
 I'm trying to work out the best way to use Puppet to control an
 existing estate, and then how to refactor the configurations. I'd like

I don't believe there to be a best way, it depends on your situation.

When I introduced puppet at our company, I chose to start from scratch
and migrate services to the new architecture one-by-one. This is still a
huge undertaking, but having installed each machine from scratch with
puppet gives us some certainty about configuration coverage, i.e. no
files outside puppet's control.

In a different setup it might just be good enough to migrate files and
services under puppet's control as you go.

cheers,

Nikolay

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] Testing changes before deployment

2011-03-24 Thread Nikolay Sturm
* hai wu [2011-03-20]:
 I am interested in the details using cucumber-puppet to verify catalog
 compilation. Could you please elaborate on it?

I setup a catalog policy that applies to all catalogs, by specifying a
scenario for each of our servers like so:

@node
Given a node specified by $nodefact
When I compile its catalog
Then compilation should succeed
And all resource dependencies should resolve
And all files should require their owner
And all services should have a nagios check
And all websites should have a nagios check
...

As the scenarios are almost identical, I generate the policy from a
script. When someone pushes a change, our CI server runs the complete
test suite to verify all server catalogs. We use tagged scenarios, so
that I can run a single relevant scenario (aka verify a specific node's
catalog) when making changes to a node specific module.

If you have many identical servers, you probably just want to verify the
catalog for each kind of server.

cheers,

Nikolay

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] Testing changes before deployment

2011-03-20 Thread Nikolay Sturm
* Giovanni Bordello [2011-03-20]:
 How do you guys test puppet changes before they go live?

We have several lines of defense:
1) we develop our puppet manifests on a development machine where we can
test many changes locally
2) we use cucumber-puppet to verify catalog compilation for all our
servers and ensure some kind of consistency
3) we deploy automatically to our puppetmaster's testing environment
4) we manually verify changes with --environment=testing --noop on the
target server
5) we manually update our production environment from the testing
environment

Let me know, if you are interested in any details.

cheers,

Nikolay

--
It's all part of my Can't-Do approach to life. Wally

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-users@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.



Re: [Puppet Users] Testing Puppet Manifests?

2010-12-29 Thread Nikolay Sturm
* Dustin J. Mitchell [2010-12-28]:
 I'm having a hard time figuring out how best to develop and test
 changes to Puppet manifests.

Depending on the meaning of test changes to Puppet manifests,
cucumber-puppet might be of interest. It allows you to specify test
cases and verifies catalog behaviour against them. The project is hosted
at http://projects.puppetlabs.com/projects/cucumber-puppet.

cheers,

Nikolay

-- 
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.



Re: [Puppet Users] Puppet Hudson CI

2010-12-29 Thread Nikolay Sturm
* Scott [2010-12-29]:
 I'm looking for additional information regarding Puppet and Hudson.

I blogged about our company's puppet setup here:

http://blog.nistu.de/Continuous_Integration_for_Puppet.html

Since that post I wrote cucumber-puppet, allowing me to implement some
kind of automated test suite and added a deploy job to hudson,
automatically deploying successful builds to our puppetmaster's testing
environment. We added a manual step, updating the production environment
from the testing environment. The former is a git clone from the latter,
so a git pull is all it takes to update production.

HTH,

Nikolay

-- 
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.



Re: [Puppet Users] Automating infrastructure tests on Puppet nodes after a puppetrun

2010-10-20 Thread Nikolay Sturm
* Matt Wallace [2010-10-20]:
 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!

I have put up some documentation at
http://projects.puppetlabs.com/projects/cucumber-puppet/wiki

If that doesn't get you started, feel free to ask here or email me
directly. I would be glad to update the documentation in case anything
is unclear.

cheers,

Nikolay

--
It's all part of my Can't-Do approach to life. Wally

-- 
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.



Re: [Puppet Users] cucumber-puppet and environments

2010-09-15 Thread Nikolay Sturm
* Oliver [2010-09-14]:
 What mechanism is there (or is needed) in order to make
 cucumber-puppet aware of the environment (or at least modulepath)
 settings?

The environment is just another node fact. As long as you don't use yaml
node files, you can set it in hooks.rb or in a Given step:

@facts['environment'] = test1

If you use yaml node files, you have to use different files for
different environments. It is currently not possible to override the
facts from node files.

cheers,

Nikolay

-- 
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.



[Puppet Users] Re: Is a puppet server essential?

2010-08-27 Thread Nikolay Sturm
On Aug 27, 4:04 am, bonobo limnsn...@gmail.com wrote:
 Our firewall environment is very restrictive, and there's no way a
 server on our publicly accessible network will be allowed to initiate
 a connection to a puppet server on our internal network.

Another option would be to replicate your puppetmaster into your other
networks. We have a similar problem I intend to solve by adding a
puppetmaster
to my DMZ (without critical internal data, of course).

cheers,

Nikolay

-- 
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.



[Puppet Users] property mixups with packages

2010-07-19 Thread Nikolay Sturm
Hi,

I have a weird problem of puppet mixing up resoure properties when it
comes to installing packages, leading to situations where clients
might want to install some package with a version of root or some
other bad value:

Fri Jul 16 17:38:03 +0200 2010 //nautilus-actions/Package[nautilus-
actions]/ensure (err): change from 1.10.1-1 to root failed: Could not
update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--
force-confold install nautilus-actions=root' returned 100: Reading
package lists...

I've seen filenames, modes and other crap in there. The problem seems
to only occur with the package resource and only occurs occasionally.

My puppetmaster runs the version 0.25.5 gem on Ubuntu 10.04 while my
clients run the 0.24.8 Ubuntu 9.10
package.

Has anyone else ever seen this? Any idea what might cause this
behaviour?

cheers,

Nikolay

-- 
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.



[Puppet Users] Re: behavioural testing of puppet manifests with cucumber-puppet

2010-04-18 Thread Nikolay Sturm
On Apr 18, 3:23 am, James Turnbull ja...@lovedthanlost.net wrote:
 Wow.  Awesome.  Only comment I'd make - and it's more a suggestion than
 a critique - is that it'd be great to be able to bundle the features
 inside modules to aid in portability.

Yes, that makes sense. Thanks!

cheers,

Nikolay

-- 
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.



[Puppet Users] behavioural testing of puppet manifests with cucumber-puppet

2010-04-17 Thread Nikolay Sturm
Hi,

I'd like to announce a little tool I have written, called cucumber-
puppet. It supports writing behavioural tests for your puppet
manifest, using cucumber. This allows for BDD-style manifest
development and fearless refactorings.

http://blog.nistu.de/cucumber_puppet_0_0_3_released.html

Let me know what you think!

cheers,

Nikolay

-- 
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.



[Puppet Users] Re: Time to scale up? : Could not call fileserver.describe: #Errno::ECONNRESET: Connection reset by peer

2010-04-15 Thread Nikolay Sturm
On Apr 14, 11:35 am, Dick Davies rasput...@hellooperator.net wrote:
 I'm getting a lot of 'connection reset' errors all of a sudden on our
 0.24.8 puppetmaster.
 I'm assuming that's a load issue?

Probably, I had the same problem recently and solved it by serializing
puppetd runs. It works by restarting my puppetd processes daily at a
host-specific time from cron:

- have a sorted list of all nodes accessing your puppetmaster
- external node classifier computes rank of node (the host's place in
above list) modulo 30 and puts it into a parameter
- install cronjob on each machine to restart puppet daily at some hour
and rank minute

It's not perfect, but instead of load spikes up to 10 for several
minutes, the load on my puppetmaster stays between 0.5 and 1.

It would be really nice, if puppetmaster had some intelligence, to
help spreading out clients like this automatically.

cheers,

Nikolay

-- 
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.



[Puppet Users] Re: Time to scale up? : Could not call fileserver.describe: #Errno::ECONNRESET: Connection reset by peer

2010-04-15 Thread Nikolay Sturm
On Apr 15, 10:12 am, David Schmitt da...@dasz.at wrote:
 There is --splay

Which doesn't help at all. When I tested it with 0.24.8, it would
delay the initial run randomly, but successive runs would start
relative to puppetd's startup, excluding the delay. Haven't look
whether this is fixed in 0.25 or if there even exists a bug report,
though.

Nikolay

-- 
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.