Skip to content
This repository has been archived by the owner on Nov 10, 2024. It is now read-only.

Initial Update #1

Merged
merged 11 commits into from
Nov 6, 2017
Merged

Initial Update #1

merged 11 commits into from
Nov 6, 2017

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Nov 6, 2017

This is my first visit to this fine repo so I have bundled all updates in a single pull request to make things easier for you to merge.

Close this pull request and delete the branch if you want me to start with single pull requests right away

Here's the executive summary:

Updates

Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.

click 6.7 » 6.7 PyPI | Changelog | Repo
ansible_vault 1.1.1 » 1.1.1 PyPI | Changelog | Repo
ansible 2.4.1.0 » 2.4.1.0 PyPI | Changelog | Repo | Homepage
ruamel.yaml 0.15.34 » 0.15.34 PyPI | Changelog | Repo
pip 9.0.1 » 9.0.1 PyPI | Changelog | Homepage
bumpversion 0.5.3 » 0.5.3 PyPI | Changelog | Repo
wheel 0.30.0 » 0.30.0 PyPI | Changelog | Repo
cryptography 2.1.3 » 2.1.3 PyPI | Changelog | Repo
PyYAML 3.12 » 3.12 PyPI | Changelog | Homepage
pytest 3.2.3 » 3.2.3 PyPI | Changelog | Repo | Homepage
pytest-runner 3.0 » 3.0 PyPI | Changelog | Repo

Changelogs

click -> 6.7

6.7


(bugfix release; released on January 6th 2017)

  • Make click.progressbar work with codecs.open files. See 637.
  • Fix bug in bash completion with nested subcommands. See 639.
  • Fix test runner not saving caller env correctly. See 644.
  • Fix handling of SIGPIPE. See 626
  • Deal with broken Windows environments such as Google App Engine's. See 711.

6.6


(bugfix release; released on April 4th 2016)

  • Fix bug in click.Path where it would crash when passed a -. See 551.

6.4


(bugfix release; released on March 24th 2016)

  • Fix bug in bash completion where click would discard one or more trailing
    arguments. See 471.

6.3


(bugfix release; released on February 22 2016)

  • Fix argument checks for interpreter invoke with -m and -c
    on Windows.
  • Fixed a bug that cased locale detection to error out on Python 3.

6.2


(bugfix release, released on November 27th 2015)

  • Correct fix for hidden progress bars.

6.1


(bugfix release, released on November 27th 2015)

  • Resolved an issue with invisible progress bars no longer rendering.
  • Disable chain commands with subcommands as they were inherently broken.
  • Fix MissingParameter not working without parameters passed.

6.0


(codename "pow pow", released on November 24th 2015)

  • Optimized the progressbar rendering to not render when it did not
    actually change.
  • Explicitly disallow nargs=-1 with a set default.
  • The context is now closed before it's popped from the stack.
  • Added support for short aliases for the false flag on toggles.
  • Click will now attempt to aid you with debugging locale errors
    better by listing with the help of the OS what locales are
    available.
  • Click used to return byte strings on Python 2 in some unit-testing
    situations. This has been fixed to correctly return unicode strings
    now.
  • For Windows users on Python 2, Click will now handle Unicode more
    correctly handle Unicode coming in from the system. This also has
    the disappointing side effect that filenames will now be always
    unicode by default in the Path type which means that this can
    introduce small bugs for code not aware of this.
  • Added a type parameter to Path to force a specific string type
    on the value.
  • For users running Python on Windows the echo) and prompt functions
    now work with full unicode functionality in the Python windows console
    by emulating an output stream. This also applies to getting the
    virtual output and input streams via click.get_text_stream(...).
  • Unittests now always force a certain virtual terminal width.
  • Added support for allowing dashes to indicate standard streams to the
    Path type.
  • Multi commands in chain mode no longer propagate arguments left over
    from parsing to the callbacks. It's also now disallowed through an
    exception when optional arguments are attached to multi commands if chain
    mode is enabled.
  • Relaxed restriction that disallowed chained commands to have other
    chained commands as child commands.
  • Arguments with positive nargs can now have defaults implemented.
    Previously this configuration would often result in slightly unexpected
    values be returned.

5.1


(bugfix release, released on 17th August 2015)

  • Fix a bug in pass_obj that would accidentally pass the context too.

5.0


(codename "tok tok", released on 16th August 2015)

  • Removed various deprecated functionality.
  • Atomic files now only accept the w mode.
  • Change the usage part of help output for very long commands to wrap
    their arguments onto the next line, indented by 4 spaces.
  • Fix a bug where return code and error messages were incorrect when
    using CliRunner.
  • added get_current_context.
  • added a meta dictionary to the context which is shared across the
    linked list of contexts to allow click utilities to place state there.
  • introduced Context.scope.
  • The echo function is now threadsafe: It calls the write method of the
    underlying object only once.
  • prompt(hide_input=True) now prints a newline on ^C.
  • Click will now warn if users are using unicode_literals.
  • Click will now ignore the PAGER environment variable if it is empty or
    contains only whitespace.
  • The click-contrib GitHub organization was created.

4.1


(bugfix release, released on July 14th 2015)

  • Fix a bug where error messages would include a trailing None string.
  • Fix a bug where Click would crash on docstrings with trailing newlines.
  • Support streams with encoding set to None on Python 3 by barfing with
    a better error.
  • Handle ^C in less-pager properly.
  • Handle return value of None from sys.getfilesystemencoding
  • Fix crash when writing to unicode files with click.echo.
  • Fix type inference with multiple options.

4.0


(codename "zoom zoom", released on March 31st 2015)

  • Added color parameters to lots of interfaces that directly or indirectly
    call into echoing. This previously was always autodetection (with the
    exception of the echo_via_pager function). Now you can forcefully
    enable or disable it, overriding the auto detection of Click.
  • Added an UNPROCESSED type which does not perform any type changes which
    simplifies text handling on 2.x / 3.x in some special advanced usecases.
  • Added NoSuchOption and BadOptionUsage exceptions for more generic
    handling of errors.
  • Added support for handling of unprocessed options which can be useful in
    situations where arguments are forwarded to underlying tools.
  • Added max_content_width parameter to the context which can be used to
    change the maximum width of help output. By default Click will not format
    content for more than 80 characters width.
  • Added support for writing prompts to stderr.
  • Fix a bug when showing the default for multiple arguments.
  • Added support for custom subclasses to option and argument.
  • Fix bug in clear() on Windows when colorama is installed.
  • Reject nargs=-1 for options properly. Options cannot be variadic.
  • Fixed an issue with bash completion not working properly for commands with
    non ASCII characters or dashes.
  • Added a way to manually update the progressbar.
  • Changed the formatting of missing arguments. Previously the internal
    argument name was shown in error messages, now the metavar is shown if
    passed. In case an automated metavar is selected, it's stripped of
    extra formatting first.

3.3


(bugfix release, released on September 8th 2014)

  • Fixed an issue with error reporting on Python 3 for invalid forwarding
    of commands.

3.2


(bugfix release, released on August 22nd 2014)

  • Added missing err parameter forwarding to the secho function.
  • Fixed default parameters not being handled properly by the context
    invoke method. This is a backwards incompatible change if the function
    was used improperly. See :ref:upgrade-to-3.2 for more information.
  • Removed the invoked_subcommands attribute largely. It is not possible
    to provide it to work error free due to how the parsing works so this
    API has been deprecated. See :ref:upgrade-to-3.2 for more information.
  • Restored the functionality of invoked_subcommand which was broken as
    a regression in 3.1.

3.1


(bugfix release, released on August 13th 2014)

  • Fixed a regression that caused contexts of subcommands to be
    created before the parent command was invoked which was a
    regression from earlier Click versions.

3.0


(codename "clonk clonk", released on August 12th 2014)

  • formatter now no longer attempts to accomodate for terminals
    smaller than 50 characters. If that happens it just assumes
    a minimal width.
  • added a way to not swallow exceptions in the test system.
  • added better support for colors with pagers and ways to
    override the autodetection.
  • the CLI runner's result object now has a traceback attached.
  • improved automatic short help detection to work better with
    dots that do not terminate sentences.
  • when definining options without actual valid option strings
    now, Click will give an error message instead of silently
    passing. This should catch situations where users wanted to
    created arguments instead of options.
  • Restructured Click internally to support vendoring.
  • Added support for multi command chaining.
  • Added support for defaults on options with multiple and
    options and arguments with nargs != 1.
  • label passed to progressbar is no longer rendered with
    whitespace stripped.
  • added a way to disable the standalone mode of the main
    method on a Click command to be able to handle errors better.
  • added support for returning values from command callbacks.
  • added simplifications for printing to stderr from echo.
  • added result callbacks for groups.
  • entering a context multiple times defers the cleanup until
    the last exit occurs.
  • added open_file.

2.6


(bugfix release, released on August 11th 2014)

  • Fixed an issue where the wrapped streams on Python 3 would be reporting
    incorrect values for seekable.

2.5


(bugfix release, released on July 28th 2014)

  • Fixed a bug with text wrapping on Python 3.

2.4


(bugfix release, released on July 4th 2014)

  • Corrected a bug in the change of the help option in 2.3.

2.3


(bugfix release, released on July 3rd 2014)

  • Fixed an incorrectly formatted help record for count options.'
  • Add support for ansi code stripping on Windows if colorama
    is not available.
  • restored the Click 1.0 handling of the help parameter for certain
    edge cases.

2.2


(bugfix release, released on June 26th 2014)

  • fixed tty detection on PyPy.
  • fixed an issue that progress bars were not rendered when the
    context manager was entered.

2.1


(bugfix release, released on June 14th 2014)

  • fixed the :func:launch function on windows.
  • improved the colorama support on windows to try hard to not
    screw up the console if the application is interrupted.
  • fixed windows terminals incorrectly being reported to be 80
    characters wide instead of 79
  • use colorama win32 bindings if available to get the correct
    dimensions of a windows terminal.
  • fixed an issue with custom function types on Python 3.
  • fixed an issue with unknown options being incorrectly reported
    in error messages.

2.0


(codename "tap tap tap", released on June 6th 2014)

  • added support for opening stdin/stdout on Windows in
    binary mode correctly.
  • added support for atomic writes to files by going through
    a temporary file.
  • introduced :exc:BadParameter which can be used to easily perform
    custom validation with the same error messages as in the type system.
  • added :func:progressbar; a function to show progress bars.
  • added :func:get_app_dir; a function to calculate the home folder
    for configs.
  • Added transparent handling for ANSI codes into the :func:echo
    function through colorama.
  • Added :func:clear function.
  • Breaking change: parameter callbacks now get the parameter object
    passed as second argument. There is legacy support for old callbacks
    which will warn but still execute the script.
  • Added :func:style, :func:unstyle and :func:secho for ANSI
    styles.
  • Added an :func:edit function that invokes the default editor.
  • Added an :func:launch function that launches browsers and applications.
  • nargs of -1 for arguments can now be forced to be a single item through
    the required flag. It defaults to not required.
  • setting a default for arguments now implicitly makes it non required.
  • changed "yN" / "Yn" to "y/N" and "Y/n" in confirmation prompts.
  • added basic support for bash completion.
  • added :func:getchar to fetch a single character from the terminal.
  • errors now go to stderr as intended.
  • fixed various issues with more exotic parameter formats like DOS/Windows
    style arguments.
  • added :func:pause which works similar to the Windows pause cmd
    built-in but becomes an automatic noop if the application is not run
    through a terminal.
  • added a bit of extra information about missing choice parameters.
  • changed how the help function is implemented to allow global overriding
    of the help option.
  • added support for token normalization to implement case insensitive handling.
  • added support for providing defaults for context settings.

1.1


(bugfix release, released on May 23rd 2014)

  • fixed a bug that caused text files in Python 2 to not accept
    native strings.

1.0


(no codename, released on May 21st 2014)

  • Initial release.

ansible_vault -> 1.1.1

1.1.1

  • Fix setup.py.

1.1.0

  • Fix Ansible 2.4 problem.
  • Update src directory structure and split test dir.
  • Add GPLv3 text to source code top.
  • Add setup_release option from setup.cfg.
  • Update test somethings.
  • Remove PyTest class from setup.py.

1.0.5

  • Update to use yaml.safe_load().
  • Update to tomoh1r.

1.0.4

  • Apply to Ansible 2.
  • Add unit tests.

1.0.3

  • Fix README.rst typo.

1.0.2

  • Shipped with python modules.

1.0.1

  • Add python module.
  • Add CHANGES.txt.
  • Update url on setup.py.

1.0.0

  • First release.

ansible -> 2.4.1.0

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 mulitple 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 ansible-config ansible/proposals#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 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.
  • previouslly deprecated 'hostfile' config settings have been 're-deprecated' as before the code did not warn about deprecated configuration settings, but it does now.

2.4.0

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>

2.3.2

2.3.1

2.3

Moving to Ansible 2.3 guide http://docs.ansible.com/ansible/porting_guide_2.3.html

Major Changes

  • Documented and renamed the previously released 'single var vaulting' feature, allowing user to use vault encryption for single variables in a normal YAML vars file.
  • Allow module_utils for custom modules to be placed in site-specific directories and shipped in roles
  • On platforms that support it, use more modern system polling API instead of select in the ssh connection plugin.
    This removes one limitation on how many parallel forks are feasible on these systems.
  • Windows/WinRM supports (experimental) become method "runas" to run modules and scripts as a different user, and to transparently access network resources.
  • The WinRM connection plugin now uses pipelining when executing modules, resulting in significantly faster execution for small tasks.
  • The WinRM connection plugin can now manage Kerberos tickets automatically when ansible_winrm_transport=kerberos and ansible_user/ansible_password are specified.
  • Refactored/standardized most Windows modules, adding check-mode and diff support where possible.
  • Extended Windows module API with parameter-type support, helper functions. (i.e. Expand-Environment, Add-Warning, Add-DeprecatationWarning)
  • restructured how async works to allow it to apply to action plugins that choose to support it.

Minor Changes

  • The version and release facts for OpenBSD hosts were reversed.
    This has been changed so that version has the numeric portion and release has the name of the release.
  • removed 'package' from default squash actions as not all package managers support it and it creates errors when using loops,
    any user can add back via config options if they don't use those package managers or otherwise avoid the errors.
  • Blocks can now have a name field, to aid in playbook readability.
  • default strategy is now configurable via ansible.cfg or environment variable.
  • Added 'ansible_playbook_python' which contains 'current python executable', it can be blank in some cases in which Ansible is not invoked via the standard CLI (sys.executable limitation).
  • Added 'metadata' to modules to enable classification
  • ansible-doc now displays path to module and existing 'metadata'
  • added optional 'piped' transfer method to ssh plugin for when scp and sftp are missing, ssh plugin is also now 'smarter' when using these options
  • default controlpersist path is now a custom hash of host-port-user to avoid the socket path length errors for long hostnames
  • Various fixes for Python3 compatibility
  • Fixed issues with inventory formats not handling 'all' and 'ungrouped' in an uniform way.
  • 'service' tasks can now use async again, we had lost this capability when changed into an action plugin.
  • made any_errors_fatal inheritable from play to task and all other objects in between.
  • many small performance improvements in inventory and variable handling and in task execution.
  • Added a retry class to the ec2_asg module since customers were running into throttling errors (AWSRetry is a solution for modules using boto3 which isn't applicable here).

Deprecations

  • Specifying --tags (or --skip-tags) multiple times on the command line
    currently leads to the last one overriding all the previous ones. This behaviour is deprecated.
    In the future, if you specify --tags multiple times the tags will be merged together.
    From now on, using --tags multiple times on one command line will emit a deprecation warning.
    Setting the merge_multiple_cli_tags option to True in the ansible.cfg file will enable the new behaviour.
    In 2.4, the default will be to merge and you can enable the old overwriting behaviour via the config option.
    In 2.5, multiple --tags options will be merged with no way to go back to the old behaviour.
  • Modules (scheduled for removal in 2.5)
  • ec2_vpc
  • cl_bond
  • cl_bridge
  • cl_img_install
  • cl_interface
  • cl_interface_policy
  • cl_license
  • cl_ports
  • nxos_mtu, use nxos_system instead

New: Callbacks

  • dense: minimal stdout output with fallback to default when verbose

New: lookups

  • keyring: allows getting password from the 'controller' system's keyrings
  • chef_databag: allows querying Chef Databags via pychef library

New: cache

  • pickle (uses python's own serializer)
  • yaml

New: inventory scripts

  • oVirt/RHV

New: filters

  • combinations
  • permutations
  • zip
  • zip_longest

Module Notes

  • AWS lambda: previously ignored changes that only affected one parameter. Existing deployments may have outstanding changes that this bugfix will apply.
  • oVirt/RHV: Added support for 4.1 features and the following:
  • data centers, clusters, hosts, storage domains and networks management.
  • hosts and virtual machines affinity groups and labels.
  • users, groups and permissions management.
  • Improved virtual machines and disks management.
  • Mount: Some fixes so bind mounts are not mounted each time the playbook runs.

New Modules

  • a10_server_axapi3
  • amazon:
  • aws_kms
  • cloudfront_facts
  • ec2_group_facts
  • ec2_lc_facts
  • ec2_vpc_igw_facts
  • ec2_vpc_nat_gateway_facts
  • ec2_vpc_vgw_facts
  • ecs_ecr
  • elasticache_parameter_group
  • elasticache_snapshot
  • iam_role
  • s3_sync
  • archive
  • beadm
  • bigswitch:
  • bigmon_chain
  • bigmon_policy
  • cisco
  • cisco_spark
  • cloudengine:
  • ce_command
  • cloudscale_server
  • cloudstack:
  • cs_host
  • cs_nic
  • cs_region
  • cs_role
  • cs_vpc
  • dimensiondata_network
  • eos:
  • eos_banner
  • eos_system
  • eos_user
  • f5:
  • bigip_gtm_facts
  • bigip_hostname
  • bigip_snat_pool
  • bigip_sys_global
  • foreman:
  • foreman
  • katello
  • fortios
  • fortios_config
  • gconftool2
  • google:
  • gce_eip
  • gce_snapshot
  • gcpubsub
  • gcpubsub_facts
  • hpilo:
  • hpilo_boot
  • hpilo_facts
  • hponcfg
  • icinga2_feature
  • illumos:
  • dladm_iptun
  • dladm_linkprop
  • dladm_vlan
  • ipadm_addr
  • ipadm_addrprop
  • ipadm_ifprop
  • infinidat:
  • infini_export
  • infini_export_client
  • infini_fs
  • infini_host
  • infini_pool
  • infini_vol
  • ipa:
  • ipa_group
  • ipa_hbacrule
  • ipa_host
  • ipa_hostgroup
  • ipa_role
  • ipa_sudocmd
  • ipa_sudocmdgroup
  • ipa_sudorule
  • ipa_user
  • ipinfoio_facts
  • ios:
  • ios_banner
  • ios_system
  • ios_vrf
  • iosxr_system
  • iso_extract
  • java_cert
  • jenkins_script
  • ldap:
  • ldap_attr
  • ldap_entry
  • logstash_plugin
  • mattermost
  • net_command
  • netapp:
  • sf_account_manager
  • sf_snapshot_schedule_manager
  • sf_volume_manager
  • sf_volume_access_group_manager
  • nginx_status_facts
  • nsupdate
  • omapi_host
  • openssl:
  • openssl_privatekey
  • openssl_publickey
  • openstack:
  • os_nova_host_aggregate
  • os_quota
  • openwrt_init
  • ordnance:
  • ordnance_config
  • ordnance_facts
  • ovirt:
  • ovirt_affinity_groups
  • ovirt_affinity_labels
  • ovirt_affinity_labels_facts
  • ovirt_clusters
  • ovirt_clusters_facts
  • ovirt_datacenters
  • ovirt_datacenters_facts
  • ovirt_external_providers
  • ovirt_external_providers_facts
  • ovirt_groups
  • ovirt_groups_facts
  • ovirt_host_networks
  • ovirt_host_pm
  • ovirt_hosts
  • ovirt_hosts_facts
  • ovirt_mac_pools
  • ovirt_networks
  • ovirt_networks_facts
  • ovirt_nics
  • ovirt_nics_facts
  • ovirt_permissions
  • ovirt_permissions_facts
  • ovirt_quotas
  • ovirt_quotas_facts
  • ovirt_snapshots
  • ovirt_snapshots_facts
  • ovirt_storage_domains
  • ovirt_storage_domains_facts
  • ovirt_tags
  • ovirt_tags_facts
  • ovirt_templates
  • ovirt_templates_facts
  • ovirt_users
  • ovirt_users_facts
  • ovirt_vmpools
  • ovirt_vmpools_facts
  • ovirt_vms_facts
  • pacemaker_cluster
  • packet:
  • packet_device
  • packet_sshkey
  • pamd
  • panos:
  • panos_address
  • panos_admin
  • panos_admpwd
  • panos_cert_gen_ssh
  • panos_check
  • panos_commit
  • panos_dag
  • panos_import
  • panos_interface
  • panos_lic
  • panos_loadcfg
  • panos_mgtconfig
  • panos_nat_policy
  • panos_pg
  • panos_restart
  • panos_security_policy
  • panos_service
  • postgresql_schema
  • proxmox_kvm
  • proxysql:
  • proxysql_backend_servers
  • proxysql_global_variables
  • proxysql_manage_config
  • proxysql_mysql_users
  • proxysql_query_rules
  • proxysql_replication_hostgroups
  • proxysql_scheduler
  • pubnub_blocks
  • pulp_repo
  • runit
  • serverless
  • set_stats
  • panos:
  • panos_security_policy
  • smartos:
  • imgadm
  • vmadm
  • sorcery
  • stacki_host
  • swupd
  • tempfile
  • tower:
  • tower_credential
  • tower_group
  • tower_host
  • tower_inventory
  • tower_job_template
  • tower_label
  • tower_organization
  • tower_project
  • tower_role
  • tower_team
  • tower_user
  • vmware:
  • vmware_guest_facts
  • vmware_guest_snapshot
  • web_infrastructure:
  • jenkins_script
  • system
  • parted
  • windows:
  • win_disk_image
  • win_dns_client
  • win_domain
  • win_domain_controller
  • win_domain_membership
  • win_find
  • win_msg
  • win_path
  • win_psexec
  • win_reg_stat
  • win_region
  • win_say
  • win_shortcut
  • win_tempfile
  • xbps
  • zfs:
  • zfs_facts
  • zpool_facts

<a id="2.2.1"></a>

2.3.0

2.2.3

2.2.2

2.2.1

2.2

Major Changes:

  • Added the listen feature for modules. This feature allows tasks to more easily notify multiple handlers, as well as making it easier for handlers from decoupled roles to be notified.
  • Major performance improvements.
  • Added support for binary modules
  • Added the ability to specify serial batches as a list (serial: [1, 5, 10]), which allows for so-called "canary" actions in one play.
  • Fixed 'local type' plugins and actions to have a more predictable relative path. Fixes a regression of 1.9 (PR 16805). Existing users of 2.x will need to adjust related tasks.
  • meta tasks can now use conditionals.
  • raw now returns changed: true to be consistent with shell/command/script modules. Add changed_when: false to raw tasks to restore the pre-2.2 behavior if necessary.
  • New privilege escalation become method ksu
  • Windows async: support for long-running or background tasks.
  • Windows environment: support for setting module environment vars in play/task.
  • Added a new meta option: end_play, which can be used to skip to the end of a play.
  • roles can now be included in the middle of a task list via the new include_role module, this also allows for making the role import 'loopable' and/or conditional.
  • The service module has been changed to use system specific modules if they exist and fall back to the old service module if they cannot be found or detected.
  • Add ability to specify what ssh client binary to use on the controller. This
    can be configured via ssh_executable in the ansible config file or by setting
    ansible_ssh_executable as an inventory variable if different ones are needed
    for different hosts.
  • Windows:
  • several facts were modified or renamed for consistency with their Unix counterparts, and many new facts were added. If your playbooks rely on any of the following keys, please ensure they are using the correct key names and/or values:
    • ansible_date_time.date (changed to use yyyy-mm-dd format instead of default system-locale format)
    • ansible_date_time.iso8601 (changed to UTC instead of local time)
    • ansible_distribution (now uses OS caption string, e.g.: "Microsoft Windows Server 2012 R2 Standard", version is still available on ansible_distribution_version)
    • ansible_totalmem (renamed to ansible_memtotal_mb, units changed to MB instead of bytes)
  • async: support for long-running or background tasks.
  • environment: support for setting module environment vars in play/task.
  • Tech Preview: Work has been done to get Ansible running under Python3. This work is not complete enough to depend upon in production environments but it is enough to begin testing it.
  • Most of the controller side should now work. Users should be able to run python3 /usr/bin/ansible and python3 /usr/bin/ansible-playbook and have core features of ansible work.
  • A few of the most essential modules have been audited and are known to work. Others work out of the box.
  • We are using unit and integration tests to help us port code and not regress later. Even if you are not familiar with python you can still help by contributing integration tests (just ansible roles) that exercise more of the code to make sure it continues to run on both Python2 and Python3.
  • scp_if_ssh now supports True, False and "smart". "smart" is the default and will retry failed sftp transfers with scp.
  • Network:
  • Refactored all network modules to remove duplicate code and take advantage of Ansiballz implementation
  • All functionality from *_template network modules have been combined into *_config module
  • Network *_command modules not longer allow configuration mode statements

New Modules

  • apache2_mod_proxy
  • asa
  • asa_acl
  • asa_command
  • asa_config
  • atomic
  • atomic_host
  • atomic_image
  • aws
  • cloudformation_facts
  • ec2_asg_facts
  • ec2_customer_gateway
  • ec2_lc_find
  • ec2_vpc_dhcp_options_facts
  • ec2_vpc_nacl
  • ec2_vpc_nacl_facts
  • ec2_vpc_nat_gateway
  • ec2_vpc_peer
  • ec2_vpc_vgw
  • efs
  • efs_facts
  • execute_lambda
  • iam_mfa_device_facts
  • iam_server_certificate_facts
  • kinesis_stream
  • lambda
  • lambda_alias
  • lambda_event
  • lambda_facts
  • redshift
  • redshift_subnet_group
  • s3_website
  • sts_session_token
  • cloudstack
  • cs_router
  • cs_snapshot_policy
  • dellos6
  • dellos6_command
  • dellos6_config
  • dellos6_facts
  • dellos9
  • dellos9_command
  • dellos9_config
  • dellos9_facts
  • dellos10
  • dellos10_command
  • dellos10_config
  • dellos10_facts
  • digital_ocean_block_storage
  • docker
  • docker_network
  • eos
  • eos_facts
  • exoscale:
  • exo_dns_domain
  • exo_dns_record
  • f5:
  • bigip_device_dns
  • bigip_device_ntp
  • bigip_device_sshd
  • bigip_gtm_datacenter
  • bigip_gtm_virtual_server
  • bigip_irule
  • bigip_routedomain
  • bigip_selfip
  • bigip_ssl_certificate
  • bigip_sys_db
  • bigip_vlan
  • github
  • github_key
  • github_release
  • google
  • gcdns_record
  • gcdns_zone
  • gce_mig
  • honeybadger_deployment
  • illumos
  • dladm_etherstub
  • dladm_vnic
  • flowadm
  • ipadm_if
  • ipadm_prop
  • ipmi
  • ipmi_boot
  • ipmi_power
  • ios
  • ios_facts
  • iosxr
  • iosxr_facts
  • include_role
  • jenkins
  • jenkins_job
  • jenkins_plugin
  • kibana_plugin
  • letsencrypt
  • logicmonitor
  • logicmonitor_facts
  • lxd
  • lxd_profile
  • lxd_container
  • netapp
  • netapp_e_amg
  • netapp_e_amg_role
  • netapp_e_amg_sync
  • netapp_e_auth
  • netapp_e_facts
  • netapp_e_flashcache
  • netapp_e_hostgroup
  • netapp_e_host
  • netapp_e_lun_mapping
  • netapp_e_snapshot_group
  • netapp_e_snapshot_images
  • netapp_e_snapshot_volume
  • netapp_e_storage_system
  • netapp_e_storagepool
  • netapp_e_volume
  • netapp_e_volume_copy
  • netconf_config
  • netvisor
  • pn_cluster
  • pn_ospfarea
  • pn_ospf
  • pn_show
  • pn_trunk
  • pn_vlag
  • pn_vlan
  • pn_vrouterbgp
  • pn_vrouterif
  • pn_vrouterlbif
  • pn_vrouter
  • nxos
  • nxos_aaa_server_host
  • nxos_aaa_server
  • nxos_acl_interface
  • nxos_acl
  • nxos_bgp_af
  • nxos_bgp_neighbor_af
  • nxos_bgp_neighbor
  • nxos_bgp
  • nxos_evpn_global
  • nxos_evpn_vni
  • nxos_file_copy
  • nxos_gir_profile_management
  • nxos_gir
  • nxos_hsrp
  • nxos_igmp_interface
  • nxos_igmp
  • nxos_igmp_snooping
  • nxos_install_os
  • nxos_interface_ospf
  • nxos_mtu
  • nxos_ntp_auth
  • nxos_ntp_options
  • nxos_ntp
  • nxos_ospf
  • nxos_ospf_vrf
  • nxos_overlay_global
  • nxos_pim_interface
  • nxos_pim
  • nxos_pim_rp_address
  • nxos_portchannel
  • nxos_rollback
  • nxos_smu
  • nxos_snapshot
  • nxos_snmp_community
  • nxos_snmp_contact
  • nxos_snmp_host
  • nxos_snmp_location
  • nxos_snmp_traps
  • nxos_snmp_user
  • nxos_static_route
  • nxos_udld_interface
  • nxos_udld
  • nxos_vpc_interface
  • nxos_vpc
  • nxos_vrf_af
  • nxos_vtp_domain
  • nxos_vtp_password
  • nxos_vtp_version
  • nxos_vxlan_vtep
  • nxos_vxlan_vtep_vni
  • mssql_db
  • ovh_ip_loadbalancing_backend
  • opendj_backendprop
  • openstack
  • os_keystone_service
  • os_recordset
  • os_server_group
  • os_stack
  • os_zone
  • ovirt
  • ovirt_auth
  • ovirt_disks
  • ovirt_vms
  • rhevm
  • rocketchat
  • sefcontext
  • sensu_subscription
  • smartos
  • smartos_image_facts
  • sros
  • sros_command
  • sros_config
  • sros_rollback
  • statusio_maintenance
  • systemd
  • telegram
  • univention
  • udm_dns_record
  • udm_dns_zone
  • udm_group
  • udm_share
  • udm_user
  • vmware
  • vmware_guest
  • vmware_local_user_manager
  • vmware_vmotion
  • vyos
  • vyos_command
  • vyos_config
  • vyos_facts
  • wakeonlan
  • windows
  • win_command
  • win_robocopy
  • win_shell

New Callbacks

  • foreman

Minor Changes

  • now -vvv shows exact path from which 'currently executing module' was picked up from.
  • loop_control now has a label option to allow fine grained control what gets displayed per item
  • loop_control now has a pause option to allow pausing for N seconds between loop iterations of a task.
  • New privilege escalation become method ksu
  • raw now returns changed: true to be consistent with shell/command/script modules. Add changed_when: false to raw tasks to restore the pre-2.2 behavior if necessary.
  • removed previously deprecated ';' as host list separator.
  • Only check if the default ssh client supports ControlPersist once instead of once for each host + task combination.
  • Fix a problem with the pip module updating the python pip package itself.
  • ansible_play_hosts is a new magic variable to provide a list of hosts in scope for the current play. Unlike play_hosts it is not subject to the 'serial' keyword.
  • ansible_play_batch is a new magic variable meant to substitute the current play_hosts.

For custom front ends using the API

  • ansible.parsing.vault:
  • VaultLib.is_encrypted() has been deprecated. It will be removed in 2.4.
    Use ansible.parsing.vault.is_encrypted() instead
  • VaultFile has been removed. This unfinished code was never used inside of
    Ansible. The feature it was intended to support has now been implemented
    without using this.
  • VaultAES, the older, insecure encrypted format that debuted in Ansible-1.5
    and was replaced by VaultAES256 less than a week later, now has a deprecation
    warning. It will be removed in 2.3. In the unlikely event that you
    wrote a vault file in that 1 week window and have never modified the file
    since (ansible-vault automatically re-encrypts the file using VaultAES256
    whenever it is written to but not read), run ansible-vault rekey [filename] to move to VaultAES256.

Removed Deprecated

  • ';' as host list separator.
  • with_ 'bare variable' handling, now loop items must always be templated {{ }} or they will be considered as plain strings.
  • skipping task on 'missing attribute' in loop variable, now in a loop an undefined attribute will return an error instead of skipping the task.
  • skipping on undefined variables in loop, now loops will have to define a variable or use |default to avoid errors.

Deprecations
Notice given that the following will be removed in Ansible 2.4:

  • Modules
  • eos_template
  • ios_template
  • iosxr_template
  • junos_template
  • nxos_template
  • ops_template

<a id="2.1.4"></a>

2.2.0

2.1.6

2.1.5

2.1.4

2.1.3

2.1.2

2.1.1

2.1

Major Changes:

  • Official support for the networking modules, originally available in 2.0 as a tech preview.
  • Refactored and expanded support for Docker with new modules and many improvements to existing modules, as well as a new Kubernetes module.
  • Added new modules for Azure (see below for the full list)
  • Added the ability to specify includes as "static" (either through a configuration option or on a per-include basis). When includes are static,
    they are loaded at compile time and cannot contain dynamic features like loops.
  • Added a new strategy debug, which allows per-task debugging of playbooks, for more details see https://docs.ansible.com/ansible/playbooks_debugger.html
  • Added a new option for tasks: loop_control. This currently only supports one option - loop_var, which allows a different loop variable from item to be used.
  • Added the ability to filter facts returned by the fact gathering setup step using the gather_subset option on the play or in the ansible.cfg configuration file.
    See http://docs.ansible.com/ansible/intro_configuration.htmlgathering for details on the format of the option.
  • Added the ability to send per-item callbacks, rather than a batch update (this more closely resembles the behavior of Ansible 1.x).
  • Added facility for modules to send back 'diff' for display when ansible is called with --diff, updated several modules to return this info
  • Added ansible-console tool, a REPL shell that allows running adhoc tasks against a chosen inventory (based on https://github.com/dominis/ansible-shell)
  • Added two new variables, which are set when the rescue portion of a block is started:
  • ansible_failed_task, which contains the serialized version of the failed task.
  • ansible_failed_result, which contains the result of the failed task.
  • New meta action, meta: clear_host_errors which will clear any hosts which were marked as failed (but not unreachable hosts).
  • New meta action, meta: clear_facts which will remove existing facts for the current host from current memory and facts cache.
  • copy module can now transparently use a vaulted file as source, if vault passwords were provided it will decrypt and copy on the fly.
  • The way new-style python modules (which include all of the non-windows modules shipped with Ansible) are assembled before execution on the remote machine has been changed. The new way stays closer to how python imports modules which will make it easier to write modules which rely heavily on shared code.
  • Reduce the situations in which a module can end up as world readable. For details, see: https://docs.ansible.com/ansible/become.htmlbecoming-an-unprivileged-user
  • Re-implemented the retry file feature, which had been left out of 2.0 (fix was backported to 2.0.1 originally).
  • Improved winrm argument validation and feature sniffing (for upcoming pywinrm NTLM support).
  • Improved winrm error handling: basic parsing of stderr from CLIXML stream.

New Modules

  • aws
  • ec2_vol_facts
  • ec2_vpc_dhcp_options
  • ec2_vpc_net_facts
  • ec2_snapshot_facts
  • azure:
  • azure_rm_deployment
  • azure_rm_networkinterface
  • azure_rm_networkinterface_facts (TECH PREVIEW)
  • azure_rm_publicipaddress
  • azure_rm_publicipaddress_facts (TECH PREVIEW)
  • azure_rm_resourcegroup
  • azure_rm_resourcegroup_facts (TECH PREVIEW)
  • azure_rm_securitygroup
  • azure_rm_securitygroup_facts (TECH PREVIEW)
  • azure_rm_storageaccount
  • azure_rm_storageaccount_facts (TECH PREVIEW)
  • azure_rm_storageblob
  • azure_rm_subnet
  • azure_rm_virtualmachine
  • azure_rm_virtualmachineimage_facts (TECH PREVIEW)
  • azure_rm_virtualnetwork
  • azure_rm_virtualnetwork_facts (TECH PREVIEW)
  • cloudflare_dns
  • cloudstack
  • cs_cluster
  • cs_configuration
  • cs_instance_facts
  • cs_pod
  • cs_resourcelimit
  • cs_volume
  • cs_zone
  • cs_zone_facts
  • clustering
  • kubernetes
  • cumulus
  • cl_bond
  • cl_bridge
  • cl_img_install
  • cl_interface
  • cl_interface_policy
  • cl_license
  • cl_ports
  • eos
  • eos_command
  • eos_config
  • eos_eapi
  • eos_template
  • gitlab
  • gitlab_group
  • gitlab_project
  • gitlab_user
  • ios
  • ios_command
  • ios_config
  • ios_template
  • iosxr
  • iosxr_command
  • iosxr_config
  • iosxr_template
  • junos
  • junos_command
  • junos_config
  • junos_facts
  • junos_netconf
  • junos_package
  • junos_template
  • make
  • mongodb_parameter
  • nxos
  • nxos_command
  • nxos_config
  • nxos_facts
  • nxos_feature
  • nxos_interface
  • nxos_ip_interface
  • nxos_nxapi
  • nxos_ping
  • nxos_switchport
  • nxos_template
  • nxos_vlan
  • nxos_vrf
  • nxos_vrf_interface
  • nxos_vrrp
  • openstack
  • os_flavor_facts
  • os_group
  • os_ironic_inspect
  • os_keystone_domain_facts
  • os_keystone_role
  • os_port_facts
  • os_project_facts
  • os_user_facts
  • os_user_role
  • openswitch
  • ops_command
  • ops_config
  • ops_facts
  • ops_template
  • softlayer
  • sl_vm
  • vmware
  • vmware_maintenancemode
  • vmware_vm_shell
  • windows
  • win_acl_inheritance
  • win_owner
  • win_reboot
  • win_regmerge
  • win_timezone
  • yum_repository

New Strategies

  • debug

New Filters

  • extract
  • ip4_hex
  • regex_search
  • regex_findall

New Callbacks

  • actionable (only shows changed and failed)
  • slack
  • json

New Tests

  • issubset
  • issuperset

New Inventory scripts:

  • brook
  • rackhd
  • azure_rm

Minor Changes:

  • Added support for pipelining mode to more connection plugins, which helps prevent
    module data from being written to disk.
  • Added a new '!unsafe' YAML decorator, which can be used in playbooks to ensure a
    string is not templated. For example: foo: !unsafe &quot;Don&#39;t template {{me}}&quot;.
  • Callbacks now have access to the options with which the CLI was called
  • Debug now has verbosity option to control when to display by matching number of -v in command line
  • Modules now get verbosity, diff and other flags as passed to ansible
  • Mount facts now also show 'network mounts' that use the pattern &lt;host&gt;:/&lt;mount&gt;
  • Plugins are now sorted before loading. This means, for instance, if you want
    two custom callback plugins to run in a certain order you can name them
    10-first-callback.py and 20-second-callback.py.
  • Added (alpha) Centirfy's dzdo as another become meethod (privilege escalation)

Deprecations:

  • Deprecated the use of "bare" variables in loops (ie. with_items: foo, where foo is a variable).
    The full jinja2 variable syntax of {{foo}} should always be used instead. This warning will be removed
    completely in 2.3, after which time it will be an error.
  • play_hosts magic variable, use ansible_play_batch or ansible_play_hosts instead.

<a id="2.0.2"></a>

2.1.0

2.0.2

2.0.1

2.0

Major Changes:

  • Releases are now named after Led Zeppelin songs, 1.9 will be the last Van Halen named release.
  • The new block/rescue/always directives allow for making task blocks and exception-like semantics
  • New strategy plugins (e.g. free) allow control over the flow of task execution per play. The default (linear) will be the same as before.
  • Improved error handling, with more detailed parser messages. General exception handling and display has been revamped.
  • Task includes are now evaluated during execution, allowing more dynamic includes and options. Play includes are unchanged both still use the include directive.
  • "with_<lookup>" loops can now be used with task includes since they are dynamic.
  • Callback, connection, cache and lookup plugin APIs have changed. Existing plugins might require modification to work with the new versions.
  • Callbacks are now shipped in the active directory and don't need to be copied, just whitelisted in ansible.cfg.
  • Many API changes. Those integrating directly with Ansible's API will encounter breaking changes, but the new API is much easier to use and test.
  • Settings are now more inheritable; what you set at play, block or role will be automatically inherited by the contained tasks.
    This allows for new features to automatically be settable at all levels, previously we had to manually code this.
  • Vars are now settable at play, block, role and task level with the vars directive and scoped to the tasks contained.
  • Template code now retains types for bools and numbers instead of turning them into strings.
    If you need the old behaviour, quote the value and it will get passed around as a string
  • Empty variables and variables set to null in yaml will no longer be converted to empty strings. They will retain the value of None.
    To go back to the old behaviour, you can override the null_representation setting to an empty string in your config file or
    by setting the ANSIBLE_NULL_REPRESENTATION environment variable.
  • Added meta: refresh_inventory to force rereading the inventory in a play.
    This re-executes inventory scripts, but does not force them to ignore any cache they might use.
  • New delegate_facts directive, a boolean that allows you to apply facts to the delegated host (true/yes) instead of the inventory_hostname (no/false) which is the default and previous behaviour.
  • local connections now work with 'su' as a privilege escalation method
  • Ansible 2.0 has deprecated the "ssh" from ansible_ssh_user, ansible_ssh_host, and ansible_ssh_port to become ansible_user, ansible_host, and ansible_port.
  • New ssh configuration variables (ansible_ssh_common_args, ansible_ssh_extra_args) can be used to configure a
    per-group or per-host ssh ProxyCommand or set any other ssh options.
    ansible_ssh_extra_args is used to set options that are accepted only by ssh (not sftp or scp, which have their own analogous settings).
  • ansible-pull can now verify the code it runs when using git as a source repository, using git's code signing and verification features.
  • Backslashes used when specifying parameters in jinja2 expressions in YAML dicts sometimes needed to be escaped twice.
    This has been fixed so that escaping once works. Here's an example of how playbooks need to be modified:
 Syntax in 1.9.x
- debug:
    msg: &quot;{{ &#39;test1_junk 1\\\\3&#39; | regex_replace(&#39;(.*)_junk (.*)&#39;, &#39;\\\\1 \\\\2&#39;) }}&quot;
 Syntax in 2.0.x
- debug:
    msg: &quot;{{ &#39;test1_junk 1\\3&#39; | regex_replace(&#39;(.*)_junk (.*)&#39;, &#39;\\1 \\2&#39;) }}&quot;
Output:

"msg": "test1 1\3"

  • When a string with a trailing newline was specified in the playbook via yaml
    dict format, the trailing newline was stripped. When specified in key=value
    format the trailing newlines were kept. In v2, both methods of specifying the
    string will keep the trailing newlines. If you relied on the trailing
    newline being stripped you can change your playbook like this:
 Syntax in 1.9.2
vars:
  message: &gt;
    Testing
    some things
tasks:
- debug:
    msg: &quot;{{ message }}&quot;
Syntax in 2.0.x

vars:
old_message: >
Testing
some things
message: "{{ old_messsage[:-1] }}"

  • debug:
    msg: "{{ message }}"
    Output
    "msg": "Testing some things"
  • When specifying complex args as a variable, the variable must use the full jinja2
    variable syntax ('{{var_name}}') - bare variable names there are no longer accepted.
    In fact, even specifying args with variables has been deprecated, and will not be
    allowed in future versions:
---
- hosts: localhost
  connection: local
  gather_facts: false
  vars:
    my_dirs:
      - { path: /tmp/3a, state: directory, mode: 0755 }
      - { path: /tmp/3b, state: directory, mode: 0700 }
  tasks:
    - file:
      args: &quot;{{item}}&quot;
      with_items: my_dirs

Plugins

  • Rewritten dnf module that should be faster and less prone to encountering bugs in cornercases
  • WinRM connection plugin passes all vars named ansible_winrm_* to the underlying pywinrm client. This allows, for instance, ansible_winrm_server_cert_validation=ignore to be used with newer versions of pywinrm to disable certificate validation on Python 2.7.9+.
  • WinRM connection plugin put_file is significantly faster and no longer has file size limitations.

Deprecated Modules (new ones in parens):

  • ec2_ami_search (ec2_ami_find)
  • quantum_network (os_network)
  • glance_image
  • nova_compute (os_server)
  • quantum_floating_ip (os_floating_ip)
  • quantum_router (os_router)
  • quantum_router_gateway (os_router)
  • quantum_router_interface (os_router)

New Modules:

  • amazon
  • ec2_ami_copy
  • ec2_ami_find
  • ec2_elb_facts
  • ec2_eni
  • ec2_eni_facts
  • ec2_remote_facts
  • ec2_vpc_igw
  • ec2_vpc_net
  • ec2_vpc_net_facts
  • ec2_vpc_route_table
  • ec2_vpc_route_table_facts
  • ec2_vpc_subnet
  • ec2_vpc_subnet_facts
  • ec2_win_password
  • ecs_cluster
  • ecs_task
  • ecs_taskdefinition
  • elasticache_subnet_group_facts
  • iam
  • iam_cert
  • iam_policy
  • route53_facts
  • route53_health_check
  • route53_zone
  • s3_bucket
  • s3_lifecycle
  • s3_logging
  • sns_topic
  • sqs_queue
  • sts_assume_role
  • apk
  • bigip_gtm_wide_ip
  • bundler
  • centurylink
  • clc_aa_policy
  • clc_alert_policy
  • clc_blueprint_package
  • clc_firewall_policy
  • clc_group
  • clc_loadbalancer
  • clc_modify_server
  • clc_publicip
  • clc_server
  • clc_server_snapshot
  • circonus_annotation
  • consul
  • consul
  • consul_acl
  • consul_kv
  • consul_session
  • cloudtrail
  • cloudstack
  • cs_account
  • cs_affinitygroup
  • cs_domain
  • cs_facts
  • cs_firewall
  • cs_iso
  • cs_instance
  • cs_instancegroup
  • cs_ip_address
  • cs_loadbalancer_rule
  • cs_loadbalancer_rule_member
  • cs_network
  • cs_portforward
  • cs_project
  • cs_securitygroup
  • cs_securitygroup_rule
  • cs_sshkeypair
  • cs_staticnat
  • cs_template
  • cs_user
  • cs_vmsnapshot
  • cronvar
  • datadog_monitor
  • deploy_helper
  • docker
  • docker_login
  • dpkg_selections
  • elasticsearch_plugin
  • expect
  • find
  • google
  • gce_tag
  • hall
  • ipify_facts
  • iptables
  • libvirt
  • virt_net
  • virt_pool
  • maven_artifact
  • openstack
  • os_auth
  • os_client_config
  • os_image
  • os_image_facts
  • os_floating_ip
  • os_ironic
  • os_ironic_node
  • os_keypair
  • os_network
  • os_network_facts
  • os_nova_flavor
  • os_object
  • os_port
  • os_project
  • os_router
  • os_security_group
  • os_security_group_rule
  • os_server
  • os_server_actions
  • os_server_facts
  • os_server_volume
  • os_subnet
  • os_subnet_facts
  • os_user
  • os_user_group
  • os_volume
  • openvswitch_db
  • osx_defaults
  • pagerduty_alert
  • pam_limits
  • pear
  • profitbricks
  • profitbricks
  • profitbricks_datacenter
  • profitbricks_nic
  • profitbricks_snapshot
  • profitbricks_volume
  • profitbricks_volume_attachments
  • proxmox
  • proxmox
  • proxmox_template
  • puppet
  • pushover
  • pushbullet
  • rax
  • rax_clb_ssl
  • rax_mon_alarm
  • rax_mon_check
  • rax_mon_entity
  • rax_mon_notification
  • rax_mon_notification_plan
  • rabbitmq
  • rabbitmq_binding
  • rabbitmq_exchange
  • rabbitmq_queue
  • selinux_permissive
  • sendgrid
  • sensu
  • sensu_check
  • sensu_subscription
  • seport
  • slackpkg
  • solaris_zone
  • taiga_issue
  • vertica
  • vertica_configuration
  • vertica_facts
  • vertica_role
  • vertica_schema
  • vertica_user
  • vmware
  • vca_fw
  • vca_nat
  • vmware_cluster
  • vmware_datacenter
  • vmware_dns_config
  • vmware_dvs_host
  • vmware_dvs_portgroup
  • vmware_dvswitch
  • vmware_host
  • vmware_migrate_vmk
  • vmware_portgroup
  • vmware_target_canonical_facts
  • vmware_vm_facts
  • vmware_vm_vss_dvs_migrate
  • vmware_vmkernel
  • vmware_vmkernel_ip_config
  • vmware_vsan_cluster
  • vmware_vswitch
  • vsphere_copy
  • webfaction
  • webfaction_app
  • webfaction_db
  • webfaction_domain
  • webfaction_mailbox
  • webfaction_site
  • windows
  • win_acl
  • win_dotnet_ngen
  • win_environment
  • win_firewall_rule
  • win_iis_virtualdirectory
  • win_iis_webapplication
  • win_iis_webapppool
  • win_iis_webbinding
  • win_iis_website
  • win_lineinfile
  • win_nssm
  • win_package
  • win_regedit
  • win_scheduled_task
  • win_unzip
  • win_updates
  • win_webpicmd
  • xenserver_facts
  • zabbbix
  • zabbix_host
  • zabbix_hostmacro
  • zabbix_screen
  • znode

New Inventory scripts:

  • cloudstack
  • fleetctl
  • openvz
  • nagios_ndo
  • nsot
  • proxmox
  • rudder
  • serf

New Lookups:

  • credstash
  • hashi_vault
  • ini
  • shelvefile

New Filters:

  • combine

New Connection:

  • docker: for talking to docker containers on the ansible controller machine without using ssh.

New Callbacks:

  • logentries: plugin to send play data to logentries service
  • skippy: same as default but does not display skip messages

Minor changes:

  • Many more tests. The new API makes things more testable and we took advantage of it.
  • big_ip modules now support turning off ssl certificate validation (use only for self-signed certificates).
  • Consolidated code from modules using urllib2 to normalize features, TLS and SNI support.
  • synchronize module's dest_port parameter now takes precedence over the ansible_ssh_port inventory setting.
  • Play output is now dynamically sized to terminal with a minimum of 80 coluumns (old default).
  • vars_prompt and pause are now skipped with a warning if the play is called noninteractively (i.e. pull from cron).
  • Support for OpenBSD's 'doas' privilege escalation method.
  • Most vault operations can now be done over multilple files.
  • ansible-vault encrypt/decrypt read from stdin if no other input file is given, and can write to a given --output file (including stdout, '-').
    This lets you avoid ever writing sensitive plaintext to disk.
  • ansible-vault rekey accepts the --new-vault-password-file option.
  • ansible-vault now preserves file permissions on edit and rekey and defaults to restrictive permissions for other options.
  • Configuration items defined as paths (local only) now all support shell style interpolations.
  • Many fixes and new options added to modules, too many to list here.
  • Now you can see task file and line number when using verbosity of 3 or above.
  • The [x-y] host range syntax is no longer supported. Note that [0:1] matches two hosts, i.e. the range is inclusive of its endpoints.
  • We now recommend the use of pattern1,pattern2 to combine host matching patterns.
  • The use of ':' as a separator conflicts with IPv6 addresses and host ranges. It will be deprecated in the future.
  • The undocumented use of ';' as a separator is now deprecated.
  • modules and callbacks have been extended to support no_log to avoid data disclosure.
  • new managed_syslog option has been added to control output to syslog on managed machines, no_log supersedes this settings.
  • Lookup, vars and action plugin pathing has been normalized, all now follow the same sequence to find relative files.
  • We do not ignore the explicitly set login user for ssh when it matches the 'current user' anymore, this allows overriding .ssh/config when it is set
    explicitly. Leaving it unset will still use the same user and respect .ssh/config. This also means ansible_ssh_user can now return a None value.
  • environment variables passed to remote shells now default to 'controller' settings, with fallback to en_US.UTF8 which was the previous defau

@inhumantsar inhumantsar merged commit 92c2c7b into master Nov 6, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants