Re: [Puppet Users] Git Repo Strategy

2014-09-30 Thread Jeremy T. Bouse
On 09/30/2014 09:23 PM, Garrett Honeycutt wrote:
> On 9/30/14 7:17 PM, Tom Tucker wrote:
>>
>> I just got back from PuppetConf last week and several presenters
>> mentioned using more than one Git repo with Puppet.  Some even recommend
>> having a repo per module.  For our initial Puppet deployment this seems
>> a bit excessive.  My plan was to have three repos for each of our
>> environments (Dev, QA and Production).  The contents of these repos
>> would contain Puppet Enterprise directory of /etc/puppetlabs/puppet.
>>
> 
> Hi Tom,
> 
> One big repo full of modules stops scaling pretty quickly. This path
> makes it impossible to work in scenario where you have multiple parties
> using the same code base. Without individually versioning modules, you
> will give up the opportunity to ever make a breaking change, because you
> have to appease everyone. You also quickly get into situations where you
> cannot deploy the newest version of the code because it changes multiple
> modules and one of those causes issues. It leads to long running forks
> that will never merge, cherry picking changes, and copy/pasting code.
> Avoid this at all costs and save yourself the headaches.
> 
> Here's an example[1] of how I manage a bunch of modules, each in their
> own repo. You could then use this Puppetfile with tools such as
> librarian-puppet-simple, librarian-puppet, and r10k. I use this repo to
> track all of my 'base' or 'common' modules and then use another repo to
> track site specific modules. For that repo, I highly recommend r10k.
> 
> [1] - https://github.com/ghoneycutt/puppet-modules
> 
> Best regards,
> -g
> 

I'll echo Garrett's comments that having all your modules in a single
repo severely hampers change. Like Garret I use a Puppetfile with which
I pull modules in from a a combination of the Puppet Forge and GitHub
repos. I do make mine available [1] as well and I include a README of
all the modules it includes and also note those that are pulled from the
Forge that are listed as "approved" or "supported".

I do use r10k and Puppet 3.7.x with directory environments so each
branch of my repo is handled as a separate environment when deployed by
r10k. I have my puppet environment setup so that all I do is commit to
the GitHub repo which triggers Jenkins CI jobs that validate and push
out to the puppet master. Once validated after being pushed out I can
promote my job and it is merged from one branch to the next and runs
through the cycle again.

Regard,
Jeremy



signature.asc
Description: OpenPGP digital signature


Re: [Puppet Users] Git Repo Strategy

2014-09-30 Thread Garrett Honeycutt
On 9/30/14 7:17 PM, Tom Tucker wrote:
> 
> I just got back from PuppetConf last week and several presenters
> mentioned using more than one Git repo with Puppet.  Some even recommend
> having a repo per module.  For our initial Puppet deployment this seems
> a bit excessive.  My plan was to have three repos for each of our
> environments (Dev, QA and Production).  The contents of these repos
> would contain Puppet Enterprise directory of /etc/puppetlabs/puppet.
> 

Hi Tom,

One big repo full of modules stops scaling pretty quickly. This path
makes it impossible to work in scenario where you have multiple parties
using the same code base. Without individually versioning modules, you
will give up the opportunity to ever make a breaking change, because you
have to appease everyone. You also quickly get into situations where you
cannot deploy the newest version of the code because it changes multiple
modules and one of those causes issues. It leads to long running forks
that will never merge, cherry picking changes, and copy/pasting code.
Avoid this at all costs and save yourself the headaches.

Here's an example[1] of how I manage a bunch of modules, each in their
own repo. You could then use this Puppetfile with tools such as
librarian-puppet-simple, librarian-puppet, and r10k. I use this repo to
track all of my 'base' or 'common' modules and then use another repo to
track site specific modules. For that repo, I highly recommend r10k.

[1] - https://github.com/ghoneycutt/puppet-modules

Best regards,
-g

-- 
Garrett Honeycutt
@learnpuppet
Puppet Training with LearnPuppet.com
Mobile: +1.206.414.8658

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/542B5789.5080003%40garretthoneycutt.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Puppet Enterprise 2 Series End of Life

2014-09-30 Thread Moses Mendoza
All,

Puppet Enterprise 2.8 is now end of life. This brings to a close the
last chapter of the Puppet Enterprise 2 series, as previously
communicated in the Puppet Enterprise Lifecycle[1].

Puppet Enterprise 2.0 was released on November 16, 2011. Since then,
we have added major capabilities, expanded platform support, and
continually improved the lives of sysadmins by giving them more
powerful - and delightful - tools to manage infrastructure.

The Puppet Enterprise 3 series started with Puppet Enterprise 3.0 on
June 25, 2013. The latest release of Puppet Enterprise is 3.3.2. With
Puppet Enterprise 2.8 reaching end of life, we strongly encourage all
customers to upgrade to Puppet Enterprise 3.3.2. Please reach out to
the Puppet Labs Support Team (supp...@puppetlabs.com) with any
questions about the upgrade experience.

Thank you,
--
Moses Mendoza
Puppet Labs

[1] PE Lifecycle: http://puppetlabs.com/misc/puppet-enterprise-lifecycle

Get PE: http://puppetlabs.com/download-puppet-enterprise-expand
How to upgrade: https://docs.puppetlabs.com/pe/latest/install_upgrading.html
Customer Support Portal: https://support.puppetlabs.com

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CA%2B421WZ%3DQzKGhUJYR5FmDzdPTh3%2BMp88OsxSbs2F5Emuk4KjsA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Git Repo Strategy

2014-09-30 Thread Eric Shamow
I highly recommend going with Gary Larizza’s functional puppet workflow unless 
you’ve got lots of prior experience. You can find part 1 here:

http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-1/

It’s a 3 part series, and there are good follow-ups on r10k and environments 
(http://garylarizza.com/blog/2014/03/26/random-r10k-workflow-ideas/) and an 
update to that post to cover directory environments 
(http://garylarizza.com/blog/2014/08/31/r10k-plus-directory-environments/)

Start there - there are criticisms to be had but it’s a good, tested functional 
workflow at use at a lot of orgs.

-Eric

-- 
Eric Shamow
Sent with Airmail

On September 30, 2014 at 4:17:45 PM, Tom Tucker (tktuc...@gmail.com) wrote:


I just got back from PuppetConf last week and several presenters mentioned 
using more than one Git repo with Puppet.  Some even recommend having a repo 
per module.  For our initial Puppet deployment this seems a bit excessive.  My 
plan was to have three repos for each of our environments (Dev, QA and 
Production).  The contents of these repos would contain Puppet Enterprise 
directory of /etc/puppetlabs/puppet.

 

Deployment strategy

-   Upload changes to Dev repo

-   Deploy Dev changes to Dev master

-   Test

-   Merge Dev changes to QA repo

-   Rinse and repeat

 

 

Thoughts? Any tips for a Puppet and Git newbie in regards to file hierarchy, 
Git repo strategies, etc.

 

Thank you in advance,

 

Tom







 

Sample tree and repo of /etc/puppetlabs/puppet

# tree *

auth.conf

autosign.conf

console.conf   # File excluded this is site specific.  We will have a unique 
Puppet master for each env.

environments

├── development

│   ├── hieradata

│   │   └── environmentX.yaml

│   ├── manifests

│   │   └── site.pp

│   └── modules

└── production

fileserver.conf

hieradata

├── defaults.yaml

├── master.mydomain.com.yaml

└── production.yaml

hiera.yaml [error opening dir]

manifests

├── hieradata

│   └── hostgroups.yaml

└── site.pp

modules

├── custom

puppet.conf   # File excluded this is site specific.  We will have a unique 
Puppet master for each env.

puppetdb.conf   # File excluded this is site specific.  We will have a unique 
Puppet master for each env.

routes.yaml

ssl # Directory excluded this is site specific

< extra lines removed>

 

 

# cat hiera.yaml

---

:hierarchy:

    - "hieradata/fqdn/%{::fqdn}"

    - "%{environment}/%{::osfamily}"

    - "%{environment}/hieradata/%{::network_location}"

    - "%{environment}/hieradata/%{::systemrole}"

    - "hieradata/common"

 

:backends:

    - yaml

 

:yaml:

    :datadir: /etc/puppetlabs/puppet/environments

--
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAGymF1DKrTsh%2BNO%3DQLMpP1pM80ac3MMxvbo2p0aN9q9USXLj5Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/etPan.542b464a.238e1f29.160a6%40rassilon.local.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Git Repo Strategy

2014-09-30 Thread Tom Tucker
I just got back from PuppetConf last week and several presenters mentioned
using more than one Git repo with Puppet.  Some even recommend having a
repo per module.  For our initial Puppet deployment this seems a bit
excessive.  My plan was to have three repos for each of our environments
(Dev, QA and Production).  The contents of these repos would contain Puppet
Enterprise directory of /etc/puppetlabs/puppet.



Deployment strategy

-   Upload changes to Dev repo

-   Deploy Dev changes to Dev master

-   Test

-   Merge Dev changes to QA repo

-   Rinse and repeat





Thoughts? Any tips for a Puppet and Git newbie in regards to file
hierarchy, Git repo strategies, etc.



Thank you in advance,



Tom






Sample tree and repo of /etc/puppetlabs/puppet

# tree *

auth.conf

autosign.conf

console.conf   # File excluded this is site specific.  We will have a
unique Puppet master for each env.

environments

├── development

│   ├── hieradata

│   │   └── environmentX.yaml

│   ├── manifests

│   │   └── site.pp

│   └── modules

└── production

fileserver.conf

hieradata

├── defaults.yaml

├── master.mydomain.com.yaml

└── production.yaml

hiera.yaml [error opening dir]

manifests

├── hieradata

│   └── hostgroups.yaml

└── site.pp

modules

├── custom

puppet.conf   # File excluded this is site specific.  We will have a unique
Puppet master for each env.

puppetdb.conf   # File excluded this is site specific.  We will have a
unique Puppet master for each env.

routes.yaml

ssl # Directory excluded this is site specific

< extra lines removed>





# cat hiera.yaml

---

:hierarchy:

- "hieradata/fqdn/%{::fqdn}"

- "%{environment}/%{::osfamily}"

- "%{environment}/hieradata/%{::network_location}"

- "%{environment}/hieradata/%{::systemrole}"

- "hieradata/common"



:backends:

- yaml



:yaml:

:datadir: /etc/puppetlabs/puppet/environments

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAGymF1DKrTsh%2BNO%3DQLMpP1pM80ac3MMxvbo2p0aN9q9USXLj5Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Question about Puppet Master Configuration

2014-09-30 Thread John Kennedy
Does the directory /var/run/puppet exist and is that directory writable? Go
to it and try the command 'touch test' as root.
John


John Kennedy  (_8(|)
I have a yellow dog:
http://www.theyellowdogproject.com/The_Yellow_Dog_Project/About.html

Anatidaephobia is the fear that somehow, somewhere a duck is watching you -
urbandictionary.com

"What matters isn't being applauded when you arrive - for that is common -
but being missed when you leave."  - Baltasar Gracian.

"The short term pain of accepting the truth is much better than the long
term pain of believing an illusion." - Unknown

"Power tends to corrupt and absolute power corrupts absolutely. Great men
are almost always bad men, even when they exercise influence and not
authority; still more when you superadd the tendency of the certainty of
corruption by authority." - Lord Acton

On Tue, Sep 30, 2014 at 4:38 PM, Michael Lopez 
wrote:

> I have a particular question about an error message I keep receiving. I
> have installed Puppet on Centos 6.5. I have two servers running. One as the
> Puppet Master and the other as the Puppet client.
>
> Every time I run this command: puppet master --verbose --no-daemonize
>
> as the root user
>
> I get this error:
>
> Notice: Starting Puppet master version 3.7.1
> Error: Could not run: Could not create PID file: /var/run/puppet/master.pid
>
> What would be the reason why now I am getting that error? Is puppet master
> supposed to be running? How can I create the CA certificate and the puppet
> master certificate if that command can't be fixed?
>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/35d91173-c52f-40b2-b4cd-7fb624685eb3%40googlegroups.com
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAD6OLfy6aONHUHWK_JZHS7Q9g2ZRH1ghdtKQLqJBCaCkOcxDeA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Question about Puppet Master Configuration

2014-09-30 Thread Michael Lopez
I have a particular question about an error message I keep receiving. I 
have installed Puppet on Centos 6.5. I have two servers running. One as the 
Puppet Master and the other as the Puppet client. 

Every time I run this command: puppet master --verbose --no-daemonize

as the root user 

I get this error: 

Notice: Starting Puppet master version 3.7.1
Error: Could not run: Could not create PID file: /var/run/puppet/master.pid

What would be the reason why now I am getting that error? Is puppet master 
supposed to be running? How can I create the CA certificate and the puppet 
master certificate if that command can't be fixed?

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/35d91173-c52f-40b2-b4cd-7fb624685eb3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] My first module

2014-09-30 Thread Garrett Honeycutt
On 9/30/14 2:50 PM, Nicolas lino wrote:
> Hello and sorry for my English.
> 
> I have my first module but I have a prblem:
> 
> My manifest:
> #
> #
> #
> class nginx {
>   $nginx_conf = '/etc/nginx/conf.d'
> 
>   service { 'nginx':
> ensure => running,
> enable => true,
> hasrestart => true,
> require=> File['/etc/nginx/nginx.conf'],
> restart=> '/etc/init.d/nginx reload'
>   }
> 
>   file { '/etc/nginx/nginx.conf':
> ensure  => latest,
> mode=> '0644',
> owner   => 'root',
> group   => 'root',
> source => "puppet:///modules/nginx/nginx.conf",
>   }line22
> 
>   file { $nginx_conf:
> ensure  => directory,
> mode=> '0644',
> owner   => 'root',
> group   => 'root',
>   }
> 
> }
> 
> Directory structure:
> [root@v702uprod manifests]# tree /etc/puppet/modules/
> /etc/puppet/modules/
> ├── API
> └── nginx
> ├── files
> │   └── nginx.conf
> ├── manifests
> │   └── init.pp
> └── templates
> 
> 
> The problem:
> Error: Failed to apply catalog: Validation of
> File[/etc/nginx/nginx.conf] failed: You cannot specify more than one of
> content, source, target at /etc/puppet/m
> odules/nginx/manifests/init.pp:22
> Wrapped exception:
> You cannot specify more than one of content, source, target
> 
> 
> 
> someone comes up with the problem???
> 
> 
> 
> 
> 
> -- 

Hi Nicolas,

Try changing the file's ensure from 'latest' to file.

You might also try using an existing module instead of reinventing the
wheel.

https://forge.puppetlabs.com/modules?utf-8=%E2%9C%93&sort=rank&q=nginx

Best regards,
-g

-- 
Garrett Honeycutt
@learnpuppet
Puppet Training with LearnPuppet.com
Mobile: +1.206.414.8658

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/542B081B.4070905%40garretthoneycutt.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] My first module

2014-09-30 Thread Peter Bukowinski
On Sep 30, 2014, at 2:50 PM, Nicolas lino  wrote:

> Hello and sorry for my English.
> 
> I have my first module but I have a prblem:
> 
> My manifest:
> #
> #
> #
> class nginx {
>   $nginx_conf = '/etc/nginx/conf.d'
> 
>   service { 'nginx':
> ensure => running,
> enable => true,
> hasrestart => true,
> require=> File['/etc/nginx/nginx.conf'],
> restart=> '/etc/init.d/nginx reload'
>   }
> 
>   file { '/etc/nginx/nginx.conf':
> ensure  => latest,
> mode=> '0644',
> owner   => 'root',
> group   => 'root',
> source => "puppet:///modules/nginx/nginx.conf",
>   }line22

Hi Nicolas,

You cannot use 'latest' for the file resource's ensure parameter. That value 
only applies to package resources. Puppet will always ensure that the file on a 
client matches whatever version of file exists at the path specified in the 
manifest. You should use one of the following values for the ensure parameter: 
file, directory, link, absent. 'present' is also supported, but I encourage you 
to avoid it and be explicit by specifying the type of file. In your case, 
'file' is the correct choice.

--
Peter Bukowinski

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/03CD5EC4-82D9-42C5-ABDE-A8034273AA63%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] My first module

2014-09-30 Thread Nicolas lino
Hello and sorry for my English.

I have my first module but I have a prblem:

My manifest:
#
#
#
class nginx {
  $nginx_conf = '/etc/nginx/conf.d'

  service { 'nginx':
ensure => running,
enable => true,
hasrestart => true,
require=> File['/etc/nginx/nginx.conf'],
restart=> '/etc/init.d/nginx reload'
  }

  file { '/etc/nginx/nginx.conf':
ensure  => latest,
mode=> '0644',
owner   => 'root',
group   => 'root',
source => "puppet:///modules/nginx/nginx.conf",
  }line22

  file { $nginx_conf:
ensure  => directory,
mode=> '0644',
owner   => 'root',
group   => 'root',
  }

}

Directory structure:
[root@v702uprod manifests]# tree /etc/puppet/modules/
/etc/puppet/modules/
├── API
└── nginx
├── files
│   └── nginx.conf
├── manifests
│   └── init.pp
└── templates


The problem:
Error: Failed to apply catalog: Validation of File[/etc/nginx/nginx.conf] 
failed: You cannot specify more than one of content, source, target at 
/etc/puppet/m
odules/nginx/manifests/init.pp:22
Wrapped exception:
You cannot specify more than one of content, source, target



someone comes up with the problem???





-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/b00b2b24-25a9-485c-a8c4-fc12740c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Dependency cycle using tidy with puppet 3

2014-09-30 Thread Chris Lee
Hi all,

We are busy migrating out puppet 2.7 code to puppet 3 and have run into a 
problem where we are getting dependency cycles when using tidy.
This mostly happens with stages (and yes, I completely understand why we 
should avoid them).

As an example we have a defined class that we use to create our cron jobs, 
and then a tidy to clean up anything that isn't defined.

class crond::cleanup {
tidy {
"/etc/cron.d":
age => 0, recurse => true,
matches => "*.puppet.cron"
}
}

define crond::job($jobs,$comment,$mail="root") {
include crond::cleanup
file {
"/etc/cron.d/${name}.puppet.cron":
owner=>root,group=>root,
content=>template("crond/job.erb")
} 
}


and we get a dependency as follows:

(File[/etc/cron.d/puppetcheck.puppet.cron] => Tidy[/etc/cron.d] => 
Class[Crond::Cleanup] => Stage[main] => Stage[apps] => Stage[apps] => 
Stage[post] => Class[Puppet::Service] => Crond::Job[puppetcheck] => 
File[/etc/cron.d/puppetcheck.puppet.cron])

Does anyone know of a workaround?

Thanks
Chris


-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/01a1dc4a-ab91-4653-a879-ba4d4d26ea21%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Arbitrary facts - Best practices?

2014-09-30 Thread Ciro Iriarte
Thanks a lot to everyone, I'll research on those topics!.

Regards,
Ciro

El sábado, 27 de septiembre de 2014 12:09:33 UTC-4, Jason Antman escribió:
>
> IMO...
>
> The "right" way to do this is to use a parameterized class in your module 
> that generates the config files.
>
> Beyond that, it's up to you how you set that parameter to the correct 
> value for a node - you could use Hiera, you could use an ENC, or if you 
> still have a small setup and are using node manifests or some such, you 
> could just declare the class with the appropriate parameter there.
>
> On Fri, Sep 26, 2014 at 4:15 PM, Christopher Wood  > wrote:
>
>> On Fri, Sep 26, 2014 at 01:00:44PM -0700, Ciro Iriarte wrote:
>> >El viernes, 26 de septiembre de 2014 15:21:19 UTC-4, Christopher Wood
>> >escribió:
>> >
>> >  In your place I'd add a level to my hiera setup and template the 
>> bird
>> >  config.
>> >
>> >  There's a number of different options you could use to classify 
>> which
>> >  node is in which site, from the node yaml in hiera to an ENC to a 
>> fact
>> >  provisioned when the host is built.
>> >
>> >Currently I'm running 1 puppet slave for tests and a master. Hiera 
>> is not
>> >(yet?) in the mix, whatever that is O_o' 
>> >I assume this is a basic setup and I'm missing components, which are 
>> the
>> >components expected in a current Puppet 3 implementation?
>>
>> I couldn't say what's expected since requirements vary. For hiera take a 
>> look at:
>>
>> https://docs.puppetlabs.com/hiera/1/configuring.html
>>
>> Other things you may be interested in as you grow, see 
>> docs.puppetlabs.com for details:
>>
>> ca puppetmaster
>> non-ca puppetmasters at each location for catalog compilation
>> roles/profiles (http://www.craigdunn.org/2012/05/239/)
>> git to store your manifests
>> puppetdb
>> mcollective
>> ENC of some kind
>> custom facts
>> https://forge.puppetlabs.com/
>> hiera-eyaml or similar https://github.com/TomPoulton/hiera-eyaml
>>
>> (The list rather goes on and on, you seem to be doing just fine without 
>> most of this. They're still available should you need them.)
>>
>> --
>> 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...@googlegroups.com .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/puppet-users/20140926201521.GA12027%40iniquitous.heresiarch.ca
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/389ad0d4-c1c0-466b-b9d7-c0cdbbb9d54e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] puppetlabs-* forge modules and 'parser = future'

2014-09-30 Thread Tim Skirvin
Hunter Haugen  writes:

> We actually have a load of tickets in our next sprint to enable future
> parser testing on all of the supported modules and go through making them
> compatible, starting Oct 1st. Good timing on your question, bad timing that
> it's taken us this long to get to it :(.

I'm glad to hear that you're looking into this, at any rate.
Thanks!

- Tim Skirvin (tskir...@fnal.gov)
-- 
HPC Systems Administrator / Developerhttp://www.linkedin.com/in/tskirvin
   USCMS-T1 Collaboration   Fermilab Scientific Computing


pgpyMuybFUHQX.pgp
Description: PGP signature


[Puppet Users] Re: can't find node definition puppet 3.7.1

2014-09-30 Thread jcbollinger


On Saturday, September 27, 2014 4:52:16 PM UTC-5, bluethundr wrote:
>
> Hello,
>
> When I tried adding a node to my puppet server running puppet 3.7.1 (on 
> both server and the client) I'm getting an error stating that puppet can't 
> find the node definition:
>
> Warning: Unable to fetch my node definition, but the agent run will 
> continue:
>
> Warning: Error 400 on SERVER: Failed to find ops.mydomain.com via exec: 
> Execution of '/etc/puppet/node.rb ops.mydomain.com' returned 1:
>
> Info: Retrieving pluginfacts
>
> Info: Retrieving plugin
>
> Info: Loading facts
>
> Error: Could not retrieve catalog from remote server: Error 400 on SERVER: 
> Failed when searching for node ops.mydomain.com: Failed to find 
> ops.mydomain.com via exec: Execution of '/etc/puppet/node.rb 
> ops.mydomain.com' returned 1:
>
> Warning: Not using cache on failed catalog
>
> Error: Could not retrieve catalog; skipping run
>
> I have a nodes manifest from an earlier version of puppet (version 3.4.3) 
> tht used to work well that I tried to include in this version of puppet. 
>
>
> Based on the above error I tried to include the nodes.pp file like this 
> from within the /etc/puppet/node.rb like this.
>


By its name and apparent use, node.rb is an external node classifier 
*program*, written in *Ruby*.  It is not a Puppet manifest, so the Puppet 
DSL documentation does not apply to it.

It may be that you want instead to modify /etc/puppet/manifests/site.pp, 
but given that there is an ENC in the picture, you really ought to get a 
grip on how your nodes are being classified before deciding how best to add 
a new one.


John

 

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/9651ead7-84ba-4efb-910d-57bc21440bfc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: can't find node definition puppet 3.7.1

2014-09-30 Thread jcbollinger


On Tuesday, September 30, 2014 3:29:23 AM UTC-5, Benjamin Priestman wrote:
>
> I've always used import, not include to get my node definitions into 
> site.pp. the new way of doing it, I believe, is to use a manifest 
> directory. See 
> https://docs.puppetlabs.com/puppet/latest/reference/lang_import.html



Yes. 'include' is for declaring classes; it does not apply directly to 
whole manifests.  'import'ing node definitions is about the only use of 
'import' that is any more accepted as good practice.  The point of the 
new(ish) "manifest directory" feature seems primarily to remove any need 
for that use of 'import'.  Deprecation of 'import' will surely follow, if 
it hasn't been deprecated already.


John

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/2a949d89-85d8-4f8d-81f4-dd111622e411%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Announce: Puppet Server 0.2.0

2014-09-30 Thread Felix Frank
On 09/29/2014 05:19 AM, Kylo Ginsberg wrote:
>
> I'm good with JVM, but C++ feels like a backward step in many
> regards. My judgment here may be clouded by reading too many
> blogpost of them naysayers.
>
>
> C++ should be a forward step from a performance/footprint perspective.
> I'm guessing your backward step is from an ease of devel/debug
> perspective for core? But say more so the concern is clear.
>
> Keep in mind that this would just be C++ for the client *core*. Puppet
> very much needs to continue to support its existing Ruby API for
> extensions (e.g. type and providers, custom facts). And yes this
> implies that the API needs to be *defined* better than it is today
> (which is undoubtedly going to take some collective rolling up of
> sleeves).

Hi,

well I did read some arguments for C++ being quite flawed from a
language design perspective. I found those very compelling, but sadly
cannot find the link.

That being said, I'm sure it can't hurt to get some practice with it
again. Made my peace with the prospect and by now even kind of looking
forward to seeing what you guys whip up.

Cheers,
Felix

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/542AB03C.5040609%40Alumni.TU-Berlin.de.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: resource collectors and rollback question

2014-09-30 Thread jcbollinger


On Tuesday, September 30, 2014 1:21:41 AM UTC-5, Richard wrote:
>
> I want to remove all  influences have been produced by puppet 
> script when the agent failed in executing catalog. so i think if i can use 
> resource collectors to collect all the resource using some tag then change 
> the property ensure. Then delete all  resources in order : first i stop all 
> service ,then i delete all file ,then delete all directory ,then i 
> uninstall package.  I don't know whether this method will work.
>


I'm sorry, but Puppet does not support that.  It is not transactional, and 
it never could be.  The main problem is that the nature of some resources 
simply does not accommodate reversion.  The poster child for this is Exec: 
once an Exec's command has run, you cannot un-run it.

A secondary problem is that there are so many ways that a given resource 
could be out of sync before the start of the run.  Puppet does not 
memorialize resources' starting state, and even if it did, it is generally 
not possible to describe the needed details of a reversion via a single 
parameter.

You can approximate what you request in VMs that support snapshotting by 
taking a snapshot before the start of each Puppet run, and reverting to 
that snapshot if any resources fail.  Even that is not a complete 
reversion, however, because even failed Puppet runs have effects outside 
the client machine.  At minimum they effect changes at the Puppet master, 
but they can have wider effects, too.

Similarly, you can achieve what you request with respect only to the 
filesystem if you use a filesystem that support snapshotting (e.g. LVM, if 
configured for it).

Understand, too, that this isn't fundamentally a Puppet issue.  Overall 
computer systems simply are not transactional.  You can never go back.

*In any event*, your idea to use collectors as a mechanism to achieve your 
objective would not work anyway.  Collectors are evaluated as part of the 
process of building the target node's catalog, before any resources are 
applied.  By the time you find out that a resource has failed, it is too 
late to modify the catalog.


John

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/03f82c9a-1279-40f6-b78d-39ee3ed42e10%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: best way to ensure (yum) package repository freshness ?

2014-09-30 Thread jcbollinger


On Monday, September 29, 2014 2:28:02 PM UTC-5, Sam Coffland wrote:
>
> I came a across this post and like what I see but would off the following 
> addition to Ian's suggestion so that the expire cache  is not executed on 
> every puppet run. 
>
> exec { 'yum-clean-expire-cache':
>   command => '/usr/bin/yum clean expire-cache',
>   refreshonly => true,
> }
> package { ['foobar']: 
>  ensure => present,
>  require => Exec['yum-clean-expire-cache',
> }
>
>

Nope.  At least not by itself.  Marking the Exec with refreshonly => true 
makes it run its command if it receives at least one Event from a modified 
resource (and not otherwise), but nothing shown sends it any events.  
Instead of the Exec running every time, it would *never* run.  I suppose 
the idea was that Package resources would send the events, but

   1. Packages are applied after the Exec, which is too late.
   2. If the Packages were applied before the Exec, then Puppet would use 
   cached data to determine whether they need updated, which is exactly what 
   we want to avoid.



John

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/a8379d1d-ef9e-490b-aff0-85a1a3c6528c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] can't find node definition puppet 3.7.1

2014-09-30 Thread Tim Dunphy
>
> I've always used import, not include to get my node definitions into
> site.pp. the new way of doing it, I believe, is to use a manifest
> directory. See
> https://docs.puppetlabs.com/puppet/latest/reference/lang_import.html



Cool! Thanks I'll give that a try. I actually tried it before without
success. But I'll give it another go and see where that gets me.

Thanks,
Tim

On Tue, Sep 30, 2014 at 4:29 AM, Benjamin Priestman <
benja...@miniverse.me.uk> wrote:

> I've always used import, not include to get my node definitions into
> site.pp. the new way of doing it, I believe, is to use a manifest
> directory. See
> https://docs.puppetlabs.com/puppet/latest/reference/lang_import.html
>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/c47e599b-71e7-42df-b6c1-2543e2caf5f9%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
GPG me!!

gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAOZy0emx8Qj%3DTK-RU8Xp7LnriHLNodBFsXVp%2BWAEw6cxsF%2Bmkg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: best way to ensure (yum) package repository freshness ?

2014-09-30 Thread daddy dp
I also faced with same problem and setting metadata_expire to 1 minute 
works for me. Schedule yum clean in puppet run is not good idea, because 
you always get at least one resource changed, and never will green nodes in 
puppet dashboard.

On Thursday, November 18, 2010 10:56:56 AM UTC+2, Daniel Maher wrote:
>
> Hello,
>
> I have run into problems in the past where a package has been added to 
> our yum repository, and a (new) class has been pushed to install that 
> package, but puppet fails because the yum db on the target machine is 
> too stale, and thus isn't aware of the existence of the new package.
>
> My question is this : what have other Puppet admins done in order to 
> ensure that a target machine has the freshest local dbcache before 
> attempting to install a package ?
>
> Thank you.
>
> -- 
> Daniel Maher 
> "The Internet is completely over." -- Prince
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/69de2c88-9b5e-41c2-9c4f-3752b970ddbc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] can't find node definition puppet 3.7.1

2014-09-30 Thread Benjamin Priestman
I've always used import, not include to get my node definitions into site.pp. 
the new way of doing it, I believe, is to use a manifest directory. See 
https://docs.puppetlabs.com/puppet/latest/reference/lang_import.html

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/c47e599b-71e7-42df-b6c1-2543e2caf5f9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.