push a few config files to dozen or so servers

Matthew Grooms mgrooms at shrew.net
Thu Feb 5 19:16:08 UTC 2015


On 2/5/2015 1:05 PM, Paul Mather wrote:
> On Feb 5, 2015, at 12:54 PM, Matthew Grooms <mgrooms at shrew.net> wrote:
>
>> On 2/5/2015 11:27 AM, Paul Mather wrote:
>>> On Feb 5, 2015, at 10:47 AM, Greg Byshenk <freebsd at byshenk.net> wrote:
>>>
>>>> On Thu, Feb 05, 2015 at 03:07:46PM +0100, Guido Falsi wrote:
>>>>> On 02/05/15 13:20, Ronald Klop wrote:
>>>>>> On Thu, 05 Feb 2015 13:02:34 +0100, Marko Cupa?? <marko.cupac at mimar.rs>
>>>>>>> thanks to virtualization, my fleet of FreeBSD hosts have grown to more
>>>>>>> than dozen, and it still grows. There are some files that need to be
>>>>>>> identical on all of them (aliases, sudoers, root crontab, pkg repo
>>>>>>> files etc.).
>>>>>>>
>>>>>>> I was looking at puppet and cfengine but learning and implementing those
>>>>>>> seem like an overkill for my purpose.
>>>>>>>
>>>>>>> Are there any other elegant solutions which can help me achieve my goal?
>>>>>> Cron and rsync.
>>>>>> Or create a pkg which you install on all servers.
>>>>> He could also use an VCS system (subversion, git, fossil, whatever) and
>>>>> some scripts.
>>>>>
>>>>> This adds the advantage of having history.
>>>> If it's really limited, you should be able to wrap svn/git
>>>> and scp/rsync in python/bash/<tool of your choice> and have
>>>> something that works.
>>>>
>>>>
>>>>>> Just some quick ideas. In the end you just want to use something like
>>>>>> puppet. :-)
>>>>> I Agree, in the end that kind of solution is definitely more robust.
>>>> But, agreeing here, as well, there are some real advantages
>>>> in ensuring consistency, etc. with something like puppet.
>>>>
>>>> And a basic, minimalist puppet is pretty basic and minimal.
>>>> Puppet can get very complex, but that comes from managing
>>>> complex environments.
>>> I'm familiar with Puppet and agree with your observations above.  One
>>> thing that concerns me with Puppet, though, is that Puppet is not
>>> considered as a Tier 1 platform by Puppet Labs and so FreeBSD support
>>> is inconsistent.  With the current emphasis on modules and the Puppet
>>> Forge, the focus on the RedHat and Debian OS families in many modules
>>> makes it harder for FreeBSD users to use Puppet without reinventing the
>>> wheel.  Unfortunately, with Puppet, a lot of the "magic" happens under
>>> the covers in these modules, via Types and Providers, and if they don't
>>> support FreeBSD then they're not much use.  (This is another way of
>>> saying, "Puppet works great when it works.":)  I know this is a
>>> manifestation of the general "Linuxism" of *nix, so I know I'm swimming
>>> against the tide in a sense in hoping for better support. :-)
>>>
>>> However, I don't get a sense of the vibrancy of the community around
>>> FreeBSD and Puppet.  Is it thriving?  (Because Puppet abstracts away
>>> the OS from a sysadmin point of view, people might argue, "why run
>>> FreeBSD if you're using Puppet?")  Also, Puppet seems to have evolved
>>> rather than being the product of a clean, simple design.  (Maybe this
>>> is endemic to any Ruby-based project.:)  The orchestration (e.g.,
>>> Marionette Collective) seems a bit bolted-on to me.
>>>
>>> Despite all that, there is still lots and lots to recommend Puppet.
>>> However, if there's another configuration management framework that is
>>> more "FreeBSD-friendly," then it would be good to know of that.  With
>>> large-scale system installations becoming more and more prevalent, so
>>> too does the importance of configuration management and orchestration
>>> systems.  I've been looking at Salt recently, which I've heard is
>>> supposed to be quite "FreeBSD-friendly."  Does anyone know of any
>>> others that have a great FreeBSD community and support behind them?
>>>
>>> Cheers,
>>>
>>> Paul.
>> Have a look at saltstack. It's easier to setup/deploy, does centralized config management & orchestration in one tool ( like puppet + mcollective ), scales ridiculously well and is more platform agnostic ...
>>
>> http://saltstack.com/community/
>> http://www.freshports.org/sysutils/py-salt/
>
> I've been looking at Salt (or saltstack, whatever it's called) for the
> very reasons you mention above.  I recently tested it out with
> FreeBSD/arm Raspberry Pi and Beaglebone Black minions reporting to a
> FreeBSD/amd64 master.  I like what I see so far, and, from my reading,
> the design seems nice and clean---or at least cleaner compared to
> Puppet.
>
> Still, it's the community that makes or breaks these things, and so
> it's the one that has the best/most active FreeBSD community that I'm
> eager to know about.
>
> Cheers,
>
> Paul.

Paul,

My apologies. I was skimming and I missed your last two sentences 
regarding salt. Sorry for the repetition. I agree that it seems to have 
a cleaner design than puppet, especially if you need the orchestration 
piece. The mcollective bolt-on appears to have been a distant 
afterthought for puppet. I only use salt for managing FreeBSD amd64 VMs. 
Nothing as exotic as Beaglebone Blacks, but it has been working well and 
I haven't run across anything that has scared me off yet. Just seems to 
work as advertised.

-Matthew


More information about the freebsd-stable mailing list