Re: [Puppet Users] Noob question about the ${name} variable

2013-09-25 Thread Brian Lalor
On Sep 25, 2013, at 8:12 AM, John Simpson  wrote:

>  file { '/etc/httpd/conf.d/ssl.conf' :
>ensure  => file ,
>content => template ( "${module_name}{$name}.erb" ) ,
>  }
> 
> Here $name expands to "apache", so the filename passed to template() is 
> "apacheapache.erb", rather than the expected and desired value 
> "apache/etc/httpd/conf.d/ssl.conf.erb".

Is this the literal syntax?  Because you have "{$name}" instead of "${name}".  
I can't explain why the former would expand the way it does, unless the braces 
around the variable name have special meaning.  I would expect you'd get the 
literal braces in the expanded value.  Not a real answer, but it does look 
unintentional.

--
Brian Lalor
bla...@bravo5.org
http://github.com/blalor

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Use of defined()

2013-09-09 Thread Brian Lalor
As my previous email this morning probably indicated, I'm struggling with the 
use of the defined( ) function.  The documentation says its operation is 
parse-order dependent; I'm trying to figure out how it's usable at all.  Since 
resource order with Puppet is nondeterministic (without explicitly using 
chaining arrows or before/after), how can I reliably test for the presence of a 
resource, like a package?  I see lots of instances of 

if ! defined(Package['some-package']) { … }

in other peoples' code.  Maybe I'm not understanding what's meant by "parse 
order", however.  Could someone explain?

Thanks,
Brian

--
Brian Lalor
bla...@bravo5.org
http://github.com/blalor

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Resource ordering problem

2013-09-09 Thread Brian Lalor
On Sep 9, 2013, at 10:02 AM, Brian Lalor  wrote:

> I'm struggling once again with resource ordering with Puppet.

*sigh* Looks like the 

if defined(Class['rabbitmq::service']) { … }

guard I've got around these relationships is wrong.  

It's gonna be that kind of week, isn't it? :-(

Sorry for the noise, everyone!

--
Brian Lalor
bla...@bravo5.org
http://github.com/blalor

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Resource ordering problem

2013-09-09 Thread Brian Lalor
I'm struggling once again with resource ordering with Puppet.

I'm using Puppet 3.2.4, v3.0.0 of the Puppetlabs RabbitMQ module and v0.7.5 of 
the Sensu module.  I'm trying to compose a system from these modules that runs 
the Sensu server, as well as the RabbitMQ server.  I have the following 
relationships defined:

Service['rabbitmq-server'] -> Service['sensu-client']
Service['rabbitmq-server'] -> Service['sensu-api']
Service['rabbitmq-server'] -> Service['sensu-dashboard']
Service['rabbitmq-server'] -> Service['sensu-server']

However I'm consistently finding that Puppet is attempting to start 
Service[sensu-api] before Service[rabbitmq-server]:

Notice: 
/Stage[main]/Sensu::Service::Server/Service[sensu-dashboard]/ensure: ensure 
changed 'stopped' to 'running'
Info: /Stage[main]/Sensu::Service::Server/Service[sensu-dashboard]: 
Unscheduling refresh on Service[sensu-dashboard]
Error: Could not start Service[sensu-api]: Execution of 
'/etc/init.d/sensu-api start' returned 1: 
Error: /Stage[main]/Sensu::Service::Server/Service[sensu-api]/ensure: 
change from stopped to running failed: Could not start Service[sensu-api]: 
Execution of '/etc/init.d/sensu-api start' returned 1: 
Notice: /Stage[main]/Rabbitmq::Service/Service[rabbitmq-server]/ensure: 
ensure changed 'stopped' to 'running'
Info: /Stage[main]/Rabbitmq::Service/Service[rabbitmq-server]: Unscheduling 
refresh on Service[rabbitmq-server]
Notice: /Stage[main]/Sensu::Service::Server/Service[sensu-server]/ensure: 
ensure changed 'stopped' to 'running'
Info: /Stage[main]/Sensu::Service::Server/Service[sensu-server]: 
Unscheduling refresh on Service[sensu-server]
Info: Class[Sensu::Service::Server]: Scheduling refresh of 
Class[Sensu::Service::Client]
Info: Class[Sensu::Service::Client]: Scheduling refresh of 
Service[sensu-client]
Notice: /Stage[main]/Sensu::Service::Client/Service[sensu-client]: 
Dependency Service[sensu-api] has failures: true
Warning: /Stage[main]/Sensu::Service::Client/Service[sensu-client]: 
Skipping because of failed dependencies
Notice: /Stage[main]/Sensu::Service::Client/Service[sensu-client]: 
Triggered 'refresh' from 1 events
Notice: /Stage[main]/Sensu/Anchor[sensu::end]: Dependency 
Service[sensu-api] has failures: true
Warning: /Stage[main]/Sensu/Anchor[sensu::end]: Skipping because of failed 
dependencies

I've taken this down to the lowest-level resource and it's still failing.  What 
am I doing wrong?

Thanks,
Brian

--
Brian Lalor
bla...@bravo5.org
http://github.com/blalor

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] What is the alternative to Ruby DSL as use of the Ruby DSL is deprecated ?

2013-08-25 Thread Brian Lalor
There's a host type built into puppet. 

--
Brian Lalor
bla...@bravo5.org

On Aug 25, 2013, at 9:39 AM, Stefan Schmid  wrote:

> Hi
> 
> I am new to puppet and need to manage host entries in file /etc/hosts as 
> follows on node mail.example.com and db.example.com. I do not want to manage 
> the whole file /etc/hosts with puppet, only a few entries.
> 
> puppet version 3.2.1
> 
> node mail.example.com, file /etc/hosts:
> (..)
> 172.16.89.96ldapmaster.example.comldapmaster ldap
> 172.16.89.85sms.example.comsms sms-gateway
> (..)
> 
> node db.example.com, file /etc/hosts:
> (..)
> 172.16.89.80abc.example.com abc
> 172.16.89.81xyz.example.com xyz bigben
> (..)
> 
> In general, a node may have 0 to n host entries. The number of host entries 
> on a node A may differ from the number host entries on a node B. A certain 
> host entry ( IP-Address  Full-Qualified-Hostname  Short-Hostname)
> may be in the file /etc/hosts on 0 to n nodes concurrently.
> 
> To manage the above host entries on node mail.example.com and db.example.com 
> I used Ruby DSL as follows, then I learnt that Ruby DSL is deprecated. What 
> is the alternative to Ruby DSL ? Any hint
> would be helpful.
> 
> A puppet module using Ruby DSL:
> 
> puppetmaster:/etc/puppet/modules/hosts/manifests # cat init.rb 
> 
> hostclass :hosts do
> 
>  entries = scope.lookupvar("hosts_entries")
> 
>  raise Puppet::ERROR,
>   "hosts_entries must be a Hash" unless entries.kind_of?(Hash)
> 
>  entries.each do |title, parameters|
> 
>  host( title,
>   :ensure   => parameters["ensure"],
>   :target   => parameters["target"],
>   :ip   => parameters["ip"],
>   :host_aliases => parameters["host_aliases"])
>  end
> end
>  
> puppetmaster:/etc/puppet/modules/hosts/manifests #
> 
> 
> Basic ENC script output for the Ruby DSL and node mail.example.com :
> (..)
> ---
> parameters:
>  hosts_entries:
>   sms.example.com:
> ensure: present
> target: /etc/hosts
> ip: 172.16.89.85
> host_aliases: 
>  - sms 
>  - sms-gateway
>   ldapmaster.example.com:
> ensure: present
> target: /etc/hosts
> ip: 172.16.89.96
> host_aliases: 
>  - ldapmaster 
>  - ldap
> classes:
>  - hosts
> (..)
> 
> 
> Basic ENC script output for the Ruby DSL and node db.example.com :
> (..)
> ---
> parameters:
>  hosts_entries:
>   abc.example.com:
> ensure: present
> target: /etc/hosts
> ip: 172.16.89.80
> host_aliases: abc
>   xyz.example.com:
> ensure: present
> target: /etc/hosts
> ip: 172.16.89.81
> host_aliases: 
>  - xyz 
>  - bigben
> classes:
>  - hosts
> (..)
> 
> 
> Thanks.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Re: Installing Puppet 3 client on a Raspberry Pi

2013-08-15 Thread Brian Lalor
What about installing via a gem?

--
Brian Lalor
bla...@bravo5.org

On Aug 15, 2013, at 5:51 PM, Ellison Marks  wrote:

> There's nothing prebuilt in the official repo for the arm processor in the 
> raspi, I'd guess. You're probably going to have to build from source, unless 
> someone else has already made a package.
> 
> On Thursday, August 15, 2013 8:36:47 AM UTC-7, Alastair Montgomery wrote:
>> 
>> I'm trying to install the latest Puppet client on my Raspberry PI but I am 
>> getting the following errors;
>> 
>> wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
>> sudo dpkg -i puppetlabs-release-wheezy.deb
>> sudo apt-get update
>> W: Failed to fetch http://apt.puppetlabs.com/dists/wheezy/Release  Unable to 
>> find expected entry 'main/binary-armhf/Packages' in Release file (Wrong 
>> sources.list entry or malformed file)
>> 
>> Any idea on how to fix this?
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] How to manage third-party module?

2013-08-06 Thread Brian Lalor
On Aug 6, 2013, at 5:27 AM, Feifei Jia  wrote:

> This is very inconvenient, obviously. So how do you guys manage third-party 
> modules, except using git submodule? Thanks.

I use librarian-puppet https://github.com/rodjek/librarian-puppet for one of my 
projects.  It's basically a dependency management system for Puppet modules, a 
la Maven, Ruby gems, etc.  The problem is that I find its resolution of 
versions quite unreliable, for example grabbing apache 0.8.1 when 0.6.x is 
specified.  The author is working on a replacement called Henson 
https://github.com/wfarr/henson.

Librarian-puppet has some (undocumented) functionality that looks like it'll 
allow you to cache your dependencies and work from those, so I'm considering 
looking into that and committing the cardinal version control sin of checking 
in 3rd-party dependencies.  For right now, tho, despite my concerns with it, I 
find it a huge improvement over submodules or managing others modules in my 
source.

An alternative may be to separate out your own modules from 3rd-party modules.  
As it is, I put librarian-puppet-managed modules into a "library_modules" 
folder and ones developed just for a given project into "modules".  That will 
give you some separation of code and at least make it easier to manage updates.

--
Brian Lalor
bla...@bravo5.org
http://github.com/blalor

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [Puppet Users] Executing a script after creating vhosts with create_resources

2013-06-12 Thread Brian Lalor
On Jun 12, 2013, at 6:25 AM, Rachel Andrew  wrote:

> What I need to know however is when a vhost and db has been created. So I can 
> kick off a PHP script to deploy a bunch of files and call our API to send out 
> emails.

I'm pretty sure you'll have to do a custom define to make that happen, which 
should play well with create_resources.  You could also play with a single 
notify used by all of the resources that have been created…

--
Brian Lalor
bla...@bravo5.org
http://github.com/blalor

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




Re: [Puppet Users] Manage config files with Puppet and version control software

2013-05-24 Thread Brian Lalor
On May 24, 2013, at 6:14 AM, Dusan Dordevic 
 wrote:

> My problem is following, if I want to manage /etc/mysql/my.cnf and other 
> config files, that means I would need to make repository in / which I am not 
> really happy with. Mercurial that we are using do not support relocating 
> files, so I cannot check out my.cnf from somewhere else and place it to 
> /etc/mysql/. Only thing that comes to mi mind is to check out repo somewhere 
> else and then create a copy of file.


This is the approach that I'm taking.  It works very well; have vcsrepo manage 
the repository, then use a file resource to ensure that a target file is kept 
in sync with the one checked out from the remote repo.  Make the file resource 
require the vcsrepo resource.  Then you can notify MySQL to restart when its 
config file changes.

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] Manage config files with Puppet and version control software

2013-05-24 Thread Brian Lalor
On May 24, 2013, at 4:12 AM, dusan.dorde...@clavistechnology.com wrote:

> I want to manage some configuration files (let's say my.cnf) using Puppet. I 
> want to keep that file in some version control repository and developers will 
> have access to it. Once they change it, Puppet should pull it, put it in 
> place on server and restart service. 
> 
> Is there any general guide what is the best practice how to achieve this ?


I'm not sure that's really a best practice, but it does come in handy from time 
to time.  There's a module for that: vcsrepo.

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] puppet in an appliance model?

2013-05-20 Thread Brian Lalor
On May 20, 2013, at 8:59 AM, jcbollinger  wrote:

> Well, I think there would be a couple more things missing than that.  
> Reporting and the HTTP API spring to mind.  Still, these are things that 
> don't make much sense in a single-machine context anyway.  Certainly all the 
> bread & butter features will still work: modules, functions, templates, 
> relationships, classes, all native and defined-type resources, hiera.  I 
> think even node blocks work, though they don't necessarily make sense in 
> single-machine mode.


You can still do reporting, just not back to the master.  I've been playing 
with pushing reports to Logstash…

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] Hiera lookups in templates

2013-05-10 Thread Brian Lalor
On May 10, 2013, at 7:18 AM, Jonathan Gazeley  
wrote:

> ipaddr = <%= scope.function_hiera(["jrs_config_server1"]) %>

You're passing in an array; is that intentional?

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] Puppet install decency issues

2013-05-07 Thread Brian Lalor
I'd love to be proven wrong, but in my experience neither rvm nor rbenv are 
packaging-friendly. You'll end up compiling code and downloading dependencies 
from your prod machines. That's a really Bad Idea. 

--
Brian Lalor
bla...@bravo5.org

On May 7, 2013, at 3:55 PM, David Schmitt  wrote:

> For everything else, use rbenv or rvm.

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




Re: [Puppet Users] New to hiera

2013-05-04 Thread Brian Lalor
On May 4, 2013, at 9:50 PM, Josh  wrote:

> So instead of:
> 
> class bar ($foo = 'blah') { ... }
> 
> One would have something like:
> 
> class bar { $foo = heira('bar::foo', 'blah') }
> 
> Is that correct?


That's the hard way to do it.  The easy way is to do
class bar ($foo) { … }
and Hiera will look up the key "bar::foo" from the configured data sources.

--
Brian Lalor
bla...@bravo5.org


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




[Puppet Users] Custom hiera back-ends

2013-04-25 Thread Brian Lalor
So there's this:
http://docs.puppetlabs.com/hiera/1/custom_backends.html


Is there a more thorough tutorial?  That one's a little … light. :-)

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] Hiera Automatic Parameter Lookup Question

2013-04-19 Thread Brian Lalor
On Apr 19, 2013, at 9:34 AM, jcbollinger  wrote:

> Moreover, I wanted to point out that, contrary to Brian's implication, 
> automated class parameter binding is independent of whether parameters have 
> explicit default values.  If you do not bind a parameter's value via a 
> class's declaration (and you shouldn't) then Puppet attempts to look up a 
> value for it via hiera, regardless of whether an explicit default value is 
> declared by the class.  Only if the hiera lookup fails is an explicit default 
> used.


That's kind of cool.  

class foo (
$bar => hiera('baz', 'bap'),
) { }

So $bar will be set to "bap" only if foo::bar and baz are not found in Hiera, 
in that order? 

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] Hiera Automatic Parameter Lookup Question

2013-04-18 Thread Brian Lalor
When you use the hiera() function, you ate by definition not doing automatic 
param lookup. :-) whatever you put in for the first argument is the key that 
will be looked up via hiera verbatim. If you leave the class parameter without 
a default and instantiate it without a value, puppet will prefix the name of 
the class to the param name with double colons and use that as the lookup key 
in hiera. 

--
Brian Lalor
bla...@bravo5.org

On Apr 18, 2013, at 4:15 PM, Alaric  wrote:

> This may be a dumb question, but here goes
> 
> 
> So I'm running on Puppet 3.1.1 on RHEL5, and i've been using Hiera since 
> 2.5/2.6 ish and it's been great!!  I was reading up on Automatic Parameter 
> Lookups and would love to use it for my modules.  But I can't seem to ever 
> get Hiera/Puppet to load the value i've set in my yaml files. I feel like I 
> must be missing something. 
> 
> 
> I've worked my way through the docs, and am just not sure what I'm missing. I 
> decided to use the 2.7 example, just to see what it did and noticed that this
> 
>  $puppetservertest = hiera('puppet::puppetservertest', 'test'),
> 
> 
> Doesn't work, 
> 
> but this 
> 
>  $puppetservertest = hiera('puppetservertest', 'test'),
> 
> Does! 
> 
> I'm working on my puppet module, so I was expecting the lookup to grab the 
> variable from my puppet.yaml file (which it does in the second example) 
> 
> My test puppet.yaml file is pretty simple, it looks like this
> 
> 
> # Parameters for Puppet Class
> ---
> puppetservertest:- 'puppet.example.com'
> 
> 
> If anyone can shed some light on this it would be awesome!
> 
> Thanks
> 
> -a
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
> 
> 

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




Re: [Puppet Users] Announce: Hiera 1.2.0 Available

2013-04-03 Thread Brian Lalor
On Apr 3, 2013, at 8:39 PM, Matthaus Owens  wrote:

> Hiera 1.2.0 is a feature release in the 1.x series with
> new features and bug fixes.

Can Hiera be upgraded independently of the version of Puppet being used?

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] Staging content from modules for temporary use by resources

2013-03-30 Thread Brian Lalor
On Mar 28, 2013, at 10:56 AM, Keith Burdis  wrote:

> Today I started using Jordan Sissel's fpm [1] to build multiple rpms for each 
> tomcat instance with a different prefix - something like:

This seems like a good opportunity to use CATALINA_BASE for multiple Tomcat 
instances per install.  I've got a pattern for this with Puppet that I'll share 
if anyone's interested.

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] execution order not being honored with ->

2013-03-28 Thread Brian Lalor
On Mar 27, 2013, at 2:32 PM, Ellison Marks  wrote:

> If your role class declares other classes you probably being bitten by 
> http://projects.puppetlabs.com/issues/8040. That is, and classes declared in 
> the role class are not confined by the dependency graph. It's something 
> they're working on fixing, but in the meantime, the recomendation is to use 
> the anchor pattern. 
> http://projects.puppetlabs.com/projects/puppet/wiki/Anchor_Pattern. The achor 
> resource type comes from the stdlib, IIRC.


Thanks, Ellison.  Yes, other classes are declared.  This really violates the 
principle of least surprise.  I'll give the anchors a try today, hopefully.

--
Brian Lalor
bla...@bravo5.org


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




[Puppet Users] execution order not being honored with ->

2013-03-27 Thread Brian Lalor
I'm using Puppet 3.1.1 in standalone mode.  I'm running "puppet apply" like 
this:

basedir="$( dirname $( readlink -f "${0}" ) )"
puppet apply \
--detailed-exitcodes \
--modulepath=${basedir}/modules \
--hiera_config=${basedir}/hiera.yaml \
${basedir}/manifests/site.pp

site.pp looks like this (verbatim):

node default {
include "role::${::nibiru_app_name}"

if $nibiru_region != 'vagrant' {
include dns_workarounds

Class['dns_workarounds'] -> Class["role::${::nibiru_app_name}"]
}

}

modules/dns_workarounds/manifests/init.pp is similar to this:

class dns_workarounds {
host {'b3-proj-dev-03.example.com': ip => '10.1.128.18'}
host {'b3-proj-dev-04.example.com': ip => '10.1.128.19'}
host {'b3-proj-dev-05.example.com': ip => '10.1.128.20'}

}

nibiru_app_name comes from facter.  The dns_workarounds class is just a bunch 
of host resource definitions that I have to add before everything else runs, 
due to some wonky DNS.  I'm able to get a successful Puppet run, but I'm 
finding that not all of the host resources defined in dns_workarounds are being 
processed before the role is processed.  I see the following on stdout:

Notice: 
/Stage[main]/Dns_workarounds/Host[b3-proj-dev-05.example.com]/ensure: created
Notice: /Stage[main]/Role::Base/Package[python-pip]/ensure: ensure changed 
'purged' to 'present'
Notice: /Stage[main]/Dns_workarounds/Host[login.dev.example.com]/ensure: 
created

So far I haven't had a problem with the puppet apply failing due to the 
out-of-order resource processing, but I'm sure it'll bite me eventually.  Am I 
declaring the ordering correctly with -> ?  I also tried just using "require 
dns_workarounds" in the if block, but that's giving me the same result.

Thanks,
Brian

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] apt-get update before installing a package. The right way?

2013-03-22 Thread Brian Lalor
On Mar 21, 2013, at 7:16 PM, Sam Morrison  wrote:

> Install all sources.list, apt-keys
> then:
> Run an apt-get update
> then:
> install Packages

With the Puppet apt module, apt-get update gets called after installing a new 
source.  Or at least that's how I've managed to make it work.  But it does 
*not* call apt-get update if there have been no changes to sources.list.d.  If 
that's what you need, I can share my config.  But if you need to call apt-get 
update to find new packages added to repositories already in sources.list, I 
think you have to find another solution.

It is for this (and oh so many other reasons) that I am learning to detest 
Debian-based distros, but I digress.

> 2. Stages
> 
> I get into huge dependency cycles doing this because I have classes that need 
> apt sources that pull in other classes too, eg nagios.


This may be your best solution.  I create all my apt and yum entries in a stage 
before main, then I don't have to track which package comes from which repo.  
But you could just invoke apt-get update every time with an unrestricted exec.  
You probably want apt-get update to only update periodically or when the 
upstream repositories have new packages, but it doesn't seem to work that way 
for me…

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] puppet always has an exitcode of 0

2013-03-20 Thread Brian Lalor
On Mar 20, 2013, at 8:00 AM, MartinW  wrote:

> I read on the puppet documentation web pages that there is a parameter called 
> --detailed-exitcodes which I thought might help but that doesn't work at all:
> 
> puppetd --test --detailed-exitcodes --env test
> invalid option: --detailed-exitcodes
> Try '/usr/sbin/puppetd --help'
> 
> Am I missing something here, is there any other way for me to tell if puppet 
> failed?


Isn't puppetd deprecated in favor of "puppet agent"?  I use 
--detailed-exitcodes with "puppet apply" and Puppet 3 and it works like it says 
on the box.

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] Re: Managing CentOS package versions with Puppet

2013-03-10 Thread Brian Lalor
Thank you, Jakov. This link[1] explains the process. I should be able to use 
vault to augment the current release, allowing me access to the older packages. 

[1]: 
http://web.archive.org/web/20070821231316/http://lists.centos.org/pipermail/centos/2005-June/007570.html

--
Brian Lalor
bla...@bravo5.org

On Mar 10, 2013, at 7:26 PM, Jakov Sosic  wrote:

> What you observed is minor version bump. Your kernel is from CentOS 6.3 while 
> new devel package you mention is from CentOS 6.4
> 
> You should lock yum to version 6.3 via switching to vault.centos.org if you 
> want to stay on 6.3 otherwise all your official CentOS yum repos are 
> automatically switched to 6.4 in the second CentOS pushes out 6.4.

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




Re: [Puppet Users] Re: Managing CentOS package versions with Puppet

2013-03-10 Thread Brian Lalor
It's really more about repeatability and consistency. I trust the packagers to 
make reliable packages, not to do testing of the upstream software. They should 
be treated as you would libraries for your software dependencies. 

--
Brian Lalor
bla...@bravo5.org

On Mar 10, 2013, at 4:18 PM, Ellison Marks  wrote:

> If you want to ensure specific versions of packages, then yes, creating your 
> own repo with the desired package is the best way to do it. It gives you 
> absolute control over what your clients see, and It's fairly simple as well. 
> You also get to omit the version numbers from your package declaration up 
> there. Just make sure to exclude the packages you mirror from the normal 
> repos, so they don't get updated anyway.
> 
> There's not really anything horrible about it, if you've already admitted to 
> wanting out of date packages. :)

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




[Puppet Users] Managing CentOS package versions with Puppet

2013-03-10 Thread Brian Lalor
I've been designing the infrastructure for a new team using CentOS 6 and 
Puppet.  I'm still learning Puppet, but thought I had things pretty well under 
control.  After this week, I'm beginning to wonder… :-)

In the last week I've had versions of three packages disappear from the yum 
repositories I'm using.  Since I'm trying to install specific versions of 
packages with Puppet, this is a problem.  The most recent one that just turned 
up this morning is kernel-devel.  I have the following resource defined in one 
of my Puppet manifests:

package {"kernel-devel-${::kernelrelease}":
alias => 'kernel-devel',
}

I'm trying to ensure that I've got the kernel-devel package installed that 
matches the kernel I'm currently using.  I naively assumed that once a package 
was made available via the official CentOS mirrors that it would never 
disappear.  That doesn't appear to be the case.  I the 
kernel-2.6.32-279.19.1.el6.x86_64 package installed.  
kernel-devel-2.6.32-279.19.1.el6.x86_64 is gone, apparently replaced with 
kernel-devel-2.6.32-358.0.1.el6.x86_64.  I have a couple of other packages that 
have given me problems, too, namely ngircd which was upgraded from 18 to 20.1.

How do I manage this problem?  Do I need to maintain my own mirrors?  That 
seems like a horrible solution.  Is there another CentOS repository I should be 
using?  Am I just going about this all wrong?

Thanks,
Brian

--
Brian Lalor
bla...@bravo5.org


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




Re: [Puppet Users] Trying to install a specific version of Java on Redhat

2013-02-15 Thread Brian Lalor
On Feb 15, 2013, at 1:45 PM, jcbollinger  wrote:

> Curiouser and curiouser.  The "1:" is an epoch number, as you probably 
> recognize.  I was a bit surprised that Puppet would require you to include 
> it, but very surprised to find out that it fails even if you do.  I do think 
> it likely that the epoch number is what's tripping up Puppet, but that 
> doesn't make it any less a bug.  I recommend you file a ticket.

Check the epoch of the two packages.  The epoch overrides all other version 
comparison logic.  If they have the same epoch, RPM considers them to be the 
same version.  I had that problem with the Oracle JDK RPMs.  They all have the 
epoch set to 2000, so it's impossible to either upgrade or install both 
versions concurrently.  I think "rpm -qip " will show it, but if not 
you can do "rpm -qp --queryformat='%{EPOCH}\n' ".

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




Re: [Puppet Users] semi-standalone puppet mode

2013-02-14 Thread Brian Lalor
On Feb 14, 2013, at 7:01 PM, Jakov Sosic  wrote:

> On 02/13/2013 05:12 PM, Matthew Black wrote:
>> Without fully understanding your modules and how they interact you can
>> always take a copy of the site manifest and modules with the node and
>> then do something like this
>> 
>> puppet apply /etc/puppet/manifests/site.pp --modulepath=/etc/puppet/modules
>> 
>> I typically do something similar when testing a module without a puppet 
>> master.
> 
> Can hiera be integrated somehow in this case?

Sure.  Here's an example of invoking "puppet apply" with explicit Hiera 
configuration: https://github.com/blalor/vagrant-puppet-example

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




Re: [Puppet Users] Re: Checking GIT updates

2013-02-14 Thread Brian Lalor
On Feb 14, 2013, at 7:04 PM, joe  wrote:

> Puppet isn't particularly good at code deployment. Ideally, you'd package 
> your code, set a package resource to ensure => latest, then update your 
> package repo with the new code. Then, all the resources that subscribe to 
> that package (services, etc.) would be refreshed when the package gets 
> updated in your repo.

Why do you say "Puppet isn't particularly good at code deployment"?  What you 
described seems perfectly reasonable.  

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




Re: [Puppet Users] Why IF-ELSE not work?

2013-02-14 Thread Brian Lalor
Import is like a #include in C: it's essentially a preprocessor directive and 
is evaluated before the if/ else. 

http://docs.puppetlabs.com/puppet/2.7/reference/lang_import.html

--
Brian Lalor
bla...@bravo5.org

On Feb 14, 2013, at 1:17 AM, Евгений Верещагин  wrote:

> I try include different .pp for my systems. site.pp like:
> 
> if $operatingsystem == 'debian' {
>   import '../my/os/linux/debian.pp'
> }
> elsif $operatingsystem == 'windows' {
>   import '../my/os/windows/windows.pp'
> }
> else {
>   import '../my/os/default/default.pp'
> }
> 
> and I try CASE:
> 
> case $operatingsystem {
>redhat: { import '../my/os/linux/redhat.pp' }
>centos: { import '../my/os/linux/centos.pp' }
>windows: { import '../my/os/windows/windows.pp' } 
>default: { import '../my/os/default/default.pp' }
> }
> 
> Why it didn't work? If I run puppet-agent, it read all pp-files and crash on 
> windows-parameters on Linux or on linux-parameters on Windows. What I do 
> incorrect?
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  

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




Re: [Puppet Users] roles, profiles, and hiera

2013-02-13 Thread Brian Lalor
Will this help? 
http://docs.puppetlabs.com/puppet/3/reference/lang_variables.html#parser-set-variables

--
Brian Lalor
bla...@bravo5.org

On Feb 13, 2013, at 6:17 PM, Chad Huneycutt  wrote:

> I have been following the various blog posts about the roles and
> profiles pattern for classifying hosts, and I like it.  It doesn't
> provide a perfect fit for our infrastructure, but it is much better
> than the ad-hoc classification we do now.  I have a couple of
> questions for those that use it, though:
> 
> 1. Where are you putting your role classes and profile classes?  A
> role module and a profile module makes sense to me, but it seems like
> something more tightly integrated with the Puppet DSL might be nice?
> 
> 2. Assuming you have roles and profiles in modules, at what point do
> you specify the parameters to your modules?  I am particularly
> interested in the answer to this question with regards to hiera.  I
> find that I want to add roles and profiles to the hiera hierarchy, and
> I cannot come up with a way to do it.
> 
> I think if hiera supported lookup by the class containing the hiera
> call, I could achieve what I want.  For instance:
> 
> class profiles::oneofmyprofiles {
>  include myparameterizedclass
> }
> 
> I would like to have a hiera.yaml like so:
> 
> ---
> :backends:
>  - yaml
> :hierarchy:
>  - nodes/%{::hostname}
>  - profiles/%{class_name}
>  - common
> :yaml:
>  :datadir: /etc/puppet/environments/%{environment}/data
> 
> 
> Am I just completely off-base?
> 
> -- 
> Chad M. Huneycutt
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
> 
> 

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




Re: [Puppet Users] Re: Coordinated application deployments

2013-02-13 Thread Brian Lalor
There may be, but when we want to upgrade an application and minimize downtime, 
a well-defined window of a checkin period is not sufficient. For example, given 
10 machines, we need to upgrade 5, validate them, then upgrade the remaining 5. 
The 5 being upgraded will get pulled out of the load balancer during the puppet 
run. If the upgrade is deemed a failure, the old version must be reinstated on 
those 5 machines. This is all possible with puppet, and it feels like the 
master/agent relationship is an impediment. 

--
Brian Lalor
bla...@bravo5.org

On Feb 13, 2013, at 4:09 PM, jcbollinger  wrote:

> I urge you to consider whether and to what extent you really need to control 
> when updated configuration is applied.  Generally speaking, there are a lot 
> of circumstances in which it is quite sufficient to have a predictable window 
> in which you can rely on updates being applied, at least in terms of 
> functionality and level of service.

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




Re: [Puppet Users] Coordinated application deployments

2013-02-12 Thread Brian Lalor
On Feb 12, 2013, at 10:16 PM, Peter Brown  wrote:

> You could just disable the puppet daemon on the node after setting it up and 
> manually running puppet with --noop so you know what has changed before you 
> apply it.

Ok, so that would keep it from checking in periodically but would still sync 
state with the master?  That could work…

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




[Puppet Users] Coordinated application deployments

2013-02-12 Thread Brian Lalor
I'd like to use Puppet for the "last-mile" deployment of our applications, 
starting from a bare VM and ending up with a server that is running a specific 
version of an application.  We're using a Puppet master already, which I kind 
of feel is something of a problem: if I were just running "puppet apply" in 
standalone mode, I could be confident that a successful run resulted in the 
server being configured correctly.  When using a puppet master, changes could 
be applied anytime between now and the next agent check-in.  I don't like 
nondeterminism. :-)

I don't want to reinvent the wheel.  How are other people solving this problem? 
 In general, how do you roll out changes to managed systems in a controlled, 
deterministic fashion?  Are there simpler solutions than MCollective?

Thanks,
Brian

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




Re: [Puppet Users] Run Puppet Against Master with Local node.pp Manifest?

2013-02-12 Thread Brian Lalor
On Feb 12, 2013, at 5:35 AM, Ralph Bolton  wrote:

> Thanks for the suggestion. I did wonder about copying all the modules and 
> configs off the Puppet Master onto the test box. My concern is really just 
> about keeping that lot up to date, and most importantly to make sure that it 
> behaves the same as it would do if it came from the Master. It could be done 
> this way, but I'm worried it seems simple now, but will turn into a headache 
> later on. If this is the only way to do it, then I guess I'll just have to 
> suck it up :-(

You may find this helpful: https://github.com/blalor/vagrant-puppet-example

It's an example project I put together a couple of weeks ago to model how you 
can share the same puppet config across multiple environments, like production 
and in a Vagrant VM.  There's very little difference between running "puppet 
apply" and an agent checking into a master (aside from the obvious missing 
management pieces) but the manifests and modules can (and should) be largely 
the same.  If you've go the master config checked into version control, you 
should be able to use that same source locally, albeit with a local nodes.pp 
"shim" that emulates the classes applied by the master.

I'd recommend designing your config this way from the start :-) but I've gone 
this route a couple of times, now (I have access to the source for manifests 
but no influence on the master).  

Brian

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




Re: [Puppet Users] Last Step In Initial Puppet Run

2013-02-06 Thread Brian Lalor
On Feb 6, 2013, at 10:36 PM, Brian Carpio  wrote:

> I need a way to put down a file, /tmp/finished, for instance as the last step 
> in an initial puppet run. 
> 
> I've tried playing with the relationship syntax:
> 
> * <| |> -> File["/tmp/finished"]
> 
> But that doesn't work
> 
> For now I am using 
> 
> Package <| |> -> File["/tmp/finished"]
> 
> And that seems to work most of the time but there are occurrences where 
> another exec statement is run or even a file is put down after /tmp/finished

How about a run stage?

http://docs.puppetlabs.com/puppet/2.7/reference/lang_run_stages.html

You could do a stage called "finished" and declare the file in there.

stage {'last': after => Stage['main'] }
file {'/tmp/finished':
ensure => present,
stage => last,
}

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




Re: [Puppet Users] creating file locations from hiera

2013-02-01 Thread Brian Lalor
On Jan 25, 2013, at 9:25 AM, Peter De Cleyn  wrote:

> I ran again against a long standing bug / feature request but from a new 
> angle: creating directories with parents  
> (http://projects.puppetlabs.com/issues/86).

I was blown away when I saw that issue.  It's been open for 7 years and nobody 
can figure out how to create a directory tree?  It's kinda mind-boggling.

> I wanted to create a module, where a path could be supplied with a class 
> parameter. The path would be used in a rsync configuration, so I would like 
> to be sure the path exists. As I want the module to be general and completely 
> separate code and data, I didn't want to configure a "base path" in which all 
> rsync modules would need to live. But there is AFAIK no "mkdir -p" 
> alternative in puppet, unless I'd go with an ugly exec.
> 
> Any ideas houw to realise this? I probably could define my path in hiera as 
> an hash and as such define all parent folders, but this is not that elegant.

Short of writing a plugin, I do think the exec is your best bet.  It's ugly but 
effective.

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




[Puppet Users] Reusable Puppet config for Vagrant

2013-01-29 Thread Brian Lalor
I took an hour this morning to document how I use Vagrant and Puppet together 
to provision development VMs as well as more production-like systems.  This may 
be entirely elementary to folks who are more fluent with Puppet, but this is an 
example I thought was lacking.

https://github.com/blalor/vagrant-puppet-example

I welcome feedback and criticism of this setup.  I'm looking to minimize the 
difference between local development environments and production systems as 
much as possible.

Thanks,
Brian

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




[Puppet Users] Parameterizing modulepath beyond $environment

2013-01-24 Thread Brian Lalor
I'm looking for a way to parameterize the module path at runtime based on 
multiple variables, including the environment.  We've got a puppet master that 
serves nodes from several different projects, each of which have their own 
dev/test/prod environments.  I'd like for each project to have their own entry 
in the module path.  This way a project could have control over multiple 
modules and create new ones as they see fit, without impacting others who use 
the same puppetmaster.  I'm envisioning something like

/etc/puppet/modules/common:/etc/puppet/modules/$project/$environment

where $project is a fact attached to the node that's checking into the master.  
This 

Is this possible?  Can arbitrary variables be used in the modulepath in 
puppet.conf?

Thanks,
Brian

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




Re: [Puppet Users] Thoughts on roles/profiles class paradigm

2013-01-10 Thread Brian Lalor
On Jan 9, 2013, at 4:34 PM, Wolf Noble  wrote:

> My colleagues and I are contemplating refactoring our modules to take 
> advantage of the "roles/profiles" paradigm suggested by Craig Dunn in his 
> blog post found here:
> http://www.craigdunn.org/2012/05/239/
> 
> Before we jump feet-first into adopting this paradigm, I thought it a good 
> idea to reach out and see what everyone else thinks about this.

This looks very similar to Jordan Sissel's "pure fact-driven" nodeless puppet 
design[1], something I'm looking to adopt for an upcoming project.  The idea 
makes a lot of sense to me.

[1]: http://www.semicomplete.com/blog/geekery/puppet-nodeless-configuration

-- 
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] Sometimes getting 'undef' in template

2013-01-06 Thread Brian Lalor
On Jan 6, 2013, at 12:32 PM, Stefan Schulte  
wrote:

> No you are doing nothing wrong except that variable interpolation is
> random so you get random results if the default value of parameterA
> depends on the value of parameterB.
> 
> This has been accepted as a bug so you may want to watch
> http://projects.puppetlabs.com/issues/9848

Damn.  Thanks for confirming it's not just me. :-)

-- 
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] Sometimes getting 'undef' in template

2013-01-06 Thread Brian Lalor
Morning, all.  I've got a problem with a custom class and template that has me 
stumped.  I've created the following class:

class graphite::carbon(
$cache_port = 2003,
$cache_enable_udp = false,
$cache_udp_port = $cache_port,
) {
package {'carbon': }

file {'/etc/carbon/carbon.conf':
content => template("graphite/carbon.conf.erb"),

require => Package['carbon'],
notify  => Service['carbon-cache'],
}

service {'carbon-cache':
enable  => true,
ensure  => running,

require => Package['carbon'],
}
}

carbon.conf.erb contains this:

UDP_RECEIVER_PORT = <%= cache_udp_port %>

And I use the class like this:

class {'graphite::carbon': }

The problem I'm having is that, without making any changes *AT ALL* 
UDP_RECEIVER_PORT will sometimes have the default port of "2003" and other 
times "undef".  This is with Puppet 2.7.17 in standalone mode.

Am I doing something wrong with the definition of cache_udp_port?  I want it to 
default to the value provided for cache_port, which defaults to 2003.

Thanks,
Brian

-- 
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] Re: puppet master keeps spawning new child processes

2013-01-03 Thread Brian Lalor
On Jan 3, 2013, at 5:39 AM, a...@gmx.de wrote:

> Any other idea  about how to find out what process 11957 actually is doing?

There's another flag to strace, -f, if I recall correctly, that will follow 
forks of children.

-- 
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] puppetlabs/apt and apt::ppa

2012-12-25 Thread Brian Lalor
Is that directory managed as a resource with puppet? Puppet doesn't recognize 
non-managed resources as dependencies. 

--
Brian Lalor
bla...@bravo5.org

On Dec 25, 2012, at 9:22 PM, Andrey Ageyev  wrote:

> The folder - /etc/apt/sources.list.d exists.
> Does anybody know what's can be wrong?

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