Change to temp dir location handling / release plan for Monday

A few things:

(1) I’ve changed the way tempdirs are used on the remote machines when Ansible runs. Rather than using /tmp, Ansible now will use /var/tmp for root remote users (the default), or /home//.ansible/tmp for non-root users (user: foo in a playbook, or -u to /usr/bin/ansible). This was done because many folks (rightly) want to mount tmp no exec and so forth. I don’t think this will affect anyone negatively – I discussed it a bit on IRC and it seemed acceptable to everyone. I suspect it’s more proper to determine the home directory from $HOME to be better about OS X paths but we don’t really have OS X compatible user/group/service modules yet anyway (patches welcome! that would be great!).

(2) All defects in the 0.3 milestone are closed, so we’re go for a release Monday evening. The integration branch is going to get folded back into master, and renamed ‘devel’. Critical bugfixes can still be made on master (0.3.X), but all feature work will happen on devel (0.4.0). Devel to master merges will only happen in the future when releases get made, which will be somewhere in the 3 weeks - one month range, I suspect. This is done in order to minimize work from packagers, but also allow packages to be reasonably fresh. I still think this project is crazy easy to run out of git, so I would hope lots of people continue to do that, even from the devel branch.

I have one more feature remaining which I’m going to try to complete tomorrow – the ability for the template on one node to access variables from other node’s facts (aka “exported_resources” in Puppet parlance), via something like a getvar(host, varname) function. Hopefully this will make it in, but otherwise the release is already feature frozen – so I’ll merge any outstanding pull requests once the new devel branch exists. This will allow things like a app server install to know the IP address of a database server, etc.

Once 0.0.3 goes out, I’ll upload a new tar ball, upload a source RPM, get some change logs together (which we can start keeping in git), and also make some various changes to the Wiki about 0.0.2 ways of doing things (there are very few of these). This means we can remove the notes about needing python-jinja2 on remote nodes (because it happens locally), etc.

Thanks for everyone who has helped with patches, testing, and ideas for Ansible so far. The rate of community contribution here has been phenomenal and I couldn’t do it without you.

–Michael