-original message-
Subject: Re: [gentoo-server] Managing multiple servers.
From: kashani <[email protected]>
Date: 2011-05-24 07:40

On 5/23/2011 3:12 PM, la Bigmac wrote:
>> Hello list,
>>
>> Seems to be a few people recently wanting to discuss Gentoo as a server
>> :-) so thought I would pose a question that has been bugging me.
>>
>> What would you guys recommend to manage multiple servers and the package
>> versions?
>>
>> While I have a central emerge server (*rsync)* and sync all of my
>> servers to it I still manually update the packages.
>>
>> Example, openssh how should I be updating openssh on all of my servers
>> other than logging onto each one in turn and running emerge openssh.
>>
>> Should I cron schedule an /emerge/ --/update world /and control the
>> repository of packages or is there a more elegant solution?
>
>I've become a huge Puppet nerd over the last year. I'm not managing 
>Gentoo on it, but it's supported and Puppet Labs does seem to fix Gentoo 
>bugs in a reasonable time.
>
>First you'll need Ruby 1.8.7 as 1.9.2 support in Ruby isn't quite there 
>yet. I'd also run unstable for Puppet and Facter. You're better off 
>jumping in at 2.6.x than 0.25.x.
>
>Puppet requires facter which is very cool in it's own right. It's local 
>discovery of the OS and those facts about your system can be used in 
>templates to make decisions. Here's an example for setting higher 
>thresholds on my large machines.
>
><% if processorcount.to_i >= 12 then -%>
>
>and here's an example of a module to make sure sudo is the latest 
>version and add a config file for my local sudoers additions.
>
>class sudo {
>   package { "sudo": ensure => latest, }
>
>   file { "/etc/sudoers.d/my_additions":
>     ensure  => present,
>     owner   => root, group => root, mode => 440,
>     require => Package["sudo"],
>     source  => "puppet:///modules/sudo/my_additions",
>   }
>}
>
>In order to make this work you'd really need to have modules for each 
>package in your world file and set ensure => latest rather than just 
>present. However it does make it easy to keep configs, users, settings, 
>which packages in sync across machines.
>
>That's Puppet in a very very tiny nutshell. They are some unique 
>challenges with using it well with Gentoo, but it would ultimately make 
>your system easier to reproduce.
>
>kashani

Interesting...

Now, I've never used Puppet before, so please forgive my apparently ignorant 
questions:

1. How does it handle differing USE flags? Or portage/env variables?

2. How does it update the systems it maintains? I mean, like doing compiling 
stuffs and such?

3. Does it use SLOTs to enable rollback, just in case?

I'm looking at 8 Gentoo servers -- soon to be 10 -- and I *will* seriously 
evaluate *anything* that promises to assist me with managing/maintaining them.

Anecdote time: just last week, I tried deploying a Squid proxy. I don't know 
what happened, but I failed doing that on two other distros; one has a buggy 
package, and the other just... did not work. It might be my mistake, but I was 
pressed for time. So I did a 'stage4' installation of Gentoo, emerged squid... 
and it Just Works(tm). Now I'm setting up two more proxies with Gentoo.

(You might've seen my question regarding configure flags back in [gentoo-user]. 
Yes, that's me building the 2nd proxy.)

Rgds,
--
Pandu E Poluan
~ IT Optimizer ~

Sent from Nokia E72-1


Reply via email to