ansible/CHANGELOG.md
2012-05-23 19:38:59 -04:00

4.1 KiB

Ansible Changes By Release

0.4 "Unchained" ------- May 23, 2012

Internals/Core

  • internal inventory API now more object oriented, parsers decoupled
  • async handling improvements
  • misc fixes for running ansible on OS X (overlord only)
  • sudo improvements, now works much more smoothly
  • sudo to a particular user with -U/--sudo-user, or using 'sudo_user: foo' in a playbook
  • --private-key CLI option to work with pem files

Inventory

  • can use -i host1,host2,host3:port to specify hosts not in inventory (replaces --override-hosts)
  • ansible INI style format can do groups of groups [groupname:children] and group vars [groupname:vars]
  • groups and users module takes an optional system=yes|no on creation (default no)
  • list of hosts in playbooks can be expressed as a YAML list in addition to ; delimited

Playbooks

  • variables can be replaced like ${foo.nested_hash_key.nested_subkey[array_index]}
  • unicode now ok in templates (assumes utf8)
  • able to pass host specifier or group name in to "hosts:" with --extra-vars
  • ansible-pull script and example playbook (extreme scaling, remediation)
  • inventory_hostname variable available that contains the value of the host as ansible knows it
  • variables in the 'all' section can be used to define other variables based on those values
  • 'group_names' is now a variable made available to templates
  • first_available_file feature, see selective_file_sources.yml in examples/playbooks for info
  • --extra-vars="a=2 b=3" etc, now available to inject parameters into playbooks from CLI

Incompatible Changes

  • jinja2 is only usable in templates, not playbooks, use $foo instead
  • --override-hosts removed, can use -i with comma notation (-i "ahost,bhost")
  • modules can no longer include stderr output (paramiko limitation from sudo)

Module Changes

  • tweaks to SELinux implementation for file module
  • fixes for yum module corner cases on EL5
  • file module now correctly returns the mode in octal
  • fix for symlink handling in the file module
  • service takes an enable=yes|no which works with chkconfig or updates-rc.d as appropriate
  • service module works better on Ubuntu
  • git module now does resets and such to work more smoothly on updates
  • modules all now log to syslog
  • enabled=yes|no on a service can be used to toggle chkconfig & updates-rc.d states
  • git module supports branch=
  • service fixes to better detect status using return codes of the service script
  • custom facts provided by the setup module mean no dependency on Ruby, facter, or ohai
  • service now has a state=reloaded
  • raw module for bootstrapping and talking to routers w/o Python, etc

Misc Bugfixes

  • fixes for variable parsing in only_if lines
  • misc fixes to key=value parsing
  • variables with mixed case now legal
  • fix to internals of hacking/test-module development script

0.3 "Baluchitherium" -- April 23, 2012

  • Packaging for Debian, Gentoo, and Arch
  • Improvements to the apt and yum modules
  • A virt module
  • SELinux support for the file module
  • Ability to use facts from other systems in templates (aka exported resources like support)
  • Built in Ansible facts so you don't need ohai, facter, or Ruby
  • tempdir selections that work with noexec mounted /tmp
  • templates happen locally, not remotely, so no dependency on python-jinja2 for remote computers
  • advanced inventory format in YAML allows more control over variables per host and per group
  • variables in playbooks can be structured/nested versus just a flat namespace
  • manpage upgrades (docs)
  • various bugfixes
  • can specify a default --user for playbooks rather than specifying it in the playbook file
  • able to specify ansible port in ansible host file (see docs)
  • refactored Inventory API to make it easier to write scripts using Ansible
  • looping capability for playbooks (with_items)
  • support for using sudo with a password
  • module arguments can be unicode
  • A local connection type, --connection=local, for use with cron or in kickstarts
  • better module debugging with -D
  • fetch module for pulling in files from remote hosts
  • command task supports creates=foo for idempotent semantics, won't run if file foo already exists

0.0.2 and 0.0.1

  • Initial stages of project