Compare commits

...

139 Commits

Author SHA1 Message Date
7fc2fbb55c New release v2.5.9 2018-09-10 04:34:45 -07:00
729736f30c Remove obsolete default container.
(cherry picked from commit 4173a30941)
2018-09-05 19:21:48 -07:00
e7d75d4bff Switch default test container to quay.io.
(cherry picked from commit 3f8edb440a)
2018-09-05 19:21:48 -07:00
8e048c0ab7 Fixes for ansible-test sanity import test. (#45249)
* Fix import test on Python 3.7.
* Fix path processing in import sanity test.

(cherry picked from commit 6fb333faff)
2018-09-05 19:21:48 -07:00
0c3faa2e1c Fix ansible-test virtualenv use in import test.
(cherry picked from commit 998badbda5)
2018-09-05 19:21:48 -07:00
9ac580f564 Update test constraints. (#44975)
- Limit virtualenv version on Python 2.6.
- Limit pyopenssl version on Python 2.6.
- Pin pyfmg version to keep unit tests passing.

(cherry picked from commit b3a3e8ba7b)
2018-09-05 19:21:48 -07:00
c8eeafdc15 Flush output from timing script.
(cherry picked from commit 771768966f)
2018-09-05 19:21:48 -07:00
fb153e4da7 Add seccomp support to ansible-test.
(cherry picked from commit c1173a2aec)
2018-09-05 19:21:48 -07:00
339d064584 Correct to development_process (#39069) (#45264)
(cherry picked from commit c4e298b808)
2018-09-05 20:52:50 -05:00
38b9fee32f Get packages for dnf and yum tests from S3.
(cherry picked from commit 22d5f5d97f)
2018-09-05 15:35:01 -07:00
7113e50a42 Fix ios_user issue CP in 2.5 (#45180)
* Fix ios_user issues (#44904)

* Fix ios_user issues

* Modify regex and fix unittests

(cherry picked from commit 0f268e70a1)

* Added changelog
2018-09-05 11:08:43 -07:00
5ea238912f [stable-2.5] Don't allow import_tasks to transition to dynamic when file is missing. See #44822 (#44836) (#44854)
* [stable-2.5] Don't allow import_tasks to transition to dynamic when file is missing. See #44822 (#44836)
(cherry picked from commit cd2f66f)

Co-authored-by: Matt Martz <matt@sivel.net>

* Look in task_ds, as we don't have action var in 2.5
2018-09-05 11:08:09 -07:00
d89bd2d3c1 [stable-2.5] Fix another corner case of too many warnings for world readable current working directory (#44610)
There should be no warning if there is no ansible.cfg file i nthe
current working directory.
(cherry picked from commit f46c943)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-09-05 11:07:31 -07:00
2a2e4721a4 Pass path to GalaxyRole object (#43051) (#44583)
This will list all roles in all paths in roles_path rather than just the first path in roles_path.

(cherry picked from commit 05fff27415)
2018-09-05 11:06:39 -07:00
12d0684ee2 Fix enable_snat parameter (#44418) (#44451)
* Fix enable_snat parameter (#44418)

Fixes the issue #44285
(cherry picked from commit b7139782cf)

* Fix enable_snat parameter (#44418)

Fixes the issue #44285
(cherry picked from commit b7139782cf)

* Fix enable_snat parameter (#44418)

Fixes the issue #44285
(cherry picked from commit b7139782cf)
2018-09-05 11:06:06 -07:00
8854f77d67 Strip trailing comments from /etc/default/passwd (#43931) (#44367)
* strip additional comments from /etc/default/passwd

Strip trailling comments from /etc/default/passwd like
MINWEEKS=1 #MINWEEKS=2
MAXWEEKS=12  # MAXWEEKS=8
Which otherwise cause failures with "failed to read /etc/default/passwd: too many values to unpack"

* fix carriage return typo in commit

* yet another typo in commit

* Fix indent problem

* add changelog fragment for PR 43931

(cherry picked from commit 5c1e620504)
2018-09-05 11:05:26 -07:00
3f80b6ccb1 Remove python-keyczar dependency (#38534) (#44321)
(cherry picked from commit 02bc4c570f)
2018-09-05 11:04:38 -07:00
847a7f9ca5 Fix ios_vlan and ios_l2_interface issues CP in 2.5 (#44253)
* Fixes ios_l2_interface and ios_vlan not working on certain interface types issue (#43819)

* Fixes #43654 and #43582

* Remove q statement

* Fix shippable errors

* Fix more shippable errors

* Fix unittest

(cherry picked from commit b14f256d41)

* Added changelog entries

* Fixed Shippable yamllint error
2018-09-05 11:04:07 -07:00
3e6cc1abd5 nxos bugfix Pick 2.5 (#44249)
* nxos_interface port-channel idempotence fix for mode (#44248)

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

* changelog

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

* Add md5sum check in nxos_file_copy module (#43423)

* Add md5sum check in nxos_file_copy module

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

* address review comment

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

* changelog

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

* check_mode in nxos_static_route module (#44252)

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

* changelog nxos_static_route

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

* nxos_linkagg mode fix (#44294)

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

* changelog nxos_linkagg

* fix Python 2.6 regex bug terminal plugin nxos, iosxr (#45135)

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

* terminal plugin changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-09-05 11:03:19 -07:00
019c28bc3b Broken dependencies in 2.5 (#41952)
* essential fixes in 2.5

* one more fix

* disable try to see whats the problem

* fix indent

* try to fix msrest version

* fixed test

* undo try-except commenting out

* updated tests
2018-09-05 11:02:00 -07:00
6321e70232 Backport/2.5/44902 (#44920)
* Update lightsail.py
(cherry picked from commit dc8307a063)
* Correct AWS Lightsail documentation example
* add changelog fragment
2018-08-30 15:30:49 -05:00
0724f4bfc2 Remove obsolete test/utils/docker/ directory.
(cherry picked from commit 78bd020429)
2018-08-30 09:12:26 -07:00
642c1d16fb List quay.io images during Shippable run.
(cherry picked from commit a96a51b0c6)
2018-08-30 09:12:26 -07:00
9959d7f722 Switch distro test containers to quay.io images.
(cherry picked from commit 773c0982b0)
2018-08-30 09:12:26 -07:00
de932d9c17 Fix change detection on retried Shippable jobs.
(cherry picked from commit c0aaf0fff7)
2018-08-30 09:12:26 -07:00
053273fc7e Ignore CentOS 6.10 for passwordstore test.
(cherry picked from commit 18da873531)
2018-08-30 09:12:26 -07:00
8ab11c3228 Restore repos after zypper_repository test runs.
This also allows the test to run on newer containers by not
manipulating any of the pre-configured repositories.

(cherry picked from commit cac51e6da8)
2018-08-30 09:12:26 -07:00
36fd4a2255 Documentation fix, decrypt is True by default (#44435) (#44472)
(cherry picked from commit 88659dcba4)
2018-08-27 18:26:57 -05:00
c5d9c98cdf Use runtime instead of datetime for test output.
(cherry picked from commit 31a5b874a1)
2018-08-23 14:21:12 -07:00
b23b1c2ee0 New release v2.5.8 2018-08-16 14:45:46 -07:00
d19ef234bd Fix path handling in hacking/env-setup. (#44086)
(cherry picked from commit 0392dbeba1)
2018-08-13 18:19:04 -07:00
f73ac53e58 Only template values in vars_prompt rather than all vars (#39304) (#44082)
This allows the use of variables in vars_prompt fields but allows variables entered in the prompt to affect play vars rather than throwing an undefined error.

Add tests for vars_prompt

(cherry picked from commit 6d38167d49)
2018-08-13 18:18:48 -07:00
4c9e83f9f5 [stable-2.5] Fix the local and ssh plugins for a cornercase retrying a syscall (#44074)
The bundled selectors library which is used by the local and ssh
connection plugins had a bug which caused a traceback in a cornercase.
If selectors were in use and a syscall was interrupted, selectors would
attempt to restart the syscall after the interrupt was processed.  if
the attempt determined that the timeout for running the syscall had
already expired, the code attempted to raise OSError.  The raise was
using a Python3-ism and needed to be ported to work on Python2.

Fixes #41630
(cherry picked from commit e2e44f8)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-08-13 18:17:50 -07:00
e107da11e0 Fix fact cleaning (#42595) (#43956)
* Fix fact cleaning (#42595)

* fix fact cleanup

fixes #41684

(cherry picked from commit 006f08da99)

* fix misspelled key name

* update changelog text
2018-08-13 18:17:03 -07:00
8d2c129944 [stable-2.5] Only print warning when ansible.cfg is actually skipped (#43583) (#43649)
Only print warning when ansible.cfg is actually skipped

* Also add unittests for the find_ini_config_file function
* Add documentation on world writable current working directory
  config files can no longer be loaded from a world writable current
  working directory but the end user is allowed to specify that
  explicitly.  Give appropriate warnings and information on how.

Fixes #42388
(cherry picked from commit 30662bedad)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-08-13 18:16:24 -07:00
e22bff5b76 [2.5] Fix invocation output. Fixes #43447 (#43542) (#43647)
* [2.5] Fix invocation output. Fixes #43447 (#43542)
(cherry picked from commit 4094b01)

Co-authored-by: Matt Martz <matt@sivel.net>

* Add changelog for #43542
2018-08-13 18:15:22 -07:00
3f7ca8daf1 fix issue [ get_url does not change mode when checksum matches ] (#43342) (#43623)
* fix  #29614

* add change log for #43342

* Cleanup tests and add tests for this scenario


Co-authored-by: ptux
(cherry picked from commit 68683b4c73)
2018-08-13 18:14:53 -07:00
8a0fa4a3e3 Fix for creation and removal of swap record in fstab (fixes #42706, #31437 and #30090) (#42837) (#43518) 2018-08-13 18:13:25 -07:00
0854dc3f7f Add AnsibleModule signature schema, and fix associated issues (#43512) (#43515)
* Add AnsibleModule signature schema, and fix associated issues (#43512)

(cherry picked from commit 01c0446cb5)

* Address additional module issues
2018-08-13 18:12:37 -07:00
959a19e4f1 Fixes #42042 (#42736)
There is no need to add an empty hosts group, when region is not set
2018-08-13 18:10:55 -07:00
8b2abfe446 openvswitch_db : Handle column value conversion and idempotency in no_key case (#43869)
* change column value to string. handle idempotency in no key case

* fix unit test failures in baseline

(cherry picked from commit 8eaebf86b6)
2018-08-13 17:52:47 -07:00
445a3e4127 Fix download URL for yum integration test.
(cherry picked from commit 3b693be80f)
2018-08-09 14:47:07 -07:00
6b81a39daa openvswitch_db: Make 'key' parameter optional (#42110) (#43552)
* openvswitch_db: Split key-value pairs correctly (#33335)

Map values can contain commas, e.g.
    - name: Configure OVN bridge mapping
      openvswitch_db:
        state: present                                                                                                                                                                                                                                table: open_vswitch                                                                                                                                                                                                                           record: .                                                                                                                                                                                                                                     col: external_ids                                                                                                                                                                                                                             key: ovn-bridge-mappings
        value: '"vmnet-static:br-vmnet-st,vmnet-dynamic:br-vmnet-dyn"'

Previous behaviour was splitting the value and raised an exception.
(cherry picked from commit 3c53e2f8ea)

* openvswitch_db: Make 'key' parameter optional (#42110)

The OVSDB schema consists of typed columns. The 'key' parameter is
required only for columns with type of a 'map'. This patch makes 'key'
an optional parameter to allow setting values for other column types
like int.

Fixes #42108

(cherry picked from commit 26b0908270)
(cherry picked from commit 01097715fd)
2018-08-08 16:01:42 +02:00
da043d635e Update JSON Query filter examples (#42432) (#43491)
* Update JSON Query filter examples

Correct syntax on one example
Add more examples of escaping
Change example to show joining list to string

(cherry picked from commit 7b0dea45e9)
2018-07-31 10:17:23 -05:00
41a0bcf2fc New release 2.5.7 2018-07-26 16:09:54 -07:00
fe61636d66 Remove unused test matrix entries. 2018-07-24 10:02:00 -07:00
bf8f228fd5 Update Shippable integration test groups. (#43118)
* Update Shippable integration test groups.
* Update integration test group aliases.
* Rebalance AWS and Azure tests with extra group.
* Rebalance Windows tests with another group.

(cherry picked from commit 4e489d1be8)
2018-07-24 10:02:00 -07:00
5805e6a89b Mark win_uri unstable.
(cherry picked from commit 547f11ad8f)
2018-07-23 18:28:04 -07:00
30a0c88c35 To fix EOS_FACTS failure when lldp will be disabled. (#42347)
* to fix the bug 41165

* adding the changelog file

* Hook check_rc failure up so that this will actually work

* Update eos_facts-failure.yml
2018-07-23 10:53:42 -07:00
f320b1507d Eos subnet overlap fix (#43023) (#43099)
* Detect overlapping subnet & provide better errors

(cherry picked from commit dba975470d)
2018-07-23 09:41:10 -07:00
d48ebcee40 [doc] fix a typo in ec2_eni docs (#36571) (#43068)
(cherry picked from commit 918b29f0fc)
2018-07-23 09:34:15 -07:00
8f3a82dc9b Avoid exiting config mode before configuring port-channel members (#42999) 2018-07-23 09:33:41 -07:00
85122a6c38 Fix ios_vlan issue CP in 2.5 (#42668)
* Make ios_vlan identify vlans starting with 9 (#42247)

* Make ios_vlan identify vlans starting with 9

* Add unit test for vlan id start with 9

(cherry picked from commit 70e33ef92c)

* Added changelog for ios_vlan fix
2018-07-23 09:25:18 -07:00
3a481c4548 Fix ios_linkagg issue CP in 2.5 (#42663)
* Fixed regex to pick correct items (#42557)

(cherry picked from commit fa624eba29)

* Added changelog for ios_linkagg fix
2018-07-23 09:23:07 -07:00
67859c3476 Fix NameError in pause module (#42038) (#42635)
* Fix NameError in pause module

* Add comment and changelog

Co-authored-by: Jerry Chong <jchong@netbase.com>
(cherry picked from commit 42f44b24c6)
2018-07-23 09:22:25 -07:00
dc37b41b72 [2.5] Update ios tests (#42509) (#42515)
* [2.5] Update ios tests (#42509)

* 192.168.0.1/24 conflicts with management IP

* Images don't have the hostnames we expect
(cherry picked from commit 399d13d)

Co-authored-by: Nathaniel Case <this.is@nathanielca.se>

* ios test cleanup pt 2 (#42570)

* Remove local from ios_config to avoid needing to add provider

* ios_smoke should test all with local to pick up the slack

(cherry picked from commit 381263ad99)
2018-07-23 09:21:16 -07:00
e3993bd01b nxos_nxapi fix pick-2.5 (#42490)
* Enforcing NXAPI default HTTP behavior (#41817)

* nxos_nxapi http default behavior

* Use nxos_nxapi module in prepare_nxos_tests

* Refactor nxos_nxapi configure test to use yaml block

* Extend nxos_nxapi https & http test cases

* Removed NXOS internal release naming

* Resolved ansibot sanity errors

* Fix typo in prepare_nxos_tests

* Address PR comments

* Shippable indicates this is no longer needed

* Add port change logic and testing

(cherry picked from commit db7300904d)

* add changelog

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

* Add get_capabilities in nxapi module_utils (#42688)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit d5e9653c96)
2018-07-23 09:20:54 -07:00
306be9f23c Fix pause module so it does not stack trace when redirecting stdout. (#42217) (#42441)
* Use separate variables for stdin and stdout file descriptors

* Do not set stdout to raw mode when output is not a TTY

(cherry picked from commit 1d1595b990)
2018-07-23 09:20:14 -07:00
d6bc698ed8 Changing example code block language from yaml to yaml+jinja. (#40365) (#42436)
(cherry picked from commit 9f84c09bf3)
2018-07-23 09:19:32 -07:00
b00358e4fb Remove unwanted containers at CI job start.
(cherry picked from commit 528de5b82f)
2018-07-09 21:50:29 -07:00
0c985fee8a New release v2.5.6 2018-07-05 11:49:44 -07:00
75ada884d2 Backport/2.5/42316 Galaxy doc link (#42320)
* Correct link to Galaxy docs

* add trailing slash
2018-07-05 09:42:53 -07:00
dc6a187603 nxos and eos bugfix pick-2.5 (#42289)
* fix nxos_vxlan_vtep_vni issue (#42183)

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

* Update eos_l2_interface.py (#42270)

(cherry picked from commit 51092c6ea5)

* update changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-07-05 09:42:12 -07:00
0fa56ed65d Add warning when using an empty regexp in lineinfile (#42013) (#42207)
* Revert "Account for empty string regexp in lineinfile (#41451)"

This reverts commit 4b5b4a760c.

* Use context managers for interacting with files

* Store line and regexp parameters in a variable

* Add warning when regexp is an empty string

* Remove '=' from error messages

* Update warning message and add changelog

* Add tests

* Improve warning message

Offer an equivalent regexp that won't trigger the warning.
Update tests to match new warning.

* Add porting guide entry for lineinfile change

(cherry picked from commit fb55038d75)
2018-07-05 09:41:07 -07:00
eef9d0bf04 Restore BOOLEANS import in basic.py (#42008) (#42235)
This import was removed by mistake. This is required for backward
compatibility.

Fixes: #41988

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-03 13:29:16 -07:00
eda69dff92 [2.5] influxdb_query: fix use of common return (#42231)
* influxdb_query: fix use of common return results (#39626)


(cherry picked from commit aa874c3c36)

* changelog: influxdb_query fix use of common return
2018-07-03 13:28:51 -07:00
7dc06bed83 Backport/2.5/42209 (#42213)
* nsupdate.py: Fix typo (#42209)

Signed-off-by: David Galloway <dgallowa@redhat.com>
(cherry picked from commit 9539284010)

* nsupdate_fix_hmac-sha384
2018-07-03 13:28:26 -07:00
5056f0801c [2.5] Add CoC and mailing lists links to PYPI (#42157)
PR #42101
(cherry picked from commit fc25d28)

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2018-07-03 13:27:21 -07:00
ff980afefd [stable-2.5] ignore ansible.cfg in world writable cwd (#42070) (#42142)
* [stable-2.5] ignore ansible.cfg in world writable cwd (#42070)

* ignore ansible.cfg in world writable cwd
 * also added 'warnings' to config
 * updated man page template
(cherry picked from commit b6f2aad)

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>

* Update wrcwd_ansible.cfg.yml
2018-07-03 13:26:57 -07:00
10d6fe6c98 [stable-2.5] avoid loading vars on unspecified basedir (cwd) (#42067) (#42139)
* avoid loading vars on unspecified basedir (cwd)
(cherry picked from commit de0e11c)

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2018-07-03 13:23:58 -07:00
f942d71b36 Fix junos_config confirm commit issue (#41527) (#42099)
Fixes #40626

* Due to issue in ncclient commit() method for Juniper
  device (ncclient/ncclient#238)
  add a workaround in junos netconf plugin to generate proper
  commit-configuration xml and execute it using ncclient
  generic `rpc()` method.

* Update junos_config doc

* Update changelog

(cherry picked from commit 88b966e23b)
2018-07-03 13:23:04 -07:00
fdb813766a service_facts correct meaning of state for systemd service units (#40914) (#42068)
* service_facts correct meaning of state for systemd service units

Fixes #40809

Previously this module used the commend `systemctl list-unit-files
--type=service` to query state of services but list-unit-files only
shows enabled vs disabled which is not what we want for "state"

Signed-off-by: Adam Miller <admiller@redhat.com>

* make sure to define service_name before referencing it

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit bf1cc2f1f4)
2018-07-03 13:22:30 -07:00
ceb14fcc33 win_domain: fix typo in cmdlet call (#41993) (#41994)
(cherry picked from commit 77526a5036)
2018-07-03 13:20:09 -07:00
7a1fa8d363 Fix docs for all test. Fixes #41956 (#41965) (#41980)
(cherry picked from commit 11ce954226)
2018-07-03 13:19:49 -07:00
c2d905fc11 win_iis_webapppool: do not output some cmdlet outputs (#41884) (#41942)
(cherry picked from commit abfcc35e6f)
2018-07-03 13:18:10 -07:00
d4d52856df [stable-2.5] Changes to support building docs with old jinja2 (#41938)
This commit: fa5c0282a4 relied upon
features present in Jinja-2.10 and above.  The changes here allow us to
build the *rst* with older versions of jinja2.
(cherry picked from commit ad2e8dd)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-07-03 13:15:48 -07:00
ab93ad8a0a Backport #41767 for 2.5 -Skip if insertbefore is using BOF until later in the module (#41930)
* Skip if insertbefore BOF until later (#41767)

If a line match is found in the file and no regexp is specified, insertbefore would improperly try to add a line if set to BOF.

Add tests for this scenario.

(cherry picked from commit eaae1318f8)

* Add changelog fragment
2018-07-03 13:08:49 -07:00
916317466d Backport #41860 for 2.5 - support group_by with implicit localhost (#41926)
* Use inventory.get_host instead of direct access to inventory.hosts (#41860)

* Use inventory.get_host instead of direct access to inventory.hosts. Fixes #32152

* Prevent potential side effect, by using self._inventory.localhost directly instead of get_host

(cherry picked from commit 1a2ef0922f)

* Add changelog for #41860
2018-07-03 12:08:58 -07:00
9757233a93 Stop displaying kinit pass input on a failure (#41882) (#41923)
* Stop displaying kinit pass input on a failure

* Fixed up minor logic info and added tests

(cherry picked from commit 9b7b564d75)
2018-07-03 12:08:26 -07:00
ab18048147 Fix rabbitmq_* integration tests (#41836) (#41922)
(cherry picked from commit a8d4bf8642)
2018-07-03 12:08:03 -07:00
c65bf12741 windows dsc docs: fix missing colon in example (#41886) (#41892)
(cherry picked from commit 0b2ec9b11c)
2018-07-03 12:07:42 -07:00
fee754fa59 playbooks_intro.rst: remove duplicite playbook (#38521) (#41864)
(cherry picked from commit f1e41cbb36)
2018-07-03 12:06:39 -07:00
e9a32c1107 fix vars hostname fallback (#41858)
also made it optimistic, rely on exceptions instead of copmlex if chains

(cherry picked from commit 11dbed1350)
2018-07-03 12:06:23 -07:00
40c47b7785 fix minor issues with debug and item labels (#41331) (#41815)
* fix minor issues with debug and item labels

 - no more `item=None`, we always have a label now
 - debug should only show expected information, either msg= or the var in var=
 - also fixed method name, deprecated misleading _get_item

(cherry picked from commit 27c43daab8)
2018-07-03 12:05:13 -07:00
9101dd6857 Fixed eos_logging test issue (#41777) 2018-07-03 12:04:35 -07:00
b9904b9fe7 Fix vyos_vlan aggregate issue & added tests CP into 2.5 (#41638) (#41775)
* Fix vyos_vlan aggregate issue & added tests (#41638)

* Fix vyos_vlan aggregate issue & Added tests

* Fix #2 for vyos_vlan aggregate issue

(cherry picked from commit 837c216587)

* Added changelog for vyos_vlan aggregate issue fix
2018-07-03 12:02:11 -07:00
dcf95a3adc Backport 2.5: apt: fix apt-mark on debian6 (#41724)
* apt: fix apt-mark on debian6 (#41530)


(cherry picked from commit 2e68811c34)

* Add changelog/fragment
2018-07-03 12:01:36 -07:00
36b0756c3b update play_context for reset_connection (#40866) (#41655)
steps taken from lib/ansible/executor/task_executor.py

fixes: https://github.com/ansible/ansible/issues/27520
(cherry picked from commit 23fbe0ce8e)
2018-07-03 11:58:49 -07:00
e20294c1e1 facts: suse: Fix major version detection for SUSE (#41416) (#41650)
When parsing the distribution files such as /etc/os-release, we extract
the full distribution version but not the major version. As such, the
ansible_distribution_major_version ends up being 'NA' whereas the
ansible_distribution_version contains the full version.

Before this patch we get this on openSUSE Leap 15

ansible -o localhost -m setup -a filter=ansible_distribution_major_version
localhost | SUCCESS => {"ansible_facts": {"ansible_distribution_major_version": "NA"}, "changed": false}

After this patch we get this

ansible -o localhost -m setup -a filter=ansible_distribution_major_version
localhost | SUCCESS => {"ansible_facts": {"ansible_distribution_major_version": "15"}, "changed": false}

This also fixes the Tumbleweed distribution test to report a proper
major version and also adds a test for openSUSE Leap 15.0 to avoid
potential future regressions.

Fixes: #41410
(cherry picked from commit 1737b7be3e)
2018-07-03 11:58:00 -07:00
4314798d3e Fix changelog order in the rpm spec file (#38272) 2018-07-03 11:57:23 -07:00
15ac94f87c fix nxos_linkagg issue (#41550) (#41620)
* fix nxos_linkagg issue (#41550)

* fix nxos_linkagg issue

* fix shippable

(cherry picked from commit 119e6d680b)

* changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-07-03 11:50:57 -07:00
f56197df94 [stable-2.5] sort the port list properly (.sort() returns None) (#41603)
(cherry picked from commit 63f2ad8776)

Co-authored-by: schp <schonhofen@gmail.com>
2018-07-03 11:50:36 -07:00
b9b1a65067 [2.5] Update user module docs (#41572) (#41602)
* Clarify append and groups behavior
* Document return values.
(cherry picked from commit 6fa2d9ac6f)

Co-authored-by: Sam Doran <sdoran@redhat.com>
2018-07-03 11:50:13 -07:00
7b325baa22 Bkprt recursive copy fix (#40268)
* Fixes #34893 (#40166)

Fixes several bugs exposed in #34893
* Fixes relative path handling in copy so that it splits directories and
  reconstructs the correct file path
* Return failed in the proper circumstances

(cherry picked from commit ca4147f2cc)

* Add changelog for recursive copy fix

(cherry picked from commit cab0f21564)
2018-07-03 11:49:45 -07:00
6a7c43b0ba [stable-2.5] Make the copy module pass correct parameters to file module (#42021)
(cherry picked from commit d994595660)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-07-03 08:55:42 -07:00
9fcf256817 Disable remaining failing rabbitmq_* tests.
(cherry picked from commit 5880404151)
2018-06-21 15:56:22 -07:00
cd9d18a93b Revert "Disable failing rabbitmq_user test."
This reverts commit e954633739.
2018-06-21 15:55:33 -07:00
e954633739 Disable failing rabbitmq_user test. 2018-06-21 13:57:37 -07:00
2f0cfa857a win_updates fix when win_updates is run with async (#41756) (#41763)
(cherry picked from commit 11bd3fd318)
2018-06-20 16:27:53 -07:00
317388e967 Temporarily disable gem test on osx.
Disabled due to lack of newer TLS version support on the test system.

(cherry picked from commit dce708e63e)
2018-06-19 17:02:14 -07:00
4202d1d769 skip winrm unit tests if winrm is not installed (#41596)
(cherry picked from commit b01779ad18)
2018-06-15 10:26:33 -07:00
5f6e1a70a6 New release v2.5.5 2018-06-14 14:14:39 -07:00
40a6a19042 Change falied_conditions to proper spelling (#41284) (#41418)
(cherry picked from commit e892646bc7)
2018-06-14 11:59:18 -07:00
a6c6011ed4 SUMMARY (#41560)
The module name, missmatch in documentation.

ISSUE TYPE
- Documentation

COMPONENT NAME

bigip_configsync_action

ANSIBLE VERSION

stable-2.5

Signed-off-by: Rosiney Gomes Pereira <rosiney.pereira@agilitynetworks.com.br>
2018-06-14 11:58:22 -07:00
68134cc635 Don't retrieve config in running_config when config is provided for diff stable 2.5 (#41557)
* don't retrieve config in running_config when config is provided for diff (#41400)

* don't retrieve config in running_config when config is provided for diff

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

* fix for eos, nxos

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

* add integration test

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

* add changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-06-14 11:55:58 -07:00
20a55c5fdc Fix typos in blocks documentation examples. (#41508) (#41524)
(cherry picked from commit a4f49ed648)
2018-06-14 11:55:32 -07:00
b4cb0b46e3 Tasks that are expected to fail need to begin with a special string (#41466)
(cherry picked from commit a5fd86cf6d)
2018-06-14 11:55:06 -07:00
cbaef99489 Fail with nice error message if elb target_type=ip not supported (#38313) (#41430)
* Add helpful failure message if target_type=ip is not supported

Create test case for target_type=ip not supported

* Update elb_target_group module to latest standards

Use AnsibleAWSModule
Improve exception handling
Improve connection handling

(cherry picked from commit 29770a297a)
2018-06-14 11:54:32 -07:00
3db865bd5e Update docs on import/include tasks (#33032) (#41406)
(cherry picked from commit 30da71d880)
2018-06-14 09:52:20 -07:00
c54990fd81 Fix rabbitmq_user when using force on user with permissions (#41361)
On rabbitmq 3.7 using `force: yes` fails because outputs of rabbitmqctl gives an empty line

```
root@rabbitmq-vm1:~# rabbitmqctl -q list_user_permissions john

root@rabbitmq-vm1:~#
```

Provoking an error on

456af458fc/lib/ansible/modules/messaging/rabbitmq_user.py (L185)

Because `perm.split('\t')` does not find any `\t`

Signed-off-by: Sylvain Rabot <s.rabot@lectra.com>
(cherry picked from commit 8ddca3e6cfd906f0ff48a2c08410a9f82d195deb)
2018-06-14 09:52:01 -07:00
d9c5614b92 Make admin_users only contain root and toor because admin is used for non-privileged accounts (#41352)
This fixes one specific instance of failure to chown from a privileged
account:
https://github.com/ansible/ansible/issues/16052#issuecomment-384976615

Fixes #41160

(cherry picked from commit 461a2733e6)
2018-06-14 09:50:28 -07:00
ffd4ee1be7 first_found: fix examples to match the code (#40821) (#41328)
(cherry picked from commit 23a337918c)
2018-06-14 09:49:50 -07:00
f9b95d12ed Fix typeo in param name (#41287) (#41325)
(cherry picked from commit effa235eb6)
2018-06-14 09:49:30 -07:00
f73d123ef4 cloudfront_distribution: fix the order of headers to avoid updates again and again (#37340)
* Fix python2/3 compatibilities issues

* Sort cloudfront_distribution headers to avoid useless updates

(cherry picked from commit ec2e027980)
2018-06-14 09:48:59 -07:00
459342ecc1 Update winrm.py (#41303) (#41305)
fix the typos for winrm port

(cherry picked from commit 7fb92b6f45)
2018-06-14 09:47:57 -07:00
698b8e04f3 Bkprt nolog fix (#41453)
* no_log even when task_result doesn't provide key

 - now also checks task property
 - added reproducer to tests for unreachable status on item loop

(cherry picked from commit 336b3762b2)

* Add changelog entry for the no_log fix

(cherry picked from commit 5fdd101a3e)
2018-06-12 12:28:29 -07:00
0a6bff20d0 fixed prerelease support in deb packaging
(cherry picked from commit 0371e7c866)
2018-06-12 10:57:14 -07:00
8fe99ae001 Fix nxos_l3_interface no switchport issue with loopback and svi interfaces, nxos_snapshot issue (#41318)
* Fix nxos_l3_interface no switchport issue with loopback and svi interfaces

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

* Fix nxos_snapshot compare (#41386)

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

* changelog nxos_snapshot

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-06-11 09:21:49 -07:00
da67d279be Fixes eos_logging idempotence CP into 2.5 (#40931)
* Fixes eos_logging idempotence issue #31862 (#40604)

* eos_logging idempotence fix

* fixed eos_logging idempotence issue

* Fixed pylint and pep8 errors

* Added tests for eos_logging & minor fix

* Removed q statements

(cherry picked from commit b9ea646839)

* Added changelogs for eos_logging idempotence fix

* changelog tweak
2018-06-07 17:15:56 -07:00
fe2520a830 2.5 backport #40826 to fix async for aws_s3 (#41276)
* cherry-picked from 89cea78e30 and fixed merge conflicts from restructuring the integration tests in devel

Fix async for aws_s3

Add a test that async is able to be used on aws_s3 tasks

(cherry picked from commit cef92e3942)

* changelog format tweak
2018-06-07 17:12:13 -07:00
6c5be7d33c Add some dots at the end of sentences (#41176) (#41226)
See e.g. https://docs.ansible.com/ansible/devel/reference_appendices/config.html#default-scp-if-ssh
In the docs the list of strings is just concatenated without additional interpunctuation.

+label: docsite_pr

(cherry picked from commit edb1735ca0)
2018-06-07 17:11:12 -07:00
1256fedd61 Fix ec2_ami block_device_mapping volume_size to be int in 2.5 (#40938) (#41217)
* Fix ec2_ami block_device_mapping volume_size to be int in 2.5 (#40938)

* fix ec2_ami block_device_mapping size to be int

* fixed cr issues

renamed `type` to `attribute_type`
reused `new_item` instead of creating new variable `value`

(cherry picked from commit ab96a84154)

* changelog

(cherry picked from commit e6cd727181)

* changelog format tweak
2018-06-07 17:10:45 -07:00
125d1e3867 aws_s3: don't decrypt file before uploading - fixes #39287 (#39634) (#41205)
* aws_s3: don't decrypt file before uploading - fixes #39287 (#39634)

* aws_s3: do not decrypt file before uploading to bucket

* changelog

(cherry picked from commit 387c37e255)

* changelog format tweak
2018-06-07 17:09:58 -07:00
394753b918 Docs fix: ansible_group_priority defaults to 1 (#41204)
The docs committed in #28777 were inconsistent.
This clarifies that the default `ansible_group_priority` is `1`.[1][2]

[1] https://github.com/ansible/ansible/blob/153c9bd/lib/ansible/inventory/group.py#L40
[2] https://github.com/ansible/ansible/blob/153c9bd/lib/ansible/cli/inventory.py#L236

(cherry picked from commit 4fa2fb9c89)
2018-06-07 17:09:04 -07:00
79cedcbaa5 Do not gather mem facts if command invalid (#40820) (#41141)
* Do not gather mem facts if command invalid (#40820)

* Do not gather mem facts if command invalid

In some firmwares, 'show memory statistics' fail, thus
do not populate mem if we got a failure after running that command.

* Fix pep8

* Warn if got error when running 'sh memory statistics'

* Fix pep8

(cherry picked from commit 669949e6a3)

* Update ios_facts.py (#40928)

Account for upper/lower case match occurrences of "[Nn]umber" and "[Ss]erial"

Model Number                       : WS-C3850-12X48U
System Serial Number          :  <removed>

(cherry picked from commit 12d221152b)

* Expand ios password prompt regex (#41131)


(cherry picked from commit 49fddb6f28)
2018-06-07 17:06:17 -07:00
72ad0dd4ec Fix ios_logging idempotence CP into 2.5 (#41120)
* Fixes to ios_logging (#41029)

* Logging size may not show up in config

* This is much simpler

* Avoid repetition in tests

* Both options of buffered are optional

(cherry picked from commit 92a95368fe)

* Added changelog
2018-06-07 17:05:47 -07:00
43cfb89c2a 2.5 backport #40720 - fix cache timeout behavior (#41018)
* Fix cache timeout behavior

(cherry picked from commit c1400ce909)

* changelog
2018-06-07 17:01:50 -07:00
515a625e13 dictionary changed size during iteration error (#37454) (#41000)
Iterating an object and changing it at the same time is unsecure and no longer permitted in Python >= 3.6

Provisioning an instance fail with the Python error: "RuntimeError: dictionary changed size during iteration"
2018-06-07 17:01:21 -07:00
7e04385baf os_server_action: Document the python-novaclient requirement (#40841)
Without also installing the python-novaclient library, this module
simply does not work.

Fixes: #35484
2018-06-07 16:54:36 -07:00
be9de94eea Correct the OpenStack plugin example config (#40766)
The current example configuration is not
quite right, so this patch implements a
fix which corrects it

The 'inventory_hostname' argument is removed
as it's the same value as the default.

(cherry picked from commit 12218f33a5)
2018-06-07 16:48:49 -07:00
c142e2f1a3 os_project_access: clean up some things (#40763)
* os_project_access: correct example tasks

The example task does not work. Fix it so that it does.

(cherry picked from commit 028b5965b6)

* os_project_access: Remove unused function

The _get_allowed_projects function is not used anywhere,
so we can remove it and be free of nova_client for this
module.

(cherry picked from commit c190a2826d)
2018-06-07 16:48:04 -07:00
d525d7cf5f os_server: Remove nova_client usage (#40765)
The os_server module uses the deprecated nova_client function, and
therefore ends up requiring python-novaclient installed. In this
patch we switch the ip detachment to make use of a shade function,
removing the need for python-novaclient.

(cherry picked from commit 055d89cd32)
2018-06-07 16:46:34 -07:00
723dcea33e Make alias autodetection for symlinked modules independent of glob() order. (#40293) (#41266)
(cherry picked from commit 2a29b2ff7f)
2018-06-07 12:25:10 -07:00
609c792072 Better error message if the template is not utf-8 encoded (#41030) (#41265)
* Better error message if the template is not utf-8 encoded

Also document this in the porting guide
(cherry picked from commit cef4d862bc)
2018-06-07 12:24:13 -07:00
ebc36eed8c fix nxos output truncated issue and nxos_banner issue (#40962)
* fix nxos output truncated issue

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

* add changelog

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

* fix nxos_banner issue (#41026)

(cherry picked from commit b6afb77a8a)

* add changelog for nxos_banner fix

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-06-07 09:45:30 -07:00
60ab7b2807 winrm: fix up unit tests (#41112) (#41211)
(cherry picked from commit ad8e13e9f8)
2018-06-06 15:57:00 -07:00
04a5fc5e5a Backport/2.5/39948 (#41094)
* Fix formatting error in rst plugin template (#38956)

The hyperlink syntax used is wrong and the resulting
rendered documents have broken links.

(cherry picked from commit aaf2ff629d)

* Add missing > to fix 'edit this document' link (#39067)

(cherry picked from commit ebdf6d0fab)

* Fix problems in documentation generation (#40050)

* Treat C(...) as inline literal (as opposed to interpreted text).

* Making test for true and false more precise, to avoid matching 1, 1.0, etc.

* The 'is sameas' test already takes care of definedness.

(cherry picked from commit f16933492d)

* Namespace the aliases ref target by plugin type (#38925)

(cherry picked from commit 7ce1afebf0)

* Use colspan on td instead of divs for hierarchical tables (#39948)

Address Firefox table-rendering issues in docs. Refactor to use colspan to provide table cells which can vary in width and indentation; the outermost has the greatest colspan, and each nested key has a colspan of one less than the parent, with padding cells for indentation.
Apply styling to table cells to get the table height to work without hacks or browser-specific
styling.  Simplify the markup and CSS by removing extra divs. Use two passes over the options, return values, and return facts in the Jinja2 module-docs template: one to determine the maximum nesting depth to compute the maximum colspan needed, plus one to lay out the rows.
(cherry picked from commit fa5c0282a4)
2018-06-06 13:32:02 -07:00
456af458fc add codename to release.py 2018-05-31 16:16:35 -07:00
8e7251a6b7 bump to pre-2.5.5 2018-05-31 15:25:15 -07:00
712 changed files with 4648 additions and 2707 deletions

View File

@ -358,20 +358,20 @@ deb-src: debian
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
done
@echo "#############################################"
.PHONY: deb-upload
deb-upload: deb
@for DIST in $(DEB_DIST) ; do \
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
.PHONY: deb-src-upload
deb-src-upload: deb-src
@for DIST in $(DEB_DIST) ; do \
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
$(DPUT_BIN) $(DPUT_OPTS) $(DEB_PPA) deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_source.changes ; \
done
.PHONY: epub

View File

@ -2,6 +2,239 @@
Ansible 2.5 "Kashmir" Release Notes
===================================
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.9:
v2.5.9
======
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.9_Minor Changes:
Minor Changes
-------------
- import_tasks - Do not allow import_tasks to transition to dynamic if the file is missing (https://github.com/ansible/ansible/issues/44822)
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.9_Bugfixes:
Bugfixes
--------
- user - Strip trailing comments in /etc/default/passwd (https://github.com/ansible/ansible/pull/43931)
- fix example code for AWS lightsail documentation
- fix the enable_snat parameter that is only supposed to be used by an user with the right policies. https://github.com/ansible/ansible/pull/44418
- ios_l2_interface - fix issue with certain interface types (https://github.com/ansible/ansible/pull/43819)
- ios_user - fix unable to delete user admin issue (https://github.com/ansible/ansible/pull/44904)
- ansible-galaxy - properly list all roles in roles_path (https://github.com/ansible/ansible/issues/43010)
- ios_vlan - fix unable to work on certain interface types issue (https://github.com/ansible/ansible/pull/43819)
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_ prints out a warning message about skipping a config file from a world writable current working directory. However, if the user is in a world writable current working directory which does not contain a config file, it should not print a warning message. This release fixes that extaneous warning.
- Add md5sum check in nxos_file_copy module (https://github.com/ansible/ansible/pull/43423).
- nxos_interface port-channel idempotence fix for mode (https://github.com/ansible/ansible/pull/44248).
- nxos_linkagg mode fix (https://github.com/ansible/ansible/pull/44294).
- Fix check_mode in nxos_static_route module (https://github.com/ansible/ansible/pull/44252).
- Fix Python2.6 regex bug terminal plugin nxos, iosxr (https://github.com/ansible/ansible/pull/45135).
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.8:
v2.5.8
======
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.8_Release Summary:
Release Summary
---------------
| Release Date: 2018-08-16
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.8_Bugfixes:
Bugfixes
--------
- fix for the bundled selectors module (used in the ssh and local connection plugins) when a syscall is restarted after being interrupted by a signal (https://github.com/ansible/ansible/issues/41630)
- Fix the mount module's handling of swap entries in fstab (https://github.com/ansible/ansible/pull/42837)
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_ prints out a warning message about skipping a config file from a world writable current working directory. However, if the user explicitly specifies that the config file should be used via the ANSIBLE_CONFIG environment variable then Ansible would honor that but still print out the warning message. This has been fixed so that Ansible honors the user's explicit wishes and does not print a warning message in that circumstance.
- fact names that conflict with well-known connection vars are now filtered (https://github.com/ansible/ansible/issues/41684)
- get_url - fix the bug that get_url does not change mode when checksum matches (https://github.com/ansible/ansible/issues/29614)
- openvswitch_db - make 'key' argument optional https://github.com/ansible/ansible/issues/42108
- slack callback - Fix invocation by looking up data from cli.options (https://github.com/ansible/ansible/pull/43542)
- vars_prompt - properly template play level variables in vars_prompt (https://github.com/ansible/ansible/issues/37984)
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.7:
v2.5.7
======
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.7_Release Summary:
Release Summary
---------------
| Release Date: 2018-07-26
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.7_Bugfixes:
Bugfixes
--------
- eos_facts - fix failure when lldp will be disabled (https://github.com/ansible/ansible/pull/42347)
- ios_vlan - fix unable to identify correct vlan issue (https://github.com/ansible/ansible/pull/42247)
- ios_linkagg - fix picking correct interface names issue (https://github.com/ansible/ansible/pull/42557)
- get_capabilities in nxapi module_utils should not return empty dictionary (https://github.com/ansible/ansible/pull/42688).
- Enforcing NXAPI default HTTP behavior (https://github.com/ansible/ansible/pull/41817).
- pause - do not set stdout to raw mode when redirecting to a file (https://github.com/ansible/ansible/issues/41717)
- pause - nest try except when importing curses to gracefully fail if curses is not present (https://github.com/ansible/ansible/issues/42004)
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.6:
v2.5.6
======
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.6_Release Summary:
Release Summary
---------------
| Release Date: 2018-07-05
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.6_Minor Changes:
Minor Changes
-------------
- Restore module_utils.basic.BOOLEANS variable for backwards compatibility with the module API in older ansible releases.
- lineinfile - add warning when using an empty regexp (https://github.com/ansible/ansible/issues/29443)
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.6_Bugfixes:
Bugfixes
--------
- apt - fix apt-mark on debian6 (https://github.com/ansible/ansible/pull/41530)
- **Security Fix** - avoid loading host/group vars from cwd when not specifying a playbook or playbook base dir
- copy module - fixed recursive copy with relative paths (https://github.com/ansible/ansible/pull/40166)
- correct debug display for all cases https://github.com/ansible/ansible/pull/41331
- eos_l2_interface - fix eapi (https://github.com/ansible/ansible/pull/42270)
- group_by - support implicit localhost (https://github.com/ansible/ansible/pull/41860)
- influxdb_query - fixed the use of the common return 'results' caused an unexpected fault. The return is renamed to 'query_results'
- junos_config - fix confirm commit timeout issue (https://github.com/ansible/ansible/pull/41527)
- lineinfile - fix insertbefore when used with BOF to not insert duplicate lines (https://github.com/ansible/ansible/issues/38219)
- nsupdate - allow hmac-sha384 https://github.com/ansible/ansible/pull/42209
- nxos_linkagg - fix issue (https://github.com/ansible/ansible/pull/41550).
- nxos_vxlan_vtep_vni - fix issue (https://github.com/ansible/ansible/pull/42240)
- uses correct conn info for reset_connection https://github.com/ansible/ansible/issues/27520
- correct service facts systemd detection of state https://github.com/ansible/ansible/issues/40809
- correctly check hostvars for vars term https://github.com/ansible/ansible/pull/41819
- vyos_vlan - fix aggregate configuration issues (https://github.com/ansible/ansible/pull/41638)
- win_domain - fixes typo in one of the AD cmdlets https://github.com/ansible/ansible/issues/41536
- win_iis_webapppool - redirect some module output to null so Ansible can read the output JSON https://github.com/ansible/ansible/issues/40874
- win_updates - Fixed issue where running win_updates on async fails without any error
- winrm - ensure pexpect is set to not echo the input on a failure and have a manual sanity check afterwards https://github.com/ansible/ansible/issues/41865
- **Security Fix** - avoid using ansible.cfg in a world writable dir.
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.5:
v2.5.5
======
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.5_Release Summary:
Release Summary
---------------
| Release Date: 2018-06-14
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.5_Bugfixes:
Bugfixes
--------
- Changed the admin_users config option to not include "admin" by default as admin is frequently used for a non-privileged account (https://github.com/ansible/ansible/pull/41164)
- aws_s3 - add async support to the action plugin (https://github.com/ansible/ansible/pull/40826)
- aws_s3 - fix decrypting vault files (https://github.com/ansible/ansible/pull/39634)
- ec2_ami - cast the device_mapping volume size to an int (https://github.com/ansible/ansible/pull/40938)
- eos_logging - fix idempotency issues (https://github.com/ansible/ansible/pull/40604)
- cache plugins - A cache timeout of 0 means the cache will not expire.
- ios_logging - fix idempotency issues (https://github.com/ansible/ansible/pull/41029)
- ios/nxos/eos_config - don't retrieve config in running_config when config is provided for diff (https://github.com/ansible/ansible/pull/41400)
- **Security Fix** - Some connection exceptions would cause no_log specified on a task to be ignored. If this happened, the task information, including any private information could have been displayed to stdout and (if enabled, not the default) logged to a log file specified in ansible.cfg's log_path. Additionally, sites which redirected stdout from ansible runs to a log file may have stored that private information onto disk that way as well. (https://github.com/ansible/ansible/pull/41414)
- nxos_banner - fix multiline banner issue (https://github.com/ansible/ansible/pull/41026).
- nxos terminal plugin - fix output truncation (https://github.com/ansible/ansible/pull/40960)
- nxos_l3_interface - fix no switchport issue with loopback and svi interfaces (https://github.com/ansible/ansible/pull/37392).
- nxos_snapshot - fix compare_option (https://github.com/ansible/ansible/pull/41386)
.. _Ansible 2.5 "Kashmir" Release Notes_v2.5.4:
v2.5.4
@ -21,16 +254,28 @@ Release Summary
Bugfixes
--------
- skip marking packages as manually installed when apt-mark is not available (https://github.com/ansible/ansible/pull/40600)
- jenkins_plugin - fix plugin always updated even if already uptodate (https://github.com/ansible/ansible/pull/40645)
- allow ansible-doc to handle 'keywords' configuration entries https://github.com/ansible/ansible/pull/40620
- ec2_asg - wait for lifecycle hooks to complete (https://github.com/ansible/ansible/issues/37281)
- edgeos modules - add note and warning that the modules require network_cli connection (https://github.com/ansible/ansible/issues/39499)
- edgeos_config - check for a corresponding set command when issuing delete commands to ensure the desired state is met (https://github.com/ansible/ansible/issues/40437)
- callback plugins - correctly reference the callback object when giving an error (https://github.com/ansible/ansible/pull/40453)
- fix doas construction for become (https://github.com/ansible/ansible/pull/37511)
- iptables - use suboptions to properly join tcp_flags options (https://github.com/ansible/ansible/issues/36490)
- known_hosts - add better checking and error reporting to the host field (https://github.com/ansible/ansible/pull/38307)
- meta: reset connection is not run once (https://github.com/ansible/ansible/issues/39364)
- Fix legacy Nexus 3k integration test and module issues (https://github.com/ansible/ansible/pull/40322).
- Skip N35 and N3L platforms for nxos_evpn_global test (https://github.com/ansible/ansible/pull/40333).
@ -51,6 +296,10 @@ Bugfixes
- synchronize - Ensure the local connection created by synchronize uses _remote_is_local=True, which causes ActionBase to build a local tmpdir (https://github.com/ansible/ansible/pull/40833)
- synchronize - Ensure rsync_opts is a list when not provided
- action - Ensure remote user is correctly calculated when expanding the remote user path
- win_get_url - fixed issue when authenticating when force=yes https://github.com/ansible/ansible/pull/40641
- winrm - allow `ansible_user` or `ansible_winrm_user` to override `ansible_ssh_user` when both are defined in an inventory - https://github.com/ansible/ansible/issues/39844
@ -103,6 +352,12 @@ Bugfixes
- Fix regression in aws_s3 to allow uploading files on the remote host to an S3 bucket
- dont require property for older callbacks to load https://github.com/ansible/ansible/pull/38281
- fix diff callback only being called when global diff option was set and not honoring task diff (https://github.com/ansible/ansible/issues/31129)
- minor doc fix https://github.com/ansible/ansible/pull/39111
- ec2_vpc_route_table - fix regression by skipping routes without DestinationCidrBlock (https://github.com/ansible/ansible/pull/37010)
- Use custom waiters
@ -113,6 +368,8 @@ Bugfixes
- Don't use custom waiter configs for older versions of botocore
- return empty list if host pattern is empty https://github.com/ansible/ansible/pull/37931
- Fix an encoding issue when parsing the examples from a plugins' documentation
- Fix misuse of self in module_utils/network/eos/eos.py (https://github.com/ansible/ansible/pull/39074)
@ -125,6 +382,14 @@ Bugfixes
- file - Eliminate an error if we're asked to remove a file but something removes it while we are processing the request (https://github.com/ansible/ansible/pull/39466)
- Capture correct exception type https://github.com/ansible/ansible/pull/39406
- dont emit empty error due to \n https://github.com/ansible/ansible/pull/39019
- single bad path for galaxy is just a warning, error only if no usable paths found https://github.com/ansible/ansible/pull/39082
- correctly deal with user homedir (~) translations https://github.com/ansible/ansible/pull/36755
- Fix interfaces_file to support `allow-` https://github.com/ansible/ansible/pull/37847
- ios cliconf plugin fix regex for version (https://github.com/ansible/ansible/pull/40066)
@ -141,6 +406,8 @@ Bugfixes
- Fix junos_config confirm timeout issue (https://github.com/ansible/ansible/pull/40238)
- avoid uneeded reloading of plugin files https://github.com/ansible/ansible/pull/37648
- Fix nested noop block padding in dynamic includes (https://github.com/ansible/ansible/pull/38814)
- nio_lookup_error - fixed nios lookup errors out when there are no results
@ -171,8 +438,20 @@ Bugfixes
- nxos_snapshot - Fix logic for save_snapshot_locally (https://github.com/ansible/ansible/pull/40227)
- nxos terminal plugin on_become (https://github.com/ansible/ansible/pull/39355)
- nxos module_doc_fragments for authorize, auth_pass (https://github.com/ansible/ansible/pull/39946)
- Fix nxos terminal plugin regex (https://github.com/ansible/ansible/pull/39659)
- protect against bad plugin verify method https://github.com/ansible/ansible/pull/36591
- include_role - disambiguate keywords from variables (https://github.com/ansible/ansible/pull/38968)
- filter was removed ... docs shoudl be too https://github.com/ansible/ansible/pull/37946
- ensure C locale for chkconfig to allow sane screen scraping https://github.com/ansible/ansible/pull/38980
- template action plugin - fix the encoding of filenames to avoid tracebacks on Python2 when characters that are not present in the user's locale are present. (https://github.com/ansible/ansible/pull/39424)
- ufw - "route" has to be the first option in ufw command https://github.com/ansible/ansible/pull/31756
@ -303,6 +582,8 @@ Bugfixes
- Set default network type as 'dhcp' if user has not specified any.
- Changed hostname variable in order for the esxi host to be found when authentication against a vcenter was done.
- nmcli change default value of autoconnect
- azure_rm_image - Allow Azure images to be created with tags, bug was introduced in Ansible v2.5.0
@ -325,6 +606,8 @@ Bugfixes
- edgeos_command - add action plugin to backup config (https://github.com/ansible/ansible/pull/37619)
- eos cliconf get_config() format type fix (https://github.com/ansible/ansible/pull/38682)
- eos_vlan - fixed eos_vlan not working when having more than 6 interfaces (https://github.com/ansible/ansible/pull/38347)
- Various grafana_* modules - Port away from the deprecated b64encodestring function to the b64encode function instead. (https://github.com/ansible/ansible/pull/38388)
@ -341,6 +624,8 @@ Bugfixes
- Add supported connection in junos module documentation (https://github.com/ansible/ansible/pull/38813)
- junos_netconf - Report error is wrong connection type is used for junos_netconf (https://github.com/ansible/ansible/pull/38527)
- _nxos_switchport - fix removal of trunk vlans (https://github.com/ansible/ansible/pull/37328)
- nxos_l2_interface - fix removal of trunk vlans (https://github.com/ansible/ansible/pull/37336)
@ -389,6 +674,8 @@ Bugfixes
- Fix traceback when creating or stopping ovirt vms (https://github.com/ansible/ansible/pull/37249)
- Add url to troubleshoot persistent socket path related issues https://github.com/ansible/ansible/pull/38542
- Fix for consul_kv idempotence on Python3 https://github.com/ansible/ansible/issues/35893
- Fix csvfile lookup plugin when used on Python3 https://github.com/ansible/ansible/pull/37625

View File

@ -0,0 +1,2 @@
bugfixes:
- apt - fix apt-mark on debian6 (https://github.com/ansible/ansible/pull/41530)

View File

@ -0,0 +1,2 @@
bugfixes:
- user - Strip trailing comments in /etc/default/passwd (https://github.com/ansible/ansible/pull/43931)

View File

@ -0,0 +1,4 @@
---
bugfixes:
- Changed the admin_users config option to not include "admin" by default as
admin is frequently used for a non-privileged account (https://github.com/ansible/ansible/pull/41164)

View File

@ -1,2 +1,2 @@
- bugfixes:
bugfixes:
- allow ansible-doc to handle 'keywords' configuration entries https://github.com/ansible/ansible/pull/40620

View File

@ -0,0 +1,2 @@
bugfixes:
- '**Security Fix** - avoid loading host/group vars from cwd when not specifying a playbook or playbook base dir'

View File

@ -0,0 +1,3 @@
---
bugfixes:
- fix example code for AWS lightsail documentation

View File

@ -0,0 +1,3 @@
---
bugfixes:
- aws_s3 - add async support to the action plugin (https://github.com/ansible/ansible/pull/40826)

View File

@ -0,0 +1,3 @@
---
bugfixes:
- aws_s3 - fix decrypting vault files (https://github.com/ansible/ansible/pull/39634)

View File

@ -0,0 +1,3 @@
---
minor_changes:
- Restore module_utils.basic.BOOLEANS variable for backwards compatibility with the module API in older ansible releases.

View File

@ -0,0 +1,3 @@
---
bugfixes:
- copy module - fixed recursive copy with relative paths (https://github.com/ansible/ansible/pull/40166)

View File

@ -0,0 +1,2 @@
bugfixes:
- correct debug display for all cases https://github.com/ansible/ansible/pull/41331

View File

@ -0,0 +1,3 @@
---
bugfixes:
- ec2_ami - cast the device_mapping volume size to an int (https://github.com/ansible/ansible/pull/40938)

View File

@ -0,0 +1,4 @@
---
bugfixes:
- eos_facts - fix failure when lldp will be disabled
(https://github.com/ansible/ansible/pull/42347)

View File

@ -0,0 +1,2 @@
bugfixes:
- eos_l2_interface - fix eapi (https://github.com/ansible/ansible/pull/42270)

View File

@ -0,0 +1,2 @@
bugfixes:
- eos_logging - fix idempotency issues (https://github.com/ansible/ansible/pull/40604)

View File

@ -0,0 +1,3 @@
bugfixes:
- fix the enable_snat parameter that is only supposed to be used by an user
with the right policies. https://github.com/ansible/ansible/pull/44418

View File

@ -0,0 +1,5 @@
---
bugfixes:
- fix for the bundled selectors module (used in the ssh and local connection
plugins) when a syscall is restarted after being interrupted by a signal
(https://github.com/ansible/ansible/issues/41630)

View File

@ -0,0 +1,4 @@
---
bugfixes:
- Fix the mount module's handling of swap entries in fstab
(https://github.com/ansible/ansible/pull/42837)

View File

@ -0,0 +1,9 @@
---
bugfixes:
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_
prints out a warning message about skipping a config file from a world
writable current working directory. However, if the user explicitly
specifies that the config file should be used via the ANSIBLE_CONFIG
environment variable then Ansible would honor that but still print out the
warning message. This has been fixed so that Ansible honors the user's
explicit wishes and does not print a warning message in that circumstance.

View File

@ -0,0 +1,2 @@
bugfixes:
- cache plugins - A cache timeout of 0 means the cache will not expire.

View File

@ -1,2 +1,2 @@
- bufgix:
- correctly reference the callback ojbect when giving an error https://github.com/ansible/ansible/pull/40453
bugfixes:
- callback plugins - correctly reference the callback object when giving an error (https://github.com/ansible/ansible/pull/40453)

View File

@ -1,2 +1,2 @@
- bugfix:
- fix doas construction for become https://github.com/ansible/ansible/pull/37511
bugfixes:
- fix doas construction for become (https://github.com/ansible/ansible/pull/37511)

View File

@ -0,0 +1,2 @@
bugfixes:
- fact names that conflict with well-known connection vars are now filtered (https://github.com/ansible/ansible/issues/41684)

View File

@ -0,0 +1,3 @@
---
bugfixes:
- ios_l2_interface - fix issue with certain interface types (https://github.com/ansible/ansible/pull/43819)

View File

@ -0,0 +1,3 @@
---
bugfixes:
- ios_user - fix unable to delete user admin issue (https://github.com/ansible/ansible/pull/44904)

View File

@ -0,0 +1,2 @@
bugfixes:
- ios_vlan - fix unable to identify correct vlan issue (https://github.com/ansible/ansible/pull/42247)

View File

@ -0,0 +1,2 @@
bugfixes:
- ansible-galaxy - properly list all roles in roles_path (https://github.com/ansible/ansible/issues/43010)

View File

@ -0,0 +1,2 @@
bugfixes:
- get_url - fix the bug that get_url does not change mode when checksum matches (https://github.com/ansible/ansible/issues/29614)

View File

@ -0,0 +1,2 @@
bugfixes:
- group_by - support implicit localhost (https://github.com/ansible/ansible/pull/41860)

View File

@ -0,0 +1,2 @@
bugfixes:
- "influxdb_query - fixed the use of the common return 'results' caused an unexpected fault. The return is renamed to 'query_results'"

View File

@ -0,0 +1,2 @@
bugfixes:
- ios_linkagg - fix picking correct interface names issue (https://github.com/ansible/ansible/pull/42557)

View File

@ -0,0 +1,2 @@
bugfixes:
- ios_logging - fix idempotency issues (https://github.com/ansible/ansible/pull/41029)

View File

@ -0,0 +1,2 @@
bugfixes:
- ios/nxos/eos_config - don't retrieve config in running_config when config is provided for diff (https://github.com/ansible/ansible/pull/41400)

View File

@ -0,0 +1,3 @@
---
bugfixes:
- ios_vlan - fix unable to work on certain interface types issue (https://github.com/ansible/ansible/pull/43819)

View File

@ -0,0 +1,2 @@
bugfixes:
- junos_config - fix confirm commit timeout issue (https://github.com/ansible/ansible/pull/41527)

View File

@ -1,2 +0,0 @@
- bufgixes:
- Allow aliases and update corner cases for hidden fields https://github.com/ansible/ansible/pull/39506

View File

@ -0,0 +1,2 @@
minor_changes:
- lineinfile - add warning when using an empty regexp (https://github.com/ansible/ansible/issues/29443)

View File

@ -0,0 +1,2 @@
bugfixes:
- lineinfile - fix insertbefore when used with BOF to not insert duplicate lines (https://github.com/ansible/ansible/issues/38219)

View File

@ -1,2 +0,0 @@
- docs:
- added docs on new lookup option that allows users to controll errors

View File

@ -1,2 +1,2 @@
- bugfixes:
- reset connection is not run once https://github.com/ansible/ansible/issues/39364
bugfixes:
- 'meta: reset connection is not run once (https://github.com/ansible/ansible/issues/39364)'

View File

@ -0,0 +1,7 @@
---
bugfixes:
- The fix for `CVE-2018-10875 <https://access.redhat.com/security/cve/cve-2018-10875>`_
prints out a warning message about skipping a config file from a world
writable current working directory. However, if the user is in a world
writable current working directory which does not contain a config file, it
should not print a warning message. This release fixes that extaneous warning.

View File

@ -0,0 +1,2 @@
minor_changes:
- import_tasks - Do not allow import_tasks to transition to dynamic if the file is missing (https://github.com/ansible/ansible/issues/44822)

View File

@ -0,0 +1,9 @@
---
bugfixes:
- '**Security Fix** - Some connection exceptions would cause no_log specified on
a task to be ignored. If this happened, the task information, including any
private information could have been displayed to stdout and (if enabled, not
the default) logged to a log file specified in ansible.cfg''s log_path.
Additionally, sites which redirected stdout from ansible runs to a log file
may have stored that private information onto disk that way as well.
(https://github.com/ansible/ansible/pull/41414)'

View File

@ -0,0 +1,2 @@
bugfixes:
- nsupdate - allow hmac-sha384 https://github.com/ansible/ansible/pull/42209

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_banner - fix multiline banner issue (https://github.com/ansible/ansible/pull/41026).

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos terminal plugin - fix output truncation (https://github.com/ansible/ansible/pull/40960)

View File

@ -0,0 +1,2 @@
bugfixes:
- Add md5sum check in nxos_file_copy module (https://github.com/ansible/ansible/pull/43423).

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_interface port-channel idempotence fix for mode (https://github.com/ansible/ansible/pull/44248).

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_l3_interface - fix no switchport issue with loopback and svi interfaces (https://github.com/ansible/ansible/pull/37392).

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_linkagg mode fix (https://github.com/ansible/ansible/pull/44294).

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_linkagg - fix issue (https://github.com/ansible/ansible/pull/41550).

View File

@ -0,0 +1,2 @@
bugfixes:
- get_capabilities in nxapi module_utils should not return empty dictionary (https://github.com/ansible/ansible/pull/42688).

View File

@ -0,0 +1,2 @@
bugfixes:
- Enforcing NXAPI default HTTP behavior (https://github.com/ansible/ansible/pull/41817).

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_snapshot - fix compare_option (https://github.com/ansible/ansible/pull/41386)

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix check_mode in nxos_static_route module (https://github.com/ansible/ansible/pull/44252).

View File

@ -0,0 +1,2 @@
bugfixes:
- nxos_vxlan_vtep_vni - fix issue (https://github.com/ansible/ansible/pull/42240)

View File

@ -0,0 +1,2 @@
bugfixes:
- openvswitch_db - make 'key' argument optional https://github.com/ansible/ansible/issues/42108

View File

@ -0,0 +1,2 @@
bugfixes:
- pause - do not set stdout to raw mode when redirecting to a file (https://github.com/ansible/ansible/issues/41717)

View File

@ -0,0 +1,2 @@
bugfixes:
- pause - nest try except when importing curses to gracefully fail if curses is not present (https://github.com/ansible/ansible/issues/42004)

View File

@ -1,2 +1,2 @@
- bugfixes:
- disambiguate keywords from variables in include_role https://github.com/ansible/ansible/pull/38968
bugfixes:
- include_role - disambiguate keywords from variables (https://github.com/ansible/ansible/pull/38968)

View File

@ -0,0 +1,2 @@
bugfixes:
- uses correct conn info for reset_connection https://github.com/ansible/ansible/issues/27520

View File

@ -0,0 +1,2 @@
bugfixes:
- correct service facts systemd detection of state https://github.com/ansible/ansible/issues/40809

View File

@ -0,0 +1,2 @@
bugfixes:
- slack callback - Fix invocation by looking up data from cli.options (https://github.com/ansible/ansible/pull/43542)

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix Python2.6 regex bug terminal plugin nxos, iosxr (https://github.com/ansible/ansible/pull/45135).

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2018-06-14
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2018-07-05
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2018-07-26
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_

View File

@ -0,0 +1,3 @@
release_summary: |
| Release Date: 2018-08-16
| `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`_

View File

@ -0,0 +1,2 @@
bugfixes:
- correctly check hostvars for vars term https://github.com/ansible/ansible/pull/41819

View File

@ -0,0 +1,2 @@
bugfixes:
- vars_prompt - properly template play level variables in vars_prompt (https://github.com/ansible/ansible/issues/37984)

View File

@ -0,0 +1,2 @@
bugfixes:
- vyos_vlan - fix aggregate configuration issues (https://github.com/ansible/ansible/pull/41638)

View File

@ -0,0 +1,2 @@
bugfixes:
- win_domain - fixes typo in one of the AD cmdlets https://github.com/ansible/ansible/issues/41536

View File

@ -0,0 +1,2 @@
bugfixes:
- win_iis_webapppool - redirect some module output to null so Ansible can read the output JSON https://github.com/ansible/ansible/issues/40874

View File

@ -0,0 +1,2 @@
bugfixes:
- win_updates - Fixed issue where running win_updates on async fails without any error

View File

@ -0,0 +1,2 @@
bugfixes:
- winrm - ensure pexpect is set to not echo the input on a failure and have a manual sanity check afterwards https://github.com/ansible/ansible/issues/41865

View File

@ -0,0 +1,2 @@
bugfixes:
- '**Security Fix** - avoid using ansible.cfg in a world writable dir.'

View File

@ -85,6 +85,28 @@ pp = PrettyPrinter()
display = Display()
# kludge_ns gives us a kludgey way to set variables inside of loops that need to be visible outside
# the loop. We can get rid of this when we no longer need to build docs with less than Jinja-2.10
# http://jinja.pocoo.org/docs/2.10/templates/#assignments
# With Jinja-2.10 we can use jinja2's namespace feature, restoring the namespace template portion
# of: fa5c0282a4816c4dd48e80b983ffc1e14506a1f5
NS_MAP = {}
def to_kludge_ns(key, value):
NS_MAP[key] = value
return ""
def from_kludge_ns(key):
return NS_MAP[key]
# The max filter was added in Jinja2-2.10. Until we can require that version, use this
def do_max(seq):
return max(seq)
def rst_ify(text):
''' convert symbols like I(this is in italics) to valid restructured text '''
@ -94,7 +116,7 @@ def rst_ify(text):
t = _MODULE.sub(r":ref:`\1 <\1>`", t)
t = _LINK.sub(r"`\1 <\2>`_", t)
t = _URL.sub(r"\1", t)
t = _CONST.sub(r"`\1`", t)
t = _CONST.sub(r"``\1``", t)
t = _RULER.sub(r"------------", t)
except Exception as e:
raise AnsibleError("Could not process (%s) : %s" % (text, e))
@ -251,7 +273,7 @@ def get_plugin_info(module_dir, limit_to=None, verbose=False):
module_info[module] = {'path': module_path,
'source': os.path.relpath(module_path, module_dir),
'deprecated': deprecated,
'aliases': set(),
'aliases': module_info[module].get('aliases', set()),
'metadata': metadata,
'doc': doc,
'examples': examples,
@ -298,6 +320,14 @@ def jinja2_environment(template_dir, typ, plugin_type):
trim_blocks=True)
env.globals['xline'] = rst_xline
# Can be removed (and template switched to use namespace) when we no longer need to build
# with <Jinja-2.10
env.globals['to_kludge_ns'] = to_kludge_ns
env.globals['from_kludge_ns'] = from_kludge_ns
if 'max' not in env.filters:
# Jinja < 2.10
env.filters['max'] = do_max
templates = {}
if typ == 'rst':
env.filters['convert_symbols_to_format'] = rst_ify

View File

@ -421,51 +421,17 @@ table {
max-width: 100%;
}
.outer-elbow-container {
display: flex;
height: 100%;
flex-direction: row;
}
.elbow-placeholder {
.documentation-table td.elbow-placeholder {
border-left: 1px solid #000;
height: 100%;
border-top: 0px;
width: 30px;
min-width: 30px;
}
.elbow-key {
height: 100%;
padding: 4px;
border-top: 1px solid #000;
flex-grow: 1;
border-left: 1px solid #000;
}
.elbow-blocker {
height: 0;
overflow: hidden;
}
.return-value-column {
height: 1px
}
.return-value-column td {
height: inherit
}
@-moz-document url-prefix() {
.return-value-column td {
height: 100%
}
}
.cell-border {
.documentation-table th, .documentation-table td {
padding: 4px;
border-left: 1px solid #000;
border-top: 1px solid #000;
height: 100%;
}
.documentation-table {

View File

@ -4867,50 +4867,17 @@ table {
}
}
.outer-elbow-container {
display: flex;
height: 100%;
flex-direction: row;
}
.elbow-placeholder {
.documentation-table td.elbow-placeholder {
border-left: 1px solid #000;
height: 100%;
border-top: 0px;
width: 30px;
min-width: 30px;
}
.elbow-key {
height: 100%;
padding: 4px;
border-top: 1px solid #000;
flex-grow: 1;
border-left: 1px solid #000;
}
.elbow-blocker {
height: 0;
overflow: hidden;
}
.return-value-column {
height: 1px
}
.return-value-column td {
height: inherit
}
@-moz-document url-prefix() {
.return-value-column td {
height: 100%
}
}
.cell-border {
.documentation-table th, .documentation-table td {
padding: 4px;
border-left: 1px solid #000;
border-top: 1px solid #000;
height: 100%;
}
.documentation-table {

View File

@ -1,3 +1,5 @@
.. _community_development_process:
The Ansible Development Process
===============================

View File

@ -3,7 +3,7 @@ How To Help
.. contents:: Topics
Thanks for being interested in helping the Ansible project!
Thanks for being interested in helping the Ansible project!
There are many ways to help the Ansible project...but first, please read and understand the :ref:`code_of_conduct`.
@ -23,7 +23,7 @@ When you become a power user, your ability and opportunities to help the Ansible
Ask and answer questions online
-------------------------------
There are many forums online where Ansible users ask and answer questions. Reach out and communicate with your fellow Ansible users.
There are many forums online where Ansible users ask and answer questions. Reach out and communicate with your fellow Ansible users.
You can find the official :ref:`Ansible communication channels <communication>`.
@ -45,7 +45,7 @@ If you should discover that the bug you're trying to file already exists in an i
Review and submit pull requests
-------------------------------
As you become more familiar with how Ansible works, you may be able to fix issues or develop new features yourself. If you think you've got a solution to a bug you've found in Ansible, or if you've got a new feature that you've written and would like to share with millions of Ansible users, read all about the `Ansible development process <http://docs.ansible.com/ansible/latest/community/development_process.rst>`_ to learn how to get your code accepted into Ansible.
As you become more familiar with how Ansible works, you may be able to fix issues or develop new features yourself. If you think you've got a solution to a bug you've found in Ansible, or if you've got a new feature that you've written and would like to share with millions of Ansible users, read all about the :ref:`Ansible development process <community_development_process>` to learn how to get your code accepted into Ansible.
Another good way to help is to review pull requests that other Ansible users have submitted. The Ansible community keeps a full list of `open pull requests by file <https://ansible.sivel.net/byfile.html>`_, so if there's a particular module or plug-in that particularly interests you, you can easily keep track of all the relevant new pull requests and provide testing or feedback.

View File

@ -13,10 +13,11 @@ Tests must be configured to run in exactly one group. This is done by adding the
The following are examples of some of the available groups:
- ``posix/ci/group1``
- ``windows/ci/group2``
- ``posix/ci/cloud/group3/azure``
- ``posix/ci/cloud/group4/aws``
- ``shippable/posix/group1``
- ``shippable/windows/group2``
- ``shippable/azure/group3``
- ``shippable/aws/group1``
- ``shippable/cloud/group1``
Groups are used to balance tests across multiple CI jobs to minimize test run time.
They also improve efficiency by keeping tests with similar requirements running together.

View File

@ -110,6 +110,7 @@ Errors
321 ``Exception`` attempting to import module for ``argument_spec`` introspection
322 argument is listed in the argument_spec, but not documented in the module
323 argument is listed in DOCUMENTATION.options, but not accepted by the module
332 ``AnsibleModule`` schema validation error
..
--------- -------------------
**4xx** **Syntax**

View File

@ -21,7 +21,7 @@ The stock configuration should be sufficient for most users, but there may be re
.. _getting_the_latest_configuration:
Getting the latest configuration
================================
--------------------------------
If installing Ansible from a package manager, the latest ansible.cfg file should be present in /etc/ansible, possibly
as a ".rpmnew" file (or other) as appropriate in the case of updates.
@ -35,6 +35,7 @@ For more details and a full listing of available configurations go to :ref:`conf
For in-depth details, see :ref:`ansible_configuration_settings`.
.. _environmental_configuration:
Environmental configuration
===========================
@ -55,4 +56,3 @@ Settings in the command line will override those passed through the configuratio
The full list of options available is in :ref:`ansible-playbook` and :ref:`ansible`.

View File

@ -184,6 +184,10 @@ and ``checksum_algorithm: md5`` can still be used if an MD5 checksum is
desired.
* ``osx_say`` module was renamed into :ref:`say <say_module>`.
* The ``lineinfile`` module was changed in 2.5.6 to show a warning when using an empty string as a regexp.
Since an empty regexp matches every line in a file, it will replace the last line in a file rather
than inserting. If this is the desired behavior, use ``'^'`` which will match every line and
will not trigger the warning.
* Several modules which could deal with symlinks had the default value of their ``follow`` option
changed as part of a feature to `standardize the behavior of follow
<https://github.com/ansible/proposals/issues/69>`_:
@ -197,6 +201,12 @@ desired.
* The :ref:`blockinfile module <blockinfile_module>` had its ``follow`` parameter removed because
it inherently modifies the content of an existing file so it makes no sense to operate on the
link itself.
* In Ansible-2.5.3, the :ref:`template module <template_module>` became more strict about its
``src`` file being proper utf-8. Previously, non-utf8 contents in a template module src file
would result in a mangled output file (the non-utf8 characters would be replaced with a unicode
replacement character). Now, on Python2, the module will error out with the message, "Template
source files must be utf-8 encoded". On Python3, the module will first attempt to pass the
non-utf8 characters through verbatim and fail if that does not succeed.
Plugins
=======

View File

@ -18,7 +18,7 @@ You can also use the site to share roles that you create. By authenticating with
them available to the Ansible community. Imported roles become available in the Galaxy search index and visible on the site, allowing users to
discover and download them.
Learn more by viewing `the About page <https://galaxy.ansible.com/intro>`_.
Learn more by viewing `the About page <https://galaxy.ansible.com/docs/>`_.
The command line tool
`````````````````````

View File

@ -50,7 +50,7 @@ Blocks also introduce the ability to handle errors in a way similar to exception
tasks:
- name: Attempt and gracefull roll back demo
- name: Attempt and graceful roll back demo
block:
- debug:
msg: 'I execute normally'
@ -65,7 +65,7 @@ Blocks also introduce the ability to handle errors in a way similar to exception
msg: 'I also never execute :-('
always:
- debug:
msg: "this always executes"
msg: "This always executes"
The tasks in the ``block`` would execute normally, if there is any error the ``rescue`` section would get executed
with whatever you need to do to recover from the previous error. The ``always`` section runs no matter what previous
@ -81,7 +81,7 @@ Another example is how to run handlers after an error occurred :
tasks:
- name: Attempt and gracefull roll back demo
- name: Attempt and graceful roll back demo
block:
- debug:
msg: 'I execute normally'
@ -93,7 +93,7 @@ Another example is how to run handlers after an error occurred :
handlers:
- name: run me even after an error
debug:
msg: 'this handler runs even on error'
msg: 'This handler runs even on error'
.. seealso::

View File

@ -288,40 +288,51 @@ Now, let's take the following data structure::
To extract all clusters from this structure, you can use the following query::
- name: "Display all cluster names"
debug: var=item
loop: "{{domain_definition|json_query('domain.cluster[*].name')}}"
debug:
var: item
loop: "{{ domain_definition | json_query('domain.cluster[*].name') }}"
Same thing for all server names::
- name: "Display all server names"
debug: var=item
loop: "{{domain_definition|json_query('domain.server[*].name')}}"
debug:
var: item
loop: "{{ domain_definition | json_query('domain.server[*].name') }}"
This example shows ports from cluster1::
- name: "Display all server names from cluster1"
debug: var=item
loop: "{{domain_definition|json_query(server_name_cluster1_query)}}"
- name: "Display all ports from cluster1"
debug:
var: item
loop: "{{ domain_definition | json_query(server_name_cluster1_query) }}"
vars:
server_name_cluster1_query: "domain.server[?cluster=='cluster1'].port"
.. note:: You can use a variable to make the query more readable.
Or, alternatively::
Or, alternatively print out the ports in a comma separated string::
- name: "Display all server names from cluster1"
- name: "Display all ports from cluster1 as a string"
debug:
var: item
loop: "{{domain_definition|json_query('domain.server[?cluster=`cluster1`].port')}}"
msg: "{{ domain_definition | json_query('domain.server[?cluster==`cluster1`].port') | join(', ') }}"
.. note:: Here, quoting literals using backticks avoids escaping quotes and maintains readability.
Or, using YAML `single quote escaping <http://yaml.org/spec/current.html#id2534365>`_::
- name: "Display all ports from cluster1"
debug:
var: item
loop: "{{ domain_definition | json_query('domain.server[?cluster==''cluster1''].port') }}"
.. note:: Escaping single quotes within single quotes in YAML is done by doubling the single quote.
In this example, we get a hash map with all ports and names of a cluster::
- name: "Display all server ports and names from cluster1"
debug:
var: item
loop: "{{domain_definition|json_query(server_name_cluster1_query)}}"
loop: "{{ domain_definition | json_query(server_name_cluster1_query) }}"
vars:
server_name_cluster1_query: "domain.server[?cluster=='cluster2'].{name: name, port: port}"

View File

@ -54,39 +54,6 @@ can run different plays at different times.
For starters, here's a playbook that contains just one play::
---
- hosts: webservers
vars:
http_port: 80
max_clients: 200
remote_user: root
tasks:
- name: ensure apache is at the latest version
yum:
name: httpd
state: latest
- name: write the apache config file
template:
src: /srv/httpd.j2
dest: /etc/httpd.conf
notify:
- restart apache
- name: ensure apache is running (and enable it at boot)
service:
name: httpd
state: started
enabled: yes
handlers:
- name: restart apache
service:
name: httpd
state: restarted
When working with tasks that have really long parameters or modules that take
many parameters, you can break tasks items over multiple lines to improve the
structure. Below is another version of the above example but using
YAML dictionaries to supply the modules with their ``key=value`` arguments.::
---
- hosts: webservers
vars:

View File

@ -13,7 +13,7 @@ As noted in :doc:`playbooks_reuse`, include and import statements are very simil
Please refer to :doc:`playbooks_reuse` for documentation concerning the trade-offs one may encounter when using each type.
Also be aware that this behaviour changed in 2.4; prior to that Ansible version only ``include`` was available, and it behaved differently depending on context.
Also be aware that this behaviour changed in 2.4. Prior to Ansible 2.4, only ``include`` was available and it behaved differently depending on context.
.. versionadded:: 2.4
@ -22,7 +22,6 @@ Importing Playbooks
It is possible to include playbooks inside a master playbook. For example::
---
- import_playbook: webservers.yml
- import_playbook: databases.yml
@ -36,16 +35,15 @@ Prior to 2.4 only ``include`` was available and worked for both playbooks and ta
Including and Importing Task Files
``````````````````````````````````
Use of included task lists is a great way to define a role that system is going to fulfill. A task include file simply contains a flat list of tasks::
Breaking tasks up into different files is an excellent way to organize complex sets of tasks or reuse them. A task file simply contains a flat list of tasks::
# common_tasks.yml
---
- name: placeholder foo
command: /bin/foo
- name: placeholder bar
command: /bin/bar
You can then use ``import_tasks`` or ``include_tasks`` to include this file in your main task list::
You can then use ``import_tasks`` or ``include_tasks`` to execute the tasks in a file in the main task list::
tasks:
- import_tasks: common_tasks.yml
@ -65,27 +63,17 @@ You can also pass variables into imports and includes::
vars:
wp_user: bob
Variables can also be passed to include files using an alternative syntax, which also supports structured variables like dictionaries and lists::
See :ref:`ansible_variable_precedence` for more details on variable inheritance and precedence.
tasks:
- include_tasks: wordpress.yml
vars:
wp_user: timmy
ssh_keys:
- "{{ lookup('file', 'keys/one.pub') }}"
- "{{ lookup('file', 'keys/two.pub') }}"
Using either syntax, variables passed in can then be used in the included files. These variables will only be available to tasks within the included file. See :ref:`ansible_variable_precedence` for more details on variable inheritance and precedence.
Task include statements can be used at arbitrary depth.
Task include and import statements can be used at arbitrary depth.
.. note::
Static and dynamic can be mixed, however this is not recommended as it may lead to difficult-to-diagnose bugs in your playbooks.
- Static and dynamic can be mixed, however this is not recommended as it may lead to difficult-to-diagnose bugs in your playbooks.
- The ``key=value`` syntax for passing variables to import and include is deprecated. Use YAML ``vars:`` instead.
Includes and imports can also be used in the ``handlers:`` section; for instance, if you want to define how to restart apache, you only have to do that once for all of your playbooks. You might make a handlers.yml that looks like::
Includes and imports can also be used in the ``handlers:`` section. For instance, if you want to define how to restart Apache, you only have to do that once for all of your playbooks. You might make a ``handlers.yml`` that looks like::
# more_handlers.yml
---
- name: restart apache
service: name=apache state=restarted

View File

@ -119,7 +119,7 @@ You can use `any` and `all` to check if any or all elements in a list are true o
vars:
mylist:
- 1
- 3 == 3
- "{{ 3 == 3 }}"
- True
myotherlist:
- False

View File

@ -892,7 +892,7 @@ Basically, anything that goes into "role defaults" (the defaults folder inside t
If you define a variable twice in a play's vars: section, the 2nd one wins.
.. note:: the previous describes the default config `hash_behavior=replace`, switch to 'merge' to only partially overwrite.
.. note:: Group loading follows parent/child relationships. Groups of the same 'patent/child' level are then merged following alphabetical order.
This last one can be superceeded by the user via `ansible_group_priority`, which defaults to 0 for all groups.
This last one can be superceeded by the user via ``ansible_group_priority``, which defaults to ``1`` for all groups.
Another important thing to consider (for all versions) is that connection variables override config, command line and play/role/task specific options and directives. For example::

View File

@ -128,7 +128,7 @@ a custom class defined by that resource. Defining a value that takes in a
For example, to define a ``[CimInstance]`` value in Ansible::
# [CimInstance]AuthenticationInfo == MSFT_xWebAuthenticationInformation
AuthenticationInfo
AuthenticationInfo:
Anonymous: no
Basic: yes
Digest: no

View File

@ -39,6 +39,40 @@ Ansible will process the above list and use the first file found, all others are
inventory = /etc/ansible/hosts ; This points to the file that lists your hosts
.. _cfg_in_world_writable_dir:
Avoiding security risks with ``ansible.cfg`` in the current directory
---------------------------------------------------------------------
If Ansible were to load :file:ansible.cfg from a world-writable current working
directory, it would create a serious security risk. Another user could place
their own config file there, designed to make Ansible run malicious code both
locally and remotely, possibly with elevated privileges. For this reason,
Ansible will not automatically load a config file from the current working
directory if the directory is world-writable.
If you depend on using Ansible with a config file in the current working
directory, the best way to avoid this problem is to restrict access to your
Ansible directories to particular user(s) and/or group(s). If your Ansible
directories live on a filesystem which has to emulate Unix permissions, like
Vagrant or Windows Subsystem for Linux (WSL), you may, at first, not know how
you can fix this as ``chmod``, ``chown``, and ``chgrp`` might not work there.
In most of those cases, the correct fix is to modify the mount options of the
filesystem so the files and directories are readable and writable by the users
and groups running Ansible but closed to others. For more details on the
correct settings, see:
* for Vagrant, Jeremy Kendall's `blog post <http://jeremykendall.net/2013/08/09/vagrant-synced-folders-permissions/>`_ covers synced folder permissions.
* for WSL, the `WSL docs <https://docs.microsoft.com/en-us/windows/wsl/wsl-config#set-wsl-launch-settings>`_
and this `Microsoft blog post <https://blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/>`_ cover mount options.
If you absolutely depend on having the config live in a world-writable current
working directory, you can explicitly specify the config file via the
:envvar:`ANSIBLE_CONFIG` environment variable. Please take
appropriate steps to mitigate the security concerns above before doing so.
Common Options
==============

12
docs/templates/man.j2 vendored
View File

@ -76,17 +76,18 @@ ENVIRONMENT
The following environment variables may be specified.
{% if inventory %}
ANSIBLE_INVENTORY -- Override the default ansible inventory file
ANSIBLE_INVENTORY -- Override the default ansible inventory sources
{% endif %}
{% if library %}
ANSIBLE_LIBRARY -- Override the default ansible module library path
{% endif %}
ANSIBLE_CONFIG -- Override the default ansible config file
ANSIBLE_CONFIG -- Specify override location for the ansible config file
Many more are available for most options in ansible.cfg
For a full list check https://docs.ansible.com/. or use the `ansible-config` command.
FILES
-----
@ -99,6 +100,9 @@ FILES
~/.ansible.cfg -- User config file, overrides the default config if present
./ansible.cfg -- Local config file (in current working direcotry) assumed to be 'project specific' and overrides the rest if present.
As mentioned above, the ANSIBLE_CONFIG environment variable will override all others.
AUTHOR
------
@ -109,8 +113,8 @@ Ansible was originally written by Michael DeHaan.
COPYRIGHT
---------
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
Copyright © 2018 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 license.
SEE ALSO

View File

@ -7,7 +7,7 @@
.. _@{ module }@_@{ plugin_type }@:
{% for alias in aliases %}
.. _@{ alias }@:
.. _@{ alias }@_@{ plugin_type }@:
{% endfor %}
{% if short_description %}
@ -88,106 +88,107 @@ Parameters
.. raw:: html
<table border=0 cellpadding=0 class="documentation-table">
{# Header of the documentation #}
{# Pre-compute the nesting depth to allocate columns -#}
@{ to_kludge_ns('maxdepth', 1) -}@
{% for key, value in options|dictsort recursive -%}
@{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@
{% if value.suboptions -%}
{% if value.suboptions.items -%}
@{ loop(value.suboptions.items()) -}@
{% elif value.suboptions[0].items -%}
@{ loop(value.suboptions[0].items()) -}@
{% endif -%}
{% endif -%}
{% endfor -%}
{# Header of the documentation -#}
<tr>
<th class="head"><div class="cell-border">Parameter</div></th>
<th class="head"><div class="cell-border">Choices/<font color="blue">Defaults</font></div></th>
<th colspan="@{ from_kludge_ns('maxdepth') }@">Parameter</th>
<th>Choices/<font color="blue">Defaults</font></th>
{% if plugin_type != 'module' %}
<th class="head"><div class="cell-border">Configuration</div></th>
<th>Configuration</th>
{% endif %}
<th class="head" width="100%"><div class="cell-border">Comments</div></th>
<th width="100%">Comments</th>
</tr>
{% for key, value in options|dictsort recursive %}
<tr class="return-value-column">
<tr>
{# indentation based on nesting level #}
{% for i in range(1, loop.depth) %}
<td class="elbow-placeholder"></td>
{% endfor %}
{# parameter name with required and/or introduced label #}
<td>
<div class="outer-elbow-container">
{% for i in range(1, loop.depth) %}
<div class="elbow-placeholder">&nbsp;</div>
{% endfor %}
<div class="elbow-key">
<b>@{ key }@</b>
{% if value.get('required', False) %}<br/><div style="font-size: small; color: red">required</div>{% endif %}
{% if value.version_added %}<br/><div style="font-size: small; color: darkgreen">(added in @{value.version_added}@)</div>{% endif %}
</div>
</div>
<td colspan="@{ from_kludge_ns('maxdepth') - loop.depth0 }@">
<b>@{ key }@</b>
{% if value.get('required', False) %}<br/><div style="font-size: small; color: red">required</div>{% endif %}
{% if value.version_added %}<br/><div style="font-size: small; color: darkgreen">(added in @{value.version_added}@)</div>{% endif %}
</td>
{# default / choices #}
<td>
<div class="cell-border">
{# Turn boolean values in 'yes' and 'no' values #}
{% if value.default is defined %}
{% if value.default == true %}
{% set _x = value.update({'default': 'yes'}) %}
{% elif value.default == false %}
{% set _x = value.update({'default': 'no'}) %}
{% endif %}
{% endif %}
{% if value.type == 'bool' %}
{% set _x = value.update({'choices': ['no', 'yes']}) %}
{% endif %}
{# Show possible choices and highlight details #}
{% if value.choices %}
<ul><b>Choices:</b>
{% for choice in value.choices %}
{# Turn boolean values in 'yes' and 'no' values #}
{% if choice == true %}
{% set choice = 'yes' %}
{% elif choice == false %}
{% set choice = 'no' %}
{% endif %}
{% if (value.default is string and value.default == choice) or (value.default is iterable and value.default is not string and choice in value.default) %}
<li><div style="color: blue"><b>@{ choice | escape }@</b>&nbsp;&larr;</div></li>
{% else %}
<li>@{ choice | escape }@</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{# Show default value, when multiple choice or no choices #}
{% if value.default is defined and value.default not in value.choices %}
<b>Default:</b><br/><div style="color: blue">@{ value.default | escape }@</div>
{% endif %}
</div>
{# Turn boolean values in 'yes' and 'no' values #}
{% if value.default is sameas true %}
{% set _x = value.update({'default': 'yes'}) %}
{% elif value.default is sameas false %}
{% set _x = value.update({'default': 'no'}) %}
{% endif %}
{% if value.type == 'bool' %}
{% set _x = value.update({'choices': ['no', 'yes']}) %}
{% endif %}
{# Show possible choices and highlight details #}
{% if value.choices %}
<ul><b>Choices:</b>
{% for choice in value.choices %}
{# Turn boolean values in 'yes' and 'no' values #}
{% if choice is sameas true %}
{% set choice = 'yes' %}
{% elif choice is sameas false %}
{% set choice = 'no' %}
{% endif %}
{% if (value.default is string and value.default == choice) or (value.default is iterable and value.default is not string and choice in value.default) %}
<li><div style="color: blue"><b>@{ choice | escape }@</b>&nbsp;&larr;</div></li>
{% else %}
<li>@{ choice | escape }@</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{# Show default value, when multiple choice or no choices #}
{% if value.default is defined and value.default not in value.choices %}
<b>Default:</b><br/><div style="color: blue">@{ value.default | escape }@</div>
{% endif %}
</td>
{# configuration #}
{% if plugin_type != 'module' %}
<td>
<div class="cell-border">
{% if 'ini' in value %}
<div> ini entries:
{% for ini in value.ini %}
<p>[@{ ini.section }@ ]<br>@{ ini.key }@ = @{ value.default | default('VALUE') }@</p>
{% endfor %}
</div>
{% endif %}
{% if 'env' in value %}
{% for env in value.env %}
<div>env:@{ env.name }@</div>
{% if 'ini' in value %}
<div> ini entries:
{% for ini in value.ini %}
<p>[@{ ini.section }@ ]<br>@{ ini.key }@ = @{ value.default | default('VALUE') }@</p>
{% endfor %}
{% endif %}
{% if 'vars' in value %}
{% for myvar in value.vars %}
<div>var: @{ myvar.name }@</div>
{% endfor %}
{% endif %}
</div>
</div>
{% endif %}
{% if 'env' in value %}
{% for env in value.env %}
<div>env:@{ env.name }@</div>
{% endfor %}
{% endif %}
{% if 'vars' in value %}
{% for myvar in value.vars %}
<div>var: @{ myvar.name }@</div>
{% endfor %}
{% endif %}
</td>
{% endif %}
{# description #}
<td>
<div class="cell-border">
{% if value.description is string %}
<div>@{ value.description | replace('\n', '\n ') | html_ify }@</div>
{% else %}
{% for desc in value.description %}
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
{% endfor %}
{% endif %}
{% if 'aliases' in value and value.aliases %}
<div style="font-size: small; color: darkgreen"><br/>aliases: @{ value.aliases|join(', ') }@</div>
{% endif %}
</div>
{% if value.description is string %}
<div>@{ value.description | replace('\n', '\n ') | html_ify }@</div>
{% else %}
{% for desc in value.description %}
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
{% endfor %}
{% endif %}
{% if 'aliases' in value and value.aliases %}
<div style="font-size: small; color: darkgreen"><br/>aliases: @{ value.aliases|join(', ') }@</div>
{% endif %}
</td>
</tr>
{% if value.suboptions %}
@ -220,7 +221,7 @@ Notes
Examples
--------
.. code-block:: yaml
.. code-block:: yaml+jinja
{% for example in examples %}
{% if example['description'] %}@{ example['description'] | indent(4, True) }@{% endif %}
@ -244,43 +245,49 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a
.. raw:: html
<table border=0 cellpadding=0 class="documentation-table">
{# Pre-compute the nesting depth to allocate columns #}
@{ to_kludge_ns('maxdepth', 1) -}@
{% for key, value in returnfacts|dictsort recursive %}
@{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@
{% if value.contains -%}
{% if value.contains.items -%}
@{ loop(value.contains.items()) -}@
{% elif value.contains[0].items -%}
@{ loop(value.contains[0].items()) -}@
{% endif -%}
{% endif -%}
{% endfor -%}
<tr>
<th class="head"><div class="cell-border">Fact</div></th>
<th class="head"><div class="cell-border">Returned</div></th>
<th class="head" width="100%"><div class="cell-border">Description</div></th>
<th colspan="@{ from_kludge_ns('maxdepth') }@">Fact</th>
<th>Returned</th>
<th width="100%">Description</th>
</tr>
{% for key, value in returnfacts|dictsort recursive %}
<tr class="return-value-column">
<td>
<div class="outer-elbow-container">
{% for i in range(1, loop.depth) %}
<div class="elbow-placeholder">&nbsp;</div>
{% endfor %}
<div class="elbow-key">
<b>@{ key }@</b>
<br/><div style="font-size: small; color: red">@{ value.type }@</div>
</div>
</div>
<tr>
{% for i in range(1, loop.depth) %}
<td class="elbow-placeholder"></td>
{% endfor %}
<td colspan="@{ from_kludge_ns('maxdepth') - loop.depth0 }@" colspan="@{ from_kludge_ns('maxdepth') - loop.depth0 }@">
<b>@{ key }@</b>
<br/><div style="font-size: small; color: red">@{ value.type }@</div>
</td>
<td><div class="cell-border">@{ value.returned | html_ify }@</div></td>
<td>@{ value.returned | html_ify }@</td>
<td>
<div class="cell-border">
{% if value.description is string %}
<div>@{ value.description | html_ify }@
{% if value.description is string %}
<div>@{ value.description | html_ify }@
</div>
{% else %}
{% for desc in value.description %}
<div>@{ desc | html_ify }@
</div>
{% else %}
{% for desc in value.description %}
<div>@{ desc | html_ify }@
</div>
{% endfor %}
{% endif %}
<br/>
{% if value.sample is defined and value.sample %}
<div style="font-size: smaller"><b>Sample:</b></div>
{# TODO: The sample should be escaped, using | escape or | htmlify, but both mess things up beyond repair with dicts #}
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
{% endif %}
</div>
{% endfor %}
{% endif %}
<br/>
{% if value.sample is defined and value.sample %}
<div style="font-size: smaller"><b>Sample:</b></div>
{# TODO: The sample should be escaped, using | escape or | htmlify, but both mess things up beyond repair with dicts #}
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
{% endif %}
</td>
</tr>
{# ---------------------------------------------------------
@ -310,41 +317,46 @@ Common return values are documented :ref:`here <common_return_values>`, the foll
.. raw:: html
<table border=0 cellpadding=0 class="documentation-table">
@{ to_kludge_ns('maxdepth', 1) -}@
{% for key, value in returndocs|dictsort recursive -%}
@{ to_kludge_ns('maxdepth', [loop.depth, from_kludge_ns('maxdepth')] | max) -}@
{% if value.contains -%}
{% if value.contains.items -%}
@{ loop(value.contains.items()) -}@
{% elif value.contains[0].items -%}
@{ loop(value.contains[0].items()) -}@
{% endif -%}
{% endif -%}
{% endfor -%}
<tr>
<th class="head"><div class="cell-border">Key</div></th>
<th class="head"><div class="cell-border">Returned</div></th>
<th class="head" width="100%"><div class="cell-border">Description</div></th>
<th colspan="@{ from_kludge_ns('maxdepth') }@">Key</th>
<th>Returned</th>
<th width="100%">Description</th>
</tr>
{% for key, value in returndocs|dictsort recursive %}
<tr class="return-value-column">
<td>
<div class="outer-elbow-container">
{% for i in range(1, loop.depth) %}
<div class="elbow-placeholder">&nbsp;</div>
{% endfor %}
<div class="elbow-key">
<b>@{ key }@</b>
<br/><div style="font-size: small; color: red">@{ value.type }@</div>
</div>
</div>
<tr>
{% for i in range(1, loop.depth) %}
<td class="elbow-placeholder">&nbsp;</td>
{% endfor %}
<td colspan="@{ from_kludge_ns('maxdepth') - loop.depth0 }@">
<b>@{ key }@</b>
<br/><div style="font-size: small; color: red">@{ value.type }@</div>
</td>
<td><div class="cell-border">@{ value.returned | html_ify }@</div></td>
<td>@{ value.returned | html_ify }@</td>
<td>
<div class="cell-border">
{% if value.description is string %}
<div>@{ value.description | html_ify |indent(4)}@</div>
{% else %}
{% for desc in value.description %}
<div>@{ desc | html_ify |indent(4)}@</div>
{% endfor %}
{% endif %}
<br/>
{% if value.sample is defined and value.sample %}
<div style="font-size: smaller"><b>Sample:</b></div>
{# TODO: The sample should be escaped, using |escape or |htmlify, but both mess things up beyond repair with dicts #}
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
{% endif %}
</div>
{% if value.description is string %}
<div>@{ value.description | html_ify |indent(4)}@</div>
{% else %}
{% for desc in value.description %}
<div>@{ desc | html_ify |indent(4)}@</div>
{% endfor %}
{% endif %}
<br/>
{% if value.sample is defined and value.sample %}
<div style="font-size: smaller"><b>Sample:</b></div>
{# TODO: The sample should be escaped, using |escape or |htmlify, but both mess things up beyond repair with dicts #}
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
{% endif %}
</td>
</tr>
{# ---------------------------------------------------------
@ -412,5 +424,5 @@ Author
{% if plugin_type == 'module' %}
If you notice any issues in this documentation you can `edit this document <https://github.com/ansible/ansible/edit/devel/lib/ansible/modules/@{ source }@?description=%3C!---%20Your%20description%20here%20--%3E%0A%0A%2Blabel:%20docsite_pr>`_ to improve it.
{% else %}
If you notice any issues in this documentation you can `edit this document <https://github.com/ansible/ansible/edit/devel/lib/ansible/plugins/@{ plugin_type }@/@{ source }@_` to improve it.
If you notice any issues in this documentation you can `edit this document <https://github.com/ansible/ansible/edit/devel/lib/ansible/plugins/@{ plugin_type }@/@{ source }@>`_ to improve it.
{% endif %}

View File

@ -130,6 +130,7 @@
"Sid": "AllowLoadBalancerOperations",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:AddTags",
"elasticloadbalancing:ConfigureHealthCheck",
"elasticloadbalancing:CreateListener",
"elasticloadbalancing:CreateLoadBalancer",
@ -144,12 +145,13 @@
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeLoadBalancerPolicies",
"elasticloadbalancing:DescribeLoadBalancerPolicyTypes",
"elasticloadbalancing:DescribeLoadBalancerTags",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTags",
"elasticloadbalancing:DisableAvailabilityZonesForLoadBalancer",
"elasticloadbalancing:EnableAvailabilityZonesForLoadBalancer",
"elasticloadbalancing:ModifyLoadBalancerAttributes",
"elasticloadbalancing:RegisterInstancesWithLoadBalancer"
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
"elasticloadbalancing:RemoveTags"
],
"Resource": "*"
},

View File

@ -1,6 +1,22 @@
# usage: source hacking/env-setup [-q]
# modifies environment for running Ansible from checkout
# prepend a value to a potentially empty path variable
# usage: prepend_path variable_name value
prepend_path()
{
variable_name="$1"
value="$2"
old_value=$( eval "echo \$$variable_name" )
if [ "x$old_value" != "x" ]; then
value="$value:"
fi
export "$variable_name=$value$old_value"
}
# Default values for shell variables we use
PYTHONPATH=${PYTHONPATH-""}
PATH=${PATH-""}
@ -34,9 +50,9 @@ PREFIX_PYTHONPATH="$ANSIBLE_HOME/lib"
PREFIX_PATH="$ANSIBLE_HOME/bin:$ANSIBLE_HOME/test/runner"
PREFIX_MANPATH="$ANSIBLE_HOME/docs/man"
expr "$PYTHONPATH" : "${PREFIX_PYTHONPATH}.*" > /dev/null || export PYTHONPATH="$PREFIX_PYTHONPATH:$PYTHONPATH"
expr "$PATH" : "${PREFIX_PATH}.*" > /dev/null || export PATH="$PREFIX_PATH:$PATH"
expr "$MANPATH" : "${PREFIX_MANPATH}.*" > /dev/null || export MANPATH="$PREFIX_MANPATH:$MANPATH"
expr "$PYTHONPATH" : "${PREFIX_PYTHONPATH}.*" > /dev/null || prepend_path PYTHONPATH "$PREFIX_PYTHONPATH"
expr "$PATH" : "${PREFIX_PATH}.*" > /dev/null || prepend_path PATH "$PREFIX_PATH"
expr "$MANPATH" : "${PREFIX_MANPATH}.*" > /dev/null || prepend_path MANPATH "$PREFIX_MANPATH"
#
# Generate egg_info so that pkg_resources works

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