Compare commits

...

152 Commits

Author SHA1 Message Date
e77c1b9e42 New release v2.5.0rc1 2018-02-22 17:40:29 -08:00
98882b725f 2.5.0rc1 CHANGELOG prep 2018-02-22 17:34:03 -08:00
97a7c3f39c rename versioned CHANGELOGs with dash 2018-02-22 17:32:58 -08:00
2ddcdb8720 Revert "Add force option to systemd module (#35925)"
(mistaken cherry pick)

This reverts commit 9935cda4a3.
2018-02-22 17:10:05 -08:00
917e5ae5d8 Improve convert_bool error message
The error message as it was confused me when the value was 'enabled' and
there was also a module parameter named 'enabled'.

    enabled is not a valid boolean.  Valid booleans include: yes, on, 1, true, ...

So by clearly describing it as a value, the confusion would have been
avoided.

    The value 'enabled' is not a valid boolean.  Valid booleans include: yes, on, 1, true, ...

(cherry picked from commit 487cf0ee8d)
2018-02-22 16:36:29 -08:00
ed9781bbfb Do not cache the loop item label so that it will update with each item (#36609)
Add integration test for #36430 (#36432)

(cherry picked from commit d1f76939e5)
(cherry picked from commit 9fced4f0a9)
2018-02-22 16:08:00 -08:00
b1e125b718 Backport missing integration tests (#36610)
Somehow this file was missing from the previous backport.
2018-02-22 15:18:06 -08:00
3d1c8bc2e1 Network Getting started docs (#36337) (#36597)
* first draft of getting started guide
(cherry picked from commit 51a010a696)
2018-02-22 15:15:11 -08:00
f8d8d84f05 Win feature error cp (#36559)
* win_feature: better error handling to make it easier to debug issues (#36491)

* win_feature: better error handling to make it easier to debug issues

* removed ignroed pslint rules that are no longer needed

(cherry picked from commit ef4f8851dc)

* Added changelog for win_feature error handling fix
2018-02-22 15:05:13 -08:00
9bd7147bb8 Start of tests for modify_module, specifically to ensure proper shebang replacement on old style modules (#36602) (#36606)
(cherry picked from commit a7062b7587)
2018-02-22 14:56:03 -08:00
7e378e791c Bump OpenShift client req to 0.4.3. Fixes openshift_scale. (#36580) 2018-02-22 16:14:26 -05:00
980b6a00e2 Fixup VMware module docs issues (#36409) (#36523)
Fix various argspec vs documentation issue

(cherry picked from commit 5d0ed38e3a)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-22 08:44:09 -08:00
c4e94af4e9 [cloud] catch NoCredentialsError in boto3_conn (#36545) 2018-02-21 23:18:41 -05:00
e93cc41211 Bp 2.5 ansible interpreter py3 (#36561)
* Fix types when evaluating interpreter (#36541)

* Fix types when evaluating interpreter. Fixes #36536
* Rename variables that contain bytes to b_*
* Get rid of to_text() and to_bytes() calls that do nothing (because the
  data is already the proper type)

(cherry picked from commit a4df4d33ac)

* Changelog entry for the ansible_*_interpreter fix
2018-02-21 20:05:14 -08:00
84debca5fb Check for regexp match when using insertbefore or insertafter (#36474) (#36552)
Add tests to cover this scenario
Add changelog fragment
Fixes #36156

(cherry picked from commit 723daf3e3a)
2018-02-21 18:08:45 -08:00
26cdfd84a0 Bring aws_ssm None fixes into stable (from #36456) (#36492)
* aws ssm parameter lookup - change to reutrn Nones for missing variables

* aws ssm parameter lookup - fix error case message to dump response

* aws ssm parameter lookup - fix integration test cases
2018-02-21 20:53:31 -05:00
7965ecb962 efs: improve documentation about the update of an efs (#36473)
(cherry picked from commit 3abaa43b1c)
2018-02-21 20:36:04 -05:00
138ed416eb Changelog fragment copy edits. (#36555)
* Changelog fragment copy edits.

* Typo fixes.

* Typo fix 2.
2018-02-21 16:21:31 -08:00
df78df5d90 Apply all devel ACI changes missing from stable-2.5 (#36553) 2018-02-21 15:36:47 -08:00
61c1241a77 reformat multiline bugfix entries 2018-02-21 13:51:40 -08:00
0057cfa066 remove plugin sections from reno config
* we'll generate those at runtime using plugin metadata instead of trying to cobble together from sections
2018-02-21 13:12:33 -08:00
54f9f06edc [cloud] ec2_group: fix check mode when using tags (#36503)
Fixes #36412
2018-02-21 15:39:29 -05:00
cb73fba369 Add note to use script module rather than inline here documents (#32863)
* Add example on how to use a here document with shell module

* Remove here doc example and add note to use script module instead

(cherry picked from commit 5e7ee9df0a)
2018-02-21 15:10:12 -05:00
7f9fdbbb30 Revert "remove query/q (#36315)"
This reverts commit b47d2e07e1.

query is a feature for 2.5.  We're not reverting it now.

(cherry picked from commit 03a6d72633)
2018-02-21 11:03:55 -08:00
741b941f33 [cloud] If inventory file isn't able to be parsed by aws_ec2, raise an AnsibleParserError (#36387) (#36459)
* If inventory file isn't able to be parsed by aws_ec2, return an empty dict instead of None

* Raise an AnsibleParserError instead

* remove extra lines

* aws_ec2 inventory plugin - fix path matching logic
2018-02-21 13:50:14 -05:00
32515884ef [cloud] Change to longer interval jittered backoffs for AWS facts (#36266) (#36464)
* Change to longer interval jittered backoffs for security group fact gathering

* Add the ECS throttling error code to the list of things to retry on
2018-02-21 13:49:28 -05:00
77af8f36cb [cloud] Retry WAF actions on WAFStaleDataException (#36405) (#36507)
Add a util to run functions with AWSRetry to retry on WAFStaleDataExceptions and update ChangeToken for each attempt
2018-02-21 13:46:29 -05:00
234ba3f8b3 [ec2_vpc_net_facts] Fix UnsupportedOperation for regions other than u… (#35302) (#36512)
* [ec2_vpc_net_facts] Fix UnsupportedOperation for regions other than us-east-1

* Make fix more Pythonic

* Fix the exception handling for the module
2018-02-21 13:45:38 -05:00
2c8d9beca3 cherry-pick #36470 for 2.5 (#36525)
* Re-use logic from StrategyBase._load_included_file in StrategyModule.run for free and linear (#36470)

This improves include_role performance and recursion limits

(cherry picked from commit 10fefc7156)

* Add changelog for 36470
2018-02-21 09:34:13 -08:00
bcc3ce8d74 [cloud] Better handling of absent AWS SES identity notification information. (#36354) (#36515)
* Better handling of absent AWS SES identity notification information.

Fixes #36065

aws_ses_identity module now handles the cases where information about
the notification setup for the identity isn't returned by the AWS api.

This seems to happen in an edge case, believed to be eventual
consistency on registering new identities. So this case is treated
as if has been no notification setup for the identity yet.

Also fix 2 flake8 warnings in the module, a missing newline and unused
import.

* Increase the Boto Retries on SES APIs to deal with throttling.

This should address the unstable integration test failing due to
parallel runs in shippable hitting AWS throttling.

* Add retries loading SES details for inclusion in successful response.

There seems to be an eventual consistency behaviour with identity
registration. It's possible to still get no identity back after
registration.

This can cause failures in the shippable builds. This should fix that by
creating a retry of retrieving the identity information after
registration.

A similar retry loop has been added to notification attributes to ensure
this doesn't suffer from the same failure.

* Add missing sleep in get_notification_attributes to avoid busy loop.
2018-02-21 12:33:33 -05:00
7188165dd1 remove query/q (#36315)
* remove query/q

remove and fixed tests for removed func

* paren fix

(cherry picked from commit b47d2e07e1)
2018-02-21 10:45:50 -05:00
c6af155049 catch all cases of no inventory when asked to fail
fixes #36034

(cherry picked from commit fdbd1297cf)
2018-02-21 10:45:50 -05:00
16845be9b1 nxos fixes (#36514)
* fix nxos_pim module doc (#36505)

* fix nxos_pim module doc

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* address review

(cherry picked from commit 9598978e12)

* nxos_vrf fix (#36494)

* nxos_vrf fix

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Address review

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 713828804d)
2018-02-21 20:15:09 +05:30
9935cda4a3 Add force option to systemd module (#35925)
* Add force option to systemd module

* Use multi-line YAML syntax in examples

* Add version_added for new option

(cherry picked from commit 2bffcfa63b)
2018-02-21 08:30:20 -05:00
7e1ff91a5a cs_user: fix return user_api_secret for ACS v4.10 and later (#36447) (#36489)
(cherry picked from commit 6402a3e504)
2018-02-21 11:04:52 +01:00
9b00fd4ca1 fetch: set fail_on_missing: True as default as per docs (#36469)
* fetch: set fail_on_missing: True as default as per docs

* Updated docs for fetch to say behaviour was changed in 2.5 and updated tests

(cherry picked from commit df8a5d7a4f)
2018-02-21 18:11:32 +10:00
28fb690cc3 fail module when config is invalid and jsonrpc doesn't return error (#36482) (#36488)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit d5858bbcbe)
2018-02-21 13:25:12 +05:30
6eb248a327 removed to_subnet from list of imports on ios_l3_interface.py as it was not being used (#35969) (#36450)
(cherry picked from commit 15fa18a619)
2018-02-21 12:36:56 +05:30
b458dfc222 fixed conditional error message (#36476) (#36485)
(cherry picked from commit f207897f32)
2018-02-21 12:08:59 +05:30
6ff000254f vyos_config IndexError in sanitize_config (#36375) (#36484)
* Bug in del(list) logic. Say you have a list of 4 elements a[0-3]
and you have to remove index 1 and 3, if you remove index 1 first
then list is cut short a[0-2] and does not have index 3

Fix: Remove indexes in reverse sorted order e.g. 3 and 1 in above
example so that order of indexes remain preserved even after deleting

fix is to remove indexes in reverse sorted order

* Add test cases for failed case

(cherry picked from commit 0bbea9a579)
2018-02-21 12:06:16 +05:30
d86d4907cc fix nxos_bgp_neighbor_af issues (#36472) (#36481)
(cherry picked from commit 47a92386c9)
2018-02-21 10:29:18 +05:30
4f5ac56c53 Fix nxos_banner module for unstructured output (#36411) (#36479)
* Fix nxos_banner module for unstructured output

* Refactor and bug fixes

* Fix pep8 error

(cherry picked from commit ef7d574920)
2018-02-21 10:04:56 +05:30
8db5d139a1 Fix path handling in validate-modules sanity test.
(cherry picked from commit a9b58b84d8)
2018-02-20 13:57:58 -08:00
108cbbc40e fix vyos_l3_interface adding multiple addresses to interface (#36377) (#36443)
* fix vyos_l3_interface adding multiple addresses to interface

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* add test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 3d06ce245a)
2018-02-20 21:07:17 +05:30
0ee6771659 remove extra fields from debug output
fixes #35493

updated tests

(cherry picked from commit a79378fccb)
2018-02-20 08:46:12 -05:00
6d1a9a8211 hide uneeded fields for callbacks (#36259)
* hide uneeded fields for callbacks

fix selective instead of pushing uneeded fields to the methods

* piipii

(cherry picked from commit 6af5693dc2)
2018-02-20 08:43:48 -05:00
46b565cd96 now get_url defaults to module temp dir (#36218)
* now get_url and other modules default to module temp dir

also fixed 'bare' exception

* allow modules to work with older versions

* updated docs per feedback

(cherry picked from commit c119d54e4a)
2018-02-20 08:43:48 -05:00
21b74f7cce fix nxos_bgp_neighbor issues (#36318) (#36420)
(cherry picked from commit 80d19e6af3)
2018-02-20 11:21:33 +05:30
3b1c90cd7c Depreciate aos (#36029) (#36393)
* Deprecate Apstra's aos_* modules

These modules don't work with AOS 2.1 or higher.
They will be replaced non-upstreamed modules
2018-02-19 19:30:12 -08:00
9cea95203c Use pycrypto backend, rather than python-cryptography, on Ubuntu Precise
(cherry picked from commit e3192fb3a4)
2018-02-19 13:40:05 -08:00
b5122731b1 Fix the script and patch plugins tempfile ownership
Unified tmp accidentally removed the containing tmpdir from the list of
files to fix the permissions on when we're becoming a different
unprivileged user.  This resulted in a visible bug for script but not
for patch.  This is because patch also uploads the module to the same
temporary directory and the uploaded module also ends up calling
fixup_perms2() which includes the temporary directory.  So by the time
patch needs to access the temporary patch file, the directory is
appropriately set.

script's breakage was visible because script does not upload a module
(it's akin to raw in this way).  Therefore, we only call fixup_perms2()
once in script and so leaving out the tmpdir in script means that the
containing directory never has its permissions set appropriately.

Fixing both because it does not cause an extra round trip for patch so
any speedup would be minimal and it's better to fix the perms as close
as possible to where we know we need it.  Otherwise, changes to
seemingly unrelated code later could end up breaking it.

Fixes #36398

(cherry picked from commit edaeb69a35)
2018-02-19 13:08:39 -08:00
688bf25bda Fixed Arista typo in docstring (#36139) (#36399)
(cherry picked from commit 08eaf37ca8)
2018-02-19 23:15:08 +05:30
51673f431f Update network debug troubleshooting guide (#36288) (#36391)
* Update network debug troubleshooting guide

Fix #35914

Command timeout and connection timeout error messages
are dsiplayed in log file instead on console.
Update the same in troubleshooting guide.

* Update example error

* Fix CI issues

* Fix more CI failures

* More fixes

* Fix review comments

* Fix more review comments

* Copy edit

(cherry picked from commit b57cc7cf31)
2018-02-19 21:17:54 +05:30
7dcf5aed02 sphinx_rtd_theme/layout.html 2.5 (#36390) 2018-02-19 15:12:01 +00:00
9692394c7d Stable 2.5 (#36374)
* Set hostname to 'switch' on nxos_system (#36373)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit eb7f4460c8)

* fix nxos_config json pipeline error (#36236)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 736d6406c0)
2018-02-19 11:22:30 +05:30
22b4d69a7b nxos_system test fix inventory_hostname_short (#36359) (#36360)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit a5654bd63c)
2018-02-18 10:38:34 +05:30
f5fa91c152 Remove kickstart_image_required check (#36319) (#36342)
(cherry picked from commit 6e096cb0c9)
2018-02-17 13:16:11 +05:30
b08bdc5f6d nxos fix cherry-pick (#36340)
* Fix nxos_system tests (#36201)

* Fix nxos_system tests

* Add debug connection plugin info

* Move sanity test under common

(cherry picked from commit 5b5d24631a)

* Fixes for the N3500 platform that uses the A8 image (#36261)

* fix nxos_l3_interface tests as n35 doesn't support ipv6

* add terminal dont-ask to nxos_feature and nxos_lldp

* put interfaces in L2 mode for N35

* fix nxos_feature unit-tests

(cherry picked from commit e24c547a3a)
2018-02-17 12:20:42 +05:30
d568701254 Fix structured output bug (#36193) (#36310)
(cherry picked from commit ac169f5ffd)
2018-02-17 09:57:16 +05:30
9049ba0f2d Fix None stringification call to send_command (#36254) (#36309)
send_command already performs the to_bytes safely on prompts (checking
for None).  Without this check the literal 'None' became a subprompt trigger!

Fixes #35662

(cherry picked from commit f2818caa61)
2018-02-16 15:48:13 -05:00
99b23dce92 fix spelling. Seriously, that's it.
(cherry picked from commit e8fc269cd3)
2018-02-16 13:20:44 -05:00
f00dd99ea2 Fix ansible-console always asking for vault passwords
ansible-console was calling setup_vault_secrets
twice. Once directly and once via _play_prereqs()

The direct invocation was not setting auto_prompt=False.

However, the direct invocation isn't need at all so
this removes it so only _play_reqs() is used.
That fixes the unrequested vault password
prompting.

Fixes #33027

(cherry picked from commit 810fa7046b)
2018-02-16 13:19:59 -05:00
57bccd10af updates to module testing (#36043)
* updates to module testing

gives those using internal modules an alternative

* Copy edit

(cherry picked from commit 3eff279dd7)
2018-02-16 13:19:28 -05:00
cf196613ff re enabled tests that were fixed in ansible/ansible-modules-core#5008 (#36257) (#36303)
(cherry picked from commit a7c2f6d092)
2018-02-16 10:54:41 -05:00
80b91613a8 Improved language around in_vpc parameter. (#36137) (#36302)
(cherry picked from commit 6a3fd92654)
2018-02-16 13:17:35 +00:00
62139bb828 v2.5.0b2 release cut 2018-02-16 01:13:00 -08:00
3635961b1b updates to porting guide (#36219)
* updates to porting guide

(cherry picked from commit 7a6d6870d4633ae38a14cc799521b5fc1c0320fd)

* Edits to correct spelling, grammar, and clarify wording.

* Fixed typo

(cherry picked from commit 1f363a6a7c)
2018-02-15 23:55:09 -08:00
179aa475a5 aci_firmware_source: Add integration tests (#36246)
This PR includes:
- Rename 'protocol' parameter to 'url_protocol'
- Add limited integration tests (as we have no public firmware access)
- Add missing examples
(cherry picked from commit e1b5bc049c)
2018-02-15 23:53:17 -08:00
dd92db800a aci_taboo_contract: Add integration tests and examples (#36276)
This PR includes:
- Missing integration tests
- Missing examples
- Two typo's in other integration tests
(cherry picked from commit 334e405e6f)
2018-02-15 23:52:06 -08:00
51c4fceb64 aci_domain_to_encap_pool: Add integration tests (#36217)
(cherry picked from commit d86c5aee3c)
2018-02-15 23:50:07 -08:00
eb0232fa86 aci_encap_pool: Standardize on 'pool_allocation_mode' (#36215)
(cherry picked from commit e431d578da)
2018-02-15 23:46:35 -08:00
66e7c8d938 ACI: Avoid using 'previous' with query operations (#36181)
When ACI modules are being used for querying MOs, we should not return
the previous state, as there is no previous state, there's only the
current state.

This impacts a lot of tests that were used to testing the current state
as 'previous'.
(cherry picked from commit dba561efa7)
2018-02-15 23:45:50 -08:00
38b000062f aci_vlan_pool: Improve integration tests (#36173)
This PR includes:
- More elaborate integration tests
- Split static and dynamic VLAN pools in separate files
(cherry picked from commit 3093285c94)
2018-02-15 23:44:12 -08:00
92cb719a2d Relocate ACI guide and add to TOC (#36208)
(cherry picked from commit c5dd0d97af)
2018-02-15 23:43:12 -08:00
abd7a9a384 2.5 changelog update for 33393 2018-02-15 23:41:43 -08:00
fb46cf3718 VMware: Fix DVPG idempotency issue (#36285)
This fixes, cloning operation where template or existing VM
does not have network or DVPG. Also, adds some strict type checking in
network parameters.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit a377302d6b)
2018-02-16 13:07:23 +05:30
ba6a242f17 Fix typo in vars.rst (#35098)
(cherry picked from commit 43eb97ef92)
2018-02-15 23:36:53 -08:00
5ce2822855 aci_aep_to_domain: Fix query all objects (#36131)
This PR includes:
- A fix to the module where domain_type without domain caused havoc
- A fix to the integration tests when querying all binding objects
- Improvements to integration tests
(cherry picked from commit 7897558b95)
2018-02-15 23:36:11 -08:00
a3ae64440d ACI docs: Add more links to resources and community (#36101)
This PR includes:
- Adding more resources to each section
- Improving wordings
- Add links to the Ansible ACI community pages
(cherry picked from commit a875363e35)
2018-02-15 23:35:03 -08:00
5a8313f3a2 ACI docs: Add a section about common error messages (#36088)
Since we pass information directly to ACI, we sometimes get error messages back to the user that require some additional information or context.

This PR includes:
- Changes to the default error output so the error is easier to find
  when searching in e.g. Google
- 3 specific error messages that we have encountered and has confused
  our users before
(cherry picked from commit 218f008dab)
2018-02-15 23:34:25 -08:00
b85989205f aci_domain_to_vlan_pool: Add missing integration tests (#36079)
(cherry picked from commit 9f028e9dea)
2018-02-15 23:33:46 -08:00
66eed80f71 better sudo/su deprecation on config entries (#36074)
* better sudo/su deprecation on config entries

fixes #32130

* typo fixes

* Copy edit

* Fixed more instances

(cherry picked from commit 9066b17d5d)
2018-02-15 23:33:18 -08:00
e81c181881 aci_aep_to_domain: Add missing integration tests (#36071)
(cherry picked from commit 98a3059f7b)
2018-02-15 23:32:22 -08:00
b546dde48c add_host: check if name or hostname arg is provided
(cherry picked from commit 39d9496282)
2018-02-15 23:31:25 -08:00
eec7945222 aci_interface_policy_leaf_policy_group: Fix tests (#35973)
(cherry picked from commit d76db835ff)
2018-02-15 23:30:06 -08:00
76648f358e ACI: Fixes to recent change to parameter choices (#35968)
This PR includes:
- Fixes related to the recent merge of #31637 and #34537
- A generic fix for a reference for assignment issue
- Fixes to aci.boolean() in order to catch exception
(cherry picked from commit 01ba3a4efc)
2018-02-15 23:28:42 -08:00
36e5e4ad62 Fix issue with module (#35960)
(cherry picked from commit 764e78d302)
2018-02-15 23:23:51 -08:00
dd215eac0b ACI: Assorted set of fixes to docs (#35780)
* Assorted set of fixes

* Cosmetic changes to lists

* Add more information related to connection throttling

* Changes to TOC

* Document return values

* More improvements

* Fix casing in title

(cherry picked from commit 80e1e0b017)
2018-02-15 23:12:44 -08:00
c5f7b5baa5 aci_domain: Add missing integration tests (#36051)
(cherry picked from commit 30adc2f124)
2018-02-15 23:11:40 -08:00
6f62dd66bb convert CHANGELOG to per-major-ver and generated
* CHANGELOGs are now per-version
* CHANGELOGs are now RST format
* CHANGELOGs are now generated via reno from YAML fragments located in changelogs/fragements. This allows feature/bugfix changelog fragments to be cherry-picked alongside the code changes
* each version's CHANGELOG_vX.Y.rst is generatd at release-time and can be easily copied/cherry-picked into other branches
2018-02-15 23:06:39 -08:00
e8beb180e1 Add eos_command doc with more examples (#36245) (#36289)
* Add eos_command doc with more examples

*  More examples using cli and eapi transport
*  Example on how to handle json output
*  Example on handling result output in wait_for

* Fix typo

(cherry picked from commit cb52509775)
2018-02-16 12:25:50 +05:30
92e64c9eb9 VMware: re-enable vmware_guest_powerstate tests (#36094)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit 66743f33fa)
2018-02-16 11:01:19 +05:30
fe9e887f86 fix nxos_bgp_af issues (#36147) (#36283)
* fix nxos_bgp_af issues

* shippable fix

* review comments

* shippable error fix

(cherry picked from commit 75a34f6668)
2018-02-16 10:12:42 +05:30
f8918e54bb Fix Porting Guide links for Ansible 2.5 (#36185)
The current links result in 404 Not Found. Also changed protocol to HTTPS.

(cherry picked from commit 86918db312)
2018-02-15 16:41:18 -05:00
5ca8b7829a False matches the docs and intentions of the previous developer (#35762)
(cherry picked from commit d212ca11b3)
2018-02-15 15:41:22 -05:00
784932875f Reduces the unit test time of select bigip modules (#36256) (#36260)
The modules in this patch include waits that need to happen to ensure
something is correctly configured on a BIG-IP. These waits were
raised as an issue in a recent ansible-testing meeting.

This patch eliminates the waits by mocking time.sleep
(cherry picked from commit 77fa41795e)
2018-02-15 20:28:45 +00:00
3d81f94349 Update ios_ping.py to allow for count > 70. (#36142) (#36250)
* Update ios_ping.py to allow for count > 70.

Find 'Success...' output rather than relying on list index.  Index -1 won't pass unit test.

(cherry picked from commit fed20b825f)
2018-02-15 14:54:30 -05:00
a7a03bbf4a Normalize usage of temp and tmp on tmp (#36221)
* Normalize usage of temp and tmp on tmp
* Rename system_tmps system_tmpdirs
* Add ANSIBLE_REMOTE_TMP spelling of environment variables

(cherry picked from commit 06f73ad578)
2018-02-15 09:01:33 -08:00
4848652c7a Add a module_utils OpenStack Cloud constructor (#20974)
Start using this to construct shade OpenStack Cloud objects in a
consistent manner. This will let us centralize things like dealing with
password arguments and whatnot. It also allows us to introduce the
ability to pass a fully formed config dict directly to the module.

Migrate all OpenStack modules to use openstack_cloud_from_module.

Have it return the shade library since it's responsible for
importing shade and shade is needed for the exceptions.

Only pull specific OpenStack arguments for the constructor

Rather than passing **module.params to the shade constructor, pull out
only the values that make sense. This should prevent the issues with
module parameters stepping on shade parameters.

Replace module.params.pop with module.params.get

We don't need to pop these anymore since the shade constructor is now
using opt-in values.

Using real urls is ungood. Use example.com domains. Also, get rid of the
antiquated port numbers.

(cherry picked from commit 0f893027c4)
2018-02-15 17:59:05 +01:00
bca8b80069 vars.clean: remove unused method inject_facts (#34838)
* vars.clean: remove unused method inject_facts

Removing this unused method seems better than fixing the typo.

* Fix typo in comments

(cherry picked from commit b3ce136256)
2018-02-15 08:56:38 -08:00
c1dcbb42c7 Alter ASA regexes to be byte-strings (#36176) (#36239)
(cherry picked from commit f67ff4a78e)
2018-02-15 10:57:11 -05:00
38717551f8 Updating URL to Nuage Python VSPK documentation (#36213) (#36232)
Fixes ansible/ansible#35766
(cherry picked from commit cffa3caa60)
2018-02-15 18:36:03 +05:30
a6be3df24c Fix nxos_linkagg tests (#36175) (#36222)
(cherry picked from commit 787114462e)
2018-02-15 11:07:18 +05:30
d4aa089639 Fix line too long
(cherry picked from commit 717c7d26b7)
2018-02-14 19:04:56 -08:00
2e91c2b640 Final fix for #35666 Previous PR (#36143) was merged prematurely.
(cherry picked from commit a612137098)
2018-02-14 18:47:57 -08:00
71a34d005c * Fix for setting remote_tmp as a subdirectory of a system temp dir (#36143)
Fixes #35666

* Check that system_temps is all absolute paths

(cherry picked from commit 15fe59ef0c)
2018-02-14 20:34:52 -05:00
74b120329c never tags docs and test (#35964)
* fufilling the promise

* moved changes

* Copy edit

(cherry picked from commit 0cf70a8970)
2018-02-14 20:34:11 -05:00
078467d18d added support for --testcase flag in ansible-test (#36134)
* added support for --testcase flag in ansible-test

* fixed command format

* added tab completion

* fixed sanity issues

* added documenation for --testcase

* don't autocomplete when multiple modules are selected

(cherry picked from commit 3f5caf659e)
2018-02-14 15:41:43 -08:00
b6c9630094 Upgrade to openshift client 0.4.0 (#35127) (#36195) 2018-02-14 14:53:01 -08:00
41c6415941 fixes to virtual facts
fixes #36038

(cherry picked from commit 97b6e99479)
2018-02-14 15:54:07 -05:00
5f46773151 deal with no config for view
fixes #35965

(cherry picked from commit 3680d65d1d)
2018-02-14 15:53:07 -05:00
15cbe1472d fix loop_control templating (#36124)
* fix loop_control templating

- properly template ALL properites for loop_control
- loop_control inherits from base, it should not, but needs validate/attribute functionality

fixes #24719

(cherry picked from commit 8de4f7cd9f)
2018-02-14 15:52:02 -05:00
03c7751394 Inv export (#36188)
* add export option

* added 'export mode' to ansible-inventory

this optimizes the output for exporting inventory vs representing the 'ansible view'

fixes #30877

* added group priority when needed

(cherry picked from commit b403653bd2)
2018-02-14 15:47:18 -05:00
7dd4625dde win_uri: fix creates/removes option (#36016)
(cherry picked from commit f8d1c97279)
2018-02-15 07:17:59 +11:00
25e02d17d2 win_domain_controller: optionally add -ReadOnlyReplica if true (#36017)
(cherry picked from commit 09d939fb00)
2018-02-15 07:17:48 +11:00
375bc11139 win_updates: fix regression when using string cat names (#36015)
(cherry picked from commit 8fb66c18de)
2018-02-15 07:16:42 +11:00
ac44b2062d Revert "Upgrade to openshift client 0.4.0 (#35127)" 2018-02-14 13:15:39 -05:00
4d79ab64d1 Upgrade to openshift client 0.4.0 (#35127) 2018-02-14 13:13:05 -05:00
67d14c963a Add unit tests for edgeos_command (#35861) (#36184)
(cherry picked from commit 97573d8b0c)
2018-02-14 15:42:27 +00:00
8833823195 Ensure docs are valid before checking deprecation (#36160) (#36182)
(cherry picked from commit 3e22efa0ba)
2018-02-14 15:39:36 +00:00
52e47ce8fe File Module docs, adding mode permission example with sticky bit (#36151) (#36164)
* File Module docs, adding mode permission example with sticky bit
(cherry picked from commit ef9dac548f)
2018-02-14 15:00:28 +00:00
b7f1163ab9 VMware: Additional check for RootSnapshot (#36001) (#36166)
This fix adds an additional check if there is no snapshot available
in VM. `rootSnapshotList` is None, if no snapshot is taken.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit 52f79fa5a4)
2018-02-14 12:38:14 +00:00
df751cd834 adding support for loopback interface (#36141) (#36154)
* adding support for loopback interface

currently the loopback interface lo is not supported with vyos_l3_interface, this commit fixes that.  Right now there is a limit of loopback interfaces to just lo, if you want more interfaces you need to use a dummy interface https://wiki.vyos.net/wiki/Dummy_interfaces

* fixing spacing as per pep8 test

fixing issues for sanity test

* ugh, missed on spacing issue

* getting rid of continuation lines, the CI system does not like it

(cherry picked from commit a52a7d2065)
2018-02-14 13:16:43 +05:30
5c94b5daf2 Fixes broken nested tables in module docs (#36144)
(cherry picked from commit dc902a5022)
2018-02-13 15:25:19 -08:00
3e8b0487bb [WIP] Add ios smoke tests (#35972) (#36133)
* added basic ios_smoke files

* added smoke tests for network.common.config

* added tests for network.common.utils

* added remainder of test cases

(cherry picked from commit 01bd9759e3)
2018-02-13 14:06:09 -05:00
3b7ca2ac10 Add docs reorg to changelog 2018-02-13 11:02:05 -08:00
d03202e4d6 Followup to docs refactor pull request #36067 - fixes gitignore and c… (#36120)
* Followup to docs refactor pull request #36067 - fixes gitignore and cleanup in makefile; removes some generated files; moves a straggler to the appropriate subdirectory.

* Fixed some stragglers

* Removed redundant module entries

* Delete generated RST files.

(cherry picked from commit c10080bfba)
2018-02-13 11:00:43 -08:00
8998ec17b8 Core Docs Refactor and Redesign (#36067)
* Docs refactor as outlined in https://github.com/ansible/proposals/issues/79. Moves content into 'guides'; refactors TOC; fixes CSS; design tweaks to layout and CSS; fixes generated plugin, CLI and module docs to fix links accodingly; more.

* Adding extra blank line for shippable

(cherry picked from commit 373b1dcf59)
2018-02-13 11:00:31 -08:00
75528e56bf Acquire displayed messages from forked process (#36064) (#36119)
Also restore verbosity value from loaded `play_context`

(cherry picked from commit 527fc492b9)
2018-02-13 12:49:13 -05:00
14dcf10882 Prevent reparenting a block with itself (#36075)
* Prevent reparenting a block with itself

* Move __eq__ to Block, to avoid some unexpected problems

(cherry picked from commit 76ff3e9efc)
2018-02-13 09:32:40 -06:00
707fd61a78 Fix VyOS check mode (#35977) (#36114)
* Revert "commented out check tests (#35788)"

This reverts commit 3df2561405.

* `discard_changes()` now uses `exit discard`

instead of just `discard`. Also a slight tweak to avoid a second `exit` after
`exit discard`

(cherry picked from commit 6cdf91fd35)
2018-02-13 10:31:04 -05:00
c76caf3c29 Consistant headings (#36112) (#36113)
(cherry picked from commit 480a9c10c9)
2018-02-13 14:48:59 +00:00
82685806b2 provide detailed description of module (#36107) (#36111)
Fix vague description of module.

Resolves:
Related:
Signed-off-by: Daniel Andrei Minca <mandrei17@gmail.com>
(cherry picked from commit 6cfd198b13)
2018-02-13 14:14:26 +00:00
533f4157d1 Fix YAML issue (#36103) (#36105)
(cherry picked from commit e4c04aa0f3)
2018-02-13 12:48:48 +00:00
be92a5f876 fix nxos_interface_ospf issues (#35988) (#36090)
* fix nxos_interface_ospf issues

* review comment

(cherry picked from commit eab1b62cd2)
2018-02-13 10:11:12 +05:30
96b682b157 cherry-pick disable of unstable azure tests 2018-02-12 10:31:10 -08:00
c232d6cb85 Fix more docs vs argspec (#36048) (#36052)
(cherry picked from commit 17c0d3eae0)
2018-02-12 18:05:39 +00:00
72ad157b07 Change wording of Going Further section (#35949) (#36032)
* Change wording of Going Further section

The original wording was confusing with its non-devel branch part.
Made it much clearer for people to understand what to do.

Also removed the git command for creating branches, I believe a
develop should be aware of how basic git commands work.

(cherry picked from commit d5ae63c0ea)
2018-02-12 10:54:06 +00:00
1b9dde7c29 Fix vrf parsing in eos_vrf and eos_eapi module (#35791) (#36023)
* Fix vrf parsing in eos_vrf and eos_eapi module

Fixes #30250

Fix logic to parse vrf when interface value in `show vrf`
command output spans on multiple lines

* Add idempotent test case

(cherry picked from commit 6a223d5576)
2018-02-12 12:59:45 +05:30
d2e5706467 Fix nxos_igmp_interface for diff nxos versions (#35959) (#36019)
(cherry picked from commit 7a711cf942)
2018-02-12 10:41:58 +05:30
50e79c5a14 initial cutover to API profiles (#35538)
* hardcoded API profiles in azure_rm_common
* changed azure_rm_securitygroup module to use api_profiles, dynamic models, kwargs on all SDK methods
* changed azure_rm_containerinstance module to use api_profiles, dynamic models, kwargs on all SDK methods
* fixed polling performance issue in azure_rm_securitygroup (default poll interval was 30s)
(cherry picked from commit 26f551d1c3)
2018-02-09 14:27:30 -08:00
a1d53b4e98 Tower callback fixes (#35927) (#35981)
* Fix tower_callback script return code

* Add ec2_key parameter to integration tests
2018-02-09 14:55:28 -05:00
67590e4e35 Test against a single transport (#35903) (#35970)
Network integration tests can use tags to run only a specific transport
(cherry picked from commit c3523cdd60)
2018-02-09 16:17:34 +00:00
8e7b25025d Accept interfaces without address family or method (#34200) (#35963)
(cherry picked from commit 79b0739ba2)
2018-02-09 15:42:36 +00:00
3f475054fa Add examples and language to better showcase the 'parents' parameter in multiple network modules (#34486) (#35955)
* Add additional language and examples for 'parents' parameter to clarify its usage.
(cherry picked from commit 15b0371eb2)
2018-02-09 13:40:25 +00:00
e2e6e14644 fix nxos_evpn_vni issues (#35930) (#35945)
(cherry picked from commit c7305393a3)
2018-02-09 17:51:53 +05:30
a48cf0cb0d New release 2.5.0b1 2018-02-08 18:44:30 -08:00
ff7b627b8e CHANGELOG module/plugin updates for 2.5 2018-02-08 17:51:45 -08:00
1f49fa2129 stub 2.6 in devel CHANGELOG, update 2.5 info 2018-02-08 17:06:52 -08:00
c1c5433733 Fix for #31477: return 'dest' from copy when file wasn't changed
(cherry picked from commit 89ad40b129)
2018-02-08 16:18:36 -08:00
e55e5cf23e Address memory ballooning caused by task caching changes (#35921)
* Exclude parent when copying included task to avoid memory issues. Fixes #35796

* Simplify implicit block squashing to pre-group, instead of post re-parenting

(cherry picked from commit 7d1eb88ecf)
2018-02-08 15:28:38 -08:00
71c053bd8c branch stable-2.5 2018-02-08 14:34:14 -08:00
647 changed files with 23588 additions and 8619 deletions

31
.gitignore vendored
View File

@ -31,29 +31,22 @@ docs/man/man3/*
# docsite stuff...
docs/api/_build/
docs/api/rst/
docs/docsite/*.html
docs/docsite/_build
docs/docsite/*.html
docs/docsite/htmlout
docs/docsite/rst/cli/ansible-*.rst
docs/docsite/rst/cli/ansible.rst
docs/docsite/rst/modules/*.rst
docs/docsite/rst/playbooks_directives.rst
docs/docsite/rst/plugins_by_category.rst
docs/docsite/rst/plugins/*/*.rst
docs/docsite/rst/reference_appendices/config.rst
docs/docsite/rst/reference_appendices/playbooks_keywords.rst
docs/docsite/rst_warnings
docs/docsite/searchindex.js
docs/docsite/_static/*.gif
docs/docsite/_static/*.png
docs/docsite/_static/websupport.js
docs/docsite/htmlout
docs/docsite/searchindex.js
docs/docsite/rst_warnings
docs/docsite/rst/*_module.rst
docs/docsite/rst/ansible.rst
docs/docsite/rst/ansible-*.rst
docs/docsite/rst/community_maintained.rst
docs/docsite/rst/config.rst
docs/docsite/rst/core_maintained.rst
docs/docsite/rst/list_of_*.rst
docs/docsite/rst/module_docs/*.rst
docs/docsite/rst/modules_by_category.rst
docs/docsite/rst/network_maintained.rst
docs/docsite/rst/plugins_by_category.rst
docs/docsite/rst/partner_maintained.rst
docs/docsite/rst/playbooks_keywords.rst
docs/docsite/rst/playbooks_directives.rst
docs/docsite/rst/plugins/*/*.rst
# deb building stuff...
/debian/
deb-build

File diff suppressed because it is too large Load Diff

1
CHANGELOG.rst Normal file
View File

@ -0,0 +1 @@
Per-version CHANGELOGS can be found `here <changelogs/>`_.

View File

@ -17,6 +17,6 @@ recursive-include test *
include Makefile
include VERSION
include MANIFEST.in
include CHANGELOG.md
include changelogs/*.rst
include contrib/README.md
recursive-include contrib/inventory *

View File

@ -220,6 +220,11 @@ sdist: clean docs
sdist_upload: clean docs
$(PYTHON) setup.py sdist upload 2>&1 |tee upload.log
# TODO: variable-ize major version number usages here
.PHONY: changelog_reno
changelog_reno:
reno -d changelogs/ report --title 'Ansible 2.5 "Kashmir" Release Notes' --no-collapse-pre-release --no-show-source --earliest-version v2.5.0b1 --output changelogs/CHANGELOG-v2.5.rst
.PHONY: rpmcommon
rpmcommon: sdist
@mkdir -p rpm-build

View File

@ -1 +1 @@
2.5.0 0.0.devel
2.5.0b2

View File

@ -157,7 +157,7 @@ if __name__ == '__main__':
display.display(u"the full traceback was:\n\n%s" % to_text(traceback.format_exc()), log_only=log_only)
exit_code = 250
finally:
# Remove ansible tempdir
# Remove ansible tmpdir
shutil.rmtree(C.DEFAULT_LOCAL_TMP, True)
sys.exit(exit_code)

View File

@ -70,6 +70,7 @@ class ConnectionProcess(object):
self.connection._connect()
self.connection._socket_path = self.socket_path
self.srv.register(self.connection)
messages.extend(sys.stdout.getvalue().splitlines())
messages.append('connection to remote device started successfully')
self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
@ -189,6 +190,7 @@ def main():
play_context = PlayContext()
play_context.deserialize(pc_data)
display.verbosity = play_context.verbosity
except Exception as e:
rc = 1
@ -278,6 +280,7 @@ def main():
sys.exit(rc)
if __name__ == '__main__':
display = Display()
main()

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,577 @@
=======================================================
Ansible 2.0 "Over the Hills and Far Away" Release Notes
=======================================================
2.0.2 "Over the Hills and Far Away"
-----------------------------------
- Backport of the 2.1 feature to ensure per-item callbacks are sent as
they occur, rather than all at once at the end of the task.
- Fixed bugs related to the iteration of tasks when certain
combinations of roles, blocks, and includes were used, especially
when handling errors in rescue/always portions of blocks.
- Fixed handling of redirects in our helper code, and ported the uri
module to use this helper code. This removes the httplib dependency
for this module while fixing some bugs related to redirects and SSL
certs.
- Fixed some bugs related to the incorrect creation of extra temp
directories for uploading files, which were not cleaned up properly.
- Improved error reporting in certain situations, to provide more
information such as the playbook file/line.
- Fixed a bug related to the variable precedence of role parameters,
especially when a role may be used both as a dependency of a role and
directly by itself within the same play.
- Fixed some bugs in the 2.0 implementation of do/until.
- Fixed some bugs related to run\_once:
- Ensure that all hosts are marked as failed if a task marked as
run\_once fails.
- Show a warning when using the free strategy when a run\_once task is
encountered, as there is no way for the free strategy to guarantee
the task is not run more than once.
- Fixed a bug where the assemble module was not honoring check mode in
some situations.
- Fixed a bug related to delegate\_to, where we were incorrectly using
variables from the inventory host rather than the delegated-to host.
- The 'package' meta-module now properly squashes items down to a
single execution (as the apt/yum/other package modules do).
- Fixed a bug related to the ansible-galaxy CLI command dealing with
paged results from the Galaxy server.
- Pipelining support is now available for the local and jail connection
plugins, which is useful for users who do not wish to have temp
files/directories created when running tasks with these connection
types.
- Improvements in support for additional shell types.
- Improvements in the code which is used to calculate checksums for
remote files.
- Some speed ups and bug fixes related to the variable merging code.
- Workaround bug in python subprocess on El Capitan that was making
vault fail when attempting to encrypt a file
- Fix lxc\_container module having predictable temp file names and
setting file permissions on the temporary file too leniently on a
temporary file that was executed as a script. Addresses CVE-2016-3096
- Fix a bug in the uri module where setting headers via module params
that start with ``HEADER_`` were causing a traceback.
- Fix bug in the free strategy that was causing it to synchronize its
workers after every task (making it a lot more like linear than it
should have been).
2.0.1 "Over the Hills and Far Away"
-----------------------------------
- Fixes a major compatibility break in the synchronize module shipped
with 2.0.0.x. That version of synchronize ran sudo on the controller
prior to running rsync. In 1.9.x and previous, sudo was run on the
host that rsync connected to. 2.0.1 restores the 1.9.x behaviour.
- Additionally, several other problems with where synchronize chose to
run when combined with delegate\_to were fixed. In particular, if a
playbook targetted localhost and then delegated\_to a remote host the
prior behavior (in 1.9.x and 2.0.0.x) was to copy files between the
src and destination directories on the delegated host. This has now
been fixed to copy between localhost and the delegated host.
- Fix a regression where synchronize was unable to deal with unicode
paths.
- Fix a regression where synchronize deals with inventory hosts that
use localhost but with an alternate port.
- Fixes a regression where the retry files feature was not implemented.
- Fixes a regression where the any\_errors\_fatal option was
implemented in 2.0 incorrectly, and also adds a feature where
any\_errors\_fatal can be set at the block level.
- Fix tracebacks when playbooks or ansible itself were located in
directories with unicode characters.
- Fix bug when sending unicode characters to an external pager for
display.
- Fix a bug with squashing loops for special modules (mostly package
managers). The optimization was squashing when the loop did not apply
to the selection of packages. This has now been fixed.
- Temp files created when using vault are now "shredded" using the unix
shred program which overwrites the file with random data.
- Some fixes to cloudstack modules for case sensitivity
- Fix non-newstyle modules (non-python modules and old-style modules)
to disabled pipelining.
- Fix fetch module failing even if fail\_on\_missing is set to False
- Fix for cornercase when local connections, sudo, and raw were used
together.
- Fix dnf module to remove dependent packages when state=absent is
specified. This was a feature of the 1.9.x version that was left out
by mistake when the module was rewritten for 2.0.
- Fix bugs with non-english locales in yum, git, and apt modules
- Fix a bug with the dnf module where state=latest could only upgrade,
not install.
- Fix to make implicit fact gathering task correctly inherit settings
from play, this might cause an error if settings environment on play
depending on 'ansible\_env' which was previously ignored
2.0 "Over the Hills and Far Away" - Jan 12, 2016
------------------------------------------------
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\_" 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:
.. code:: yaml
# Syntax in 1.9.x
- debug:
msg: "{{ 'test1_junk 1\\\\3' | regex_replace('(.*)_junk (.*)', '\\\\1 \\\\2') }}"
# Syntax in 2.0.x
- debug:
msg: "{{ 'test1_junk 1\\3' | regex_replace('(.*)_junk (.*)', '\\1 \\2') }}"
# 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:
.. code:: yaml
# Syntax in 1.9.2
vars:
message: >
Testing
some things
tasks:
- debug:
msg: "{{ message }}"
# 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:
.. code:: yaml
---
- 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: "{{item}}"
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 default.
- add\_hosts is much stricter about host name and will prevent invalid
names from being added.
- ansible-pull now defaults to doing shallow checkouts with git, use
``--full`` to return to previous behaviour.
- random cows are more random
- when: now gets the registered var after the first iteration, making
it possible to break out of item loops
- Handling of undefined variables has changed. In most places they will
now raise an error instead of silently injecting an empty string. Use
the default filter if you want to approximate the old behaviour:
::
- debug: msg="The error message was: {{error_code |default('') }}"

View File

@ -0,0 +1,383 @@
=====================================================
Ansible 2.1 "The Song Remains the Same" Release Notes
=====================================================
2.1.4 "The Song Remains the Same" - 2017-01-16
----------------------------------------------
- Security fix for CVE-2016-9587 - An attacker with control over a
client system being managed by Ansible and the ability to send facts
back to the Ansible server could use this flaw to execute arbitrary
code on the Ansible server as the user and group Ansible is running
as.
- Fixed a bug with conditionals in loops, where undefined variables and
other errors will defer raising the error until the conditional has
been evaluated.
- Added a version check for jinja2-2.9, which does not fully work with
Ansible currently.
2.1.3 "The Song Remains the Same" - 2016-11-04
----------------------------------------------
- Security fix for CVE-2016-8628 - Command injection by compromised
server via fact variables. In some situations, facts returned by
modules could overwrite connection-based facts or some other special
variables, leading to injected commands running on the Ansible
controller as the user running Ansible (or via escalated
permissions).
- Security fix for CVE-2016-8614 - apt\_key module not properly
validating keys in some situations.
Minor Changes:
~~~~~~~~~~~~~~
- The subversion module from core now marks its password parameter as
no\_log so the password is obscured when logging.
- The postgresql\_lang and postgresql\_ext modules from extras now mark
login\_password as no\_log so the password is obscured when logging.
- Fixed several bugs related to locating files relative to
role/playbook directories.
- Fixed a bug in the way hosts were tested for failed states, resulting
in incorrectly skipped block sessions.
- Fixed a bug in the way our custom JSON encoder is used for the
``to_json*`` filters.
- Fixed some bugs related to the use of non-ascii characters in become
passwords.
- Fixed a bug with Azure modules which may be using the latest rc6
library.
- Backported some docker\_common fixes.
2.1.2 "The Song Remains the Same" - 2016-09-29
----------------------------------------------
Minor Changes
~~~~~~~~~~~~~
- Fixed a bug related to creation of retry files (#17456)
- Fixed a bug in the way include params are used when an include task
is dynamic (#17064)
- Fixed a bug related to including blocks in an include task (#15963)
- Fixed a bug related to the use of hostvars internally when creating
the connection plugin. This prevents things like variables using
lookups from being evaluated unnecessarily (#17024)
- Fixed a bug where using a variable containing a list for the
``hosts`` of a play resulted in an list of lists (#16583)
- Fixed a bug where integer values would cause an error if a module
param was of type ``float`` (no issue)
- Fixed a bug with net\_template failing if src was not specified
(#17726)
- Fixed a bug in "ansible-galaxy import" (#17417)
- Fixed a bug in which INI files incorrectly treated a hosts range as a
section header (#15331)
- Fixed a bug in which the max\_fail\_percentage calculation
erroneously caused a series of plays to stop executing (#15954)
- Fixed a bug in which the task names were not properly templated
(#16295)
- Fixed a bug causing "squashed" loops (ie. yum, apt) to incorrectly
report results (ansible-modules-core#4214)
- Fixed several bugs related to includes:
- when including statically, make sure that all parents were also
included statically (issue #16990)
- properly resolve nested static include paths
- print a message when a file is statically included
- Fixed a bug in which module params expected to be float types were
not converted from integers (only strings) (#17325)
- Fixed a bug introduced by static includes in 2.1, which prevented
notifications from going to the "top level" handler name.
- Fixed a bug where a group\_vars or host\_vars directory in the
current working directory would be used (and would take precedence)
over those in the inventory and/or playbook directory.
- Fixed a bug which could occur when the result of an async task did
not parse as valid JSON.
- (re)-allowed the use of ansible\_python\_interpreter lines with more
than one argument.
- Fixed several bugs related to the creation of the implicit localhost
in inventory.
- Fixed a bug related to an unspecified number of retries when using
until.
- Fixed a race-condition bug when creating temp directories before the
worker process is forked.
- Fix a bug with async's poll keyword not making use of
ansible\_python\_interpreter to run (and thus breaking when
/usr/bin/python is not present on the remote machine.)
- Fix a bug where hosts that started with a range in inventory were
being treated as an invalid section header.
Module fixes: \* Fixed a bug where the temporary CA files created by the
module helper code were not being deleted properly in some situations
(#17073) \* Fixed many bugs in the unarchive module \* Fixes for module
ec2: - Fixed a bug related to source\_dest\_check when used with non-vpc
instances (core#3243) - Fixed a bug in ec2 where instances were not
powering of when referenced via tags only (core#4765) - Fixed a bug
where instances with multiple interfaces were not powering up/down
correctly (core#3234) \* Fixes for module get\_url: - Fixed a bug in
get\_url module to force a download if there is a checksum mismatch
regardless of the last modified time (core#4262) - Fixed a bug in
get\_url module to properly process FTP results (core#3661 and
core#4601) \* Fixed a bug in win\_user related to users with disabled
accounts/expired passwords (core#4369) \* ini\_file: - Fixed a bug where
option lines are now inserted before blank lines. - Fixed a bug where
leading whitespace prevented matches on options. \* Fixed a bug in
iam\_cert when dup\_ok is used as a string. \* Fixed a bug in
postgresql\_db related to the changed logic when state=absent. \* Fixed
a bug where single\_transaction and quick were not passed into db\_dump
for the mysql\_db module. \* Fixed a bug where the fetch module was not
idempotent when retrieving the target of a symlink. \* Many minor fixes
for bugs in extras modules.
Deprecations
~~~~~~~~~~~~
- Deprecated the use of ``_fixup_perms``. Use ``_fixup_perms2``
instead. This change only impacts custom action plugins using
``_fixup_perms``.
Incompatible Changes
~~~~~~~~~~~~~~~~~~~~
- Use of ``_fixup_perms`` with ``recursive=True`` (the default) is no
longer supported. Custom action plugins using ``_fixup_perms`` will
require changes unless they already use ``recursive=False``. Use
``_fixup_perms2`` if support for previous releases is not required.
Otherwise use ``_fixup_perms`` with ``recursive=False``.
2.1 "The Song Remains the Same"
-------------------------------
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.html#gathering
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.html#becoming-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 "Don't template {{me}}"``.
- 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
``<host>:/<mount>``
- 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.

View File

@ -0,0 +1,427 @@
==================================================
Ansible 2.2 "The Battle of Evermore" Release Notes
==================================================
2.2.1 "The Battle of Evermore" - 2017-01-16
-------------------------------------------
Major Changes
~~~~~~~~~~~~~
- Security fix for CVE-2016-9587 - An attacker with control over a
client system being managed by Ansible and the ability to send facts
back to the Ansible server could use this flaw to execute arbitrary
code on the Ansible server as the user and group Ansible is running
as.
Minor Changes
~~~~~~~~~~~~~
- Fixes a bug where undefined variables in with\_\* loops would cause a
task failure even if the when condition would cause the task to be
skipped.
- Fixed a bug related to roles where in certain situations a role may
be run more than once despite not allowing duplicates.
- Fixed some additional bugs related to atomic\_move for modules.
- Fixes multiple bugs related to field/attribute inheritance in nested
blocks and includes, as well as task iteration logic during failures.
- Fixed pip installing packages into virtualenvs using the system pip
instead of the virtualenv pip.
- Fixed dnf on systems with dnf-2.0.x (some changes in the API).
- Fixed traceback with dnf install of groups.
- Fixes a bug in which include\_vars was not working with failed\_when.
- Fix for include\_vars only loading files with .yml, .yaml, and .json
extensions. This was only supposed to apply to loading a directory of
vars files.
- Fixes several bugs related to properly incrementing the failed count
in the host statistics.
- Fixes a bug with listening handlers which did not specify a ``name``
field.
- Fixes a bug with the ``play_hosts`` internal variable, so that it
properly reflects the current list of hosts.
- Fixes a bug related to the v2\_playbook\_on\_start callback method
and legacy (v1) plugins.
- Fixes an openssh related process exit race condition, related to the
fact that connections using ControlPersist do not close stderr.
- Improvements and fixes to OpenBSD fact gathering.
- Updated ``make deb`` to use pbuilder. Use ``make local_deb`` for the
previous non-pbuilder build.
- Fixed Windows async to avoid blocking due to handle inheritance.
- Fixed bugs in the mount module on older Linux kernels and BSDs
- Various minor fixes for Python 3
- Inserted some checks for jinja2-2.9, which can cause some issues with
Ansible currently.
2.2 "The Battle of Evermore" - 2016-11-01
-----------------------------------------
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

View File

@ -0,0 +1,554 @@
=====================================
Ansible 2.3 "Ramble On" Release Notes
=====================================
2.3.3 "Ramble On" - TBD
-----------------------
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
2.3.2 "Ramble On" - 2017-08-04
------------------------------
Bugfixes
~~~~~~~~
- Fix partend i18n issues
- fixed handling of extra vars for tower\_job\_template (#25272)
- Python3 bugfixes
- Fix sorting of ec2 policies
- Fix digital\_ocean dynamic inventory script
- Fix for the docker connection plugin
- Fix pip module when using python3's pyvenv and python3 -m venv to
create virtualenvs
- Fix for the AnsiBallZ wrapper so that it gives a better error message
when there's not enough disk space to create its tempdir.
- Fix so ansilbe-galaxy install --force with unversioned roles will
once again overwrite old versions.
- Fix for RabbitMQ 3.6.7 endpoint return code changing.
- Fix for Foreman organization creation
- fixed incorrect fail\_json ref in rpm\_key
- Corrected requried on hash\_name for dynamodb\_table
- Fix for fetch action plugin not validating correctly
- Avoid vault view writing display to logs
- htpasswd: fix passlib module version comparison
- Fix for flowdock error message when external\_user\_name is missing
- fixed corner case for delegate\_to, loops and delegate\_facts
- fixed wait\_for python2.4/2.5 compatibility (this is last version
this is needed)
- fix for adhoc not obeying callback options
- fix for win\_find where it fails to recursively scan empty nested
directories
- fix non-pipelined code paths for Windows (eg,
ANSIBLE\_KEEP\_REMOTE\_FILES, non-pipelined connection plugins)
- fix for win\_updates where args and check mode were ignored due to
common code change
- fix for unprivileged users to Windows runas become method
- fix starttls code path for mail module
- fix missing LC\_TYPE in parted module
- fix CN parsing with OpenSSL 1.1 in letsencrypt module
- fix params assignment in jabber module
- fix TXT record type handling in exo\_dns\_record module
- fix message queue message ttl can't be 0 in rabbitmq\_queue module
- CloudStack bugfixes:
- fix template upload for users in cs\_template module, change default
to is\_routing=None
- several fixes in cs\_host module fixes hypervisor handling
- fix network param ignored due typo in cs\_nic module
- fix missing type bool in module cs\_zone
- fix KeyError: 'sshkeypair' in cs\_instance module for CloudStack v4.5
and before
- fix for win\_chocolatey where trying to upgrade all the packages as
per the example docs fails
- fix for win\_chocolatey where it did not fail if the version set did
not exist
- fix for win\_regedit always changing a reg key if the dword values
set is a hex
- fix for wait\_for on non-Linux systems with newer versions of psutil
- fix eos\_banner code and test issues
- run tearup and teardown of EAPI service only on EAPI tests
- fix eos\_config tests so only Eth1 and Eth2 are used
- Fix for potential bug when using legacy inventory vars for
configuring the su password.
- Fix crash in file module when directories contain non-utf8 filenames
- Fix for dnf groupinstall with dnf-2.x
- Fix seboolean module for incompatibility in newer Python3 selinux
bindings
- Optimization for inventory, no need to dedup at every stage, its
redundant and slow
- Fix fact gathering for package and service action plugins
- make random\_choice more error resilient (#27380)
- ensure prefix in plugin loading to avoid conflicts
- fix for a small number of modules (tempfile, possibly copy) which
could fail if the tempdir on the remote box was a symlink
- fix non-pipelined code paths for Windows (eg,
ANSIBLE\_KEEP\_REMOTE\_FILES, non-pipelined connection plugins)
- fix for win\_updates where args and check mode were ignored due to
common code change
2.3.1 "Ramble On" - 2017-06-01
------------------------------
Bugfixes
~~~~~~~~
- Security fix for CVE-2017-7481 - data for lookup plugins used as
variables was not being correctly marked as "unsafe".
- Fix default value of fetch module's validate\_checksum to be True
- Added fix for "meta: refresh\_connection" not working with default
'smart' connection.
- Fix template so that the --diff command line option works when the
destination is a directory
- Fix python3 bugs in pam\_limits
- Fix unbound error when using module deprecation as a single string
- Several places in which error handling was broken due to bad
conversions or just typos
- Fix to user module for appending/setting groups on OpenBSD (flags
were reversed)
- assemble fix to use safer os.join.path, avoids charset issues
- fixed issue with solaris facts and i18n
- added python2.4 compatiblity fix to sysctl module
- Fix comparison of exisiting container security opts in the
docker\_container module
- fixed service module invocation of insserv on certain platforms
- Fix traceback in os\_user in an error case.
- Fix docker container to restart a container when changing to fewer
exposed ports
- Fix tracebacks in docker\_network
- Fixes to detection of updated docker images
- Handle detection of docker image changes when published ports is
changed
- Fix for docker\_container restarting images when links list is empty.
2.3 "Ramble On" - 2017-04-12
----------------------------
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

View File

@ -0,0 +1,921 @@
========================================
Ansible 2.4 "Dancing Days" Release Notes
========================================
2.4.1 "Dancing Days" - 2017-10-25
---------------------------------
Bugfixes
~~~~~~~~
- Security fix for CVE-2017-7550 the jenkins\_plugin module was logging
the jenkins server password if the url\_password was passed via the
params field: https://github.com/ansible/ansible/pull/30875
- Update openssl\* module documentation to show openssl-0.16 is the
minimum version
- Fix openssl\_certificate's csr handling
- Python-3 fixes
- Fix openssl\_certificate parameter assertion on Python3
- Fix for python3 and nonascii strings in inventory plugins
(https://github.com/ansible/ansible/pull/30666)
- Fix missing urllib in iam\_policy
- Fix crypttab module for bytes<=>text string mismatch (
https://github.com/ansible/ansible/pull/30457 )
- Fix lxc\_container module combining bytes with text (
https://github.com/ansible/ansible/pull/30572 )
- Fix map doesn't return a list on python3 in ec2\_snapshot\_facts
module (https://github.com/ansible/ansible/pull/30606)
- Fix uri (and other url retrieving) modules when used with a proxy.
(https://github.com/ansible/ansible/issues/31109)
- Fix azure\_rm dynamic inventory script ConfigParser usage.
- Fix for win\_file to respect check mode when deleting directories
- Fix for Ansible.ModuleUtils.Legacy.psm1 to return list params
correctly
- Fix for a proper logout in the module ovirt\_vms
- Fixed docs for 'password' lookup
- Corrected and added missing feature and porting docs for 2.4
- Fix for Ansible.ModuleUtils.CamelConversion to handle empty lists and
lists with one entry
- Fix nxos terminal regex to parse username correctly.
- Fix colors for selective callback
- Fix for 'New password' prompt on 'ansible-vault edit'
(https://github.com/ansible/ansible/issues/30491)
- Fix for 'ansible-vault encrypt' with vault\_password\_file in config
and --ask-vault-pass cli
(https://github.com/ansible/ansible/pull/30514#pullrequestreview-63395903)
- updated porting guide with notes for callbacks and config
- Added backwards compatiblity shim for callbacks that do not inherit
from CallbackBase
- Corrected issue with configuration and multiple ini entries being
overwriten even when not set.
- backported fix for doc generation (plugin\_formatter)
- Fix ec2\_lc module for an unknown parameter name
(https://github.com/ansible/ansible/pull/30573)
- Change configuration of defaults to use standard jinja2 instead of
custom eval() for using variables in the default field of config
(https://github.com/ansible/ansible/pull/30650)
- added missing entry in chlog deprecation
- Fixed precedence and values for become flags and executable settings
- Fix for win\_domain\_membership to throw more helpful error messages
and check/fix when calling WMI function after changing workgroup
- Fix for win\_power\_plan to compare the OS version's correctly and
work on Windows 10/Server 2016
- Fix module doc for typo in telnet command option
- Fix OpenBSD pkg\_mgr fact
(https://github.com/ansible/ansible/issues/30623)
- Fix encoding error when there are nonascii values in the path to the
ssh binary
- removed YAML inventory group name validation, broke existing setups
and should be global in any case, and configurable
- performance improvment for inventory, had slown down considerably
from 2.3
- Fix cpu facts on sparc64
(https://github.com/ansible/ansible/pull/30261)
- Fix ansible\_distribution fact for Arch linux
(https://github.com/ansible/ansible/issues/30600)
- remove print statements from play\_context/become
- Fix vault errors after 'ansible-vault edit'
(https://github.com/ansible/ansible/issues/30575)
- updated api doc example to match api changes
- corrected issues with slack callback plugin
- it is import\_playbook, not import\_plays, docs now reflect this
- fixed typo and missed include/import conversion in import\_tasks docs
- updated porting docs with note about inventory\_dir
- removed extension requirement for yaml inventory plugin to restore
previous behaviour
- fixed ansible-pull to now correctly deal with inventory
- corrected dig lookup docs
- fix type handling for sensu\_silence so the module works
- added fix for win\_iis\_webapppool to correctly handle array elements
- Fix bugs caused by lack of collector ordering like service\_mgr being
incorrect (https://github.com/ansible/ansible/issues/30753)
- Fix os\_image when the id parameter is not set in the task. (
https://github.com/ansible/ansible/pull/29147 )
- Fix for the winrm connection to use proper task vars
- removed typo from dig lookup docs
- Updated win\_chocolatey example to be clearer around what should be
used with become
- Fix for copy module when permissions are changed but the file
contents are not ( https://github.com/ansible/ansible/issues/30556 )
- corrected YAML\_FILENAME\_EXTENSIONS ini setter as key/section were
swapped
- Better error message when a yaml inventory is invalid
- avoid include\_Xs conflating vars with options
- Fix aws\_s3 module handling ``encrypt`` option
(https://github.com/ansible/ansible/pull/31203)
- Fix for win\_msg to document and show error when message is greater
than 255 characters
- Fix for win\_dotnet\_ngen to work after recent regression
- fixed backwards compat method for config
- removed docs for prematurely added ssh specific pipelining settings
- fixed redis cache typo
- Fix AttributeError during inventory group deserialization
(https://github.com/ansible/ansible/issues/30903)
- Fix 'ansible-vault encrypt --output=-'
(https://github.com/ansible/ansible/issues/30550)
- restore pre 2.4 pipeline configuration options (env and ini)
- Fix win\_copy regression: handling of vault-encrypted source files
(https://github.com/ansible/ansible/pull/31084)
- Updated return values for win\_reg\_stat to correctly show what is
being returned (https://github.com/ansible/ansible/pull/31252)
- reduced normal error redundancy and verbosity, display on increased
and when needed
- Give an informative error instead of a traceback if include\_vars dir
is file instead of directory
(https://github.com/ansible/ansible/pull/31157)
- Fix monit module's version check for color support
(https://github.com/ansible/ansible/pull/31212)
- Make ``elasticsearch_plugin`` module work with both 2.x and 5.x
(https://github.com/ansible/ansible/issues/21989)
- Fix for become on Windows to handle ignored errors
(https://github.com/ansible/ansible/issues/30468)
- Fix removal of newlines when writing SELinux config
(https://github.com/ansible/ansible/issues/30618)
- clarified extension requirement for constructed inv plugin
- really turn off inventory caching, toggle will be added in 2.5
- for inventory sources, dont follow symlinks to calculate base
directory, used for group/host\_vars
- Port the uptime.py example script to the new inventory API.
- inventory\_file variable again returns full path, not just basename
- added info about cwd group/host vars to porting guide
- Fix name parsing out of envra in the yum module
- give user friendly error on badly formatted yaml inventory source
- Fix any\_errors\_fatal setting in playbooks.
- Fix setting of ssh-extra-args from the cli
(https://github.com/ansible/ansible/pull/31326)
- Change SELinux fact behavior to always return a dictionary.
(https://github.com/ansible/ansible/issues/18692)
- Revert a fix for using non /bin/sh shells for modules' running
commands as this was causing output from commands to change, thus
breaking playbooks. See the original bug for details and links to the
eventual fix: https://github.com/ansible/ansible/issues/24169
- Do not log data field in ``docker_secrets`` module
(https://github.com/ansible/ansible/pull/31366)
- Fix rpm\_key taking the wrong 8 chars from the keyid
(https://github.com/ansible/ansible/pull/31045)
- chown errors now more informative
- Fix for win\_copy to copy a source file that has invalid windows
characters in the filename, the dest still must be have valid windows
characters
(https://github.com/ansible/ansible/issues/31336#issuecomment-334649927)
- Fix systemd module to not run daemon-reload in check mode.
- fixed some parsing and selection issues with inventory manager, fixed
minor bugs in yaml and constructed plugins
- Fix the ping module documentation to reference win\_ping instead of
itself: https://github.com/ansible/ansible/pull/31444
- Fix for ec2\_win\_password to allow blank key\_passphrase again
(https://github.com/ansible/ansible/pull/28791)
- added toggle for vars\_plugin behaviour to execute relative to
playbook, set default to revert to previous way.
- Fix for win\_copy to not remove destination file on change when in
check mode (https://github.com/ansible/ansible/pull/31469)
- Fix include\_role usage of role\_name
(https://github.com/ansible/ansible/pull/31463)
- Fix service and package forcing a second run of the setup module to
function (https://github.com/ansible/ansible/issues/31485)
- Better error message when attempting to use include or import with
/usr/bin/ansible (https://github.com/ansible/ansible/pull/31492/)
- Fix ``sysctl`` module to remove etries when ``state=absent``
(https://github.com/ansible/ansible/issues/29920)
- Fix for ec2\_group to avoid trying to iterate over None
(https://github.com/ansible/ansible/pull/31531)
- Fix for ec2\_group for a possible KeyError bug
(https://github.com/ansible/ansible/pull/31540)
- Fix for the rpm\_key module when importing the first gpg key on a
system (https://github.com/ansible/ansible/pull/31514)
- Fix for aws\_s3 metadata to use the correct parameters when uploading
a file (https://github.com/ansible/ansible/issues/31232)
- Fix for the yum module when installing from file/url crashes
(https://github.com/ansible/ansible/pull/31529)
- Improved error messaging for Windows become/runas when username is
bogus (https://github.com/ansible/ansible/pull/31551)
- Fix rollback feature in junos\_config to now allow configuration
rollback on device (https://github.com/ansible/ansible/pull/31424)
- Remove command executed log from ansible-connection
(https://github.com/ansible/ansible/pull/31581)
- Fix relative paths to be relative to config file when there is no
playbook available (https://github.com/ansible/ansible/issues/31533)
- Fix Inventory plugins to use the configured inventory plugin path
(https://github.com/ansible/ansible/issues/31605)
- Fix include task to be dynamic
(https://github.com/ansible/ansible/issues/31593)
- A couple fixes to the test process to account for new testing
resources in our ci system and an upstream cryptography update that
didn't work with pip-8.x
- Document backup\_path in a few dellos modules and vyos\_config
(https://github.com/ansible/ansible/issues/31844)
- Fix for vmware\_vm\_facts with dangling inaccessible VM which don't
have MAC addresses (https://github.com/ansible/ansible/pull/31629)
- Fix for win\_regedit sending extra data that could confuse ansible's
result parsing (https://github.com/ansible/ansible/pull/31813)
- Fix git module to correctly cleanup temporary dirs
(https://github.com/ansible/ansible/pull/31541)
- Fix for modules which use atomic\_move() to rename files raising an
exception if a file could not be opened. Fix will return a nice error
message instead: https://github.com/ansible/ansible/issues/31786
- Fix ansible-doc and ansible-console module-path option
(https://github.com/ansible/ansible/pull/31744)
- Fix for hostname module on RHEL 7.5
(https://github.com/ansible/ansible/issues/31811)
- Fix provider password leak in logs for asa modules
(https://github.com/ansible/ansible/issues/32343)
- Fix tagging for dynamodb\_table if region is not explicitly passed to
the module (https://github.com/ansible/ansible/pull/32557)
- Fix Python 3 decode error in ``cloudflare_dns``
(https://github.com/ansible/ansible/pull/32065)
Known Bugs
~~~~~~~~~~
- Implicit localhost is getting ansible\_connection from all:vars
instead of from the implicit localhost definition
(https://github.com/ansible/ansible/issues/31420)
2.4 "Dancing Days" - 2017/09/18
-------------------------------
Major Changes
~~~~~~~~~~~~~
- Support for Python-2.4 and Python-2.5 on the managed system's side
was dropped. If you need to manage a system that ships with
Python-2.4 or Python-2.5, you'll need to install Python-2.6 or better
on the managed system or run Ansible-2.3 until you can upgrade the
system.
- New import/include keywords to replace the old bare ``include``
directives. The use of ``static: {yes|no}`` on such includes is now
deprecated.
- Using ``import_*`` (``import_playbook``, ``import_tasks``,
``import_role``) directives are static.
- Using ``include_*`` (``include_tasks``, ``include_role``)
directives are dynamic. This is done to avoid collisions and
possible security issues as facts come from the remote targets and
they might be compromised.
- New ``order`` play level keyword that allows the user to change the
order in which Ansible processes hosts when dispatching tasks.
- Users can now set group merge priority for groups of the same depth
(parent child relationship), using the new ``ansible_group_priority``
variable, when values are the same or don't exist it will fallback to
the previous sorting by name'.
- Inventory has been revamped:
- Inventory classes have been split to allow for better management and
deduplication
- Logic that each inventory source duplicated is now common and pushed
up to reconciliation
- VariableManager has been updated for better interaction with
inventory
- Updated CLI with helper method to initialize base objects for plays
- New inventory plugins for creating inventory
- Old inventory formats are still supported via plugins
- Inline host\_list is also an inventory plugin, an example alternative
``advanced_host_list`` is also provided (it supports ranges)
- New configuration option to list enabled plugins and precedence order
``[inventory]enable_plugins`` in ansible.cfg
- vars\_plugins have been reworked, they are now run from Vars manager
and API has changed (need docs)
- Loading group\_vars/host\_vars is now a vars plugin and can be
overridden
- It is now possible to specify multiple inventory sources in the
command line (-i /etc/hosts1 -i /opt/hosts2)
- Inventory plugins can use the cache plugin (i.e. virtualbox) and is
affected by ``meta: refresh_inventory``
- Group variable precedence is now configurable via new 'precedence'
option in ansible.cfg (needs docs)
- Improved warnings and error messages across the board
- Configuration has been changed from a hardcoded listing in the
constants module to dynamically loaded from yaml definitions
- Also added an ansible-config CLI to allow for listing config options
and dumping current config (including origin)
- TODO: build upon this to add many features detailed in ansible-config
proposal https://github.com/ansible/proposals/issues/35
- Windows modules now support the use of multiple shared module\_utils
files in the form of Powershell modules (.psm1), via
``#Requires -Module Ansible.ModuleUtils.Whatever.psm1``
- Python module argument\_spec now supports custom validation logic by
accepting a callable as the ``type`` argument.
- Windows become\_method: runas is no longer marked ``experimental``
- Windows become\_method: runas now works across all authtypes and will
auto-elevate under UAC if WinRM user has "Act as part of the
operating system" privilege
Deprecations
~~~~~~~~~~~~
- The behaviour when specifying ``--tags`` (or ``--skip-tags``)
multiple times on the command line has changed so that the tags are
merged together by default. See the documentation for how to
temporarily use the old behaviour if needed:
https://docs.ansible.com/ansible/intro\_configuration.html#merge-multiple-cli-tags
- The ``fetch`` module's ``validate_md5`` parameter has been deprecated
and will be removed in 2.8. If you wish to disable post-validation of
the downloaded file, use validate\_checksum instead.
- Those using ansible as a library should note that the
``ansible.vars.unsafe_proxy`` module is deprecated and slated to go
away in 2.8. The functionality has been moved to
``ansible.utils.unsafe_proxy`` to avoid a circular import.
- The win\_get\_url module has the dictionary 'win\_get\_url' in its
results deprecated, its content is now also available directly in the
resulting output, like other modules.
- Previously deprecated 'hostfile' config settings have been
're-deprecated' as before the code did not warn about deprecated
configuration settings, but it does now.
Deprecated Modules (to be removed in 2.8):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- azure: use M(azure\_rm\_virtualmachine) instead
- cs\_nic: replaced by cs\_instance\_nic\_secondaryip, also see new
module cs\_instance\_nic for managing nics
- ec2\_facts: replaced by ec2\_metadata\_facts
- ec2\_remote\_facts: replaced by ec2\_instance\_facts
- panos\_address: use M(panos\_object) instead
- panos\_nat\_policy: use M(panos\_nat\_rule) instead
- panos\_security\_policy: use M(panos\_security\_rule) instead
- panos\_service: use M(panos\_object) instead
- s3: replaced by aws\_s3
- win\_msi: use M(win\_package) instead
Removed Modules (previously deprecated):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- eos\_template: use eos\_config instead
- ios\_template: use ios\_config instead
- iosxr\_template: use iosxr\_config instead
- junos\_template: use junos\_config instead
- nxos\_template: use nxos\_config instead
- openswitch
- ops\_template: use ops\_config instead
Minor Changes
~~~~~~~~~~~~~
- Now deprecated configuration options issue warnings when set.
- Removed unused and deprecated config option ``pattern``
- Updated the copy of six bundled for modules to use from 1.4.1 to
1.10.0
- The ``inventory_dir`` var is not a global anymore, as we now allow
multiple inventory sources, it is now host dependant. This means it
cannot be used wherever host vars are not permitted, for example in
task/handler names.
- Fixed a cornercase with ini inventory vars. Previously, if an
inventory var was a quoted string with hash marks ("#") in it then
the parsed string included the quotes. Now the string will not be
quoted. Previously, if the quoting ended before the string finished
and then the hash mark appeared, the hash mark was included as part
of the string. Now it is treated as a trailing comment:
# Before: var1="string#comment" ===> var1: ""string#comment""
var1="string" #comment ===> var1: ""string" #comment" # After:
var1="string#comment" ===> var1: "string#comment" var1="string"
#comment ===> var1: "string"
The new behaviour mirrors how the variables would appear if there was no
hash mark in the string. \* As of 2.4.0, the fetch module fails if there
are errors reading the remote file. Use ``ignore_errors`` or
``failed_when`` in playbooks if you wish to ignore errors. \*
Experimentally added pmrun become method. \* Enable the docker
connection plugin to use su as a become method \* Add an encoding
parameter for the replace module so that it can operate on non-utf-8
files \* By default, Ansible now uses the cryptography module to
implement vault instead of the older pycrypto module. \* Changed task
state resulting from both ``rc`` and ``failed`` fields returned, 'rc' no
longer overrides 'failed'. Test plugins have also been updated
accordingly. \* The win\_unzip module no longer includes dictionary
'win\_unzip' in its results, the content is now directly in the
resulting output, like pretty much every other module. \* Rewrite of the
copy module so that it handles cornercases with symbolic links and empty
directories. The copy module has a new parameter, ``local_follow`` which
controls how links on the source system are treated. (The older
parameter, follow is for links on the remote system.) \* Update the
handling of symbolic file permissions in file-related mode parameters to
deal with multiple operators. For instance, ``mode='u=rw+x-X'`` to set
the execute bit on directories, remove it from filea, and set read-write
on both is now supported \* Added better cookie parsing to
fetch\_url/open\_url. Cookies are now in a dictionary named ``cookies``
in the fetch\_url result. Anything using ``open_url`` directly can pass
a cookie object as a named arg (``cookies``), and then parse/format the
cookies in the result. \* The bundled copy of six in
lib/ansible/module\_utils/six is now used unconditionally. The code to
fallback on a system six interfered with static analysis of the code so
the cost of using the fallback code became too high. Distributions which
wish to unbundle may do so by replacing the bundled six in
ansible/module\_utils/six/\ **init**.py. Six is tricky to unbundle,
however, so they may want to base their efforts off the code we were
using: \*
https://github.com/ansible/ansible/blob/2fff690caab6a1c6a81973f704be3fbd0bde2c2f/lib/ansible/module\_utils/six/\ **init**.py
\* Update ipaddr Jinja filters to replace existing non RFC compliant
ones. Added additional filters for easier use of handling IP addresses.
(PR #26566) \* datetime filter updated to use default format of
datetime.datetime (ISO8601) \* The junit plugin now has an option to
report a junit test failure on changes for idempotent testing. \* New
'diff' keyword allows setting diff mode on playbook objects, overriding
command line option and config. \* New config settings for inventory to:
- control inventory plugins used - extensions of files to ignore when
using inventory directory - patterns of files to ignore when using
inventory directory - option to toggle failed inventory source parsing
between an error or a warning \* More fixes for Python 3 across the code
base. \* win\_shell and win\_command modules now properly preserve
quoted arguments passed on the command-line. Tasks that attempted to
work around the issue by adding extra quotes/escaping may need to be
reworked. See https://github.com/ansible/ansible/issues/23019 for
additional detail. \* All configuration paths are now relative to the
``ansible.cfg`` file used. \* By user request, a 'configuration macro'
(``CWD``) is available to force configured paths to be relative to the
current working directory. Please note that this is unsafe and not
recommended.
New Callbacks:
^^^^^^^^^^^^^^
- full\_skip
- profile\_roles
- stderr
New Filters:
^^^^^^^^^^^^
- parse\_cli
- parse\_cli\_textfsm
New Inventory Plugins:
^^^^^^^^^^^^^^^^^^^^^^
- advanced\_host\_list
- constructed
- host\_list
- ini
- script
- virtualbox
- yaml
New Inventory scripts:
^^^^^^^^^^^^^^^^^^^^^^
- lxd
New: Tests
^^^^^^^^^^
- ``any``: true if any element is true
- ``all``: true if all elements are true
Module Notes
~~~~~~~~~~~~
- The docker\_container module has gained a new option, ``working_dir``
which allows specifying the working directory for the command being
run in the image.
- The ec2\_win\_password module now requires the cryptography python
module be installed to run
- The stat module added a field, lnk\_target. When the file being
stated is a symlink, lnk\_target will contain the target of the link.
This differs from lnk\_source when the target is specified relative
to the symlink. In this case, lnk\_target will remain relative while
lnk\_source will be expanded to an absolute path.
- The archive module has a new parameter exclude\_path which lists
paths to exclude from the archive
- The yum module has a new parameter security which limits state=latest
to security updates
- The template module gained a follow parameter to match with copy and
file. Like those modules, template defaults this parameter to False.
Previously, template hardcoded this to true.
- Added a new parameter to command module that lets users specify data
to pipe into the command's stdin.
- The azure\_rm modules now accept a ``cloud_environment`` arg to
access regional and private clouds.
- The azure\_rm modules and inventory script now require at least
version 2.0.0 of the Azure Python SDK.
New Modules
~~~~~~~~~~~
Cloud
^^^^^
- amazon
- aws\_api\_gateway
- aws\_direct\_connect\_connection
- aws\_direct\_connect\_link\_aggregation\_group
- aws\_s3
- aws\_s3\_bucket\_facts
- aws\_waf\_facts
- data\_pipeline
- dynamodb\_ttl
- ec2\_instance\_facts
- ec2\_metadata\_facts
- ec2\_vpc\_dhcp\_option\_facts
- ec2\_vpc\_endpoint
- ec2\_vpc\_endpoint\_facts
- ec2\_vpc\_peering\_facts
- ecs\_attribute
- elb\_application\_lb
- elb\_application\_lb\_facts
- elb\_target\_group
- elb\_target\_group\_facts
- iam\_group
- iam\_managed\_policy
- lightsail
- redshift\_facts
- azure
- azure\_rm\_acs
- azure\_rm\_availabilityset
- azure\_rm\_availabilityset\_facts
- azure\_rm\_dnsrecordset
- azure\_rm\_dnsrecordset\_facts
- azure\_rm\_dnszone
- azure\_rm\_dnszone\_facts
- azure\_rm\_functionapp
- azure\_rm\_functionapp\_facts
- azure\_rm\_loadbalancer
- azure\_rm\_loadbalancer\_facts
- azure\_rm\_managed\_disk
- azure\_rm\_managed\_disk\_facts
- azure\_rm\_virtualmachine\_extension
- azure\_rm\_virtualmachine\_scaleset
- azure\_rm\_virtualmachine\_scaleset\_facts
- atomic
- atomic\_container
- cloudstack
- cs\_instance\_nic
- cs\_instance\_nic\_secondaryip
- cs\_network\_acl
- cs\_network\_acl\_rule
- cs\_storage\_pool
- cs\_vpn\_gateway
- digital\_ocean
- digital\_ocean\_floating\_ip
- docker
- docker\_secret
- docker\_volume
- google
- gce\_labels
- gcp\_backend\_service
- gcp\_forwarding\_rule
- gcp\_healthcheck
- gcp\_target\_proxy
- gcp\_url\_map
- misc
- helm
- ovirt
- ovirt\_host\_storage\_facts
- ovirt\_scheduling\_policies\_facts
- ovirt\_storage\_connections
- vmware
- vcenter\_license
- vmware\_guest\_find
- vmware\_guest\_tools\_wait
- vmware\_resource\_pool
Commands
^^^^^^^^
- telnet
Crypto
^^^^^^
- openssl\_certificate
- openssl\_csr
Files
^^^^^
- xml
Identity
^^^^^^^^
- cyberark
- cyberark\_authentication
- cyberark\_user
- ipa
- ipa\_dnsrecord
Monitoring
^^^^^^^^^^
- sensu\_client
- sensu\_handler
- sensu\_silence
Network
^^^^^^^
- aci
- aci\_aep
- aci\_ap
- aci\_bd
- aci\_bd\_subnet
- aci\_bd\_to\_l3out
- aci\_contract
- aci\_contract\_subject\_to\_filter
- aci\_epg
- aci\_epg\_monitoring\_policy
- aci\_epg\_to\_contract
- aci\_epg\_to\_domain
- aci\_filter
- aci\_filter\_entry
- aci\_intf\_policy\_fc
- aci\_intf\_policy\_l2
- aci\_intf\_policy\_lldp
- aci\_intf\_policy\_mcp
- aci\_intf\_policy\_port\_channel
- aci\_intf\_policy\_port\_security
- aci\_l3out\_route\_tag\_policy
- aci\_rest
- aci\_taboo\_contract
- aci\_tenant
- aci\_tenant\_action\_rule\_profile
- aci\_tenant\_span\_dst\_group
- aci\_vrf
- aireos
- aireos\_command
- aireos\_config
- aruba
- aruba\_command
- aruba\_config
- avi
- avi\_actiongroupconfig
- avi\_alertconfig
- avi\_alertemailconfig
- avi\_alertscriptconfig
- avi\_alertsyslogconfig
- avi\_authprofile
- avi\_backup
- avi\_backupconfiguration
- avi\_cloud
- avi\_cloudconnectoruser
- avi\_cloudproperties
- avi\_cluster
- avi\_controllerproperties
- avi\_dnspolicy
- avi\_gslb
- avi\_gslbapplicationpersistenceprofile
- avi\_gslbgeodbprofile
- avi\_gslbhealthmonitor
- avi\_gslbservice
- avi\_hardwaresecuritymodulegroup
- avi\_httppolicyset
- avi\_ipaddrgroup
- avi\_ipamdnsproviderprofile
- avi\_microservicegroup
- avi\_network
- avi\_networksecuritypolicy
- avi\_poolgroupdeploymentpolicy
- avi\_prioritylabels
- avi\_scheduler
- avi\_seproperties
- avi\_serverautoscalepolicy
- avi\_serviceengine
- avi\_serviceenginegroup
- avi\_snmptrapprofile
- avi\_stringgroup
- avi\_trafficcloneprofile
- avi\_useraccountprofile
- avi\_vrfcontext
- avi\_vsdatascriptset
- avi\_vsvip
- avi\_webhook
- bigswitch
- bcf\_switch
- cloudengine
- ce\_aaa\_server
- ce\_aaa\_server\_host
- ce\_acl
- ce\_acl\_advance
- ce\_acl\_interface
- ce\_bfd\_global
- ce\_bfd\_session
- ce\_bfd\_view
- ce\_bgp
- ce\_bgp\_af
- ce\_bgp\_neighbor
- ce\_bgp\_neighbor\_af
- ce\_config
- ce\_dldp
- ce\_dldp\_interface
- ce\_eth\_trunk
- ce\_evpn\_bd\_vni
- ce\_evpn\_bgp
- ce\_evpn\_bgp\_rr
- ce\_evpn\_global
- ce\_facts
- ce\_file\_copy
- ce\_info\_center\_debug
- ce\_info\_center\_global
- ce\_info\_center\_log
- ce\_info\_center\_trap
- ce\_interface
- ce\_interface\_ospf
- ce\_ip\_interface
- ce\_link\_status
- ce\_mlag\_config
- ce\_mlag\_interface
- ce\_mtu
- ce\_netconf
- ce\_netstream\_aging
- ce\_netstream\_export
- ce\_netstream\_global
- ce\_netstream\_template
- ce\_ntp
- ce\_ntp\_auth
- ce\_ospf
- ce\_ospf\_vrf
- ce\_reboot
- ce\_rollback
- ce\_sflow
- ce\_snmp\_community
- ce\_snmp\_contact
- ce\_snmp\_location
- ce\_snmp\_target\_host
- ce\_snmp\_traps
- ce\_snmp\_user
- ce\_startup
- ce\_static\_route
- ce\_stp
- ce\_switchport
- ce\_vlan
- ce\_vrf
- ce\_vrf\_af
- ce\_vrf\_interface
- ce\_vrrp
- ce\_vxlan\_arp
- ce\_vxlan\_gateway
- ce\_vxlan\_global
- ce\_vxlan\_tunnel
- ce\_vxlan\_vap
- cloudvision
- cv\_server\_provision
- eos
- eos\_logging
- eos\_vlan
- eos\_vrf
- f5
- bigip\_command
- bigip\_config
- bigip\_configsync\_actions
- bigip\_gtm\_pool
- bigip\_iapp\_service
- bigip\_iapp\_template
- bigip\_monitor\_tcp\_echo
- bigip\_monitor\_tcp\_half\_open
- bigip\_provision
- bigip\_qkview
- bigip\_snmp
- bigip\_snmp\_trap
- bigip\_ucs
- bigip\_user
- bigip\_virtual\_address
- fortios
- fortios\_address
- interface
- net\_interface
- net\_linkagg
- net\_lldp\_interface
- ios
- ios\_interface
- ios\_logging
- ios\_static\_route
- ios\_user
- iosxr
- iosxr\_banner
- iosxr\_interface
- iosxr\_logging
- iosxr\_user
- junos
- junos\_banner
- junos\_interface
- junos\_l3\_interface
- junos\_linkagg
- junos\_lldp
- junos\_lldp\_interface
- junos\_logging
- junos\_static\_route
- junos\_system
- junos\_vlan
- junos\_vrf
- layer2
- net\_l2\_interface
- net\_vlan
- layer3
- net\_l3\_interface
- net\_vrf
- netscaler
- netscaler\_cs\_action
- netscaler\_cs\_policy
- netscaler\_cs\_vserver
- netscaler\_gslb\_service
- netscaler\_gslb\_site
- netscaler\_gslb\_vserver
- netscaler\_lb\_monitor
- netscaler\_lb\_vserver
- netscaler\_save\_config
- netscaler\_server
- netscaler\_service
- netscaler\_servicegroup
- netscaler\_ssl\_certkey
- nuage
- nuage\_vspk
- nxos
- nxos\_banner
- nxos\_logging
- panos
- panos\_nat\_rule
- panos\_object
- panos\_security\_rule
- protocol
- net\_lldp
- routing
- net\_static\_route
- system
- net\_banner
- net\_logging
- net\_system
- net\_user
- vyos
- vyos\_banner
- vyos\_interface
- vyos\_l3\_interface
- vyos\_linkagg
- vyos\_lldp
- vyos\_lldp\_interface
- vyos\_logging
- vyos\_static\_route
- vyos\_user
Notification
^^^^^^^^^^^^
- bearychat
- catapult
- office\_365\_connector\_card
Remote Management
^^^^^^^^^^^^^^^^^
- hpe
- oneview\_fc\_network
- imc
- imc\_rest
- manageiq
- manageiq\_user
Source Control
^^^^^^^^^^^^^^
- github\_deploy\_key
- github\_issue
Storage
^^^^^^^
- nuage\_vpsk
- panos
- panos\_sag
- purestorage
- purefa\_hg
- purefa\_host
- purefa\_pg
- purefa\_snap
- purefa\_volume
System
^^^^^^
- aix\_lvol
- awall
- dconf
- interfaces\_file
Web Infrastructure
^^^^^^^^^^^^^^^^^^
- gunicorn
- rundeck\_acl\_policy
- rundeck\_project
Windows
^^^^^^^
- win\_defrag
- win\_domain\_group
- win\_domain\_user
- win\_dsc
- win\_eventlog
- win\_eventlog\_entry
- win\_firewall
- win\_group\_membership
- win\_hotfix
- win\_mapped\_drive
- win\_pagefile
- win\_power\_plan
- win\_psmodule
- win\_rabbitmq\_plugin
- win\_route
- win\_security\_policy
- win\_toast
- win\_user\_right
- win\_wait\_for
- win\_wakeonlan

View File

@ -0,0 +1,704 @@
===================================
Ansible 2.5 "Kashmir" Release Notes
===================================
v2.5.0rc1
=========
Release Summary
---------------
| Release Date: 2018-02-22
| Estimated Final Release: mid-March 2018
| `Porting Guide <http://docs.ansible.com/ansible/devel/porting_guides.html>`_
Minor Changes
-------------
- aci_* modules - added signature based authentication
- aci_* modules - included dedicated ACI documentation
- aci_* modules - improved ACI return values
Deprecated Features
-------------------
- Apstra's ``aos_*`` modules are deprecated as they do not work with AOS 2.1 or higher. See new modules at `https://github.com/apstra <https://github.com/apstra>`_.
Bugfixes
--------
- include_role - improved performance and recursion depth (https://github.com/ansible/ansible/pull/36470)
- lineinfile - fixed regexp used with insert(before|after) inserting duplicate lines (https://github.com/ansible/ansible/pull/36156)
- Fix for ansible_*_interpreter on Python3 when using non-newstyle modules. Those include old-style ansible modules and Ansible modules written in non-python scripting languages (https://github.com/ansible/ansible/pull/36541)
- fix for ansible-vault always requesting passwords (https://github.com/ansible/ansible/issues/33027)
- ios CLI - fixed prompt detection (https://github.com/ansible/ansible/issues/35662)
- nxos_user - fixed structured output issue (https://github.com/ansible/ansible/pull/36193)
- nxos_* modules - various fixes (https://github.com/ansible/ansible/pull/36340)
- nxos_* modules - various fixes (https://github.com/ansible/ansible/pull/36374)
- nxos_install_os - kickstart_image_file is no longer required (https://github.com/ansible/ansible/pull/36319)
- script/patch - fixed tempfile ownership issues (https://github.com/ansible/ansible/issues/36398)
- nxos_bgp_neighbor - fixed various module arg issues (https://github.com/ansible/ansible/pull/36318)
- vyos_l3_interface - fixed issues with multiple addresses on an interface (https://github.com/ansible/ansible/pull/36377)
- nxos_banner - fixed issues with unstructured output (https://github.com/ansible/ansible/pull/36411)
- nxos_bgp_neighbor_af - fixed various issues (https://github.com/ansible/ansible/pull/36472)
- vyos_config - fixed IndexError in sanitize_config (https://github.com/ansible/ansible/pull/36375)
- cs_user - fixed user_api_secret return for ACS 4.10+ (https://github.com/ansible/ansible/pull/36447)
- nxos_* modules - various fixes (https://github.com/ansible/ansible/pull/36514)
- fix cases where INVENTORY_UNPARSED_IS_FAILED didn't fail (https://github.com/ansible/ansible/issues/36034)
- aws_ses_identity - fixed failure on missing identity info (https://github.com/ansible/ansible/issues/36065)
- ec2_vpc_net_facts - fixed traceback for regions other than us-east-1 (https://github.com/ansible/ansible/pull/35302)
- aws_waf_* - fixed traceback on WAFStaleDataException (https://github.com/ansible/ansible/pull/36405)
- ec2_group - fixed check_mode when using tags (https://github.com/ansible/ansible/pull/36503)
- loop item labels will now update if templated (https://github.com/ansible/ansible/pull/36430)
- win_feature - will display a more helpful error when it fails during execution (https://github.com/ansible/ansible/pull/36491)
v2.5.0b2
========
Release Summary
---------------
| Release Date: 2018-02-15
Major Changes
-------------
- New simpler and more intuitive 'loop' keyword for task loops. The ``with_<lookup>`` loops will likely be deprecated in the near future and eventually removed.
- Added fact namespacing; from now on facts will be available under ``ansible_facts`` namespace (for example: ``ansible_facts.os_distribution``)
without the ``ansible_`` prefix. They will continue to be added into the main namespace directly, but now with a configuration toggle to
enable this. This is currently on by default, but in the future it will default to off.
- Added a configuration file that a site administrator can use to specify modules to exclude from being used.
Minor Changes
-------------
- ansible-inventory - now supports a ``--export`` option to preserve group_var data (https://github.com/ansible/ansible/pull/36188)
- Added a few new magic vars corresponding to configuration/command
line options: ``ansible_diff_mode``, ``ansible_inventory_sources``,
``ansible_limit``, ``ansible_run_tags`` , ``ansible_forks`` and
``ansible_skip_tags``
- Updated the bundled copy of the six library to 1.11.0
- Added support to ``become`` ``NT AUTHORITY\System``,
``NT AUTHORITY\LocalService``, and ``NT AUTHORITY\NetworkService`` on Windows hosts
- Fixed ``become`` to work with async on Windows hosts
- Improved ``become`` elevation process to work on standard
Administrator users without disabling UAC on Windows hosts
- The jenkins\_plugin and yum\_repository plugins had their ``params``
option removed because they circumvented Ansible's option processing.
- The combine filter now accepts a list of dicts as well as dicts directly
- New CLI options for ansible-inventory, ansible-console and ansible to
allow specifying a playbook\_dir to be used for relative search
paths.
- `The `stat`` and ``win_stat`` modules have changed the default value of
``get_md5`` to ``False`` which will result in the ``md5`` return
value not being returned. This option will be removed altogether in
Ansible 2.9. Use ``get_checksum: True`` with
``checksum_algorithm: md5`` to return an md5 hash of the file under
the ``checksum`` return value.
- The ``osx_say`` module was renamed into ``say``.
- Task debugger functionality was moved into ``StrategyBase``, and
extended to allow explicit invocation from use of the ``debugger``
keyword. The ``debug`` strategy is still functional, and is now just
a trigger to enable this functionality.
- The documentation has undergone a major overhaul. Content has been moved into
targeted guides; the table of contents has been cleaned up and streamlined;
the CSS theme has been updated to a custom version of the most recent
ReadTheDocs theme, and the underlying directory structure for the RST files
has been reorganized.
- The ANSIBLE\_REMOTE\_TMP environment variable has been added to
supplement (and override) ANSIBLE\_REMOTE\_TEMP. This matches with
the spelling of the config value. ANSIBLE\_REMOTE\_TEMP will be
deprecated in the future.
Deprecated Features
-------------------
- Previously deprecated 'hostfile' config settings have been
're-deprecated' because previously code did not warn about deprecated
configuration settings.
- Using Ansible-provided Jinja tests as filters is deprecated and will
be removed in Ansible 2.9.
- The ``stat`` and ``win_stat`` modules have deprecated ``get_md5`` and the ``md5``
return values. These options will become undocumented in Ansible
2.9 and removed in a later version.
- The ``redis_kv`` lookup has been deprecated in favor of new ``redis`` lookup
- Passing arbitrary parameters that begin with ``HEADER_`` to the uri
module, used for passing http headers, is deprecated. Use the
``headers`` parameter with a dictionary of header names to value
instead. This will be removed in Ansible 2.9
- Passing arbitrary parameters to the zfs module to set zfs properties
is deprecated. Use the ``extra_zfs_properties`` parameter with a
dictionary of property names to values instead. This will be removed
in Ansible 2.9.
- Use of the AnsibleModule parameter ``check\_invalid\_arguments`` in custom modules is deprecated. In the future, all parameters will be
checked to see whether they are listed in the arg spec and an error raised if they are not listed. This behaviour is the current and
future default so most custom modules can simply remove ``check\_invalid\_arguments`` if they set it to the default value of True.
The ``check\_invalid\_arguments`` parameter will be removed in Ansible 2.9.
- The nxos\_ip\_interface module is deprecated in Ansible 2.5. Use nxos\_l3\_interface module instead.
- The nxos\_portchannel module is deprecated in Ansible 2.5. Use nxos\_linkagg module instead.
- The nxos\_switchport module is deprecated in Ansible 2.5. Use nxos\_l2\_interface module instead.
- The ec2\_ami\_find has been deprecated; use ec2\_ami\_facts instead.
- panos\_security\_policy: Use panos\_security\_rule - the old module uses deprecated API calls
- vsphere\_guest is deprecated in Ansible 2.5 and will be removed in Ansible-2.9. Use vmware\_guest module instead.
Removed Features (previously deprecated)
----------------------------------------
- accelerate.
- boundary\_meter: There was no deprecation period for this but the
hosted service it relied on has gone away so the module has been
removed. `#29387 <https://github.com/ansible/ansible/issues/29387>`__
- cl\_ : cl\_interface, cl\_interface\_policy, cl\_bridge,
cl\_img\_install, cl\_ports, cl\_license, cl\_bond. Use ``nclu``
instead
- docker. Use docker\_container and docker\_image instead.
- ec2\_vpc.
- ec2\_ami\_search, use ec2\_ami\_facts instead.
- nxos\_mtu. Use nxos\_system's ``system_mtu`` option instead. To specify an interface's MTU use nxos\_interface.
- panos\_nat\_policy: Use panos\_nat\_rule the old module uses deprecated API calls
New Lookup Plugins
------------------
- aws\_account\_attribute: Query AWS account attributes such as EC2-Classic availability
- aws\_service\_ip\_ranges: Query AWS IP ranges for services such as EC2/S3
- aws\_ssm: Query AWS ssm data
- config: Lookup Ansible settings
- conjur\_variable: Fetch credentials from CyberArk Conjur
- k8s: Query the K8s API
- nios: Query Infoblox NIOS objects
- openshift: Return info from Openshift installation
- redis: look up date from Redis DB, deprecates the redis\_kv one.
New Callback Plugins
--------------------
- null
- unixy
- yaml
New Connection Plugins
----------------------
- kubectl
- oc
- netconf
- network\_cli
- The existing network\_cli and netconf connection plugins can now be used directly with network modules. See
`Network Best Practices for Ansible 2.5 <http://docs.ansible.com/ansible/devel/network_best_practices_2.5.html>`_ for more details.
New Filter Plugins
------------------
- parse\_xml
New Modules
-----------
- Cloud (amazon)
- aws\_acm\_facts
- aws\_application\_scaling\_policy
- aws\_az\_facts
- aws\_batch\_compute\_environment
- aws\_batch\_job\_definition
- aws\_batch\_job\_queue
- aws\_direct\_connect\_gateway
- aws\_direct\_connect\_virtual\_interface
- aws\_elasticbeanstalk\_app
- aws\_kms\_facts
- aws\_region\_facts
- aws\_s3\_cors
- aws\_ses\_identity
- aws\_ssm\_parameter\_store
- aws\_waf\_condition
- aws\_waf\_rule
- aws\_waf\_web\_acl
- cloudfront\_distribution
- cloudfront\_invalidation
- cloudfront\_origin\_access\_identity
- cloudwatchlogs\_log\_group
- cloudwatchlogs\_log\_group\_facts
- ec2\_ami\_facts
- ec2\_asg\_lifecycle\_hook
- ec2\_customer\_gateway\_facts
- ec2\_instance
- ec2\_placement\_group
- ec2\_placement\_group\_facts
- ec2\_vpc\_egress\_igw
- ecs\_taskdefinition\_facts
- elasticache\_facts
- elb\_target
- iam\_role\_facts
- iam\_user
- Cloud (azure)
- azure\_rm\_containerinstance
- azure\_rm\_containerregistry
- azure\_rm\_image
- azure\_rm\_keyvault
- azure\_rm\_keyvaultkey
- azure\_rm\_keyvaultsecret
- azure\_rm\_mysqldatabase
- azure\_rm\_mysqlserve
- azure\_rm\_postgresqldatabase
- azure\_rm\_postgresqlserver
- azure\_rm\_sqldatabase
- azure\_rm\_sqlserver
- azure\_rm\_sqlserver\_facts
- Cloud (cloudstack)
- cs\_network\_offering
- cs\_service\_offering
- cs\_vpc\_offering
- cs\_vpn\_connection
- cs\_vpn\_customer\_gateway
- Cloud (digital\_ocean)
- digital\_ocean\_certificate
- digital\_ocean\_floating\_ip\_facts
- digital\_ocean\_sshkey\_facts
- Cloud (google)
- gcp\_dns\_managed\_zone
- Cloud (misc)
- cloudscale\_floating\_ip
- spotinst\_aws\_elastigroup
- terraform
- Cloud (oneandone)
- oneandone\_firewall\_policy
- oneandone\_load\_balancer
- oneandone\_monitoring\_policy
- oneandone\_private\_network
- oneandone\_public\_ip
- oneandone\_server
- Cloud (openstack)
- os\_keystone\_endpoint
- os\_project\_access
- Cloud (ovirt)
- ovirt\_api\_facts
- ovirt\_disk\_facts
- Cloud (vmware)
- vcenter\_folder
- vmware\_cfg\_backup
- vmware\_datastore\_facts
- vmware\_drs\_rule\_facts
- vmware\_guest\_file\_operation
- vmware\_guest\_powerstate
- vmware\_host\_acceptance
- vmware\_host\_config\_facts
- vmware\_host\_config\_manager
- vmware\_host\_datastore
- vmware\_host\_dns\_facts
- vmware\_host\_facts
- vmware\_host\_firewall\_facts
- vmware\_host\_firewall\_manager
- vmware\_host\_lockdown
- vmware\_host\_ntp
- vmware\_host\_package\_facts
- vmware\_host\_service\_facts
- vmware\_host\_service\_manager
- vmware\_host\_vmnic\_facts
- vmware\_local\_role\_manager
- vmware\_vm\_vm\_drs\_rule
- vmware\_vmkernel\_facts
- Cloud (vultr)
- vr\_account\_facts
- vr\_dns\_domain
- vr\_dns\_record
- vr\_firewall\_group
- vr\_firewall\_rule
- vr\_server
- vr\_ssh\_key
- vr\_startup\_script
- vr\_user
- Clustering
- etcd3
- k8s
- k8s\_raw
- k8s\_scale
- openshift
- openshift\_raw
- openshift\_scale
- Crypto
- openssl\_dhparam
- Database
- influxdb
- influxdb\_query
- influxdb\_user
- influxdb\_write
- Identity
- ipa
- ipa\_dnszone
- ipa\_service
- ipa\_subca
- keycloak
- keycloak\_client
- keycloak\_clienttemplate
- Monitoring
- grafana\_dashboard
- grafana\_datasource
- grafana\_plugin
- icinga2\_host
- zabbix
- zabbix\_proxy
- zabbix\_template
- Net Tools
- ip\_netns
- nios
- nios\_dns\_view
- nios\_host\_record
- nios\_network
- nios\_network\_view
- nios\_zone
- Network (aci)
- aci\_aaa\_user
- aci\_aaa\_user\_certificate
- aci\_access\_port\_to\_interface\_policy\_leaf\_profile
- aci\_aep\_to\_domain
- aci\_domain
- aci\_domain\_to\_encap\_pool
- aci\_domain\_to\_vlan\_pool
- aci\_encap\_pool
- aci\_encap\_pool\_range
- aci\_fabric\_node
- aci\_firmware\_source
- aci\_interface\_policy\_leaf\_policy\_group
- aci\_interface\_policy\_leaf\_profile
- aci\_interface\_selector\_to\_switch\_policy\_leaf\_profile
- aci\_static\_binding\_to\_epg
- aci\_switch\_leaf\_selector
- aci\_switch\_policy\_leaf\_profile
- aci\_switch\_policy\_vpc\_protection\_group
- aci\_vlan\_pool
- aci\_vlan\_pool\_encap\_block
- Network (avi)
- avi\_api\_version
- avi\_clusterclouddetails
- avi\_customipamdnsprofile
- avi\_errorpagebody
- avi\_errorpageprofile
- avi\_gslbservice\_patch\_member
- avi\_wafpolicy
- avi\_wafprofile
- Network (dimension data)
- dimensiondata\_vlan
- Network (edgeos)
- edgeos\_command
- edgeos\_config
- edgeos\_facts
- Network (enos)
- enos\_command
- enos\_config
- enos\_facts
- Network (eos)
- eos\_interface
- eos\_l2\_interface
- eos\_l3\_interface
- eos\_linkagg
- eos\_lldp
- eos\_static\_route
- Network (f5)
- bigip\_asm\_policy
- bigip\_device\_connectivity
- bigip\_device\_group
- bigip\_device\_group\_member
- bigip\_device\_httpd
- bigip\_device\_trust
- bigip\_gtm\_server
- bigip\_iapplx\_package
- bigip\_monitor\_http
- bigip\_monitor\_https
- bigip\_monitor\_snmp\_dca
- bigip\_monitor\_udp
- bigip\_partition
- bigip\_policy
- bigip\_policy\_rule
- bigip\_profile\_client\_ssl
- bigip\_remote\_syslog
- bigip\_security\_address\_list
- bigip\_security\_port\_list
- bigip\_software\_update
- bigip\_ssl\_key
- bigip\_static\_route
- bigip\_traffic\_group
- bigip\_ucs\_fetch
- bigip\_vcmp\_guest
- bigip\_wait
- bigiq\_regkey\_license
- bigiq\_regkey\_pool
- Network (fortimanager)
- fmgr\_script
- Network (ios)
- ios\_l2\_interface
- ios\_l3\_interface
- ios\_linkagg
- ios\_lldp
- ios\_vlan
- Network (iosxr)
- iosxr\_netconf
- Network (ironware)
- ironware\_command
- ironware\_config
- ironware\_facts
- Network (junos)
- junos\_l2\_interface
- junos\_scp
- Network (netact)
- netact\_cm\_command
- Network (netscaler)
- netscaler\_nitro\_request
- Network (nso)
- nso\_action
- nso\_config
- nso\_query
- nso\_show
- nso\_verify
- Network (nxos)
- nxos\_l2\_interface
- nxos\_l3\_interface
- nxos\_linkagg
- nxos\_lldp
- Network (onyx)
- onyx\_bgp
- onyx\_command
- onyx\_config
- onyx\_facts
- onyx\_interface
- onyx\_l2\_interface
- onyx\_l3\_interface
- onyx\_linkagg
- onyx\_lldp
- onyx\_lldp\_interface
- onyx\_magp
- onyx\_mlag\_ipl
- onyx\_mlag\_vip
- onyx\_ospf
- onyx\_pfc\_interface
- onyx\_protocol
- onyx\_vlan
- Network (panos)
- panos\_dag\_tags
- panos\_match\_rule
- panos\_op
- panos\_query\_rules
- Network (radware)
- vdirect\_commit
- vdirect\_runnable
- Network (vyos)
- vyos\_vlan
- Notification
- logentries\_msg
- say
- snow\_record
- Packaging
- os
- package\_facts
- rhsm\_repository
- Remote Management (manageiq)
- manageiq\_alert\_profiles
- manageiq\_alerts
- manageiq\_policies
- manageiq\_tags
- Remote Management (oneview)
- oneview\_datacenter\_facts
- oneview\_enclosure\_facts
- oneview\_logical\_interconnect\_group
- oneview\_logical\_interconnect\_group\_facts
- oneview\_san\_manager\_facts
- Remote Management (ucs)
- ucs\_ip\_pool
- ucs\_lan\_connectivity
- ucs\_mac\_pool
- ucs\_san\_connectivity
- ucs\_vhba\_template
- ucs\_vlans
- ucs\_vnic\_template
- ucs\_vsans
- ucs\_wwn\_pool
- System
- mksysb
- nosh
- service\_facts
- vdo
- Web Infrastructure
- jenkins\_job\_facts
- Windows
- win\_audit\_policy\_system
- win\_audit\_rule
- win\_certificate\_store
- win\_disk\_facts
- win\_product\_facts
- win\_scheduled\_task\_stat
- win\_whoami
Bugfixes
--------
- azure_rm modules - updated with internal changes to use API profiles and kwargs for future Azure Stack support and better stability between SDK updates. (https://github.com/ansible/ansible/pull/35538)
- fixed memory bloat on nested includes by preventing blocks from self-parenting (https://github.com/ansible/ansible/pull/36075)
- updated to ensure displayed messages under peristent connections are returned to the controller (https://github.com/ansible/ansible/pull/36064)
- eos_vrf and eos_eapi - fixed vrf parsing (https://github.com/ansible/ansible/pull/35791)
- interface_file - now accepts interfaces without address family or method (https://github.com/ansible/ansible/pull/34200)
- lineinfile - fixed insertion if pattern already exists (https://github.com/ansible/ansible/pull/33393)
- nxos_evpn_vni - fixed a number of issues (https://github.com/ansible/ansible/pull/35930)
- nxos_igmp_interface - fixed response handling for different nxos versions (https://github.com/ansible/ansible/pull/35959)
- nxos_interface_ospf - added various bugfixes (https://github.com/ansible/ansible/pull/35988)
- openshift modules - updated to client version 0.4.0 (https://github.com/ansible/ansible/pull/35127)
- fixed templating issues in loop_control (https://github.com/ansible/ansible/pull/36124)
- ansible-config - fixed traceback when no config file is present (https://github.com/ansible/ansible/issues/35965)
- added various fixes to Linux virtualization facts (https://github.com/ansible/ansible/issues/36038)
- fixed failure when remote_tmp is a subdir of a system tempdir (https://github.com/ansible/ansible/pull/36143)
- ios_ping - updated to allow for count > 70 (https://github.com/ansible/ansible/pull/36142)
- vmware_guest_snapshot - updated to always check for root snapshot (https://github.com/ansible/ansible/pull/36001)
- vyos - added fixes to check mode support (https://github.com/ansible/ansible/pull/35977)
- vyos_l3_interface - added support for localhost (https://github.com/ansible/ansible/pull/36141)
- win_domain_controller - updated to only specify ReadOnlyReplica when necessary (https://github.com/ansible/ansible/pull/36017)
- win_updates - fixed regression with string category names (https://github.com/ansible/ansible/pull/36015)
- win_uri - fixed issues with the creates and removes options (https://github.com/ansible/ansible/pull/36016)

18
changelogs/config.yaml Normal file
View File

@ -0,0 +1,18 @@
---
release_tag_re: '(v(?:[\d.ab\-]|rc)+)'
pre_release_tag_re: '(?P<pre_release>(?:[ab]|rc)+\d*)$'
notesdir: fragments
prelude_section_name: release_summary
sections:
- ['major_changes', 'Major Changes']
- ['minor_changes', 'Minor Changes']
- ['deprecated_features', 'Deprecated Features']
- ['removed_features', 'Removed Features (previously deprecated)']
- ['new_lookup_plugins', 'New Lookup Plugins']
- ['new_callback_plugins', 'New Callback Plugins']
- ['new_connection_plugins', 'New Connection Plugins']
- ['new_test_plugins', 'New Test Plugins']
- ['new_filter_plugins', 'New Filter Plugins']
- ['new_modules', 'New Modules']
- ['bugfixes', 'Bugfixes']
- ['known_issues', 'Known Issues']

View File

@ -0,0 +1,2 @@
minor_changes:
- ansible-inventory - now supports a ``--export`` option to preserve group_var data (https://github.com/ansible/ansible/pull/36188)

View File

@ -0,0 +1,2 @@
bugfixes:
- azure_rm modules - updated with internal changes to use API profiles and kwargs for future Azure Stack support and better stability between SDK updates. (https://github.com/ansible/ansible/pull/35538)

View File

@ -0,0 +1,2 @@
bugfixes:
- fixed memory bloat on nested includes by preventing blocks from self-parenting (https://github.com/ansible/ansible/pull/36075)

View File

@ -0,0 +1,2 @@
deprecated_features:
- Apstra's ``aos_*`` modules are deprecated as they do not work with AOS 2.1 or higher. See new modules at `https://github.com/apstra <https://github.com/apstra>`_.

View File

@ -0,0 +1,2 @@
bugfixes:
- updated to ensure displayed messages under peristent connections are returned to the controller (https://github.com/ansible/ansible/pull/36064)

View File

@ -0,0 +1,2 @@
bugfixes:
- eos_vrf and eos_eapi - fixed vrf parsing (https://github.com/ansible/ansible/pull/35791)

View File

@ -0,0 +1,2 @@
bugfixes:
- include_role - improved performance and recursion depth (https://github.com/ansible/ansible/pull/36470)

View File

@ -0,0 +1,2 @@
bugfixes:
- interface_file - now accepts interfaces without address family or method (https://github.com/ansible/ansible/pull/34200)

View File

@ -0,0 +1,2 @@
bugfixes:
- lineinfile - fixed insertion if pattern already exists (https://github.com/ansible/ansible/pull/33393)

View File

@ -0,0 +1,2 @@
bugfixes:
- lineinfile - fixed regexp used with insert(before|after) inserting duplicate lines (https://github.com/ansible/ansible/pull/36156)

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_evpn_vni - fixed a number of issues (https://github.com/ansible/ansible/pull/35930)

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_igmp_interface - fixed response handling for different nxos versions (https://github.com/ansible/ansible/pull/35959)

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_interface_ospf - added various bugfixes (https://github.com/ansible/ansible/pull/35988)

View File

@ -0,0 +1,2 @@
bugfixes:
- openshift modules - updated to client version 0.4.0 (https://github.com/ansible/ansible/pull/35127)

View File

@ -0,0 +1,4 @@
bugfixes:
- Fix for ansible_*_interpreter on Python3 when using non-newstyle modules.
Those include old-style ansible modules and Ansible modules written in
non-python scripting languages (https://github.com/ansible/ansible/pull/36541)

View File

@ -0,0 +1,529 @@
major_changes:
- New simpler and more intuitive 'loop' keyword for task loops. The ``with_<lookup>`` loops will likely be deprecated in the near future and eventually removed.
- |
Added fact namespacing; from now on facts will be available under ``ansible_facts`` namespace (for example: ``ansible_facts.os_distribution``)
without the ``ansible_`` prefix. They will continue to be added into the main namespace directly, but now with a configuration toggle to
enable this. This is currently on by default, but in the future it will default to off.
- Added a configuration file that a site administrator can use to specify modules to exclude from being used.
minor_changes:
- |
Added a few new magic vars corresponding to configuration/command
line options: ``ansible_diff_mode``, ``ansible_inventory_sources``,
``ansible_limit``, ``ansible_run_tags`` , ``ansible_forks`` and
``ansible_skip_tags``
- Updated the bundled copy of the six library to 1.11.0
- |
Added support to ``become`` ``NT AUTHORITY\System``,
``NT AUTHORITY\LocalService``, and ``NT AUTHORITY\NetworkService`` on Windows hosts
- Fixed ``become`` to work with async on Windows hosts
- |
Improved ``become`` elevation process to work on standard
Administrator users without disabling UAC on Windows hosts
- |
The jenkins\_plugin and yum\_repository plugins had their ``params``
option removed because they circumvented Ansible's option processing.
- The combine filter now accepts a list of dicts as well as dicts directly
- |
New CLI options for ansible-inventory, ansible-console and ansible to
allow specifying a playbook\_dir to be used for relative search
paths.
- |
`The `stat`` and ``win_stat`` modules have changed the default value of
``get_md5`` to ``False`` which will result in the ``md5`` return
value not being returned. This option will be removed altogether in
Ansible 2.9. Use ``get_checksum: True`` with
``checksum_algorithm: md5`` to return an md5 hash of the file under
the ``checksum`` return value.
- |
The ``osx_say`` module was renamed into ``say``.
- |
Task debugger functionality was moved into ``StrategyBase``, and
extended to allow explicit invocation from use of the ``debugger``
keyword. The ``debug`` strategy is still functional, and is now just
a trigger to enable this functionality.
- |
The documentation has undergone a major overhaul. Content has been moved into
targeted guides; the table of contents has been cleaned up and streamlined;
the CSS theme has been updated to a custom version of the most recent
ReadTheDocs theme, and the underlying directory structure for the RST files
has been reorganized.
- |
The ANSIBLE\_REMOTE\_TMP environment variable has been added to
supplement (and override) ANSIBLE\_REMOTE\_TEMP. This matches with
the spelling of the config value. ANSIBLE\_REMOTE\_TEMP will be
deprecated in the future.
deprecated_features:
- |
Previously deprecated 'hostfile' config settings have been
're-deprecated' because previously code did not warn about deprecated
configuration settings.
- |
Using Ansible-provided Jinja tests as filters is deprecated and will
be removed in Ansible 2.9.
- |
The ``stat`` and ``win_stat`` modules have deprecated ``get_md5`` and the ``md5``
return values. These options will become undocumented in Ansible
2.9 and removed in a later version.
- The ``redis_kv`` lookup has been deprecated in favor of new ``redis`` lookup
- |
Passing arbitrary parameters that begin with ``HEADER_`` to the uri
module, used for passing http headers, is deprecated. Use the
``headers`` parameter with a dictionary of header names to value
instead. This will be removed in Ansible 2.9
- |
Passing arbitrary parameters to the zfs module to set zfs properties
is deprecated. Use the ``extra_zfs_properties`` parameter with a
dictionary of property names to values instead. This will be removed
in Ansible 2.9.
- |
Use of the AnsibleModule parameter ``check\_invalid\_arguments`` in custom modules is deprecated. In the future, all parameters will be
checked to see whether they are listed in the arg spec and an error raised if they are not listed. This behaviour is the current and
future default so most custom modules can simply remove ``check\_invalid\_arguments`` if they set it to the default value of True.
The ``check\_invalid\_arguments`` parameter will be removed in Ansible 2.9.
- The nxos\_ip\_interface module is deprecated in Ansible 2.5. Use nxos\_l3\_interface module instead.
- The nxos\_portchannel module is deprecated in Ansible 2.5. Use nxos\_linkagg module instead.
- The nxos\_switchport module is deprecated in Ansible 2.5. Use nxos\_l2\_interface module instead.
- The ec2\_ami\_find has been deprecated; use ec2\_ami\_facts instead.
- |
panos\_security\_policy: Use panos\_security\_rule - the old module uses deprecated API calls
- vsphere\_guest is deprecated in Ansible 2.5 and will be removed in Ansible-2.9. Use vmware\_guest module instead.
removed_features:
- accelerate.
- |
boundary\_meter: There was no deprecation period for this but the
hosted service it relied on has gone away so the module has been
removed. `#29387 <https://github.com/ansible/ansible/issues/29387>`__
- |
cl\_ : cl\_interface, cl\_interface\_policy, cl\_bridge,
cl\_img\_install, cl\_ports, cl\_license, cl\_bond. Use ``nclu``
instead
- docker. Use docker\_container and docker\_image instead.
- ec2\_vpc.
- ec2\_ami\_search, use ec2\_ami\_facts instead.
- nxos\_mtu. Use nxos\_system's ``system_mtu`` option instead. To specify an interface's MTU use nxos\_interface.
- |
panos\_nat\_policy: Use panos\_nat\_rule the old module uses deprecated API calls
new_lookup_plugins:
- |
aws\_account\_attribute: Query AWS account attributes such as EC2-Classic availability
- |
aws\_service\_ip\_ranges: Query AWS IP ranges for services such as EC2/S3
- |
aws\_ssm: Query AWS ssm data
- |
config: Lookup Ansible settings
- |
conjur\_variable: Fetch credentials from CyberArk Conjur
- |
k8s: Query the K8s API
- |
nios: Query Infoblox NIOS objects
- |
openshift: Return info from Openshift installation
- |
redis: look up date from Redis DB, deprecates the redis\_kv one.
new_callback_plugins:
- 'null'
- unixy
- yaml
new_connection_plugins:
- kubectl
- oc
- netconf
- |
network\_cli
- The existing network\_cli and netconf connection plugins can now be used directly with network modules. See
`Network Best Practices for Ansible 2.5 <http://docs.ansible.com/ansible/devel/network_best_practices_2.5.html>`_ for more details.
new_filter_plugins:
- parse\_xml
new_modules:
- |
Cloud (amazon)
- aws\_acm\_facts
- aws\_application\_scaling\_policy
- aws\_az\_facts
- aws\_batch\_compute\_environment
- aws\_batch\_job\_definition
- aws\_batch\_job\_queue
- aws\_direct\_connect\_gateway
- aws\_direct\_connect\_virtual\_interface
- aws\_elasticbeanstalk\_app
- aws\_kms\_facts
- aws\_region\_facts
- aws\_s3\_cors
- aws\_ses\_identity
- aws\_ssm\_parameter\_store
- aws\_waf\_condition
- aws\_waf\_rule
- aws\_waf\_web\_acl
- cloudfront\_distribution
- cloudfront\_invalidation
- cloudfront\_origin\_access\_identity
- cloudwatchlogs\_log\_group
- cloudwatchlogs\_log\_group\_facts
- ec2\_ami\_facts
- ec2\_asg\_lifecycle\_hook
- ec2\_customer\_gateway\_facts
- ec2\_instance
- ec2\_placement\_group
- ec2\_placement\_group\_facts
- ec2\_vpc\_egress\_igw
- ecs\_taskdefinition\_facts
- elasticache\_facts
- elb\_target
- iam\_role\_facts
- iam\_user
- |
Cloud (azure)
- azure\_rm\_containerinstance
- azure\_rm\_containerregistry
- azure\_rm\_image
- azure\_rm\_keyvault
- azure\_rm\_keyvaultkey
- azure\_rm\_keyvaultsecret
- azure\_rm\_mysqldatabase
- azure\_rm\_mysqlserve
- azure\_rm\_postgresqldatabase
- azure\_rm\_postgresqlserver
- azure\_rm\_sqldatabase
- azure\_rm\_sqlserver
- azure\_rm\_sqlserver\_facts
- |
Cloud (cloudstack)
- cs\_network\_offering
- cs\_service\_offering
- cs\_vpc\_offering
- cs\_vpn\_connection
- cs\_vpn\_customer\_gateway
- |
Cloud (digital\_ocean)
- digital\_ocean\_certificate
- digital\_ocean\_floating\_ip\_facts
- digital\_ocean\_sshkey\_facts
- |
Cloud (google)
- gcp\_dns\_managed\_zone
- |
Cloud (misc)
- cloudscale\_floating\_ip
- spotinst\_aws\_elastigroup
- terraform
- |
Cloud (oneandone)
- oneandone\_firewall\_policy
- oneandone\_load\_balancer
- oneandone\_monitoring\_policy
- oneandone\_private\_network
- oneandone\_public\_ip
- oneandone\_server
- |
Cloud (openstack)
- os\_keystone\_endpoint
- os\_project\_access
- |
Cloud (ovirt)
- ovirt\_api\_facts
- ovirt\_disk\_facts
- |
Cloud (vmware)
- vcenter\_folder
- vmware\_cfg\_backup
- vmware\_datastore\_facts
- vmware\_drs\_rule\_facts
- vmware\_guest\_file\_operation
- vmware\_guest\_powerstate
- vmware\_host\_acceptance
- vmware\_host\_config\_facts
- vmware\_host\_config\_manager
- vmware\_host\_datastore
- vmware\_host\_dns\_facts
- vmware\_host\_facts
- vmware\_host\_firewall\_facts
- vmware\_host\_firewall\_manager
- vmware\_host\_lockdown
- vmware\_host\_ntp
- vmware\_host\_package\_facts
- vmware\_host\_service\_facts
- vmware\_host\_service\_manager
- vmware\_host\_vmnic\_facts
- vmware\_local\_role\_manager
- vmware\_vm\_vm\_drs\_rule
- vmware\_vmkernel\_facts
- |
Cloud (vultr)
- vr\_account\_facts
- vr\_dns\_domain
- vr\_dns\_record
- vr\_firewall\_group
- vr\_firewall\_rule
- vr\_server
- vr\_ssh\_key
- vr\_startup\_script
- vr\_user
- |
Clustering
- etcd3
- k8s
- k8s\_raw
- k8s\_scale
- openshift
- openshift\_raw
- openshift\_scale
- |
Crypto
- openssl\_dhparam
- |
Database
- influxdb
- influxdb\_query
- influxdb\_user
- influxdb\_write
- |
Identity
- ipa
- ipa\_dnszone
- ipa\_service
- ipa\_subca
- keycloak
- keycloak\_client
- keycloak\_clienttemplate
- |
Monitoring
- grafana\_dashboard
- grafana\_datasource
- grafana\_plugin
- icinga2\_host
- zabbix
- zabbix\_proxy
- zabbix\_template
- |
Net Tools
- ip\_netns
- nios
- nios\_dns\_view
- nios\_host\_record
- nios\_network
- nios\_network\_view
- nios\_zone
- |
Network (aci)
- aci\_aaa\_user
- aci\_aaa\_user\_certificate
- aci\_access\_port\_to\_interface\_policy\_leaf\_profile
- aci\_aep\_to\_domain
- aci\_domain
- aci\_domain\_to\_encap\_pool
- aci\_domain\_to\_vlan\_pool
- aci\_encap\_pool
- aci\_encap\_pool\_range
- aci\_fabric\_node
- aci\_firmware\_source
- aci\_interface\_policy\_leaf\_policy\_group
- aci\_interface\_policy\_leaf\_profile
- aci\_interface\_selector\_to\_switch\_policy\_leaf\_profile
- aci\_static\_binding\_to\_epg
- aci\_switch\_leaf\_selector
- aci\_switch\_policy\_leaf\_profile
- aci\_switch\_policy\_vpc\_protection\_group
- aci\_vlan\_pool
- aci\_vlan\_pool\_encap\_block
- |
Network (avi)
- avi\_api\_version
- avi\_clusterclouddetails
- avi\_customipamdnsprofile
- avi\_errorpagebody
- avi\_errorpageprofile
- avi\_gslbservice\_patch\_member
- avi\_wafpolicy
- avi\_wafprofile
- |
Network (dimension data)
- dimensiondata\_vlan
- |
Network (edgeos)
- edgeos\_command
- edgeos\_config
- edgeos\_facts
- |
Network (enos)
- enos\_command
- enos\_config
- enos\_facts
- |
Network (eos)
- eos\_interface
- eos\_l2\_interface
- eos\_l3\_interface
- eos\_linkagg
- eos\_lldp
- eos\_static\_route
- |
Network (f5)
- bigip\_asm\_policy
- bigip\_device\_connectivity
- bigip\_device\_group
- bigip\_device\_group\_member
- bigip\_device\_httpd
- bigip\_device\_trust
- bigip\_gtm\_server
- bigip\_iapplx\_package
- bigip\_monitor\_http
- bigip\_monitor\_https
- bigip\_monitor\_snmp\_dca
- bigip\_monitor\_udp
- bigip\_partition
- bigip\_policy
- bigip\_policy\_rule
- bigip\_profile\_client\_ssl
- bigip\_remote\_syslog
- bigip\_security\_address\_list
- bigip\_security\_port\_list
- bigip\_software\_update
- bigip\_ssl\_key
- bigip\_static\_route
- bigip\_traffic\_group
- bigip\_ucs\_fetch
- bigip\_vcmp\_guest
- bigip\_wait
- bigiq\_regkey\_license
- bigiq\_regkey\_pool
- |
Network (fortimanager)
- fmgr\_script
- |
Network (ios)
- ios\_l2\_interface
- ios\_l3\_interface
- ios\_linkagg
- ios\_lldp
- ios\_vlan
- |
Network (iosxr)
- iosxr\_netconf
- |
Network (ironware)
- ironware\_command
- ironware\_config
- ironware\_facts
- |
Network (junos)
- junos\_l2\_interface
- junos\_scp
- |
Network (netact)
- netact\_cm\_command
- |
Network (netscaler)
- netscaler\_nitro\_request
- |
Network (nso)
- nso\_action
- nso\_config
- nso\_query
- nso\_show
- nso\_verify
- |
Network (nxos)
- nxos\_l2\_interface
- nxos\_l3\_interface
- nxos\_linkagg
- nxos\_lldp
- |
Network (onyx)
- onyx\_bgp
- onyx\_command
- onyx\_config
- onyx\_facts
- onyx\_interface
- onyx\_l2\_interface
- onyx\_l3\_interface
- onyx\_linkagg
- onyx\_lldp
- onyx\_lldp\_interface
- onyx\_magp
- onyx\_mlag\_ipl
- onyx\_mlag\_vip
- onyx\_ospf
- onyx\_pfc\_interface
- onyx\_protocol
- onyx\_vlan
- |
Network (panos)
- panos\_dag\_tags
- panos\_match\_rule
- panos\_op
- panos\_query\_rules
- |
Network (radware)
- vdirect\_commit
- vdirect\_runnable
- |
Network (vyos)
- vyos\_vlan
- |
Notification
- logentries\_msg
- say
- snow\_record
- |
Packaging
- os
- package\_facts
- rhsm\_repository
- |
Remote Management (manageiq)
- manageiq\_alert\_profiles
- manageiq\_alerts
- manageiq\_policies
- manageiq\_tags
- |
Remote Management (oneview)
- oneview\_datacenter\_facts
- oneview\_enclosure\_facts
- oneview\_logical\_interconnect\_group
- oneview\_logical\_interconnect\_group\_facts
- oneview\_san\_manager\_facts
- |
Remote Management (ucs)
- ucs\_ip\_pool
- ucs\_lan\_connectivity
- ucs\_mac\_pool
- ucs\_san\_connectivity
- ucs\_vhba\_template
- ucs\_vlans
- ucs\_vnic\_template
- ucs\_vsans
- ucs\_wwn\_pool
- |
System
- mksysb
- nosh
- service\_facts
- vdo
- |
Web Infrastructure
- jenkins\_job\_facts
- |
Windows
- win\_audit\_policy\_system
- win\_audit\_rule
- win\_certificate\_store
- win\_disk\_facts
- win\_product\_facts
- win\_scheduled\_task\_stat
- win\_whoami

View File

@ -0,0 +1,6 @@
bugfixes:
- fixed templating issues in loop_control (https://github.com/ansible/ansible/pull/36124)
- ansible-config - fixed traceback when no config file is present (https://github.com/ansible/ansible/issues/35965)
- added various fixes to Linux virtualization facts (https://github.com/ansible/ansible/issues/36038)
- fixed failure when remote_tmp is a subdir of a system tempdir (https://github.com/ansible/ansible/pull/36143)
- ios_ping - updated to allow for count > 70 (https://github.com/ansible/ansible/pull/36142)

View File

@ -0,0 +1,2 @@
release_summary: |
| Release Date: 2018-02-15

View File

@ -0,0 +1,26 @@
minor_changes:
- aci_* modules - added signature based authentication
- aci_* modules - included dedicated ACI documentation
- aci_* modules - improved ACI return values
bugfixes:
- fix for ansible-vault always requesting passwords (https://github.com/ansible/ansible/issues/33027)
- ios CLI - fixed prompt detection (https://github.com/ansible/ansible/issues/35662)
- nxos_user - fixed structured output issue (https://github.com/ansible/ansible/pull/36193)
- nxos_* modules - various fixes (https://github.com/ansible/ansible/pull/36340)
- nxos_* modules - various fixes (https://github.com/ansible/ansible/pull/36374)
- nxos_install_os - kickstart_image_file is no longer required (https://github.com/ansible/ansible/pull/36319)
- script/patch - fixed tempfile ownership issues (https://github.com/ansible/ansible/issues/36398)
- nxos_bgp_neighbor - fixed various module arg issues (https://github.com/ansible/ansible/pull/36318)
- vyos_l3_interface - fixed issues with multiple addresses on an interface (https://github.com/ansible/ansible/pull/36377)
- nxos_banner - fixed issues with unstructured output (https://github.com/ansible/ansible/pull/36411)
- nxos_bgp_neighbor_af - fixed various issues (https://github.com/ansible/ansible/pull/36472)
- vyos_config - fixed IndexError in sanitize_config (https://github.com/ansible/ansible/pull/36375)
- cs_user - fixed user_api_secret return for ACS 4.10+ (https://github.com/ansible/ansible/pull/36447)
- nxos_* modules - various fixes (https://github.com/ansible/ansible/pull/36514)
- fix cases where INVENTORY_UNPARSED_IS_FAILED didn't fail (https://github.com/ansible/ansible/issues/36034)
- aws_ses_identity - fixed failure on missing identity info (https://github.com/ansible/ansible/issues/36065)
- ec2_vpc_net_facts - fixed traceback for regions other than us-east-1 (https://github.com/ansible/ansible/pull/35302)
- aws_waf_* - fixed traceback on WAFStaleDataException (https://github.com/ansible/ansible/pull/36405)
- ec2_group - fixed check_mode when using tags (https://github.com/ansible/ansible/pull/36503)
- loop item labels will now update if templated (https://github.com/ansible/ansible/pull/36430)

View File

@ -0,0 +1,4 @@
release_summary: |
| Release Date: 2018-02-22
| Estimated Final Release: mid-March 2018
| `Porting Guide <http://docs.ansible.com/ansible/devel/porting_guides.html>`_

View File

@ -0,0 +1,2 @@
bugfixes:
- vmware_guest_snapshot - updated to always check for root snapshot (https://github.com/ansible/ansible/pull/36001)

View File

@ -0,0 +1,2 @@
bugfixes:
- vyos - added fixes to check mode support (https://github.com/ansible/ansible/pull/35977)

View File

@ -0,0 +1,3 @@
bugfixes:
- vyos_l3_interface - added support for localhost (https://github.com/ansible/ansible/pull/36141)

View File

@ -0,0 +1,2 @@
bugfixes:
- win_domain_controller - updated to only specify ReadOnlyReplica when necessary (https://github.com/ansible/ansible/pull/36017)

View File

@ -0,0 +1,2 @@
bugfixes:
- win_feature - will display a more helpful error when it fails during execution (https://github.com/ansible/ansible/pull/36491)

View File

@ -0,0 +1,2 @@
bugfixes:
- win_updates - fixed regression with string category names (https://github.com/ansible/ansible/pull/36015)

View File

@ -0,0 +1,2 @@
bugfixes:
- win_uri - fixed issues with the creates and removes options (https://github.com/ansible/ansible/pull/36016)

View File

@ -1,18 +1,10 @@
clouds:
mordred:
cloud: hp
vexxhost:
profile: vexxhost
auth:
username: mordred@example.com
password: my-wonderful-password
project_name: mordred-tenant
region_name: region-b.geo-1
monty:
cloud: hp
auth:
username: monty.taylor@example.com
password: another-wonderful-password
project_name: monty.taylor@example.com-default-tenant
region_name: region-b.geo-1
project_name: 39e296b2-fc96-42bf-8091-cb742fa13da9
username: fb886a9b-c37b-442a-9be3-964bed961e04
password: fantastic-password1
rax:
cloud: rackspace
auth:
@ -22,7 +14,7 @@ clouds:
region_name: DFW,ORD,IAD
devstack:
auth:
auth_url: http://127.0.0.1:35357/v2.0/
auth_url: https://devstack.example.com
username: stack
password: stack
project_name: stack

View File

@ -58,38 +58,38 @@ clean:
find . -type f \( -name "*~" -or -name "#*" \) -delete
find . -type f \( -name "*.swp" \) -delete
@echo "Cleaning up generated rst"
-rm rst/list_of_*.rst
-rm rst/*_by_category.rst
-rm rst/*_module.rst
-rm rst/*_plugin.rst
-rm rst/*_maintained.rst
-rm rst/cli/ansible-*.rst
-rm rst/cli/ansible.rst
-rm rst/modules/*_by_category.rst
-rm rst/modules/list_of_*.rst
-rm rst/modules/*_maintained.rst
-rm rst/modules/*_module.rst
-rm rst/modules/*_plugin.rst
-rm rst/playbooks_directives.rst
-rm rst/playbooks_keywords.rst
-rm rst/plugins/*/*.rst
-rm rst/config.rst
-rm rst/ansible-*.rst
-rm rst/ansible.rst
-rm rst/reference_appendices/config.rst
-rm rst/reference_appendices/playbooks_keywords.rst
.PHONEY: docs clean
.PHONY: docs clean
# TODO: make generate_man output dir cli option
cli: $(GENERATE_CLI)
PYTHONPATH=../../lib $(GENERATE_CLI) --template-file=../templates/cli_rst.j2 --output-dir=rst/ --output-format rst ../../lib/ansible/cli/*.py
PYTHONPATH=../../lib $(GENERATE_CLI) --template-file=../templates/cli_rst.j2 --output-dir=rst/cli/ --output-format rst ../../lib/ansible/cli/*.py
keywords: $(FORMATTER) ../templates/playbooks_keywords.rst.j2
PYTHONPATH=../../lib $(DUMPER) --template-dir=../templates --output-dir=rst/ -d ./keyword_desc.yml
PYTHONPATH=../../lib $(DUMPER) --template-dir=../templates --output-dir=rst/reference_appendices/ -d ./keyword_desc.yml
config:
PYTHONPATH=../../lib $(CONFIG_DUMPER) --template-file=../templates/config.rst.j2 --output-dir=rst/ -d ../../lib/ansible/config/base.yml
PYTHONPATH=../../lib $(CONFIG_DUMPER) --template-file=../templates/config.rst.j2 --output-dir=rst/reference_appendices/ -d ../../lib/ansible/config/base.yml
modules: $(FORMATTER) ../templates/plugin.rst.j2
PYTHONPATH=../../lib $(FORMATTER) -t rst --template-dir=../templates --module-dir=../../lib/ansible/modules -o rst/module_docs/ $(MODULE_ARGS)
PYTHONPATH=../../lib $(FORMATTER) -t rst --template-dir=../templates --module-dir=../../lib/ansible/modules -o rst/modules/ $(MODULE_ARGS)
plugins: $(FORMATTER) ../templates/plugin.rst.j2
@echo "looping over doc plugins"
for plugin in $(DOC_PLUGINS); \
do \
PYTHONPATH=../../lib $(FORMATTER) -t rst --plugin-type $$plugin --template-dir=../templates --module-dir=../../lib/ansible/plugins/$$plugin -o rst/ $(PLUGIN_ARGS); \
PYTHONPATH=../../lib $(FORMATTER) -t rst --plugin-type $$plugin --template-dir=../templates --module-dir=../../lib/ansible/plugins/$$plugin -o rst $(PLUGIN_ARGS); \
done
testing:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 B

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -0,0 +1,20 @@
"""Sphinx ReadTheDocs theme.
From https://github.com/ryan-roemer/sphinx-bootstrap-theme.
"""
from os import path
__version__ = '0.2.5b2'
__version_full__ = __version__
def get_html_theme_path():
"""Return list of HTML theme paths."""
cur_dir = path.abspath(path.dirname(path.dirname(__file__)))
return cur_dir
# See http://www.sphinx-doc.org/en/stable/theming.html#distribute-your-theme-as-a-python-package
def setup(app):
app.add_html_theme('sphinx_rtd_theme', path.abspath(path.dirname(__file__)))

View File

@ -0,0 +1,11 @@
<ul class="wy-breadcrumbs">
<li><a href="{{ pathto(master_doc) }}">Docs</a> &raquo;</li>
<li><a href="">{{ title }}</a></li>
{% if not pagename.endswith('_module') and (not 'list_of' in pagename) and (not 'category' in pagename) %}
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/ansible/ansible/blob/devel/docs/docsite/rst/{{ pagename }}.rst" class="icon icon-github"> Edit on GitHub</a>
</li>
{% endif %}
</ul>
<hr/>

View File

@ -0,0 +1,35 @@
<footer>
{% if next or prev %}
<div class="rst-footer-buttons">
{% if next %}
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}"/>Next <span class="icon icon-circle-arrow-right"></span></a>
{% endif %}
{% if prev %}
<a href="{{ prev.link|e }}" class="btn btn-neutral" title="{{ prev.title|striptags|e }}"><span class="icon icon-circle-arrow-left"></span> Previous</a>
{% endif %}
</div>
{% endif %}
<hr/>
<script type="text/javascript">
(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
})(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st');
_st('install','yABGvz2N8PwcwBxyfzUc','2.0.0');
</script>
<p>
Copyright © 2017 Red Hat, Inc.
<br>
{%- if last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
</p>
<p>
Ansible docs are generated from <a href="https://github.com/ansible/ansible">GitHub sources</a> using <a href="http://sphinx-doc.org/">Sphinx</a> using a theme provided by <a href="http://readthedocs.org">Read the Docs</a>. {% if pagename.endswith("_module") %}Module documentation is not edited directly, but is generated from the source code for the modules. To submit an update to module docs, edit the 'DOCUMENTATION' metadata in the <a href="https://github.com/ansible/ansible/tree/devel/lib/ansible/modules">modules directory</a> of the <a href="https://github.com/ansible/ansible/">core source code repository</a>. {% endif %}
</p>
</footer>

View File

@ -0,0 +1,318 @@
{# TEMPLATE VAR SETTINGS #}
{%- set url_root = pathto('', 1) %}
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
{%- if not embedded and docstitle %}
{%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
{%- else %}
{%- set titlesuffix = "" %}
{%- endif %}
{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %}
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="{{ lang_attr }}" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="{{ lang_attr }}" > <!--<![endif]-->
<head>
<meta charset="utf-8">
{{ metatags }}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="//www.redhat.com/dtm.js"></script>
<meta class="swiftype" name="published_at" data-type="date" content="2017-12-13" />
<meta class="swiftype" name="version" data-type="string" content="3.2.2">
<!-- Google Tag Manager Data Layer -->
<script>
dataLayer = [];
</script>
<!-- End Google Tag Manager Data Layer -->
{% block htmltitle %}
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
{% endblock %}
{# FAVICON #}
{% if favicon %}
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
{% endif %}
{# CANONICAL URL #}
{% if theme_canonical_url %}
<link rel="canonical" href="{{ theme_canonical_url }}{{ pagename }}.html"/>
{% endif %}
{# CSS #}
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<link href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.3/css/font-awesome.min.css' rel='stylesheet' type='text/css'>
{# OPENSEARCH #}
{% if not embedded %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'{{ url_root }}',
VERSION:'{{ release|e }}',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }}
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{% if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml"
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{% endif %}
{% endif %}
{# RTD hosts this file, so just load on non RTD builds #}
{%- if not READTHEDOCS %}
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
{%- endif %}
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
{%- for css in css_files %}
{%- if css|attr("rel") %}
<link rel="{{ css.rel }}" href="{{ pathto(css.filename, 1) }}" type="text/css"{% if css.title is not none %} title="{{ css.title }}"{% endif %} />
{%- else %}
<link rel="stylesheet" href="{{ pathto(css, 1) }}" type="text/css" />
{%- endif %}
{%- endfor %}
{%- for cssfile in extra_css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{%- endfor %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
{%- endif %}
{%- if hasdoc('genindex') %}
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
{%- endif %}
{%- if hasdoc('search') %}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
{%- endif %}
{%- if hasdoc('copyright') %}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
{%- endif %}
{%- if next %}
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
{%- endif %}
{%- if prev %}
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
{%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
{# Keep modernizr in head - http://modernizr.com/docs/#installing #}
<script src="{{ pathto('_static/js/modernizr.min.js', 1) }}"></script>
</head>
<body class="wy-body-for-nav">
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-PSB293" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PSB293');</script>
<!-- End Google Tag Manager -->
<div class="DocSite-globalNav ansibleNav">
<ul>
<li><a href="https://www.ansible.com/ansiblefest" target="_blank">AnsibleFest</a></li>
<li><a href="https://www.ansible.com/tower" target="_blank">Products</a></li>
<li><a href="https://www.ansible.com/community" target="_blank">Community</a></li>
<li><a href="https://www.ansible.com/webinars-training" target="_blank">Webinars & Training</a></li>
<li><a href="https://www.ansible.com/blog" target="_blank">Blog</a></li>
</ul>
</div>
<a class="DocSite-nav" href="/">
<img class="DocSiteNav-logo"
src="{{ pathto('_static/', 1) }}images/logo_invert.png"
alt="Ansible Logo">
<div class="DocSiteNav-title">
Documentation
</div>
</a>
<div class="wy-grid-for-nav">
{# SIDE NAV, TOGGLES ON MOBILE #}
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
{% block sidebartitle %}
<div style="background-color:#5bbdbf;height=80px;margin:'auto auto auto auto'">
<a class="DocSiteProduct-header DocSiteProduct-header--core" href="/">
<div class="DocSiteProduct-productName">
<div class="DocSiteProduct-logoText">
Ansible
<div class="DocSiteProduct-CurrentVersion" align="right">
2.5
</div>
</div>
</div>
</a>
<div class="DocSiteProduct-CheckVersionPara">For previous versions, see the <a class="DocSiteProduct-versionheader" href="/#coreversionselect">documentation archive.</a></div>
</div>
<div class="wy-side-nav-search" style="background-color#5bbdbf;height=80px;margin:'auto auto auto auto'">
<!-- <a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}</a> -->
{% include "searchbox.html" %}
</div>
{% endblock %}
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
{% block menu %}
{#
The singlehtml builder doesn't handle this toctree call when the
toctree is empty. Skip building this for now.
#}
{% if 'singlehtml' not in builder %}
{% set global_toc = toctree(maxdepth=theme_navigation_depth|int,
collapse=theme_collapse_navigation|tobool,
includehidden=theme_includehidden|tobool,
titles_only=theme_titles_only|tobool) %}
{% endif %}
{% if global_toc %}
{{ global_toc }}
{% else %}
<!-- Local TOC -->
<div class="local-toc">{{ toc }}</div>
{% endif %}
{% endblock %}
</div>
<!-- changeable widget -->
<div id="sideBanner">
<br/>
<a href="https://www.ansible.com/docs-left?utm_source=docs">
<img style="border-width:0px;" src="https://cdn2.hubspot.net/hubfs/330046/docs-graphics/ASB-docs-left-rail.png" />
</a>
</div>
</div>
&nbsp;
</nav>
</div>
<div class="DocSite-sideNav ansibleNav">
<ul class="">
<li><a href="https://www.ansible.com/ansiblefest" target="_blank">AnsibleFest</a></li>
<li><a href="https://www.ansible.com/tower" target="_blank">Products</a></li>
<li><a href="https://www.ansible.com/community" target="_blank">Community</a></li>
<li><a href="https://www.ansible.com/webinars-training" target="_blank">Webinars & Training</a></li>
<li><a href="https://www.ansible.com/blog" target="_blank">Blog</a></li>
</ul>
</div>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
<nav class="wy-nav-top" aria-label="top navigation">
{% block mobile_nav %}
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
{% endblock %}
</nav>
{# PAGE CONTENT #}
<div class="wy-nav-content">
<div class="rst-content">
<!-- Banner ads
<div class="DocSiteBanner">
<a class="DocSiteBanner-imgWrapper"
href="https://www.ansible.com/docs-top?utm_source=docs">
<img src="https://cdn2.hubspot.net/hubfs/330046/docs-graphics/ASB-docs-top-left.png">
</a>
<a class="DocSiteBanner-imgWrapper"
href="https://www.ansible.com/docs-top?utm_source=docs">
<img src="https://cdn2.hubspot.net/hubfs/330046/docs-graphics/ASB-docs-top-right.png">
</a>
</div> -->
{% include "breadcrumbs.html" %}
<div id="page-content">
{% block body %}{% endblock %}
</div>
<div id="search-results"><gcse:searchresults-only></div>
{% include "footer.html" %}
</div>
</div>
</section>
</div>
{% include "versions.html" %}
{% if not embedded %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'{{ url_root }}',
VERSION:'{{ release|e }}',
LANGUAGE:'{{ language }}',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }},
SOURCELINK_SUFFIX: '{{ sourcelink_suffix }}'
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{% endif %}
{# RTD hosts this file, so just load on non RTD builds #}
{% if not READTHEDOCS %}
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
{% endif %}
<script type="text/javascript">
jQuery(function () {
{% if theme_sticky_navigation|tobool %}
SphinxRtdTheme.Navigation.enableSticky();
{% else %}
SphinxRtdTheme.Navigation.enable();
{% endif %}
});
</script>
{%- block footer %} {% endblock %}
<!-- begin analytics -->
<script type="text/javascript">
var _hsq = _hsq || [];
_hsq.push(["setContentType", "standard-page"]);
(function(d,s,i,r) {
if (d.getElementById(i)){return;}
var n = d.createElement(s),e = document.getElementsByTagName(s)[0];
n.id=i;n.src = '//js.hs-analytics.net/analytics/'+(Math.ceil(new Date()/r)*r)+'/330046.js';
e.parentNode.insertBefore(n, e);
})(document, "script", "hs-analytics",300000);
</script>
<!-- end analytics -->
<script type="text/javascript">
if (("undefined" !== typeof _satellite) && ("function" === typeof _satellite.pageBottom)) {
_satellite.pageBottom();
}
</script>
</body>
</html>

View File

@ -0,0 +1,50 @@
{#
basic/search.html
~~~~~~~~~~~~~~~~~
Template for the search page.
:copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
#}
{%- extends "layout.html" %}
{% set title = _('Search') %}
{% set script_files = script_files + ['_static/searchtools.js'] %}
{% block footer %}
<script type="text/javascript">
jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });
</script>
{# this is used when loading the search index using $.ajax fails,
such as on Chrome for documents on localhost #}
<script type="text/javascript" id="searchindexloader"></script>
{{ super() }}
{% endblock %}
{% block body %}
<noscript>
<div id="fallback" class="admonition warning">
<p class="last">
{% trans %}Please activate JavaScript to enable the search
functionality.{% endtrans %}
</p>
</div>
</noscript>
{% if search_performed %}
<h2>{{ _('Search Results') }}</h2>
{% if not search_results %}
<p>{{ _('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.') }}</p>
{% endif %}
{% endif %}
<div id="search-results">
{% if search_results %}
<ul>
{% for href, caption, context in search_results %}
<li>
<a href="{{ pathto(item.href) }}">{{ caption }}</a>
<p class="context">{{ context|e }}</p>
</li>
{% endfor %}
</ul>
{% endif %}
</div>
{% endblock %}

View File

@ -0,0 +1,9 @@
{%- if builder != 'singlehtml' %}
<div role="search">
<form id="rtd-search-form" class="wy-form" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" placeholder="{{ _('Search docs') }}" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
{%- endif %}

View File

@ -0,0 +1 @@
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../fonts/fontawesome-webfont.eot");src:url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff") format("woff"),url("../fonts/fontawesome-webfont.ttf") format("truetype"),url("../fonts/fontawesome-webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
require=function n(e,t,i){function o(s,a){if(!t[s]){if(!e[s]){var l="function"==typeof require&&require;if(!a&&l)return l(s,!0);if(r)return r(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=t[s]={exports:{}};e[s][0].call(u.exports,function(n){var t=e[s][1][n];return o(t||n)},u,u.exports,n,e,t,i)}return t[s].exports}for(var r="function"==typeof require&&require,s=0;s<i.length;s++)o(i[s]);return o}({"sphinx-rtd-theme":[function(n,e,t){var jQuery="undefined"!=typeof window?window.jQuery:n("jquery");e.exports.ThemeNav=function(){var n={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1};return n.enable=function(n){var e=this;e.isRunning||(e.isRunning=!0,jQuery(function(t){e.init(t),e.reset(),e.win.on("hashchange",e.reset),n&&e.win.on("scroll",function(){e.linkScroll||e.winScroll||(e.winScroll=!0,requestAnimationFrame(function(){e.onScroll()}))}),e.win.on("resize",function(){e.winResize||(e.winResize=!0,requestAnimationFrame(function(){e.onResize()}))}),e.onResize()}))},n.enableSticky=function(){this.enable(!0)},n.init=function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")}).on("click",".wy-menu-vertical .current ul li a",function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()}).on("click","[data-toggle='rst-current-version']",function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")}),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each(function(){var t=n(this);expand=n('<span class="toctree-expand"></span>'),expand.on("click",function(n){return e.toggleCurrent(t),n.stopPropagation(),!1}),t.prepend(expand)})},n.reset=function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical").find('[href="'+n+'"]');if(0===e.length){var t=$('.document a[href="'+n+'"]').closest("div.section");e=$(".wy-menu-vertical").find('[href="#'+t.attr("id")+'"]')}e.length>0&&($(".wy-menu-vertical .current").removeClass("current"),e.addClass("current"),e.closest("li.toctree-l1").addClass("current"),e.closest("li.toctree-l1").parent().addClass("current"),e.closest("li.toctree-l1").addClass("current"),e.closest("li.toctree-l2").addClass("current"),e.closest("li.toctree-l3").addClass("current"),e.closest("li.toctree-l4").addClass("current"))}catch(i){console.log("Error expanding nav for anchor",i)}},n.onScroll=function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},n.onResize=function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},n.hashChange=function(){this.linkScroll=!0,this.win.one("hashchange",function(){this.linkScroll=!1})},n.toggleCurrent=function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current"),e.find("> ul li.current").removeClass("current"),e.toggleClass("current")},n}(),"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:e.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var i=(new Date).getTime(),o=Math.max(0,16-(i-n)),r=window.setTimeout(function(){e(i+o)},o);return n=i+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()},{jquery:"jquery"}]},{},["sphinx-rtd-theme"]);

View File

@ -0,0 +1,18 @@
[theme]
inherit = basic
stylesheet = css/theme.css
pygments_style = default
[options]
canonical_url =
analytics_id =
collapse_navigation = False
sticky_navigation = True
navigation_depth = 4
includehidden = True
titles_only =
logo_only =
display_version = True
prev_next_buttons_location = bottom
style_external_links = False
vcs_pageview_mode =

View File

@ -0,0 +1,37 @@
{% if READTHEDOCS %}
{# Add rst-badge after rst-versions for small badge style. #}
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Read the Docs</span>
v: {{ current_version }}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>{{ _('Versions') }}</dt>
{% for slug, url in versions %}
<dd><a href="{{ url }}">{{ slug }}</a></dd>
{% endfor %}
</dl>
<dl>
<dt>{{ _('Downloads') }}</dt>
{% for type, url in downloads %}
<dd><a href="{{ url }}">{{ type }}</a></dd>
{% endfor %}
</dl>
<dl>
<dt>{{ _('On Read the Docs') }}</dt>
<dd>
<a href="//{{ PRODUCTION_DOMAIN }}/projects/{{ slug }}/?fromdocs={{ slug }}">{{ _('Project Home') }}</a>
</dd>
<dd>
<a href="//{{ PRODUCTION_DOMAIN }}/builds/{{ slug }}/?fromdocs={{ slug }}">{{ _('Builds') }}</a>
</dd>
</dl>
<hr/>
{% trans %}Free document hosting provided by <a href="http://www.readthedocs.org">Read the Docs</a>.{% endtrans %}
</div>
</div>
{% endif %}

View File

@ -160,7 +160,7 @@
<div class="DocSiteProduct-logoText">
Ansible
<div class="DocSiteProduct-CurrentVersion" align="right">
devel
2.5
</div>
</div>
</div>
@ -171,7 +171,7 @@
</div>
<div id="menu-id" class="wy-menu wy-menu-vertical" data-spy="affix">
{% set toctree = toctree(maxdepth=2, collapse=False) %}
{% set toctree = toctree(maxdepth=4, collapse=True) %}
{% if toctree %}
{{ toctree }}
{% else %}

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,4 @@
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
@ -3084,7 +3085,7 @@ li.wy-form-gallery-edit .arrow {
}
.wy-table caption, .rst-content table.docutils caption, .rst-content table.field-list caption {
color: #000;
color: #fff;
font: italic 85%/1 arial, sans-serif;
padding: 1em 0;
text-align: center;
@ -4004,6 +4005,7 @@ pre.literal-block {
background-image: url(data:image/png;
base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);
background-size: 300px 1px;
color: #lightgrey;
}
.wy-grid-for-nav {
@ -4914,4 +4916,24 @@ table {
.documentation-table {
border-right: 1px solid #000;
border-bottom: 1px solid #000;
}
}
.caption {
line-height: 24px;
margin: 0;
font-size: 16px;
margin-bottom: 0px;
margin-left: 4px;
color: cornflowerblue;
}
.toctree-l2 {
margin-left: 16px;
}
.toctree-l3 {
margin-left: 24px;
}
@import "sphinxrtd.css";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -0,0 +1,152 @@
.. _ansible-config:
==============
ansible-config
==============
:strong:`View, edit, and manage ansible configuration.`
.. contents::
:local:
:depth: 2
.. program:: ansible-config
Synopsis
========
.. code-block:: bash
ansible-config [view|dump|list] [--help] [options] [ansible.cfg]
Description
===========
Config command line class
Common Options
==============
.. option:: --version
show program's version number and exit
.. option:: -c <CONFIG_FILE>, --config <CONFIG_FILE>
path to configuration file, defaults to first file found in precedence.
.. option:: -h, --help
show this help message and exit
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
Actions
=======
.. program:: ansible-config list
.. _ansible_config_list:
list
----
list all current configs reading lib/constants.py and shows env and config file setting names
.. program:: ansible-config dump
.. _ansible_config_dump:
dump
----
Shows the current settings, merges ansible.cfg if specified
.. option:: --only-changed
Only show configurations that have changed from the default
.. program:: ansible-config view
.. _ansible_config_view:
view
----
Displays the current config file
.. program:: ansible-config
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -0,0 +1,257 @@
.. _ansible-console:
===============
ansible-console
===============
:strong:`REPL console for executing Ansible tasks.`
.. contents::
:local:
:depth: 2
.. program:: ansible-console
Synopsis
========
.. code-block:: bash
ansible-console [<host-pattern>] [options]
Description
===========
a REPL that allows for running ad-hoc tasks against a chosen inventory (based on dominis' ansible-shell).
Common Options
==============
.. option:: --ask-su-pass
ask for su password (deprecated, use become)
.. option:: --ask-sudo-pass
ask for sudo password (deprecated, use become)
.. option:: --ask-vault-pass
ask for vault password
.. option:: --become-method <BECOME_METHOD>
privilege escalation method to use (default=sudo), valid choices: [ sudo | su | pbrun | pfexec | doas | dzdo | ksu | runas | pmrun | enable ]
.. option:: --become-user <BECOME_USER>
run operations as this user (default=root)
.. option:: --list-hosts
outputs a list of matching hosts; does not execute anything else
.. option:: --playbook-dir <BASEDIR>
Since this tool does not use playbooks, use this as a subsitute playbook directory.This sets the relative path for many features including roles/ group_vars/ etc.
.. option:: --private-key, --key-file
use this file to authenticate the connection
.. option:: --scp-extra-args <SCP_EXTRA_ARGS>
specify extra arguments to pass to scp only (e.g. -l)
.. option:: --sftp-extra-args <SFTP_EXTRA_ARGS>
specify extra arguments to pass to sftp only (e.g. -f, -l)
.. option:: --ssh-common-args <SSH_COMMON_ARGS>
specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand)
.. option:: --ssh-extra-args <SSH_EXTRA_ARGS>
specify extra arguments to pass to ssh only (e.g. -R)
.. option:: --step
one-step-at-a-time: confirm each task before running
.. option:: --syntax-check
perform a syntax check on the playbook, but do not execute it
.. option:: --vault-id
the vault identity to use
.. option:: --vault-password-file
vault password file
.. option:: --version
show program's version number and exit
.. option:: -C, --check
don't make any changes; instead, try to predict some of the changes that may occur
.. option:: -D, --diff
when changing (small) files and templates, show the differences in those files; works great with --check
.. option:: -K, --ask-become-pass
ask for privilege escalation password
.. option:: -M, --module-path
prepend colon-separated path(s) to module library (default=[u'/Users/sbutler/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'])
.. option:: -R <SU_USER>, --su-user <SU_USER>
run operations with su as this user (default=None) (deprecated, use become)
.. option:: -S, --su
run operations with su (deprecated, use become)
.. option:: -T <TIMEOUT>, --timeout <TIMEOUT>
override the connection timeout in seconds (default=10)
.. option:: -U <SUDO_USER>, --sudo-user <SUDO_USER>
desired sudo user (default=root) (deprecated, use become)
.. option:: -b, --become
run operations with become (does not imply password prompting)
.. option:: -c <CONNECTION>, --connection <CONNECTION>
connection type to use (default=smart)
.. option:: -f <FORKS>, --forks <FORKS>
specify number of parallel processes to use (default=5)
.. option:: -h, --help
show this help message and exit
.. option:: -i, --inventory, --inventory-file
specify inventory host path or comma separated host list. --inventory-file is deprecated
.. option:: -k, --ask-pass
ask for connection password
.. option:: -l <SUBSET>, --limit <SUBSET>
further limit selected hosts to an additional pattern
.. option:: -s, --sudo
run operations with sudo (nopasswd) (deprecated, use become)
.. option:: -u <REMOTE_USER>, --user <REMOTE_USER>
connect as this user (default=None)
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -0,0 +1,130 @@
.. _ansible-doc:
===========
ansible-doc
===========
:strong:`plugin documentation tool`
.. contents::
:local:
:depth: 2
.. program:: ansible-doc
Synopsis
========
.. code-block:: bash
ansible-doc [-l|-F|-s] [options] [-t <plugin type> ] [plugin]
Description
===========
displays information on modules installed in Ansible libraries.
It displays a terse listing of plugins and their short descriptions,
provides a printout of their DOCUMENTATION strings,
and it can create a short "snippet" which can be pasted into a playbook.
Common Options
==============
.. option:: --version
show program's version number and exit
.. option:: -F, --list_files
Show plugin names and their source files without summaries (implies --list)
.. option:: -M, --module-path
prepend colon-separated path(s) to module library (default=[u'/Users/sbutler/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'])
.. option:: -a, --all
**For internal testing only** Show documentation for all plugins.
.. option:: -h, --help
show this help message and exit
.. option:: -l, --list
List available plugins
.. option:: -s, --snippet
Show playbook snippet for specified plugin(s)
.. option:: -t <TYPE>, --type <TYPE>
Choose which plugin type (defaults to "module")
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -0,0 +1,380 @@
.. _ansible-galaxy:
==============
ansible-galaxy
==============
:strong:`None`
.. contents::
:local:
:depth: 2
.. program:: ansible-galaxy
Synopsis
========
.. code-block:: bash
ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...
Description
===========
command to manage Ansible roles in shared repostories, the default of which is Ansible Galaxy *https://galaxy.ansible.com*.
Common Options
==============
.. option:: --list
List all of your integrations.
.. option:: --remove <REMOVE_ID>
Remove the integration matching the provided ID value. Use --list to see ID values.
.. option:: --version
show program's version number and exit
.. option:: -c, --ignore-certs
Ignore SSL certificate validation errors.
.. option:: -h, --help
show this help message and exit
.. option:: -s <API_SERVER>, --server <API_SERVER>
The API server destination
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
Actions
=======
.. program:: ansible-galaxy info
.. _ansible_galaxy_info:
info
----
prints out detailed information about an installed role as well as info available from the galaxy API.
.. option:: --offline
Don't query the galaxy API when creating roles
.. option:: -p , --roles-path
The path to the directory containing your roles. The default is the roles_path configured in your ansible.cfgfile (/etc/ansible/roles if not configured)
.. program:: ansible-galaxy search
.. _ansible_galaxy_search:
search
------
searches for roles on the Ansible Galaxy server
.. option:: --author <AUTHOR>
GitHub username
.. option:: --galaxy-tags <GALAXY_TAGS>
list of galaxy tags to filter by
.. option:: --platforms <PLATFORMS>
list of OS platforms to filter by
.. option:: -p , --roles-path
The path to the directory containing your roles. The default is the roles_path configured in your ansible.cfgfile (/etc/ansible/roles if not configured)
.. program:: ansible-galaxy setup
.. _ansible_galaxy_setup:
setup
-----
Setup an integration from Github or Travis for Ansible Galaxy roles
.. option:: --list
List all of your integrations.
.. option:: --remove <REMOVE_ID>
Remove the integration matching the provided ID value. Use --list to see ID values.
.. program:: ansible-galaxy list
.. _ansible_galaxy_list:
list
----
lists the roles installed on the local system or matches a single role passed as an argument.
.. option:: -p , --roles-path
The path to the directory containing your roles. The default is the roles_path configured in your ansible.cfgfile (/etc/ansible/roles if not configured)
.. program:: ansible-galaxy remove
.. _ansible_galaxy_remove:
remove
------
removes the list of roles passed as arguments from the local system.
.. option:: -p , --roles-path
The path to the directory containing your roles. The default is the roles_path configured in your ansible.cfgfile (/etc/ansible/roles if not configured)
.. program:: ansible-galaxy init
.. _ansible_galaxy_init:
init
----
creates the skeleton framework of a role that complies with the galaxy metadata format.
.. option:: --container-enabled
Initialize the skeleton role with default contents for a Container Enabled role.
.. option:: --init-path <INIT_PATH>
The path in which the skeleton role will be created. The default is the current working directory.
.. option:: --offline
Don't query the galaxy API when creating roles
.. option:: --role-skeleton <ROLE_SKELETON>
The path to a role skeleton that the new role should be based upon.
.. option:: -f , --force
Force overwriting an existing role
.. program:: ansible-galaxy install
.. _ansible_galaxy_install:
install
-------
uses the args list of roles to be installed, unless -f was specified. The list of roles
can be a name (which will be downloaded via the galaxy API and github), or it can be a local .tar.gz file.
.. option:: -f , --force
Force overwriting an existing role
.. option:: -i , --ignore-errors
Ignore errors and continue with the next specified role.
.. option:: -n , --no-deps
Don't download roles listed as dependencies
.. option:: -p , --roles-path
The path to the directory containing your roles. The default is the roles_path configured in your ansible.cfgfile (/etc/ansible/roles if not configured)
.. option:: -r <ROLE_FILE>, --role-file <ROLE_FILE>
A file containing a list of roles to be imported
.. program:: ansible-galaxy import
.. _ansible_galaxy_import:
import
------
used to import a role into Ansible Galaxy
.. option:: --branch <REFERENCE>
The name of a branch to import. Defaults to the repository's default branch (usually master)
.. option:: --no-wait
Don't wait for import results.
.. option:: --role-name <ROLE_NAME>
The name the role should have, if different than the repo name
.. option:: --status
Check the status of the most recent import request for given github_user/github_repo.
.. program:: ansible-galaxy login
.. _ansible_galaxy_login:
login
-----
verify user's identify via Github and retrieve an auth token from Ansible Galaxy.
.. option:: --github-token <TOKEN>
Identify with github token rather than username and password.
.. program:: ansible-galaxy delete
.. _ansible_galaxy_delete:
delete
------
Delete a role from Ansible Galaxy.
.. program:: ansible-galaxy
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -0,0 +1,157 @@
.. _ansible-inventory:
=================
ansible-inventory
=================
:strong:`None`
.. contents::
:local:
:depth: 2
.. program:: ansible-inventory
Synopsis
========
.. code-block:: bash
ansible-inventory [options] [host|group]
Description
===========
used to display or dump the configured inventory as Ansible sees it
Common Options
==============
.. option:: --ask-vault-pass
ask for vault password
.. option:: --graph
create inventory graph, if supplying pattern it must be a valid group name
.. option:: --host <HOST>
Output specific host info, works as inventory script
.. option:: --list
Output all hosts info, works as inventory script
.. option:: --list-hosts
outputs a list of matching hosts; does not execute anything else
.. option:: --playbook-dir <BASEDIR>
Since this tool does not use playbooks, use this as a subsitute playbook directory.This sets the relative path for many features including roles/ group_vars/ etc.
.. option:: --vars
Add vars to graph display, ignored unless used with --graph
.. option:: --vault-id
the vault identity to use
.. option:: --vault-password-file
vault password file
.. option:: --version
show program's version number and exit
.. option:: -h, --help
show this help message and exit
.. option:: -i, --inventory, --inventory-file
specify inventory host path or comma separated host list. --inventory-file is deprecated
.. option:: -l <SUBSET>, --limit <SUBSET>
further limit selected hosts to an additional pattern
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
.. option:: -y, --yaml
Use YAML format instead of default JSON, ignored for --graph
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -0,0 +1,293 @@
.. _ansible-playbook:
================
ansible-playbook
================
:strong:`Runs Ansible playbooks, executing the defined tasks on the targeted hosts.`
.. contents::
:local:
:depth: 2
.. program:: ansible-playbook
Synopsis
========
.. code-block:: bash
ansible-playbook [options] playbook.yml [playbook2 ...]
Description
===========
the tool to run *Ansible playbooks*, which are a configuration and multinode deployment system.
See the project home page (https://docs.ansible.com) for more information.
Common Options
==============
.. option:: --ask-su-pass
ask for su password (deprecated, use become)
.. option:: --ask-sudo-pass
ask for sudo password (deprecated, use become)
.. option:: --ask-vault-pass
ask for vault password
.. option:: --become-method <BECOME_METHOD>
privilege escalation method to use (default=sudo), valid choices: [ sudo | su | pbrun | pfexec | doas | dzdo | ksu | runas | pmrun | enable ]
.. option:: --become-user <BECOME_USER>
run operations as this user (default=root)
.. option:: --flush-cache
clear the fact cache for every host in inventory
.. option:: --force-handlers
run handlers even if a task fails
.. option:: --list-hosts
outputs a list of matching hosts; does not execute anything else
.. option:: --list-tags
list all available tags
.. option:: --list-tasks
list all tasks that would be executed
.. option:: --private-key, --key-file
use this file to authenticate the connection
.. option:: --scp-extra-args <SCP_EXTRA_ARGS>
specify extra arguments to pass to scp only (e.g. -l)
.. option:: --sftp-extra-args <SFTP_EXTRA_ARGS>
specify extra arguments to pass to sftp only (e.g. -f, -l)
.. option:: --skip-tags
only run plays and tasks whose tags do not match these values
.. option:: --ssh-common-args <SSH_COMMON_ARGS>
specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand)
.. option:: --ssh-extra-args <SSH_EXTRA_ARGS>
specify extra arguments to pass to ssh only (e.g. -R)
.. option:: --start-at-task <START_AT_TASK>
start the playbook at the task matching this name
.. option:: --step
one-step-at-a-time: confirm each task before running
.. option:: --syntax-check
perform a syntax check on the playbook, but do not execute it
.. option:: --vault-id
the vault identity to use
.. option:: --vault-password-file
vault password file
.. option:: --version
show program's version number and exit
.. option:: -C, --check
don't make any changes; instead, try to predict some of the changes that may occur
.. option:: -D, --diff
when changing (small) files and templates, show the differences in those files; works great with --check
.. option:: -K, --ask-become-pass
ask for privilege escalation password
.. option:: -M, --module-path
prepend colon-separated path(s) to module library (default=[u'/Users/sbutler/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'])
.. option:: -R <SU_USER>, --su-user <SU_USER>
run operations with su as this user (default=None) (deprecated, use become)
.. option:: -S, --su
run operations with su (deprecated, use become)
.. option:: -T <TIMEOUT>, --timeout <TIMEOUT>
override the connection timeout in seconds (default=10)
.. option:: -U <SUDO_USER>, --sudo-user <SUDO_USER>
desired sudo user (default=root) (deprecated, use become)
.. option:: -b, --become
run operations with become (does not imply password prompting)
.. option:: -c <CONNECTION>, --connection <CONNECTION>
connection type to use (default=smart)
.. option:: -e, --extra-vars
set additional variables as key=value or YAML/JSON, if filename prepend with @
.. option:: -f <FORKS>, --forks <FORKS>
specify number of parallel processes to use (default=5)
.. option:: -h, --help
show this help message and exit
.. option:: -i, --inventory, --inventory-file
specify inventory host path or comma separated host list. --inventory-file is deprecated
.. option:: -k, --ask-pass
ask for connection password
.. option:: -l <SUBSET>, --limit <SUBSET>
further limit selected hosts to an additional pattern
.. option:: -s, --sudo
run operations with sudo (nopasswd) (deprecated, use become)
.. option:: -t, --tags
only run plays and tasks tagged with these values
.. option:: -u <REMOTE_USER>, --user <REMOTE_USER>
connect as this user (default=None)
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -0,0 +1,285 @@
.. _ansible-pull:
============
ansible-pull
============
:strong:`pulls playbooks from a VCS repo and executes them for the local host`
.. contents::
:local:
:depth: 2
.. program:: ansible-pull
Synopsis
========
.. code-block:: bash
ansible-pull -U <repository> [options] [<playbook.yml>]
Description
===========
is used to up a remote copy of ansible on each managed node,
each set to run via cron and update playbook source via a source repository.
This inverts the default *push* architecture of ansible into a *pull* architecture,
which has near-limitless scaling potential.
The setup playbook can be tuned to change the cron frequency, logging locations, and parameters to ansible-pull.
This is useful both for extreme scale-out as well as periodic remediation.
Usage of the 'fetch' module to retrieve logs from ansible-pull runs would be an
excellent way to gather and analyze remote logs from ansible-pull.
Common Options
==============
.. option:: --accept-host-key
adds the hostkey for the repo url if not already added
.. option:: --ask-su-pass
ask for su password (deprecated, use become)
.. option:: --ask-sudo-pass
ask for sudo password (deprecated, use become)
.. option:: --ask-vault-pass
ask for vault password
.. option:: --check
don't make any changes; instead, try to predict some of the changes that may occur
.. option:: --clean
modified files in the working repository will be discarded
.. option:: --full
Do a full clone, instead of a shallow one.
.. option:: --list-hosts
outputs a list of matching hosts; does not execute anything else
.. option:: --private-key, --key-file
use this file to authenticate the connection
.. option:: --purge
purge checkout after playbook run
.. option:: --scp-extra-args <SCP_EXTRA_ARGS>
specify extra arguments to pass to scp only (e.g. -l)
.. option:: --sftp-extra-args <SFTP_EXTRA_ARGS>
specify extra arguments to pass to sftp only (e.g. -f, -l)
.. option:: --skip-tags
only run plays and tasks whose tags do not match these values
.. option:: --ssh-common-args <SSH_COMMON_ARGS>
specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand)
.. option:: --ssh-extra-args <SSH_EXTRA_ARGS>
specify extra arguments to pass to ssh only (e.g. -R)
.. option:: --track-subs
submodules will track the latest changes. This is equivalent to specifying the --remote flag to git submodule update
.. option:: --vault-id
the vault identity to use
.. option:: --vault-password-file
vault password file
.. option:: --verify-commit
verify GPG signature of checked out commit, if it fails abort running the playbook. This needs the corresponding VCS module to support such an operation
.. option:: --version
show program's version number and exit
.. option:: -C <CHECKOUT>, --checkout <CHECKOUT>
branch/tag/commit to checkout. Defaults to behavior of repository module.
.. option:: -K, --ask-become-pass
ask for privilege escalation password
.. option:: -M, --module-path
prepend colon-separated path(s) to module library (default=[u'/Users/sbutler/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'])
.. option:: -T <TIMEOUT>, --timeout <TIMEOUT>
override the connection timeout in seconds (default=10)
.. option:: -U <URL>, --url <URL>
URL of the playbook repository
.. option:: -c <CONNECTION>, --connection <CONNECTION>
connection type to use (default=smart)
.. option:: -d <DEST>, --directory <DEST>
directory to checkout repository to
.. option:: -e, --extra-vars
set additional variables as key=value or YAML/JSON, if filename prepend with @
.. option:: -f, --force
run the playbook even if the repository could not be updated
.. option:: -h, --help
show this help message and exit
.. option:: -i, --inventory, --inventory-file
specify inventory host path or comma separated host list. --inventory-file is deprecated
.. option:: -k, --ask-pass
ask for connection password
.. option:: -l <SUBSET>, --limit <SUBSET>
further limit selected hosts to an additional pattern
.. option:: -m <MODULE_NAME>, --module-name <MODULE_NAME>
Repository module name, which ansible will use to check out the repo. Choices are ('git', 'subversion', 'hg', 'bzr'). Default is git.
.. option:: -o, --only-if-changed
only run the playbook if the repository has been updated
.. option:: -s <SLEEP>, --sleep <SLEEP>
sleep for random interval (between 0 and n number of seconds) before starting. This is a useful way to disperse git requests
.. option:: -t, --tags
only run plays and tasks tagged with these values
.. option:: -u <REMOTE_USER>, --user <REMOTE_USER>
connect as this user (default=None)
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -0,0 +1,281 @@
.. _ansible-vault:
=============
ansible-vault
=============
:strong:`encryption/decryption utility for Ansible data files`
.. contents::
:local:
:depth: 2
.. program:: ansible-vault
Synopsis
========
.. code-block:: bash
ansible-vault [create|decrypt|edit|encrypt|encrypt_string|rekey|view] [options] [vaultfile.yml]
Description
===========
can encrypt any structured data file used by Ansible.
This can include *group_vars/* or *host_vars/* inventory variables,
variables loaded by *include_vars* or *vars_files*, or variable files
passed on the ansible-playbook command line with *-e @file.yml* or *-e @file.json*.
Role variables and defaults are also included!
Because Ansible tasks, handlers, and other objects are data, these can also be encrypted with vault.
If you'd like to not expose what variables you are using, you can keep an individual task file entirely encrypted.
The password used with vault currently must be the same for all files you wish to use together at the same time.
Common Options
==============
.. option:: --ask-vault-pass
ask for vault password
.. option:: --new-vault-id <NEW_VAULT_ID>
the new vault identity to use for rekey
.. option:: --new-vault-password-file
new vault password file for rekey
.. option:: --vault-id
the vault identity to use
.. option:: --vault-password-file
vault password file
.. option:: --version
show program's version number and exit
.. option:: -h, --help
show this help message and exit
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
Actions
=======
.. program:: ansible-vault encrypt
.. _ansible_vault_encrypt:
encrypt
-------
encrypt the supplied file using the provided vault secret
.. option:: --encrypt-vault-id <ENCRYPT_VAULT_ID>
the vault id used to encrypt (required if more than vault-id is provided)
.. option:: --output
output file name for encrypt or decrypt; use - for stdout
.. program:: ansible-vault rekey
.. _ansible_vault_rekey:
rekey
-----
re-encrypt a vaulted file with a new secret, the previous secret is required
.. option:: --encrypt-vault-id <ENCRYPT_VAULT_ID>
the vault id used to encrypt (required if more than vault-id is provided)
.. program:: ansible-vault encrypt_string
.. _ansible_vault_encrypt_string:
encrypt_string
--------------
encrypt the supplied string using the provided vault secret
.. option:: --encrypt-vault-id <ENCRYPT_VAULT_ID>
the vault id used to encrypt (required if more than vault-id is provided)
.. option:: --output
output file name for encrypt or decrypt; use - for stdout
.. option:: --stdin-name <ENCRYPT_STRING_STDIN_NAME>
Specify the variable name for stdin
.. option:: -n , --name
Specify the variable name
.. option:: -p , --prompt
Prompt for the string to encrypt
.. program:: ansible-vault edit
.. _ansible_vault_edit:
edit
----
open and decrypt an existing vaulted file in an editor, that will be encryped again when closed
.. program:: ansible-vault create
.. _ansible_vault_create:
create
------
create and open a file in an editor that will be encryped with the provided vault secret when closed
.. option:: --encrypt-vault-id <ENCRYPT_VAULT_ID>
the vault id used to encrypt (required if more than vault-id is provided)
.. program:: ansible-vault decrypt
.. _ansible_vault_decrypt:
decrypt
-------
decrypt the supplied file using the provided vault secret
.. option:: --output
output file name for encrypt or decrypt; use - for stdout
.. program:: ansible-vault view
.. _ansible_vault_view:
view
----
open, decrypt and view an existing vaulted file using a pager using the supplied vault secret
.. program:: ansible-vault
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -0,0 +1,288 @@
.. _ansible:
=======
ansible
=======
:strong:`Define and run a single task 'playbook' against a set of hosts`
.. contents::
:local:
:depth: 2
.. program:: ansible
Synopsis
========
.. code-block:: bash
ansible <host-pattern> [options]
Description
===========
is an extra-simple tool/framework/API for doing 'remote things'.
this command allows you to define and run a single task 'playbook' against a set of hosts
Common Options
==============
.. option:: --ask-su-pass
ask for su password (deprecated, use become)
.. option:: --ask-sudo-pass
ask for sudo password (deprecated, use become)
.. option:: --ask-vault-pass
ask for vault password
.. option:: --become-method <BECOME_METHOD>
privilege escalation method to use (default=sudo), valid choices: [ sudo | su | pbrun | pfexec | doas | dzdo | ksu | runas | pmrun | enable ]
.. option:: --become-user <BECOME_USER>
run operations as this user (default=root)
.. option:: --list-hosts
outputs a list of matching hosts; does not execute anything else
.. option:: --playbook-dir <BASEDIR>
Since this tool does not use playbooks, use this as a subsitute playbook directory.This sets the relative path for many features including roles/ group_vars/ etc.
.. option:: --private-key, --key-file
use this file to authenticate the connection
.. option:: --scp-extra-args <SCP_EXTRA_ARGS>
specify extra arguments to pass to scp only (e.g. -l)
.. option:: --sftp-extra-args <SFTP_EXTRA_ARGS>
specify extra arguments to pass to sftp only (e.g. -f, -l)
.. option:: --ssh-common-args <SSH_COMMON_ARGS>
specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand)
.. option:: --ssh-extra-args <SSH_EXTRA_ARGS>
specify extra arguments to pass to ssh only (e.g. -R)
.. option:: --syntax-check
perform a syntax check on the playbook, but do not execute it
.. option:: --vault-id
the vault identity to use
.. option:: --vault-password-file
vault password file
.. option:: --version
show program's version number and exit
.. option:: -B <SECONDS>, --background <SECONDS>
run asynchronously, failing after X seconds (default=N/A)
.. option:: -C, --check
don't make any changes; instead, try to predict some of the changes that may occur
.. option:: -D, --diff
when changing (small) files and templates, show the differences in those files; works great with --check
.. option:: -K, --ask-become-pass
ask for privilege escalation password
.. option:: -M, --module-path
prepend colon-separated path(s) to module library (default=[u'/Users/sbutler/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'])
.. option:: -P <POLL_INTERVAL>, --poll <POLL_INTERVAL>
set the poll interval if using -B (default=15)
.. option:: -R <SU_USER>, --su-user <SU_USER>
run operations with su as this user (default=None) (deprecated, use become)
.. option:: -S, --su
run operations with su (deprecated, use become)
.. option:: -T <TIMEOUT>, --timeout <TIMEOUT>
override the connection timeout in seconds (default=10)
.. option:: -U <SUDO_USER>, --sudo-user <SUDO_USER>
desired sudo user (default=root) (deprecated, use become)
.. option:: -a <MODULE_ARGS>, --args <MODULE_ARGS>
module arguments
.. option:: -b, --become
run operations with become (does not imply password prompting)
.. option:: -c <CONNECTION>, --connection <CONNECTION>
connection type to use (default=smart)
.. option:: -e, --extra-vars
set additional variables as key=value or YAML/JSON, if filename prepend with @
.. option:: -f <FORKS>, --forks <FORKS>
specify number of parallel processes to use (default=5)
.. option:: -h, --help
show this help message and exit
.. option:: -i, --inventory, --inventory-file
specify inventory host path or comma separated host list. --inventory-file is deprecated
.. option:: -k, --ask-pass
ask for connection password
.. option:: -l <SUBSET>, --limit <SUBSET>
further limit selected hosts to an additional pattern
.. option:: -m <MODULE_NAME>, --module-name <MODULE_NAME>
module name to execute (default=command)
.. option:: -o, --one-line
condense output
.. option:: -s, --sudo
run operations with sudo (nopasswd) (deprecated, use become)
.. option:: -t <TREE>, --tree <TREE>
log output to this directory
.. option:: -u <REMOTE_USER>, --user <REMOTE_USER>
connect as this user (default=None)
.. option:: -v, --verbose
verbose mode (-vvv for more, -vvvv to enable connection debugging)
Environment
===========
The following environment variables may be specified.
:envvar:`ANSIBLE_CONFIG` -- Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
=====
:file:`/etc/ansible/ansible.cfg` -- Config file, used if present
:file:`~/.ansible.cfg` -- User config file, overrides the default config if present
Author
======
Ansible was originally written by Michael DeHaan.
See the `AUTHORS` file for a complete list of contributors.
Copyright
=========
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
See also
========
:manpage:`ansible(1)`, :manpage:`ansible-config(1)`, :manpage:`ansible-console(1)`, :manpage:`ansible-doc(1)`, :manpage:`ansible-galaxy(1)`, :manpage:`ansible-inventory(1)`, :manpage:`ansible-playbook(1)`, :manpage:`ansible-pull(1)`, :manpage:`ansible-vault(1)`,

View File

@ -1,11 +0,0 @@
Command Line Tools
==================
Most users are familiar with `ansible` and `ansible-playbook`, but those are not the only utilities Ansible provides.
Below you is a complete list of Ansible utilities. Each page contains a description of the utility and a listing of supported parameters.
.. toctree:: :maxdepth: 1
:glob:
ansible
ansible-*

View File

@ -1,9 +1,6 @@
*********************
Community Information
*********************
***********************
Ansible Community Guide
=======================
***********************
Welcome to the Ansible Community Guide!
@ -13,7 +10,7 @@ To get started, select one of the following topics.
.. toctree::
:maxdepth: 1
:maxdepth: 2
development_process
reporting_bugs_and_features

View File

@ -38,6 +38,7 @@ AUTHOR = 'Ansible, Inc'
# Add any Sphinx extension module names here, as strings.
# They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
# TEST: 'sphinxcontrib.fulltoc'
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx']
# Later on, add 'sphinx.ext.viewcode' to the list if you want to have
@ -55,7 +56,7 @@ master_doc = 'index'
# General substitutions.
project = 'Ansible Documentation'
copyright = "2013-2017 Ansible, Inc"
copyright = "2013-2018 Ansible, Inc"
# The default replacements for |version| and |release|, also used in various
# other places throughout the built documents.
@ -80,7 +81,8 @@ today_fmt = '%B %d, %Y'
# A list of glob-style patterns that should be excluded when looking
# for source files.
exclude_patterns = ['modules']
# OBSOLETE - removing this - dharmabumstead 2018-02-06
# exclude_patterns = ['modules']
# The reST default role (used for this markup: `text`) to use for all
# documents.
@ -122,7 +124,7 @@ rst_epilog = """
# -----------------------
html_theme_path = ['../_themes']
html_theme = 'srtd'
html_theme = 'sphinx_rtd_theme'
html_short_title = 'Ansible Documentation'
# The style sheet to use for HTML and HTML Help pages. A file of that name

View File

@ -71,6 +71,8 @@ How To Develop A Module
The following topics will discuss how to develop and work with modules:
:doc:`developing_program_flow_modules`
A description of Ansible's module architecture.
:doc:`developing_modules_general`
A general overview of how to develop, debug, and test modules.
:doc:`developing_modules_general_windows`

View File

@ -429,6 +429,9 @@ Examples can be found by searching for ``extends_documentation_fragment`` under
Testing documentation
---------------------
The simplest way to check if your documentation works is to use ``ansible-doc`` to view it. Any parsing errors will be apparent, and details can be obtained by adding ``-vvv``.
If you are going to submit the module for inclusion in the main Ansible repo you should make sure that it renders correctly as HTML.
Put your completed module file into the ``lib/ansible/modules/$CATEGORY/`` directory and then
run the command: ``make webdocs``. The new 'modules.html' file will be
built in the ``docs/docsite/_build/html/$MODULENAME_module.html`` directory.

View File

@ -291,15 +291,15 @@ test/units/modules/.../test/my_new_test_module.py``
Going Further
=============
If you are starting new development or fixing a bug, create a new branch:
If you would like to contribute to the main Ansible repository
by adding a new feature or fixing a bug, `create a fork <https://help.github.com/articles/fork-a-repo/>`_
of the Ansible repository and develop against a new feature
branch using the ``devel`` branch as a starting point.
``$ git checkout -b my-new-branch``.
If you are planning on contributing
back to the main Ansible repository, fork the Ansible repository into
your own GitHub account and develop against the new non-devel branch
in your fork. When you believe you have a good working code change,
submit a pull request to the Ansible repository.
When you you have a good working code change,
submit a pull request to the Ansible repository by selecting
your feature branch as a source and the Ansible devel branch as
a target.
If you want to submit a new module to the upstream Ansible repo, be sure
to run through sanity checks first. For example:

View File

@ -1,8 +1,8 @@
.. _flow_modules:
=======
Modules
=======
===========================
Ansible Module Architecture
===========================
This in-depth dive helps you understand Ansible's program flow to execute
modules. It is written for people working on the portions of the Core Ansible

View File

@ -1,9 +1,6 @@
*********************
Developer Information
*********************
Ansible Developer Guide
=======================
***************
Developer Guide
***************
Welcome to the Ansible Developer Guide!
@ -13,16 +10,10 @@ To get started, select one of the following topics.
.. toctree::
:maxdepth: 1
:maxdepth: 2
overview_architecture
developing_modules
developing_modules_general
developing_modules_general_windows
developing_modules_documenting
developing_modules_best_practices
developing_modules_checklist
developing_modules_in_groups
developing_program_flow_modules
developing_module_utilities
developing_plugins

View File

@ -195,7 +195,7 @@ For guidance on writing network test see the `adding tests for Network modules g
Running network integration tests locally
-----------------------------------------
Ansible uses Shippable to run an integration test suite on every PR, including new tests introduced by that PR. To find and fix problems in network modules, run the network integration test locally before you submit a PR.
Ansible uses Shippable to run an integration test suite on every PR, including new tests introduced by that PR. To find and fix problems in network modules, run the network integration test locally before you submit a PR.
To run the network integration tests, use a command in the form::
@ -219,6 +219,20 @@ To run integration tests for a specific module::
ansible-test network-integration --inventory /path/to/ansible/test/integration/inventory.networking vyos_vlan
To run a single test case on a specific module::
# Only run vyos_vlan/tests/cli/basic.yaml
ansible-test network-integration --inventory /path/to/ansible/test/integration/inventory.networking vyos_vlan --testcase basic
To run integration tests for a specific transport::
# Only run nxapi test
ansible-test network-integration --inventory /path/to/ansible/test/integration/inventory.networking --tags="nxapi" nxos_.*
# Skip any cli tests
ansible-test network-integration --inventory /path/to/ansible/test/integration/inventory.networking --skip-tags="cli" nxos_.*
See `test/integration/targets/nxos_bgp/tasks/main.yaml <https://github.com/ansible/ansible/blob/devel/test/integration/targets/nxos_bgp/tasks/main.yaml>`_ for how this is implemented in the tests.
For more options::

View File

@ -1,13 +1,12 @@
:tocdepth: 3
Ansible Documentation
=====================
About Ansible
`````````````
Welcome to the Ansible documentation!
Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks
such as continuous deployments or zero downtime rolling updates.
Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates.
Ansible's main goals are simplicity and ease-of-use. It also has a strong focus on security and reliability, featuring a minimum of moving parts, usage of OpenSSH for transport (with other transports and pull modes as alternatives), and a language that is designed around auditability by humans--even those not familiar with the program.
@ -20,32 +19,82 @@ This documentation covers the current released version of Ansible (2.3) and also
Ansible, Inc. releases a new major release of Ansible approximately every two months. The core application evolves somewhat conservatively, valuing simplicity in language design and setup. However, the community around new modules and plugins being developed and contributed moves very quickly, typically adding 20 or so new modules in each release.
.. _an_introduction:
.. toctree::
:maxdepth: 2
:caption: Installation, Upgrade & Configuration
installation_guide/index
porting_guides/porting_guides
.. toctree::
:maxdepth: 3
:caption: Using Ansible
user_guide/index
.. toctree::
:maxdepth: 3
:caption: Contributing to Ansible
intro
quickstart
playbooks
playbooks_special_topics
modules
module_docs/modules_by_category
vault
command_line_tools
plugins_by_category
guides
dev_guide/index
tower
community/index
network
galaxy
test_strategies
faq
config
glossary
YAMLSyntax
porting_guides
python_3_support
release_and_maintenance
windows
.. toctree::
:maxdepth: 3
:caption: Extending Ansible
dev_guide/index
.. toctree::
:maxdepth: 2
:caption: Scenario Guides
scenario_guides/guide_aci
scenario_guides/guide_aws
scenario_guides/guide_azure
scenario_guides/guide_rax
scenario_guides/guide_gce
scenario_guides/guide_cloudstack
scenario_guides/guide_vagrant
scenario_guides/guide_docker
scenario_guides/guide_packet
scenario_guides/guide_rolling_upgrade
.. toctree::
:maxdepth: 2
:caption: Ansible for Network Automation
network/index
network/getting_started
.. toctree::
:maxdepth: 2
:caption: Reference & Appendices
../modules/modules_by_category
reference_appendices/playbooks_keywords
reference_appendices/galaxy
reference_appendices/common_return_values
reference_appendices/config
reference_appendices/YAMLSyntax
reference_appendices/python_3_support
reference_appendices/release_and_maintenance
reference_appendices/test_strategies
reference_appendices/faq
reference_appendices/glossary
reference_appendices/tower
.. toctree::
:maxdepth: 2
:caption: Release Notes
.. toctree::
:maxdepth: 2
:caption: Roadmaps
roadmap/ROADMAP_2_1.rst
roadmap/ROADMAP_2_2.rst
roadmap/ROADMAP_2_3.rst
roadmap/ROADMAP_2_4.rst
roadmap/ROADMAP_2_5.rst

View File

@ -0,0 +1,3 @@
.. This is a hack to allow doc references to files in other subdirectories.
.. include:: ../reference_appendices/config.rst

View File

@ -0,0 +1,10 @@
Welcome to the Ansible Installation Guide!
Introductory install guide text here.
.. toctree::
:maxdepth: 2
intro_installation
intro_configuration

Some files were not shown because too many files have changed in this diff Show More