diff --git a/CHANGELOG.md b/CHANGELOG.md index ead863c..d8bbb8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,24 +1,121 @@ Ansible Changes By Release ========================== -1.4 "Could This Be Magic" - Release pending! +1.4 "Could This Be Magic" - November 21, 2013 Highlighted new features: -* TBA +* Added do-until feature, which can be used to retry a failed task a specified number of times with a delay in-between the retries. +* Added failed_when option for tasks, which can be used to specify logical statements that make it easier to determine when a task has failed, or to make it easier to ignore certain non-zero return codes for some commands. +* Added the "subelement" lookup plugin, which allows iteration of the keys of a dictionary or items in a list. +* Added the capability to use either paramiko or ssh for the inital setup connection of an accelerated playbook. +* Automatically provide advice on common parser errors users encounter. +* Deprecation warnings are now shown for legacy features: when_integer/etc, only_if, include+with_items, etc. Can be disabled in ansible.cfg +* The system will now provide helpful tips around possible YAML syntax errors increasing ease of use for new users. +* warnings are now shown for using {{ foo }} in loops and conditionals, and suggest leaving the variable expressions bare as per docs. +* The roles search path is now configurable in ansible.cfg. 'roles_path' in the config setting. +* Includes with parameters can now be done like roles for consistency: - { include: song.yml, year:1984, song:'jump' } +* The name of each role is now shown before each task if roles are being used +* Adds a "var=" option to the debug module for debugging variable data. "debug: var=hostvars['hostname']" and "debug: var=foo" are all valid syntax. +* Variables in {{ format }} can be used as references even if they are structured data +* Can force binding of accelerate to ipv6 ports. +* the apt module will auto-install python-apt if not present rather than requiring a manual installation +* the copy module is now recursive if the local 'src' parameter is a directory. +* syntax checks now scan included task and variable files as well as main files -New modules: +New modules and plugins. -* TBA +* cloud: ec2_eip -- manage AWS elastic IPs +* cloud: ec2_vpc -- manage ec2 virtual private clouds +* cloud: elasticcache -- Manages clusters in Amazon Elasticache +* cloud: rax_network -- sets up Rackspace networks +* cloud: rax_facts: retrieve facts about a Rackspace Cloud Server +* cloud: rax_clb_nodes -- manage Rackspace cloud load balanced nodes +* cloud: rax_clb -- manages Rackspace cloud load balancers +* cloud: docker - instantiates/removes/manages docker containers +* cloud: ovirt -- VM lifecycle controls for ovirt +* files: acl -- set or get acls on a file +* files: unarchive: pushes and extracts tarballs +* files: synchronize: a useful wraper around rsyncing trees of files +* system: firewalld -- manage the firewalld configuration +* system: modprobe -- manage kernel modules on systems that support modprobe/rmmod +* system: open_iscsi -- manage targets on an initiator using open-iscsi +* system: blacklist: add or remove modules from the kernel blacklist +* system: hostname - sets the systems hostname +* utilities: include_vars -- dynamically load variables based on conditions. +* packaging: zypper_repository - adds or removes Zypper repositories +* packaging: urpmi - work with urpmi packages +* packaging: swdepot - a module for working with swdepot +* notification: grove - notifies to Grove hosted IRC channels +* web_infrastructure: ejabberd_user: add and remove users to ejabberd +* web_infrastructure: jboss: deploys or undeploys apps to jboss +* source_control: github_hooks: manages GitHub service hooks +* net_infrastructure: bigip_monitor_http: manages F5 BIG-IP LTM http monitors +* net_infrastructure: bigip_monitor_tcp: manages F5 BIG-IP LTM TCP monitors +* net_infrastructure: bigip_pool_member: manages F5 BIG-IP LTM pool members +* net_infrastructure: bigip_node: manages F5 BIG-IP LTM nodes +* net_infrastructure: openvswitch_port +* net_infrastructure: openvswitch_bridge -Misc changes: +Plugins: -* TBA +* jail connection module (FreeBSD) +* lxc connection module +* added inventory script for listing FreeBSD jails +* added md5 as a Jinja2 filter: {{ path | md5 }} +* added a fileglob filter that will return files matching a glob pattern. with_items: "/foo/pattern/*.txt | fileglob" +* 'changed' filter returns whether a previous step was changed easier. when: registered_result | changed +* DOCS NEEDED: 'unique' and 'intersect' filters are added for dealing with lists. +* DOCS NEEDED: new lookup plugin added for etcd +* a 'func' connection type to help people migrating from func/certmaster. + +Misc changes (all module additions/fixes may not listed): + +* (docs pending) New features for accelerate mode: configurable timeouts and a keepalives for long running tasks. +* Added a `delimiter` field to the assemble module. +* Added `ansible_env` to the list of facts returned by the setup module. +* Added `state=touch` to the file module, which functions similarly to the command-line version of `touch`. +* Added a -vvvv level, which will show SSH client debugging information in the event of a failure. +* Includes now support the more standard syntax, similar to that of role includes and dependencies. +* Changed the `user:` parameter on plays to `remote_user:` to prevent confusion with the module of the same name. Still backwards compatible on play parameters. +* Added parameter to allow the fetch module to skip the md5 validation step ('validate_md5=false'). This is usefull when fetching files that are actively being written to, such as live log files. +* Inventory hosts are used in the order they appear in the inventory. +* in hosts: foo[2-5] type syntax, the iterators now are zero indexed and the last index is non-inclusive, to match Python standards. +* There is now a way for a callback plugin to disable itself. See osx_say example code for an example. +* Many bugfixes to modules of all types. +* Complex arguments now can be used with async tasks +* SSH ControlPath is now configurable in ansible.cfg. There is a limit to the lengths of these paths, see how to shorten them in ansible.cfg. +* md5sum support on AIX with csum. +* Extremely large documentation refactor into subchapters +* Added 'append_privs' option to the mysql_user module +* Can now update (temporarily change) host variables using the "add_host" module for existing hosts. +* Fixes for IPv6 addresses in inventory text files +* name of executable can be passed to pip/gem etc, for installing under *different* interpreters +* copy of ./hacking/env-setup added for fish users, ./hacking/env-setup.fish +* file module more tolerant of non-absolute paths in softlinks. +* miscellaneous fixes/upgrades to async polling logic. +* conditions on roles now pass to dependent roles +* ansible_sudo_pass can be set in a host variable if desired +* misc fixes for the pip an easy_install modules +* support for running handlers that have parameterized names based on role parameters +* added support for compressing MySQL dumps and extracting during import +* Boto version compatibility fixes for the EC2 inventory script +* in the EC2 inventory script, a group 'EC2' and 'RDS' contains EC2 and RDS hosts. +* umask is enforced by the cron module +* apt packages that are not-removed and not-upgraded do not count as changes +* the assemble module can now use src files from the local server and copy them over dynamically +* authorization code has been standardized between Amazon cloud modules +* the wait_for module can now also wait for files to exist or a regex string to exist in a file +* leading ranges are now allowed in ranged hostname patterns, ex: [000-250].example.com +* pager support added to ansible-doc (so it will auto-invoke less, etc) +* misc fixes to the cron module +* get_url module now understands content-disposition headers for deciding filenames +* it is possible to have subdirectories in between group_vars/ and host_vars/ and the final filename, like host_vars/rack42/asdf for the variables for host 'asdf'. The intermediate directories are ignored, and do not put a file in there twice. 1.3.4 "Top of the World" (reprise) - October 29, 2013 -Fixed a bug in the copy module, where a filename containing the string "raw" was handled incorrectly -Fixed a bug in accelerate mode, where copying a zero-length file out would fail +* Fixed a bug in the copy module, where a filename containing the string "raw" was handled incorrectly +* Fixed a bug in accelerate mode, where copying a zero-length file out would fail 1.3.3 "Top of the World" (reprise) - October 9, 2013 @@ -26,23 +123,20 @@ Additional fixes for accelerate mode. 1.3.2 "Top of the World" (reprise) - September 19th, 2013 -* Multiple accelerate mode fixes: - - Make packet reception less greedy, so multiple frames of data are not consumed by one call. - - Adding two timeout values (one for connection and one for data reception timeout). - - Added keepalive packets, so async mode is no longer required for long-running tasks. - - Modified accelerate daemon to use the verbose logging level of the ansible command that started it. - - Fixed bug where accelerate would not work in check-mode. +Multiple accelerate mode fixes: -1.3.2 "Top of the World" (reprise) - September 19th, 2013 - -* The ControlPath variable for ssh connections is now configurable in the ansible.cfg (and via the environment variable ANSIBLE_SSH_CONTROL_PATH). +* Make packet reception less greedy, so multiple frames of data are not consumed by one call. +* Adding two timeout values (one for connection and one for data reception timeout). +* Added keepalive packets, so async mode is no longer required for long-running tasks. +* Modified accelerate daemon to use the verbose logging level of the ansible command that started it. +* Fixed bug where accelerate would not work in check-mode. * Added a -vvvv level, which will show SSH client debugging information in the event of a failure. * Fixed bug in apt_repository module where the repository cache was not being updated. * Fixed bug where "too many open files" errors would be encountered due to pseudo TTY's not being closed properly. 1.3.1 "Top of the World" (reprise) - September 16th, 2013 -* Fixing a bug in accelerate mode whereby the gather_facts step would always be run via sudo regardless of the play settings. +Fixing a bug in accelerate mode whereby the gather_facts step would always be run via sudo regardless of the play settings. 1.3 "Top of the World" - September 13th, 2013 diff --git a/ansible-1.3.4.tar.bz2 b/ansible-1.3.4.tar.bz2 deleted file mode 100644 index 797aadb..0000000 --- a/ansible-1.3.4.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3004c53f7c2f03478cd4dd6003e1f678f09fa38ee7332411fa6090c7df029443 -size 361029 diff --git a/ansible-1.4.tar.bz2 b/ansible-1.4.tar.bz2 new file mode 100644 index 0000000..5112ae3 --- /dev/null +++ b/ansible-1.4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37715ca5eb4db3d911f4671f07a1283d98101f2067122a9bbf2542b6fe5e0047 +size 446711 diff --git a/ansible.changes b/ansible.changes index 80b7b9d..c690e9b 100644 --- a/ansible.changes +++ b/ansible.changes @@ -1,3 +1,89 @@ +------------------------------------------------------------------- +Thu Nov 28 13:54:02 UTC 2013 - kgronlund@suse.com + +- Update to release 1.4 + +- Highlighted new features: + + + Added do-until feature, which can be used to retry a failed task a + specified number of times with a delay in-between the retries. + + Added failed_when option for tasks, which can be used to specify + logical statements that make it easier to determine when a task has + failed, or to make it easier to ignore certain non-zero return + codes for some commands. + + Added the "subelement" lookup plugin, which allows iteration of the + keys of a dictionary or items in a list. + + Added the capability to use either paramiko or ssh for the inital + setup connection of an accelerated playbook. + + Automatically provide advice on common parser errors users + encounter. + + Deprecation warnings are now shown for legacy features: + when_integer/etc, only_if, include+with_items, etc. Can be disabled + in ansible.cfg + + The system will now provide helpful tips around possible YAML + syntax errors increasing ease of use for new users. + + warnings are now shown for using {{ foo }} in loops and + conditionals, and suggest leaving the variable expressions bare as + per docs. + + The roles search path is now configurable in + ansible.cfg. 'roles_path' in the config setting. + + Includes with parameters can now be done like roles for + consistency: - { include: song.yml, year:1984, song:'jump' } + + The name of each role is now shown before each task if roles are + being used + + Adds a "var=" option to the debug module for debugging variable + data. "debug: var=hostvars['hostname']" and "debug: var=foo" are + all valid syntax. + + Variables in {{ format }} can be used as references even if they + are structured data + + Can force binding of accelerate to ipv6 ports. + + the apt module will auto-install python-apt if not present rather + than requiring a manual installation + + the copy module is now recursive if the local 'src' parameter is a + directory. + + syntax checks now scan included task and variable files as well as + main files + +- New modules and plugins: + + + cloud: ec2_eip -- manage AWS elastic IPs + + cloud: ec2_vpc -- manage ec2 virtual private clouds + + cloud: elasticcache -- Manages clusters in Amazon Elasticache + + cloud: rax_network -- sets up Rackspace networks + + cloud: rax_facts: retrieve facts about a Rackspace Cloud Server + + cloud: rax_clb_nodes -- manage Rackspace cloud load balanced nodes + + cloud: rax_clb -- manages Rackspace cloud load balancers + + cloud: docker - instantiates/removes/manages docker containers + + cloud: ovirt -- VM lifecycle controls for ovirt + + files: acl -- set or get acls on a file + + files: unarchive: pushes and extracts tarballs + + files: synchronize: a useful wraper around rsyncing trees of files + + system: firewalld -- manage the firewalld configuration + + system: modprobe -- manage kernel modules on systems that support + modprobe/rmmod + + system: open_iscsi -- manage targets on an initiator using + open-iscsi + + system: blacklist: add or remove modules from the kernel blacklist + + system: hostname - sets the systems hostname + + utilities: include_vars -- dynamically load variables based on + conditions. + + packaging: zypper_repository - adds or removes Zypper repositories + + packaging: urpmi - work with urpmi packages + + packaging: swdepot - a module for working with swdepot + + notification: grove - notifies to Grove hosted IRC channels + + web_infrastructure: ejabberd_user: add and remove users to ejabberd + + web_infrastructure: jboss: deploys or undeploys apps to jboss + + source_control: github_hooks: manages GitHub service hooks + + net_infrastructure: bigip_monitor_http: manages F5 BIG-IP LTM http + monitors + + net_infrastructure: bigip_monitor_tcp: manages F5 BIG-IP LTM TCP + monitors + + net_infrastructure: bigip_pool_member: manages F5 BIG-IP LTM pool + members + + net_infrastructure: bigip_node: manages F5 BIG-IP LTM nodes + + net_infrastructure: openvswitch_port + + net_infrastructure: openvswitch_bridge + ------------------------------------------------------------------- Fri Nov 1 15:09:48 UTC 2013 - kgronlund@suse.com diff --git a/ansible.spec b/ansible.spec index 7ed98f9..0033f57 100644 --- a/ansible.spec +++ b/ansible.spec @@ -15,17 +15,18 @@ Name: ansible -Version: 1.3.4 +Version: 1.4 Release: 1 Summary: SSH-based configuration management, deployment, and orchestration engine License: GPL-3.0+ Url: http://www.ansibleworks.com Group: System/Management -# http://ansibleworks.com/releases/ansible-1.3.4.tar.gz +# http://ansibleworks.com/releases/ansible-1.4.tar.gz Source0: %{name}-%{version}.tar.bz2 Source1: %{name}-rpmlintrc -# https://raw.github.com/ansible/ansible/release1.3.4/CHANGELOG.md +# https://raw.github.com/ansible/ansible/release1.4.0/CHANGELOG.md Source2: CHANGELOG.md +# Fireball was removed in 1.3.4 Obsoletes: fireball < 1.3.4 Obsoletes: node-fireball < 1.3.4 Provides: fireball = 1.3.4