Re: [Puppet Users] Puppet client 3.2.X fails to install on Windows 7 x64

2014-01-24 Thread Rob Reynolds
On Fri, Jan 24, 2014 at 11:11 AM, Josh D  wrote:

> Some of my users are having difficulty installing the Puppet client on
> their 64-bit Widows machines.  The installation will get get to the point
> where everything is installed and it attempts to start the service.  The
> service fails (see relevant information from install log from /l*v below)
> and then the installer rolls back.  I've tried various ways of launching
> the installer, had different users attempt to install on the problem
> machines, etc but always wind up with the same error.  The accounts in
> question have permission to start/stop services.  Any ideas?
>
> StartServices: Service: Puppet Agent
> MSI (s) (88:6C) [09:29:47:321]: Note: 1: 2205 2:  3: Error
> MSI (s) (88:6C) [09:29:47:321]: Note: 1: 2228 2:  3: Error 4: SELECT
> `Message` FROM `Error` WHERE `Error` = 1920
> Error 1920. Service 'Puppet Agent' (puppet) failed to start.  Verify that
> you have sufficient privileges to start system services.
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 7856 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 8588 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 7504 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 9268 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 6048 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 4460 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 7356 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 8800 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 8316 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 8436 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:739]: I/O on thread 4716 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:740]: I/O on thread 6840 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:740]: I/O on thread 10224 could not be
> cancelled. Error: 1168
> MSI (s) (88:20) [09:29:57:740]: I/O on thread 8248 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:740]: I/O on thread 4944 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:740]: I/O on thread 2860 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:740]: I/O on thread 9484 could not be cancelled.
> Error: 1168
> MSI (s) (88:20) [09:29:57:740]: I/O on thread 8116 could not be cancelled.
> Error: 1168
> MSI (s) (88:6C) [09:29:57:740]: Note: 1: 2205 2:  3: Error
> MSI (s) (88:6C) [09:29:57:740]: Note: 1: 2228 2:  3: Error 4: SELECT
> `Message` FROM `Error` WHERE `Error` = 1709
> MSI (s) (88:6C) [09:29:57:740]: Product: Puppet -- Error 1920. Service
> 'Puppet Agent' (puppet) failed to start.  Verify that you have sufficient
> privileges to start system services.
>

This error is a lie. :)

The true issue [1][2][3] had to an encoding bug in a gem that Puppet
depends on that was fixed in 3.3.1. We didn't add the
PUPPET_AGENT_STARTUP_MODE [4] until 3.4.0 so there isn't a way to tell it
not to try to start the service.

The supported way of making it work is to update to at least 3.3.1.


1: http://projects.puppetlabs.com/issues/22493
2: http://projects.puppetlabs.com/issues/22613
3: https://tickets.puppetlabs.com/browse/PUP-316 with a nice video showing
repro and fix.
4: http://docs.puppetlabs.com/windows/installing.html#automated-installation



>
> MSI (s) (88:6C) [09:29:57:742]: Note: 1: 2205 2:  3: Error
> MSI (s) (88:6C) [09:29:57:742]: Note: 1: 2228 2:  3: Error 4: SELECT
> `Message` FROM `Error` WHERE `Error` = 1602
> Are you sure you want to cancel?
> Action ended 9:29:59: InstallFinalize. Return value 3.
>
>  --
> 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/90b581a2-53f0-4c98-a463-dbe296345161%40googlegroups.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Rob Reynolds
Developer, Puppet Labs

Join us at PuppetConf 2014, September 23-24 in San Francisco -
http://bit.ly/pupconf14
Register now and save 40%! Offer expires January 31st.

-- 
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/CAMJiBK7reQ_JJRvmg7Y9i6gK-FokpVHMH6a0bd3f-DzkmVWM2g%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Install MSI packages

2014-01-24 Thread Rob Reynolds
This should be helpful -
http://docs.puppetlabs.com/windows/installing.html#automated-installation


On Fri, Jan 24, 2014 at 2:35 AM,  wrote:

> Hi Rob,
>
> I did not see that! I will try it this way. Puppet version is 3.4 Open
> Source.
>
> The other question I have is where can I get a list of  install_option
> flags for MSI packages? There are some examples such as INSTALLDIR and
> ALLUSERS but this is not a complete list.
>
> Thanks again
> Alex
>
> On Thursday, January 23, 2014 8:34:08 PM UTC, Rob Reynolds wrote:
>
>> Hello Alex,
>>
>> On Thu, Jan 23, 2014 at 12:01 PM,  wrote:
>>
>>> Hi,
>>>
>>> I would like to install Apache silently on Windows servers using Puppet.
>>> Here's my class:
>>>
>>> class base_apache {
>>>
>>> case $operatingsystem {
>>> windows: {
>>> file { 'apache_installer_package':
>>> path=>
>>> 'D:/Downloads/Puppet/',
>>> ensure  => directory,
>>> source  =>
>>> 'puppet:///files/Apache-Installers/',
>>> recurse => true,
>>> purge   => false,
>>> source_permissions => ignore,
>>> replace => no,
>>> before  => Package['apache
>>> 2.2.25']
>>> }
>>>
>>> package { 'apache 2.2.25':
>>> ensure  => installed,
>>> source  =>
>>> 'D:\\Downloads\\Puppet\\httpd-2.2.25-win32-x86-openssl-0.9.8y.msi',
>>> install_options => {'INSTALLDIR' =>
>>> 'D:\Apache2.2'},
>>> }
>>> }
>>> }
>>> }
>>>
>>> It works, in that it installs it. However, it doesn't create Apache
>>> service and it doesn't seem to know if Apache is already installed as it
>>> seems to "create" it on every agent run:
>>>
>>> C:\>puppet agent -t
>>> Info: Retrieving plugin
>>> Info: Caching catalog for localhost
>>> Info: Applying configuration version '1390499627'
>>> Notice: /Stage[main]/Base_apache/Package[apache 2.2.25]/ensure: created
>>> Notice: Finished catalog run in 6.17 seconds
>>>
>>> Any ideas?
>>>
>>
>>
>> What version of puppet? Second, have you looked over
>> http://docs.puppetlabs.com/windows/writing.html#packagepackage
>>
>> Specifically this:
>>
>> The title (or name) of the package must match the value of the package’s
>> DisplayName property in the registry, which is also the value displayed
>> in the “Add/Remove Programs” or “Programs and Features” control panel. If
>> the provided name and installed name don’t match, Puppet will believe the
>> package is not installed and try to install it again.
>>
>>
>>
>>>
>>> Thanks
>>> Alex
>>>
>>> --
>>> 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/65b79434-4cb8-4656-9a64-b80960af333a%
>>> 40googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>
>>
>> --
>> Rob Reynolds
>> Developer, Puppet Labs
>>
>> Join us at PuppetConf 2014, September 23-24 in San Francisco -
>> http://bit.ly/pupconf14
>> Register now and save 40%! Offer expires January 31st.
>>
>  --
> 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/904cd853-0e2c-4394-af20-0ae6c7f7a36d%40googlegroups.com
> .
>
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Rob Reynolds
Developer, Puppet Labs

Join us at PuppetConf 2014, September 23-24 in San Francisco -
http://bit.ly/pupconf14
Register now and save 40%! Offer expires January 31st.

-- 
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/CAMJiBK4wKk-2hTtqJnoQuGdbxC-qHYtbc7T-c3_%2BwVPk00JWZw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Puppet client 3.2.X fails to install on Windows 7 x64

2014-01-24 Thread Josh D
Some of my users are having difficulty installing the Puppet client on 
their 64-bit Widows machines.  The installation will get get to the point 
where everything is installed and it attempts to start the service.  The 
service fails (see relevant information from install log from /l*v below) 
and then the installer rolls back.  I've tried various ways of launching 
the installer, had different users attempt to install on the problem 
machines, etc but always wind up with the same error.  The accounts in 
question have permission to start/stop services.  Any ideas?

StartServices: Service: Puppet Agent
MSI (s) (88:6C) [09:29:47:321]: Note: 1: 2205 2:  3: Error 
MSI (s) (88:6C) [09:29:47:321]: Note: 1: 2228 2:  3: Error 4: SELECT 
`Message` FROM `Error` WHERE `Error` = 1920 
Error 1920. Service 'Puppet Agent' (puppet) failed to start.  Verify that 
you have sufficient privileges to start system services.
MSI (s) (88:20) [09:29:57:739]: I/O on thread 7856 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 8588 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 7504 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 9268 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 6048 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 4460 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 7356 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 8800 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 8316 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 8436 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:739]: I/O on thread 4716 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:740]: I/O on thread 6840 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:740]: I/O on thread 10224 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:740]: I/O on thread 8248 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:740]: I/O on thread 4944 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:740]: I/O on thread 2860 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:740]: I/O on thread 9484 could not be cancelled. 
Error: 1168
MSI (s) (88:20) [09:29:57:740]: I/O on thread 8116 could not be cancelled. 
Error: 1168
MSI (s) (88:6C) [09:29:57:740]: Note: 1: 2205 2:  3: Error 
MSI (s) (88:6C) [09:29:57:740]: Note: 1: 2228 2:  3: Error 4: SELECT 
`Message` FROM `Error` WHERE `Error` = 1709 
MSI (s) (88:6C) [09:29:57:740]: Product: Puppet -- Error 1920. Service 
'Puppet Agent' (puppet) failed to start.  Verify that you have sufficient 
privileges to start system services.

MSI (s) (88:6C) [09:29:57:742]: Note: 1: 2205 2:  3: Error 
MSI (s) (88:6C) [09:29:57:742]: Note: 1: 2228 2:  3: Error 4: SELECT 
`Message` FROM `Error` WHERE `Error` = 1602 
Are you sure you want to cancel?
Action ended 9:29:59: InstallFinalize. Return value 3.

-- 
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/90b581a2-53f0-4c98-a463-dbe296345161%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Re: file resource to provide serveral files

2014-01-24 Thread Jose Luis Ledesma
Instead of $conf_file you should use $title or $name inside the define


Regards,

-- 
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/3bd67df1-b018-4ff5-8d76-36e86bd0dcd0%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Reporting to Puppet Dasboard via HTTPS

2014-01-24 Thread henriquerodrigues
Hi,

I have my Puppet Dashboard listening on HTTPS with a certificate signed by 
another CA. Unfortunately, changing the reporturl on Puppet Master from 
HTTP to HTTPS broke the reporting, due to the fact that the CA chain is not 
available to Puppet Master. I have the CA chain, but I have no idea where 
to add it or how to configure the Puppet Master to make this HTTPS 
reporting work.

Thank you,
Henrique Rodrigues

-- 
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/dcefb11a-47f8-4966-9f21-90b9d356e2d2%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Re: file resource to provide serveral files

2014-01-24 Thread Henrique Rodrigues

On 24/01/14 14:39, Andreas Dvorak wrote:

Hi,

I am trying this. config.pp of module logrotate
define logrotate::config{
  case $::osfamily {
redhat:{
  file { "/etc/logrotate.d/${conf_file}":
ensure => 'present',
owner  => 'root',
group  => 'root',
mode   => '0644',
source => 
"puppet://${puppetmaster}/modules/logrotate/${conf_file}",

  }
}
solaris:{
  notice('logrotate not available')
}
default:{
  fail("Unsupported platform: ${::osfamily}")
}
  }
}

in the nodes.pp
  logrotate::config{'test':}
  logrotate::config{'puppet':}

And it says
Duplicate declaration: File[/etc/logrotate.d/] is already declared in 
file /data/git/test/modules/logrotate/manifests/config.pp:10
It also does not work if I just have on file to provide. The it does 
nothing.


Can you please help me?
Andreas



You're trying to define File[/etc/logrotate.d/$conf_file], buf if 
$conf_file is missing or empty, Puppet will create 
File[/etc/logrotate.d/] instead. This might explain your error.


Best regards,
Henrique Rodrigues

--
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/52E27C62.9070105%40notonthehighstreet.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Re: Exporting a resource only once....

2014-01-24 Thread jcbollinger


On Friday, January 24, 2014 12:36:39 AM UTC-6, Krist van Besien wrote:
>
>
>
> On Thursday, January 23, 2014 7:25:47 PM UTC+1, Xav Paice wrote:
>>
>>  
>> We have something quite similar - as we use hiera extensively we managed 
>> to have a common yaml file with a list of databases in a hash, and used 
>> create_resources to create the databases (and users, and haproxy 
>> listeners) on the database/haproxy nodes. 
>>
>> The application nodes that want to register with a load balancer export 
>> resources for themselves only, which are collected on the load balancer 
>> only. 
>>
>
> We don't use Hiera. We use foreman as ENC.
>


The two statements are not directly related -- Foreman and Hiera are not 
mutually exclusive.  I can understand, however, that you want to manage 
your site data all within the Foreman system.

 

> Thus we also don't have per node manifests.
>


Few people do, I think, but I don't see how that's relevant.

 

> What we do have is our own module, with classes we assign to host groups 
> in foreman. We define a host group for or different categories of servers, 
> and assign hosts to a host group based on what they are supposed to do.
> So if we for example want to add another backend we just create a new host 
> in foreman, add it to the right host group, and then flip a switch. It 
> powers on, bootstraps itself, installs all it needs, and exports what it 
> needs from other servers. However we run in to the problem of duplicate 
> external resources, which I have for the moment resolved through some ugly 
> hacks.
>


Your general approach seems sound.  Your duplicate resource problem arises 
from managing shared resources in the wrong place.  You have the model 
backwards in that regard: resource declarations should not be exported as a 
means of saying "I need this resource", but rather as a means of saying "I 
*provide* this resource".

The canonical example is Host resources, which manage entries in 
/etc/hosts.  If each node exports a Host resource for its own name and IP 
address, and also collects all Host resources, then you end up with each 
node having all managed nodes listed in its hosts file.  Each export says 
"My name is , and you can find me at ."  The nodes 
provide a machine (themselves) with the given name at the given address.



>> An alternative is to have a manifest that ensures there is a suitable 
>> database available, creating it if not, running on the web application 
>> servers - you've got a db client there already which should be able to 
>> access the db server.  That approach also allows you to ensure there's a 
>> database created before attempting to populate it and start the app, 
>> exported resources mean you'll need several runs before everything is 
>> clean. 
>>  
>>
>
> For security reason we only allow root access to the mysql database from 
> the host it runs on, via a unix socket. That is why the DB server needs to 
> collect the databases and then create them.
>
>

It is a good plan to allow root access only from the database host, but 
that in no way means database resources need to be collected into its 
catalog instead of being declared concretely there.  As a first, 
minimally-elegant approach, define a class for each database, and assign 
those classes to the DB server via Foreman, as appropriate.

Slightly more elegant might be to use a single class, driven by top-scope 
data defined via Foreman.  If you were willing to put your data in a place 
and form where the master could access it via Hiera then a rather more 
elegant solution could be constructed.

 

> But that problem seems solvable also. But I am still interested in a 
> general solution-
> We have "virtual resources". This has allowed me to for example declare 
> all the different VLANs in one class that all nodes include, but then only 
> realize the lans needed on a per service basis. Something like "exported 
> virtual resources" would be convenient.
>


Just like concrete resources, virtual resources may only be declared once 
within their scope (one catalog).  They may be realized / collected many 
times, but that's not the same thing at all.

Exported resources are just the same, except that their scope is the entire 
purview of a given master.  They may be collected many times, for one node 
or for many, but they may have only one declaration.  It's all quite 
consistent.


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/c836e666-8844-46fe-8174-faade4cdfa61%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Re: file resource to provide serveral files

2014-01-24 Thread Andreas Dvorak
Hi,

I am trying this. config.pp of module logrotate
define logrotate::config{
  case $::osfamily {
redhat:{
  file { "/etc/logrotate.d/${conf_file}":
ensure => 'present',
owner  => 'root',
group  => 'root',
mode   => '0644',
source => "puppet://${puppetmaster}/modules/logrotate/${conf_file}",
  }
}
solaris:{
  notice('logrotate not available')
}
default:{
  fail("Unsupported platform: ${::osfamily}")
}
  }
}

in the nodes.pp
  logrotate::config{'test':}
  logrotate::config{'puppet':}

And it says
Duplicate declaration: File[/etc/logrotate.d/] is already declared in file 
/data/git/test/modules/logrotate/manifests/config.pp:10
It also does not work if I just have on file to provide. The it does 
nothing.

Can you please help me?
Andreas


-- 
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/7576638c-5157-4df3-a5a4-69c481e644ca%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Re: Exporting a resource only once....

2014-01-24 Thread jcbollinger


On Thursday, January 23, 2014 10:26:08 AM UTC-6, Krist van Besien wrote:
>
>
>
> On Thursday, January 23, 2014 2:59:29 PM UTC+1, jcbollinger wrote:
>>
>>
>> It only makes sense to export resources that are somehow specific to or 
>> characteristic of the node whose catalog is being compiled.  If you have 
>> such a resource to export, then structure your manifests so that no more 
>> than one declaration of the resource can be evaluated during any catalog 
>> compilation.  No need for any tests in that case.  If different nodes may 
>> export *similar* resources, then do ensure that they all have distinct 
>> titles (and names) across all nodes.
>>
>> On the other hand, if your resources are not characteristic of any 
>> particular node, then they are not suited for export.  We might be able to 
>> suggest specific alternatives if you explained what you are trying to 
>> achieve in more detail.
>>
>>
> Basically my situation is the following:
> - A database server
> - Several web application servers. 
>
> The whole managed using foreman/puppet
>
> My Web applications each need a database, so I would like to just export 
> on the web application nodes the databases I need, and collect them on the 
> database server. However, several nodes that run the same web application 
> of course need the same database. What do I do when I have two nodes, that 
> both need the same database? 
> The logical, intuitive solution would be to export it on all of them, but 
> only collect it once on the database server. 
>
>

No, that's not sensible.  It presents largely the same problem as multiple 
concrete declarations of the same resource within one node's catalog.  All 
declarations of the resource must be kept in sync, and no one of them is 
authoritative.  Even if they all happen to be identical during any given 
catalog compilation, Puppet rejects the duplicates.

I imagine you saying that the declarations in your case are automatically 
in sync because all the nodes in question issue it via the same manifest.  
If that's the case, however, then the declaration must not depend on 
anything specific to the nodes consuming the database, therefore it could 
just as easily be declared as a concrete resource on the database server.  
That has the added advantages that

   1. The database can be configured before any of its consumers are
   2. The database does not fall out of management if its consumers go down 
   / stop checking in
   3. It's possible to determine what databases are supposed to be 
   configured strictly by looking at the manifests and data pertinent to the 
   database server
   
 

> Other situations are : backends to a loadbalancer that export both 
> frontend and backend URLs. The loadbalancer collects both, and creates it's 
> configuration based on them.
>  
>


Back ends shouldn't be telling the LB what its front-end URL is.  That is 
and should remain a property of the LB itself.  On the other hand, it is 
quite reasonable for the back ends to export *their own* URLs for the LB to 
collect.  That's actually a pretty good example of what should be exported 
and what should not.


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/d2b587ed-d84b-47c7-9fa5-26bef4ef2e70%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] file resource to provide serveral files

2014-01-24 Thread Jose Luis Ledesma
I think that what you need is a define here.

Regards,

-- 
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/b4e13ea9-7ceb-4cf5-8336-02639931562e%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Is it possible to include files in puppet.conf

2014-01-24 Thread Jose Luis Ledesma
I don't understand the problem, just use a modulepath without the $environment, 
or set a couple of paths this way:
modulepath = 
$confdir/environments/common:$confdir/environments/$environment/modules

Regards,

-- 
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/30a3a627-e08b-49a1-9c02-176a7aaa6146%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] file resource to provide serveral files

2014-01-24 Thread Andreas Dvorak
Dear all,

with my class config.pp I would like to provide config file to 
/etc/logrotate.d.

filename: config.pp
class logrotate::config($conf_file){
  case $::osfamily {
redhat:{
  file { "/etc/logrotate.d/${conf_file}":
ensure => 'present',
owner  => 'root',
group  => 'root',
mode   => '0644',
source => "puppet://${puppetmaster}/modules/logrotate/${conf_file}",
  }
}
solaris:{
  notice('logrotate not available')
}
default:{
  fail("Unsupported platform: ${::osfamily}")
}
  }
}

In the nodes.pp I have
  class {'logrotate::config':
conf_file => 'test',
  }

but I get the error
Duplicate declaration: Class[Logrotate::Config]

I also have this in a module
  class {'logrotate::config':
conf_file => 'puppet',
  }

I thought the title of the file resource is different and it should work.
As far as I know this problem can be solved by "define" or "virtual 
resource", but I have no idea what is a good solution.
Can you please help me?

Best regards
Andreas

-- 
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/c694b900-60f9-4c7c-bccd-b9c7adf6d689%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] DashboardQuery

2014-01-24 Thread Jason Antman
I haven't used a dashboard version newer than... 2 years old or so... 
but as of that version, and the version of Console that shipped with 
Puppet Enterprise 2.5, no, this isn't possible. It's been a feature 
request for years, and is one of the main factors that drove me to 
develop my own ENC.


-Jason

On 01/24/2014 06:39 AM, kaustubh chaudhari wrote:

Hi,

Is there a way to track which admin did what task in dashboard.

I have a admin team who will be using Dashboard, i am worried that i 
will not be able to track who did what?


Is there a way to track it ?

Can some one redirect me to the appropriate documentation ?

-Kaustubh
--
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/b532f951-841a-4ec2-bb40-7d656c78f71a%40googlegroups.com.

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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/52E2579D.1030401%40jasonantman.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Re: Exporting a resource only once....

2014-01-24 Thread Lorenzo Salvadorini
>Basically my situation is the following:
>- A database server
>- Several web application servers.

We have a similar environment and the solution we adopted is very simple: put
the "if ! defined" inside the exported resource and of course make the name
of the resource unique between the web application servers.
All the webservers will export the resource database, the database host
will collect them but the resource will be created only on the first
occurrence in the catalog.
This is a general pattern that we use for mysql database, memcache
instances, etc...

My 2 c
L

-- 
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/CANY6uodQYuBDmkP7guNpCUQQa%3DsCoVdxSAj-un8DGgZPsjGq0Q%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] DashboardQuery

2014-01-24 Thread kaustubh chaudhari
Hi,

Is there a way to track which admin did what task in dashboard.

I have a admin team who will be using Dashboard, i am worried that i will 
not be able to track who did what?

Is there a way to track it ?

Can some one redirect me to the appropriate documentation ?

-Kaustubh

-- 
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/b532f951-841a-4ec2-bb40-7d656c78f71a%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Is it possible to include files in puppet.conf

2014-01-24 Thread Edd Grant
Hi Jose,

Thanks for responding, I should have mentioned I have already looked at
dynamic environments. Unfortunately though several of our environments
require a unique module path and I couldn't find a way to accommodate that
using dynamic environments.

I suppose the ideal would be for us to remove the need to have a unique
module path in each environment but I can't see that happening any time
soon. Will have a ponder on other approaches.

Cheers.

Edd


On 23 January 2014 17:37, Jose Luis Ledesma wrote:

> Read  about dynamic environments.
>
> Preview: make use of $environment in puppet.conf
>
> Regards,
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Puppet Users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/puppet-users/8pUqla3S6CI/unsubscribe.
> To unsubscribe from this group and all its topics, 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/78fcf9ae-91ea-4ef3-bd65-2e5a73dd35e4%40googlegroups.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Web: http://www.eddgrant.com
Email: e...@eddgrant.com
Mobile: +44 (0) 7861 394 543

-- 
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/CAO5arLPWKqQh_-f37YJnvhaz2Xj0fjeCwujENgLBHgRfKs1Fow%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Configure Replica Set Puppet

2014-01-24 Thread Luis León
What is the best option to configure a replica set in MongoDB with Puppet?

I have to do this steps:


mongo localhost:1/admin 

> rs.initiate({"_id" : "shard1", "members" : [ 

... {"_id" : 0, "host" : ":1"}, 

... {"_id" : 1, "host" : ":1"}, 

... {"_id" : 2, "host" : ":11000", arbiterOnly : 
true}]}) 


Thanks!!

Luis

-- 
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/28b53165-5d2e-4a90-a699-9b64f2e33925%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Install MSI packages

2014-01-24 Thread pskovshurik
Hi Rob,

I did not see that! I will try it this way. Puppet version is 3.4 Open 
Source.

The other question I have is where can I get a list of  install_option 
flags for MSI packages? There are some examples such as INSTALLDIR and 
ALLUSERS but this is not a complete list.

Thanks again
Alex

On Thursday, January 23, 2014 8:34:08 PM UTC, Rob Reynolds wrote:
>
> Hello Alex,
>
> On Thu, Jan 23, 2014 at 12:01 PM, >wrote:
>
>> Hi,
>>
>> I would like to install Apache silently on Windows servers using Puppet. 
>> Here's my class:
>>
>> class base_apache {
>>
>> case $operatingsystem {
>> windows: {
>> file { 'apache_installer_package':
>> path=> 'D:/Downloads/Puppet/',
>> ensure  => directory,
>> source  => 
>> 'puppet:///files/Apache-Installers/',
>> recurse => true,
>> purge   => false,
>> source_permissions => ignore,
>> replace => no,
>> before  => Package['apache 
>> 2.2.25']
>> }
>>
>> package { 'apache 2.2.25':
>> ensure  => installed,
>> source  => 
>> 'D:\\Downloads\\Puppet\\httpd-2.2.25-win32-x86-openssl-0.9.8y.msi',
>> install_options => {'INSTALLDIR' => 
>> 'D:\Apache2.2'},
>> }
>> }
>> }
>> }
>>
>> It works, in that it installs it. However, it doesn't create Apache 
>> service and it doesn't seem to know if Apache is already installed as it 
>> seems to "create" it on every agent run:
>>
>> C:\>puppet agent -t
>> Info: Retrieving plugin
>> Info: Caching catalog for localhost
>> Info: Applying configuration version '1390499627'
>> Notice: /Stage[main]/Base_apache/Package[apache 2.2.25]/ensure: created
>> Notice: Finished catalog run in 6.17 seconds
>>
>> Any ideas?
>>
>
>
> What version of puppet? Second, have you looked over 
> http://docs.puppetlabs.com/windows/writing.html#packagepackage
>
> Specifically this:
>
> The title (or name) of the package must match the value of the package’s 
> DisplayName property in the registry, which is also the value displayed 
> in the “Add/Remove Programs” or “Programs and Features” control panel. If 
> the provided name and installed name don’t match, Puppet will believe the 
> package is not installed and try to install it again.
>
>  
>
>>
>> Thanks
>> Alex
>>
>> -- 
>> 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/65b79434-4cb8-4656-9a64-b80960af333a%40googlegroups.com
>> .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> -- 
> Rob Reynolds
> Developer, Puppet Labs
>
> Join us at PuppetConf 2014, September 23-24 in San Francisco - 
> http://bit.ly/pupconf14
> Register now and save 40%! Offer expires January 31st.
>  

-- 
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/904cd853-0e2c-4394-af20-0ae6c7f7a36d%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Re: How to manage SugarCRM config.php with Puppet?

2014-01-24 Thread Erwin Bogaard
Thanks for your suggestions.
Hiera seemed the best solution, but it seems then you still have to manage 
the whole file. Not just parts.
When I have some more time, I'm going to dive in Hiera, as is seems to be a 
good solution to other 'challenges' I have (and have solved badly, right 
now).

For now, I'm going to investigate the pre_config_override.php-option. 
That's probably the best case for this situation.
And as this situation is quite unique, I don't necessarily have to find a 
general solution for 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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/fad2e10b-38dd-4c76-858b-3f6c148937c3%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.