Tuesday, 2008-07-01

[2008/07/01 00:19:51] <jamesturnbull> lak: the FunctionReference on the wiki seems inconsistent with the functions.rb file
[2008/07/01 00:20:01] <lak> oh?
[2008/07/01 00:20:21] <lak> i think someone mentioned it was a bit out of date or something (not that the list has changed recently)
[2008/07/01 00:20:42] <lak> but i think i skipped regen'ing because i was figuring to release soon
[2008/07/01 00:20:45] <lak> 'course, not so much :/
[2008/07/01 00:20:57] <jamesturnbull> lak: let me git blame - fqdn_rand seems to be missing for example
[2008/07/01 00:21:29] <jamesturnbull> oh wait I added that :)
[2008/07/01 00:21:37] <jamesturnbull> in May
[2008/07/01 00:21:45] <jamesturnbull> so wiki was regen'ed in April
[2008/07/01 00:21:48] <jamesturnbull> that makes sense
[2008/07/01 00:21:54] * jamesturnbull looks slightly sheepish
[2008/07/01 00:22:25] <lak> :)
[2008/07/01 00:22:34] <lak> really, though, i think it's more llama than sheep
[2008/07/01 00:24:09] <jamesturnbull> lak: lol
[2008/07/01 00:24:22] <jamesturnbull> lak: hey question - how would you go about testing a functino that created a hash?
[2008/07/01 00:24:31] <lak> what do you mean?
[2008/07/01 00:24:32] <jamesturnbull> lak: from a string?
[2008/07/01 00:24:39] <lak> ah, like an md5 hash?
[2008/07/01 00:24:47] <lak> the only reasonable way to do it is mock the interface to the hashing library
[2008/07/01 00:24:57] <jamesturnbull> lak: yes suspected you'd say that
[2008/07/01 00:25:01] <lak> e.g., MD5.expects(:md5_sum).with(blah).returns(foo)
[2008/07/01 00:25:01] <jamesturnbull> lak: okay no test for them
[2008/07/01 00:25:04] <lak> heh
[2008/07/01 00:25:39] <jamesturnbull> lak: oh and while you are here
[2008/07/01 00:25:44] <jamesturnbull> lak: interface type
[2008/07/01 00:25:51] <lak> yeah
[2008/07/01 00:25:54] <jamesturnbull> lak: it's a good type
[2008/07/01 00:25:54] <lak> yay
[2008/07/01 00:25:57] <lak> indeed
[2008/07/01 00:26:00] <jamesturnbull> lak: just needs some love
[2008/07/01 00:26:07] <lak> if by "good" you mean "non-functional" :)
[2008/07/01 00:26:12] <jamesturnbull> lak: and really only a little prefetch love and I can probably fix the rest
[2008/07/01 00:26:13] <lak> i *gave* it love, in the last release
[2008/07/01 00:26:18] <lak> and i thought it freaking worked :/
[2008/07/01 00:26:26] <lak> ok
[2008/07/01 00:26:31] <lak> i'd certainly like it working
[2008/07/01 00:26:33] <jamesturnbull> lak: well you explain to me how the prefetch works? instance.send?
[2008/07/01 00:26:46] <lak> is that two questions, or one?
[2008/07/01 00:26:52] <jamesturnbull> it's either, a) magic
[2008/07/01 00:26:58] <jamesturnbull> or b) so Ruby-fu I don't get it
[2008/07/01 00:27:02] <jamesturnbull> or c) Broken
[2008/07/01 00:27:04] <jamesturnbull> :)
[2008/07/01 00:27:46] <fujin> it sends to instance!
[2008/07/01 00:27:46] <lak> i think i know the bit you mean
[2008/07/01 00:28:06] <lak> 'send' calls the specified method, with the specified arguments, on the receiver
[2008/07/01 00:28:21] <lak> e.g., if you say 'resource.send(:destroy)', it's *exactly* equivalent to calling resource.destroy
[2008/07/01 00:28:35] <lak> or 'resource.send(:save, :yay)' is equivalent to resource.save(:yay)
[2008/07/01 00:28:37] <lak> make sense?
[2008/07/01 00:28:55] <lak> and the prefetch brokenness uses it to try to metaprogram its way around having to hard code fields
[2008/07/01 00:29:11] <jamesturnbull> oh I get that part
[2008/07/01 00:29:20] <lak> ok, so what part don't you get?
[2008/07/01 00:29:23] <jamesturnbull> I read the .send refernece on ruby-dcos
[2008/07/01 00:29:30] <jamesturnbull> hang on let me find the code
[2008/07/01 00:29:50] <jamesturnbull> instance.send($1.downcase + "=", $2)
[2008/07/01 00:30:27] <jamesturnbull> so that sends $2 to a blah= method right?
[2008/07/01 00:30:37] <fujin> instance.$1 = $2
[2008/07/01 00:30:43] <fujin> yeh bro that's it
[2008/07/01 00:30:52] <fujin> fuck that's magical lak
[2008/07/01 00:31:04] <lak> well, i'd say it calls the blah= method with $2, but yeah
[2008/07/01 00:31:08] <jamesturnbull> so maybe I am stupid but what if there isn't a $1= method?
[2008/07/01 00:31:21] <lak> fujin: heh, this is schoolboy stuff, i can get all crazy if you want :)
[2008/07/01 00:31:30] <jamesturnbull> because that seems to be the error
[2008/07/01 00:31:37] <lak> jamesturnbull: same thing as any other time -- NoMethodError gets raised
[2008/07/01 00:31:40] <jamesturnbull> it fails to call method $1=
[2008/07/01 00:31:47] <jamesturnbull> and breaks
[2008/07/01 00:31:59] <lak> my guess is that the prefetching should just add a 'if respond_to($1.downcase + "=")'
[2008/07/01 00:32:04] <lak> and it'd all be dandiness
[2008/07/01 00:32:08] <fujin> is this self.parse jamesturnbull ?
[2008/07/01 00:32:12] * jamesturnbull slaps head
[2008/07/01 00:32:17] <jamesturnbull> you can do that?
[2008/07/01 00:32:32] * jamesturnbull wants the four hours he fucked around with this on Sunday back
[2008/07/01 00:32:36] <fujin> LOL
[2008/07/01 00:32:50] <jamesturnbull> fujin: yep
[2008/07/01 00:33:08] <jamesturnbull> lak: then it'll just ignore a parsed method that doesn't exist?
[2008/07/01 00:33:12] <lak> right
[2008/07/01 00:33:24] <lak> jamesturnbull: indeed you can
[2008/07/01 00:33:31] <jamesturnbull> lak: there are some other minor things but I can fix those I think
[2008/07/01 00:33:33] <lak> hrm, where's pastie?
[2008/07/01 00:33:46] <lak> brb, i'll mock up a pretty standard way of handling options, using this trick
[2008/07/01 00:34:06] <jamesturnbull> lak: you had weirdness in how it determed the name of the network-script ifcfg-eth1.cfg or whatever
[2008/07/01 00:34:16] <lak> i did?
[2008/07/01 00:35:01] <jamesturnbull> yeah you used the name var to select the file
[2008/07/01 00:35:08] <jamesturnbull> the namevar is the IP address
[2008/07/01 00:35:16] <jamesturnbull> you needed the interface param
[2008/07/01 00:35:43] <jamesturnbull> so it did ifcfg-192.168.0.1.cfg rather than ifcfg-eth0.cfg
[2008/07/01 00:36:12] <lak> http://pastie.org/225333
[2008/07/01 00:36:13] <fujin> heh
[2008/07/01 00:36:18] <lak> ah
[2008/07/01 00:36:23] <lak> not sure i actually did that
[2008/07/01 00:36:39] <lak> i don't think i changed the behaviour, i just rewrote it from scratch and added tests :/
[2008/07/01 00:36:43] <jamesturnbull> hard to test for - as it works for NEW interfaces but epic fails if you are updating an existing
[2008/07/01 00:37:29] <jamesturnbull> so I get that pastie
[2008/07/01 00:37:40] @ Quit: Gwayne: Remote closed the connection
[2008/07/01 00:38:03] <lak> ok
[2008/07/01 00:38:06] <lak> on both counts
[2008/07/01 00:38:23] <lak> that pastie isn't much different than the code you were asking about, is it?
[2008/07/01 00:38:28] <lak> i guess other than the $1/$2 bits
[2008/07/01 00:38:33] <jamesturnbull> yeah I think so
[2008/07/01 00:38:43] <jamesturnbull> need to wortk out where to put that code
[2008/07/01 00:40:08] <jamesturnbull> just replace the instance.send in the existing code with a call to that method I think
[2008/07/01 00:40:17] <lak> what method?
[2008/07/01 00:40:21] <lak> now *i'm* confused :/
[2008/07/01 00:40:32] @ ski98033 joined channel #puppet
[2008/07/01 00:41:49] <jamesturnbull> hang on
[2008/07/01 00:42:51] <jamesturnbull> http://pastie.org/225335
[2008/07/01 00:42:57] <jamesturnbull> or am I off base
[2008/07/01 00:43:47] <lak> you mean use the instance's initialize() method to do the line-parsing, instead of the prefetch?
[2008/07/01 00:44:21] <jamesturnbull> oh I see
[2008/07/01 00:44:27] <lak> 1) 'initialize' isn't a class method, it's an instance method
[2008/07/01 00:44:27] <jamesturnbull> slow day
[2008/07/01 00:44:35] <lak> 2) you need to link the line with the instance somehow
[2008/07/01 00:45:11] <lak> and 3) provider instances expect either a hash or a resource on init; i'd prefer not to add a string to that list
[2008/07/01 00:46:45] <jamesturnbull> 'if respond_to($1.downcase + "=")' seems easier :P
[2008/07/01 00:46:50] * fujin is of the "chuck a 'unless respond_to?($1.downcase + "=")'" opinion
[2008/07/01 00:47:09] <fujin> +1
[2008/07/01 00:47:10] * fujin highfives
[2008/07/01 00:47:14] <jamesturnbull> Iam still getting my head around this OO stuff
[2008/07/01 00:47:41] <jamesturnbull> instances, classes, modules - I have like five books to read and no time to read them
[2008/07/01 00:47:41] <lak> btw, that needs to be 'if instance.respond_to?(...'
[2008/07/01 00:47:44] <lak> heh
[2008/07/01 00:47:49] <lak> just *feel* it, man :)
[2008/07/01 00:48:15] <jamesturnbull> lak: alright for you to say - *feeling* it is your full time job
[2008/07/01 00:48:27] <jamesturnbull> lak: I have to think like a wage slave 10 hours a day too ;P
[2008/07/01 00:48:45] <lak> heh
[2008/07/01 00:49:04] <lak> right, because responding to 80 emails a day on the puppet-users list helps me *feel* the OOness
[2008/07/01 00:50:44] <lak> tomorrow, tho, is an all dev day -- no email, dammit!
[2008/07/01 00:54:02] * fujin whips lak
[2008/07/01 00:54:16] <lak> fortunately, i'm largely immune now
[2008/07/01 00:54:23] <fujin> what, to whipping?
[2008/07/01 00:54:24] <lak> and really, it's almost self-flagellation now
[2008/07/01 00:54:27] <lak> yep
[2008/07/01 00:54:55] <lak> everyone else has largely taken over the "help!" emails from me
[2008/07/01 00:56:00] <fujin> help!
[2008/07/01 00:56:31] <bda> (I need somebody.)
[2008/07/01 00:57:25] <lak> i'm not complaining about the email -- just saying that hours per day, i probably spend more these days on it than dev
[2008/07/01 00:57:42] <lak> which is unfortunate, really, and probably a sign of bad time mgmt on my part
[2008/07/01 00:57:56] <jamesturnbull> lak: well then send Andrew and other minion off to the mailing list
[2008/07/01 00:58:00] <lak> heh
[2008/07/01 00:58:07] <lak> the mailing list minion starts in two weeks :)
[2008/07/01 00:59:26] <fujin> LOL
[2008/07/01 00:59:33] <fujin> mm, mailing list minions
[2008/07/01 00:59:35] <jamesturnbull> lak: git-stash is coooo cooll
[2008/07/01 00:59:37] <fujin> gotta get one of those
[2008/07/01 00:59:40] <fujin> +1 james
[2008/07/01 00:59:42] <fujin> it's pretty handy.
[2008/07/01 00:59:43] <lak> jamesturnbull: yeah
[2008/07/01 00:59:54] <lak> although i've been finding recently that i'm using git commit + git reset instead
[2008/07/01 01:00:05] <fujin> yeah, I do the ol' commit + soft reset.
[2008/07/01 01:00:12] <lak> e.g., commit on my feature branch, switch branches and do whatever, then switch back, and git reset ^HEAD
[2008/07/01 01:00:25] <lak> otherwise i lose mental state
[2008/07/01 01:00:34] <lak> "wtf does this stash go, again?"
[2008/07/01 01:00:37] <fujin> where's my stash gone!
[2008/07/01 01:00:58] <fujin> the dog ate your stash dude :\
[2008/07/01 01:01:10] <lak> erm
[2008/07/01 01:01:25] <jamesturnbull> lak: I forgot about fujin and stashes
[2008/07/01 01:01:28] <jamesturnbull> lak: sorry
[2008/07/01 01:01:29] <lak> heh
[2008/07/01 01:01:30] <fujin> o_0
[2008/07/01 01:01:42] <fujin> no need to be racist
[2008/07/01 01:03:38] <jamesturnbull> fujin: that's racist?
[2008/07/01 01:03:50] <jamesturnbull> fujin: is "stoner" an ethnic group now? :P
[2008/07/01 01:03:58] @ Quit: Soahc: Remote closed the connection
[2008/07/01 01:04:03] <lak> hah!
[2008/07/01 01:04:06] @ Soahc joined channel #puppet
[2008/07/01 01:04:30] <fujin> I represent that comment
[2008/07/01 01:05:09] <jamesturnbull> REPRESENT!
[2008/07/01 01:05:13] <lak> jamesturnbull: btw, i've uploaded my velocity slides (as a pdf) to http://reductivelabs.com/downloads/presentations/
[2008/07/01 01:05:20] <lak> looking at your oscon slides now
[2008/07/01 01:05:40] <jamesturnbull> cool - I think they are a little flakey in parts but I figured I had you and a plane ride to tweak
[2008/07/01 01:06:09] <fujin> when was velocity?
[2008/07/01 01:06:11] <fujin> just recently eh?
[2008/07/01 01:06:21] <jamesturnbull> last wek
[2008/07/01 01:06:38] <fujin> oh yeh sweet
[2008/07/01 01:08:01] @ Quit: ski98033: "Leaving."
[2008/07/01 01:08:23] @ MrProper__ joined channel #puppet
[2008/07/01 01:08:35] <lak> mon/tue of last week
[2008/07/01 01:09:07] <MrProper__> hey all, is there a way to have a resource depend on a class? ie file { '/foo': ensure => file, require => Class['bar'] } ...for example
[2008/07/01 01:15:27] <fujin> yes MrProper__, that works
[2008/07/01 01:15:36] <fujin> on newer versions, I forget the version Class[] was added in
[2008/07/01 01:15:48] <MrProper__> nice that solve alot of my problems =)
[2008/07/01 01:27:31] @ Quit: randybias:
[2008/07/01 01:42:38] @ Quit: cote:
[2008/07/01 01:43:07] @ Quit: catdude:
[2008/07/01 01:49:44] @ Ol_ joined channel #puppet
[2008/07/01 01:56:26] @ nasrat joined channel #puppet
[2008/07/01 01:56:38] @ Quit: nasrat: Remote closed the connection
[2008/07/01 01:59:28] @ Ol__ joined channel #puppet
[2008/07/01 02:01:29] @ Quit: shake-n-bake:
[2008/07/01 02:16:33] @ Quit: Ol_: Read error: 113 (No route to host)
[2008/07/01 02:20:13] @ aymerick joined channel #puppet
[2008/07/01 02:27:15] @ Quit: Ol__:
[2008/07/01 02:36:10] @ Quit: fbe: Read error: 110 (Connection timed out)
[2008/07/01 02:54:54] @ Quit: lak:
[2008/07/01 03:07:59] @ Quit: MrProper__: "Leaving"
[2008/07/01 03:18:08] @ pleemans joined channel #puppet
[2008/07/01 03:23:21] @ mdray joined channel #puppet
[2008/07/01 03:28:55] @ hessml is now known as hessml|away
[2008/07/01 03:30:57] @ Quit: hessml|away: "Leaving..."
[2008/07/01 03:32:43] @ DerekW joined channel #puppet
[2008/07/01 03:37:00] @ jmeeuwen`_ joined channel #puppet
[2008/07/01 03:37:17] @ Quit: jmeeuwen: Read error: 104 (Connection reset by peer)
[2008/07/01 03:38:04] @ Quit: refuseresisted: kubrick.freenode.net irc.freenode.net
[2008/07/01 03:38:07] @ Quit: pkhamre: kubrick.freenode.net irc.freenode.net
[2008/07/01 03:38:10] @ Quit: jshare: kubrick.freenode.net irc.freenode.net
[2008/07/01 03:38:57] @ refuseresisted joined channel #puppet
[2008/07/01 03:38:58] @ pkhamre joined channel #puppet
[2008/07/01 03:39:00] @ jshare joined channel #puppet
[2008/07/01 03:39:09] @ jmeeuwen`_ is now known as jmeeuwen
[2008/07/01 03:40:50] <msf> uh
[2008/07/01 03:40:58] <msf> jamesturnbull: around ?
[2008/07/01 03:49:49] <msf> man... is external nodes working at all in 0.24.4 ?
[2008/07/01 03:50:02] <msf> neither ldap nore external nodes work for me here
[2008/07/01 03:50:15] <DerekW> msf: Have you set node_terminus ?
[2008/07/01 03:52:11] @ fbe joined channel #puppet
[2008/07/01 03:54:57] <msf> of course
[2008/07/01 03:55:29] <msf> I had this
[2008/07/01 03:55:38] <msf> node_terminus = exec
[2008/07/01 03:55:46] <msf> external_nodes = /home/msf/perl/Puppet-Generate/scripts/classify_node
[2008/07/01 03:56:06] <msf> classify_node is working
[2008/07/01 04:03:57] <DerekW> Works for me... time to stick in tedious debug lines everywhere
[2008/07/01 04:04:06] <msf> on what platform ?
[2008/07/01 04:05:29] <DerekW> RHEL
[2008/07/01 04:05:35] <DerekW> Lutter's RPMs
[2008/07/01 04:05:37] <msf> rhel5 ?
[2008/07/01 04:05:43] <msf> not the epel rpms ?
[2008/07/01 04:05:44] <DerekW> 4 for the server
[2008/07/01 04:06:01] <DerekW> It's unlikely to be a packaging issue
[2008/07/01 04:07:19] <msf> I'm on rhel5 using the EPEL rpms from fedoraproject
[2008/07/01 04:17:20] <msf> hrm.. it looks like it gets the node info and then for some reason ignores it later
[2008/07/01 04:34:31] <msf> wow
[2008/07/01 04:34:54] <msf> doing p on @parser is not a good idea :-P
[2008/07/01 05:05:29] @ Quit: aymerick: "kit mais sage"
[2008/07/01 05:09:15] @ FreakyPenguin joined channel #puppet
[2008/07/01 05:10:27] @ aymerick joined channel #puppet
[2008/07/01 05:12:13] @ zipkid joined channel #puppet
[2008/07/01 05:20:43] @ meandtheshell joined channel #puppet
[2008/07/01 05:24:38] @ roald joined channel #puppet
[2008/07/01 05:25:04] <mdray> anyone here running a large Nagios install?
[2008/07/01 05:25:12] <msf> yep
[2008/07/01 05:25:33] <msf> define large
[2008/07/01 05:26:00] <mdray> we have a pretty basic setup (200 hosts, around 400 services) but as part of a puppetising plan i want to develop a replacement with many more hosts and services
[2008/07/01 05:26:04] <mdray> wondering how best to do it
[2008/07/01 05:26:15] <mdray> msf: i dunno, a few hundred boxes?
[2008/07/01 05:34:22] <msf> I have like 200 machines with 800+ services
[2008/07/01 05:34:31] <msf> but I'm not using puppet to manage nagios
[2008/07/01 05:34:40] <mdray> ok
[2008/07/01 05:34:46] <mdray> are you using passive checks?
[2008/07/01 05:34:52] <msf> active
[2008/07/01 05:34:55] <msf> for the most part
[2008/07/01 05:35:39] <mdray> ok
[2008/07/01 05:36:39] <Volcane> go str8 to nagios 3
[2008/07/01 05:36:50] <Volcane> lots of improved parallisation of checks
[2008/07/01 05:36:52] <mdray> mm
[2008/07/01 05:37:00] <msf> not there yet
[2008/07/01 05:37:01] <msf> :-P
[2008/07/01 05:37:14] <mdray> wish there were nagios 3 rpms :(
[2008/07/01 05:37:31] <msf> man I finally figured out what was going on with ldap nodes and external_nodes in my dev setup
[2008/07/01 05:38:03] <msf> it seems, that if you have ANY anywhere in your manifests
[2008/07/01 05:38:17] <msf> any node statments in your manifests that is
[2008/07/01 05:38:22] <msf> any at all
[2008/07/01 05:38:34] <msf> it will cause external nodes and ldap to fail
[2008/07/01 05:58:28] @ penthief joined channel #puppet
[2008/07/01 06:00:33] <penthief> hmm... (//Node[dev.mymachine.com]/postgresql/File[/etc/yum.repos.d/pgdg-fedora-8.2-4.repo]/ensure) No specified sources exist
[2008/07/01 06:00:49] <penthief> Can't see why...
[2008/07/01 06:02:18] <penthief> I'm using a variable in the filename this time but I think I can do that. file { "/etc/yum.repos.d/$pgdg.repo":
[2008/07/01 06:03:02] <duritong> the problem is in the source
[2008/07/01 06:06:59] <penthief> how's this? source => "puppet://puppet.mymachine.com/postgresql/$pgdg.repo",
[2008/07/01 06:08:34] <duritong> ist the file existent in the modules file flder?
[2008/07/01 06:08:51] <duritong> and maybe it would be better to to do ${pgdg}.repo
[2008/07/01 06:17:13] <penthief> Whoops, slightly misnamed file on the master. Thanks.
[2008/07/01 06:21:50] <duritong> np
[2008/07/01 06:38:03] <Volcane> hooray for more nudy spam on the list
[2008/07/01 06:41:07] @ glaw joined channel #puppet
[2008/07/01 06:50:46] @ Quit: penthief: "Leaving"
[2008/07/01 06:54:14] @ Quit: aymerick: "kit mais sage"
[2008/07/01 06:54:25] @ aymerick joined channel #puppet
[2008/07/01 07:05:59] @ tarjei joined channel #puppet
[2008/07/01 07:17:48] @ _zsh joined channel #puppet
[2008/07/01 07:20:15] @ Jonny_ joined channel #puppet
[2008/07/01 07:25:04] <duritong> gepetto: seen lak
[2008/07/01 07:25:10] <gepetto> duritong: lak was last seen 4 hours, 30 minutes and 15 seconds ago, quitting IRC ()
[2008/07/01 07:37:49] @ Quit: Jonny: Read error: 110 (Connection timed out)
[2008/07/01 07:39:01] @ Quit: _zsh: Read error: 113 (No route to host)
[2008/07/01 08:05:33] <duritong> fujin: ping
[2008/07/01 08:05:47] <fujin> PONG
[2008/07/01 08:05:51] <fujin> sup?
[2008/07/01 08:06:02] <duritong> we talked once about the parseonly option
[2008/07/01 08:06:23] <duritong> and i mentioned that it will fail if using your own types
[2008/07/01 08:06:34] <duritong> du you think that should be filed as a bug
[2008/07/01 08:06:42] <duritong> i think it's quite clear why it fails
[2008/07/01 08:06:56] <fujin> sure, if you can provide a reproducable use case, and it hasn't been fixed in 0.24.x HEAD
[2008/07/01 08:07:10] <fujin> example code, etc.
[2008/07/01 08:07:14] <duritong> however it would still be nice to do syntax checks also with own functions
[2008/07/01 08:07:29] <duritong> ok i'll test after the meeting which starts now :)
[2008/07/01 08:07:52] <fujin> cool mate
[2008/07/01 08:09:31] <nico> raah searching in the docs is not really easy...
[2008/07/01 08:10:00] <nico> when I do package { "bla": ensure => installed }
[2008/07/01 08:10:11] <nico> or present
[2008/07/01 08:10:46] <nico> is there a way to know what are the values available for "package" (and what they mean)
[2008/07/01 08:10:50] <nico> ?
[2008/07/01 08:13:39] @ keithlard joined channel #puppet
[2008/07/01 08:14:13] @ Jonny joined channel #puppet
[2008/07/01 08:17:31] @ kenvandine joined channel #puppet
[2008/07/01 08:23:14] @ keithlard_ joined channel #puppet
[2008/07/01 08:26:15] @ Quit: Jonny_: Read error: 110 (Connection timed out)
[2008/07/01 08:40:40] @ Quit: keithlard: Read error: 110 (Connection timed out)
[2008/07/01 08:44:40] <jamesturnbull> nico: wiki:TypeReference
[2008/07/01 08:45:38] <gepetto> jamesturnbull: nico: wiki:TypeReference is http://reductivelabs.com/trac/puppet/wiki/TypeReference
[2008/07/01 08:46:07] <jamesturnbull> msf: here briefly
[2008/07/01 08:48:14] <nico> jamesturnbull: does it that if I set package { "asterisk": ensure => installed } it will install it if it is not yet done ? or will I have to use exec ?
[2008/07/01 08:48:59] <nico> because it will be actions or status but not both right ?
[2008/07/01 08:49:15] <tarjei> how do I get puppet to download a file via http? file { source => "http://.." } gives me an error.
[2008/07/01 08:49:47] <fsweetser> tarjei: you can't
[2008/07/01 08:49:57] <fsweetser> there are plans for that to work, but it's not there yet
[2008/07/01 08:49:59] @ Quit: zoeloelip: Read error: 104 (Connection reset by peer)
[2008/07/01 08:50:20] <tarjei> fsweetser: ok, thanks.
[2008/07/01 08:50:25] @ zoeloelip joined channel #puppet
[2008/07/01 08:51:07] <tarjei> fsweetser: is there a special reason why this is hard to get working? (just curious, if it's a long answer, do not bother to answer)
[2008/07/01 08:51:57] <fsweetser> the biggest thing, as I understand it, is that way puppet can't compare the current and source versions of the file
[2008/07/01 08:52:02] <fsweetser> so it doesn't know if it should replace or not
[2008/07/01 08:52:11] <jamesturnbull> nico: that will install the package
[2008/07/01 08:52:31] <jamesturnbull> nico: no need for an additional step
[2008/07/01 08:52:32] @ Quit: zoeloelip: Read error: 104 (Connection reset by peer)
[2008/07/01 08:53:51] @ teyo joined channel #puppet
[2008/07/01 08:56:05] <nico> jamesturnbull: ok, thx a lot
[2008/07/01 08:56:21] <jamesturnbull> nico: wiki:GettingStarted
[2008/07/01 08:56:23] <gepetto> jamesturnbull: nico: wiki:GettingStarted is http://reductivelabs.com/trac/puppet/wiki/GettingStarted
[2008/07/01 08:56:56] <jamesturnbull> nico: also the book - Pulling Strings with Puppet (disclaimer - I write it) are good starting places
[2008/07/01 08:57:05] <nico> jamesturnbull: I've read it, but it was not clear to me
[2008/07/01 08:57:18] <jamesturnbull> write it even :P
[2008/07/01 08:57:34] <jamesturnbull> WROTE WROTE! Damn keyboard :P
[2008/07/01 08:57:52] <nico> apress, usually good stuff
[2008/07/01 08:57:54] @ zoeloelip joined channel #puppet
[2008/07/01 08:58:18] <zipkid> jamesturnbull: are there man i-o mixups in the book too ? :-D
[2008/07/01 08:58:20] <jamesturnbull> nico: I've published three books through them now - wouldn't deal with anyone else
[2008/07/01 08:58:39] <jamesturnbull> zipkid: no that's just me and keyboard and three glasses of wine at 11pm at night
[2008/07/01 08:59:21] <nico> jamesturnbull: bought practical ruby for SA recently, nice book too
[2008/07/01 08:59:50] <tarjei> fsweetser: ok, thank you.
[2008/07/01 09:00:11] <jamesturnbull> nico: yeah nice book - guy from Imperial College - very good introduction to Ruby
[2008/07/01 09:00:34] <jamesturnbull> nico: Ruby has now pretty much replaced shell and Perl for my system admin tasks as a result
[2008/07/01 09:02:51] <mdray> oh, wow
[2008/07/01 09:02:54] <mdray> how i'd love that
[2008/07/01 09:04:05] <nico> jamesturnbull: I use much perl & shell too, but starting to use ruby more and more (as I'm free to choose the langage I prefer)
[2008/07/01 09:04:12] <nico> "This page is autogenerated; any changes will get overwritten (last generated on Tue Apr 01 04:05:09 +0200 2008)"
[2008/07/01 09:04:55] <nico> damn, shall I write some comments to another page then ? any link to respect wiki hierarchy N
[2008/07/01 09:05:17] <nico> s/N/?
[2008/07/01 09:06:25] <jamesturnbull> nico: those pages are autogenned from the project doco in the code
[2008/07/01 09:06:57] <nico> yeah, shall I add something in the FAQ ? (or any other page, I don't want to mess the wiki)
[2008/07/01 09:06:58] <jamesturnbull> nico: what do you want to add?
[2008/07/01 09:07:03] <jamesturnbull> nico: FAQ is fine
[2008/07/01 09:07:19] <jamesturnbull> nico: I edit all of those anyways so you can't do too much damage :)
[2008/07/01 09:07:45] <nico> a "side note", because to me, the package actions are not really "clear" (the thing I asked for)
[2008/07/01 09:08:23] <jamesturnbull> nico: hmm in that case - best bet is to log a ticket - and I'll update the project doco
[2008/07/01 09:08:39] <nico> jamesturnbull: ok
[2008/07/01 09:08:51] <jamesturnbull> nico: explain what you didn't understand and what'll make it easier and I'll parse something to help with that
[2008/07/01 09:09:58] <nico> jamesturnbull: ok, I'll do that
[2008/07/01 09:10:15] <jamesturnbull> nico: you know where the ticketing systems is?
[2008/07/01 09:10:27] <jamesturnbull> nico: http://reductivelabs.com/redmine/
[2008/07/01 09:10:47] <nico> yeah, no problem :)
[2008/07/01 09:11:00] <nico> argh, sometimes I hate greylisting
[2008/07/01 09:11:37] <jamesturnbull> nico: yeah me too but hate spam worse
[2008/07/01 09:14:55] @ hessml joined channel #puppet
[2008/07/01 09:15:07] @ Quit: hessml: Remote closed the connection
[2008/07/01 09:15:11] <Aji-Dahaka> okay, so I have a script in redhat that only has start and stop. I set it as a service in puppet and told it ensure=> running, enale => true, subscribe File["dsm.sys"] (it's config file). It has _many_ copies running on the target systems. Any idea what's wrong? it seems like it must be starting it blindly
[2008/07/01 09:16:35] <fsweetser> you need to give it some way to see if the process is running
[2008/07/01 09:16:37] <mdray> does the init script have a status option?
[2008/07/01 09:16:48] <mdray> (no, presumably)
[2008/07/01 09:17:09] <Aji-Dahaka> not yet
[2008/07/01 09:17:23] <jamesturnbull> alright night all
[2008/07/01 09:17:28] <Aji-Dahaka> fsweetser: how does it normally determine that? (status uption, I assume?)
[2008/07/01 09:17:29] <mdray> night!
[2008/07/01 09:17:50] <mdray> if there's no status option: If you do not specify anything, then the service name will be looked for in the process table. Valid values are true, false.
[2008/07/01 09:17:51] <fsweetser> ideally, yes
[2008/07/01 09:18:18] <fsweetser> however, you can check out wiki:TypeReference
[2008/07/01 09:18:45] <gepetto> fsweetser: however: wiki:TypeReference is http://reductivelabs.com/trac/puppet/wiki/TypeReference
[2008/07/01 09:18:45] <fsweetser> there are other options in there to tell puppet, for example, to look for a particular process name
[2008/07/01 09:18:46] <mdray> you can specify the process pattern to search for in the process table with the pattern => '' option
[2008/07/01 09:19:47] <mdray> so something like Service["foo"] { hasstatus => false, hasrestart => false, patten => 'proc_name_pattern' }
[2008/07/01 09:20:04] <Aji-Dahaka> thanks
[2008/07/01 09:20:22] <mdray> and, on a related but different note, when you write the status option make sure it doesn't return 0 regardless of the service status
[2008/07/01 09:20:28] <Aji-Dahaka> I see it on the typereference there, but I think I'm likely to rewrite the script in the mid-to-long term
[2008/07/01 09:20:56] <mdray> took ages to work out why puppet always thought nrpe was running when it wasn't
[2008/07/01 09:22:17] <Aji-Dahaka> my nrpe script handles status correctly
[2008/07/01 09:22:28] <Aji-Dahaka> in this case, it's tivoli's dsmc that we are dealing with
[2008/07/01 09:22:47] <fsweetser> as long as you follow this when creating status options you should be fine:
[2008/07/01 09:22:48] <fsweetser> http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
[2008/07/01 09:24:41] <mdray> [root@nolvmapps01 ~]# /etc/init.d/nrpe stop
[2008/07/01 09:24:41] <mdray> Shutting down nrpe: [ OK ]
[2008/07/01 09:24:41] <mdray> [root@nolvmapps01 ~]# /etc/init.d/nrpe status
[2008/07/01 09:24:42] <mdray> nrpe is stopped
[2008/07/01 09:24:42] <mdray> [root@nolvmapps01 ~]# echo $?
[2008/07/01 09:24:42] <mdray> 0
[2008/07/01 09:24:44] <Aji-Dahaka> in RHEL, it seems like they have a status function already made
[2008/07/01 09:24:44] <mdray> [root@nolvmapps01 ~]# /etc/init.d/nrpe stop
[2008/07/01 09:24:48] <mdray> Shutting down nrpe: [ OK ]
[2008/07/01 09:24:50] <mdray> [root@nolvmapps01 ~]# /etc/init.d/nrpe status
[2008/07/01 09:24:52] <mdray> nrpe is stopped
[2008/07/01 09:24:54] <mdray> [root@nolvmapps01 ~]# echo $?
[2008/07/01 09:24:56] <mdray> 0
[2008/07/01 09:24:58] <mdray> aji-dahaka: gah, mine returns 0 whatever
[2008/07/01 09:25:00] <mdray> er
[2008/07/01 09:25:02] <mdray> bet i'm popular now :(
[2008/07/01 09:25:04] <mdray> (sorry, stupid irc client)
[2008/07/01 09:25:10] <nico> jamesturnbull: this is ticket n°1385
[2008/07/01 09:26:44] <duritong> #1385
[2008/07/01 09:26:45] <gepetto> duritong: #1385 is http://reductivelabs.com/redmine/issues/show/1385
[2008/07/01 09:27:21] <Aji-Dahaka> now to figure out how to get puppet to subscribe my machine to a RHN channel so that the package section will work properly :)
[2008/07/01 09:31:55] @ fbe_ joined channel #puppet
[2008/07/01 09:33:08] @ jvanzyl joined channel #puppet
[2008/07/01 09:35:24] <duritong> mmcgrath: shouldn't your bug be filed as a feature request?
[2008/07/01 09:35:46] <mmcgrath> duritong: hmmmm. Good question.
[2008/07/01 09:35:55] <duritong> i would say so
[2008/07/01 09:36:04] <duritong> it is a missing language feature
[2008/07/01 09:36:08] <mmcgrath> k, change it then.
[2008/07/01 09:36:19] <mmcgrath> if negation is so fundamental I guess I assumed it was a bug.
[2008/07/01 09:36:43] <duritong> well it is always a big question what is fundamental for a dsl
[2008/07/01 09:37:14] <mmcgrath> <nod>
[2008/07/01 09:38:15] @ fbe__ joined channel #puppet
[2008/07/01 09:41:11] @ Quit: raphink: "Ichthux - Linux for Christians - http://www.ichthux.com"
[2008/07/01 09:44:51] @ cote joined channel #puppet
[2008/07/01 09:45:28] @ Quit: fbe: Read error: 110 (Connection timed out)
[2008/07/01 09:46:42] @ jbrothers joined channel #puppet
[2008/07/01 09:49:46] <gepetto> ::puppet:: Frequently Asked Questions edited by fs @ http://reductivelabs.com/trac/puppet/wiki/FrequentlyAskedQuestions (by fs@wpi.edu)
[2008/07/01 09:51:56] @ raphink joined channel #puppet
[2008/07/01 09:52:06] @ Quit: fbe_: Read error: 110 (Connection timed out)
[2008/07/01 09:55:35] @ lak joined channel #puppet
[2008/07/01 09:55:40] @ ascent joined channel #puppet
[2008/07/01 09:56:23] @ ski98033 joined channel #puppet
[2008/07/01 10:00:08] <Aji-Dahaka> ooh, so is there any sort of framework around having an rpm gpg key installed?
[2008/07/01 10:01:50] @ Quit: teyo:
[2008/07/01 10:07:14] @ brscott joined channel #puppet
[2008/07/01 10:08:15] @ shenson_not_here is now known as shenson
[2008/07/01 10:09:47] <ashp> hey, is lak back yet?
[2008/07/01 10:10:05] <duritong> was yesterday
[2008/07/01 10:11:06] <ashp> i wanted to know how the demo of the gui went!
[2008/07/01 10:11:15] <ashp> and if there's slides or anything I can show my boss
[2008/07/01 10:13:56] @ brscott left channel #puppet ()
[2008/07/01 10:17:20] @ ascent left channel #puppet ()
[2008/07/01 10:18:40] <mdray> what is this gui?
[2008/07/01 10:22:08] @ Quit: pleemans: "Ex-Chat"
[2008/07/01 10:27:16] <lak> ashp: yes, i'm back
[2008/07/01 10:27:34] <lak> i don't have slides yet; all i've really got ATM is a couple of screenshots and a short video
[2008/07/01 10:29:37] <Volcane> lak: that'll do as well :P
[2008/07/01 10:29:54] <lak> i'll have something up by the end of the week
[2008/07/01 10:31:21] @ Quit: DerekW: Read error: 113 (No route to host)
[2008/07/01 10:31:31] <gepetto> ::puppet:: Whos Using Puppet edited by puzzle @ http://reductivelabs.com/trac/puppet/wiki/WhosUsingPuppet (by puppet@puzzle.ch)
[2008/07/01 10:39:05] <windowsrefund> I'm trying to migrate my puppet server to another box am am now seeing problems with the ssl certs. Can anyone point me to a document or article that outlines what needs to be done?
[2008/07/01 10:39:24] <duritong> see topic
[2008/07/01 10:39:34] <duritong> the best thing is to move the certs as well
[2008/07/01 10:39:42] <windowsrefund> ok will read that
[2008/07/01 10:39:44] <windowsrefund> thank you
[2008/07/01 10:39:46] <duritong> or to generate a sub ca
[2008/07/01 10:39:48] <duritong> np
[2008/07/01 10:39:57] @ teyo joined channel #puppet
[2008/07/01 10:39:58] <duritong> maybe it will help you ;)
[2008/07/01 10:41:42] @ Quit: ski98033: "Leaving."
[2008/07/01 10:44:08] <windowsrefund> I'd like to regenerate my ssl certs on the new puppetmaster but am not sure what exactly I need to delete
[2008/07/01 10:44:19] <windowsrefund> the entire /var/lib/puppet/ssl dir?
[2008/07/01 10:44:37] @ Quit: jvanzyl:
[2008/07/01 10:47:47] <tarjei> hmm, I'm trying to find out why some packages are not getting installed when I run puppetd. Is there a way to get more info beond running puppetd --debug?
[2008/07/01 10:48:24] <duritong> which package system are you suing?
[2008/07/01 10:48:40] <tarjei> yum
[2008/07/01 10:48:50] <windowsrefund> ah, think I figured it out
[2008/07/01 10:48:55] <duritong> yum have /var/log/yum.log
[2008/07/01 10:49:46] <tarjei> duritong: hmm, nothing there that can explain it. I get this from puppet: Puppet::Type::Package::ProviderYum: Not suitable: false value
[2008/07/01 10:50:22] <tarjei> the package def is: package {"jpackage-utils": ensure => installed }
[2008/07/01 10:50:33] <duritong> hmmm
[2008/07/01 10:50:37] <duritong> which version?
[2008/07/01 10:50:42] <tarjei> well, I got 3 defs like that in the class
[2008/07/01 10:51:04] <tarjei> duritong: 0.24.4 on Centos 5.1
[2008/07/01 10:51:46] <duritong> can you paste your whole receipe?
[2008/07/01 10:52:01] <duritong> for me it looks more like a problem not related to the package type
[2008/07/01 10:52:26] <tarjei> http://pastebin.com/d1ba58bc8
[2008/07/01 10:52:47] <tarjei> the inc_repo() part needs repackaging :)
[2008/07/01 10:52:58] <tarjei> s/repackaging/refactoring/
[2008/07/01 10:54:05] <tarjei> the jdk and java-1.6.0-sun-compat packages need to be installed at the same time
[2008/07/01 10:54:06] <duritong> ah there is are no brackets after CentOS in the case statement
[2008/07/01 10:54:27] <duritong> s/is//
[2008/07/01 10:54:50] <tarjei> oh, crap, I've removed those
[2008/07/01 10:54:54] <duritong> try to parse your manifest with puppet --parseonly <manifests>
[2008/07/01 10:55:11] <gepetto> ::puppet:: Whos Using Puppet edited by scott@kontera.com @ http://reductivelabs.com/trac/puppet/wiki/WhosUsingPuppet (by scott@kontera.com)
[2008/07/01 10:55:53] <tarjei> duritong: I've updated the pastebin. I removed the case in the source I'm using. I posted an older version by misstake. Sorry about that.
[2008/07/01 10:55:55] <RainDoctor> Is Scott@kontera.com here?
[2008/07/01 10:56:10] <refuseresisted> RainDoctor, yeah that's me
[2008/07/01 10:56:12] @ DerekW joined channel #puppet
[2008/07/01 10:56:17] <RainDoctor> oh ok
[2008/07/01 10:56:23] <RainDoctor> I think i met you in person
[2008/07/01 10:56:31] <RainDoctor> for an interview
[2008/07/01 10:56:31] <RainDoctor> hehe
[2008/07/01 10:56:37] <refuseresisted> oh yeah?
[2008/07/01 10:56:41] <RainDoctor> yeah
[2008/07/01 10:56:55] <refuseresisted> heh
[2008/07/01 10:57:02] <tarjei> duritong: The manifests parses ok.
[2008/07/01 10:57:07] <refuseresisted> how's it going?
[2008/07/01 10:57:12] <RainDoctor> things are okay
[2008/07/01 10:57:22] <RainDoctor> just hot here on the east coast
[2008/07/01 10:57:31] <refuseresisted> wish it was here :(
[2008/07/01 10:57:44] <RainDoctor> heh
[2008/07/01 10:57:48] <Volcane> unbearably hot here
[2008/07/01 10:57:51] <Volcane> (london)
[2008/07/01 10:58:04] <refuseresisted> that's impossible, isn't it?
[2008/07/01 10:58:07] <duritong> tarjei: I see the same problem in the pastebin
[2008/07/01 10:58:17] <Volcane> unbearably for londoners :)
[2008/07/01 10:58:26] <Volcane> 28 celcius
[2008/07/01 10:58:27] <mdray> volcane: heh, where in london are you?
[2008/07/01 10:58:33] <Volcane> mdray: blackheath
[2008/07/01 10:58:55] * Volcane didnt bother going to the office today, too hot there, house is better
[2008/07/01 10:58:56] <gepetto> ::puppet:: Whos Using Puppet edited by scott@kontera.com @ http://reductivelabs.com/trac/puppet/wiki/WhosUsingPuppet (by scott@kontera.com)
[2008/07/01 10:59:03] <tarjei> duritong: I think I've found the problem: err: Could not retrieve catalog: Puppet::Parser::AST::Resource failed with error ArgumentError: Duplicate definition: Inc_repo[jpackage] is already defined in file /etc/puppet/manifests/classes/java.pp at line 3; cannot redefine at /etc/puppet/manifests/classes/jetty.pp:6 on node skryme.scanmine.com
[2008/07/01 10:59:08] <mdray> volcane: ah!
[2008/07/01 10:59:17] <Volcane> mdray: usually though i work in carnaby
[2008/07/01 10:59:24] @ Quit: roald: "KVIrc 3.4.0 Virgo http://www.kvirc.net/"
[2008/07/01 10:59:37] <tarjei> hmm, how can I say that two classes should depend on a define?
[2008/07/01 10:59:38] <mdray> volcane: oh, cool
[2008/07/01 10:59:44] <Volcane> mdray: u?
[2008/07/01 10:59:45] <mdray> volcane: me: shepherd's bush
[2008/07/01 10:59:59] <tarjei> duritong: thank you for helping me btw.
[2008/07/01 11:00:07] <Volcane> mdray: kewl kewl
[2008/07/01 11:00:34] <duritong> np
[2008/07/01 11:04:05] <Volcane> mdray: we need more puppet ppl in london so we can stop feeling left out by all these b'tards who get to go to the meets in teh states :P
[2008/07/01 11:04:18] <mdray> volcane: too right!
[2008/07/01 11:06:58] * Volcane can prolly get 3 or 4 interested ppl together though, maybe we should arrange some form of talk at the gllug
[2008/07/01 11:08:45] @ Quit: shadowvice: Read error: 104 (Connection reset by peer)
[2008/07/01 11:10:06] <refuseresisted> tarjei, create a virtual resource and realize it in the class that needs it maybe?
[2008/07/01 11:14:57] <Disconnect> http://forums.thedailywtf.com/forums/p/9130/171736.aspx#171736
[2008/07/01 11:18:28] @ markl_ joined channel #puppet
[2008/07/01 11:18:40] <tarjei> refuseresisted: virtual resource?
[2008/07/01 11:18:56] @ _zsh joined channel #puppet
[2008/07/01 11:19:19] <tarjei> you see, I'm a bit of a newbie so if you got a url where I can find more info that would be great
[2008/07/01 11:19:25] <refuseresisted> tarjei, http://reductivelabs.com/trac/puppet/wiki/VirtualResources
[2008/07/01 11:19:36] @ shake-n-bake joined channel #puppet
[2008/07/01 11:20:03] @ martha joined channel #puppet
[2008/07/01 11:20:09] @ Quit: kenvandine: "Ex-Chat"
[2008/07/01 11:21:36] <tarjei> refuseresisted: thanks
[2008/07/01 11:26:44] @ Quit: shake-n-bake:
[2008/07/01 11:27:31] @ shadowvice joined channel #puppet
[2008/07/01 11:32:44] <Aji-Dahaka> on one of my puppet machines, I start puppetd, say with puppetd --verbose, it returns immediately, outputs nothing, and stays running
[2008/07/01 11:33:33] @ ski98033 joined channel #puppet
[2008/07/01 11:33:48] <Aji-Dahaka> [root@ivysaur puppet]# puppetd --verbose --no-daemonize
[2008/07/01 11:33:48] <Aji-Dahaka> [root@ivysaur puppet]# ps auxw | grep puppetd
[2008/07/01 11:33:48] <Aji-Dahaka> root 6583 3.7 5.2 41800 27752 ? Ssl 10:33 0:00 /usr/bin/ruby /usr/sbin/puppetd --verbose --no-daemonize
[2008/07/01 11:35:00] <lak> anyone around here getting the problem with the master leaking connections and/or filehandlers?
[2008/07/01 11:35:15] <Aji-Dahaka> ooh, --test actually stays in the foreground and prints stuff for me
[2008/07/01 11:36:40] <shadowvice> Is there a good cron job example Recipe out there? I could have sworn I saw one on the sight somewhere
[2008/07/01 11:36:48] <fsweetser> lak: yep
[2008/07/01 11:36:50] <f3ew> there's a cron type
[2008/07/01 11:37:13] <lak> fsweetser: how quickly do you see the problem? essentially immediately, or is it over time?
[2008/07/01 11:37:20] <fsweetser> over time
[2008/07/01 11:37:32] <lak> so the first run, say, doesn't leak anything?
[2008/07/01 11:37:39] <fsweetser> right
[2008/07/01 11:37:47] <fsweetser> the soonest I've caught it is after a couple of hours
[2008/07/01 11:38:10] <lak> :/
[2008/07/01 11:38:16] <fsweetser> yeah...
[2008/07/01 11:38:31] <shadowvice> that f3ew: Ill search under that :D
[2008/07/01 11:38:52] <ashp> lak: hey, did you guys do any slides/presentation stuff about the gui for velocity?
[2008/07/01 11:39:00] <lak> i've no idea how to debug it, if i can't reproduce it
[2008/07/01 11:39:06] <lak> ashp: i did a short video
[2008/07/01 11:39:18] <lak> a screencast of interacting with the site
[2008/07/01 11:39:34] <fsweetser> an additional data point - I ran for about 24 hours with storedconfigs off (due to the ruby segfault bug) and didn't see the problem at all
[2008/07/01 11:39:53] <lak> but you said you saw it before, even with it off, right?
[2008/07/01 11:40:33] <fsweetser> I *thought* so, but after this last results I could be wrong
[2008/07/01 11:40:35] <ashp> lak: ohhh, awesome, you got it for download anywhere?
[2008/07/01 11:40:47] <ashp> I'm looking to prime my boss ready for the budget as that's due to start this week
[2008/07/01 11:40:52] <lak> ah
[2008/07/01 11:41:21] <fsweetser> does it make sense that puppet wouldn't be opening rails.log if rails isn't installed and storeconfigs is off?
[2008/07/01 11:41:39] <lak> i would certainly expect it not to open that file if storeconfigs is off
[2008/07/01 11:42:12] <fsweetser> that would be consistent - IIRC, the rails logfile was the worst identifiable offender for leaking
[2008/07/01 11:43:58] <ashp> Hmm, I really need to write a fact for this, but it's going to be tricky
[2008/07/01 11:44:27] <ashp> depending on the network a machine is in, I need to pick different mountpoints for /home, or return nil in some cases if it shouldn't attempt to mount it
[2008/07/01 11:44:36] <fsweetser> okay, I just confirmed that the rails.log file is only opened if storeconf is enabled, and it's opened on a client connection, not startup
[2008/07/01 11:44:40] <ashp> i want to move the attempted mount into my users/ module as right now i just have a define in every single node def, but that's annoying
[2008/07/01 11:45:23] <lak> fsweetser: and you're seeing that open file leak?
[2008/07/01 11:45:28] <lak> if storeconfigs is enabled, i mean
[2008/07/01 11:45:39] <fsweetser> I believe so, yes
[2008/07/01 11:47:30] <lak> i can't get it to leak; i'll run 100 configs against it and see what happens
[2008/07/01 11:47:34] <lak> 10 didn't show a leak
[2008/07/01 11:47:48] <fsweetser> I'm up to three open instances of rails.log
[2008/07/01 11:47:56] <fsweetser> bouncing clients against it quickly
[2008/07/01 11:48:27] <fsweetser> rails gem 1.2.6 if that makes a difference
[2008/07/01 11:49:11] <lak> multiple concurrent connections is what appears to make the difference :/
[2008/07/01 11:50:07] <fsweetser> yay concurrency bugs :P
[2008/07/01 11:53:39] <fsweetser> I'll be in and out, but please let me know if there's anything I can do to help track the bug down, or test a fix
[2008/07/01 11:55:48] <lak> ok; thanks
[2008/07/01 11:55:53] @ Quit: teyo: Read error: 113 (No route to host)
[2008/07/01 11:56:51] @ teyo joined channel #puppet
[2008/07/01 11:57:07] <lak> fsweetser: hmm, the filehandles and extra db connections got reaped on the next, non-concurrent run
[2008/07/01 11:59:44] <fsweetser> they don't appear to here
[2008/07/01 12:00:34] <fsweetser> in fact, poking multiple concurrent clients at puppetmaster, I appear to have gotten it wedged quite quickly =)
[2008/07/01 12:02:06] <lak> where "wedged" means "non-functional"?
[2008/07/01 12:02:10] <fsweetser> correct
[2008/07/01 12:02:25] <lak> how many concurrent clients are we talking about, and what were they doing?
[2008/07/01 12:02:27] <fsweetser> a TCP stream gets establshed, but the client just reports "Configuration retreival timed out"
[2008/07/01 12:02:35] <fsweetser> no more than two at a time
[2008/07/01 12:02:58] <fsweetser> nothing incredibly complex, maybe a dozen or so files
[2008/07/01 12:03:09] @ freiheit joined channel #puppet
[2008/07/01 12:03:12] <lak> ok
[2008/07/01 12:03:44] <Disconnect> me too. and splay=true didn't help because 3 of the 5 picked the exact same (20 minute) delay..
[2008/07/01 12:03:44] <fsweetser> compilation times < 5 seconds, catalog run between 10 to 15 seconds
[2008/07/01 12:03:57] <Disconnect> exact same within-a-couple-of-seconds
[2008/07/01 12:04:18] <fsweetser> sounds like you need a better random number generator =)
[2008/07/01 12:05:45] <fsweetser> oh, and mysql for catalog store
[2008/07/01 12:06:39] <jbooth> I did the split the fileserver off from the config and that helped me quite a bit.
[2008/07/01 12:06:55] <jbooth> I also put the fileservers all behind apache, load balanced. That was good too.
[2008/07/01 12:14:54] * Disconnect is using mysql ftr
[2008/07/01 12:15:37] <shadowvice> Im checking out the Type reference for cron (http://reductivelabs.com/trac/puppet/wiki/TypeReference#cron) and it doesnt mention if you can define what day of the week or any other parms. Are those listed somewhere or is it strictly hour and minute?
[2008/07/01 12:16:33] @ Quit: ski98033: Read error: 110 (Connection timed out)
[2008/07/01 12:17:34] <Volcane> shadowvice: its right there, scroll down a bit, look for the purple headings, the ones it shows are just samples
[2008/07/01 12:17:58] <Volcane> look for monthday, month, weekday etc
[2008/07/01 12:18:11] <shadowvice> Volcane: {Must think outside the pretty box} thanks
[2008/07/01 12:18:16] <Volcane> :)
[2008/07/01 12:18:41] <shadowvice> Apparently you can do these cool things with the new browsers like scroll down and stuff :D
[2008/07/01 12:18:50] @ Quit: Demosthenes: "leaving"
[2008/07/01 12:20:49] <Disconnect> you can even search for things like "monday" :)
[2008/07/01 12:21:48] <mdray> laters
[2008/07/01 12:21:50] @ Quit: mdray: "Leaving"
[2008/07/01 12:24:55] <fsweetser> lak: is 0.24.4 still incompatible with rails 2.x?
[2008/07/01 12:25:07] <lak> no, shouldn't be
[2008/07/01 12:25:34] <fsweetser> okay, I'll give that a try and see if it makes a difference...
[2008/07/01 12:25:51] <lak> ok
[2008/07/01 12:27:44] * shadowvice is humbled :D
[2008/07/01 12:30:41] @ Quit: DerekW: "Leaving"
[2008/07/01 12:31:28] @ Quit: \ask: Read error: 110 (Connection timed out)
[2008/07/01 12:31:45] * Volcane is really having a tough time with modules and includes etc, apache::common include apache::modules and a ton of other stuff
[2008/07/01 12:31:53] <Volcane> all the others get included just not apache::modules
[2008/07/01 12:31:54] <Volcane> sigh
[2008/07/01 12:32:14] @ jvanzyl joined channel #puppet
[2008/07/01 12:32:33] <holoway> Volcane: are you doing auto-loading, or do you have a specific import statement for each?
[2008/07/01 12:33:25] <Volcane> auto, which is prolly where it hits the fan, but its annoying cos other classes under apache:: gets included fine
[2008/07/01 12:34:06] <holoway> might be a bug in the auto-loading code
[2008/07/01 12:34:17] <holoway> think you can isolate a test case?
[2008/07/01 12:34:41] <Volcane> nah, if i restart the master it will be fine
[2008/07/01 12:34:51] <Volcane> I've seen countless autoload issues that i cannot fathom how to repeat
[2008/07/01 12:35:05] <Volcane> make change, run puppetd - get compile exception, run puppetd again compiles fine
[2008/07/01 12:35:08] <Volcane> totally repeatable
[2008/07/01 12:35:20] <Volcane> every single time, first run after a change gives a compile error with classes not found
[2008/07/01 12:35:28] <Volcane> but i cant get the same to happen elsewhere
[2008/07/01 12:36:47] @ catdude joined channel #puppet
[2008/07/01 12:38:30] <holoway> Volcane: do we have a bug to track against?
[2008/07/01 12:38:47] <Volcane> if i cant reproduce it anywhere else, then its no doubt something local
[2008/07/01 12:39:03] <holoway> I have a giant import file that gets built dynamically, from the pre-autoload days
[2008/07/01 12:39:10] <Volcane> heh
[2008/07/01 12:39:18] <holoway> so I don't notice
[2008/07/01 12:39:22] <holoway> but that sounds like quite a pain
[2008/07/01 12:39:37] <Volcane> yeah, and i share a puppetmaster with other business units
[2008/07/01 12:39:45] <Volcane> restarting it is frowned on quite a lot :)
[2008/07/01 12:40:21] @ flakrat joined channel #puppet
[2008/07/01 12:40:56] <lak> Volcane: there are issues in 0.24.4 with loading some files from disk, although 99.9% of the time you get good logs about it on the server
[2008/07/01 12:41:30] <Volcane> Jul 1 18:40:00 repos1 puppetmasterd[13581]: Compiled configuration for gt-web001.....com in 1.42 seconds
[2008/07/01 12:41:33] <Volcane> is all i get :(
[2008/07/01 12:44:31] <tarjei> q: How can I manipulate the $servername?
[2008/07/01 12:44:46] <lak> Volcane: are you getting an exception because the file isn't loaded, or what?
[2008/07/01 12:45:20] <Volcane> lak: so i include apache::common which pulls in all sorts, many things under apache::* this one is all thats not being loaded - so nothing defined in it is happening
[2008/07/01 12:45:27] <Volcane> lak: i just restarted the master, sorted now
[2008/07/01 12:45:58] <lak> but... you're including a class and it's either loading that class or throwing an error
[2008/07/01 12:46:01] <Volcane> lak: does file timestamps have anything to do with how the master determine new/freshness of config files?
[2008/07/01 12:46:08] <lak> there isn't a "can't find class but don't throw error" problem
[2008/07/01 12:46:11] <lak> yes
[2008/07/01 12:46:18] @ Quit: fbe__: Read error: 110 (Connection timed out)
[2008/07/01 12:46:38] <Volcane> lak: no such problems, just doesnt show up in localconfig.yaml while others included in apache::common does...but i think this and other issues is down to timestamps
[2008/07/01 12:46:42] <lak> puppet uses the file's mtime (or ctime?) to determine if it's changed and thus if it should be reloaded
[2008/07/01 12:46:46] <Volcane> lak: so why i havnt filed bugs
[2008/07/01 12:46:49] @ tmz_ joined channel #puppet
[2008/07/01 12:46:56] <Volcane> cos we have idiotic vmware machines with skewed times
[2008/07/01 12:47:02] <lak> that's not an autoloading bug, then, it's something else
[2008/07/01 12:47:03] <Volcane> and different timezones and what else
[2008/07/01 12:47:06] <lak> dunno *what* else, but...
[2008/07/01 12:47:12] <lak> it should only be relative to the server
[2008/07/01 12:47:29] <Volcane> nods, its odd for sure
[2008/07/01 12:47:29] @ tmz__ joined channel #puppet
[2008/07/01 12:47:59] <lak> are you starting with an empty file, loading that, then adding code, and the new code isn't being seen?
[2008/07/01 12:48:01] <lak> or what?
[2008/07/01 12:48:09] <lak> can you provide a clearer idea what actual sequence causes problems?
[2008/07/01 12:48:54] <Volcane> http://pastie.org/225649
[2008/07/01 12:49:02] <Volcane> files not changed (till now when i mucked about to try and fix it)
[2008/07/01 12:49:23] <Volcane> i know this all used to work, cos the stuff in gtwww::apachemodules have happened at least once at some point
[2008/07/01 12:49:33] <Volcane> but now i made a change to apachemodules.pp and it didnt show up on the machines
[2008/07/01 12:49:52] <Volcane> search in localconfig.yaml on the machines for mention of gtwww::apachemodules, nada, but others in that class are there
[2008/07/01 12:49:55] <Volcane> uber odd
[2008/07/01 12:49:58] <Volcane> restart master, sorted
[2008/07/01 12:50:30] @ pleemans joined channel #puppet
[2008/07/01 12:50:47] <Volcane> 0.2.24 master anc client
[2008/07/01 12:51:47] <Volcane> I'd file a bug, but its totally unreproducable and i cant find out a series of events to cause it, no doubt cos we have like 3 complete different businesses talking to one master, i dont have a view on all that happens to the poor thing
[2008/07/01 12:52:04] <Volcane> so suffering from tunnel vision on identifying the problem really
[2008/07/01 12:53:51] <lak> ok
[2008/07/01 12:55:51] <Volcane> i am pretty sure its timestamp related though, looking at root shell history, ppls been touching files
[2008/07/01 12:56:05] <Volcane> so its possible times will move backwards at times
[2008/07/01 12:56:11] <Volcane> on some of the files
[2008/07/01 12:57:55] <Disconnect> puppet is driving me nuts.. its seriously not an error for 2 modules to both say "make sure this package is installed"....
[2008/07/01 12:58:18] <Disconnect> (its an error for one to say "install!" and one to say "uninstall!" or even - conceivably - for one to say "install!" and one to say "force this version"...)
[2008/07/01 12:58:21] @ pasha joined channel #puppet
[2008/07/01 12:58:29] <Volcane> Disconnect: you're trying to do package{"blah" ...} twice on the same box?
[2008/07/01 12:58:47] <holoway> Disconnect: in theory, it's an error because you are defining the same resource twice
[2008/07/01 12:58:52] <holoway> move that package into a class and include it
[2008/07/01 12:59:07] <Disconnect> apache and tomcat both need libwww-perl .. but they aren't necessarily both installed on every box (in fact, they generally aren't)
[2008/07/01 12:59:33] <pasha> can i assign a bunch of node names to a vriable and then use that varible like this "node $genservers {...}
[2008/07/01 12:59:37] <holoway> yep - so have a class libwww-perl { package { ... } }
[2008/07/01 12:59:48] <holoway> and include libwww-perl in both tomcat and apache
[2008/07/01 13:00:19] <Disconnect> i didn't say there was no workaround, i just said it shouldn't be an error...
[2008/07/01 13:00:49] <pasha> i just want to keep things more clean this way
[2008/07/01 13:01:09] <pasha> have all the node names in a variale and the pass it to the "node" argument
[2008/07/01 13:01:16] <kjetilho> Disconnect: so you want lots of code in Puppet to handle your special case instead?
[2008/07/01 13:01:20] @ Quit: tmz: Read error: 113 (No route to host)
[2008/07/01 13:01:56] <Volcane> holoway: hmm, can you include the same class twice in the manifest on one box?
[2008/07/01 13:02:17] @ Quit: tmz__: "leaving"
[2008/07/01 13:02:26] <pasha> will this work http://pastie.org/225654
[2008/07/01 13:02:42] <Disconnect> kjetilho: in most of the world a requirement ("package foo is installed") is different from a resource ("this file exists with contents X") .. show me a system other than puppet where its a fatal error to say "install package foo" twice...
[2008/07/01 13:03:47] <holoway> Volcane: yep
[2008/07/01 13:03:49] @ Quit: tmz_: "Lost terminal"
[2008/07/01 13:04:13] @ tmz joined channel #puppet
[2008/07/01 13:04:16] <holoway> Disconnect: so, I'm not sure that I disagree with you
[2008/07/01 13:04:19] <holoway> but the counter argument is pretty clear
[2008/07/01 13:04:33] <Volcane> holoway: funky, didnt try but good to know!
[2008/07/01 13:04:35] @ Quit: tmz: Client Quit
[2008/07/01 13:04:47] @ tmz joined channel #puppet
[2008/07/01 13:05:14] <holoway> which is that having two resources of the same name being managed on the same box is a run-time error, because it's impossible to choose between them when it comes time to apply state
[2008/07/01 13:05:18] <ashp> can't you just use the virtual resource thingy and realize it in both modules?
[2008/07/01 13:05:19] @ Quit: tmz: Client Quit
[2008/07/01 13:05:21] <holoway> and even if the state is the same
[2008/07/01 13:05:31] @ tmz joined channel #puppet
[2008/07/01 13:05:38] <holoway> you have no way to know that
[2008/07/01 13:05:48] <holoway> without a bit of extra elbow grease
[2008/07/01 13:06:26] <ashp> it is awkward because I agree, I should be able to include a package statement in two modules and have it work just fine
[2008/07/01 13:06:30] <ashp> that's what i'd 'expect'
[2008/07/01 13:06:46] @ Quit: strerror_work:
[2008/07/01 13:06:55] <holoway> ashp: yeah, I go back and forth on it
[2008/07/01 13:07:14] <holoway> I mean, if you want a package installed, then a command run, then the package uninstalled later
[2008/07/01 13:07:19] <holoway> in one puppet pass
[2008/07/01 13:07:30] <holoway> (which is a crazy example, but still)
[2008/07/01 13:07:38] <Disconnect> i'd totally understand if one had a version requirement (even 'latest') and one didn't.. or any other "minor" difference.. but the simple case of "foo requires bar" and "fum requires bar" is how the underlying packaging systems work, so least-surprise says puppet should be similar..
[2008/07/01 13:08:04] <Disconnect> i understand its the difference between runtime-checking ("is bar installed?") and the compiled stuff puppet uses, but still...
[2008/07/01 13:08:17] <holoway> although, you could catch it at compile time
[2008/07/01 13:08:51] <Disconnect> that'd at least result in useful logs on the puppetmaster :)
[2008/07/01 13:08:56] <Disconnect> since thats where the problem is
[2008/07/01 13:09:29] <Disconnect> (in general it'd be nice if a client told the puppetmaster "I'm ignoring your config cuz i didn't like it")
[2008/07/01 13:09:49] <holoway> so, the thing is
[2008/07/01 13:09:57] <holoway> that there is a DRYness at work here too
[2008/07/01 13:10:08] <holoway> which is that you shouldn't say package { "foo": } in every place you need it
[2008/07/01 13:10:29] <holoway> when you can package that action up into an encapsulated idea
[2008/07/01 13:10:36] <holoway> "make sure foo is installed"
[2008/07/01 13:10:50] <holoway> because what if installing foo suddenly means having another file added post package install?
[2008/07/01 13:10:59] <holoway> now you have to refactor every place
[2008/07/01 13:11:22] <holoway> whereas if you stuck it in a class, you've got the abstraction dialed in at the right level, so that beomes a trivial action
[2008/07/01 13:11:25] @ Quit: tmz: "leaving"
[2008/07/01 13:11:35] <holoway> I'm not sure that means you're wrong
[2008/07/01 13:11:39] <holoway> :)
[2008/07/01 13:12:04] @ tmz joined channel #puppet
[2008/07/01 13:13:31] <Disconnect> ..the right level is hardly ever one that makes it harder to understand or use, or removes it farther from the existing underlying methodology :) .. thats a great case for allowing both methods, but the common case (for multiple requires like this) seems to be a simple "foo needs bar"..
[2008/07/01 13:14:04] <Disconnect> it also makes it -very- hard to share modules
[2008/07/01 13:14:21] <Disconnect> "here's a simple module, and here's classes for all 15 packages it needs...."
[2008/07/01 13:14:28] <holoway> Disconnect: that's actually the right thing
[2008/07/01 13:14:47] <holoway> the tricky part is getting people to rely on the class level abstractions
[2008/07/01 13:14:49] <holoway> instead of the internals
[2008/07/01 13:14:55] <Disconnect> that abstraction isn't the right thing, its the puppet thing.. there's a big difference :)
[2008/07/01 13:14:59] <holoway> if we're solving the distribution problem
[2008/07/01 13:15:36] <holoway> ie: package { "libwww-data": } is the wrong level of requirement in a distributable package.. the high level concept is "make libwww-data available"
[2008/07/01 13:15:45] <holoway> in general, though, I think you're right
[2008/07/01 13:16:04] <holoway> TMTOWTDI is probably to be encouraged
[2008/07/01 13:17:00] <kjetilho> I disagree, TMTOWTDI just makes stuff harder to understand for both automatic tools and humans
[2008/07/01 13:17:10] <Disconnect> there are really two use-cases for package I think. "I need {foo} and I need to configure it strangely" .. abstract it. (and let package { "foo": } error at that point, incompatible) .. and the "I just need {foo}" case, which should be ok so long as its the simple "install foo" config.
[2008/07/01 13:17:19] <kjetilho> especially for a declarative language as Puppet
[2008/07/01 13:17:38] <kjetilho> s/as/like/
[2008/07/01 13:18:07] * Volcane 's just one person writing manifests at this client and always using class level depends is a pain, hate to imagine at a bigger team doing it
[2008/07/01 13:18:09] <holoway> kjetilho: clearly, lak's intent was clear here, and he would agree with you, I think
[2008/07/01 13:18:22] <Volcane> previous puppet project were like 8 months, 15 man team with 2 cycling in and out of the puppet stream
[2008/07/01 13:18:26] <holoway> Volcane: it's the only way to survive -- rock modules for everything, lots of small classes
[2008/07/01 13:18:38] <Volcane> impossible to stay in cohesion in that enviornment
[2008/07/01 13:18:43] <Volcane> holoway: yeah i agree totally
[2008/07/01 13:18:55] <holoway> puppet manifests start to look like well formatted code in any other language
[2008/07/01 13:19:01] <holoway> smaller, more digestable chunks that don't repeat
[2008/07/01 13:19:12] * Volcane doesnt have a single class that isnt in a module and not a single file not served from inside a module
[2008/07/01 13:19:40] <Volcane> previous place, maddening amount of classes
[2008/07/01 13:19:49] <Volcane> (puppet pre modules existed)
[2008/07/01 13:20:04] <holoway> I think what Disconnect really wants is a less declarative->self assembling order->action at a distance setup
[2008/07/01 13:20:21] <holoway> "If I say package { "foo": } do that, if I contradict myself later, so be it"
[2008/07/01 13:20:27] <Disconnect> ..not at all
[2008/07/01 13:21:09] <holoway> Disconnect: but if you can't contradict yourself, then there really is no appreciable benefit to saying "package { "foo": }" twice (when include foo would do just as well)
[2008/07/01 13:21:17] <Disconnect> if I contradict myself later, explode. I even stated as much specifically.. but I should be allowed to say "I need foo" as many times as I want, so long as they are the simple case ("package { "foo": ensure=>installed }" and nothing else)
[2008/07/01 13:21:28] <Volcane> holoway: yes, u need to be able to say package foo with different params
[2008/07/01 13:21:37] <holoway> Volcane: in one run?
[2008/07/01 13:21:48] <Volcane> holoway: package foo > 0.1 and package foo 0.2
[2008/07/01 13:21:55] <holoway> ah, but you can do that already
[2008/07/01 13:22:06] <holoway> package { "foo-02": name => foo } etc
[2008/07/01 13:22:08] <Volcane> holoway: i know you cant now say > 0.1, its contrived but kind of a valid example
[2008/07/01 13:22:17] <holoway> we do that for gems
[2008/07/01 13:22:47] * Disconnect isn't going as far as Volcane..
[2008/07/01 13:22:56] <holoway> Disconnect: yeah, I think being able to do it sometimes and not others is a recipe for disaster, given puppets fundamental architectural decisions
[2008/07/01 13:23:05] <Volcane> yeah, i keep it simple
[2008/07/01 13:23:10] <Volcane> i wouldnt actually do what i said :P
[2008/07/01 13:23:17] <holoway> and in the case where the package is actually different, as in Volcane's case
[2008/07/01 13:23:22] <holoway> that's already supported
[2008/07/01 13:23:33] <holoway> (or can be quite easily with a definition and some pixie dust)
[2008/07/01 13:24:02] <Disconnect> it'd be great if package depends were handled that way (since thats basically what the package type is..) but at the core, being able to say "package foo" without having to grep for it all over (or maintain 500-odd classes containing nothing but "package { "foo": }" ...) is a win..
[2008/07/01 13:24:48] @ Ol_ joined channel #puppet
[2008/07/01 13:25:01] <Disconnect> and in point of fact, its not "include apache" .. its "include packagehandler-apache" or some such, since lots of packages have common names that are likely to be used by "real" classes and modules..
[2008/07/01 13:25:14] * Volcane looks at the pile of unfiled invoices and decides to go play with the accounts package, sigh
[2008/07/01 13:25:30] <kjetilho> Disconnect: are you copying the entire dependency tree of your distro into your Puppet config?
[2008/07/01 13:27:17] <Disconnect> no. but so far 4 basic system types (2 test, 1 production, 1 headed for prod) I just counted about 60 'simple' package lines (quick grep, prolly some overlap)
[2008/07/01 13:28:02] <kjetilho> IMHO the right place to fix this is in your package repository. even for local apps, which can be either packaged, or more easily, depend on a single meta package with the true dependencies.
[2008/07/01 13:28:20] <Disconnect> several of them are already grouped into logical units (eg the 5 packages for ldap authentication are unlikely to ever be used alone) but most are independent
[2008/07/01 13:28:24] @ e^ipi left channel #puppet ()
[2008/07/01 13:29:42] <holoway> Disconnect: this is a classic code-refactoring problem
[2008/07/01 13:29:50] <Disconnect> other than a libwww-perl class, where do you think it should be so that tomcat and apache can both get it without forcing everyone to install it?
[2008/07/01 13:30:24] <Volcane> www::common and tomcat, apache both require Class["www::common"]
[2008/07/01 13:30:28] <holoway> that's the only place it should be, in it's own class that gets included from anywhere that needs it
[2008/07/01 13:30:54] <holoway> otherwise, what happens when you need it for a server that isn't a web server?
[2008/07/01 13:31:02] * Volcane didnt know about including the same class twice though, this will simplify my manifests a bit
[2008/07/01 13:31:13] <holoway> I'm not so crazy as to do this for everything up front
[2008/07/01 13:31:18] <holoway> but I refactor that way all the time
[2008/07/01 13:31:29] <Volcane> yeah
[2008/07/01 13:32:08] @ ski98033 joined channel #puppet
[2008/07/01 13:33:09] <Disconnect> getting package-level dependency granularity by exploding each package into it's own class doesn't seem reasonable.. (and in the end, with only a few exceptions, thats what i'm hearing, at least for our setup.)
[2008/07/01 13:33:57] <Disconnect> the packages that travel together have already been broken out for the most part.. so its really gonna be individual entries
[2008/07/01 13:34:09] <Volcane> i pop the lot into a common class that i dont mind being everywhere and just include it, with Package[...] requires, and if i need that level of abstraction i refactor that package out at that point
[2008/07/01 13:34:36] <Volcane> prolly not ideal, but too much mucking about otherwise
[2008/07/01 13:38:02] <holoway> http://pastie.org/225671
[2008/07/01 13:38:48] <Volcane> holoway: sweet, donno why i never tried including the same class twice, prolly just figured it wont work!
[2008/07/01 13:39:17] <Disconnect> i think the problem is treating a package the same as a file or anything else in puppet, when in reality, its a lot more like requires=> .. you can 'requires' the same resource a dozen times without issue because its a dependency, not a resource (file, service, ..)
[2008/07/01 13:39:33] <Disconnect> if you have to justify it by saying "and in the future, you'll change platforms" its kind of a stretch :)
[2008/07/01 13:39:53] @ _zsh_ joined channel #puppet
[2008/07/01 13:39:55] <Disconnect> i think that if i have to change platforms, renaming libwww-perl (with sed) is the least of my worries
[2008/07/01 13:40:09] <Volcane> Disconnect: many of us runs the same stuff on several platforms sadly :(
[2008/07/01 13:40:13] <holoway> Disconnect: you can require=> a resource multiple times because it's a reference to a single canonical resource
[2008/07/01 13:40:24] <holoway> if you allow more than one, which do you mean?
[2008/07/01 13:40:42] <holoway> (now, mind you, I'm the guy who thinks having to specify dependencies by hand sucks)
[2008/07/01 13:41:28] @ Quit: madduck: kubrick.freenode.net irc.freenode.net
[2008/07/01 13:41:30] @ Quit: _zsh: kubrick.freenode.net irc.freenode.net
[2008/07/01 13:41:32] @ Quit: ricky: kubrick.freenode.net irc.freenode.net
[2008/07/01 13:41:35] @ Quit: lefant: kubrick.freenode.net irc.freenode.net
[2008/07/01 13:41:46] @ _zsh_ is now known as _zsh
[2008/07/01 13:41:48] <Disconnect> you can only have a package installed once.. Volcane was arguing for the complex case ("i need ver >1, you need any ver, he needs <3, so install 2...") if you limit to the simple case (equiv to "package { foo: ensure=>installed }" ..) then there is no "which one"
[2008/07/01 13:42:02] <holoway> Disconnect: logically there totally is
[2008/07/01 13:42:12] <Volcane> Disconnect: i wasnt suggesting installing 2 packages in that case
[2008/07/01 13:42:20] <holoway> it's not the same thing, in terms of resource modeling
[2008/07/01 13:42:23] <Volcane> Disconnect: i was suggesting one package install, that would satisfy both requirements
[2008/07/01 13:42:34] <Disconnect> Volcane: ...and 2 comes between 1 and 3 last I checked :)
[2008/07/01 13:42:40] @ randybias joined channel #puppet
[2008/07/01 13:42:41] @ ricky joined channel #puppet
[2008/07/01 13:42:54] <Volcane> no, package{"foo"} should aways be one install of foo
[2008/07/01 13:43:14] <Volcane> but if several time requires a resource called foo with slightly different requirements, thats should be ok
[2008/07/01 13:43:15] @ Quit: _zsh: Read error: 104 (Connection reset by peer)
[2008/07/01 13:43:23] <Volcane> assuming it can be satisfied, ie, dont require < 10 and > 12
[2008/07/01 13:44:00] <Volcane> but requiring > 1 and > 2 should be doable
[2008/07/01 13:44:09] <Disconnect> ...right. which is what i described above. v2 meets 'i' (>1) and 'he' (<3) ... or are you doing math differently over there? :)
[2008/07/01 13:44:15] @ lefant_ joined channel #puppet
[2008/07/01 13:44:18] @ madduck_ joined channel #puppet
[2008/07/01 13:44:19] @ madduck joined channel #puppet
[2008/07/01 13:44:37] @ Quit: Omahn: Read error: 104 (Connection reset by peer)
[2008/07/01 13:45:01] <holoway> Disconnect: at any rate, I think we're talking around each other
[2008/07/01 13:45:44] <Disconnect> holoway: a package dependency is just that - its a dependency. right now in puppet its possible for multiple places to say they depend on the same resource, unless that resource is a package.
[2008/07/01 13:45:49] @ Quit: catdude: Read error: 104 (Connection reset by peer)
[2008/07/01 13:47:05] @ catdude joined channel #puppet
[2008/07/01 13:47:35] <holoway> Disconnect: that's beacuse there is a canonical idea of a resource
[2008/07/01 13:47:42] <holoway> and the language is declarative
[2008/07/01 13:47:49] <holoway> "x should be y"
[2008/07/01 13:47:59] <holoway> and it's up to the puppet client to make it so
[2008/07/01 13:48:29] <holoway> I gotta stop going around about this
[2008/07/01 13:48:58] * Volcane 's given up already :P
[2008/07/01 13:49:03] <holoway> but in the high level map of the puppet universe, the idea of a resource as a single defined entity is a big deal
[2008/07/01 13:49:15] <holoway> and dependencies work because of that singleton idea
[2008/07/01 13:49:17] @ Omahn joined channel #puppet
[2008/07/01 13:49:31] <holoway> you can't break them apart without doing a fairly significant bit of harm to the model
[2008/07/01 13:49:48] <holoway> (now, whether it should be harmed or not, I'll let you argue when you file the feature/bug ticket)
[2008/07/01 13:49:51] <holoway> :)
[2008/07/01 13:55:23] @ Quit: madduck: No route to host
[2008/07/01 13:58:40] * randybias has no comment
[2008/07/01 14:06:10] @ Quit: pleemans: "Ex-Chat"
[2008/07/01 14:09:05] <shadowvice> hey is there a book out for puppet yet?
[2008/07/01 14:10:00] @ aelizondo joined channel #puppet
[2008/07/01 14:10:36] @ plathrop joined channel #puppet
[2008/07/01 14:11:53] @ kenvandine joined channel #puppet
[2008/07/01 14:13:35] <ashp> shadowvice: Yes, jamesturnbull wrote one!
[2008/07/01 14:13:53] <ashp> http://www.amazon.com/Pulling-Strings-Puppet-Configuration-Management/dp/1590599780
[2008/07/01 14:14:22] <shadowvice> Perfect :D
[2008/07/01 14:14:24] <shadowvice> thanks
[2008/07/01 14:14:32] <ashp> I should reread that book now, really. :)
[2008/07/01 14:15:43] <shadowvice> my google fu was weak ...
[2008/07/01 14:20:50] <aelizondo> i plan on running puppet on sol 10u5 sparc. using ruby 1.8.7 should be ok, right? anyone running in this configuration?
[2008/07/01 14:21:24] @ catdude_ joined channel #puppet
[2008/07/01 14:26:22] <fastjay> lutter: i have an RPM feature request (for the puppet rpms)
[2008/07/01 14:26:38] <lutter> fastjay: sure .. what is it ?
[2008/07/01 14:26:54] <fastjay> so the place the puppet stuff lives is not the default puppet locations correct?
[2008/07/01 14:27:03] <fastjay> /var/lib/puppet instead of /var/puppet .. etc?
[2008/07/01 14:27:33] <lutter> yeah, in keeping with the FHS
[2008/07/01 14:27:50] <lutter> apps are supposed to put their files into /var/lib, not directly into /var
[2008/07/01 14:27:51] <fastjay> would it be possible to have the rpm patch puppet to make them its defaults? instead of just the config file pointing it out?
[2008/07/01 14:28:13] <fastjay> why I ask this is because i just pushed out a broken puppet.conf to some nodes and cant push a new one out because it cant find the defaults :)
[2008/07/01 14:28:56] <Disconnect> shadowvice: be warned, no index in the book. so you may want the ebook version instead :)
[2008/07/01 14:29:02] <fastjay> i would reckon that might be a good failsafe
[2008/07/01 14:29:11] @ Quit: glaw: Remote closed the connection
[2008/07/01 14:29:13] <lutter> hmm .. it would be cleanest to fix that in puppet directly, rather than have Fedora/EPEL carry a branched version of puppet
[2008/07/01 14:29:32] <fastjay> no qualms there :)
[2008/07/01 14:29:39] <fastjay> but i think this would 'fix' it
[2008/07/01 14:29:49] <fastjay> in the event one buggers up configs
[2008/07/01 14:29:52] <lutter> yeah, definitely
[2008/07/01 14:29:52] <fastjay> like I did :)
[2008/07/01 14:30:12] <lutter> have you talked to lak about changing it in puppet itself ?
[2008/07/01 14:30:19] <shadowvice> Disconnect: Ah but then its so hard to snuggle up with a pda at night
[2008/07/01 14:30:22] <fastjay> nope as I just broke that now :)
[2008/07/01 14:30:44] <Disconnect> shadowvice: bookeen.com
[2008/07/01 14:31:51] <shadowvice> {snort} ok maybe that :D
[2008/07/01 14:35:05] @ Quit: keithlard_:
[2008/07/01 14:37:24] @ Quit: catdude: Connection timed out
[2008/07/01 14:39:14] <fastjay> lak: ping
[2008/07/01 14:44:31] <lak> hi
[2008/07/01 14:45:56] @ Quit: teyo:
[2008/07/01 14:48:50] <fastjay> would you have any objections to my request going right into puppet and not part of the rpm?
[2008/07/01 14:50:33] <aelizondo> is facter 1.5.0rc1 pretty stable?
[2008/07/01 14:50:57] <aelizondo> or: how far away is a non-rc?
[2008/07/01 14:51:05] @ henkie joined channel #puppet
[2008/07/01 14:52:07] <lak> aelizondo: i'll put out an rc2 in a few mins
[2008/07/01 14:52:10] <lak> it's a bit more stable
[2008/07/01 14:52:21] <lak> fastjay: what request?
[2008/07/01 14:52:45] <fastjay> puppet defaults != FHS
[2008/07/01 14:52:56] <fastjay> so like i just nuked my puppet.conf on redhat..
[2008/07/01 14:53:08] <aelizondo> lak: the 1.5.0 tarball looks to much bigger than 1.3.X. what are the major changes?
[2008/07/01 14:53:14] <fastjay> and it reverted to the defaults.. thus.. puppet couldnt recover via its defaults
[2008/07/01 14:53:21] <lak> probably more tests, mostly
[2008/07/01 14:53:42] <lak> but also more plumbing
[2008/07/01 14:54:01] <lak> fastjay: i still don't really understand your question; what would i possibly be objecting to here?
[2008/07/01 14:54:29] <fastjay> i mean i just asked if it could be put in the rpm as a patch to make the defaults match what is in puppet.conf.
[2008/07/01 14:54:41] <fastjay> lutter suggested it should actually be puppet that gets fixed not a patch for the rpm
[2008/07/01 14:55:07] <fastjay> s/fixed/changed/
[2008/07/01 14:56:09] <lak> ah; i missed the conversation above
[2008/07/01 14:56:15] <lak> should have read the scrollback :/
[2008/07/01 14:58:17] <lak> i guess the only problem i have with that is that the FHS isn't really followed places other than linux
[2008/07/01 14:58:29] <lak> luke@phage(0) $ ls /var/lib
[2008/07/01 14:58:29] <lak> gls: cannot access /var/lib: No such file or directory
[2008/07/01 14:58:30] <lak> e.g.
[2008/07/01 14:58:33] <lak> that's my mac
[2008/07/01 14:58:48] <fastjay> true
[2008/07/01 14:58:50] <fastjay> very true
[2008/07/01 14:59:00] <lak> my guess is that what we really need is a per-platform selection that sets up these things correctly for each platform, and then has non-FHS defaults
[2008/07/01 14:59:03] <fastjay> did not think of that. which also makes sense as we are about to start rolling solaris
[2008/07/01 14:59:09] <Volcane> lak: ./configure ;)
[2008/07/01 14:59:14] <lak> yee-haw!
[2008/07/01 14:59:49] <fastjay> worst case is we just build our packages spite specific and so be it
[2008/07/01 14:59:56] <fastjay> i am okay with that as well.
[2008/07/01 15:01:31] <lak> hmm, never tried building specific kinds of spite into my packages
[2008/07/01 15:01:42] <lak> but i guess i'm pretty free with mine; i just kinda spread it around
[2008/07/01 15:03:16] <henkie> i cannot get the certificates to validated, i says i must run with puppetca --clean
[2008/07/01 15:03:22] <henkie> could it be my dns setup?
[2008/07/01 15:04:06] <lak> not really; puppet doesn't use dns for auth
[2008/07/01 15:04:31] <fastjay> err site specific.. good slib there :)
[2008/07/01 15:05:12] <henkie> hmm, just followed the startup guide, but puppet gives /usr/lib/ruby/site_ruby/1.8/puppet/network/client/ca.rb:31:in `request_cert': Certificate retrieval failed: Certificate request does not match existing certificate; run 'puppetca --clean tdpowah.bk'. (Puppet::Error)
[2008/07/01 15:05:29] <henkie> after running the clean, same problem
[2008/07/01 15:05:42] <lak> did you run the clean on the server?
[2008/07/01 15:05:47] <henkie> yes
[2008/07/01 15:05:54] <henkie> on the client gave an error :)
[2008/07/01 15:06:23] <henkie> using 0.24.4 on gentoo (both machines)
[2008/07/01 15:08:13] <henkie> when doing "puppetd --waitforcert 60 --test" on the client it reports "warning: peer certificate won't be verified in this SSL session". after this i sign it on the server
[2008/07/01 15:08:54] <ashp> oh god i've broken my puppet installation and i'm way too exhausted to even try to figure out how
[2008/07/01 15:09:05] <lak> fastjay: can you at least file that as a bug? something needs to be done to fix that problem, since it keeps coming up
[2008/07/01 15:09:59] <fastjay> yes
[2008/07/01 15:10:23] <ashp> weird, i removed puppet altogether, readded it and reran it and it worked
[2008/07/01 15:10:34] <ashp> i cloned this vm over so i guess i had broken puppet badly, it can't recover from that
[2008/07/01 15:10:43] <ashp> (clone a vm, change the hostname, rerun puppet to fix the rest)
[2008/07/01 15:11:46] @ Quit: spheromak_:
[2008/07/01 15:13:13] @ Quit: randybias:
[2008/07/01 15:15:35] @ aaronc joined channel #puppet
[2008/07/01 15:15:43] <aaronc> woot... big channel... this bodes well
[2008/07/01 15:16:25] <aaronc> so I'm working through some setup stuff, and on the fresh gems I installed if I run puppetmasterd --fsconfig I am told that the option doesn't exist...
[2008/07/01 15:16:28] <aaronc> did that get taken out?
[2008/07/01 15:16:42] <lak> fileserverconfig, i think
[2008/07/01 15:18:00] <ashp> lak: besides the ssl, is there other stuff puppet would somehow cache if I change the systems hostname to something else and rerun it?
[2008/07/01 15:18:09] <aaronc> it says it requires an argument, any idea what its looking for?
[2008/07/01 15:18:26] <lak> the path to the fileserver config file
[2008/07/01 15:18:28] <Disconnect> ashp: i'd wipe out /var/lib/puppet (or wherever the state/ and such is)
[2008/07/01 15:18:40] <aaronc> oh... a filename... sorry..
[2008/07/01 15:18:40] <lak> ashp: shouldn't be, other than ssl
[2008/07/01 15:18:41] <aaronc> thanks
[2008/07/01 15:19:17] <aaronc> any idea what port the fileserver listens on?
[2008/07/01 15:19:34] <ashp> Disconnect: I ended up just trashing all of var/lib/puppet and reinstalling and that fixed it
[2008/07/01 15:19:43] <ashp> it kept telling me it couldn't find class rhythmyx, which is there and working
[2008/07/01 15:19:51] <ashp> i deleted it, readded the rpm and resigned the cert and it worked
[2008/07/01 15:20:03] <ashp> it's my own fault for cloning not rebuilding,so it's pretty unlikely to be an issue anyone else runs into
[2008/07/01 15:21:47] <erikh> lak: any l