Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

This PR updates ansible from 2.3.2.0 to 2.5.1.

Changelog

2.5

[Porting Guide](https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.5.html)

Major Changes
* Removed the previously deprecated 'accelerate' mode and all associated keywords and code.
* New simpler and more intuitive 'loop' keyword for task loops. The ``with_<lookup>`` loops will be deprecated in the near future and eventually removed.
* Added fact namespacing, from now on facts will be available under `ansible_facts` namespace (i.e. `ansible_facts.os_distribution`) w/o the `ansible_` prefix.
They will continue to be added into the main namespace directly, but now with a configuration toggle to enable this,
currently on by default, in the future it will be off.
* Add a configuration file to filter modules that a site administrator wants to exclude from being used.

2.4.1

Bugfixes

* Security fix for CVE-2017-7550 the jenkins_plugin module was logging the jenkins
server password if the url_password was passed via the params field:
https://github.com/ansible/ansible/pull/30875
* Update openssl\* module documentation to show openssl-0.16 is the minimum version
* Fix openssl_certificate's csr handling
* Python-3 fixes
* Fix openssl_certificate parameter assertion on Python3
* Fix for python3 and nonascii strings in inventory plugins (https://github.com/ansible/ansible/pull/30666)
* Fix missing urllib in iam_policy
* Fix crypttab module for bytes<=>text string mismatch ( https://github.com/ansible/ansible/pull/30457 )
* Fix lxc_container module combining bytes with text ( https://github.com/ansible/ansible/pull/30572 )
* Fix map doesn't return a list on python3 in ec2_snapshot_facts module (https://github.com/ansible/ansible/pull/30606)
* Fix uri (and other url retrieving) modules when used with a proxy. (https://github.com/ansible/ansible/issues/31109)
* Fix azure_rm dynamic inventory script ConfigParser usage.
* Fix for win_file to respect check mode when deleting directories
* Fix for Ansible.ModuleUtils.Legacy.psm1 to return list params correctly
* Fix for a proper logout in the module ovirt_vms
* Fixed docs for 'password' lookup
* Corrected and added missing feature and porting docs for 2.4
* Fix for Ansible.ModuleUtils.CamelConversion to handle empty lists and lists with one entry
* Fix nxos terminal regex to parse username correctly.
* Fix colors for selective callback
* Fix for 'New password' prompt on 'ansible-vault edit' (https://github.com/ansible/ansible/issues/30491)
* Fix for 'ansible-vault encrypt' with vault_password_file in config and --ask-vault-pass cli (https://github.com/ansible/ansible/pull/30514pullrequestreview-63395903)
* updated porting guide with notes for callbacks and config
* Added backwards compatiblity shim for callbacks that do not inherit from CallbackBase
* Corrected issue with configuration and multiple ini entries being overwriten even when not set.
* backported fix for doc generation (plugin_formatter)
* Fix ec2_lc module for an unknown parameter name (https://github.com/ansible/ansible/pull/30573)
* Change configuration of defaults to use standard jinja2 instead of custom
eval() for using variables in the default field of config (https://github.com/ansible/ansible/pull/30650)
* added missing entry in chlog deprecation
* Fixed precedence and values for become flags and executable settings
* Fix for win_domain_membership to throw more helpful error messages and check/fix when calling WMI function after changing workgroup
* Fix for win_power_plan to compare the OS version's correctly and work on Windows 10/Server 2016
* Fix module doc for typo in telnet command option
* Fix OpenBSD pkg_mgr fact (https://github.com/ansible/ansible/issues/30623)
* Fix encoding error when there are nonascii values in the path to the ssh binary
* removed YAML inventory group name validation, broke existing setups and should be global in any case, and configurable
* performance improvment for inventory, had slown down considerably from 2.3
* Fix cpu facts on sparc64 (https://github.com/ansible/ansible/pull/30261)
* Fix ansible_distribution fact for Arch linux (https://github.com/ansible/ansible/issues/30600)
* remove print statements from play_context/become
* Fix vault errors after 'ansible-vault edit' (https://github.com/ansible/ansible/issues/30575)
* updated api doc example to match api changes
* corrected issues with slack callback plugin
* it is import_playbook .. not import_plays .. docs now reflect this
* fixed typo and missed include/import conversion in import_tasks docs
* updated porting docs with note about inventory_dir
* removed extension requirement for yaml inventory plugin to restore previous behaviour
* fixed ansible-pull to now correctly deal with inventory
* corrected dig lookup docs
* fix type handling for sensu_silence so the module works
* added fix for win_iis_webapppool to correctly handle array elements
* Fix bugs caused by lack of collector ordering like service_mgr being incorrect (https://github.com/ansible/ansible/issues/30753)
* Fix os_image when the id parameter is not set in the task. ( https://github.com/ansible/ansible/pull/29147 )
* Fix for the winrm connection to use proper task vars
* removed typo from dig lookup docs
* Updated win_chocolatey example to be clearer around what should be used with become
* Fix for copy module when permissions are changed but the file contents are not ( https://github.com/ansible/ansible/issues/30556 )
* corrected YAML_FILENAME_EXTENSIONS ini setter as key/section were swapped
* Better error message when a yaml inventory is invalid
* avoid include_Xs conflating vars with options
* Fix aws_s3 module handling `encrypt` option (https://github.com/ansible/ansible/pull/31203)
* Fix for win_msg to document and show error when message is greater than 255 characters
* Fix for win_dotnet_ngen to work after recent regression
* fixed backwards compat method for config
* removed docs for prematurely added ssh specific pipelining settings
* fixed redis cache typo
* Fix AttributeError during inventory group deserialization (https://github.com/ansible/ansible/issues/30903)
* Fix 'ansible-vault encrypt --output=-' (https://github.com/ansible/ansible/issues/30550)
* restore pre 2.4 pipeline configuration options (env and ini)
* Fix win_copy regression: handling of vault-encrypted source files (https://github.com/ansible/ansible/pull/31084)
* Updated return values for win_reg_stat to correctly show what is being returned (https://github.com/ansible/ansible/pull/31252)
* reduced normal error redundancy and verbosity, display on increased and when needed
* Give an informative error instead of a traceback if include_vars dir is file instead of directory (https://github.com/ansible/ansible/pull/31157)
* Fix monit module's version check for color support (https://github.com/ansible/ansible/pull/31212)
* Make `elasticsearch_plugin` module work with both 2.x and 5.x (https://github.com/ansible/ansible/issues/21989)
* Fix for become on Windows to handle ignored errors (https://github.com/ansible/ansible/issues/30468)
* Fix removal of newlines when writing SELinux config (https://github.com/ansible/ansible/issues/30618)
* clarified extension requirement for constructed inv plugin
* really turn off inventory caching, toggle will be added in 2.5
* for inventory sources, dont follow symlinks to calculate base directory, used for group/host_vars
* Port the uptime.py example script to the new inventory API.
* inventory_file variable again returns full path, not just basename
* added info about cwd group/host vars to porting guide
* Fix name parsing out of envra in the yum module
* give user friendly error on badly formatted yaml inventory source
* Fix any_errors_fatal setting in playbooks.
* Fix setting of ssh-extra-args from the cli (https://github.com/ansible/ansible/pull/31326)
* Change SELinux fact behavior to always return a dictionary. (https://github.com/ansible/ansible/issues/18692)
* Revert a fix for using non /bin/sh shells for modules' running commands as
this was causing output from commands to change, thus breaking playbooks.
See the original bug for details and links to the eventual fix:
https://github.com/ansible/ansible/issues/24169
* Do not log data field in `docker_secrets` module (https://github.com/ansible/ansible/pull/31366)
* Fix rpm_key taking the wrong 8 chars from the keyid (https://github.com/ansible/ansible/pull/31045)
* chown errors now more informative
* Fix for win_copy to copy a source file that has invalid windows characters in the filename, the dest still must be have valid windows characters (https://github.com/ansible/ansible/issues/31336issuecomment-334649927)
* Fix systemd module to not run daemon-reload in check mode.
* fixed some parsing and selection issues with inventory manager, fixed minor bugs in yaml and constructed plugins
* Fix the ping module documentation to reference win_ping instead of itself: https://github.com/ansible/ansible/pull/31444
* Fix for ec2_win_password to allow blank key_passphrase again (https://github.com/ansible/ansible/pull/28791)
* added toggle for vars_plugin behaviour to execute relative to playbook, set default to revert to previous way.
* Fix for win_copy to not remove destination file on change when in check mode (https://github.com/ansible/ansible/pull/31469)
* Fix include_role usage of role_name (https://github.com/ansible/ansible/pull/31463)
* Fix service and package forcing a second run of the setup module to function (https://github.com/ansible/ansible/issues/31485)
* Better error message when attempting to use include or import with /usr/bin/ansible (https://github.com/ansible/ansible/pull/31492/)
* Fix `sysctl` module to remove etries when `state=absent` (https://github.com/ansible/ansible/issues/29920)
* Fix for ec2_group to avoid trying to iterate over None (https://github.com/ansible/ansible/pull/31531)
* Fix for ec2_group for a possible KeyError bug (https://github.com/ansible/ansible/pull/31540)
* Fix for the rpm_key module when importing the first gpg key on a system (https://github.com/ansible/ansible/pull/31514)
* Fix for aws_s3 metadata to use the correct parameters when uploading a file (https://github.com/ansible/ansible/issues/31232)
* Fix for the yum module when installing from file/url crashes (https://github.com/ansible/ansible/pull/31529)
* Improved error messaging for Windows become/runas when username is bogus (https://github.com/ansible/ansible/pull/31551)
* Fix rollback feature in junos_config to now allow configuration rollback on device (https://github.com/ansible/ansible/pull/31424)
* Remove command executed log from ansible-connection (https://github.com/ansible/ansible/pull/31581)
* Fix relative paths to be relative to config file when there is no playbook available (https://github.com/ansible/ansible/issues/31533)
* Fix Inventory plugins to use the configured inventory plugin path (https://github.com/ansible/ansible/issues/31605)
* Fix include task to be dynamic (https://github.com/ansible/ansible/issues/31593)
* A couple fixes to the test process to account for new testing resources in
our ci system and an upstream cryptography update that didn't work with
pip-8.x
* Document backup_path in a few dellos modules and vyos_config (https://github.com/ansible/ansible/issues/31844)
* Fix for vmware_vm_facts with dangling inaccessible VM which don't have MAC addresses (https://github.com/ansible/ansible/pull/31629)
* Fix for win_regedit sending extra data that could confuse ansible's result parsing (https://github.com/ansible/ansible/pull/31813)
* Fix git module to correctly cleanup temporary dirs (https://github.com/ansible/ansible/pull/31541)
* Fix for modules which use atomic_move() to rename files raising an exception
if a file could not be opened.  Fix will return a nice error message instead:
https://github.com/ansible/ansible/issues/31786
* Fix ansible-doc and ansible-console module-path option (https://github.com/ansible/ansible/pull/31744)
* Fix for hostname module on RHEL 7.5 (https://github.com/ansible/ansible/issues/31811)
* Fix provider password leak in logs for asa modules (https://github.com/ansible/ansible/issues/32343)
* Fix tagging for dynamodb_table if region is not explicitly passed to the module (https://github.com/ansible/ansible/pull/32557)
* Fix Python 3 decode error in `cloudflare_dns` (https://github.com/ansible/ansible/pull/32065)

Known Bugs
* Implicit localhost is getting ansible_connection from all:vars instead of
from the implicit localhost definition (https://github.com/ansible/ansible/issues/31420)

<a id="2.4"></a>

2.4

Major Changes

* Support for Python-2.4 and Python-2.5 on the managed system's side was dropped. If you need to manage a system that ships with Python-2.4 or Python-2.5, you'll need to install Python-2.6 or better on the managed system or run Ansible-2.3 until you can upgrade the system.
* New import/include keywords to replace the old bare `include` directives. The use of `static: {yes|no}` on such includes is now deprecated.
 - Using `import_*` (`import_playbook`, `import_tasks`, `import_role`) directives are static.
 - Using `include_*` (`include_tasks`, `include_role`) directives are dynamic.
This is done to avoid collisions and possible security issues as facts come from the remote targets and they might be compromised.
* New `order` play level keyword that allows the user to change the order in which Ansible processes hosts when dispatching tasks.
* Users can now set group merge priority for groups of the same depth (parent child relationship), using the new `ansible_group_priority` variable, when values are the same or don't exist it will fallback to the previous sorting by name'.
* Inventory has been revamped:
- Inventory classes have been split to allow for better management and deduplication
- Logic that each inventory source duplicated is now common and pushed up to reconciliation
- VariableManager has been updated for better interaction with inventory
- Updated CLI with helper method to initialize base objects for plays
- New inventory plugins for creating inventory
- Old inventory formats are still supported via plugins
- Inline host_list is also an inventory plugin, an example alternative `advanced_host_list` is also provided (it supports ranges)
- New configuration option to list enabled plugins and precedence order `[inventory]enable_plugins` in ansible.cfg
- vars_plugins have been reworked, they are now run from Vars manager and API has changed (need docs)
- Loading group_vars/host_vars is now a vars plugin and can be overridden
- It is now possible to specify multiple inventory sources in the command line (-i /etc/hosts1 -i /opt/hosts2)
- Inventory plugins can use the cache plugin (i.e. virtualbox) and is affected by `meta: refresh_inventory`
- Group variable precedence is now configurable via new 'precedence' option in ansible.cfg (needs docs)
- Improved warnings and error messages across the board
* Configuration has been changed from a hardcoded listing in the constants module to dynamically loaded from yaml definitions
- Also added an ansible-config CLI to allow for listing config options and dumping current config (including origin)
- TODO: build upon this to add many features detailed in ansible-config proposal https://github.com/ansible/proposals/issues/35
* Windows modules now support the use of multiple shared module_utils files in the form of Powershell modules (.psm1), via `Requires -Module Ansible.ModuleUtils.Whatever.psm1`
* Python module argument_spec now supports custom validation logic by accepting a callable as the `type` argument.
* Windows become_method: runas is no longer marked `experimental`
* Windows become_method: runas now works across all authtypes and will auto-elevate under UAC if WinRM user has "Act as part of the operating system" privilege

Deprecations
* The behaviour when specifying `--tags` (or `--skip-tags`) multiple times on the command line
has changed so that the tags are merged together by default.  See the
documentation for how to temporarily use the old behaviour if needed:
https://docs.ansible.com/ansible/intro_configuration.htmlmerge-multiple-cli-tags
* The `fetch` module's `validate_md5` parameter has been deprecated and will be
removed in 2.8.  If you wish to disable post-validation of the downloaded
file, use validate_checksum instead.
* Those using ansible as a library should note that the `ansible.vars.unsafe_proxy`
module is deprecated and slated to go away in 2.8.  The functionality has been
moved to `ansible.utils.unsafe_proxy` to avoid a circular import.
* The win_get_url module has the dictionary 'win_get_url' in its results deprecated,
its content is now also available directly in the resulting output, like other modules.
* Previously deprecated 'hostfile' config settings have been 're-deprecated' as before the code did not warn about deprecated configuration settings, but it does now.

2.3.3

Bugfixes
* Fix alternatives module handlling of non existing options
* Fix synchronize traceback with the docker connection plugin
* Do not escape backslashes in the template lookup plugin to mirror what the template module does
* Fix the expires option of the postgresq_user module
* Fix for win_acl when settings permissions on registry objects that use `ALL APPLICATION PACKAGES` and `ALL RESTRICTED APPLICATION PACKAGES`
* Python3 fixes
* asorted azure modules
* pause module
* hacking/env-setup script
* Fix traceback when checking for passwords in logged strings when logging executed commands.
* docker_login module
* Workaround python-libselinux API change in the seboolean module
* digital_ocean_tag module
* Fix the zip filter
* Fix user module combining bytes and text
* Fix for security groups in the amazon efs module
* Fix for the jail connection plugin not finding the named jail
* Fix for blockinfile's parameters insertbefore and insertafter
* ios_config: Fix traceback when the efaults parameter is not set
* iosxr_config: Fixed unicode error when UTF-8 characters are in configs
* Fix check mode in archive module
* Fix UnboundLocalError in check mode in cs_role module
* Fix to always use lowercase hostnames for host keys in known_hosts module
* Added missing return results for win_stat
* Fix rabbitmq modules to give a helpful error if requests is not installed
* Fix yum module not deleting rpms that it downloaded
* Fix yum module failing with a URL to an rpm
* Fix file module inappropriately expanding literal dollar signs in a path read
from the filesystem as an environment variable.
* Fix the ssh "smart" transport setting which automatically selects the best means of
transferring files over ssh (sftp, ssh, piped).
* Fix authentication by api_key parameter in exoscale modules.
* vmware module_utils shared code ssl/validate_certs fixes in connection logic
* allow 'bridge' facts to work for certain containers that create conflicting ones with connection plugins
* Fix for win_get_url to use TLS 1.2/1.1 if it is available on the host
* Fix for the filetree lookup with non-ascii group names
* Better message for invalid keywords/options in task due to undefined expressions
* Fixed check mode for enable on Solaris for service module
* Fix cloudtrail module to allow AWS profiles other than the default
* Fix an encoding issue with secret (password) vars_prompts

<a id="2.3.2"></a>
Links

@pyup-bot pyup-bot mentioned this pull request Apr 19, 2018
@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #80

@pyup-bot pyup-bot closed this Apr 26, 2018
@vrutkovs vrutkovs deleted the pyup-update-ansible-2.3.2.0-to-2.5.1 branch April 26, 2018 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants