Re: [Puppet Users] Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Laurence Cope
Thanks Ilya, I will give this a try. 

BUT if I remember correctly, the install process will ask input during the 
install, to set some options... can Puppet handle entering options during 
installations? 

Thanks

On Monday, November 19, 2012 10:15:57 PM UTC, Ilya Dmitrichenko wrote:

 Hi,

 Yes, you probably want to do something like this:

 class virtualmin::install {

   $version = '1.2.3-foo'

   exec { 'get installer script':
command = 'wget http://software.virtualmin.com/gpl/scripts/install.sh
 ',
cwd = '/tmp',
creates = '/tmp/install.sh',
   }
   file { '/tmp/install.sh':
 mode = 0755,
 # checksum = 'the_checksum_of_that_script_if_you_feed_paranoid'
   }
   exec { 'install it now':
 command = '/tmp/install.sh',
 unless = 'test -x /usr/local/virtualmin/bin/foo  
 /usr/local/virtualmin/bin/foo --version | grep $version',
 require = File['/tmp/install.sh'],
   }
 }

 hope this kind of makes sense and please excuse any errors this pseudocode 
 might give you :)

 Cheers,
 -- 
 Ilya 


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/AxVrJPPnfDgJ.
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] Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Jakov Sosic
On 11/20/2012 10:44 AM, Laurence Cope wrote:
 Thanks Ilya, I will give this a try. 
 
 BUT if I remember correctly, the install process will ask input during
 the install, to set some options... can Puppet handle entering options
 during installations? 

Puppet is not a shell script, it's a state-ensuring tool. So with puppet
you are forcing your system to be in the state you want it to be. So,
you should avoid running 'installation scripts'.

Best way to solve your problem would be to distribute virtualmin through
distro native packages, and later just modify configuration files
according to your needs.

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



[Puppet Users] Re: Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Laurence Cope
So does that mean I still have to manually setup server and install what I 
need, then just use Puppet to keep them all configured the way I want them? 

So I would still copy my virtual servers to create a new one (because it 
takes too long to setup a virtual server from scratch and install 
everything I need). 

I was hoping to find some sort of server setup automation tool so I can 
create a new CentOS VM for example, then just have something install all 
the software I need automatically. 

Thanks


On Monday, November 19, 2012 7:57:33 PM UTC, Laurence Cope wrote:

 HI

 Forgive me if this is such a newbie issue. I am learning Puppet to manage 
 several servers we have. The tutorials on manifests etc. seem a bit 
 simplistic for I want, if what I want can be achieved with Puppet. 

 Our servers are web hosting servers. We use Virtualmin (and Webmin) to 
 manage the server and virtual servers. installing Virtualmin takes care of 
 installing all the software required for virtual servers and websites, like 
 Apache MySQL, PHP, BIND, Postfix etc. So we dont install those separately. 
 Virtualmin does it. 

 To setup a server we create the VPS, install Virtualmin, configure it, 
 install CSF (Firewall), configure it and then our monitoring system agent. 
 This is the minimum. We may want to then install something like Varnish 
 perhaps, or anything else. At the moment I copy another server and delete 
 its virtual servers as I have everything configured. But in time the 
 configs just move away from each other. So I also want a way to manage all 
 the configs on all servers, so they are the same. CSF in particular. 

 I wondered if all this can be done in Puppet. I have no idea if it can 
 because I cannot find any examples of this. 

 I wondered if this is very possible with Puppet so I can continue to 
 learn, OR if not then I will give up now as I already spent a while on 
 this. 

 Thanks


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/fsdRJsMHrT8J.
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] Windows Manifest Newline Syntax and Append to file Questions

2012-11-20 Thread jim
Hello all,

I'm fairly new to puppet and in the majority a windows shop

I have two questions

1.) As windows syntax is slight different than linux syntax, how do I 
create a new line within a bit of content, e.g. hosts file for windows not 
linux

e.g.

file {'c:/Windows/System32/drivers/etc/hosts':
content =
127.0.0.1  puppet.office \n
127.0.0.1   puppet8081.office,
}

As it seems to ignore the \n

2.) also can you append to a file, for example your base machines get the 
standard host file and futher down the tree it goes it might get host 
entries amended to it.

Kind Regards

James

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/IUFifHBoo6IJ.
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] managing java with puppet (RH)

2012-11-20 Thread Arnau Bria
Hi all,

In my systems (SL 6.3, RH like) I'm installing Oracle's Java. 
I'm managing the package and several links under /etc/alternatives
with puppet, but for configuring it, all the 'official' docs recommends
'alternatives'. I've been looking for some module which already
deals with it, but I've not found any... anyone knows any module with
deals with alternatives?


TIA,
Arnau

-- 
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] Puppet daemon at startup runs differently from interactive

2012-11-20 Thread Bret Wortman
Puppet 3.0.1 from Puppetlabs' repos, installed on F17.

I've got puppet set to run automatically on startup after a minimal cobbler 
install (using a slightly modified default.ks from cobbler). Puppet starts 
on the subsequent reboot just fine, but its environment appears to be 
unlike the environment I get when logging in interactively to start it. 
 Post-reboot, the system log will show entries like these:

Nov 19 15:19:34 zw144 puppet-agent[933]: Starting Puppet client version 
3.0.1
Nov 19 15:19:34 zw144 puppet-agent[933]: Reopening log files
Nov 19 15:19:40 zw144 puppet-agent[933]: Could not autoload 
puppet/provider/package/rpm: No child processes
:
: Several No child processes will follow, and often several iterations of 
this, but ultimately I'll see something like this:
:
Nov 19 15:49:48 zw144 puppet-agent[933]: 
(/Stage[main]/Sudo/File[sudo-config]/ensure) defined content as 
'{md5}hash'
Nov 19 15:49:48 zw144 puppet-agent[933]: 
(/Stage[main]/Yum/File[/etc/yum.repos.d/puppetlabs.repo]/ensure) defined 
content as '{md5}hash'
:
: Usually runs will have some No child processes errors and some 
successes. Eventually, though, I get something like this:
:
Nov 20 04:21:48 zsw144 puppet-agent[933]: 
(/Stage[main]/Freeipa-client/Exec[[postinstall]) Dependency 
Package[freeipa-client] has failures: true
Nov 20 04:21:48 zsw144 puppet-agent[933]: 
(/Stage[main]/Freeipa-client/Exec[[postinstall]) Skipping because of failed 
dependencies
Nov 20 04:21:48 zsw144 puppet-agent[933]: 
(/Stage[main]/Freeipa-client/Exec[[postinstall]) Could not find a suitable 
provider for package
Nov 20 04:21:48 zsw144 puppet-agent[933]: 
(/Stage[main]/Freeipa-client/Exec[[postinstall]) Finished catalog run in 
1.22 seconds

What's odd is that when I log in as root and run puppet agent -t from an 
interactive session, freeipa-client (or whatever package has issues) will 
install, along with numerous others remaining in the catalog. Also, if I 
terminate the agent that started with the system and manually start one 
using puppet agent, the manually-started one will almost always have 
fewer issues than the system-started one.

So there appears to be some environmental difference between the puppet 
agent running at startup and manually launching one. Any ideas? My goal is 
to be able to install systems completely hands-off, from setting up the 
cobbler and IPA servers to register them and letting puppet automatically 
configure the system for me post-kickstart. But it's not working for me 
very well just yet.


Bret

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/dttXkfpoLWUJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Puppet client won't autostart

2012-11-20 Thread Bret Wortman
Just to finish this one up, I had the service name wrong.

# puppet resource service puppetagent enable=yes ensure=running

Works just fine.


Bret

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/6GhA7riGZH4J.
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] managing java with puppet (RH)

2012-11-20 Thread Johan De Wit

On 11/20/2012 01:05 PM, Arnau Bria wrote:

Hi all,

In my systems (SL 6.3, RH like) I'm installing Oracle's Java.
I'm managing the package and several links under /etc/alternatives
with puppet, but for configuring it, all the 'official' docs recommends
'alternatives'. I've been looking for some module which already
deals with it, but I've not found any... anyone knows any module with
deals with alternatives?


TIA,
Arnau


Hi,

I' ve attached my java module.

We needed to install multiple java versions on the same hosts, so, i 
repackaged them to make that possible. That's why i use the alternatives 
to set a default system wide java version.   I also added a spec file as 
example.


This version is made to run on sles11spX.  I'm now making the deb 
packages for the custom java version.


I hope this will put you on the right track for a possible solution.  
Any comments are welcome.


Grts

johan




--
Johan De Wit

Open Source Consultant
Red Hat Certified Engineer(805008667232363)
Puppet Certified Professional 2013 (PCP006)
_

Open-Future   Phone   +32 (0)2/255 70 70
Zavelstraat 72Fax +32 (0)2/255 70 71
3071 KORTENBERG   Mobile  +32 (0)474/42 40 73
BELGIUM   http://www.open-future.be
_

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

class java {

}
# Define: install_java
#
# This definition installs the vrt repacked java versions.
# Multiple versions can now be installed together on the
# the same host.  Also the 64bit and 32bit can coexist on the
# same host
#
# [version]
#   Which java version to install
#   Possible values : 6 or 7
#   Default : 6
#
# [arch]
#  Which version to install, 64 or 32 bit
#  Possible values : x64, the rest installs the 32bit version
#  Default : x64
#
# [jdk]
#   Wether to install the jdk or the jre
#   Possible values : True, False, Yes, No, Y, N, 0, 1
#   Default :False
#
# [register]
#   Wether to register the  jdk or the jre,  so the installed version
#   can be used as /usr/bin/java
#   Possible values : True, False, Yes, No, Y, N, 0, 1
#   Default : true
#
# [prio]
#   Piority of the  java version.  The java version with the highest prio
#   will be linked to  /usr/bin/java
#
define java::install_java ( version ='6', arch='x64', jdk=false, register=true, 
prio='1' ) {

# check version,
case $version {
'6': {
$my_version = '1.6.0_33'
}
'7': {
$my_version = '1.7.0_05'
}
default: {
notify { 'unsupported java version selected - only 
6u33, 7u5 are supported': }
}
}

case $arch {
'x64': {
$my_arch  = ''
$my_parch = 'x86_64'
}
default: {
$my_arch  = '-32bit'
$my_parch = 'i586'
}
}
case $jdk {
true,'yes','1','Y','y': {
$my_jdk = 'jdk'
}
default: {
$my_jdk = 'jre'
}
}

package { unixODBC${my_arch}:
ensure = present,
}

package { ${my_jdk}${my_arch}-${my_version}-repack:
ensure  = present,
require = Package[ unixODBC${my_arch} ]
}

case $register {
true,'yes','1','Y','y': {
java::register_java { 
${my_jdk}${my_arch}-${my_version}-repack:
order   = $prio,
path= 
/opt/java/${my_parch}/${my_jdk}${my_version}/,
require = Package[ 
${my_jdk}${my_arch}-${my_version}-repack ],
}
}
}
}
define java::register_java ( order='1' , path ) {

$my_prio = $order * 2
$reg_command = /usr/sbin/update-alternatives --install \
/usr/bin/java java ${path}/bin/java $my_prio \
--slave /usr/bin/keytool keytool $path/bin/keytool \
--slave /usr/bin/orbd orbd ${path}/bin/orbd \
--slave /usr/bin/pack200 pack200 ${path}/bin/pack200 \
--slave /usr/bin/policytool policytool 
${path}/bin/policytool \
--slave /usr/bin/rmid rmid ${path}/bin/rmid \
--slave /usr/bin/rmiregistry rmiregistry 

Re: [Puppet Users] Re: Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Matthew Burgess
On Tue, Nov 20, 2012 at 10:40 AM, Laurence Cope
amitywebsoluti...@gmail.com wrote:
 So does that mean I still have to manually setup server and install what I
 need, then just use Puppet to keep them all configured the way I want them?

 So I would still copy my virtual servers to create a new one (because it
 takes too long to setup a virtual server from scratch and install everything
 I need).

 I was hoping to find some sort of server setup automation tool so I can
 create a new CentOS VM for example, then just have something install all the
 software I need automatically.

Puppet can certainly do the 'install all the software I need
automatically' bit for you, but its and your job is made much easier
by asking/telling it to install software in your OSes 'native'
packaging format.  As you mention CentOS, that would be RPM.  RPMs for
Virtualmin can be found at http://www.webmin.com/vdownload.html.  In
order to have Puppet install that for you, you will need to create
your own Yum repository, have Puppet configure yum to make use of that
repo, then create a manifest that installs the package.

Hope this helps,

Matt.

 Thanks


 On Monday, November 19, 2012 7:57:33 PM UTC, Laurence Cope wrote:

 HI

 Forgive me if this is such a newbie issue. I am learning Puppet to manage
 several servers we have. The tutorials on manifests etc. seem a bit
 simplistic for I want, if what I want can be achieved with Puppet.

 Our servers are web hosting servers. We use Virtualmin (and Webmin) to
 manage the server and virtual servers. installing Virtualmin takes care of
 installing all the software required for virtual servers and websites, like
 Apache MySQL, PHP, BIND, Postfix etc. So we dont install those separately.
 Virtualmin does it.

 To setup a server we create the VPS, install Virtualmin, configure it,
 install CSF (Firewall), configure it and then our monitoring system agent.
 This is the minimum. We may want to then install something like Varnish
 perhaps, or anything else. At the moment I copy another server and delete
 its virtual servers as I have everything configured. But in time the configs
 just move away from each other. So I also want a way to manage all the
 configs on all servers, so they are the same. CSF in particular.

 I wondered if all this can be done in Puppet. I have no idea if it can
 because I cannot find any examples of this.

 I wondered if this is very possible with Puppet so I can continue to
 learn, OR if not then I will give up now as I already spent a while on this.

 Thanks

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

 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.

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



[Puppet Users] Re: Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Laurence Cope
 

 you will need to create your own Yum repository, have Puppet configure yum 
 to make use of that repo, then create a manifest that installs the package.


Ah right... this bit helps a lot. never thought of creating an own repo, 
that makes sense now. so if its in a repo puppet can do it. I will look 
into that, and also request Virtualmin do it because I asked them about 
this on their forum, but they had no experience with Puppet. Makes sense 
for it to come from a repo they manage. 

thanks


On Monday, 19 November 2012 19:57:33 UTC, Laurence Cope wrote:

 HI

 Forgive me if this is such a newbie issue. I am learning Puppet to manage 
 several servers we have. The tutorials on manifests etc. seem a bit 
 simplistic for I want, if what I want can be achieved with Puppet. 

 Our servers are web hosting servers. We use Virtualmin (and Webmin) to 
 manage the server and virtual servers. installing Virtualmin takes care of 
 installing all the software required for virtual servers and websites, like 
 Apache MySQL, PHP, BIND, Postfix etc. So we dont install those separately. 
 Virtualmin does it. 

 To setup a server we create the VPS, install Virtualmin, configure it, 
 install CSF (Firewall), configure it and then our monitoring system agent. 
 This is the minimum. We may want to then install something like Varnish 
 perhaps, or anything else. At the moment I copy another server and delete 
 its virtual servers as I have everything configured. But in time the 
 configs just move away from each other. So I also want a way to manage all 
 the configs on all servers, so they are the same. CSF in particular. 

 I wondered if all this can be done in Puppet. I have no idea if it can 
 because I cannot find any examples of this. 

 I wondered if this is very possible with Puppet so I can continue to 
 learn, OR if not then I will give up now as I already spent a while on 
 this. 

 Thanks


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/YSLhcnZ-Vx0J.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



[Puppet Users] Re: Issue with service = disabled and stopped

2012-11-20 Thread jcbollinger


On Monday, November 19, 2012 6:37:28 PM UTC-6, Forrie wrote:

 Thanks for the explanation, I appreciate it. 

 These services are provided by Redhat as are the init scripts, which 
 report: 


 # /etc/init.d/cups-config-daemon status 
 cups-config-daemon is obsolete 

 # /etc/init.d/hidd status 
 hidd is stopped 


 I can see where the first one is unexpected to Puppet. 


What Matthaus said.  But also, I emphasize what he breezed over: it is the 
*exit 
code* of the 'service' command that Puppet considers, as I wrote earlier.  
Nothing the command sends to its output or error stream is relevant to 
Puppet's evaluation.  In the shell, you can get the exit code of the last 
foreground process run by that shell from the variable $?.  Example:

/etc/init.d/cups-config-daemon status 
echo $?


John



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/uZp2BpP3ibkJ.
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: Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Matthew Burgess
On Tue, Nov 20, 2012 at 1:54 PM, Laurence Cope
amitywebsoluti...@gmail.com wrote:
 you will need to create your own Yum repository, have Puppet configure yum
 to make use of that repo, then create a manifest that installs the package.

 Ah right... this bit helps a lot. never thought of creating an own repo,
 that makes sense now. so if its in a repo puppet can do it. I will look into
 that, and also request Virtualmin do it because I asked them about this on
 their forum, but they had no experience with Puppet. Makes sense for it to
 come from a repo they manage.

I generally favour my own private yum repositories rather than
upstream repositories for the following reasons:

1) Most client environments I've worked in have no Internet access; or
if they do it'll just be 1 or 2 servers, of which neither will be my
Puppet/Yum server.
2) I can control what versions of which packages are installed when
the Puppet manifest states 'ensure=latest'.  With a public
repository, I'd be at the mercy of the upstream vendor; as soon as
they release a new package all of my systems would be upgraded with no
testing/staging possible (there was a fairly recent thread in this
group when PuppetLabs released puppet-3.0 into the same repository as
puppet-2.x.  It caught a lot of folks out).  This can be mitigated, of
course, by using 'ensure=installed', but then that means upgrades are
painful.
3) It's quicker; your internal network should be much faster and more
reliable than going out to the wider Internet.

Thanks,

Matt.

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



[Puppet Users] Re: Scope object available functions and getting the local scope, or node scope variable values

2012-11-20 Thread jcbollinger


On Tuesday, November 20, 2012 1:34:23 AM UTC-6, Jayapandian Ponraj wrote:

 I have a node(b) inheriting another node(a). node(a) includes a class(c) 
 which inturn inherits class(d). I need to access the variable defined in 
 node (b) from class (d). I am not sure if its possible As far as i know 
 the node scope ends at node (a)Wat ll be the fully qualified name for 
 the variable in node(b)... My original question does not describe the 
 problem well, ignore it. 



Node variables do not have qualified names.  If they are not accessible via 
unqualified names in the local scope then they are not accessible at all.

On the other hand, in a node inheritance situation, the node variables of 
the parent node should be visible as node variables of the child node.

On the third hand, it is unwise to use node variables to modulate the 
behavior of your classes.  I recommend you avoid that.  There are a number 
of alternatives, but I can't recommend a particular one for your case with 
the limited information available to me.

Also, be very careful about class inheritance.  It probably doesn't do what 
you think it does, and it is rarely the best solution to a problem.  It's 
key and defining feature is the ability of subclasses to override 
parameters of resources declared by their superclasses.  If your reason for 
subclassing does not center on that feature then you do not need or want to 
subclass.  If the superclass is parametrized then you almost certainly do 
not want to subclass.  Until you understand what I have just written, you 
definitely do not want to subclass.


John

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/xh78Anj82O0J.
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] Custom providers/types gem dependencies

2012-11-20 Thread Mohit Chawla
Hello,

I am using a custom provider that uses an external gem, for eg., json.
I am seeing this behavior:

1) In the first puppet run - errors would be thrown like :
err: Could not load downloaded file
/var/lib/puppet/lib/puppet/provider/custom_provider/json.rb: no such
file to load -- json
 *However*, the catalog compiles and works eventually. Perhaps because
I do have a puppet module which installs json lib before the module
which uses the custom provider is
  executed.

2) If however, there was some other error in the first run, say a
syntax error somewhere, and then you try the puppet run, it simply
doesn't retrieve the catalog with an error like:
Could not autoload sensu_client_config: Could not autoload
/var/lib/puppet/lib/puppet/provider/custom_provider/json.rb: no such
file to load -- json

If this is not a bug (not sure how much this is related to
http://projects.puppetlabs.com/issues/6907 ), then what is the
suggested solution for handling gem dependencies in providers/types ?

-- 
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] Custom providers/types gem dependencies

2012-11-20 Thread Jeff McCune
On Tue, Nov 20, 2012 at 10:24 AM, Mohit Chawla
mohit.chawla.bin...@gmail.com wrote:
 Hello,

 I am using a custom provider that uses an external gem, for eg., json.
 I am seeing this behavior:

 1) In the first puppet run - errors would be thrown like :
 err: Could not load downloaded file
 /var/lib/puppet/lib/puppet/provider/custom_provider/json.rb: no such
 file to load -- json
  *However*, the catalog compiles and works eventually. Perhaps because
 I do have a puppet module which installs json lib before the module
 which uses the custom provider is
   executed.

What version of Puppet are you running?

Yes, there is a dependency issue here.  Providers are loaded right
after they are synchronized using pluginsync, which happens before the
catalog is applied.  If the catalog is responsible for configuring the
json gem, then the provider will not have this dependency available
the first time it is loaded.  Custom providers should definitely be
able to reuse code from Rubygem libraries.

 2) If however, there was some other error in the first run, say a
 syntax error somewhere, and then you try the puppet run, it simply
 doesn't retrieve the catalog with an error like:
 Could not autoload sensu_client_config: Could not autoload
 /var/lib/puppet/lib/puppet/provider/custom_provider/json.rb: no such
 file to load -- json

 If this is not a bug (not sure how much this is related to
 http://projects.puppetlabs.com/issues/6907 ), then what is the
 suggested solution for handling gem dependencies in providers/types ?

That's the issue.  I have no idea why that's marked as closed, it
definitely hasn't been resolved in 3.0 for the scenario of providers
relying on gem libraries.  Perhaps we closed that issue because it was
more focused on system commands being available instead of gem
dependencies being available.  Could you please create a new ticket
[1] and mark it as related to both #6907 and #7316 and then ping me
with the new ticket number?  I'll bring this ticket to the attention
of the rest of the team.  The platform team is currently working on
code loading issues for Puppet 3.1 and this issue definitely falls
under this umbrella, so I'd like to collect as much impact data and
related information about what you're trying accomplish as possible.
A new ticket to collect this information is the best tool we have at
this time.

[1] http://projects.puppetlabs.com/projects/puppet/issues/new

Hope this helps,
-Jeff

-- 
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] Custom providers/types gem dependencies

2012-11-20 Thread Mohit Chawla
Hello Jeff,

Thanks for the reply.

 A new ticket to collect this information is the best tool we have at
 this time.

This is on 2.7.19. Added ticket http://projects.puppetlabs.com/issues/17747.

-- 
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] Puppet die ?

2012-11-20 Thread gm
Hi All,

In foreman I checked hosts status and found one host was  out of sync , I 
logined the box and check the status of puppet, no obvious issues found ( 
puppet was running at that point time). Then I tried to restart puppet and 
but failed (also no related log).

/etc/init.d/puppet restart
 * Restarting puppet 
agent   

 
[fail]

I had to delete the puppet pid file,  rm -f /var/run/puppet/agent.pid , 
then restarted puppet and it worked.

My OS is ubuntu  12.04 and the puppet version is   2.7.11-1ubuntu2.1

What is root case of this issue ?  Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/TLf7iXAJWg8J.
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] Relationship for a called function?

2012-11-20 Thread KomodoDave
If you define a custom function in *lib/puppet/parser/functions *can it be 
executed with a *before *or* require *relationship applied?

Without this I don't understand the logic behind when it will be called, 
considering relationships make the literal ordering of code in a manifest 
irrelevant to a degree.

Any information would be gratefully received.

Sincere thanks

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/t2eQHi6b_ycJ.
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] Array from custom function gets flattened

2012-11-20 Thread KomodoDave
I'm trying to use my first custom function *prefixPaths*.

The function is defined in:

my_module/lib/puppet/parser/functions/prefixPaths.rb


Listing:

module Puppet::Parser::Functions
newfunction(:prefixPaths, :type = :rvalue) do |args|
args[1].map{|path| #{args[0]}/#{path}}
end
end


It's usage is e.g. *prefixPaths( 'base', [ 'A', 'path/to/B' ] ) = [ 
'base/A', 'base/path/to/B' ]*
*
*
I'm trying to use it in a Puppet manifest when creating a set of 
directories on the client:

$bashScriptDir  = bash-scripts
$karafScriptDir = karaf-scripts
$userTypeDir= user-type-resources
$resourceDirs   = [$bashScriptDir,$karafScriptDir,$userTypeDir]
file { 'Create common dirs.':
path = $localPaths,
ensure = 'Directory'
}

However, when I use this the following error results:

err: Failed to apply catalog: Parameter path failed: File paths must be 
fully qualified, not 
'/fuse/common/bash-scripts/fuse/common/karaf-scripts/fuse/common/user-type-resources'
 
at /etc/puppet/gitmodules/app_fuse/manifests/init.pp:113


It looks like it's flattening the array.

I've seen another conversation on here indicating arrays are permitted to 
be used as custom function return values.

Would someone be kind enough to indicate what I'm doing wrong?

I'm on Puppet version 2.7.6 .

Sincere thanks for your time. 

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/oGz4QjGWNzgJ.
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] puppet hang

2012-11-20 Thread gm


hi all,

I found puppuet stop to work, restart was not working, I had to kill -9 
puppet  mannually and started pupped then it was working.

what is root cause of this issue ?

Thanks,
gm

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/_V1COEt-ckMJ.
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] hiera values issue

2012-11-20 Thread Félix Barbeira
Hi, I have a puppetmaster - agent architecture. I have a module for the 
vsftpd configuracion in the agents. The configuration of the value 
'max_per_ip' in the agents may vary. This is a line of the manifest:

$max_per_ip = hiera('max_per_ip',10)

I want to specify different values for each agent using hiera. The problem 
is I am only able to specify the 'common' values, not the values using the 
the variable 'clientcert'. This is my configuration in the puppetmaster:

The '/etc/hiera.yaml' file:

---
:backend:
  - yaml
:hierarchy:
  - ${certname}
  - common
:yaml:
# datadir is empty here, so hiera uses its defaults:
# - /var/lib/hiera on *nix
# - %CommonAppData%\PuppetLabs\hiera\var on Windows
# When specifying a datadir, make sure the directory exists.
  :datadir:

I created the file '/var/lib/hiera/c108.dfgserver.com.yaml' with the 
following content:

---
#vsftpd
max_per_ip: 20

But this doesn´t work. The agent ignores the value 'max_per_ip' established 
on the file. If I rename the file '/var/lib/hiera/c108.dfgserver.com.yaml' 
to 'common.yaml', then it works. At the beginning I thought it could be an 
issue with the variable 'certname' but if I execute the following in the 
agent it returns the fact correctly:

root@c108:/etc/puppet# puppet apply -ve 'notify {My certname is: 
${settings::certname}:}'
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/iptables.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/iptables.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Info: Applying configuration version '1353427613'
My certname is: c108.dfgserver.com
/Stage[main]//Notify[My certname is: c108.dfgserver.com]/message: defined 
'message' as 'My certname is: c108.dfgserver.com'
Finished catalog run in 0.07 seconds
root@c108:/etc/puppet#

So the namefile must be '$certname'.yaml right?

I have the last versions of the repo 'apt.puppetlabs.com'. Both machines 
are ubuntu 10.04 LTS (lucid) with the last stable packages.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/l49ez_4lmLsJ.
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] Exception for one server on a basic setup

2012-11-20 Thread Ugo Bellavance
Hi,

I'm not a total newbie with puppet, but I only use it for a few things and 
I'm not even using modules yet, mostly because I only deploy configuration 
files for now.

I have a configuration for NTP that looks like this:

class ntpd {
package { ntp:
ensure = installed,
}
  file { /etc/ntp.conf:
owner = root,
group = root,
mode = 0644,
source = puppet://$puppet_server/files/ntp.conf,
require = Package[ntp]
}

service { ntpd:
ensure = running,
enable = true,
hasrestart = true,
hasstatus = true,
require = [Package[ntp], File[/etc/ntp.conf]],
subscribe = File[/etc/ntp.conf],
}
}

However, I would need to push a different file to my NTP servers (the 
puppet://$puppet_server/files/ntp.conf) are for clients.  How can I do 
that?  Can I simply declare my two servers in a node declaration and set a 
variable in it and then use a puppet:// path that includes a variable?

The setup is that I have 2 NTP servers that sync to servers on the net and 
all my servers and equipment sync to these two servers.

Thanks,

Ugo

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/BVXQEl79aBgJ.
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] Exception for one server on a basic setup

2012-11-20 Thread Matthew Burgess
On Tue, Nov 20, 2012 at 1:06 PM, Ugo Bellavance u...@lubik.ca wrote:

 However, I would need to push a different file to my NTP servers (the
 puppet://$puppet_server/files/ntp.conf) are for clients.  How can I do that?
 Can I simply declare my two servers in a node declaration and set a variable
 in it and then use a puppet:// path that includes a variable?

The simplest option here is to just do the following, taking your
existing ntp.conf file stanza as an example:

class ntpd {
package { ntp:
ensure = installed,
}
file { /etc/ntp.conf:
  owner = root,
  group = root,
  mode = 0644,
  source = [puppet://$puppet_server/files/ntp.conf.$host,
 puppet://$puppet_server/files/ntp.conf],
  require = Package[ntp]
  }

Puppet will use the first file that it finds in the source array.
For a more in depth explanation, see the 'source' parameter
description at http://docs.puppetlabs.com/references/3.0.latest/type.html#file.

Hope this helps,

Matt.

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



[Puppet Users] Re: migrating puppetmasters the console database (puppet enterprise)

2012-11-20 Thread Mike Skint
for anyone that is interested a much simpler method to accomplish this is 
to use rake tasks to modify the classes and node groups.
It's easily scripted..

On Friday, November 16, 2012 2:13:37 PM UTC-8, Mike Skint wrote:

 Hi group,

 I'm in the process of migrating a puppetmaster to a new host, and didn't 
 want to have to manually add in my classes and group configs in the console.
 So I was looking into the console db, and it appears to hold all the info 
 on nodes classes and groups.  So my question is this:  Is it feasible to 
 dump the console db on the old master and restore it on the new master?   
 Yes this is puppet enterprise.

 thanks for taking the time to read this..

 -mike


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/0aCtgi1v6wcJ.
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] Puppet3 CSW packages for Solaris

2012-11-20 Thread Phips
Folks,

I've got around to rolling some fresh Puppet3 packages at opencsw.org

I chose to call these puppet3/puppetmaster3 so the existing 2.7 stream 
could be kept in the CSW catalog too. They are, however, marked as 
incompatible - so you can't install them both (i.e. puppet and puppet3) at 
the same time.

Before I release them properly, if you'd like to test you can download them 
here:

http://buildfarm.opencsw.org/experimental.html#markp

I'd appreciate any feedback you may have.

Once I know they work OK I'll publish them to the CSW catalog.

--Mark

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/RIIlvNxXoPAJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



[Puppet Users] Re: Puppet daemon at startup runs differently from interactive

2012-11-20 Thread Bret Wortman
On Tuesday, November 20, 2012 7:41:10 AM UTC-5, Bret Wortman wrote:

 Puppet 3.0.1 from Puppetlabs' repos, installed on F17.

 I've got puppet set to run automatically on startup after a minimal 
 cobbler install (using a slightly modified default.ks from cobbler). Puppet 
 starts on the subsequent reboot just fine, but its environment appears to 
 be unlike the environment I get when logging in interactively to start it. 
  Post-reboot, the system log will show entries like these:

 Nov 19 15:19:34 zw144 puppet-agent[933]: Starting Puppet client version 
 3.0.1
 Nov 19 15:19:34 zw144 puppet-agent[933]: Reopening log files
 Nov 19 15:19:40 zw144 puppet-agent[933]: Could not autoload 
 puppet/provider/package/rpm: No child processes
 :
 : Several No child processes will follow, and often several iterations of 
 this, but ultimately I'll see something like this:
 :
 Nov 19 15:49:48 zw144 puppet-agent[933]: 
 (/Stage[main]/Sudo/File[sudo-config]/ensure) defined content as 
 '{md5}hash'
 Nov 19 15:49:48 zw144 puppet-agent[933]: 
 (/Stage[main]/Yum/File[/etc/yum.repos.d/puppetlabs.repo]/ensure) defined 
 content as '{md5}hash'
 :
 : Usually runs will have some No child processes errors and some 
 successes. Eventually, though, I get something like this:
 :
 Nov 20 04:21:48 zsw144 puppet-agent[933]: 
 (/Stage[main]/Freeipa-client/Exec[[postinstall]) Dependency 
 Package[freeipa-client] has failures: true
 Nov 20 04:21:48 zsw144 puppet-agent[933]: 
 (/Stage[main]/Freeipa-client/Exec[[postinstall]) Skipping because of failed 
 dependencies
 Nov 20 04:21:48 zsw144 puppet-agent[933]: 
 (/Stage[main]/Freeipa-client/Exec[[postinstall]) Could not find a suitable 
 provider for package
 Nov 20 04:21:48 zsw144 puppet-agent[933]: 
 (/Stage[main]/Freeipa-client/Exec[[postinstall]) Finished catalog run in 
 1.22 seconds

 What's odd is that when I log in as root and run puppet agent -t from an 
 interactive session, freeipa-client (or whatever package has issues) will 
 install, along with numerous others remaining in the catalog. Also, if I 
 terminate the agent that started with the system and manually start one 
 using puppet agent, the manually-started one will almost always have 
 fewer issues than the system-started one.

 So there appears to be some environmental difference between the puppet 
 agent running at startup and manually launching one. Any ideas? My goal is 
 to be able to install systems completely hands-off, from setting up the 
 cobbler and IPA servers to register them and letting puppet automatically 
 configure the system for me post-kickstart. But it's not working for me 
 very well just yet.

 Let me add here that this is happening on an x86_64 box. My i386es are 
unaffected.
 


 Bret


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/HHE0NPn4af0J.
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-dashboard - rake API not working

2012-11-20 Thread Bruno Léon
Does it fail or only warn ?
I can only see dprecation warnings in your message.

-- 
Bruno

On November 19, 2012 11:36:17 PM Jacob wrote:

Thanks :)

Now I get

snip

# sudo -u puppet-dashboard rake -f /usr/share/puppet-dashboard/Rakefile 
'node:list'
(in /usr/share/puppet-dashboard)
DEPRECATION WARNING: Rake tasks in vendor/plugins/delayed_job/tasks are 
deprecated. Use lib/tasks instead. (called from /usr/share/puppet-
dashboard/vendor/rails/railties/lib/tasks/rails.rb:10)

/snip



Il giorno lunedì 19 novembre 2012 19:37:43 UTC+1, Stefan Heijmans ha scritto:
Yes, I noticed it in 1.2.13 (https://groups.google.com/d/msg/puppet-users/-
s07XIymxCo/Yp3DpRU4t6EJ) but not in 1.2.14.
Fixed it by running  the mentioned 'rake gems:refresh_specs' 


Stefan


On Monday, November 19, 2012 10:11:35 AM UTC+1, Jacob wrote:
Hello all,

I am quite new to the puppet arena, but I am really impressed with puppet as a 
tool and the possibilities it gives you with regards to managing many systems.

I am running dashboard 1.2.14 and am trying to query via the rake API: 
http://docs.puppetlabs.com/dashboard/manual/1.2/rake_api.html

when I do, I get the following error:

snip

# sudo -u puppet-dashboard rake -f /usr/share/puppet-dashboard/Rakefile 
'node:list'
(in /var/log)
config.gem: Unpacked gem daemons-1.0.10 in vendor/gems has no specification 
file. 
Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem rack-1.1.2 in vendor/gems has no specification file. 
Run 
'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem rspec-1.3.2 in vendor/gems has no specification file. 
Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem rdoc-3.6.1 in vendor/gems has no specification file. 
Run 
'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem rspec-rails-1.3.4 in vendor/gems has no specification 
file. Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem thoughtbot-shoulda-2.10.2 in vendor/gems has no 
specification file. Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem mocha-0.9.7 in vendor/gems has no specification file. 
Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem will_paginate-2.3.15 in vendor/gems has no 
specification file. Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem json_pure-1.5.1 in vendor/gems has no specification 
file. Run 'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem haml-3.1.2 in vendor/gems has no specification file. 
Run 
'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem sass-3.1.2 in vendor/gems has no specification file. 
Run 
'rake gems:refresh_specs' to fix this.
config.gem: Unpacked gem factory_girl-1.3.3 in vendor/gems has no specification 
file. Run 'rake gems:refresh_specs' to fix this.
DEPRECATION WARNING: Rake tasks in vendor/plugins/delayed_job/tasks are 
deprecated. Use lib/tasks instead. (called from /usr/share/puppet-
dashboard/vendor/rails/railties/lib/tasks/rails.rb:10)



/snip



...I fail to find any info on this online ... has anyone else seen this?

Thanks,

//Jacob.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/Q-XcVfScapMJ.
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.



-- 
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] Custom providers/types gem dependencies

2012-11-20 Thread Andy Parker
On Tue, Nov 20, 2012 at 8:13 AM, Mohit Chawla mohit.chawla.bin...@gmail.com
 wrote:

 Hello Jeff,

 Thanks for the reply.

  A new ticket to collect this information is the best tool we have at
  this time.

 This is on 2.7.19. Added ticket
 http://projects.puppetlabs.com/issues/17747.


I believe this is related to 2.7 eagerly loading the providers during
pluginsync. In 3.0 the providers are loaded only after the pluginsync is
all done and I think they are delayed until they are needed, but I'm not
certain about that.



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



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



[Puppet Users] Re: Puppet daemon at startup runs differently from interactive

2012-11-20 Thread Bret Wortman


On Tuesday, November 20, 2012 12:37:39 PM UTC-5, Bret Wortman wrote:

 On Tuesday, November 20, 2012 7:41:10 AM UTC-5, Bret Wortman wrote:

 Puppet 3.0.1 from Puppetlabs' repos, installed on F17.

 I've got puppet set to run automatically on startup after a minimal 
 cobbler install (using a slightly modified default.ks from cobbler). Puppet 
 starts on the subsequent reboot just fine, but its environment appears to 
 be unlike the environment I get when logging in interactively to start it. 
  Post-reboot, the system log will show entries like these:

 Nov 19 15:19:34 zw144 puppet-agent[933]: Starting Puppet client version 
 3.0.1
 Nov 19 15:19:34 zw144 puppet-agent[933]: Reopening log files
 Nov 19 15:19:40 zw144 puppet-agent[933]: Could not autoload 
 puppet/provider/package/rpm: No child processes
 :
 : Several No child processes will follow, and often several iterations of 
 this, but ultimately I'll see something like this:
 :
 Nov 19 15:49:48 zw144 puppet-agent[933]: 
 (/Stage[main]/Sudo/File[sudo-config]/ensure) defined content as 
 '{md5}hash'
 Nov 19 15:49:48 zw144 puppet-agent[933]: 
 (/Stage[main]/Yum/File[/etc/yum.repos.d/puppetlabs.repo]/ensure) defined 
 content as '{md5}hash'
 :
 : Usually runs will have some No child processes errors and some 
 successes. Eventually, though, I get something like this:
 :
 Nov 20 04:21:48 zsw144 puppet-agent[933]: 
 (/Stage[main]/Freeipa-client/Exec[[postinstall]) Dependency 
 Package[freeipa-client] has failures: true
 Nov 20 04:21:48 zsw144 puppet-agent[933]: 
 (/Stage[main]/Freeipa-client/Exec[[postinstall]) Skipping because of failed 
 dependencies
 Nov 20 04:21:48 zsw144 puppet-agent[933]: 
 (/Stage[main]/Freeipa-client/Exec[[postinstall]) Could not find a suitable 
 provider for package
 Nov 20 04:21:48 zsw144 puppet-agent[933]: 
 (/Stage[main]/Freeipa-client/Exec[[postinstall]) Finished catalog run in 
 1.22 seconds

 What's odd is that when I log in as root and run puppet agent -t from 
 an interactive session, freeipa-client (or whatever package has issues) 
 will install, along with numerous others remaining in the catalog. Also, if 
 I terminate the agent that started with the system and manually start one 
 using puppet agent, the manually-started one will almost always have 
 fewer issues than the system-started one.

 So there appears to be some environmental difference between the puppet 
 agent running at startup and manually launching one. Any ideas? My goal is 
 to be able to install systems completely hands-off, from setting up the 
 cobbler and IPA servers to register them and letting puppet automatically 
 configure the system for me post-kickstart. But it's not working for me 
 very well just yet.

 Let me add here that this is happening on an x86_64 box. My i386es are 
 unaffected.
  

I spoke too soon. Same issue on i386 after a Cobblerized kickstart install, 
on startup and for some period thereafter. 


 Bret



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/HCZg5bNl1CgJ.
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] Relationship for a called function?

2012-11-20 Thread Nan Liu
On Tue, Nov 20, 2012 at 1:28 AM, KomodoDave dave.br...@ocado.com wrote:

 If you define a custom function in *lib/puppet/parser/functions *can it
 be executed with a *before *or* require *relationship applied?

 Without this I don't understand the logic behind when it will be called,
 considering relationships make the literal ordering of code in a manifest
 irrelevant to a degree.


Neither, functions are executed during catalog compilation on the master.
Resources in the catalog are applied in the order of their relationship on
the client. The first rule in the documentation applies here:

http://docs.puppetlabs.com/guides/custom_functions.html#gotchas

HTH,

Nan

-- 
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: Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Tim Mooney

In regard to: Re: [Puppet Users] Re: Seeking some Puppet advice for a...:


On Tue, Nov 20, 2012 at 1:54 PM, Laurence Cope
amitywebsoluti...@gmail.com wrote:

you will need to create your own Yum repository, have Puppet configure yum
to make use of that repo, then create a manifest that installs the package.


Ah right... this bit helps a lot. never thought of creating an own repo,
that makes sense now. so if its in a repo puppet can do it. I will look into
that, and also request Virtualmin do it because I asked them about this on
their forum, but they had no experience with Puppet. Makes sense for it to
come from a repo they manage.


I generally favour my own private yum repositories rather than
upstream repositories for the following reasons:


+1, for all the reasons Matt mentioned.

Making your own repo may seem daunting, but it's not bad at all.  If you
have an internal server that's running http and has enough disk space to
store your RPMs, you're already most of the way there.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing  Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164

--
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] Windows Manifest Newline Syntax and Append to file Questions

2012-11-20 Thread Josh Cooper
Hi James,

On Tue, Nov 20, 2012 at 3:23 AM, jim stra...@gmail.com wrote:
 Hello all,

 I'm fairly new to puppet and in the majority a windows shop

 I have two questions

 1.) As windows syntax is slight different than linux syntax, how do I create
 a new line within a bit of content, e.g. hosts file for windows not linux

 e.g.

 file {'c:/Windows/System32/drivers/etc/hosts':
 content =
 127.0.0.1  puppet.office \n
 127.0.0.1   puppet8081.office,
 }

 As it seems to ignore the \n

To manage a text file using native Windows line endings, you'll want
to use \r\n (carriage return, newline). Specifying carriage returns
(\r) in the file resources's content property was fixed in 2.7.20[1],
released yesterday[2]. Alternatively, you can create a file containing
\r\n on the puppetmaster and then specify the source parameter using a
puppet URI, e.g. puppet:///modules/mymodule/hosts

With that said, is there a reason you are not using the `host`
resource[3]? It should do-the-right-thing on both *nix and windows. Is
filesystem redirection causing problems?

 2.) also can you append to a file, for example your base machines get the
 standard host file and futher down the tree it goes it might get host
 entries amended to it.

I imagine this is a common issue when using the `host` resource, I'm
curious how other people have solved this.


 Kind Regards

 James

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/puppet-users/-/IUFifHBoo6IJ.
 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.

Josh

[1] http://projects.puppetlabs.com/issues/16119
[2] https://groups.google.com/d/topic/puppet-users/nPkPm3yqo4Q/discussion
[3] http://docs.puppetlabs.com/windows/writing.html#hosthost

--
Josh Cooper
Developer, Puppet Labs

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



[Puppet Users] Re: Puppet Dashboard for Rails 3

2012-11-20 Thread Aaron Stone
I've added Devise and OmniAuth, starting with configs for Google OAuth2
(compatible with and can be restricted to apps-for-your-domain) on this
branch:

https://github.com/sodabrew/puppet-dashboard/tree/rails3-aaa

Next week I will tie logins to who-changed-what-and-when accounting,
followed by viewer/editor/admin access levels.

Cheers,
Aaron



On Fri, Nov 9, 2012 at 4:30 PM, Aaron Stone sodab...@gmail.com wrote:

 Hi all,

 Over the past few weeks, I ported the Puppet Dashboard to run on Rails 3
 with Ruby 1.8.7. I'm down to only three unit test failures, so I think it's
 a good time to share the work and see if anybody else is interested in
 continuing Dashboard with me.

 http://github.com/sodabrew/puppet-dashboard

 https://travis-ci.org/sodabrew/puppet-dashboard/jobs/3095051

 What's new here?
  - Rails 3.2.8!
  - Model protection against mass-assignment attacks.
  - Prototype JS is removed.
  - URLs for Groups and Classes by name, not only ID number.
  - Bundler 1.x, Gemfile, runs under Thin.

 My next plans:
  - Use PaperTrail to provide change histories for everything (way more
 than fact reports, I need who changed this parameter?).
  - Use Devise for AAA, integration with company Auth and view/edit
 permissions (e.g. Devs can view, Ops can edit).
  - Make it prettier? Bootstrap perhaps?
  - Unit tests passing ;)

 Cheers,
 Aaron


-- 
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] Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Martijn
Puppet can't provide input when a script prompts for it, but usually there 
are alternative ways to install the software. Most install scripts only 
untar the software to a directory, ask some questions and write some 
configuration files based on your answers. Most popular software has some 
way to automate installation.

Install the software on a test-VM, and see what the end-result is. Which 
files are created, which daemons are started, which config files are 
modified. That's what you need to recreate with Puppet. You don't need to 
recreate all the steps the installer does. You simply need to achieve the 
same end-result.

Either: 

   1. The install script may allow command-line parameters to specify the 
   various settings. Simply provide those parameters when executing the script 
   via Puppet.
   2. If the installation is not too complicated you can skip the 
   installation script and perform all the steps via Puppet, i.e. untar to a 
   directory, drop a config file somewhere in /etc, configure the service to 
   start.
   3. You can create your own package that performs the steps that the 
   install script would and simply install the package via Puppet.

For simple installations I would choose option 2, especially since you 
don't have your own package repo yet. For more complex installations, I'd 
go for 3.

Might be worth making your own repo anyway, since it's quite a good way to 
install custom software in a structured way. All those tools you drop in 
/usr/local could easily be packaged, providing you with all the advantages 
a packaging system has. Also, Puppet knows how to deal with packages, so 
your Puppet manifests will be simpler as well.

Regards, Martijn Heemels

Op dinsdag 20 november 2012 10:44:01 UTC+1 schreef Laurence Cope het 
volgende:

 Thanks Ilya, I will give this a try. 

 BUT if I remember correctly, the install process will ask input during the 
 install, to set some options... can Puppet handle entering options during 
 installations? 

 Thanks


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/ru9YtcrT9_IJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



[Puppet Users] Re: hiera values issue

2012-11-20 Thread Felipe Salum
Try:

:hierarchy:
  - %{certname}
  - common

Felipe

On Tuesday, November 20, 2012 8:14:10 AM UTC-8, Félix Barbeira wrote:

 Hi, I have a puppetmaster - agent architecture. I have a module for the 
 vsftpd configuracion in the agents. The configuration of the value 
 'max_per_ip' in the agents may vary. This is a line of the manifest:

 $max_per_ip = hiera('max_per_ip',10)

 I want to specify different values for each agent using hiera. The problem 
 is I am only able to specify the 'common' values, not the values using the 
 the variable 'clientcert'. This is my configuration in the puppetmaster:

 The '/etc/hiera.yaml' file:

 ---
 :backend:
   - yaml
 :hierarchy:
   - ${certname}
   - common
 :yaml:
 # datadir is empty here, so hiera uses its defaults:
 # - /var/lib/hiera on *nix
 # - %CommonAppData%\PuppetLabs\hiera\var on Windows
 # When specifying a datadir, make sure the directory exists.
   :datadir:

 I created the file '/var/lib/hiera/c108.dfgserver.com.yaml' with the 
 following content:

 ---
 #vsftpd
 max_per_ip: 20

 But this doesn´t work. The agent ignores the value 'max_per_ip' 
 established on the file. If I rename the file 
 '/var/lib/hiera/c108.dfgserver.com.yaml' 
 to 'common.yaml', then it works. At the beginning I thought it could be an 
 issue with the variable 'certname' but if I execute the following in the 
 agent it returns the fact correctly:

 root@c108:/etc/puppet# puppet apply -ve 'notify {My certname is: 
 ${settings::certname}:}'
 Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/iptables.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/iptables.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
 Info: Applying configuration version '1353427613'
 My certname is: c108.dfgserver.com
 /Stage[main]//Notify[My certname is: c108.dfgserver.com]/message: defined 
 'message' as 'My certname is: c108.dfgserver.com'
 Finished catalog run in 0.07 seconds
 root@c108:/etc/puppet#

 So the namefile must be '$certname'.yaml right?

 I have the last versions of the repo 'apt.puppetlabs.com'. Both machines 
 are ubuntu 10.04 LTS (lucid) with the last stable packages.



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/Bmcthk_lSTkJ.
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] Custom providers/types gem dependencies

2012-11-20 Thread Jeff McCune
On Tue, Nov 20, 2012 at 12:51 PM, Andy Parker a...@puppetlabs.com wrote:
 This is on 2.7.19. Added ticket
 http://projects.puppetlabs.com/issues/17747.

Sweet, thank you for taking the time to do this.

 I believe this is related to 2.7 eagerly loading the providers during
 pluginsync. In 3.0 the providers are loaded only after the pluginsync is all
 done and I think they are delayed until they are needed, but I'm not certain
 about that.

That's true, but I don't think the improved behavior in Puppet 3.0 is
sufficient to resolve this specific issue.  This specific issue is a
chicken and egg problem where by a provider needs a gem, but the
catalog run itself is the thing that provides the gem dependency.
That is to say, even in Puppet 3.0 where we delay loading all of the
providers until after pluginsync finishes, the catalog run hasn't yet
installed the gem when the provider is loaded.

The reason I think this is basically a very specific incarnation of
#6907 is because that ticket is pretty specific from a product
functionality perspective, You should not have to run puppet twice to
use a provider.

-Jeff

-- 
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] Exception for one server on a basic setup

2012-11-20 Thread Ugo Bellavance


On Tuesday, November 20, 2012 11:30:47 AM UTC-5, Matthew Burgess wrote:

 On Tue, Nov 20, 2012 at 1:06 PM, Ugo Bellavance ug...@lubik.cajavascript: 
 wrote: 

  However, I would need to push a different file to my NTP servers (the 
  puppet://$puppet_server/files/ntp.conf) are for clients.  How can I do 
 that? 
  Can I simply declare my two servers in a node declaration and set a 
 variable 
  in it and then use a puppet:// path that includes a variable? 

 The simplest option here is to just do the following, taking your 
 existing ntp.conf file stanza as an example: 

 class ntpd { 
 package { ntp: 
 ensure = installed, 
 } 
 file { /etc/ntp.conf: 
   owner = root, 
   group = root, 
   mode = 0644, 
   source = [puppet://$puppet_server/files/ntp.conf.$host, 
  puppet://$puppet_server/files/ntp.conf], 
   require = Package[ntp] 
   } 

 Puppet will use the first file that it finds in the source array. 
 For a more in depth explanation, see the 'source' parameter 
 description at 
 http://docs.puppetlabs.com/references/3.0.latest/type.html#file. 


Ok, so the process would be to first change my config to have the two 
sources as you described, then have a file that has the ntp server confi, 
called ntp.conf.ntp1.mydomain.com and symlink it to 
ntp.conf.ntp2.mydomain.com?

That is really nice.

Too bad I don't have much time to play with puppet.  I know, puppet would 
save me time :). 

Thanks a lot!

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/o8Ha-SOdiF4J.
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] vcsrepo: Could not create repository (non-repository at path)

2012-11-20 Thread Jeff McCune
On Mon, Nov 19, 2012 at 7:01 AM, bowlby bramenn...@gmail.com wrote:
 Hi,
 I'm running into a problem using the puppetlabs provided vcsrepo-module. It
 keeps giving the same error:

 --
 notice: /Stage[main]//Vcsrepo[/usr/share/test2]/ensure: Creating repository
 from latest
 err: /Stage[main]//Vcsrepo[/usr/share/test2]/ensure: change from absent to
 latest failed: Could not create repository (non-repository at path)
 --

I suggest running with the --debug flag turned on and then comparing
the git commands that Puppet is executing to the commands you execute
manually.  I suspect there's a slight difference that's causing the
wrong directory to be used by Puppet or something.

If you're still stuck, could you please follow up in this thread with
the debug output and the git command you're executing manually?  This
information should help us troubleshoot the issue more quickly.

-Jeff

-- 
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] Exception for one server on a basic setup

2012-11-20 Thread Ugo Bellavance


On Tuesday, November 20, 2012 2:25:13 PM UTC-5, Ugo Bellavance wrote:



 On Tuesday, November 20, 2012 11:30:47 AM UTC-5, Matthew Burgess wrote:

 On Tue, Nov 20, 2012 at 1:06 PM, Ugo Bellavance ug...@lubik.ca wrote: 

  However, I would need to push a different file to my NTP servers (the 
  puppet://$puppet_server/files/ntp.conf) are for clients.  How can I do 
 that? 
  Can I simply declare my two servers in a node declaration and set a 
 variable 
  in it and then use a puppet:// path that includes a variable? 

 The simplest option here is to just do the following, taking your 
 existing ntp.conf file stanza as an example: 

 class ntpd { 
 package { ntp: 
 ensure = installed, 
 } 
 file { /etc/ntp.conf: 
   owner = root, 
   group = root, 
   mode = 0644, 
   source = [puppet://$puppet_server/files/ntp.conf.$host, 
  puppet://$puppet_server/files/ntp.conf], 
   require = Package[ntp] 
   } 

 Puppet will use the first file that it finds in the source array. 
 For a more in depth explanation, see the 'source' parameter 
 description at 
 http://docs.puppetlabs.com/references/3.0.latest/type.html#file. 


 Ok, so the process would be to first change my config to have the two 
 sources as you described, then have a file that has the ntp server confi, 
 called ntp.conf.ntp1.mydomain.com and symlink it to 
 ntp.conf.ntp2.mydomain.com?

  
I tested it and at first it didn't work, so I changed $host for $fqdn.  I 
tested it and it worked.  I haven't tested the symlink yet but I'll do that 
tonight.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/mdpZRuLU7FcJ.
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] vcsrepo: Could not create repository (non-repository at path)

2012-11-20 Thread Ryan Coleman
On Mon, Nov 19, 2012 at 4:01 AM, bowlby bramenn...@gmail.com wrote:

 Hi,
 I'm running into a problem using the puppetlabs provided vcsrepo-module.
 It keeps giving the same error:

 --
 notice: /Stage[main]//Vcsrepo[/usr/share/test2]/ensure: Creating
 repository from latest
 err: /Stage[main]//Vcsrepo[/usr/share/test2]/ensure: change from absent to
 latest failed: Could not create repository (non-repository at path)


Does /usr/share/test2 already exist prior to the Vcsrepo resource being
enforced on your system?

I can't find the appropriate bug against vcsrepo right now (
https://projects.puppetlabs.com/projects/modules/issues?query_id=185) but I
suspect that this problem stems from a bug where vcsrepo wants to be the
one to create the test2 directory and cannot.

If this turns out to be your problem, I'll find/create a bug report on it
and send it your way. Sorry for the inconvenience.

--Ryan



 --

 This is in my vcs.pp and when I run, puppet apply ./vcs.pp
 I keep getting the error below. When I run git clone as the user it runs
 fine.
 Anybody any suggestions?

 --
 Exec { path = /bin:/usr/bin:/sbin:/usr/sbin, }

 vcsrepo { '/usr/share/test2':
 ensure   = latest,
 provider = git,
 revision = 'master',
 path= '/usr/share/test2',
 user = user,
 source = 'git://
 github.com/puppetlabs/puppetlabs-vcsrepo.git'
 }
 -

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/puppet-users/-/Oa4SscXpWJ0J.
 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.




-- 
Ryan Coleman | Modules  Forge | @ryanycoleman | ryancoleman in #puppet

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



[Puppet Users] Re: Array from custom function gets flattened

2012-11-20 Thread jcbollinger


On Tuesday, November 20, 2012 8:42:02 AM UTC-6, KomodoDave wrote:

 I'm trying to use my first custom function *prefixPaths*.

 The function is defined in:

 my_module/lib/puppet/parser/functions/prefixPaths.rb


 Listing:

 module Puppet::Parser::Functions
 newfunction(:prefixPaths, :type = :rvalue) do |args|
 args[1].map{|path| #{args[0]}/#{path}}
 end
 end


 It's usage is e.g. *prefixPaths( 'base', [ 'A', 'path/to/B' ] ) = [ 
 'base/A', 'base/path/to/B' ]*
 *
 *
 I'm trying to use it in a Puppet manifest when creating a set of 
 directories on the client:

 $bashScriptDir  = bash-scripts
 $karafScriptDir = karaf-scripts
 $userTypeDir= user-type-resources
 $resourceDirs   = [$bashScriptDir,$karafScriptDir,$userTypeDir]
 file { 'Create common dirs.':
 path = $localPaths,
 ensure = 'Directory'
 }

 However, when I use this the following error results:

 err: Failed to apply catalog: Parameter path failed: File paths must be 
 fully qualified, not 
 '/fuse/common/bash-scripts/fuse/common/karaf-scripts/fuse/common/user-type-resources'
  
 at /etc/puppet/gitmodules/app_fuse/manifests/init.pp:113


 It looks like it's flattening the array.

 I've seen another conversation on here indicating arrays are permitted to 
 be used as custom function return values.

 Would someone be kind enough to indicate what I'm doing wrong?



Well, you didn't show how the custom function is actually used there, but I 
guess you omitted a statement of the form

  $localPaths = prefixPaths('/fuse/common', $resourceDirs)

, right?

I suspect the problem is not with your function.  Most likely, the array is 
getting flattened after it is returned.  In fact, I'd be very surprised if 
the value you assign to your File's 'path' property were not flattened.  As 
far as I know, the ability to declare multiple, similar resources by using 
an array as the resource title requires the array to be the actual title.  
I don't think you get the same result by assigning an array to the 
resource's namevar (nor do I think you should).

So, try this:

# Manage common directories
file { $localPaths:
  ensure = 'directory'
}


John

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/bXeeTuswXKcJ.
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] Puppet firewall module only works on first clean run on a machine

2012-11-20 Thread gilbertc777
Hi everyone,

I am working now to introduce the puppet firewall module to our environment.

On the first run, all our rules are deployed on the server with no errors.

However, on subsequent runs, even without changing rules, I get errors like 
the following:

The iptables provider can not handle attribute proto.i get multiple 
errors but the rules work if I stop iptables and clear the 
/etc/sysconfig/iptables file.

I have turned purging on for the firewall resource, but it seems like the 
resource is not actually purging all rules before running. ( resources { 
'firewall': purge = 'true', }

I am running puppet 3.0.1 and have grabbed the latest puppet firewall 
module from github.

Thanks,
Chuck

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/RuHfbwhb5FAJ.
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] new user - understanding arrays as variables in defined types

2012-11-20 Thread Dusty Doris
Lets say I wanted to make a declared type for adding custom firewall rules 
on a per-node basis.


define myfirewall::accept($proto, $port, $sources=[]) {
  include defaultfirewall

  $sources.each do |source|

firewall { 100 allow $proto $port for $source:
  proto  = $proto,
  dport = $dport,
  source = $source,
  action   = 'accept',
}

  end
}

I could use it something like this:

node mynode {
  myfirewall:: accept { http: 
proto = 'tcp',
port   = '80',
sources = ['1.1.1.1','2.2.2.2']
  }
}


Is there any way to do something like this with puppet?  I'm new to this 
and quite confused.


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/gFwX7nk-gbwJ.
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] Proposed change to the broker RESTful API and CLI to handle parameters needed in additional broker plugins

2012-11-20 Thread Tom McSweeney
Hi all;

There has been a separate thread recently in this mailing list around 
adding a Chef broker plugin to Razor.  As this effort has progressed, the 
realization has gradually sunk in that the parameters that are needed for a 
successful a handoff to Puppet might not be the same as the parameters that 
are needed for a successful handoff to Chef.  That has left us with a 
couple of possibilities:

   - Modify the existing broker slice so that it obtains a list of 
   additional parameters from (and callbacks to underlying functions in) the 
   broker plugin codebase itself.  This would have the effect of modifying the 
   CLI and RESTful API for the broker slice on the fly so that it contained 
   just the options that needed for the type of broker plugin that is being 
   built
   - Modify the existing broker slice so that it took the options for a 
   specific type of broker plugin from an external configuration file of some 
   sort.  That configuration file would define the necessary parameters in 
   whatever form the underlying broker wanted to see those parameters defined 
   in (as a manifest for the Puppet broker plugin? as a YAML file or a in Ruby 
   code for the Chef broker plugin?).  Basically, the expected format would be 
   up to the implementers (and supporters) of the each broker plugin.

The concensus amongst the (small) group of developers we've discussed this 
with so far seems to be that the second option is more attractive than the 
first.  It would avoid a lot of unnecessary callbacks and a lot of 
(potentially) complicated changes to the broker slice's interface (leaving 
the CLI and RESTful API consistent for all broker plugin types and moving 
the complexity inherent in supporting multiple Broker plugin types into the 
associated configuration file types).  I would expect that the end result 
would be an API that looked something like the following (for the broker 
slice CLI):

Usage: razor broker add (options...)
-p, --plugin BROKER_PLUGIN   The broker plugin to use. 
-n, --name BROKER_NAME   The name for the broker target. 
-d, --description DESCRIPTIONA description for the broker target. 
-c, --config-file PLUGIN_CONFIG  A file defining the configuration of 
the broker target 
-h, --help   Display this screen.

The additional parameters that were previously included in the API and are 
currently used within the existing Puppet broker plugin (i.e. the 
comma-separated list of servers, which was used to define the master server 
in the existing Puppet broker plugin, as well as the target broker version, 
which was used to define which version of Puppet to install on the node via 
a 'gem install' command) would now be taken from the underlying 
configuration file (for the Puppet broker plugin and, perhaps, for the Chef 
broker plugin if those parameters are useful in that context).  Any 
additional (implemenation-specific) parameters could also be implemented in 
this fashion without having to worry about the impact of adding those 
parameters to other broker plugin implementations (where they may or may 
not make sense).  It would be up to the implementers and maintainers of the 
specific broker plugin types to define the configuration file format for 
their plugin, the only responsibility that Razor would have would be to 
pass that file off to the associated Razor broker plugin where it would be 
read and used...

That all sounds great on paper, but there are a couple of issues we will 
have to deal with to make this work:

   - The existing Puppet broker plugin is going to have to be changed 
   slightly to pull these two parameters (which previously came in through the 
   CLI and/or RESTful API) from the configuration file
   - We need to sort out how to upload this file to the plugin in the 
   case where the RESTful API is being used instead of the CLI.  This would be 
   easier to do if we were passing in a set of name/value pairs (as a hash 
   map), since we've already got patterns for doing that in other slices 
   within Razor (the model slice is a good example, where a JSON hash can be 
   used to pass these values via REST).  The issue here is that we'd like to 
   support a more generic file and/or script input to the broker plugin 
   (when defining a new broker instance), so this may take a bit of thought 
   (and experimentation) to find something that will work in both the RESTful 
   and CLI APIs...

So, that's the proposal as it stands today.  We'd welcome feedback, 
comments, ideas, etc. from anyone on this list who is interested, the 
primary discussion for the Chef broker plugin development is going on 
herehttps://groups.google.com/forum/?fromgroups=#!topic/puppet-razor/dKEz8fj8Cwc.
  
Hopefully we can keep this thread focused on the changes that we're going 
to have to make to the broker slice to support that effort (and the 
development of any other broker plugins that might come our way 

[Puppet Users] How do you install a yum repo?

2012-11-20 Thread Laurence Cope
Hi

I am trying to install a yum repo using puppet, so they can install a 
package. But i am struggling. I cannot find much help online at all. 

The only code I got working was as follows, but it works first time, but 
additional times it gives an error due to it being installed. Does it 
matter I get Resource failed messages due to it being installed, or is 
there a check to see if its installed, or am I using the wrong code? All 
other code I found online gavce errors and does not even create it. 

Thanks 

class yum
 {
 define packages::repo_release ($source) {
 exec { $name:
 command =/bin/rpm -ivh ${source},
 creates = /etc/yum.repos.d/${name}.repo,
 }
 }

 packages::repo_release { virtualmin:
 source =

 http://software.virtualmin.com/bleed/centos/5/i386/virtualmin-bleed-release-1.0-1.rhel.noarch.rpm;,
 }
 }



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/I_sDRpwl434J.
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] How do you install a yum repo?

2012-11-20 Thread Matthaus Owens
There is a built in Puppet type for yum repos. The docs for it are
here: http://docs.puppetlabs.com/references/latest/type.html#yumrepo
You could also use a package resource with a sourch of the rpm,
something like...

package {virtualmin:
   ensure = present,
   source = 
http://software.virtualmin.com/bleed/centos/5/i386/virtualmin-bleed-release-1.0-1.rhel.noarch.rpm;,
   provider = rpm,
}

HTH

On Tue, Nov 20, 2012 at 1:15 PM, Laurence Cope
amitywebsoluti...@gmail.com wrote:
 Hi

 I am trying to install a yum repo using puppet, so they can install a
 package. But i am struggling. I cannot find much help online at all.

 The only code I got working was as follows, but it works first time, but
 additional times it gives an error due to it being installed. Does it matter
 I get Resource failed messages due to it being installed, or is there a
 check to see if its installed, or am I using the wrong code? All other code
 I found online gavce errors and does not even create it.

 Thanks

 class yum
 {
 define packages::repo_release ($source) {
exec { $name:
command =/bin/rpm -ivh ${source},
creates = /etc/yum.repos.d/${name}.repo,
}
 }

 packages::repo_release { virtualmin:
source =

 http://software.virtualmin.com/bleed/centos/5/i386/virtualmin-bleed-release-1.0-1.rhel.noarch.rpm;,
 }
 }


 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/puppet-users/-/I_sDRpwl434J.
 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.



-- 
Matthaus Owens
Release Manager, Puppet Labs

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



[Puppet Users] Re: new user - understanding arrays as variables in defined types

2012-11-20 Thread Dusty Doris


On Tuesday, November 20, 2012 3:51:07 PM UTC-5, Dusty Doris wrote:

 Lets say I wanted to make a declared type for adding custom firewall rules 
 on a per-node basis.


 define myfirewall::accept($proto, $port, $sources=[]) {
   include defaultfirewall

   $sources.each do |source|
 
 firewall { 100 allow $proto $port for $source:
   proto  = $proto,
   dport = $dport,
   source = $source,
   action   = 'accept',
 }

   end
 }

 I could use it something like this:

 node mynode {
   myfirewall:: accept { http: 
 proto = 'tcp',
 port   = '80',
 sources = ['1.1.1.1','2.2.2.2']
   }
 }


 Is there any way to do something like this with puppet?  I'm new to this 
 and quite confused.



aha.  I found I can do it using the $name parameter.

Is there anything inherently wrong with this type of usage?


define myfirewall::accept($proto, $port) {

  firewall { 100 $name $proto $port:
proto = $proto,
dport = $port,
source = $name,
action = 'accept'
  }

} 

node 'mynode' {
  include firewall
  myfirewall::accept { ['node1', 'node2'] :
proto = 'tcp',
port  = '80'
  }
}

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/9QSWO9NQWg4J.
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] Question about a node that includes a class of the same name...

2012-11-20 Thread llowder
I was going through the open bugs and came across an interesting one[1], 
where if a node has a certain name, and includes a class of the same name, 
the class doesn't get loaded.

I did discover a workaround - two of them, actually.

However, I was somewhat curious.  Is this something people do?

The example listed in the bug report was a node named 'centos' and 
including a class named 'centos'.

If this is a pattern you use (having a node and class name match) could you 
please let me know?

Thanks.


[1] http://projects.puppetlabs.com/issues/1372

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/Uvu4fw3mKTAJ.
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] How do you install a yum repo?

2012-11-20 Thread Stephen Price
This is an aside, but you should really be using gpgcheck. I define 
repositories with yumrepo, but I also have a separate file resource to copy 
the gpgkey to a local directory and set the appropriate yumrepo parameters.

On Tuesday, November 20, 2012 1:22:55 PM UTC-8, pmbuko wrote:

 On Nov 20, 2012, at 4:15 PM, Laurence Cope wrote:

 Hi

 I am trying to install a yum repo using puppet, so they can install a 
 package. But i am struggling. I cannot find much help online at all. 

 The only code I got working was as follows, but it works first time, but 
 additional times it gives an error due to it being installed. Does it 
 matter I get Resource failed messages due to it being installed, or is 
 there a check to see if its installed, or am I using the wrong code? All 
 other code I found online gavce errors and does not even create it. 

 Thanks 

 class yum
 {
 define packages::repo_release ($source) {
 exec { $name:
 command =/bin/rpm -ivh ${source},
 creates = /etc/yum.repos.d/${name}.repo,
 }
 }

 packages::repo_release { virtualmin:
 source =
 
 http://software.virtualmin.com/bleed/centos/5/i386/virtualmin-bleed-release-1.0-1.rhel.noarch.rpm
 ,
 }
 }


 You'll want to use the yumrepo resource, documented here:

 http://docs.puppetlabs.com/references/latest/type.html#yumrepo

 Here's an example of a basic yumrepo block:

 yumrepo { myrepo:
 baseurl = 
 http://local.server.org/myrepo/$operatingsystem/$operatingsystemrelease/$architecture
 ,
 descr = My Local Repo,
 enabled = 1,
 gpgcheck = 0,
 }

 --
 Peter


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/efOqiC1Az1AJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Puppet firewall module only works on first clean run on a machine

2012-11-20 Thread Jeff McCune
On Tue, Nov 20, 2012 at 4:09 PM, gilbertc777 gilbertc...@gmail.com wrote:
 Hi everyone,

 I am working now to introduce the puppet firewall module to our environment.

 On the first run, all our rules are deployed on the server with no errors.

 However, on subsequent runs, even without changing rules, I get errors like
 the following:

 The iptables provider can not handle attribute proto.i get multiple
 errors but the rules work if I stop iptables and clear the
 /etc/sysconfig/iptables file.

I'm having difficulty understanding the nature of the problem, could
you run the agent with --verbose and --debug turned on and paste the
full output?  This will help us troubleshoot the problem more
efficiently.

-Jeff

-- 
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: Seeking some Puppet advice for a newbie (specifically Virtualmin/CSF related)

2012-11-20 Thread Jakov Sosic

On 11/20/2012 03:12 PM, Matthew Burgess wrote:

(there was a fairly recent thread in this
group when PuppetLabs released puppet-3.0 into the same repository as
puppet-2.x.  It caught a lot of folks out).


I didn't use ensure=latest and didn't plan to upgrade so soo, but was 
also in trouble because of Cobbler using external puppet repo for 
deploying puppet onto freshly installed machines... offcourse every one 
of them was puppet agent 3.0 :D So I decided it was much easier for me 
to upgrade master then to implement other solutions.



 This can be mitigated, of

course, by using 'ensure=installed', but then that means upgrades are
painful.


Why? You can always use cexec or mcollective with some kind of custom 
plugin for doing those sort of things.



--
Jakov Sosic
www.srce.unizg.hr

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



[Puppet Users] Re: How do you install a yum repo?

2012-11-20 Thread Laurence Cope
thanks for all that. The examples above look like some I found online (not 
specific to Virtualmin) which failed with errors. but maybe there were 
slight differences. I am off work for couple of days now, so will try these 
when I get back. I really appreciate it. you can tell I am new, once I get 
over these few hurdles I am sure I will be fine. 

@stephen yes I agree, I just wanted to cut it out until I got the rest 
working, one less thing that may cause errors! one step at a time :)

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/YcFZo7sYVVEJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



[Puppet Users] Re: How do you install a yum repo?

2012-11-20 Thread Stephen Price
Cool, cool. If I'm installing a repo for the first time, I usually install 
the rpm manually on a test machine, then grab the .repo file from 
/etc/yum.repos.d and the referenced gpgkey, and add everything in Puppet 
with a custom define (which is really a wrapper around yumrepo with the 
additional file resource I mentioned). Makes upgrading the repo a manual 
process, but gives you more control.

On Tuesday, November 20, 2012 1:56:51 PM UTC-8, Laurence Cope wrote:

 thanks for all that. The examples above look like some I found online (not 
 specific to Virtualmin) which failed with errors. but maybe there were 
 slight differences. I am off work for couple of days now, so will try these 
 when I get back. I really appreciate it. you can tell I am new, once I get 
 over these few hurdles I am sure I will be fine. 

 @stephen yes I agree, I just wanted to cut it out until I got the rest 
 working, one less thing that may cause errors! one step at a time :)



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/1DkTlI1_uV4J.
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] PuppetDB: what's next?

2012-11-20 Thread Stephen Price
Good to hear! I'm looking forward to being able to replace Dashboard, and
PuppetDB has been working great for everything else so far.


On Tue, Nov 20, 2012 at 2:05 PM, Deepak Giridharagopal 
dee...@puppetlabs.com wrote:

 On Tue, Nov 20, 2012 at 2:30 PM, Stephen Price ste...@gmail.com wrote:

 I finally got around to installing PuppetDB and connecting it to my
 Master. I even set up Nginx to act as a reverse proxy, and I can make API
 calls like a pro. The dashboard is nice, but I'm anxious to get at least
 the same functionality that Puppet Dashboard gave me. Namely, a quick look
 at recent catalog changes or run failures (is this even possible, since
 PuppetDB doesn't yet receive reports?).

 Does anyone have any interfaces or scripts they've built around the API
 for getting quick access to this information? Or perhaps any tips for
 building it on my own?


 Until we get report storage integrated (which we're actively working on as
 we speak), this information isn't present in PuppetDB. However, you can
 still send reports to Dashboard, and view the data from there in the
 mean-time. And because PuppetDB implements the inventory service API, all
 the other dashboard functionality should work exactly the same. But in
 terms of a programmable interface to that info by hitting PuppetDB
 directly, that's coming soon but isn't there yet.

 You can access the timestamps of the last catalog or set of facts that
 puppetdb has received for a node, however. So you can use that to check for
 the last time a master compiled a catalog for a given node. But without
 reports, we can't currently tell you if any resources have changed. We're
 working on it, though. :)

 deepak

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




-- 
Stephen Price

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



[Puppet Users] Re: new user - understanding arrays as variables in defined types

2012-11-20 Thread joe
Nothing wrong with that. It's a very common practice.

One thing I would recommend is setting your array to a variable and passing 
that variable to the define. It just makes your code cleaner and easier to 
read:

node 'mynode' {
  include firewall
  $sources = ['node1', 'node2']
  myfirewall::accept { $sources :
proto = 'tcp',
port  = '80'
  }


On Tuesday, November 20, 2012 2:30:45 PM UTC-7, Dusty Doris wrote:



 On Tuesday, November 20, 2012 3:51:07 PM UTC-5, Dusty Doris wrote:

 Lets say I wanted to make a declared type for adding custom firewall 
 rules on a per-node basis.


 define myfirewall::accept($proto, $port, $sources=[]) {
   include defaultfirewall

   $sources.each do |source|
 
 firewall { 100 allow $proto $port for $source:
   proto  = $proto,
   dport = $dport,
   source = $source,
   action   = 'accept',
 }

   end
 }

 I could use it something like this:

 node mynode {
   myfirewall:: accept { http: 
 proto = 'tcp',
 port   = '80',
 sources = ['1.1.1.1','2.2.2.2']
   }
 }


 Is there any way to do something like this with puppet?  I'm new to this 
 and quite confused.



 aha.  I found I can do it using the $name parameter.

 Is there anything inherently wrong with this type of usage?


 define myfirewall::accept($proto, $port) {

   firewall { 100 $name $proto $port:
 proto = $proto,
 dport = $port,
 source = $name,
 action = 'accept'
   }

 } 

 node 'mynode' {
   include firewall
   myfirewall::accept { ['node1', 'node2'] :
 proto = 'tcp',
 port  = '80'
   }
 }


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/acxmlDAEJoUJ.
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] Exception for one server on a basic setup

2012-11-20 Thread Jakov Sosic

On 11/20/2012 02:06 PM, Ugo Bellavance wrote:

 The setup is that I have 2 NTP servers that sync to servers on the

and all my servers and equipment sync to these two servers.


I created two classes for this purpose - ntp::client and ntp::server, 
and use data from hiera. Although I could maybe use just one class and 
depending on hiera options set up client or server on a node. I 
recommend this approach, combined with ruby erb template for ntp.conf.




--
Jakov Sosic
www.srce.unizg.hr

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



[Puppet Users] Re: new user - understanding arrays as variables in defined types

2012-11-20 Thread Dusty Doris
Thanks for the reply, I did run into one problem with duplicate 
declarations.  Say I wanted to include node1 and node2 in a group of 
servers for a particular rule.  Then wanted to just have node1 in a second 
rule.

eg:

node 'mynode' {
  include firewall

  $apps = ['node1', 'node2']
  $ssl= 'node1'

  myfirewall::accept { $apps :
proto = 'tcp',
ports = ['80','8080']
  }

  myfirewall::accept { 'node1' :
   proto = 'tcp',
   ports = '443'
  }
}

When I run that I get a duplicate declaration error such as 
Myfirewall::Accept[node1].  How does one get around something like that?  I 
can't think of a way to do that without assigning a unique name and then 
iterating on a source variable that is passed in.

BTW - I am using the puppetlabs-firewall module and unfortunately it 
doesn't work correctly with an array for the source variable, so that's why 
I'm stuck here.



On Tuesday, November 20, 2012 5:15:12 PM UTC-5, joe wrote:

 Nothing wrong with that. It's a very common practice.

 One thing I would recommend is setting your array to a variable and 
 passing that variable to the define. It just makes your code cleaner and 
 easier to read:

 node 'mynode' {
   include firewall
   $sources = ['node1', 'node2']
   myfirewall::accept { $sources :
 proto = 'tcp',
 port  = '80'
   }


 On Tuesday, November 20, 2012 2:30:45 PM UTC-7, Dusty Doris wrote:



 On Tuesday, November 20, 2012 3:51:07 PM UTC-5, Dusty Doris wrote:

 Lets say I wanted to make a declared type for adding custom firewall 
 rules on a per-node basis.


 define myfirewall::accept($proto, $port, $sources=[]) {
   include defaultfirewall

   $sources.each do |source|
 
 firewall { 100 allow $proto $port for $source:
   proto  = $proto,
   dport = $dport,
   source = $source,
   action   = 'accept',
 }

   end
 }

 I could use it something like this:

 node mynode {
   myfirewall:: accept { http: 
 proto = 'tcp',
 port   = '80',
 sources = ['1.1.1.1','2.2.2.2']
   }
 }


 Is there any way to do something like this with puppet?  I'm new to this 
 and quite confused.



 aha.  I found I can do it using the $name parameter.

 Is there anything inherently wrong with this type of usage?


 define myfirewall::accept($proto, $port) {

   firewall { 100 $name $proto $port:
 proto = $proto,
 dport = $port,
 source = $name,
 action = 'accept'
   }

 } 

 node 'mynode' {
   include firewall
   myfirewall::accept { ['node1', 'node2'] :
 proto = 'tcp',
 port  = '80'
   }
 }



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/ZpskRkRDbZoJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Puppet firewall module only works on first clean run on a machine

2012-11-20 Thread Charles Gilbert
Hi Jeff,

Let me try to clarify as the node is on a disconnected network and I am not
able to transmit logs from it.

If I stop iptables, delete everything in the file, and then run the
firewall rules on the server, all the rules are applied with no errors.

However, when I trigger another run of puppet, on that same node after the
rules have been added, the puppet run fails with errors in regards to the
iptables provider can not handle fields like proto, log_level etc that had
worked on first run.  It seems to me that we need to flush all rules and
then the class should execute to apply the firewall rules. To flush the
rules, I set the resources purge true for firewall.

 Not really sure if this clarified anything.  When I ran debug myself, I
did not see the purge actually execute as I would expect.

On Tue, Nov 20, 2012 at 4:35 PM, Jeff McCune j...@puppetlabs.com wrote:

 On Tue, Nov 20, 2012 at 4:09 PM, gilbertc777 gilbertc...@gmail.com
 wrote:
  Hi everyone,
 
  I am working now to introduce the puppet firewall module to our
 environment.
 
  On the first run, all our rules are deployed on the server with no
 errors.
 
  However, on subsequent runs, even without changing rules, I get errors
 like
  the following:
 
  The iptables provider can not handle attribute proto.i get multiple
  errors but the rules work if I stop iptables and clear the
  /etc/sysconfig/iptables file.

 I'm having difficulty understanding the nature of the problem, could
 you run the agent with --verbose and --debug turned on and paste the
 full output?  This will help us troubleshoot the problem more
 efficiently.

 -Jeff

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



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



Re: [Puppet Users] Puppet client won't autostart

2012-11-20 Thread Jakov Sosic

On 11/13/2012 03:46 PM, Darin Perusich wrote:

This is systemd weirdness. I've run into this error before on SuSE
with other init scripts and the fix was to reboot the machine. Then
you won't get the Loaded: error (Reason: No such file or directory)
anymore.


:-/

A little offtopic but I'm not looking forward to RHEL v7 and derivatives 
because of things like systemd... Don't fix it if ain't broken, and 
standard init served us well for quite some time...



--
Jakov Sosic
www.srce.unizg.hr

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



Re: [Puppet Users] Puppet firewall module only works on first clean run on a machine

2012-11-20 Thread Jakov Sosic

On 11/20/2012 11:51 PM, Charles Gilbert wrote:

Hi Jeff,

Let me try to clarify as the node is on a disconnected network and I am
not able to transmit logs from it.

If I stop iptables, delete everything in the file, and then run the
firewall rules on the server, all the rules are applied with no errors.

However, when I trigger another run of puppet, on that same node after
the rules have been added, the puppet run fails with errors in regards
to the iptables provider can not handle fields like proto, log_level etc
that had worked on first run.  It seems to me that we need to flush all
rules and then the class should execute to apply the firewall rules. To
flush the rules, I set the resources purge true for firewall.

  Not really sure if this clarified anything.  When I ran debug myself,
I did not see the purge actually execute as I would expect.


Shouldn't purge only remove rules that added and not managed by puppet?


--
Jakov Sosic
www.srce.unizg.hr

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



[Puppet Users] Re: Load Balance Puppet 3 masters with PuppetDB backend

2012-11-20 Thread Felipe Salum
Following the 
http://docs.puppetlabs.com/guides/scaling_multiple_masters.html actually 
worked better. The Pro Puppet was missing the part of running puppet agent 
in the 2nd master with the dns_alt_names or I missed that part, anyway it 
is working now :)

Felipe

On Friday, November 16, 2012 1:33:03 PM UTC-8, Felipe Salum wrote:

 Hi there.

 I'm setting up a Puppet 3 + PuppetDB environment with the following 
 architecture:

 2 x puppetmaster/passenger with apache using Proxy Balance
 1 x puppetdb 

 Following the Pro Puppet book, I set Apache on both puppetmasters to proxy 
 the CA requests to just 1 puppetmaster server, and anything else between 
 the 2 puppetmaster servers (call them workers).

 Also both puppetmaster servers is set to use the puppetdb storeconfig 
 backend.

 Everything looks fine when I hit the puppetmaster running as the CA, but 
 if my request is balanced to the 2nd puppetmaster worker I got the errors 
 below:

 root@puppetdb1:/# puppet agent --test --server puppet.puppet.test
 Warning: Unable to fetch my node definition, but the agent run will 
 continue:
 Warning: Error 400 on SERVER: Could not retrieve facts for 
 puppetdb1.puppet.test: Failed to submit 'replace facts' command for 
 puppetdb1.puppet.test to PuppetDB at puppetdb1.puppet.test:8081: 
 SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read finished A
 Info: Retrieving plugin
 Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
 Info: Loading facts in /var/lib/puppet/lib/facter/iptables.rb
 Info: Loading facts in 
 /var/lib/puppet/lib/facter/postgres_default_version.rb
 Error: Could not retrieve catalog from remote server: Error 400 on SERVER: 
 Failed to submit 'replace facts' command for puppetdb1.puppet.test to 
 PuppetDB at puppetdb1.puppet.test:8081: SSL_connect SYSCALL returned=5 
 errno=0 state=SSLv3 read finished A
 Warning: Not using cache on failed catalog
 Error: Could not retrieve catalog; skipping run

 For some reason when my puppetmaster2 worker receives the request from any 
 of my puppet agent nodes the facts fail.

 192.168.168.9 - - [16/Nov/2012:13:15:10 -0800] GET 
 /production/node/puppetdb1.puppet.test? HTTP/1.1 400 513 - -
 192.168.168.9 - - [16/Nov/2012:13:15:16 -0800] GET 
 /production/file_metadatas/plugins?recurse=truechecksum_type=md5links=manageignore=---+%0A++-+%22.svn%22%0A++-+CVS%0A++-+%22.git%22
  
 HTTP/1.1 200 40597 - -
 192.168.168.9 - - [16/Nov/2012:13:15:18 -0800] POST 
 /production/catalog/puppetdb1.puppet.test HTTP/1.1 400 461 - -

 Can I use the architecture I described above and still have every 
 puppetmaster from my load balance talking to PuppetDB ?

 I tried to delete the ssl certificates, generate them again, run 
 puppetdb-ssl-setup, etc but still same results.

 Thanks,
 Felipe


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/bd11TLhzqCwJ.
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 3.0: Not authorized to call find on /file_metadata, more issues?

2012-11-20 Thread Felipe Salum
I found out that I was missing a change in puppet.conf due using 
Puppetmaster Passenger:

from:
ssl_client_header = SSL_CLIENT_S_DN

to:
ssl_client_header = HTTP_X_SSL_SUBJECT

Now the permission issues are gone.

Weird enough that my Puppetmaster 2.7.x environment works without this 
change.

Felipe


On Tuesday, November 13, 2012 2:28:29 PM UTC-8, Felipe Salum wrote:

 I'm also having the same issue on the other locations. Not sure what's 
 wrong since this is a default installation of puppet 3 with the original 
 auth.conf

 Error: 
 /Stage[main]/Puppetdb::Master::Routes/File[/etc/puppet/routes.yaml]: Could 
 not evaluate: Error 403 on SERVER: Forbidden request: 
 puppet2.puppet.test(192.168.168.10) access to 
 /file_metadata/modules/puppetdb/routes.yaml [find] at :102 Could not 
 retrieve file metadata for puppet:///modules/puppetdb/routes.yaml: Error 
 403 on SERVER: Forbidden request: puppet2.puppet.test(192.168.168.10) 
 access to /file_metadata/modules/puppetdb/routes.yaml [find] at :102

 Error: Could not retrieve catalog from remote server: Error 403 on SERVER: 
 Forbidden request: puppet2.puppet.test(192.168.168.10) access to 
 /catalog/puppet2.puppet.test [find] at :101
 Warning: Not using cache on failed catalog
 Error: Could not retrieve catalog; skipping run

 Error: Could not send report: Error 403 on SERVER: Forbidden request: 
 puppet2.puppet.test(192.168.168.10) access to /report/puppet2.puppet.test 
 [save] at :102


 Maybe it is a naming resolution issue ? I'm using /etc/hosts since this is 
 a vagrant environment only for testing purposes.

 If I start updating auth.conf to use 'auth no' everywhere it passes.

 I don't see the problem on my production servers, so it worries me more :)

 On Monday, November 12, 2012 4:27:41 PM UTC-8, Felipe Salum wrote:

 Hi Nick.

 Actually this is a new environment I'm setting up using vagrant, puppet 3 
 and the default auth.conf.

 I had to add allow_ip to the /reports request to make it work. Not sure 
 why but it sometimes fail when using the puppet server provider from 
 vagrant.

 Thanks,
 Felipe

 On Mon, Nov 12, 2012 at 4:22 PM, Nick Fagerlund 
 nick.fagerl...@puppetlabs.com wrote:



 On Saturday, November 10, 2012 5:43:48 PM UTC-8, Felipe Salum wrote:

 Is this related to the same error I have when I run the puppet agent on 
 my nodes ?

 Nov 11 01:40:09 squeeze puppet-agent[8683]: Could not send report: Error 
 403 on SERVER: Forbidden request: puppetdb1.puppet.test(192.168.
 **168.12) access to /report/puppetdb1.puppet.test [save] authenticated  
 at :67


 No, other than that they're both related to authentication in auth.conf. 
 If you were upgrading from 2.6, note that the default value of the 'report' 
 setting changed between 2.6 and 2.7: 


 http://docs.puppetlabs.com/references/2.7.latest/configuration.html#report

 http://docs.puppetlabs.com/references/2.6.latest/configuration.html#report

 So if your auth.conf file doesn't allow authenticated nodes to send save 
 requests to /report, you will get errors. Examine your auth.conf file and 
 compare it to the one here: 

 https://github.com/puppetlabs/puppet/blob/master/conf/auth.conf

 You should have AT LEAST all the same rules, although your site may have 
 some extra rules as well. Be aware that order matters in this file. 

 -- 
 You received this message because you are subscribed to the Google 
 Groups Puppet Users group.
 To view this discussion on the web visit 
 https://groups.google.com/d/msg/puppet-users/-/rcFTBsu-IqkJ.
 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.




-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/PJt_eVvvh9gJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



Re: [Puppet Users] Puppet firewall module only works on first clean run on a machine

2012-11-20 Thread Charles Gilbert
That may be the case.  I am relatively new to puppet and am still getting
used to some of the features.  Does what I describe ring a bell to anyone
though?

On Tue, Nov 20, 2012 at 6:11 PM, Jakov Sosic jso...@srce.hr wrote:

 On 11/20/2012 11:51 PM, Charles Gilbert wrote:

 Hi Jeff,

 Let me try to clarify as the node is on a disconnected network and I am
 not able to transmit logs from it.

 If I stop iptables, delete everything in the file, and then run the
 firewall rules on the server, all the rules are applied with no errors.

 However, when I trigger another run of puppet, on that same node after
 the rules have been added, the puppet run fails with errors in regards
 to the iptables provider can not handle fields like proto, log_level etc
 that had worked on first run.  It seems to me that we need to flush all
 rules and then the class should execute to apply the firewall rules. To
 flush the rules, I set the resources purge true for firewall.

   Not really sure if this clarified anything.  When I ran debug myself,
 I did not see the purge actually execute as I would expect.


 Shouldn't purge only remove rules that added and not managed by puppet?


 --
 Jakov Sosic
 www.srce.unizg.hr


 --
 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+unsubscribe@**
 googlegroups.com puppet-users%2bunsubscr...@googlegroups.com.
 For more options, visit this group at http://groups.google.com/**
 group/puppet-users?hl=enhttp://groups.google.com/group/puppet-users?hl=en
 .



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



Re: [Puppet Users] Puppet firewall module only works on first clean run on a machine

2012-11-20 Thread Charles Gilbert
For what its worth:

This seems to resemble my problem:
http://projects.puppetlabs.com/issues/16675

I will attempt to track this to see if any changes get pushed.

On Tue, Nov 20, 2012 at 6:28 PM, Charles Gilbert gilbertc...@gmail.comwrote:

 That may be the case.  I am relatively new to puppet and am still getting
 used to some of the features.  Does what I describe ring a bell to anyone
 though?


 On Tue, Nov 20, 2012 at 6:11 PM, Jakov Sosic jso...@srce.hr wrote:

 On 11/20/2012 11:51 PM, Charles Gilbert wrote:

 Hi Jeff,

 Let me try to clarify as the node is on a disconnected network and I am
 not able to transmit logs from it.

 If I stop iptables, delete everything in the file, and then run the
 firewall rules on the server, all the rules are applied with no errors.

 However, when I trigger another run of puppet, on that same node after
 the rules have been added, the puppet run fails with errors in regards
 to the iptables provider can not handle fields like proto, log_level etc
 that had worked on first run.  It seems to me that we need to flush all
 rules and then the class should execute to apply the firewall rules. To
 flush the rules, I set the resources purge true for firewall.

   Not really sure if this clarified anything.  When I ran debug myself,
 I did not see the purge actually execute as I would expect.


 Shouldn't purge only remove rules that added and not managed by puppet?


 --
 Jakov Sosic
 www.srce.unizg.hr


 --
 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+unsubscribe@**
 googlegroups.com puppet-users%2bunsubscr...@googlegroups.com.
 For more options, visit this group at http://groups.google.com/**
 group/puppet-users?hl=enhttp://groups.google.com/group/puppet-users?hl=en
 .




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



[Puppet Users] Re: Issue with service = disabled and stopped

2012-11-20 Thread Forrie
Thanks, I went ahead and added an exit 1 at the bottom of each of
these scripts to shut it up.   At least, in the case of the cups-
config-daemon, it's been deprecated so I can just remove that check.
HIDD is another issue.   Most of the init.d scripts use RETVAL=$?
after the status) query -- so that's hooked in somewhere to the
functions perhaps and that it doesn't work properly with HIDD is
really a bug, per se.

-- 
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] Exception for one server on a basic setup

2012-11-20 Thread Ugo Bellavance


On Tuesday, November 20, 2012 3:13:03 PM UTC-5, Ugo Bellavance wrote:



 On Tuesday, November 20, 2012 2:25:13 PM UTC-5, Ugo Bellavance wrote:



 On Tuesday, November 20, 2012 11:30:47 AM UTC-5, Matthew Burgess wrote:

 On Tue, Nov 20, 2012 at 1:06 PM, Ugo Bellavance ug...@lubik.ca wrote: 

  However, I would need to push a different file to my NTP servers (the 
  puppet://$puppet_server/files/ntp.conf) are for clients.  How can I do 
 that? 
  Can I simply declare my two servers in a node declaration and set a 
 variable 
  in it and then use a puppet:// path that includes a variable? 

 The simplest option here is to just do the following, taking your 
 existing ntp.conf file stanza as an example: 

 class ntpd { 
 package { ntp: 
 ensure = installed, 
 } 
 file { /etc/ntp.conf: 
   owner = root, 
   group = root, 
   mode = 0644, 
   source = [puppet://$puppet_server/files/ntp.conf.$host, 
  puppet://$puppet_server/files/ntp.conf], 
   require = Package[ntp] 
   } 

 Puppet will use the first file that it finds in the source array. 
 For a more in depth explanation, see the 'source' parameter 
 description at 
 http://docs.puppetlabs.com/references/3.0.latest/type.html#file. 


 Ok, so the process would be to first change my config to have the two 
 sources as you described, then have a file that has the ntp server confi, 
 called ntp.conf.ntp1.mydomain.com and symlink it to 
 ntp.conf.ntp2.mydomain.com?

  
 I tested it and at first it didn't work, so I changed $host for $fqdn.  I 
 tested it and it worked.  I haven't tested the symlink yet but I'll do that 
 tonight.


It didn't work with the symlink so I did a simple copy.  I don't know if a 
hard link would have worked but the copy works and it is not that bad to 
maintain. 

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/E9ihPdvM_QcJ.
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] Exception for one server on a basic setup

2012-11-20 Thread Ugo Bellavance


On Tuesday, November 20, 2012 5:28:00 PM UTC-5, Jakov Sosic wrote:

 On 11/20/2012 02:06 PM, Ugo Bellavance wrote: 

   The setup is that I have 2 NTP servers that sync to servers on the 
  and all my servers and equipment sync to these two servers. 

 I created two classes for this purpose - ntp::client and ntp::server, 
 and use data from hiera. Although I could maybe use just one class and 
 depending on hiera options set up client or server on a node. I 
 recommend this approach, combined with ruby erb template for ntp.conf. 


Makes sense, I'll investigate later on.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/VBaN23JCNbIJ.
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] puppetlabs-firewall and source address arrays

2012-11-20 Thread Dusty Doris
In the puppetlabs-firewall modules I'm expecting that you can send in an 
array of source addresses, as declared in lib/puppet/type/firewall.rb. 
 However, it isn't applying those rules for me.

For example in lib/puppet/type/firewall.rb

  # Generic matching properties
  newproperty(:source) do
desc -EOS
  An array of source addresses. For example:

  source = '192.168.2.0/24'

  The source can also be an IPv6 address if your provider supports it.
EOS

munge do |value|
  @resource.host_to_ip(value)
end
  end


If I run it with something like:

  firewall { '100 allow http':
proto = 'tcp',
dport = '80',
state = ['NEW'],
source = ['200.200.200.200','200.200.200.201'],
action  = 'accept',
  }

It appears to iterate over those values in the array (simply add a puts 
statement inside the munge block).  However, when it actually applies the 
rules, only the first one seems to be applied.


Is this a bug in the firewall module?  Or, perhaps an incorrect expectation 
on my part?


I'd really love to have this behavior as it would make defining sets of 
rules quite nice.


Thanks for any guidance.







-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/nyQnaf9tq7IJ.
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: delete a file created with puppet

2012-11-20 Thread Jakov Sosic

On 11/16/2012 06:17 PM, Alex Stanhope wrote:

On Friday, November 16, 2012 5:11:22 PM UTC, Ellison Marks wrote:

Could you give some more info on what you're trying to accomplish
with this? That way we might offer some ideas to help.


Of course.  I use a temporary file to store a private key passphrase.
  That passphrase is used to allow the client machine to load the
private key, and clone repositories from github.  After puppet has
installed the client machine, I'd like it to delete this temporary file,
so that future logins prompt the user for the password.  It's not the
end of the world to leave it there, or for me to clean it up manually.
  I know I could use passwordless private keys, but I think it's better
security to have passphrases on them.


You can maybe try some mumbo jumbo magic with stages and combining two 
exec's.


Like, first exec gets the key:

exec{'first':
  command = 'cd /tmp  wget mykey',
  creates = '/tmp/mykey',
}

exec{'second':
  command = 'echo   /tmp/mykey | tee -a /tmp/mykey2',
  creates = '/tmp/mykey2',
}


Put first in stage before main, second in stage after main, and that 
could work. Although it's a really really ugly hack, and circumvention 
of Declarative Language nature - to declare states and not to run 
scripts...



--
Jakov Sosic
www.srce.unizg.hr

--
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: new user - understanding arrays as variables in defined types

2012-11-20 Thread Dusty Doris
Thanks Guillermo.  I appreciate your reply.  

I am trying to batch these entries, which is why I was originally asking 
about how to iterate on an array inside a defined type.  The reasoning for 
this, is that I will have somewhere between 20 and 40 IPs that need access 
to certain ports on certain nodes.  I'd rather not have to do them one by 
one on each node, so I'm trying to find an easy way to group them together. 
 Perhaps I need to rethink my approach.

I'm just starting at the basics now, trying to understand how puppet works.

This was my concept, which could be extracted into classes or modules or 
something.  

accept { $app_servers:
  proto = 'tcp',
  ports = ['80','3306','389','443']
}

accept { $backup_servers:
  proto = 'tcp'
  ports = ['873']
}

accept { $mail_relays:
  proto = 'tcp',
  ports = ['25','875']
}


Thanks for any suggestions.  I'll keep reading the docs and start looking 
at more code in the modules.




  
On Tuesday, November 20, 2012 8:38:56 PM UTC-5, Guillermo Cordeiro wrote:

 Hi.

 You try this:

 node 'mynode' {
   include firewall

   myfirewall::accept { 'node2':
 proto = 'tcp',
 ports = ['80','8080']
   }

   myfirewall::accept { 'node1' :
proto = 'tcp',
ports = ['80','8080','443']
   }
 }

 It is more simple and so you don't duplicate a declaration.

 Sorry for my english
 El 20/11/2012 23:32, Dusty Doris du...@doris.name javascript: 
 escribió:

 Thanks for the reply, I did run into one problem with duplicate 
 declarations.  Say I wanted to include node1 and node2 in a group of 
 servers for a particular rule.  Then wanted to just have node1 in a second 
 rule.

 eg:

 node 'mynode' {
   include firewall

   $apps = ['node1', 'node2']
   $ssl= 'node1'

   myfirewall::accept { $apps :
 proto = 'tcp',
 ports = ['80','8080']
   }

   myfirewall::accept { 'node1' :
proto = 'tcp',
ports = '443'
   }
 }

 When I run that I get a duplicate declaration error such as 
 Myfirewall::Accept[node1].  How does one get around something like that?  I 
 can't think of a way to do that without assigning a unique name and then 
 iterating on a source variable that is passed in.

 BTW - I am using the puppetlabs-firewall module and unfortunately it 
 doesn't work correctly with an array for the source variable, so that's why 
 I'm stuck here.



 On Tuesday, November 20, 2012 5:15:12 PM UTC-5, joe wrote:

 Nothing wrong with that. It's a very common practice.

 One thing I would recommend is setting your array to a variable and 
 passing that variable to the define. It just makes your code cleaner and 
 easier to read:

 node 'mynode' {
   include firewall
   $sources = ['node1', 'node2']
   myfirewall::accept { $sources :
 proto = 'tcp',
 port  = '80'
   }


 On Tuesday, November 20, 2012 2:30:45 PM UTC-7, Dusty Doris wrote:



 On Tuesday, November 20, 2012 3:51:07 PM UTC-5, Dusty Doris wrote:

 Lets say I wanted to make a declared type for adding custom firewall 
 rules on a per-node basis.


 define myfirewall::accept($proto, $port, $sources=[]) {
   include defaultfirewall

   $sources.each do |source|
 
 firewall { 100 allow $proto $port for $source:
   proto  = $proto,
   dport = $dport,
   source = $source,
   action   = 'accept',
 }

   end
 }

 I could use it something like this:

 node mynode {
   myfirewall:: accept { http: 
 proto = 'tcp',
 port   = '80',
 sources = ['1.1.1.1','2.2.2.2']
   }
 }


 Is there any way to do something like this with puppet?  I'm new to 
 this and quite confused.



 aha.  I found I can do it using the $name parameter.

 Is there anything inherently wrong with this type of usage?


 define myfirewall::accept($proto, $port) {

   firewall { 100 $name $proto $port:
 proto = $proto,
 dport = $port,
 source = $name,
 action = 'accept'
   }

 } 

 node 'mynode' {
   include firewall
   myfirewall::accept { ['node1', 'node2'] :
 proto = 'tcp',
 port  = '80'
   }
 }

  -- 
 You received this message because you are subscribed to the Google Groups 
 Puppet Users group.
 To view this discussion on the web visit 
 https://groups.google.com/d/msg/puppet-users/-/ZpskRkRDbZoJ.
 To post to this group, send email to puppet...@googlegroups.comjavascript:
 .
 To unsubscribe from this group, send email to 
 puppet-users...@googlegroups.com javascript:.
 For more options, visit this group at 
 http://groups.google.com/group/puppet-users?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/vccf59LRvVMJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



[Puppet Users] Re: Question about a node that includes a class of the same name...

2012-11-20 Thread KomodoDave
Instead of *is this something you do* should the question not instead be *is 
this something that should break*?

Unless the nested resource has the same resource type and namevar as the 
outer resource, this seems like it *should* work.

Dave

On Tuesday, November 20, 2012 9:32:07 PM UTC, llowder wrote:

 I was going through the open bugs and came across an interesting one[1], 
 where if a node has a certain name, and includes a class of the same name, 
 the class doesn't get loaded.

 I did discover a workaround - two of them, actually.

 However, I was somewhat curious.  Is this something people do?

 The example listed in the bug report was a node named 'centos' and 
 including a class named 'centos'.

 If this is a pattern you use (having a node and class name match) could 
 you please let me know?

 Thanks.


 [1] http://projects.puppetlabs.com/issues/1372


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/RzWI2xJqcg0J.
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-dashboard - rake API not working

2012-11-20 Thread Jacob
I don't get the expected output... (a list of my nodes)..

only the deprecation warning.





Il giorno martedì 20 novembre 2012 18:37:49 UTC+1, Bruno Leon ha scritto:

  Does it fail or only warn ?

 I can only see dprecation warnings in your message.

  

 -- 

 Bruno

  

 On November 19, 2012 11:36:17 PM Jacob wrote:

 Thanks :)

 Now I get

 snip

 # sudo -u puppet-dashboard rake -f /usr/share/puppet-dashboard/Rakefile 
 'node:list'
 (in /usr/share/puppet-dashboard)
 DEPRECATION WARNING: Rake tasks in vendor/plugins/delayed_job/tasks are 
 deprecated. Use lib/tasks instead. (called from 
 /usr/share/puppet-dashboard/vendor/rails/railties/lib/tasks/rails.rb:10)

 /snip



 Il giorno lunedì 19 novembre 2012 19:37:43 UTC+1, Stefan Heijmans ha 
 scritto:

 Yes, I noticed it in 1.2.13 (
 https://groups.google.com/d/msg/puppet-users/-s07XIymxCo/Yp3DpRU4t6EJ) 
 but not in 1.2.14.

 Fixed it by running  the mentioned 'rake gems:refresh_specs' 


 Stefan



 On Monday, November 19, 2012 10:11:35 AM UTC+1, Jacob wrote:

 Hello all,

 I am quite new to the puppet arena, but I am really impressed with puppet 
 as a tool and the possibilities it gives you with regards to managing many 
 systems.

 I am running dashboard 1.2.14 and am trying to query via the rake API: 
 http://docs.puppetlabs.com/dashboard/manual/1.2/rake_api.html

 when I do, I get the following error:

 snip

 # sudo -u puppet-dashboard rake -f /usr/share/puppet-dashboard/Rakefile 
 'node:list'
 (in /var/log)
 config.gem: Unpacked gem daemons-1.0.10 in vendor/gems has no 
 specification file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem rack-1.1.2 in vendor/gems has no specification 
 file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem rspec-1.3.2 in vendor/gems has no specification 
 file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem rdoc-3.6.1 in vendor/gems has no specification 
 file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem rspec-rails-1.3.4 in vendor/gems has no 
 specification file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem thoughtbot-shoulda-2.10.2 in vendor/gems has no 
 specification file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem mocha-0.9.7 in vendor/gems has no specification 
 file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem will_paginate-2.3.15 in vendor/gems has no 
 specification file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem json_pure-1.5.1 in vendor/gems has no 
 specification file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem haml-3.1.2 in vendor/gems has no specification 
 file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem sass-3.1.2 in vendor/gems has no specification 
 file. Run 'rake gems:refresh_specs' to fix this.
 config.gem: Unpacked gem factory_girl-1.3.3 in vendor/gems has no 
 specification file. Run 'rake gems:refresh_specs' to fix this.
 DEPRECATION WARNING: Rake tasks in vendor/plugins/delayed_job/tasks are 
 deprecated. Use lib/tasks instead. (called from 
 /usr/share/puppet-dashboard/vendor/rails/railties/lib/tasks/rails.rb:10)



 /snip



 ...I fail to find any info on this online ... has anyone else seen this?

 Thanks,

 //Jacob.

 -- 
 You received this message because you are subscribed to the Google Groups 
 Puppet Users group.
 To view this discussion on the web visit 
 https://groups.google.com/d/msg/puppet-users/-/Q-XcVfScapMJ.
 To post to this group, send email to puppet...@googlegroups.comjavascript:
 .
 To unsubscribe from this group, send email to 
 puppet-users...@googlegroups.com javascript:.
 For more options, visit this group at 
 http://groups.google.com/group/puppet-users?hl=en.





-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/DVEJ5aYLrNIJ.
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.