Compare commits
139 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7fc2fbb55c | |||
| 729736f30c | |||
| e7d75d4bff | |||
| 8e048c0ab7 | |||
| 0c3faa2e1c | |||
| 9ac580f564 | |||
| c8eeafdc15 | |||
| fb153e4da7 | |||
| 339d064584 | |||
| 38b9fee32f | |||
| 7113e50a42 | |||
| 5ea238912f | |||
| d89bd2d3c1 | |||
| 2a2e4721a4 | |||
| 12d0684ee2 | |||
| 8854f77d67 | |||
| 3f80b6ccb1 | |||
| 847a7f9ca5 | |||
| 3e6cc1abd5 | |||
| 019c28bc3b | |||
| 6321e70232 | |||
| 0724f4bfc2 | |||
| 642c1d16fb | |||
| 9959d7f722 | |||
| de932d9c17 | |||
| 053273fc7e | |||
| 8ab11c3228 | |||
| 36fd4a2255 | |||
| c5d9c98cdf | |||
| b23b1c2ee0 | |||
| d19ef234bd | |||
| f73ac53e58 | |||
| 4c9e83f9f5 | |||
| e107da11e0 | |||
| 8d2c129944 | |||
| e22bff5b76 | |||
| 3f7ca8daf1 | |||
| 8a0fa4a3e3 | |||
| 0854dc3f7f | |||
| 959a19e4f1 | |||
| 8b2abfe446 | |||
| 445a3e4127 | |||
| 6b81a39daa | |||
| da043d635e | |||
| 41a0bcf2fc | |||
| fe61636d66 | |||
| bf8f228fd5 | |||
| 5805e6a89b | |||
| 30a0c88c35 | |||
| f320b1507d | |||
| d48ebcee40 | |||
| 8f3a82dc9b | |||
| 85122a6c38 | |||
| 3a481c4548 | |||
| 67859c3476 | |||
| dc37b41b72 | |||
| e3993bd01b | |||
| 306be9f23c | |||
| d6bc698ed8 | |||
| b00358e4fb | |||
| 0c985fee8a | |||
| 75ada884d2 | |||
| dc6a187603 | |||
| 0fa56ed65d | |||
| eef9d0bf04 | |||
| eda69dff92 | |||
| 7dc06bed83 | |||
| 5056f0801c | |||
| ff980afefd | |||
| 10d6fe6c98 | |||
| f942d71b36 | |||
| fdb813766a | |||
| ceb14fcc33 | |||
| 7a1fa8d363 | |||
| c2d905fc11 | |||
| d4d52856df | |||
| ab93ad8a0a | |||
| 916317466d | |||
| 9757233a93 | |||
| ab18048147 | |||
| c65bf12741 | |||
| fee754fa59 | |||
| e9a32c1107 | |||
| 40c47b7785 | |||
| 9101dd6857 | |||
| b9904b9fe7 | |||
| dcf95a3adc | |||
| 36b0756c3b | |||
| e20294c1e1 | |||
| 4314798d3e | |||
| 15ac94f87c | |||
| f56197df94 | |||
| b9b1a65067 | |||
| 7b325baa22 | |||
| 6a7c43b0ba | |||
| 9fcf256817 | |||
| cd9d18a93b | |||
| e954633739 | |||
| 2f0cfa857a | |||
| 317388e967 | |||
| 4202d1d769 | |||
| 5f6e1a70a6 | |||
| 40a6a19042 | |||
| a6c6011ed4 | |||
| 68134cc635 | |||
| 20a55c5fdc | |||
| b4cb0b46e3 | |||
| cbaef99489 | |||
| 3db865bd5e | |||
| c54990fd81 | |||
| d9c5614b92 | |||
| ffd4ee1be7 | |||
| f9b95d12ed | |||
| f73d123ef4 | |||
| 459342ecc1 | |||
| 698b8e04f3 | |||
| 0a6bff20d0 | |||
| 8fe99ae001 | |||
| da67d279be | |||
| fe2520a830 | |||
| 6c5be7d33c | |||
| 1256fedd61 | |||
| 125d1e3867 | |||
| 394753b918 | |||
| 79cedcbaa5 | |||
| 72ad0dd4ec | |||
| 43cfb89c2a | |||
| 515a625e13 | |||
| 7e04385baf | |||
| be9de94eea | |||
| c142e2f1a3 | |||
| d525d7cf5f | |||
| 723dcea33e | |||
| 609c792072 | |||
| ebc36eed8c | |||
| 60ab7b2807 | |||
| 04a5fc5e5a | |||
| 456af458fc | |||
| 8e7251a6b7 |
6
Makefile
6
Makefile
@ -358,20 +358,20 @@ deb-src: debian
|
||||
@echo "#############################################"
|
||||
@echo "Ansible DEB artifacts:"
|
||||
@for DIST in $(DEB_DIST) ; do \
|
||||
echo deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
|
||||
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
|
||||
done
|
||||
@echo "#############################################"
|
||||
|
||||
.PHONY: deb-upload
|
||||
deb-upload: deb
|
||||
@for DIST in $(DEB_DIST) ; do \
|
||||
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
|
||||
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
|
||||
done
|
||||
|
||||
.PHONY: deb-src-upload
|
||||
deb-src-upload: deb-src
|
||||
@for DIST in $(DEB_DIST) ; do \
|
||||
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
|
||||
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
|
||||
done
|
||||
|
||||
.PHONY: epub
|
||||
|
||||
@ -2,6 +2,239 @@
|
||||
Ansible 2.5 "Kashmir" Release Notes
|
||||
===================================
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.9:
|
||||
|
||||
v2.5.9
|
||||
======
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.9_Minor Changes:
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- import_tasks - Do not allow import_tasks to transition to dynamic if the file is missing (https://github.com/ansible/ansible/issues/44822)
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.9_Bugfixes:
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- user - Strip trailing comments in /etc/default/passwd (https://github.com/ansible/ansible/pull/43931)
|
||||
|
||||
- fix example code for AWS lightsail documentation
|
||||
|
||||
- fix the enable_snat parameter that is only supposed to be used by an user with the right policies. https://github.com/ansible/ansible/pull/44418
|
||||
|
||||
- ios_l2_interface - fix issue with certain interface types (https://github.com/ansible/ansible/pull/43819)
|
||||
|
||||
- ios_user - fix unable to delete user admin issue (https://github.com/ansible/ansible/pull/44904)
|
||||
|
||||
- ansible-galaxy - properly list all roles in roles_path (https://github.com/ansible/ansible/issues/43010)
|
||||
|
||||
- ios_vlan - fix unable to work on certain interface types issue (https://github.com/ansible/ansible/pull/43819)
|
||||
|
||||
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_ prints out a warning message about skipping a config file from a world writable current working directory. However, if the user is in a world writable current working directory which does not contain a config file, it should not print a warning message. This release fixes that extaneous warning.
|
||||
|
||||
- Add md5sum check in nxos_file_copy module (https://github.com/ansible/ansible/pull/43423).
|
||||
|
||||
- nxos_interface port-channel idempotence fix for mode (https://github.com/ansible/ansible/pull/44248).
|
||||
|
||||
- nxos_linkagg mode fix (https://github.com/ansible/ansible/pull/44294).
|
||||
|
||||
- Fix check_mode in nxos_static_route module (https://github.com/ansible/ansible/pull/44252).
|
||||
|
||||
- Fix Python2.6 regex bug terminal plugin nxos, iosxr (https://github.com/ansible/ansible/pull/45135).
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.8:
|
||||
|
||||
v2.5.8
|
||||
======
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.8_Release Summary:
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2018-08-16
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.8_Bugfixes:
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- fix for the bundled selectors module (used in the ssh and local connection plugins) when a syscall is restarted after being interrupted by a signal (https://github.com/ansible/ansible/issues/41630)
|
||||
|
||||
- Fix the mount module's handling of swap entries in fstab (https://github.com/ansible/ansible/pull/42837)
|
||||
|
||||
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_ prints out a warning message about skipping a config file from a world writable current working directory. However, if the user explicitly specifies that the config file should be used via the ANSIBLE_CONFIG environment variable then Ansible would honor that but still print out the warning message. This has been fixed so that Ansible honors the user's explicit wishes and does not print a warning message in that circumstance.
|
||||
|
||||
- fact names that conflict with well-known connection vars are now filtered (https://github.com/ansible/ansible/issues/41684)
|
||||
|
||||
- get_url - fix the bug that get_url does not change mode when checksum matches (https://github.com/ansible/ansible/issues/29614)
|
||||
|
||||
- openvswitch_db - make 'key' argument optional https://github.com/ansible/ansible/issues/42108
|
||||
|
||||
- slack callback - Fix invocation by looking up data from cli.options (https://github.com/ansible/ansible/pull/43542)
|
||||
|
||||
- vars_prompt - properly template play level variables in vars_prompt (https://github.com/ansible/ansible/issues/37984)
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.7:
|
||||
|
||||
v2.5.7
|
||||
======
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.7_Release Summary:
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2018-07-26
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.7_Bugfixes:
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- eos_facts - fix failure when lldp will be disabled (https://github.com/ansible/ansible/pull/42347)
|
||||
|
||||
- ios_vlan - fix unable to identify correct vlan issue (https://github.com/ansible/ansible/pull/42247)
|
||||
|
||||
- ios_linkagg - fix picking correct interface names issue (https://github.com/ansible/ansible/pull/42557)
|
||||
|
||||
- get_capabilities in nxapi module_utils should not return empty dictionary (https://github.com/ansible/ansible/pull/42688).
|
||||
|
||||
- Enforcing NXAPI default HTTP behavior (https://github.com/ansible/ansible/pull/41817).
|
||||
|
||||
- pause - do not set stdout to raw mode when redirecting to a file (https://github.com/ansible/ansible/issues/41717)
|
||||
|
||||
- pause - nest try except when importing curses to gracefully fail if curses is not present (https://github.com/ansible/ansible/issues/42004)
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.6:
|
||||
|
||||
v2.5.6
|
||||
======
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.6_Release Summary:
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2018-07-05
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.6_Minor Changes:
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- Restore module_utils.basic.BOOLEANS variable for backwards compatibility with the module API in older ansible releases.
|
||||
|
||||
- lineinfile - add warning when using an empty regexp (https://github.com/ansible/ansible/issues/29443)
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.6_Bugfixes:
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- apt - fix apt-mark on debian6 (https://github.com/ansible/ansible/pull/41530)
|
||||
|
||||
- **Security Fix** - avoid loading host/group vars from cwd when not specifying a playbook or playbook base dir
|
||||
|
||||
- copy module - fixed recursive copy with relative paths (https://github.com/ansible/ansible/pull/40166)
|
||||
|
||||
- correct debug display for all cases https://github.com/ansible/ansible/pull/41331
|
||||
|
||||
- eos_l2_interface - fix eapi (https://github.com/ansible/ansible/pull/42270)
|
||||
|
||||
- group_by - support implicit localhost (https://github.com/ansible/ansible/pull/41860)
|
||||
|
||||
- influxdb_query - fixed the use of the common return 'results' caused an unexpected fault. The return is renamed to 'query_results'
|
||||
|
||||
- junos_config - fix confirm commit timeout issue (https://github.com/ansible/ansible/pull/41527)
|
||||
|
||||
- lineinfile - fix insertbefore when used with BOF to not insert duplicate lines (https://github.com/ansible/ansible/issues/38219)
|
||||
|
||||
- nsupdate - allow hmac-sha384 https://github.com/ansible/ansible/pull/42209
|
||||
|
||||
- nxos_linkagg - fix issue (https://github.com/ansible/ansible/pull/41550).
|
||||
|
||||
- nxos_vxlan_vtep_vni - fix issue (https://github.com/ansible/ansible/pull/42240)
|
||||
|
||||
- uses correct conn info for reset_connection https://github.com/ansible/ansible/issues/27520
|
||||
|
||||
- correct service facts systemd detection of state https://github.com/ansible/ansible/issues/40809
|
||||
|
||||
- correctly check hostvars for vars term https://github.com/ansible/ansible/pull/41819
|
||||
|
||||
- vyos_vlan - fix aggregate configuration issues (https://github.com/ansible/ansible/pull/41638)
|
||||
|
||||
- win_domain - fixes typo in one of the AD cmdlets https://github.com/ansible/ansible/issues/41536
|
||||
|
||||
- win_iis_webapppool - redirect some module output to null so Ansible can read the output JSON https://github.com/ansible/ansible/issues/40874
|
||||
|
||||
- win_updates - Fixed issue where running win_updates on async fails without any error
|
||||
|
||||
- winrm - ensure pexpect is set to not echo the input on a failure and have a manual sanity check afterwards https://github.com/ansible/ansible/issues/41865
|
||||
|
||||
- **Security Fix** - avoid using ansible.cfg in a world writable dir.
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.5:
|
||||
|
||||
v2.5.5
|
||||
======
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.5_Release Summary:
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
| Release Date: 2018-06-14
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.5_Bugfixes:
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Changed the admin_users config option to not include "admin" by default as admin is frequently used for a non-privileged account (https://github.com/ansible/ansible/pull/41164)
|
||||
|
||||
- aws_s3 - add async support to the action plugin (https://github.com/ansible/ansible/pull/40826)
|
||||
|
||||
- aws_s3 - fix decrypting vault files (https://github.com/ansible/ansible/pull/39634)
|
||||
|
||||
- ec2_ami - cast the device_mapping volume size to an int (https://github.com/ansible/ansible/pull/40938)
|
||||
|
||||
- eos_logging - fix idempotency issues (https://github.com/ansible/ansible/pull/40604)
|
||||
|
||||
- cache plugins - A cache timeout of 0 means the cache will not expire.
|
||||
|
||||
- ios_logging - fix idempotency issues (https://github.com/ansible/ansible/pull/41029)
|
||||
|
||||
- ios/nxos/eos_config - don't retrieve config in running_config when config is provided for diff (https://github.com/ansible/ansible/pull/41400)
|
||||
|
||||
- **Security Fix** - Some connection exceptions would cause no_log specified on a task to be ignored. If this happened, the task information, including any private information could have been displayed to stdout and (if enabled, not the default) logged to a log file specified in ansible.cfg's log_path. Additionally, sites which redirected stdout from ansible runs to a log file may have stored that private information onto disk that way as well. (https://github.com/ansible/ansible/pull/41414)
|
||||
|
||||
- nxos_banner - fix multiline banner issue (https://github.com/ansible/ansible/pull/41026).
|
||||
|
||||
- nxos terminal plugin - fix output truncation (https://github.com/ansible/ansible/pull/40960)
|
||||
|
||||
- nxos_l3_interface - fix no switchport issue with loopback and svi interfaces (https://github.com/ansible/ansible/pull/37392).
|
||||
|
||||
- nxos_snapshot - fix compare_option (https://github.com/ansible/ansible/pull/41386)
|
||||
|
||||
|
||||
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.4:
|
||||
|
||||
v2.5.4
|
||||
@ -21,16 +254,28 @@ Release Summary
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- skip marking packages as manually installed when apt-mark is not available (https://github.com/ansible/ansible/pull/40600)
|
||||
|
||||
- jenkins_plugin - fix plugin always updated even if already uptodate (https://github.com/ansible/ansible/pull/40645)
|
||||
|
||||
- allow ansible-doc to handle 'keywords' configuration entries https://github.com/ansible/ansible/pull/40620
|
||||
|
||||
- ec2_asg - wait for lifecycle hooks to complete (https://github.com/ansible/ansible/issues/37281)
|
||||
|
||||
- edgeos modules - add note and warning that the modules require network_cli connection (https://github.com/ansible/ansible/issues/39499)
|
||||
|
||||
- edgeos_config - check for a corresponding set command when issuing delete commands to ensure the desired state is met (https://github.com/ansible/ansible/issues/40437)
|
||||
|
||||
- callback plugins - correctly reference the callback object when giving an error (https://github.com/ansible/ansible/pull/40453)
|
||||
|
||||
- fix doas construction for become (https://github.com/ansible/ansible/pull/37511)
|
||||
|
||||
- iptables - use suboptions to properly join tcp_flags options (https://github.com/ansible/ansible/issues/36490)
|
||||
|
||||
- known_hosts - add better checking and error reporting to the host field (https://github.com/ansible/ansible/pull/38307)
|
||||
|
||||
- meta: reset connection is not run once (https://github.com/ansible/ansible/issues/39364)
|
||||
|
||||
- Fix legacy Nexus 3k integration test and module issues (https://github.com/ansible/ansible/pull/40322).
|
||||
|
||||
- Skip N35 and N3L platforms for nxos_evpn_global test (https://github.com/ansible/ansible/pull/40333).
|
||||
@ -51,6 +296,10 @@ Bugfixes
|
||||
|
||||
- synchronize - Ensure the local connection created by synchronize uses _remote_is_local=True, which causes ActionBase to build a local tmpdir (https://github.com/ansible/ansible/pull/40833)
|
||||
|
||||
- synchronize - Ensure rsync_opts is a list when not provided
|
||||
|
||||
- action - Ensure remote user is correctly calculated when expanding the remote user path
|
||||
|
||||
- win_get_url - fixed issue when authenticating when force=yes https://github.com/ansible/ansible/pull/40641
|
||||
|
||||
- winrm - allow `ansible_user` or `ansible_winrm_user` to override `ansible_ssh_user` when both are defined in an inventory - https://github.com/ansible/ansible/issues/39844
|
||||
@ -103,6 +352,12 @@ Bugfixes
|
||||
|
||||
- Fix regression in aws_s3 to allow uploading files on the remote host to an S3 bucket
|
||||
|
||||
- dont require property for older callbacks to load https://github.com/ansible/ansible/pull/38281
|
||||
|
||||
- fix diff callback only being called when global diff option was set and not honoring task diff (https://github.com/ansible/ansible/issues/31129)
|
||||
|
||||
- minor doc fix https://github.com/ansible/ansible/pull/39111
|
||||
|
||||
- ec2_vpc_route_table - fix regression by skipping routes without DestinationCidrBlock (https://github.com/ansible/ansible/pull/37010)
|
||||
|
||||
- Use custom waiters
|
||||
@ -113,6 +368,8 @@ Bugfixes
|
||||
|
||||
- Don't use custom waiter configs for older versions of botocore
|
||||
|
||||
- return empty list if host pattern is empty https://github.com/ansible/ansible/pull/37931
|
||||
|
||||
- Fix an encoding issue when parsing the examples from a plugins' documentation
|
||||
|
||||
- Fix misuse of self in module_utils/network/eos/eos.py (https://github.com/ansible/ansible/pull/39074)
|
||||
@ -125,6 +382,14 @@ Bugfixes
|
||||
|
||||
- file - Eliminate an error if we're asked to remove a file but something removes it while we are processing the request (https://github.com/ansible/ansible/pull/39466)
|
||||
|
||||
- Capture correct exception type https://github.com/ansible/ansible/pull/39406
|
||||
|
||||
- dont emit empty error due to \n https://github.com/ansible/ansible/pull/39019
|
||||
|
||||
- single bad path for galaxy is just a warning, error only if no usable paths found https://github.com/ansible/ansible/pull/39082
|
||||
|
||||
- correctly deal with user homedir (~) translations https://github.com/ansible/ansible/pull/36755
|
||||
|
||||
- Fix interfaces_file to support `allow-` https://github.com/ansible/ansible/pull/37847
|
||||
|
||||
- ios cliconf plugin fix regex for version (https://github.com/ansible/ansible/pull/40066)
|
||||
@ -141,6 +406,8 @@ Bugfixes
|
||||
|
||||
- Fix junos_config confirm timeout issue (https://github.com/ansible/ansible/pull/40238)
|
||||
|
||||
- avoid uneeded reloading of plugin files https://github.com/ansible/ansible/pull/37648
|
||||
|
||||
- Fix nested noop block padding in dynamic includes (https://github.com/ansible/ansible/pull/38814)
|
||||
|
||||
- nio_lookup_error - fixed nios lookup errors out when there are no results
|
||||
@ -171,8 +438,20 @@ Bugfixes
|
||||
|
||||
- nxos_snapshot - Fix logic for save_snapshot_locally (https://github.com/ansible/ansible/pull/40227)
|
||||
|
||||
- nxos terminal plugin on_become (https://github.com/ansible/ansible/pull/39355)
|
||||
|
||||
- nxos module_doc_fragments for authorize, auth_pass (https://github.com/ansible/ansible/pull/39946)
|
||||
|
||||
- Fix nxos terminal plugin regex (https://github.com/ansible/ansible/pull/39659)
|
||||
|
||||
- protect against bad plugin verify method https://github.com/ansible/ansible/pull/36591
|
||||
|
||||
- include_role - disambiguate keywords from variables (https://github.com/ansible/ansible/pull/38968)
|
||||
|
||||
- filter was removed ... docs shoudl be too https://github.com/ansible/ansible/pull/37946
|
||||
|
||||
- ensure C locale for chkconfig to allow sane screen scraping https://github.com/ansible/ansible/pull/38980
|
||||
|
||||
- template action plugin - fix the encoding of filenames to avoid tracebacks on Python2 when characters that are not present in the user's locale are present. (https://github.com/ansible/ansible/pull/39424)
|
||||
|
||||
- ufw - "route" has to be the first option in ufw command https://github.com/ansible/ansible/pull/31756
|
||||
@ -303,6 +582,8 @@ Bugfixes
|
||||
|
||||
- Set default network type as 'dhcp' if user has not specified any.
|
||||
|
||||
- Changed hostname variable in order for the esxi host to be found when authentication against a vcenter was done.
|
||||
|
||||
- nmcli change default value of autoconnect
|
||||
|
||||
- azure_rm_image - Allow Azure images to be created with tags, bug was introduced in Ansible v2.5.0
|
||||
@ -325,6 +606,8 @@ Bugfixes
|
||||
|
||||
- edgeos_command - add action plugin to backup config (https://github.com/ansible/ansible/pull/37619)
|
||||
|
||||
- eos cliconf get_config() format type fix (https://github.com/ansible/ansible/pull/38682)
|
||||
|
||||
- eos_vlan - fixed eos_vlan not working when having more than 6 interfaces (https://github.com/ansible/ansible/pull/38347)
|
||||
|
||||
- Various grafana_* modules - Port away from the deprecated b64encodestring function to the b64encode function instead. (https://github.com/ansible/ansible/pull/38388)
|
||||
@ -341,6 +624,8 @@ Bugfixes
|
||||
|
||||
- Add supported connection in junos module documentation (https://github.com/ansible/ansible/pull/38813)
|
||||
|
||||
- junos_netconf - Report error is wrong connection type is used for junos_netconf (https://github.com/ansible/ansible/pull/38527)
|
||||
|
||||
- _nxos_switchport - fix removal of trunk vlans (https://github.com/ansible/ansible/pull/37328)
|
||||
|
||||
- nxos_l2_interface - fix removal of trunk vlans (https://github.com/ansible/ansible/pull/37336)
|
||||
@ -389,6 +674,8 @@ Bugfixes
|
||||
|
||||
- Fix traceback when creating or stopping ovirt vms (https://github.com/ansible/ansible/pull/37249)
|
||||
|
||||
- Add url to troubleshoot persistent socket path related issues https://github.com/ansible/ansible/pull/38542
|
||||
|
||||
- Fix for consul_kv idempotence on Python3 https://github.com/ansible/ansible/issues/35893
|
||||
|
||||
- Fix csvfile lookup plugin when used on Python3 https://github.com/ansible/ansible/pull/37625
|
||||
|
||||
2
changelogs/fragments/41530-apt-mark-deb6.yaml
Normal file
2
changelogs/fragments/41530-apt-mark-deb6.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- apt - fix apt-mark on debian6 (https://github.com/ansible/ansible/pull/41530)
|
||||
2
changelogs/fragments/43931-strip-trailing-comments.yml
Normal file
2
changelogs/fragments/43931-strip-trailing-comments.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- user - Strip trailing comments in /etc/default/passwd (https://github.com/ansible/ansible/pull/43931)
|
||||
4
changelogs/fragments/admin-users-default-change.yaml
Normal file
4
changelogs/fragments/admin-users-default-change.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
bugfixes:
|
||||
- Changed the admin_users config option to not include "admin" by default as
|
||||
admin is frequently used for a non-privileged account (https://github.com/ansible/ansible/pull/41164)
|
||||
@ -1,2 +1,2 @@
|
||||
- bugfixes:
|
||||
bugfixes:
|
||||
- allow ansible-doc to handle 'keywords' configuration entries https://github.com/ansible/ansible/pull/40620
|
||||
|
||||
2
changelogs/fragments/avoid_cwd_vars.yml
Normal file
2
changelogs/fragments/avoid_cwd_vars.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- '**Security Fix** - avoid loading host/group vars from cwd when not specifying a playbook or playbook base dir'
|
||||
3
changelogs/fragments/aws_lightsail_documentation_fix.yml
Normal file
3
changelogs/fragments/aws_lightsail_documentation_fix.yml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- fix example code for AWS lightsail documentation
|
||||
3
changelogs/fragments/aws_s3_async_fix.yaml
Normal file
3
changelogs/fragments/aws_s3_async_fix.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- aws_s3 - add async support to the action plugin (https://github.com/ansible/ansible/pull/40826)
|
||||
3
changelogs/fragments/aws_s3_decryption_fix.yaml
Normal file
3
changelogs/fragments/aws_s3_decryption_fix.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- aws_s3 - fix decrypting vault files (https://github.com/ansible/ansible/pull/39634)
|
||||
3
changelogs/fragments/basic_booleans_backward_compat.yaml
Normal file
3
changelogs/fragments/basic_booleans_backward_compat.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
minor_changes:
|
||||
- Restore module_utils.basic.BOOLEANS variable for backwards compatibility with the module API in older ansible releases.
|
||||
3
changelogs/fragments/copy-recursive-copy.yml
Normal file
3
changelogs/fragments/copy-recursive-copy.yml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- copy module - fixed recursive copy with relative paths (https://github.com/ansible/ansible/pull/40166)
|
||||
2
changelogs/fragments/debug_fixes.yml
Normal file
2
changelogs/fragments/debug_fixes.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- correct debug display for all cases https://github.com/ansible/ansible/pull/41331
|
||||
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- ec2_ami - cast the device_mapping volume size to an int (https://github.com/ansible/ansible/pull/40938)
|
||||
4
changelogs/fragments/eos_facts-failure.yml
Normal file
4
changelogs/fragments/eos_facts-failure.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
bugfixes:
|
||||
- eos_facts - fix failure when lldp will be disabled
|
||||
(https://github.com/ansible/ansible/pull/42347)
|
||||
2
changelogs/fragments/eos_l2_interface_fix_2.5.6.yaml
Normal file
2
changelogs/fragments/eos_l2_interface_fix_2.5.6.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- eos_l2_interface - fix eapi (https://github.com/ansible/ansible/pull/42270)
|
||||
2
changelogs/fragments/eos_logging_fix.yaml
Normal file
2
changelogs/fragments/eos_logging_fix.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- eos_logging - fix idempotency issues (https://github.com/ansible/ansible/pull/40604)
|
||||
3
changelogs/fragments/fix-os_router.yaml
Normal file
3
changelogs/fragments/fix-os_router.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- fix the enable_snat parameter that is only supposed to be used by an user
|
||||
with the right policies. https://github.com/ansible/ansible/pull/44418
|
||||
5
changelogs/fragments/fix-selectors-error-condition.yaml
Normal file
5
changelogs/fragments/fix-selectors-error-condition.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
bugfixes:
|
||||
- fix for the bundled selectors module (used in the ssh and local connection
|
||||
plugins) when a syscall is restarted after being interrupted by a signal
|
||||
(https://github.com/ansible/ansible/issues/41630)
|
||||
4
changelogs/fragments/fix-swap-mount-module.yaml
Normal file
4
changelogs/fragments/fix-swap-mount-module.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
bugfixes:
|
||||
- Fix the mount module's handling of swap entries in fstab
|
||||
(https://github.com/ansible/ansible/pull/42837)
|
||||
@ -0,0 +1,9 @@
|
||||
---
|
||||
bugfixes:
|
||||
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_
|
||||
prints out a warning message about skipping a config file from a world
|
||||
writable current working directory. However, if the user explicitly
|
||||
specifies that the config file should be used via the ANSIBLE_CONFIG
|
||||
environment variable then Ansible would honor that but still print out the
|
||||
warning message. This has been fixed so that Ansible honors the user's
|
||||
explicit wishes and does not print a warning message in that circumstance.
|
||||
2
changelogs/fragments/fix_cache_timeout_0.yaml
Normal file
2
changelogs/fragments/fix_cache_timeout_0.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- cache plugins - A cache timeout of 0 means the cache will not expire.
|
||||
@ -1,2 +1,2 @@
|
||||
- bufgix:
|
||||
- correctly reference the callback ojbect when giving an error https://github.com/ansible/ansible/pull/40453
|
||||
bugfixes:
|
||||
- callback plugins - correctly reference the callback object when giving an error (https://github.com/ansible/ansible/pull/40453)
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
- bugfix:
|
||||
- fix doas construction for become https://github.com/ansible/ansible/pull/37511
|
||||
bugfixes:
|
||||
- fix doas construction for become (https://github.com/ansible/ansible/pull/37511)
|
||||
|
||||
2
changelogs/fragments/fix_fact_clean.yaml
Normal file
2
changelogs/fragments/fix_fact_clean.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- fact names that conflict with well-known connection vars are now filtered (https://github.com/ansible/ansible/issues/41684)
|
||||
3
changelogs/fragments/fix_ios_l2_interface.yaml
Normal file
3
changelogs/fragments/fix_ios_l2_interface.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- ios_l2_interface - fix issue with certain interface types (https://github.com/ansible/ansible/pull/43819)
|
||||
3
changelogs/fragments/fix_ios_user.yaml
Normal file
3
changelogs/fragments/fix_ios_user.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- ios_user - fix unable to delete user admin issue (https://github.com/ansible/ansible/pull/44904)
|
||||
2
changelogs/fragments/fix_ios_vlan.yaml
Normal file
2
changelogs/fragments/fix_ios_vlan.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ios_vlan - fix unable to identify correct vlan issue (https://github.com/ansible/ansible/pull/42247)
|
||||
2
changelogs/fragments/galaxy_list_all_roles.yaml
Normal file
2
changelogs/fragments/galaxy_list_all_roles.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ansible-galaxy - properly list all roles in roles_path (https://github.com/ansible/ansible/issues/43010)
|
||||
2
changelogs/fragments/get_url_bug_fix.yaml
Normal file
2
changelogs/fragments/get_url_bug_fix.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- get_url - fix the bug that get_url does not change mode when checksum matches (https://github.com/ansible/ansible/issues/29614)
|
||||
2
changelogs/fragments/group_by_localhost.yaml
Normal file
2
changelogs/fragments/group_by_localhost.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- group_by - support implicit localhost (https://github.com/ansible/ansible/pull/41860)
|
||||
2
changelogs/fragments/influxdb_query_common_return.yml
Normal file
2
changelogs/fragments/influxdb_query_common_return.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- "influxdb_query - fixed the use of the common return 'results' caused an unexpected fault. The return is renamed to 'query_results'"
|
||||
2
changelogs/fragments/ios_linkagg_fix.yml
Normal file
2
changelogs/fragments/ios_linkagg_fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ios_linkagg - fix picking correct interface names issue (https://github.com/ansible/ansible/pull/42557)
|
||||
2
changelogs/fragments/ios_logging_fix.yaml
Normal file
2
changelogs/fragments/ios_logging_fix.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ios_logging - fix idempotency issues (https://github.com/ansible/ansible/pull/41029)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- ios/nxos/eos_config - don't retrieve config in running_config when config is provided for diff (https://github.com/ansible/ansible/pull/41400)
|
||||
3
changelogs/fragments/ios_vlan_interface.yaml
Normal file
3
changelogs/fragments/ios_vlan_interface.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
bugfixes:
|
||||
- ios_vlan - fix unable to work on certain interface types issue (https://github.com/ansible/ansible/pull/43819)
|
||||
2
changelogs/fragments/junos_config_confirm_commit.yaml
Normal file
2
changelogs/fragments/junos_config_confirm_commit.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- junos_config - fix confirm commit timeout issue (https://github.com/ansible/ansible/pull/41527)
|
||||
@ -1,2 +0,0 @@
|
||||
- bufgixes:
|
||||
- Allow aliases and update corner cases for hidden fields https://github.com/ansible/ansible/pull/39506
|
||||
2
changelogs/fragments/lineinfile-empty-regexp.yml
Normal file
2
changelogs/fragments/lineinfile-empty-regexp.yml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- lineinfile - add warning when using an empty regexp (https://github.com/ansible/ansible/issues/29443)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- lineinfile - fix insertbefore when used with BOF to not insert duplicate lines (https://github.com/ansible/ansible/issues/38219)
|
||||
@ -1,2 +0,0 @@
|
||||
- docs:
|
||||
- added docs on new lookup option that allows users to controll errors
|
||||
@ -1,2 +1,2 @@
|
||||
- bugfixes:
|
||||
- reset connection is not run once https://github.com/ansible/ansible/issues/39364
|
||||
bugfixes:
|
||||
- 'meta: reset connection is not run once (https://github.com/ansible/ansible/issues/39364)'
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
---
|
||||
bugfixes:
|
||||
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_
|
||||
prints out a warning message about skipping a config file from a world
|
||||
writable current working directory. However, if the user is in a world
|
||||
writable current working directory which does not contain a config file, it
|
||||
should not print a warning message. This release fixes that extaneous warning.
|
||||
2
changelogs/fragments/no-dynamic-import-tasks.yaml
Normal file
2
changelogs/fragments/no-dynamic-import-tasks.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- import_tasks - Do not allow import_tasks to transition to dynamic if the file is missing (https://github.com/ansible/ansible/issues/44822)
|
||||
@ -0,0 +1,9 @@
|
||||
---
|
||||
bugfixes:
|
||||
- '**Security Fix** - Some connection exceptions would cause no_log specified on
|
||||
a task to be ignored. If this happened, the task information, including any
|
||||
private information could have been displayed to stdout and (if enabled, not
|
||||
the default) logged to a log file specified in ansible.cfg''s log_path.
|
||||
Additionally, sites which redirected stdout from ansible runs to a log file
|
||||
may have stored that private information onto disk that way as well.
|
||||
(https://github.com/ansible/ansible/pull/41414)'
|
||||
2
changelogs/fragments/nsupdate_fix_hmac-sha384.yaml
Normal file
2
changelogs/fragments/nsupdate_fix_hmac-sha384.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nsupdate - allow hmac-sha384 https://github.com/ansible/ansible/pull/42209
|
||||
2
changelogs/fragments/nxos_banner_2.5.5.yaml
Normal file
2
changelogs/fragments/nxos_banner_2.5.5.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nxos_banner - fix multiline banner issue (https://github.com/ansible/ansible/pull/41026).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nxos terminal plugin - fix output truncation (https://github.com/ansible/ansible/pull/40960)
|
||||
2
changelogs/fragments/nxos_file_copy.yaml
Normal file
2
changelogs/fragments/nxos_file_copy.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Add md5sum check in nxos_file_copy module (https://github.com/ansible/ansible/pull/43423).
|
||||
2
changelogs/fragments/nxos_interface.yaml
Normal file
2
changelogs/fragments/nxos_interface.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nxos_interface port-channel idempotence fix for mode (https://github.com/ansible/ansible/pull/44248).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nxos_l3_interface - fix no switchport issue with loopback and svi interfaces (https://github.com/ansible/ansible/pull/37392).
|
||||
2
changelogs/fragments/nxos_linkagg.yaml
Normal file
2
changelogs/fragments/nxos_linkagg.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nxos_linkagg mode fix (https://github.com/ansible/ansible/pull/44294).
|
||||
2
changelogs/fragments/nxos_linkagg_bugfix_2.5.6.yaml
Normal file
2
changelogs/fragments/nxos_linkagg_bugfix_2.5.6.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nxos_linkagg - fix issue (https://github.com/ansible/ansible/pull/41550).
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- get_capabilities in nxapi module_utils should not return empty dictionary (https://github.com/ansible/ansible/pull/42688).
|
||||
2
changelogs/fragments/nxos_nxapi_fix_2.5.7.yaml
Normal file
2
changelogs/fragments/nxos_nxapi_fix_2.5.7.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Enforcing NXAPI default HTTP behavior (https://github.com/ansible/ansible/pull/41817).
|
||||
2
changelogs/fragments/nxos_snapshot_fix_2.5.5.yaml
Normal file
2
changelogs/fragments/nxos_snapshot_fix_2.5.5.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nxos_snapshot - fix compare_option (https://github.com/ansible/ansible/pull/41386)
|
||||
2
changelogs/fragments/nxos_static_route_fix.yaml
Normal file
2
changelogs/fragments/nxos_static_route_fix.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Fix check_mode in nxos_static_route module (https://github.com/ansible/ansible/pull/44252).
|
||||
2
changelogs/fragments/nxos_vxlan_vtep_vni_fix_2.5.6.yaml
Normal file
2
changelogs/fragments/nxos_vxlan_vtep_vni_fix_2.5.6.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- nxos_vxlan_vtep_vni - fix issue (https://github.com/ansible/ansible/pull/42240)
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- openvswitch_db - make 'key' argument optional https://github.com/ansible/ansible/issues/42108
|
||||
2
changelogs/fragments/pause-stdout-redirection.yaml
Normal file
2
changelogs/fragments/pause-stdout-redirection.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- pause - do not set stdout to raw mode when redirecting to a file (https://github.com/ansible/ansible/issues/41717)
|
||||
2
changelogs/fragments/pause-try-except-curses.yaml
Normal file
2
changelogs/fragments/pause-try-except-curses.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- pause - nest try except when importing curses to gracefully fail if curses is not present (https://github.com/ansible/ansible/issues/42004)
|
||||
@ -1,2 +1,2 @@
|
||||
- bugfixes:
|
||||
- disambiguate keywords from variables in include_role https://github.com/ansible/ansible/pull/38968
|
||||
bugfixes:
|
||||
- include_role - disambiguate keywords from variables (https://github.com/ansible/ansible/pull/38968)
|
||||
|
||||
2
changelogs/fragments/reset_con_fix.yml
Normal file
2
changelogs/fragments/reset_con_fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- uses correct conn info for reset_connection https://github.com/ansible/ansible/issues/27520
|
||||
2
changelogs/fragments/service_facts_fix.yml
Normal file
2
changelogs/fragments/service_facts_fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- correct service facts systemd detection of state https://github.com/ansible/ansible/issues/40809
|
||||
2
changelogs/fragments/slack_callback_invocation.yaml
Normal file
2
changelogs/fragments/slack_callback_invocation.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- slack callback - Fix invocation by looking up data from cli.options (https://github.com/ansible/ansible/pull/43542)
|
||||
2
changelogs/fragments/terminal_plugin.yaml
Normal file
2
changelogs/fragments/terminal_plugin.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- Fix Python2.6 regex bug terminal plugin nxos, iosxr (https://github.com/ansible/ansible/pull/45135).
|
||||
3
changelogs/fragments/v2.5.5_summary.yaml
Normal file
3
changelogs/fragments/v2.5.5_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2018-06-14
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
|
||||
3
changelogs/fragments/v2.5.6_summary.yaml
Normal file
3
changelogs/fragments/v2.5.6_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2018-07-05
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
|
||||
3
changelogs/fragments/v2.5.7_summary.yaml
Normal file
3
changelogs/fragments/v2.5.7_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2018-07-26
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
|
||||
3
changelogs/fragments/v2.5.8_summary.yaml
Normal file
3
changelogs/fragments/v2.5.8_summary.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
release_summary: |
|
||||
| Release Date: 2018-08-16
|
||||
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
|
||||
2
changelogs/fragments/vars_lk.yml
Normal file
2
changelogs/fragments/vars_lk.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- correctly check hostvars for vars term https://github.com/ansible/ansible/pull/41819
|
||||
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- vars_prompt - properly template play level variables in vars_prompt (https://github.com/ansible/ansible/issues/37984)
|
||||
2
changelogs/fragments/vyos_vlan_fix.yaml
Normal file
2
changelogs/fragments/vyos_vlan_fix.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- vyos_vlan - fix aggregate configuration issues (https://github.com/ansible/ansible/pull/41638)
|
||||
2
changelogs/fragments/win_domain-dns-typo-fix.yml
Normal file
2
changelogs/fragments/win_domain-dns-typo-fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- win_domain - fixes typo in one of the AD cmdlets https://github.com/ansible/ansible/issues/41536
|
||||
2
changelogs/fragments/win_iis_webapppool-output-fix.yml
Normal file
2
changelogs/fragments/win_iis_webapppool-output-fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- win_iis_webapppool - redirect some module output to null so Ansible can read the output JSON https://github.com/ansible/ansible/issues/40874
|
||||
2
changelogs/fragments/win_updates-async-fix.yml
Normal file
2
changelogs/fragments/win_updates-async-fix.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- win_updates - Fixed issue where running win_updates on async fails without any error
|
||||
2
changelogs/fragments/winrm_kinit-remove-pass-log.yml
Normal file
2
changelogs/fragments/winrm_kinit-remove-pass-log.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- winrm - ensure pexpect is set to not echo the input on a failure and have a manual sanity check afterwards https://github.com/ansible/ansible/issues/41865
|
||||
2
changelogs/fragments/wrcwd_ansible.cfg.yml
Normal file
2
changelogs/fragments/wrcwd_ansible.cfg.yml
Normal file
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- '**Security Fix** - avoid using ansible.cfg in a world writable dir.'
|
||||
@ -85,6 +85,28 @@ pp = PrettyPrinter()
|
||||
display = Display()
|
||||
|
||||
|
||||
# kludge_ns gives us a kludgey way to set variables inside of loops that need to be visible outside
|
||||
# the loop. We can get rid of this when we no longer need to build docs with less than Jinja-2.10
|
||||
# http://jinja.pocoo.org/docs/2.10/templates/#assignments
|
||||
# With Jinja-2.10 we can use jinja2's namespace feature, restoring the namespace template portion
|
||||
# of: fa5c0282a4816c4dd48e80b983ffc1e14506a1f5
|
||||
NS_MAP = {}
|
||||
|
||||
|
||||
def to_kludge_ns(key, value):
|
||||
NS_MAP[key] = value
|
||||
return ""
|
||||
|
||||
|
||||
def from_kludge_ns(key):
|
||||
return NS_MAP[key]
|
||||
|
||||
|
||||
# The max filter was added in Jinja2-2.10. Until we can require that version, use this
|
||||
def do_max(seq):
|
||||
return max(seq)
|
||||
|
||||
|
||||
def rst_ify(text):
|
||||
''' convert symbols like I(this is in italics) to valid restructured text '''
|
||||
|
||||
@ -94,7 +116,7 @@ def rst_ify(text):
|
||||
t = _MODULE.sub(r":ref:`\1 <\1>`", t)
|
||||
t = _LINK.sub(r"`\1 <\2>`_", t)
|
||||
t = _URL.sub(r"\1", t)
|
||||
t = _CONST.sub(r"`\1`", t)
|
||||
t = _CONST.sub(r"``\1``", t)
|
||||
t = _RULER.sub(r"------------", t)
|
||||
except Exception as e:
|
||||
raise AnsibleError("Could not process (%s) : %s" % (text, e))
|
||||
@ -251,7 +273,7 @@ def get_plugin_info(module_dir, limit_to=None, verbose=False):
|
||||
module_info[module] = {'path': module_path,
|
||||
'source': os.path.relpath(module_path, module_dir),
|
||||
'deprecated': deprecated,
|
||||
'aliases': set(),
|
||||
'aliases': module_info[module].get('aliases', set()),
|
||||
'metadata': metadata,
|
||||
'doc': doc,
|
||||
'examples': examples,
|
||||
@ -298,6 +320,14 @@ def jinja2_environment(template_dir, typ, plugin_type):
|
||||
trim_blocks=True)
|
||||
env.globals['xline'] = rst_xline
|
||||
|
||||
# Can be removed (and template switched to use namespace) when we no longer need to build
|
||||
# with <Jinja-2.10
|
||||
env.globals['to_kludge_ns'] = to_kludge_ns
|
||||
env.globals['from_kludge_ns'] = from_kludge_ns
|
||||
if 'max' not in env.filters:
|
||||
# Jinja < 2.10
|
||||
env.filters['max'] = do_max
|
||||
|
||||
templates = {}
|
||||
if typ == 'rst':
|
||||
env.filters['convert_symbols_to_format'] = rst_ify
|
||||
|
||||
@ -421,51 +421,17 @@ table {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.outer-elbow-container {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.elbow-placeholder {
|
||||
.documentation-table td.elbow-placeholder {
|
||||
border-left: 1px solid #000;
|
||||
height: 100%;
|
||||
border-top: 0px;
|
||||
width: 30px;
|
||||
min-width: 30px;
|
||||
}
|
||||
|
||||
.elbow-key {
|
||||
height: 100%;
|
||||
padding: 4px;
|
||||
border-top: 1px solid #000;
|
||||
flex-grow: 1;
|
||||
border-left: 1px solid #000;
|
||||
}
|
||||
|
||||
.elbow-blocker {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.return-value-column {
|
||||
height: 1px
|
||||
}
|
||||
|
||||
.return-value-column td {
|
||||
height: inherit
|
||||
}
|
||||
|
||||
@-moz-document url-prefix() {
|
||||
.return-value-column td {
|
||||
height: 100%
|
||||
}
|
||||
}
|
||||
|
||||
.cell-border {
|
||||
.documentation-table th, .documentation-table td {
|
||||
padding: 4px;
|
||||
border-left: 1px solid #000;
|
||||
border-top: 1px solid #000;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.documentation-table {
|
||||
|
||||
@ -4867,50 +4867,17 @@ table {
|
||||
}
|
||||
}
|
||||
|
||||
.outer-elbow-container {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.elbow-placeholder {
|
||||
.documentation-table td.elbow-placeholder {
|
||||
border-left: 1px solid #000;
|
||||
height: 100%;
|
||||
border-top: 0px;
|
||||
width: 30px;
|
||||
min-width: 30px;
|
||||
}
|
||||
|
||||
.elbow-key {
|
||||
height: 100%;
|
||||
padding: 4px;
|
||||
border-top: 1px solid #000;
|
||||
flex-grow: 1;
|
||||
border-left: 1px solid #000;
|
||||
}
|
||||
|
||||
.elbow-blocker {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.return-value-column {
|
||||
height: 1px
|
||||
}
|
||||
|
||||
.return-value-column td {
|
||||
height: inherit
|
||||
}
|
||||
|
||||
@-moz-document url-prefix() {
|
||||
.return-value-column td {
|
||||
height: 100%
|
||||
}
|
||||
}
|
||||
|
||||
.cell-border {
|
||||
.documentation-table th, .documentation-table td {
|
||||
padding: 4px;
|
||||
border-left: 1px solid #000;
|
||||
border-top: 1px solid #000;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.documentation-table {
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
.. _community_development_process:
|
||||
|
||||
The Ansible Development Process
|
||||
===============================
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ How To Help
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
Thanks for being interested in helping the Ansible project!
|
||||
Thanks for being interested in helping the Ansible project!
|
||||
|
||||
There are many ways to help the Ansible project...but first, please read and understand the :ref:`code_of_conduct`.
|
||||
|
||||
@ -23,7 +23,7 @@ When you become a power user, your ability and opportunities to help the Ansible
|
||||
Ask and answer questions online
|
||||
-------------------------------
|
||||
|
||||
There are many forums online where Ansible users ask and answer questions. Reach out and communicate with your fellow Ansible users.
|
||||
There are many forums online where Ansible users ask and answer questions. Reach out and communicate with your fellow Ansible users.
|
||||
|
||||
You can find the official :ref:`Ansible communication channels <communication>`.
|
||||
|
||||
@ -45,7 +45,7 @@ If you should discover that the bug you're trying to file already exists in an i
|
||||
Review and submit pull requests
|
||||
-------------------------------
|
||||
|
||||
As you become more familiar with how Ansible works, you may be able to fix issues or develop new features yourself. If you think you've got a solution to a bug you've found in Ansible, or if you've got a new feature that you've written and would like to share with millions of Ansible users, read all about the `Ansible development process <http://docs.ansible.com/ansible/latest/community/development_process.rst>`_ to learn how to get your code accepted into Ansible.
|
||||
As you become more familiar with how Ansible works, you may be able to fix issues or develop new features yourself. If you think you've got a solution to a bug you've found in Ansible, or if you've got a new feature that you've written and would like to share with millions of Ansible users, read all about the :ref:`Ansible development process <community_development_process>` to learn how to get your code accepted into Ansible.
|
||||
|
||||
Another good way to help is to review pull requests that other Ansible users have submitted. The Ansible community keeps a full list of `open pull requests by file <https://ansible.sivel.net/byfile.html>`_, so if there's a particular module or plug-in that particularly interests you, you can easily keep track of all the relevant new pull requests and provide testing or feedback.
|
||||
|
||||
|
||||
@ -13,10 +13,11 @@ Tests must be configured to run in exactly one group. This is done by adding the
|
||||
|
||||
The following are examples of some of the available groups:
|
||||
|
||||
- ``posix/ci/group1``
|
||||
- ``windows/ci/group2``
|
||||
- ``posix/ci/cloud/group3/azure``
|
||||
- ``posix/ci/cloud/group4/aws``
|
||||
- ``shippable/posix/group1``
|
||||
- ``shippable/windows/group2``
|
||||
- ``shippable/azure/group3``
|
||||
- ``shippable/aws/group1``
|
||||
- ``shippable/cloud/group1``
|
||||
|
||||
Groups are used to balance tests across multiple CI jobs to minimize test run time.
|
||||
They also improve efficiency by keeping tests with similar requirements running together.
|
||||
|
||||
@ -110,6 +110,7 @@ Errors
|
||||
321 ``Exception`` attempting to import module for ``argument_spec`` introspection
|
||||
322 argument is listed in the argument_spec, but not documented in the module
|
||||
323 argument is listed in DOCUMENTATION.options, but not accepted by the module
|
||||
332 ``AnsibleModule`` schema validation error
|
||||
..
|
||||
--------- -------------------
|
||||
**4xx** **Syntax**
|
||||
|
||||
@ -21,7 +21,7 @@ The stock configuration should be sufficient for most users, but there may be re
|
||||
.. _getting_the_latest_configuration:
|
||||
|
||||
Getting the latest configuration
|
||||
================================
|
||||
--------------------------------
|
||||
|
||||
If installing Ansible from a package manager, the latest ansible.cfg file should be present in /etc/ansible, possibly
|
||||
as a ".rpmnew" file (or other) as appropriate in the case of updates.
|
||||
@ -35,6 +35,7 @@ For more details and a full listing of available configurations go to :ref:`conf
|
||||
|
||||
For in-depth details, see :ref:`ansible_configuration_settings`.
|
||||
|
||||
.. _environmental_configuration:
|
||||
|
||||
Environmental configuration
|
||||
===========================
|
||||
@ -55,4 +56,3 @@ Settings in the command line will override those passed through the configuratio
|
||||
|
||||
The full list of options available is in :ref:`ansible-playbook` and :ref:`ansible`.
|
||||
|
||||
|
||||
|
||||
@ -184,6 +184,10 @@ and ``checksum_algorithm: md5`` can still be used if an MD5 checksum is
|
||||
desired.
|
||||
|
||||
* ``osx_say`` module was renamed into :ref:`say <say_module>`.
|
||||
* The ``lineinfile`` module was changed in 2.5.6 to show a warning when using an empty string as a regexp.
|
||||
Since an empty regexp matches every line in a file, it will replace the last line in a file rather
|
||||
than inserting. If this is the desired behavior, use ``'^'`` which will match every line and
|
||||
will not trigger the warning.
|
||||
* Several modules which could deal with symlinks had the default value of their ``follow`` option
|
||||
changed as part of a feature to `standardize the behavior of follow
|
||||
<https://github.com/ansible/proposals/issues/69>`_:
|
||||
@ -197,6 +201,12 @@ desired.
|
||||
* The :ref:`blockinfile module <blockinfile_module>` had its ``follow`` parameter removed because
|
||||
it inherently modifies the content of an existing file so it makes no sense to operate on the
|
||||
link itself.
|
||||
* In Ansible-2.5.3, the :ref:`template module <template_module>` became more strict about its
|
||||
``src`` file being proper utf-8. Previously, non-utf8 contents in a template module src file
|
||||
would result in a mangled output file (the non-utf8 characters would be replaced with a unicode
|
||||
replacement character). Now, on Python2, the module will error out with the message, "Template
|
||||
source files must be utf-8 encoded". On Python3, the module will first attempt to pass the
|
||||
non-utf8 characters through verbatim and fail if that does not succeed.
|
||||
|
||||
Plugins
|
||||
=======
|
||||
|
||||
@ -18,7 +18,7 @@ You can also use the site to share roles that you create. By authenticating with
|
||||
them available to the Ansible community. Imported roles become available in the Galaxy search index and visible on the site, allowing users to
|
||||
discover and download them.
|
||||
|
||||
Learn more by viewing `the About page <https://galaxy.ansible.com/intro>`_.
|
||||
Learn more by viewing `the About page <https://galaxy.ansible.com/docs/>`_.
|
||||
|
||||
The command line tool
|
||||
`````````````````````
|
||||
|
||||
@ -50,7 +50,7 @@ Blocks also introduce the ability to handle errors in a way similar to exception
|
||||
|
||||
|
||||
tasks:
|
||||
- name: Attempt and gracefull roll back demo
|
||||
- name: Attempt and graceful roll back demo
|
||||
block:
|
||||
- debug:
|
||||
msg: 'I execute normally'
|
||||
@ -65,7 +65,7 @@ Blocks also introduce the ability to handle errors in a way similar to exception
|
||||
msg: 'I also never execute :-('
|
||||
always:
|
||||
- debug:
|
||||
msg: "this always executes"
|
||||
msg: "This always executes"
|
||||
|
||||
The tasks in the ``block`` would execute normally, if there is any error the ``rescue`` section would get executed
|
||||
with whatever you need to do to recover from the previous error. The ``always`` section runs no matter what previous
|
||||
@ -81,7 +81,7 @@ Another example is how to run handlers after an error occurred :
|
||||
|
||||
|
||||
tasks:
|
||||
- name: Attempt and gracefull roll back demo
|
||||
- name: Attempt and graceful roll back demo
|
||||
block:
|
||||
- debug:
|
||||
msg: 'I execute normally'
|
||||
@ -93,7 +93,7 @@ Another example is how to run handlers after an error occurred :
|
||||
handlers:
|
||||
- name: run me even after an error
|
||||
debug:
|
||||
msg: 'this handler runs even on error'
|
||||
msg: 'This handler runs even on error'
|
||||
|
||||
.. seealso::
|
||||
|
||||
|
||||
@ -288,40 +288,51 @@ Now, let's take the following data structure::
|
||||
To extract all clusters from this structure, you can use the following query::
|
||||
|
||||
- name: "Display all cluster names"
|
||||
debug: var=item
|
||||
loop: "{{domain_definition|json_query('domain.cluster[*].name')}}"
|
||||
debug:
|
||||
var: item
|
||||
loop: "{{ domain_definition | json_query('domain.cluster[*].name') }}"
|
||||
|
||||
Same thing for all server names::
|
||||
|
||||
- name: "Display all server names"
|
||||
debug: var=item
|
||||
loop: "{{domain_definition|json_query('domain.server[*].name')}}"
|
||||
debug:
|
||||
var: item
|
||||
loop: "{{ domain_definition | json_query('domain.server[*].name') }}"
|
||||
|
||||
This example shows ports from cluster1::
|
||||
|
||||
- name: "Display all server names from cluster1"
|
||||
debug: var=item
|
||||
loop: "{{domain_definition|json_query(server_name_cluster1_query)}}"
|
||||
- name: "Display all ports from cluster1"
|
||||
debug:
|
||||
var: item
|
||||
loop: "{{ domain_definition | json_query(server_name_cluster1_query) }}"
|
||||
vars:
|
||||
server_name_cluster1_query: "domain.server[?cluster=='cluster1'].port"
|
||||
|
||||
.. note:: You can use a variable to make the query more readable.
|
||||
|
||||
Or, alternatively::
|
||||
Or, alternatively print out the ports in a comma separated string::
|
||||
|
||||
- name: "Display all server names from cluster1"
|
||||
- name: "Display all ports from cluster1 as a string"
|
||||
debug:
|
||||
var: item
|
||||
loop: "{{domain_definition|json_query('domain.server[?cluster=`cluster1`].port')}}"
|
||||
msg: "{{ domain_definition | json_query('domain.server[?cluster==`cluster1`].port') | join(', ') }}"
|
||||
|
||||
.. note:: Here, quoting literals using backticks avoids escaping quotes and maintains readability.
|
||||
|
||||
Or, using YAML `single quote escaping <http://yaml.org/spec/current.html#id2534365>`_::
|
||||
|
||||
- name: "Display all ports from cluster1"
|
||||
debug:
|
||||
var: item
|
||||
loop: "{{ domain_definition | json_query('domain.server[?cluster==''cluster1''].port') }}"
|
||||
|
||||
.. note:: Escaping single quotes within single quotes in YAML is done by doubling the single quote.
|
||||
|
||||
In this example, we get a hash map with all ports and names of a cluster::
|
||||
|
||||
- name: "Display all server ports and names from cluster1"
|
||||
debug:
|
||||
var: item
|
||||
loop: "{{domain_definition|json_query(server_name_cluster1_query)}}"
|
||||
loop: "{{ domain_definition | json_query(server_name_cluster1_query) }}"
|
||||
vars:
|
||||
server_name_cluster1_query: "domain.server[?cluster=='cluster2'].{name: name, port: port}"
|
||||
|
||||
|
||||
@ -54,39 +54,6 @@ can run different plays at different times.
|
||||
|
||||
For starters, here's a playbook that contains just one play::
|
||||
|
||||
---
|
||||
- hosts: webservers
|
||||
vars:
|
||||
http_port: 80
|
||||
max_clients: 200
|
||||
remote_user: root
|
||||
tasks:
|
||||
- name: ensure apache is at the latest version
|
||||
yum:
|
||||
name: httpd
|
||||
state: latest
|
||||
- name: write the apache config file
|
||||
template:
|
||||
src: /srv/httpd.j2
|
||||
dest: /etc/httpd.conf
|
||||
notify:
|
||||
- restart apache
|
||||
- name: ensure apache is running (and enable it at boot)
|
||||
service:
|
||||
name: httpd
|
||||
state: started
|
||||
enabled: yes
|
||||
handlers:
|
||||
- name: restart apache
|
||||
service:
|
||||
name: httpd
|
||||
state: restarted
|
||||
|
||||
When working with tasks that have really long parameters or modules that take
|
||||
many parameters, you can break tasks items over multiple lines to improve the
|
||||
structure. Below is another version of the above example but using
|
||||
YAML dictionaries to supply the modules with their ``key=value`` arguments.::
|
||||
|
||||
---
|
||||
- hosts: webservers
|
||||
vars:
|
||||
|
||||
@ -13,7 +13,7 @@ As noted in :doc:`playbooks_reuse`, include and import statements are very simil
|
||||
|
||||
Please refer to :doc:`playbooks_reuse` for documentation concerning the trade-offs one may encounter when using each type.
|
||||
|
||||
Also be aware that this behaviour changed in 2.4; prior to that Ansible version only ``include`` was available, and it behaved differently depending on context.
|
||||
Also be aware that this behaviour changed in 2.4. Prior to Ansible 2.4, only ``include`` was available and it behaved differently depending on context.
|
||||
|
||||
.. versionadded:: 2.4
|
||||
|
||||
@ -22,7 +22,6 @@ Importing Playbooks
|
||||
|
||||
It is possible to include playbooks inside a master playbook. For example::
|
||||
|
||||
---
|
||||
- import_playbook: webservers.yml
|
||||
- import_playbook: databases.yml
|
||||
|
||||
@ -36,16 +35,15 @@ Prior to 2.4 only ``include`` was available and worked for both playbooks and ta
|
||||
Including and Importing Task Files
|
||||
``````````````````````````````````
|
||||
|
||||
Use of included task lists is a great way to define a role that system is going to fulfill. A task include file simply contains a flat list of tasks::
|
||||
Breaking tasks up into different files is an excellent way to organize complex sets of tasks or reuse them. A task file simply contains a flat list of tasks::
|
||||
|
||||
# common_tasks.yml
|
||||
---
|
||||
- name: placeholder foo
|
||||
command: /bin/foo
|
||||
- name: placeholder bar
|
||||
command: /bin/bar
|
||||
|
||||
You can then use ``import_tasks`` or ``include_tasks`` to include this file in your main task list::
|
||||
You can then use ``import_tasks`` or ``include_tasks`` to execute the tasks in a file in the main task list::
|
||||
|
||||
tasks:
|
||||
- import_tasks: common_tasks.yml
|
||||
@ -65,27 +63,17 @@ You can also pass variables into imports and includes::
|
||||
vars:
|
||||
wp_user: bob
|
||||
|
||||
Variables can also be passed to include files using an alternative syntax, which also supports structured variables like dictionaries and lists::
|
||||
See :ref:`ansible_variable_precedence` for more details on variable inheritance and precedence.
|
||||
|
||||
tasks:
|
||||
- include_tasks: wordpress.yml
|
||||
vars:
|
||||
wp_user: timmy
|
||||
ssh_keys:
|
||||
- "{{ lookup('file', 'keys/one.pub') }}"
|
||||
- "{{ lookup('file', 'keys/two.pub') }}"
|
||||
|
||||
Using either syntax, variables passed in can then be used in the included files. These variables will only be available to tasks within the included file. See :ref:`ansible_variable_precedence` for more details on variable inheritance and precedence.
|
||||
|
||||
Task include statements can be used at arbitrary depth.
|
||||
Task include and import statements can be used at arbitrary depth.
|
||||
|
||||
.. note::
|
||||
Static and dynamic can be mixed, however this is not recommended as it may lead to difficult-to-diagnose bugs in your playbooks.
|
||||
- Static and dynamic can be mixed, however this is not recommended as it may lead to difficult-to-diagnose bugs in your playbooks.
|
||||
- The ``key=value`` syntax for passing variables to import and include is deprecated. Use YAML ``vars:`` instead.
|
||||
|
||||
Includes and imports can also be used in the ``handlers:`` section; for instance, if you want to define how to restart apache, you only have to do that once for all of your playbooks. You might make a handlers.yml that looks like::
|
||||
Includes and imports can also be used in the ``handlers:`` section. For instance, if you want to define how to restart Apache, you only have to do that once for all of your playbooks. You might make a ``handlers.yml`` that looks like::
|
||||
|
||||
# more_handlers.yml
|
||||
---
|
||||
- name: restart apache
|
||||
service: name=apache state=restarted
|
||||
|
||||
|
||||
@ -119,7 +119,7 @@ You can use `any` and `all` to check if any or all elements in a list are true o
|
||||
vars:
|
||||
mylist:
|
||||
- 1
|
||||
- 3 == 3
|
||||
- "{{ 3 == 3 }}"
|
||||
- True
|
||||
myotherlist:
|
||||
- False
|
||||
|
||||
@ -892,7 +892,7 @@ Basically, anything that goes into "role defaults" (the defaults folder inside t
|
||||
If you define a variable twice in a play's vars: section, the 2nd one wins.
|
||||
.. note:: the previous describes the default config `hash_behavior=replace`, switch to 'merge' to only partially overwrite.
|
||||
.. note:: Group loading follows parent/child relationships. Groups of the same 'patent/child' level are then merged following alphabetical order.
|
||||
This last one can be superceeded by the user via `ansible_group_priority`, which defaults to 0 for all groups.
|
||||
This last one can be superceeded by the user via ``ansible_group_priority``, which defaults to ``1`` for all groups.
|
||||
|
||||
|
||||
Another important thing to consider (for all versions) is that connection variables override config, command line and play/role/task specific options and directives. For example::
|
||||
|
||||
@ -128,7 +128,7 @@ a custom class defined by that resource. Defining a value that takes in a
|
||||
For example, to define a ``[CimInstance]`` value in Ansible::
|
||||
|
||||
# [CimInstance]AuthenticationInfo == MSFT_xWebAuthenticationInformation
|
||||
AuthenticationInfo
|
||||
AuthenticationInfo:
|
||||
Anonymous: no
|
||||
Basic: yes
|
||||
Digest: no
|
||||
|
||||
34
docs/templates/config.rst.j2
vendored
34
docs/templates/config.rst.j2
vendored
@ -39,6 +39,40 @@ Ansible will process the above list and use the first file found, all others are
|
||||
inventory = /etc/ansible/hosts ; This points to the file that lists your hosts
|
||||
|
||||
|
||||
.. _cfg_in_world_writable_dir:
|
||||
|
||||
Avoiding security risks with ``ansible.cfg`` in the current directory
|
||||
---------------------------------------------------------------------
|
||||
|
||||
|
||||
If Ansible were to load :file:ansible.cfg from a world-writable current working
|
||||
directory, it would create a serious security risk. Another user could place
|
||||
their own config file there, designed to make Ansible run malicious code both
|
||||
locally and remotely, possibly with elevated privileges. For this reason,
|
||||
Ansible will not automatically load a config file from the current working
|
||||
directory if the directory is world-writable.
|
||||
|
||||
If you depend on using Ansible with a config file in the current working
|
||||
directory, the best way to avoid this problem is to restrict access to your
|
||||
Ansible directories to particular user(s) and/or group(s). If your Ansible
|
||||
directories live on a filesystem which has to emulate Unix permissions, like
|
||||
Vagrant or Windows Subsystem for Linux (WSL), you may, at first, not know how
|
||||
you can fix this as ``chmod``, ``chown``, and ``chgrp`` might not work there.
|
||||
In most of those cases, the correct fix is to modify the mount options of the
|
||||
filesystem so the files and directories are readable and writable by the users
|
||||
and groups running Ansible but closed to others. For more details on the
|
||||
correct settings, see:
|
||||
|
||||
* for Vagrant, Jeremy Kendall's `blog post <http://jeremykendall.net/2013/08/09/vagrant-synced-folders-permissions/>`_ covers synced folder permissions.
|
||||
* for WSL, the `WSL docs <https://docs.microsoft.com/en-us/windows/wsl/wsl-config#set-wsl-launch-settings>`_
|
||||
and this `Microsoft blog post <https://blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/>`_ cover mount options.
|
||||
|
||||
If you absolutely depend on having the config live in a world-writable current
|
||||
working directory, you can explicitly specify the config file via the
|
||||
:envvar:`ANSIBLE_CONFIG` environment variable. Please take
|
||||
appropriate steps to mitigate the security concerns above before doing so.
|
||||
|
||||
|
||||
Common Options
|
||||
==============
|
||||
|
||||
|
||||
12
docs/templates/man.j2
vendored
12
docs/templates/man.j2
vendored
@ -76,17 +76,18 @@ ENVIRONMENT
|
||||
The following environment variables may be specified.
|
||||
|
||||
{% if inventory %}
|
||||
ANSIBLE_INVENTORY -- Override the default ansible inventory file
|
||||
ANSIBLE_INVENTORY -- Override the default ansible inventory sources
|
||||
|
||||
{% endif %}
|
||||
{% if library %}
|
||||
ANSIBLE_LIBRARY -- Override the default ansible module library path
|
||||
|
||||
{% endif %}
|
||||
ANSIBLE_CONFIG -- Override the default ansible config file
|
||||
ANSIBLE_CONFIG -- Specify override location for the ansible config file
|
||||
|
||||
Many more are available for most options in ansible.cfg
|
||||
|
||||
For a full list check https://docs.ansible.com/. or use the `ansible-config` command.
|
||||
|
||||
FILES
|
||||
-----
|
||||
@ -99,6 +100,9 @@ FILES
|
||||
|
||||
~/.ansible.cfg -- User config file, overrides the default config if present
|
||||
|
||||
./ansible.cfg -- Local config file (in current working direcotry) assumed to be 'project specific' and overrides the rest if present.
|
||||
|
||||
As mentioned above, the ANSIBLE_CONFIG environment variable will override all others.
|
||||
|
||||
AUTHOR
|
||||
------
|
||||
@ -109,8 +113,8 @@ Ansible was originally written by Michael DeHaan.
|
||||
COPYRIGHT
|
||||
---------
|
||||
|
||||
Copyright © 2017 Red Hat, Inc | Ansible.
|
||||
Ansible is released under the terms of the GPLv3 License.
|
||||
Copyright © 2018 Red Hat, Inc | Ansible.
|
||||
Ansible is released under the terms of the GPLv3 license.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
|
||||
304
docs/templates/plugin.rst.j2
vendored
304
docs/templates/plugin.rst.j2
vendored
@ -7,7 +7,7 @@
|
||||
|
||||
.. _@{ module }@_@{ plugin_type }@:
|
||||
{% for alias in aliases %}
|
||||
.. _@{ alias }@:
|
||||
.. _@{ alias }@_@{ plugin_type }@:
|
||||
{% endfor %}
|
||||
|
||||
{% if short_description %}
|
||||
@ -88,106 +88,107 @@ Parameters
|
||||
.. raw:: html
|
||||
|
||||
<table border=0 cellpadding=0 class="documentation-table">
|
||||
{# Header of the documentation #}
|
||||
{# Pre-compute the nesting depth to allocate columns -#}
|
||||
@{ to_kludge_ns('maxdepth', 1) -}@
|
||||
{% for key, value in options|dictsort recursive -%}
|
||||
@{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@
|
||||
{% if value.suboptions -%}
|
||||
{% if value.suboptions.items -%}
|
||||
@{ loop(value.suboptions.items()) -}@
|
||||
{% elif value.suboptions[0].items -%}
|
||||
@{ loop(value.suboptions[0].items()) -}@
|
||||
{% endif -%}
|
||||
{% endif -%}
|
||||
{% endfor -%}
|
||||
{# Header of the documentation -#}
|
||||
<tr>
|
||||
<th class="head"><div class="cell-border">Parameter</div></th>
|
||||
<th class="head"><div class="cell-border">Choices/<font color="blue">Defaults</font></div></th>
|
||||
<th colspan="@{ from_kludge_ns('maxdepth') }@">Parameter</th>
|
||||
<th>Choices/<font color="blue">Defaults</font></th>
|
||||
{% if plugin_type != 'module' %}
|
||||
<th class="head"><div class="cell-border">Configuration</div></th>
|
||||
<th>Configuration</th>
|
||||
{% endif %}
|
||||
<th class="head" width="100%"><div class="cell-border">Comments</div></th>
|
||||
<th width="100%">Comments</th>
|
||||
</tr>
|
||||
{% for key, value in options|dictsort recursive %}
|
||||
<tr class="return-value-column">
|
||||
<tr>
|
||||
{# indentation based on nesting level #}
|
||||
{% for i in range(1, loop.depth) %}
|
||||
<td class="elbow-placeholder"></td>
|
||||
{% endfor %}
|
||||
{# parameter name with required and/or introduced label #}
|
||||
<td>
|
||||
<div class="outer-elbow-container">
|
||||
{% for i in range(1, loop.depth) %}
|
||||
<div class="elbow-placeholder"> </div>
|
||||
{% endfor %}
|
||||
<div class="elbow-key">
|
||||
<b>@{ key }@</b>
|
||||
{% if value.get('required', False) %}<br/><div style="font-size: small; color: red">required</div>{% endif %}
|
||||
{% if value.version_added %}<br/><div style="font-size: small; color: darkgreen">(added in @{value.version_added}@)</div>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<td colspan="@{ from_kludge_ns('maxdepth') - loop.depth0 }@">
|
||||
<b>@{ key }@</b>
|
||||
{% if value.get('required', False) %}<br/><div style="font-size: small; color: red">required</div>{% endif %}
|
||||
{% if value.version_added %}<br/><div style="font-size: small; color: darkgreen">(added in @{value.version_added}@)</div>{% endif %}
|
||||
</td>
|
||||
{# default / choices #}
|
||||
<td>
|
||||
<div class="cell-border">
|
||||
{# Turn boolean values in 'yes' and 'no' values #}
|
||||
{% if value.default is defined %}
|
||||
{% if value.default == true %}
|
||||
{% set _x = value.update({'default': 'yes'}) %}
|
||||
{% elif value.default == false %}
|
||||
{% set _x = value.update({'default': 'no'}) %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if value.type == 'bool' %}
|
||||
{% set _x = value.update({'choices': ['no', 'yes']}) %}
|
||||
{% endif %}
|
||||
{# Show possible choices and highlight details #}
|
||||
{% if value.choices %}
|
||||
<ul><b>Choices:</b>
|
||||
{% for choice in value.choices %}
|
||||
{# Turn boolean values in 'yes' and 'no' values #}
|
||||
{% if choice == true %}
|
||||
{% set choice = 'yes' %}
|
||||
{% elif choice == false %}
|
||||
{% set choice = 'no' %}
|
||||
{% endif %}
|
||||
{% if (value.default is string and value.default == choice) or (value.default is iterable and value.default is not string and choice in value.default) %}
|
||||
<li><div style="color: blue"><b>@{ choice | escape }@</b> ←</div></li>
|
||||
{% else %}
|
||||
<li>@{ choice | escape }@</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{# Show default value, when multiple choice or no choices #}
|
||||
{% if value.default is defined and value.default not in value.choices %}
|
||||
<b>Default:</b><br/><div style="color: blue">@{ value.default | escape }@</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{# Turn boolean values in 'yes' and 'no' values #}
|
||||
{% if value.default is sameas true %}
|
||||
{% set _x = value.update({'default': 'yes'}) %}
|
||||
{% elif value.default is sameas false %}
|
||||
{% set _x = value.update({'default': 'no'}) %}
|
||||
{% endif %}
|
||||
{% if value.type == 'bool' %}
|
||||
{% set _x = value.update({'choices': ['no', 'yes']}) %}
|
||||
{% endif %}
|
||||
{# Show possible choices and highlight details #}
|
||||
{% if value.choices %}
|
||||
<ul><b>Choices:</b>
|
||||
{% for choice in value.choices %}
|
||||
{# Turn boolean values in 'yes' and 'no' values #}
|
||||
{% if choice is sameas true %}
|
||||
{% set choice = 'yes' %}
|
||||
{% elif choice is sameas false %}
|
||||
{% set choice = 'no' %}
|
||||
{% endif %}
|
||||
{% if (value.default is string and value.default == choice) or (value.default is iterable and value.default is not string and choice in value.default) %}
|
||||
<li><div style="color: blue"><b>@{ choice | escape }@</b> ←</div></li>
|
||||
{% else %}
|
||||
<li>@{ choice | escape }@</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{# Show default value, when multiple choice or no choices #}
|
||||
{% if value.default is defined and value.default not in value.choices %}
|
||||
<b>Default:</b><br/><div style="color: blue">@{ value.default | escape }@</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
{# configuration #}
|
||||
{% if plugin_type != 'module' %}
|
||||
<td>
|
||||
<div class="cell-border">
|
||||
{% if 'ini' in value %}
|
||||
<div> ini entries:
|
||||
{% for ini in value.ini %}
|
||||
<p>[@{ ini.section }@ ]<br>@{ ini.key }@ = @{ value.default | default('VALUE') }@</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if 'env' in value %}
|
||||
{% for env in value.env %}
|
||||
<div>env:@{ env.name }@</div>
|
||||
{% if 'ini' in value %}
|
||||
<div> ini entries:
|
||||
{% for ini in value.ini %}
|
||||
<p>[@{ ini.section }@ ]<br>@{ ini.key }@ = @{ value.default | default('VALUE') }@</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if 'vars' in value %}
|
||||
{% for myvar in value.vars %}
|
||||
<div>var: @{ myvar.name }@</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if 'env' in value %}
|
||||
{% for env in value.env %}
|
||||
<div>env:@{ env.name }@</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if 'vars' in value %}
|
||||
{% for myvar in value.vars %}
|
||||
<div>var: @{ myvar.name }@</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
{# description #}
|
||||
<td>
|
||||
<div class="cell-border">
|
||||
{% if value.description is string %}
|
||||
<div>@{ value.description | replace('\n', '\n ') | html_ify }@</div>
|
||||
{% else %}
|
||||
{% for desc in value.description %}
|
||||
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if 'aliases' in value and value.aliases %}
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: @{ value.aliases|join(', ') }@</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if value.description is string %}
|
||||
<div>@{ value.description | replace('\n', '\n ') | html_ify }@</div>
|
||||
{% else %}
|
||||
{% for desc in value.description %}
|
||||
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if 'aliases' in value and value.aliases %}
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: @{ value.aliases|join(', ') }@</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% if value.suboptions %}
|
||||
@ -220,7 +221,7 @@ Notes
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
{% for example in examples %}
|
||||
{% if example['description'] %}@{ example['description'] | indent(4, True) }@{% endif %}
|
||||
@ -244,43 +245,49 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a
|
||||
.. raw:: html
|
||||
|
||||
<table border=0 cellpadding=0 class="documentation-table">
|
||||
{# Pre-compute the nesting depth to allocate columns #}
|
||||
@{ to_kludge_ns('maxdepth', 1) -}@
|
||||
{% for key, value in returnfacts|dictsort recursive %}
|
||||
@{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@
|
||||
{% if value.contains -%}
|
||||
{% if value.contains.items -%}
|
||||
@{ loop(value.contains.items()) -}@
|
||||
{% elif value.contains[0].items -%}
|
||||
@{ loop(value.contains[0].items()) -}@
|
||||
{% endif -%}
|
||||
{% endif -%}
|
||||
{% endfor -%}
|
||||
<tr>
|
||||
<th class="head"><div class="cell-border">Fact</div></th>
|
||||
<th class="head"><div class="cell-border">Returned</div></th>
|
||||
<th class="head" width="100%"><div class="cell-border">Description</div></th>
|
||||
<th colspan="@{ from_kludge_ns('maxdepth') }@">Fact</th>
|
||||
<th>Returned</th>
|
||||
<th width="100%">Description</th>
|
||||
</tr>
|
||||
{% for key, value in returnfacts|dictsort recursive %}
|
||||
<tr class="return-value-column">
|
||||
<td>
|
||||
<div class="outer-elbow-container">
|
||||
{% for i in range(1, loop.depth) %}
|
||||
<div class="elbow-placeholder"> </div>
|
||||
{% endfor %}
|
||||
<div class="elbow-key">
|
||||
<b>@{ key }@</b>
|
||||
<br/><div style="font-size: small; color: red">@{ value.type }@</div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
{% for i in range(1, loop.depth) %}
|
||||
<td class="elbow-placeholder"></td>
|
||||
{% endfor %}
|
||||
<td colspan="@{ from_kludge_ns('maxdepth') - loop.depth0 }@" colspan="@{ from_kludge_ns('maxdepth') - loop.depth0 }@">
|
||||
<b>@{ key }@</b>
|
||||
<br/><div style="font-size: small; color: red">@{ value.type }@</div>
|
||||
</td>
|
||||
<td><div class="cell-border">@{ value.returned | html_ify }@</div></td>
|
||||
<td>@{ value.returned | html_ify }@</td>
|
||||
<td>
|
||||
<div class="cell-border">
|
||||
{% if value.description is string %}
|
||||
<div>@{ value.description | html_ify }@
|
||||
{% if value.description is string %}
|
||||
<div>@{ value.description | html_ify }@
|
||||
</div>
|
||||
{% else %}
|
||||
{% for desc in value.description %}
|
||||
<div>@{ desc | html_ify }@
|
||||
</div>
|
||||
{% else %}
|
||||
{% for desc in value.description %}
|
||||
<div>@{ desc | html_ify }@
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<br/>
|
||||
{% if value.sample is defined and value.sample %}
|
||||
<div style="font-size: smaller"><b>Sample:</b></div>
|
||||
{# TODO: The sample should be escaped, using | escape or | htmlify, but both mess things up beyond repair with dicts #}
|
||||
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<br/>
|
||||
{% if value.sample is defined and value.sample %}
|
||||
<div style="font-size: smaller"><b>Sample:</b></div>
|
||||
{# TODO: The sample should be escaped, using | escape or | htmlify, but both mess things up beyond repair with dicts #}
|
||||
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{# ---------------------------------------------------------
|
||||
@ -310,41 +317,46 @@ Common return values are documented :ref:`here <common_return_values>`, the foll
|
||||
.. raw:: html
|
||||
|
||||
<table border=0 cellpadding=0 class="documentation-table">
|
||||
@{ to_kludge_ns('maxdepth', 1) -}@
|
||||
{% for key, value in returndocs|dictsort recursive -%}
|
||||
@{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@
|
||||
{% if value.contains -%}
|
||||
{% if value.contains.items -%}
|
||||
@{ loop(value.contains.items()) -}@
|
||||
{% elif value.contains[0].items -%}
|
||||
@{ loop(value.contains[0].items()) -}@
|
||||
{% endif -%}
|
||||
{% endif -%}
|
||||
{% endfor -%}
|
||||
<tr>
|
||||
<th class="head"><div class="cell-border">Key</div></th>
|
||||
<th class="head"><div class="cell-border">Returned</div></th>
|
||||
<th class="head" width="100%"><div class="cell-border">Description</div></th>
|
||||
<th colspan="@{ from_kludge_ns('maxdepth') }@">Key</th>
|
||||
<th>Returned</th>
|
||||
<th width="100%">Description</th>
|
||||
</tr>
|
||||
{% for key, value in returndocs|dictsort recursive %}
|
||||
<tr class="return-value-column">
|
||||
<td>
|
||||
<div class="outer-elbow-container">
|
||||
{% for i in range(1, loop.depth) %}
|
||||
<div class="elbow-placeholder"> </div>
|
||||
{% endfor %}
|
||||
<div class="elbow-key">
|
||||
<b>@{ key }@</b>
|
||||
<br/><div style="font-size: small; color: red">@{ value.type }@</div>
|
||||
</div>
|
||||
</div>
|
||||
<tr>
|
||||
{% for i in range(1, loop.depth) %}
|
||||
<td class="elbow-placeholder"> </td>
|
||||
{% endfor %}
|
||||
<td colspan="@{ from_kludge_ns('maxdepth') - loop.depth0 }@">
|
||||
<b>@{ key }@</b>
|
||||
<br/><div style="font-size: small; color: red">@{ value.type }@</div>
|
||||
</td>
|
||||
<td><div class="cell-border">@{ value.returned | html_ify }@</div></td>
|
||||
<td>@{ value.returned | html_ify }@</td>
|
||||
<td>
|
||||
<div class="cell-border">
|
||||
{% if value.description is string %}
|
||||
<div>@{ value.description | html_ify |indent(4)}@</div>
|
||||
{% else %}
|
||||
{% for desc in value.description %}
|
||||
<div>@{ desc | html_ify |indent(4)}@</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<br/>
|
||||
{% if value.sample is defined and value.sample %}
|
||||
<div style="font-size: smaller"><b>Sample:</b></div>
|
||||
{# TODO: The sample should be escaped, using |escape or |htmlify, but both mess things up beyond repair with dicts #}
|
||||
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if value.description is string %}
|
||||
<div>@{ value.description | html_ify |indent(4)}@</div>
|
||||
{% else %}
|
||||
{% for desc in value.description %}
|
||||
<div>@{ desc | html_ify |indent(4)}@</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<br/>
|
||||
{% if value.sample is defined and value.sample %}
|
||||
<div style="font-size: smaller"><b>Sample:</b></div>
|
||||
{# TODO: The sample should be escaped, using |escape or |htmlify, but both mess things up beyond repair with dicts #}
|
||||
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{# ---------------------------------------------------------
|
||||
@ -412,5 +424,5 @@ Author
|
||||
{% if plugin_type == 'module' %}
|
||||
If you notice any issues in this documentation you can `edit this document <https://github.com/ansible/ansible/edit/devel/lib/ansible/modules/@{ source }@?description=%3C!---%20Your%20description%20here%20--%3E%0A%0A%2Blabel:%20docsite_pr>`_ to improve it.
|
||||
{% else %}
|
||||
If you notice any issues in this documentation you can `edit this document <https://github.com/ansible/ansible/edit/devel/lib/ansible/plugins/@{ plugin_type }@/@{ source }@_` to improve it.
|
||||
If you notice any issues in this documentation you can `edit this document <https://github.com/ansible/ansible/edit/devel/lib/ansible/plugins/@{ plugin_type }@/@{ source }@>`_ to improve it.
|
||||
{% endif %}
|
||||
|
||||
@ -130,6 +130,7 @@
|
||||
"Sid": "AllowLoadBalancerOperations",
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"elasticloadbalancing:AddTags",
|
||||
"elasticloadbalancing:ConfigureHealthCheck",
|
||||
"elasticloadbalancing:CreateListener",
|
||||
"elasticloadbalancing:CreateLoadBalancer",
|
||||
@ -144,12 +145,13 @@
|
||||
"elasticloadbalancing:DescribeLoadBalancerAttributes",
|
||||
"elasticloadbalancing:DescribeLoadBalancerPolicies",
|
||||
"elasticloadbalancing:DescribeLoadBalancerPolicyTypes",
|
||||
"elasticloadbalancing:DescribeLoadBalancerTags",
|
||||
"elasticloadbalancing:DescribeLoadBalancers",
|
||||
"elasticloadbalancing:DescribeTags",
|
||||
"elasticloadbalancing:DisableAvailabilityZonesForLoadBalancer",
|
||||
"elasticloadbalancing:EnableAvailabilityZonesForLoadBalancer",
|
||||
"elasticloadbalancing:ModifyLoadBalancerAttributes",
|
||||
"elasticloadbalancing:RegisterInstancesWithLoadBalancer"
|
||||
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
|
||||
"elasticloadbalancing:RemoveTags"
|
||||
],
|
||||
"Resource": "*"
|
||||
},
|
||||
|
||||
@ -1,6 +1,22 @@
|
||||
# usage: source hacking/env-setup [-q]
|
||||
# modifies environment for running Ansible from checkout
|
||||
|
||||
# prepend a value to a potentially empty path variable
|
||||
# usage: prepend_path variable_name value
|
||||
prepend_path()
|
||||
{
|
||||
variable_name="$1"
|
||||
value="$2"
|
||||
|
||||
old_value=$( eval "echo \$$variable_name" )
|
||||
|
||||
if [ "x$old_value" != "x" ]; then
|
||||
value="$value:"
|
||||
fi
|
||||
|
||||
export "$variable_name=$value$old_value"
|
||||
}
|
||||
|
||||
# Default values for shell variables we use
|
||||
PYTHONPATH=${PYTHONPATH-""}
|
||||
PATH=${PATH-""}
|
||||
@ -34,9 +50,9 @@ PREFIX_PYTHONPATH="$ANSIBLE_HOME/lib"
|
||||
PREFIX_PATH="$ANSIBLE_HOME/bin:$ANSIBLE_HOME/test/runner"
|
||||
PREFIX_MANPATH="$ANSIBLE_HOME/docs/man"
|
||||
|
||||
expr "$PYTHONPATH" : "${PREFIX_PYTHONPATH}.*" > /dev/null || export PYTHONPATH="$PREFIX_PYTHONPATH:$PYTHONPATH"
|
||||
expr "$PATH" : "${PREFIX_PATH}.*" > /dev/null || export PATH="$PREFIX_PATH:$PATH"
|
||||
expr "$MANPATH" : "${PREFIX_MANPATH}.*" > /dev/null || export MANPATH="$PREFIX_MANPATH:$MANPATH"
|
||||
expr "$PYTHONPATH" : "${PREFIX_PYTHONPATH}.*" > /dev/null || prepend_path PYTHONPATH "$PREFIX_PYTHONPATH"
|
||||
expr "$PATH" : "${PREFIX_PATH}.*" > /dev/null || prepend_path PATH "$PREFIX_PATH"
|
||||
expr "$MANPATH" : "${PREFIX_MANPATH}.*" > /dev/null || prepend_path MANPATH "$PREFIX_MANPATH"
|
||||
|
||||
#
|
||||
# Generate egg_info so that pkg_resources works
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user