diff --git a/CHANGELOG.md b/CHANGELOG.md index e0f95f5ff1d..da50574a792 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ Ansible Changes By Release ========================== -## 1.9 "Dancing In the Street" - ACTIVE DEVELOPMENT +## 2.0 "TBD" - ACTIVE DEVELOPMENT -in progress, details pending +Major Changes: * Add a clone parameter to git module that allows you to get information about a remote repo even if it doesn't exist locally. * Safety changes: several modules have force parameters that defaulted to true. @@ -29,128 +29,137 @@ in progress, details pending * Optimize the plugin loader to cache available plugins much more efficiently. For some use cases this can lead to dramatic improvements in startup time. +New Modules: + +Other Notable Changes: + +## 1.9 "Dancing In the Street" - Mar 25, 2015 + +Major changes: + +* Added kerberos support to winrm connection plugin. +* Tags rehaul: added 'all', 'always', 'untagged' and 'tagged' special tags and normalized + tag resolution. Added tag information to --list-tasks and new --list-tags option. +* Privilege Escalation generalization, new 'Become' system and variables now will + handle existing and new methods. Sudo and su have been kept for backwards compatibility. + New methods pbrun and pfexec in 'alpha' state, planned adding 'runas' for winrm connection plugin. +* Improved ssh connection error reporting, now you get back the specific message from ssh. +* Added facility to document task module return values for registered vars, both for + ansible-doc and the docsite. Documented copy, stats and acl modules, the rest must be + updated individually (we will start doing so incrementally). +* Optimize the plugin loader to cache available plugins much more efficiently. + For some use cases this can lead to dramatic improvements in startup time. +* Overhaul of the checksum system, now supports more systems and more cases more reliably and uniformly. * Fix skipped tasks to not display their parameters if no_log is specified. - * Many fixes to unicode support, standarized functions to make it easier to add to input/output boundries. - * Added travis integration to github for basic tests, this should speed up ticket triage and merging. - * environment: directive now can also be applied to play and is inhertited by tasks, which can still overridde it. - * expanded facts and OS/distribution support for existing facts and improved performance with pypy. - * new 'wantlist' option to lookups allows for selecting a list typed variable vs a commad delimited string as the return. - * the shared module code for file backups now uses a timestamp resolution of seconds (previouslly minutes). - * allow for empty inventories, this is now a warning and not an error (for those using localhost and cloud modules). - * sped up YAML parsing in ansible by up to 25% by switching to CParser loader. -* new filters: - * ternary: allows for trueval/falseval assignement dependint on conditional - * cartesian: returns the cartesian product of 2 lists - * to_uuid: given a string it will return an ansible domain specific UUID - * checksum: uses the ansible internal checksum to return a hash from a string - * hash: get a hash from a string (md5, sha1, etc) - * password_hash: get a hash form as string that can be used as a password in the user module (and others) - * A whole set of ip/network manipulation filters: ipaddr,ipwrap,ipv4,ipv6ipsubnet,nthhost,hwaddr,macaddr +New Modules: -* new lookup plugins (allow fetching data for use in plays): - * dig: does dns resolution and returns IPs. - * url: allows pulling data from a url. +* cryptab: manages linux encrypted block devices +* gce_img: for utilizing GCE image resources +* gluster_volume: manage glusterfs volumes +* haproxy: for the load balancer of same name +* known_hosts: manages the ssh known_hosts file +* lxc_container: manage lxc containers +* patch: allows for patching files on target systems +* pkg5: installing and uninstalling packages on Solaris +* pkg5_publisher: manages Solaris pkg5 repository configuration +* postgresql_ext: manage postgresql extensions +* snmp_facts: gather facts via snmp +* svc: manages daemontools based services +* uptimerobot: manage monitoring with this service -* new callback plugins: +New Filters: + +* ternary: allows for trueval/falseval assignement dependint on conditional +* cartesian: returns the cartesian product of 2 lists +* to_uuid: given a string it will return an ansible domain specific UUID +* checksum: uses the ansible internal checksum to return a hash from a string +* hash: get a hash from a string (md5, sha1, etc) +* password_hash: get a hash form as string that can be used as a password in the user module (and others) +* A whole set of ip/network manipulation filters: ipaddr,ipwrap,ipv4,ipv6ipsubnet,nthhost,hwaddr,macaddr + +Other Notable Changes: + +* New lookup plugins: + * dig: does dns resolution and returns IPs. + * url: allows pulling data from a url. +* New callback plugins: * syslog_json: allows logging play output to a syslog network server using json format - -* new task modules: - * cryptab: manages linux encrypted block devices - * gce_img: for utilizing GCE image resources - * gluster_volume: manage glusterfs volumes - * haproxy: for the load balancer of same name - * known_hosts: manages the ssh known_hosts file - * lxc_container: manage lxc containers - * patch: allows for patching files on target systems - * pkg5: installing and uninstalling packages on Solaris - * pkg5_publisher: manages Solaris pkg5 repository configuration - * postgresql_ext: manage postgresql extensions - * snmp_facts: gather facts via snmp - * svc: manages daemontools based services - * uptimerobot: manage monitoring with this service - - -* module enhancements and notable changes - * vsphere_guest now supports deploying guests from a template - * Multiple new enhancements to the amazon web service modules: - * ec2 now applies all specified security groups when creating a new instance. Previously it was only applying one - * ec2_vol gained the ability to specify the EBS volume type - * ec2_vol can now detach volumes by specifying instance=None - * Fix ec2_group to purge specific grants rather than whole rules - * Added tenancy support for the ec2 module - * rds module has gained the ability to manage tags and set charset and public accessibility - * ec2_snapshot module gained the capability to remove snapshots - * Add alias support for route53 - * Add private_zones support to route53 - * ec2_asg: Add wait_for_instances parameter that waits until an instance is ready before ending the ansible task - * gce gained the ip_forward parameter to forward ip packets - * disk_auto_delete parameter to gce that will remove the boot disk after an instance is destroyed - * gce can now spawn instances with no external ip - * gce_pd gained the ability to choose a disk type - * gce_net gained target_tags parameter for creating firewall rules - * rax module has new parameters for making use of a boot volume - * Add scheduler_hints to the nova_compute module for optional parameters - * Several important docker changes: - * restart_policy parameters to configure when the container automatically restarts - * If the docker client or server doesn't support an option, the task will now fail instead of silently ignoring the option - * Add insecure_registry parameter for connecting to registries via http - * New parameter to set a container's domainname - * Undeprecated docker_image module until there's replacement functionality - * Allow setting the container's pid namespace - * Add a pull parameter that chooses when ansible will look for more recent images in the registry - * docker module states have been greatly enhanced. The reworked and new states are: - * present now creates but does not start containers - * restarted always restarts a container - * reloaded restarts a container if ansible detects that the configuration is different than what is spcified - * reloaded accounts for exposed ports, env vars, and volumes - * Can now connect to the docker server using TLS - * Many fixes for hardlink and softlink handling in file-related modules - * Implement user, group, mode, and selinux parameters for the unarchive module - * authorized_keys can now use url as a key source - * authorized_keys has a new exclusive paameter that determines if keys that weren't specified in the task - * The selinux module now sets the current running state to permissive if state='disabled' - * Can now set accounts to expire via the user module - * Overhaul of the service module to make code simpler and behave better for systems running several popular init systems - * yum module now has a parameter to refresh its cache of package metadata - * apt module gained a build_dep parameter to install a package's build dependencies - * Add parameters to the postgres modules to specify a unix socket to connect to the db - * The mount module now supports bind mounts - * django_manage can now handle - * Add a clone parameter to git module that allows you to get information about a remote repo even if it doesn't exist locally. - * Add a refspec argument to the git module that allows pulling commits that aren't part of a branch - * Safety changes: several modules have force parameters that defaulted to true. - These have been changed to default to false so as not to accidentally lose - work. Playbooks that depended on the former behaviour simply need to add - force=True to the task that needs it. Affected modules: - * bzr: When local modifications exist in a checkout, the bzr module used to - default to removing the modifications on any operation. Now the module - will not remove the modifications unless force=yes is specified. - Operations that depend on a clean working tree may fail unless force=yes is - added. - * git: When local modifications exist in a checkout, the git module will now - fail unless force is explictly specified. Specifying force=yes will allow - the module to revert and overwrite local modifications to make git actions - succeed. - * hg: When local modifications exist in a checkout, the hg module used to - default to removing the modifications on any operation. Now the module - will not remove the modifications unless force=yes is specified. - * subversion: When updating a checkout with local modifications, you now need - to add force=yes so the module will revert the modifications before updating. - - -* new inventory scripts: +* Many new enhancements to the amazon web service modules: + * ec2 now applies all specified security groups when creating a new instance. Previously it was only applying one + * ec2_vol gained the ability to specify the EBS volume type + * ec2_vol can now detach volumes by specifying instance=None + * Fix ec2_group to purge specific grants rather than whole rules + * Added tenancy support for the ec2 module + * rds module has gained the ability to manage tags and set charset and public accessibility + * ec2_snapshot module gained the capability to remove snapshots + * Add alias support for route53 + * Add private_zones support to route53 + * ec2_asg: Add wait_for_instances parameter that waits until an instance is ready before ending the ansible task +* Many new docker improvements: + * restart_policy parameters to configure when the container automatically restarts + * If the docker client or server doesn't support an option, the task will now fail instead of silently ignoring the option + * Add insecure_registry parameter for connecting to registries via http + * New parameter to set a container's domainname + * Undeprecated docker_image module until there's replacement functionality + * Allow setting the container's pid namespace + * Add a pull parameter that chooses when ansible will look for more recent images in the registry + * docker module states have been greatly enhanced. The reworked and new states are: + * present now creates but does not start containers + * restarted always restarts a container + * reloaded restarts a container if ansible detects that the configuration is different than what is spcified + * reloaded accounts for exposed ports, env vars, and volumes + * Can now connect to the docker server using TLS +* Several source control modules had force parameters that defaulted to true. + These have been changed to default to false so as not to accidentally lose + work. Playbooks that depended on the former behaviour simply need to add + force=True to the task that needs it. Affected modules: + * bzr: When local modifications exist in a checkout, the bzr module used to + default to removing the modifications on any operation. Now the module + will not remove the modifications unless force=yes is specified. + Operations that depend on a clean working tree may fail unless force=yes is + added. + * git: When local modifications exist in a checkout, the git module will now + fail unless force is explictly specified. Specifying force=yes will allow + the module to revert and overwrite local modifications to make git actions + succeed. + * hg: When local modifications exist in a checkout, the hg module used to + default to removing the modifications on any operation. Now the module + will not remove the modifications unless force=yes is specified. + * subversion: When updating a checkout with local modifications, you now need + to add force=yes so the module will revert the modifications before updating. +* New inventory scripts: * vbox: virtualbox * consul: use consul as an inventory source - +* gce gained the ip_forward parameter to forward ip packets +* disk_auto_delete parameter to gce that will remove the boot disk after an instance is destroyed +* gce can now spawn instances with no external ip +* gce_pd gained the ability to choose a disk type +* gce_net gained target_tags parameter for creating firewall rules +* rax module has new parameters for making use of a boot volume +* Add scheduler_hints to the nova_compute module for optional parameters +* vsphere_guest now supports deploying guests from a template +* Many fixes for hardlink and softlink handling in file-related modules +* Implement user, group, mode, and selinux parameters for the unarchive module +* authorized_keys can now use url as a key source +* authorized_keys has a new exclusive paameter that determines if keys that weren't specified in the task +* The selinux module now sets the current running state to permissive if state='disabled' +* Can now set accounts to expire via the user module +* Overhaul of the service module to make code simpler and behave better for systems running several popular init systems +* yum module now has a parameter to refresh its cache of package metadata +* apt module gained a build_dep parameter to install a package's build dependencies +* Add parameters to the postgres modules to specify a unix socket to connect to the db +* The mount module now supports bind mounts +* Add a clone parameter to git module that allows you to get information about a remote repo even if it doesn't exist locally. +* Add a refspec argument to the git module that allows pulling commits that aren't part of a branch * Many documentation additions and fixes. ## 1.8.4 "You Really Got Me" - Feb 19, 2015