On 1/16/10 7:00 PM, James Turnbull wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 17/01/10 6:33 AM, Forrie wrote:
Is there a way to deploy/install only the client portion of puppet?
Not via install.rb

It's possible I'm approaching this incorrectly, though it doesn't make
a lot of sense to install puppetmasterd on systems that are only
clients.    Another option, perhaps, is to have puppet actually update
the client portion on the managed systems.   Has anyone done this?
IMHO - yes - don't install via source! It's not scalable and it
leads to issues when upgrading.

Use your operating system or distribution's packaging system instead.

You can then easily use Puppet to manage itself on clients - in fact
I recommend it as an approach.



Thanks for your reply!

I think having Puppet distribute itself to clients would be ideal. One less headache.

I generally don't like to rely on external packaging for certain software packages -- it complicates things when I want to keep up to date; and then, when I do want more current code, I just end up compiling it separately anyway.

Here's what I've been working on today; perhaps you'll have some feedback (it's relevant to the post). I'm installing ruby, puppet, gems (under ruby) under a central directory structure. From there, I can either rsync that to other systems or NFS mount it. Then, use the local system "alternatives" command to point the relevant executables (and --slave definitions). Each system can have it's own puppet configuration in /etc that's managed via Puppet. An example:

/local/company/puppet
    /sbin
    /bin

/local/company/ruby
    /bin
    /lib
    [ everything from ruby, including rubygems and individual gems ]

Using "alternatives", do something like this:

/usr/sbin/alternatives --install /usr/bin/ruby ruby /local/company/ruby/bin/ruby 1 \
--slave /usr/bin/rdoc rdoc /local/company/ruby/bin/rdoc \
--slave /usr/bin/ri ri /local/company/ruby/bin/ri \
--slave /usr/bin/irb irb /local/company/ruby/bin/irb \
--slave /usr/bin/erb erb /local/company/ruby/bin/erb \
--slave /usr/bin/testrb testrb /local/company/ruby/bin/testrb

Of course, this relies upon a specific variant of Linux (in our case, Redhat), but it could still work otherwise.

One problem I've observed is ruby will need to be "installed" in /local/company/ruby first, where I later rename it to ruby.1.8.7 with a symlink of "ruby" so that the installation is consistent with shebang paths.



Thanks,

Forrest



-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@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.


Reply via email to