The long term future of any particular configuration management system

From my perspective, one of the problems with the current profusion ofconfiguration management systems is exactly that there is a profusionof them. I don't have a problem with choice per se (or having to sortthrough them all); for me the issue is the uncertainty that this createsfor the long term future of any particular system.

Right now we have a lot of CM systems; off the top of my head I canthink of CFEngine, Puppet, Chef, Ansible, and SaltStack, and there


Trying to explain my harshness on configuration management tools

It started with a Tweet that became a conversation:

@thatcks :I'm biased but if a CM system needs more than an apt-get to installI'm not going to use it to set up our Ubuntu machines. Sorry Ansible.

@jgoldschrafe :That's kind of a silly approach - most modern CM tools are evolving sofast that it's folly to stick to outdated versions

@thatcks :For us it's an issue of both (long-term) risk and effort,


A semi-wish for an official 'null MX' standard

I've written before about how it seems thatspammers will scrape anything that looks like an email address and thenattempt to spam them. Of course, much of what gets scraped is probablyfor (alleged) hosts that don't have anywhere to send email, so thespammers never even get as far as sending it. But through some sort ofluck I have such a host that doesn't acceptemail but also happens to have an accessible mail server running onits IP address (because that IP address


ZFS filesystem compression and quotas

ZFS filesystem compression is widely seen as basically a universallygood thing ( unlike deduplication ); turningit on almost always gives you a clear space gain for what is generallya minor cost. Unfortunately it turns out to have an odd drawback inour environment in how it interacts with ZFS's disk quotas. Putsimply, ZFS disk quotas limit the physical space consumed by afilesystem, not the logical space. In other words they limit howmuch post-compression disk space a filesystem can use instead of thepre-


The FTE pricing gamble (for vendors)

A popular move with a number of vendors that we've tried to deal withis to offer us site licenses based (only) on how many FTEs we have (forthose that have been lucky enough not to encounter this term, it meanshow many 'full time equivalent' people you have). In the process ofthis I've come to feel that offering FTE-based pricing is a high stakesgamble for a vendor, one that doesn't necessarily work in their favour.One way to


An example of optimizing C in the face of undefined behavior

In my entry about my understanding of modern C undefined behavior I alluded to how modern C created a securityvulnerability in the Linux kernel because of variable initialization.Today I feel like showing you roughly the code involved and explainingthis, rather than alluding to it indirectly.

We'll start with perfectly functional code:

int func(struct foo *arg){    struct bar *p;    if (arg == NULL)        return -EINVAL;    p = arg->f_p;[.....

Nested conditional expressions in Python (and code golf)

Recently I had an occasion to use a nested (or chained) conditionalexpression .I haven't used conditional expressions much, so at first I justwrote out what struck me as the obvious way:

res = a.field1 if a.field1 else obj.field2 if obj else None

(The goal is to use a.field1 if it's got a value, obj.field2 if obj is there, and otherwise None .)

Then I paused to ask myself if this


Processes waiting for NFS IO do show in Linux %iowait statistics

Suppose that you have a machine that does decent amounts of bothlocal disk IO and NFS IO and it's not performing as well as you'dlike. Tools like vmstat show that it's spending a significantamount of time in %iowait while your (local)disk stats tool is somewhat ambivalent but suggeststhat the local disks are often not saturated. Can you safely concludethat your system is spending a bunch of its time waiting on NFS IOand this is what the %iowait numbers are reflecting?


Load is a whole system phenomenon

Here's something obvious: load and its companion overload is somethingthat's created by everything that's going on on your system at once.Oh, sure, some subset of the activity can be saturating a particularresource, but in general (and without quota-based things like Linux'scgroups) it is the sum of all activity (or all relevant activity) thatmatters.

So far this probably all sounds very obvious, and it is. But there'sa big corollary: if


Reconsidering external disk enclosures versus disk servers

Not even three months ago I confidently wrote about all of thegood reasons why we were picking external disk enclosures over diskservers . Today I'm here to tell you why we'veflip-flopped on that and are now planning to buy disk servers instead.What it boils down to is money.

(I could claim it was also uncertainties over SATA disks behind SASexpanders , but not really; I only startedreally reading about those issues after we'd made the decision.)

What started the ball