Tag Info

Hot answers tagged

13

Not overkill at all. Start using puppet now, and it'll pay for itself in the long run. Seriously. I use puppet even if i'm only deploying one server, because I know at some point it'll probably have to be replaced, rebuilt, or another one added as a backup.


11

bundle agent test { vars: "my_result" string => execresult("/bin/ls /tmp/test/","noshell"); reports: ubuntu:: "Output is : $(my_result)"; } See https://cfengine.com/manuals/cf3-solutions#Execresult-example


8

You can use both tools for your use case. I don't know how powerful are your handhelds tablets, but you might be interested to know that : Cfengine agent uses about 15 MB of RAM (never seen it going over 30 MB on any of my servers) (and it's been reported working on a Nokia N900 phone) Puppet needs the Ruby stack to works, and according to documentations, ...


7

You could just run the command usermod -p '_hash_' root where hash is the hash of the password appropriate for that system. So a command like usermod -p '$1$aNwwp0wS$RzSqCt3ntYs.V2TxcXheA' root would make root have a password of password. If you want to do this the right way you would also generat a unique salt and a unique hash for each system. If it is ...


7

If you're looking for performance, Cfengine is the choice. In your case, you don't want to maintain a fully fledged Ruby+Puppet installation on handheld devices. That Puppet is "easier to use" is just a myth created by the Puppet people, go ahead and try Cfengine (also have a look at the open promise body library).


7

I don't think it's overkill if it gets you, and/or your team, in the [excellent] practice of configuration management. Any skills or insight you gain using these tools will scale up to, and become much more important in, managing larger systems. You may not need to build a 24-step-change-process for only 3 nodes, but understanding the need for such ...


5

Configuration Management System's name: Cfengine Community 3 Why it was created: visit http://cfengine.com/techFaq#create Relative strengths: is very small in size (5MB) with few dependencies allows you to choose freely both between templating and differential modification of the system for integrated management handles organizational complexity very ...


5

Blueprint can generate Puppet or Chef configurations from your existing servers, if you want to start using one of those two tools. Alternatively, etckeeper will help you keep the whole of /etc in a VCS, if that's all you need (with a little bit of config, you could then keep the repositories somewhere central).


5

Puppet can manage users (and a plethora of other things). I would warmly recommend any admin with more than 3 servers integrating puppet into their environment. The wiki on puppetlabs.com has many articles that will help you get up and running quickly. The advantages are definitely worth your time. Consider writing this piece of code once: User {"sandra": ...


5

You don't. No really, don't directly edit /etc/shadow. For 20 servers, i would probably just log in and change the root password with passwd. what you can do if you have to do it often is use Expect and put it in a loop like: for i in `cat <file_with_server_names>` do ssh <user>@$i <expect stuff here> done Sorry for the ...


4

Some crazy person is trying to port Puppet to Windows, I believe, but apart from that you're basically stuffed -- some of the proprietary stuff says it can manage both Windows and Linux from a single point, but I've never found one that I didn't want to thermite the install CDs of. The systems are so different that you're best off just using the best ...


4

I found the link below to be very useful. It compares many of these tools. http://distrinet.cs.kuleuven.be/software/sysconfigtools/tool


4

cf-serverd is not a required component. There are people that use nfs, pull direct from version control, and probably a number of various other mechanisms. There are several benefits that you can take advantage of by using cf-serverd though. cf-serverd has proven to be very efficient with single servers reported to serve thousands of clients. It also allows ...


4

There's a new configuration management tool based on CFEngine that automates all the configurations. In a Web Interface, you define and parametrize the Directives you wish to see applied to group of nodes, and automagically, it generates CFEngine promises for these nodes. Then the cf-agent running nodes will fetch these promises, apply them, and send back ...


3

The answer of maciejmrowiec is good, but incomplete; there is no obligation in CFEngine to have the same promises on ALL your nodes; but that's the default behaviour There are two ways to achieve what you want to do : Have the same promises everywhere (the default implementation), and using classes, control which host does what (and for this I refer you ...


3

As of version 3.3.0, you can use the lsdir() function instead. vars: "result" slist => lsdir("/tmp/test", ".*", "false"); read more : https://cfengine.com/manuals/cf3-Reference#Function-lsdir


3

One way to achieve this would be to use the module protocol supported by CFEngine: https://cfengine.com/manuals/cf3-Reference#module-in-commands. With this, you can set arbitrary classes and variables from the script itself. For example, a script like this (untested): #!/bin/bash if git pull | grep -q 'Already up-to-date.'; then echo "+no_update" fi ...


3

David, Are the updated files being copied, and the local cf-agent doesn't react to the changes? Or are the updated files not being copied until much later? The one reason I can think off the top of my head is that the clocks between the systems are out of sync. Check /var/cfengine/inputs/cf_promises_validated - this file is populated with the last time the ...


3

Name: Chef Why created? From the FAQ (as opposed to existing solution: also in the FAQ) Relative strengths: config management library, system integration framework, flexible, open source, persistent data store for nodes and other data, search indexes, strong community, server is a highly scalable lightweight web application, Opscode provides a ...


3

I've personally used Puppet and cfEngine are have found both to be good tools for this kind of task and I believe them to currently be the major players in the field. Puppet requires a little more care when you start trying to scale it but has a nicer syntax, cfEngine scales well but it can take a bit more time to learn the voodoo. If the no outside ...


3

Microsoft SCCM It was created in the mid 90's as SMS. Strengths: Quick setup Integrates with AD Flexible Let's you focus on the lifecycle of desktops and servers, rather than more tactical things. Has a robust but complex desired configuration management feature. Great reporting Cross platform, supports Windows, OS X, and some Linux/Unix flavors ...


3

pssh might be what you are looking for


3

Here is a good blog entry on how to bootstrap puppet using cobbler. The author uses VirtualBox Virtual Machines, but you can easily adapt it to a physical server. http://number9.hellooperator.net/articles/2009/04/13/bootstrapping-puppet-from-cobbler Basically, you have a kickstarter server that runs puppetmasterd and cobbler. You customize a kickstart to ...


3

Note that I have only used cfengine (v2) and not puppet/chef etc. All of these have pretty hefty learning curves to get your head fully wrapped around how to do things. Though these days there are many more examples on the net to look at. That said, there has been at least one paper that claims that cfengine is more lightweight. This facebook page from ...


3

It looks like you never got an answer to your question, so I'm posting this now in the spirit of "better late than never". You asked: What I would really like is to suppress messages when certain promises are repaired, particularly the one which deletes files in the outputs directory. It would essentially negate the -I option for that ...


3

You're missing the inputs directory. Doing mkdir ~/.cfagent/inputs should do the trick.


2

As far as I know, if you just want to look for the "foobar" process, you don't need to use the process_select feature at all. Can't you just do this? processes: "foobar" restart_class => start_foobar; If you also need to match other criteria at the same time, like the user running it as you suggest, I would recommend either using a ...


2

Although this is an old question, I thought it'd be relevant to link to this recently-posted performance comparison between Puppet and CFEngine: http://www.blogcompiler.com/2012/09/30/scalability-of-cfengine-and-puppet-2/ Although it was done by a CFEngine employee, it is IMO fairly impartial, and all the details needed to reproduce the results are ...


2

This question looks a lot like that question To receive an email with cfengine 3, you need to use the cf-execd rather than the cf-agent, and define somewhere where to send the email : body executor control { mailfrom => "from@adress.org"; mailto => "to@adress.org"; smtpserver => "smtp.example.org"; exec_command => ...


2

You can use the function diskfree that return the available space on the partition Here is a simple example (yes, I have a lot of free space) : body common control { bundlesequence => { "test_free_space" }; } bundle agent test_free_space { vars: "free" int => diskfree("/home"); "min_free_space" int => "200000000"; ...



Only top voted, non community-wiki answers of a minimum length are eligible