Compare commits

...

779 Commits

Author SHA1 Message Date
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
048690fdc4 New release v2.5.4 2018-05-31 14:56:01 -07:00
959821f40e Backport #40833 for 2.5 - synchronize _remote_is_local (#40917)
* Use _remote_is_local=True for local connection in synchronize (#40833)

* All instances of local connection should use _remote_is_local=True. Fixes #40551

* Switch to instance attribute for synchronize

* Add test that shows that synchronize _remote_is_local addresses tmpdir building

(cherry picked from commit ad7ba91f75)

* Add changelog entry for #40833
2018-05-30 17:28:23 -04:00
f1cd7a99be remove extra )
(cherry picked from commit 062f0444a1)
2018-05-30 16:28:58 -04:00
a970ecba57 added information on keyword/vars separation (#39561) (#40895)
* added information on keyword/vars separation

fixes #39551

* updated as per fb

(cherry picked from commit bc93038943)
2018-05-30 16:12:54 -04:00
5a77aceae5 fix 'doas' become_method support, previously committed patch not submitted to devel branch (#37511) (#40896)
* fix become_method 'doas' support by properly specifying becomecmd

a repatch of https://github.com/ansible/ansible/pull/13451/ which was never committed to 'devel' branch.

* fix play_context test for become_method doas to match new becomecmd

(cherry picked from commit be3670f528)
2018-05-30 16:03:58 -04:00
f7f8d2b133 add keywords handling to ansible-doc (#40908)
also add check for sequence of string types before we force a join

(cherry picked from commit 73b9892605)
2018-05-30 12:32:25 -07:00
b1c4d6310d Fix broken aws_ses_identity test - backport #39560 (#40350)
* Fix failing aws_ses_identity integration tests (#39560)

* Fix failing aws_ses_identity integration tests

Reduce boilerplate with yaml anchor

* remove unstable test alias

* Update feedback forwarding check to use desired state rather than
repeated API calls.

(cherry picked from commit 571c183f59)

* changelog
2018-05-30 10:43:02 -07:00
be46ea7bf2 use correct object in error
fixes #40453

(cherry picked from commit 0339c8037b)
2018-05-30 12:53:15 -04:00
48f6670b49 Fix FreeBSD package install in test setup.sh.
(cherry picked from commit c3d3b6cedc)
2018-05-30 09:26:04 -07:00
b48b5c585e adds table of connections by platform (#40688) (#40830)
(cherry picked from commit 43ca9d1548)
2018-05-30 08:17:04 -05:00
8e8b469416 nxos bugfixes 2.5.4 cherry-pick (#40861)
* Fix legacy Nexus 3k integration test and module issues. (#40322)

* Add setup ignore_errors for nxos_config test

* Fix parse_fan_info for n3k

* Skip bidir tests for N3k

* Omit vni config for n3k

* Skip unsupported nxos_vrf_af test on N3K

* Add legacy N3K platform tag

(cherry picked from commit 63e16431b7)

* Skip N35 and N3L platforms for nxos_evpn_global test (#40333)

(cherry picked from commit ad69ef88e7)

* add normalize_interface in module_utils and fix nxos_l3_interface module (#40598)

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

* nxos_interface: Disable switchport for loopback/svi (#40314)

* nxos_interface: Disable switchport for loopback/svi

* Replace interface_type with get_interface_type(name)

(cherry picked from commit d04a989bd2)

* fixes bug with matching nxos prompts (#40655)

This change addresses an issue where the prompt matching regular
expressions would not match a prompt if the hostname starts with a
numeric value.  Before this change, the connection would fail with a
socket.timeout() error.  This change updates the termnal_stdout_re
values to now check for a number.

See Github issue #38639

(cherry picked from commit d829ff6993)

* fix nxos_vrf and migrate get_interface_type to module_utils (#40825)

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

* nxos_vlan fix

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

* changelog nxos bugfixes 2.5.4

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-30 11:21:53 +05:30
5f384ec0a6 Fix #26755 by ensuring that the first nic in the nic list is primary (#38994) (#40781) 2018-05-29 10:28:54 +08:00
116a504825 Fixes #24241 Module always updates installed plugins (#40645)
* Update jenkins_plugin.py

When setting state=latest, plugin are always updated because old sha1 is bytes and and is compared to new sha1 which is str (so it always detecting a sha1 change)

* Add changelog
2018-05-25 10:09:17 -04:00
7ffbdd5214 win_scheduled_task fix doc example with datestamp (#40691)
(cherry picked from commit 0df6b085c0)
2018-05-25 11:40:19 +10:00
b20b29ac0a Insert set commands if a delete command is entered (#40666) (#40672)
(cherry picked from commit 8b4e36e711)
2018-05-24 13:21:16 -04:00
d6a07186fd Backport ios test fixes to 2.5 (#40662)
* Ios test fixes (#40503)

* Return messages generated from edit_config to module

* This does not seem to work that way

* Change test IP addresses to not conflict with device config

(cherry picked from commit eb818df1ec)

* Search all assigned ipv6 addresses instead of just the first (#40533)

* Search all assigned ipv6 addresses instead of just the first

* Add test for idempotency with multiple ipv6 addresses assigned

(cherry picked from commit e8d02a3a0f)

* Fix ios test pt. 2 (#40628)

* Add missing idempotence assert

* Remove dhcp with other addresses on ipv6

(cherry picked from commit f88412b7cd)
2018-05-24 10:22:46 -04:00
3f2831c6e2 ec2_instance - fix instance creation with IPv6 (#40334)
IPv6 addresses and IPv6 address count may not be specified on the same request https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html#options
2018-05-24 10:10:23 -04:00
0b080de855 [2.5] Fix ios_vlan to correctly identify unmodified config when having long interface names (#40145) (#40656)
Change the command to get the interface in a vlan "show vlan" => "show vlan brief"
Change the parsing of the return command of the switch.
The return of the ios command is fixed so i cut with fix number of carracter.
Adding looking for the next line to add the forgeted interfaces.
(cherry picked from commit 3903ca5)

Co-authored-by: pierremahot <pierre.mahot@orange.fr>
2018-05-24 15:55:13 +02:00
18581adbb5 Backport: apt: don't markmanual if apt-mark is not installed (#40605)
(cherry picked from commit a3cfe0d72f)
2018-05-24 09:27:38 +02:00
12ac23bad3 Win get url auth 2.5 (#40642)
* Fixed WebRequest init (#40641)


(cherry picked from commit 4fbdc1a497)

* Added changelog fragment
2018-05-24 14:42:39 +10:00
fac5a14ded Backport #40500 for 2.5 - synchronize fixes (#40545)
* Group logic detecting user, ensure rsync_opts is a list if omitted. Fixes #40483

(cherry picked from commit ea176427b4)

* Add changelog for #40500
2018-05-24 12:04:18 +10:00
70a60b6166 Updates to fileglob Documentation (#40461)
(cherry picked from commit 5edc46431a)
2018-05-24 12:01:00 +10:00
a63b6d363b winrm: add better exception handling for krb5 auth with pexpect (#39930) (#40634)
* winrm: add better exception handling for krb5 auth with pexpect

* Added changelog fragment

* Added exception handler in case kinit path isn't valid, added test cases

* fixed for Python 2 compatibility

(cherry picked from commit 5e28e282a5)
2018-05-24 07:17:21 +10:00
2cb9f7f5b9 [backport] Detect separate git dir and set git config path value appropriately
PR #38016

Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit 0a701ff)

Co-authored-by: Senya <senya@riseup.net>
2018-05-23 21:01:07 +02:00
786911d26f constructed inventory does not use group variables from previous inventory #37397
* Add support for loading invenotry group variables in constructed plugin

(cherry picked from commit 81cfbbbeb9)
2018-05-23 10:59:26 -04:00
02e66617f2 Make xenserver_facts actually work (#35821) (#40552)
* Get the str value of xmlrpc.client.DateTime

* get_all_records should be used instead of get_all

* Facts returned with 'ansible_facts'

* Remove some redundant code

* Add cheese as maintainer

* Add changelog entry

(cherry picked from commit d45b044992)
2018-05-22 14:01:19 -04:00
dbcecb64b8 Fix ctrl+c in pause module and add tests (#40134) (#40480)
Backport # 40134 - Ensure Ctrl+C interrupt for pause module works in all cases
2018-05-22 13:11:21 -04:00
4c279f5e45 EdgeOS module improvements (#39530) (#40548)
* Update docs and use to_text on strings

* Add warning to use network_cli

(cherry picked from commit d5dbd8c76d)
2018-05-22 12:52:57 -04:00
9bef06ccd9 Add better error messages and checking to known_hosts (#38307) (#40502)
(cherry picked from commit 13aff08748)
2018-05-22 12:42:39 -04:00
7df6df9017 Ios fixes 2.5 (#40543)
* Ios test fixes (#40503)

* Return messages generated from edit_config to module

* This does not seem to work that way

* Change test IP addresses to not conflict with device config

* Add test for idempotency with multiple ipv6 addresses assigned
2018-05-22 12:00:29 -04:00
e877469533 Do not join flag parameters in iptables module (#36658) (#40501)
* Do not join flag parameters

This put a comma between every character of the tcp flag parameters, resulting in a bad iptables command.

Fixes #36490

* Use suboptions to ensure tcp_flags options are lists

* Add unit tests for tcp_flags

* Add example of how to use tcp_flags

(cherry picked from commit c9d3bb59a4)
2018-05-22 11:29:33 -04:00
13c88fe2d2 fixes issue 39472: (#40379)
With python 3.6 spwd.getspnam returns PermissionError instead of
KeyError if user does not have privileges

(cherry picked from commit 0023b1ee9e)
2018-05-22 11:29:00 -04:00
7c49648a39 uses .txt for shared content (#40416) (#40538)
(cherry picked from commit 69eef14e3b)
2018-05-22 10:21:08 -05:00
9d8d1de182 winrm: source user from options than remote_user (#40467) (#40516)
* winrm: source user from options than remote_user (#40467)

* winrm: source user from options than remote_user

* fixed up mock for kerberos import

* Added changelog fragment

* get hostname from option as well

(cherry picked from commit 1ac180c74d)

* Also removed uneeded method that wasn't backported
2018-05-22 10:46:13 +10:00
6eb0af96de win_environment: Added explicit check for null, empty string with state=present (#40468) (#40508)
* win_environment: Added explicit check for null, empty string with state=present

* Added changelog fragment

(cherry picked from commit db195831fd)
2018-05-22 07:15:34 +10:00
d60f70b47b Clarify in docs that end_play affects all hosts (#40235) (#40306)
(cherry picked from commit b116eaa485)
2018-05-21 07:47:51 +02:00
d0cf81883c Move EC2 ASG changelog entry to correct directory 2018-05-18 13:57:52 -04:00
54413642db removed_in: 2.6 is valid (#40399) (#40407)
(cherry picked from commit fe4368ce15)
2018-05-18 16:23:50 +01:00
778cb5bd8b New release v2.5.3 2018-05-17 16:29:23 -07:00
864fd7c53e Local remote 2.5 backport (#40363)
* Don't rewrite remote paths when remote is secretly local

* Remote overriding is configurable in connection

* Use c.DEFAULT_LOCAL_TMP instead of remote_tmp

* Remove remote_is_local from ConnectionBase

* remote_is_local->_remote_is_local

* Add warning signs to _remote_is_local and explanatory comments to its use
2018-05-17 15:25:44 -07:00
84f9303c52 aws_ec2: tag values as hostnames - backport #35880 (#40325)
* aws_ec2 inventory: add support for tag values as hostnames (#35880)

(cherry picked from commit b345b79dcd)

* changelog
2018-05-17 08:59:20 -07:00
a0b608f311 small grammar improvements to add clarity (#40157) (#40298)
(cherry picked from commit 98579029d7)
2018-05-16 22:47:28 -07:00
ae2453850e aws_ec2 inventory plugin: backport/2.5/40240 (#40277)
* Add fallback check for IAM role temp creds (#40240)

* Add fallback check for IAM role temp creds

(cherry picked from commit d5a5e37fcf)

* changelog

* Fix changelog

* Fix fix changelog
2018-05-16 22:47:07 -07:00
136e8a1e58 ovirt: fix quota_id check (#40081) 2018-05-16 22:44:50 -07:00
b4a4f0f605 ec2_vpc_route_table: Update matching_count parsing on find_subnets fu… (#38707) (#39899)
* ec2_vpc_route_table: Update matching_count parsing on find_subnets function and tests

* ec2_vpc_route_table: Update matching_count parsing on find_subnets function

(cherry picked from commit 1905a6e8fb)
2018-05-16 22:44:32 -07:00
8f09190100 win_updates: fix typo with download failure and whitelist on multiple updates (#40283) (#40292)
(cherry picked from commit 837aada4a8)
2018-05-17 08:55:21 +10:00
f86f51a8e1 Fix uri test on Python 2.6.
(cherry picked from commit 5c124876fa)
2018-05-16 15:34:29 -07:00
f791ec285c Backport/2.5/37461 (#40252)
* Fixing lack of failure when uploaded source is invalid (#37461)

Checking the response status for 400 and throwing exception.
Unit tests updated.

Fixes #37406
(cherry picked from commit 5e990301bb)

* changelog
2018-05-16 20:23:09 +01:00
a8628898ff Add missing test network prefixes. 2018-05-16 11:23:17 -07:00
2fec98aa5d nxos bugfix changelog 2.5.3 (#40263)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-16 22:17:52 +05:30
0d1af1df10 add SVI example for Cisco IOS/IOS-XE platform (#40021) (#40253)
on networktocode slack there was a user that wanted an example of how to add a switch vlan interface.  This will work and was tested on a 3850 cisco ios switch
(cherry picked from commit 0dc73e7822)
2018-05-16 10:49:58 -05:00
f5463f9099 Fix junos_config confirm timeout issue (#40238) (#40255)
* Fix junos_config confirm timeout issue

* Fix unit test

* Update changelog

(cherry picked from commit 865f2c5990)
2018-05-16 20:55:13 +05:30
9818636a7c Lenovo cli expansion - Modify command acronyms to full commands (#40218) (#40254)
* Changing Lenovo Inc to Lenovo and update License file to be consistent.

* Editing cli commands to expanded form. Changing username and password fields as per Ansible standards.

(cherry picked from commit f60731e27e)
2018-05-16 15:59:30 +01:00
4924398e0f Network requirements to be installed by ansible-test (#40042) (#40250)
Previously the test framework (DCI, Zuul) were installing the various
dependencies, this meant the list of what was required was duplicated.

Having everything defined in ansible-test makes it easier for people to
run tests locally.

Also this allows the test to work correctly on Python 2 & Python 3
(cherry picked from commit 27942d937f)
2018-05-16 15:25:44 +01:00
affbab8e3f ios_facts: Add check to skip lldp neighbors if lldp doesn't exist or isn't enabled. (#40247)
* Add check to skip lldp neighbors if lldp doesn't exist or isn't enabled.

* Re-enable check_rc on ios' run_commands

(cherry picked from commit 39bed45baf)
2018-05-16 09:54:24 -04:00
f1fc7cf384 nxos_snapshot fix cherry-pick (#40231)
* save_snapshot_locally nxos_snapshot (#40227)

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

* update changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-16 16:22:47 +05:30
b582ae6e29 documents usage of enable mode on NXOS (#39859) (#40221)
(cherry picked from commit 64f87867dd)
2018-05-16 13:33:59 +05:30
299047d963 cherry-pick stable-2.5 (#40177)
* Fix nxos terminal plugin regex (#39659)

Fix nxos terminal plugin regex to match
command prompt without newline character as prefix

(cherry picked from commit 0ac222d68b)

* remove purge from nxos_logging doc, argspec (#39947)

* remove purge from nxos_logging doc, argspec

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

* shippable

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

* IT cases for nxos_logging (#39929)

* IT cases for nxos_logging

* review comment

(cherry picked from commit 2557c0662a)

* fix nxos_ping issues (#40028)

(cherry picked from commit 6fac574f17)

* Fix vxlan_vtep_vni tests (#39968)

(cherry picked from commit 0407c51447)

* ios cliconf plugin fix regex for version (#40066)

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

* update changelog

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

* shippable

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-16 12:19:39 +05:30
f6cbb45b39 Disable failing etcd3 integration test.
(cherry picked from commit 00d10e1d78)
2018-05-15 23:31:07 -07:00
fe56d68c70 aws_s3: fix uploading from the target - backport #39023 (#40192)
* [aws_s3] Fix uploading src option on the target machine to a bucket (#39023)

* Fix backward compatibility for uploading src option on the target machine to a bucket

* Allow the module to handle errors for nonexistent files

(cherry picked from commit b8a93c12e2)

* changelog
2018-05-15 16:39:04 -04:00
e3b35d96be document lookup errors optoin (#39645)
* document lookup errors optoin

* changed to doc

* updated as per feedback

(cherry picked from commit 32c2aae258)
2018-05-15 15:30:12 -04:00
274fea3f5f Backport: Fix nested noop block padding in dynamic includes (#40182)
* Fix nested noop block padding in dynamic includes (#38814)

* Fix nested noop block padding in dynamic includes

* Address issues from the review

* Fix typo

(cherry picked from commit 5dd8977cfa)

* Add changelog/fragment for 38814
2018-05-15 15:04:28 -04:00
bc73fba58f backport ec2_vpc_subnet fix and custom waiters from PRs 37534/38473/39171/38960 (#39440)
* [cloud] Make ec2_vpc_route_table wait for the route to propagate (#35975)

* Stabilize ec2_vpc_route_table

Wait for route table to be present before attempting to use it

Sleep before getting the final state of the route table in case modifications are incomplete

* Conditionally wait if changes were made

* Simplify logic

(cherry picked from commit 8fb31ac2f01e7c75d5181510290c99aee22be7ef)

* Route custom waiter (#36922)

This creates a way for us to use boto3's data-driven waiter support to use custom waiters where Boto3 hasn't implemented them yet.

The only waiter implemented so far is for VPC Route Tables to check that they exist, and this replaces some custom retry code.
(cherry picked from commit a40bce2bcbd5a40aee0de2b6ab5f6197bb1c5237)

* Use NormalizedOperationMethod to catch ClientErrors so the waiter can handle them properly (#37356)

(cherry picked from commit c9e8aca26cfc7559e7e8c7970acf06cd30cc7629)

* [cloud] Add custom waiters to stabilize ec2_vpc_subnet module - Fixes #36083 (#37534)

* stabilize ec2_vpc_subnet module

* Add waiters for ec2_vpc_subnet

Clean up integration tests

* Reenable CI for stabilized ec2_vpc_subnet tests

* rename waiters

* Use module_json_aws where applicable

Handle WaiterError first if waiting failed

* Fix traceback when tagging with keys/values that look like booleans

* Fix check mode with tags

* Add integration tests for tags that look like booleans and check mode

* Add waiter for deleting subnet

* Sleep a few seconds after using aws command line

(cherry picked from commit ea943e454c783c6b0ffb91b78131f27cd9bce269)

* Fix sporadic errors in ec2_vpc_subnet integration tests (#38473)

(cherry picked from commit 46f13d343786fa3985cc16cc770762984c7884ac)

* [aws] Skip ec2_vpc_subnet waiters for old botocore versions (#39171)

 Fix ec2_vpc_subnet for botocore versions that do not accept the WaiterConfig parameter
(cherry picked from commit 6b91dae21c20006677e1e4adf2a9ff7ad55ca49c)

* [aws] Increase possible wait time for nonmonotonic subnet attributes (#38960)

(cherry picked from commit c4f010704890581a4974e83af03c2e81fb29e58e)

* changelog
2018-05-15 14:51:43 -04:00
3115f31655 Cherry pick iosxr admin fix (#40108)
* Exit admin mode properly on iosxr_config (#39594)

Fixes #38811

When using 'admin' in iosxr-config, we need to pass an end
to config terminal session but also pass exit so we exit admin
mode.

(cherry picked from commit 56c5567912)

* Add bugfix fragment
2018-05-15 10:50:42 -07:00
abb0f4498f Pick 2.5 (#40167)
* Fixes to improve ios_system idempotency (#38303)

Added detection of additional formatting for domain_name, domain_search,
lookup_source, and lookup_enabled on some software versions. In each
case they failed to detect existing commands with a '-' in it.

Fix: #38301
(cherry picked from commit 67acffb5f2)

* Nxos fixes (#40117)

* Alter nxos_nxapi tests to test the right thing

* Defend #40027

(cherry picked from commit f04c876ecd)
2018-05-15 22:03:51 +05:30
a55fd1e415 apt: better error msg when update_cache fails (#37410) (#40143)
(cherry picked from commit a6d31b6fb1)
2018-05-15 17:43:48 +02:00
d00b63e103 Fix eos_eapi integration test failure (#40132) (#40133)
(cherry picked from commit dda351ca6c)
2018-05-15 11:28:59 +05:30
920c9e447b win_template: fix issue where dest was specified as a directory (#39887) (#40125)
(cherry picked from commit d6eb642e88)
2018-05-15 10:57:20 +10:00
470f77e6dd become win: better error messages and docs update (#39936) (#40122)
* become win: better error messages and docs update

* Fix syntax error and added changelog fragment

(cherry picked from commit e0813d7d47)
2018-05-15 10:49:36 +10:00
256a85eefb Update all pypi.python.org URLs to pypi.org (#38988) (#40119)
For details on the new PyPI, see the blog post:

https://pythoninsider.blogspot.ca/2018/04/new-pypi-launched-legacy-pypi-shutting.html
(cherry picked from commit 1d640182c6)
2018-05-14 19:19:10 -05:00
096757a6a3 Ensure remove files work when file was already removed
If a file disappears when you are removing it, this will ensure it
doesn't fail and continues as expected.

(cherry picked from commit 6a08b16c37)

Add changelog for file removal race

(cherry picked from commit 7c9122a89d)
2018-05-14 14:28:37 -07:00
c833b096fa Fix encoding issue when parsing plugin examples (#39872)
This caused a non-fatal traceback when building, for example, the module
documentation for the debug module.

(cherry picked from commit 3e64036684)
2018-05-14 14:28:03 -07:00
37fcd689e5 updating win_chocolatey.py docs examples (#40101) (#40106)
<!--- Your description here -->
Edit to the notepadplusplus example. 

Removed `.install` as per chocolatey documentation, the package is just notepadplusplus. 

docs found here: https://chocolatey.org/packages/notepadplusplus
+label: docsite_pr

(cherry picked from commit 7d221c4663)
2018-05-15 06:43:03 +10:00
bd27c950f3 Fix unset ansible_virtualization_role (#39514) (#39885)
Error was:
AttributeError("'str' object has no attribute 'startwith'",)

Closes #39138

(cherry picked from commit 2397ca1a7e)
2018-05-14 15:15:46 +05:30
7764d9ce45 "route" has to be the first option in ufw command (#31756) (#40019)
* "route" has to be the first option in ufw command (#31756)

For supporting deletion of ufw routes, route option has to be placed before delete option
(cherry picked from commit 21004d86f9)

* Changelog
2018-05-12 16:07:54 +01:00
6a46e3a44b Backport/2.5/37847Fix interfaces_file to accept allow-* (#37847 (#40008)
* Fix interfaces_file to accept allow-* (#37847)

(cherry picked from commit 5ac41ee8d8)

* interfaces-file
2018-05-11 15:25:04 +01:00
928e1e8f99 fix comma
(cherry picked from commit fc57f7bd5f)
2018-05-11 09:19:09 -04:00
448999f10e fix keyword doc generation
* use aliases when they exist
  * fix hardcoded loop attributes handling

(cherry picked from commit 19fee0ef41)
2018-05-10 16:45:08 -04:00
0cd5457ea2 remove properties from vars in include_role (#38968)
* remove properties from vars in include_role
* also from_ args

(cherry picked from commit b9f7f582d1)
2018-05-10 16:44:02 -04:00
82abfa7ddf Mark the azure_rm_storageblob test unstable.
(cherry picked from commit 2de6734ce4)
2018-05-10 11:04:10 -07:00
41532a2667 trying to fix storage blob timing issue
(cherry picked from commit 7284d40049)
2018-05-10 07:36:50 -07:00
3de89da6f0 Backport: Fixes some NIC bugs (#39213) (#39266)
* cherry-pick 1ecd2c9dcdb6df9baada84d220dddda3423137c2

* Create azure_rm_networkinterface-fix-creation-ignore-nsg-name.yaml
2018-05-10 19:43:26 +10:00
fb669f76fb Backport/2.5/39027 (#39091)
* nios lookup errors out when there are no results #37970 (#39027)

* Update nios.py

* Update nios.py

* Update nios.py

* nios lookup errors out when there are no results #37970  Open

Indentation failure issue resolved

* Returning empty list instead of None

In case of no results, res will be returned as an empty list instead of None (implementing ganeshrn comment)

(cherry picked from commit fd50248463)

* Adding changelog mesage for nios lookup error
2018-05-10 10:08:44 +01:00
2107d91e45 [cloud] ec2_asg: wait for the lifecycle hooks - Fixes #37281 (#37282) (#39767)
* [cloud] ec2_asg: wait for the lifecycle hooks - Fixes #37281 (#37282)

Wait for the lifecycle hooks by matching states `Terminating:Wait` and `Terminating:Proceed` in addition to `Terminating`.

(cherry picked from commit ffd1200948)

* Add changelog fragment
2018-05-10 18:49:47 +10:00
fb26f6107d nxos module doc fragment for authorize,auth_pass (#39946)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-10 13:34:10 +05:30
1ecfca84e6 Make docs-build sanity test disabled by default.
(cherry picked from commit a7d7df1450)
2018-05-09 21:55:11 -07:00
c4a9989c87 Fix code snippet in playbook filters doc (#39798)
(cherry picked from commit e4efc191c5)
2018-05-10 12:05:51 +10:00
651efdad1d Move lookups tests to group1.
(cherry picked from commit dec4f10c21)
2018-05-09 16:55:25 -07:00
1fd024984b Overhaul httptester support in ansible-test. (#39892)
- Works with the --remote option.
- Can be disabled with the --disable-httptester option.
- Change image with the --httptester option.
- Only load and run httptester for targets that require it.

(cherry picked from commit c1f9efabf4)
2018-05-09 16:55:25 -07:00
a8c823e813 Ensure timezone tests reset system timezone to original value (#39326)
(cherry picked from commit fda67bae50)
2018-05-09 16:01:12 -07:00
f4dc8596fa Install git in pip tests (#39460)
* Install git in pip tests

* Ignore MacOSX

(cherry picked from commit 90354d282d)
2018-05-09 11:44:08 -07:00
3fcb758a9c Remove CI group from unsupported tests.
(cherry picked from commit 0e344b225a)
2018-05-09 10:31:31 -07:00
d24be2c6c6 Remove unnecessary destructive aliases.
(cherry picked from commit 6a1cb25c99)
2018-05-09 10:31:31 -07:00
8d8409141a Mark unsupported vmware tests.
(cherry picked from commit 8e6fd48087)
2018-05-09 10:31:31 -07:00
a84312d9e3 Fix for NameError (#39665) (#39916)
Issue : NameError: global name ‘cnos_devicerules’ is not defined. while running cnos modules.
Device Rule file validates the range and type of data going into each CLI based on device type it is executed against.
This has to be backported to 2.5
(cherry picked from commit 3c32b483bc)
2018-05-09 17:36:04 +01:00
1096fe568d Update ios_system.py (#39623) (#39914)
<!--- Your description here -->
Typo in the example of `domain_search`, was `domain-search`should be `domain_search`
+label: docsite_pr
(cherry picked from commit 75304bd121)
2018-05-09 10:45:09 -05:00
47dc15b841 Update panos_op.py (#39013) (#39912)
<!--- Your description here -->
The examples were apparently pasted from panos_object and the module name wasn't updated.
+label: docsite_pr
(cherry picked from commit 5f0e6b2dc3)
2018-05-09 10:44:51 -05:00
add3004bb8 Update panos_security_rule.py (#39036) (#39911)
<!--- Your description here -->

+label: docsite_pr
(cherry picked from commit 2b2bfc8032)
2018-05-09 10:44:28 -05:00
511d3110f7 Only change expiration date if it is different (#38885) (#39575)
* Only change expiration date if it is different

Modify user_info() method to also return the password expiration.
Compare current and desired expiration times and only change if they are different.

* Improve formatting on user tests

* Add integration test for expiration

* Add changelog fragment

* Improve integration test

Skip macOS and use getent module for validating expiration date.

* Fix expiration change for FreeBSD

* Don't use datetime since the total_seconds method isn't available on CentOS 6

* Use better name for expiration index field

Use separate tasks for verifying expiration date on BSD

* Use calendar.timegm() rather than time.mktime()

calendar.timegm() is the inverse of time.gmtime() and returns a timestamp in UTC not localtime
Add tests that change the system timezone away from UTC

* Mark tests as destructive and use test for change status

* Fix account expiration for FreeBSD

Use DATE_FORMAT when setting expiration date on FreeBSD. Previously the argument passed to -e was an integer of days since epoch when the account will expire which was inserted directly into master.passwd. This value is interpreted as seconds since epoch by the system, meaning the account expiration was actually set to a few hours past epoch.

Greatly simply comparing desired  and current expiration time by using the first three values of the struct_time tuple rather than doing a whole bunch of manipulations of the seconds since epoch.

(cherry picked from commit 5a6bdef76b)
2018-05-09 10:45:48 -04:00
894830326a Don't update cpu/memory allocation in configspec if there is no change. (#39865)
Fixes #38941

(cherry picked from commit 0296c8466a)
2018-05-09 18:37:03 +05:30
c485c439c7 Backport: apt: mark installed packages manual (#37751) (#39411)
(cherry picked from commit 00d9345158)
(cherry picked from commit 687f3bbef3)
2018-05-09 12:27:04 +02:00
5be6a3ef58 Auto install of python-apt without recommends. (#39409)
debian:9

`apt-get install python-apt` - this will install python2.7 and python3
After this operation, *88.4 MB* of additional disk space will be used.

`apt-get install --no-install-recommends python-apt` - only python2.7
After this operation, *35.0 MB* of additional disk space will be used.

(cherry picked from commit c542e62)
(cherry picked from commit 58261a42e9)
2018-05-09 04:51:38 -04:00
df72a1d644 Move pyvmomi install into cloud test plugin.
(cherry picked from commit a5b8085113)
2018-05-08 12:27:37 -07:00
f654d47c01 Remove provider (and transport, where applicable) from consideration when not using connection=local (#39555) (#39861)
* Remove provider (and transport, where applicable) from consideration

* Add tests that misplaced transport does not fail task

(cherry picked from commit c6270e15a6)
2018-05-08 12:54:03 -04:00
fb5bc5d513 nxos on_become terminal plugin stable_2.5 (#39852)
* nxos enable mode (#39355)

* nxos enable mode

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

* fix prompt

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

* Add authorize,auth_pass

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

* remove byte string from exec_cli_command

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

* Add on_become test

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

* removed_in_version

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

* nxos on_become changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-08 15:52:09 +05:30
c23aa1c9ce show version brief does not work on iosxr virtual (#39847)
* show version brief does not work on iosxr virtual (#37609)

* show version brief does not work on iosxr virtual

* ci failures fix

(cherry picked from commit 66b389a00d)

* changelog entry
2018-05-08 13:12:23 +05:30
079b7cb1fe nxos and ios bugfix stable-2.5 (#39845)
* nxos_linkagg normalize interface (#39591)

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

* use show run instead of section pipeline ios_l2_interface (#39658)

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

* add changelog

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

* fix nxos_snmp_user issues (#39760)

* fix nxos_snmp_user issues

* shipppable fix

(cherry picked from commit e3bfbe5875)

* changelog

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

* fix shippable

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-08 12:38:22 +05:30
54a229adb9 Handling of configurations blocks with end-* at the end of the block (#39843)
* Handling of configurations blocks with end-* at the end of the block (#39673)

* handle end-policy issue

* revert changes in iosxr cliconf

* fix trailing parents not included in difference

* Moving fix to platform specific fix

* pep 8 issues

(cherry picked from commit ef577b71cc)

* changelog entry
2018-05-08 11:34:53 +05:30
4b979742fa Fetch ios default config is defaults is enabled (#39741) (#39841)
If default option is eanbled fetch the current
running configuration by adding `all` or `full`
flag
(cherry picked from commit 09e3b5c92b)
Update Changelog
2018-05-08 10:11:54 +05:30
e1fde2a50f Update call method for parse_cli_textfsm (#38437) (#39827)
+label: docsite_pr
(cherry picked from commit 7f5820274f)
2018-05-07 22:13:02 -05:00
00662ef044 Backport release_and_maintenance.rst (#39755)
* document our deprecation (#37788)

* document our deprecation

fixes #37779

* Copy edit.

(cherry picked from commit 8b45cab3c1)

* Update docs and version definitions for the 2.4.4 and 2.5.0 releases

(cherry picked from commit 73c80862c8)

* Fix 2.5 changelog link

(cherry picked from commit 4165bb308b)
2018-05-07 22:09:11 -05:00
8e5956a98b Backport #39818 to stable-2.5 (#39824)
* Update vars for loop_control on each loop iteration (fixes #38899) (#39818)

(cherry picked from commit 01e8139d74)

* Changelog snippet for cherry-pick of #39818
2018-05-07 19:09:48 -04:00
bf1436ca52 facts: Detecting NVME partitions under Linux (#39730) (#39804)
* facts: Detecting NVME partitions under Linux (#39730)

In the current state of the code, the nvme partitions are returned as empty as in :
        "ansible_devices": {
            "nvme0n1": {
                "model": "SAMSUNG MZVLW256HEHP-000L7",
                "partitions": {},

The parsing of the /sys/block/<diskname> try to find a disk named like :
    <diskname><x> as in sda1 for sda

But in the nvme context, the partition of nvme0n1 is named nvme0n1p1.
This add a possible 'p' between the diskname and the partname.

This patch simply add the option of having a 'p' between the diskname
and the partname.

The patch works on my host :
                "model": "INTEL SSDPEDMD400G4",
                "partitions": {
                    "nvme0n1p1": {
                         ...
                        "size": "93.13 GB",
                    }

Fixes #38742
Signed-off-by: Erwan Velu <erwan@redhat.com>
(cherry picked from commit 2214c747a2)

* Use a more exact regex (#39811)

The pattern we're matching can have zero or one p.  Be more careful to
match exactly that.

Slight revision of #39730

(cherry picked from commit 75283983f6)
2018-05-07 14:18:53 -07:00
17f7d35b32 Broken link to MSDN (#39814)
Fix broken link to MSDN site for FileSystemRights enumeration

+label: docsite_pr

(cherry picked from commit ea7883ef7e)
2018-05-08 05:50:26 +10:00
515ab5fd99 Restore nuage_vspk integration tests.
(cherry picked from commit 1c7417cba7)
2018-05-07 11:32:50 -07:00
4d245c9a87 Backport #39764 for 2.5 - async_status environment (#39766)
* Make sure that the implicit async_status gets the env from a task with async. Fixes #39699 (#39764)

(cherry picked from commit 3b496db4d8)

* Add changelog for #39764
2018-05-07 10:02:18 -05:00
5016ea8615 vmware_guest: cast vlan to int or str when relevant (#39793)
`network['vlan']` should be a VLAN ID
Integers passed around using jinja variable references are
converted to strings (see # 9362)
The # 32738 PR should allow using 'NativeType' in ansible
Explicitly converting to integer will make the module works
as expected with or without the NativeType support

`network['vlan']` can also be a VLAN NAME (fallback)
Explicitly converting to string will make the module works
as expected with or without the NativeType support

Signed-off-by: Matthieu Fronton <m@tthieu.fr>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

(cherry picked from commit a0b4462aea)
2018-05-07 16:45:18 +05:30
20e8766840 Fix eos_config integration test failure (#39662) (#39784)
Enable become for eos_config check_mode test cases
(cherry picked from commit b20b964c4a)
2018-05-07 09:03:19 +05:30
b711bde6b2 Temporarily disable the nuage_vspk test.
This test interferes with the uri test on centos6.

(cherry picked from commit a121b5073c)
2018-05-05 14:01:03 -07:00
831cfe9164 doc for _config backup argument (#38650) (#39763)
(cherry-picked from commit 6de49f0)
2018-05-04 17:33:08 -05:00
81abf7837d Backport/2.5/39371 Issue 30786 (#39660)
* Fixes 30786 - add server response to the failure

(cherry picked from commit 0ac885f1c7)

* replace str(e) with to_native(e) according to code review

(cherry picked from commit e2e3bf6b9a)

* add changelogs/fragments
2018-05-04 12:55:40 -04:00
8d570e67db Fix eos_vlan associated interface check (#39661) (#39738)
* Fix eos_vlan associated interface check

Fix eos_vlan associated interface check by comparing
the interface in want and have without converting the
interface name to lower

* Update eos_vlan docs

* Update changelog
(cherry picked from commit afdc2364f2)
2018-05-04 20:14:48 +05:30
cf374ca9d4 Fix ios integration test failures in CI (#39729) (#39731)
Fix ios integration test failures in CI. Since the packet transfer and receive rate
on the interface is not determined to remove the tx_rate and rx_rate test conditions
to prevent intermittent failure.
(cherry picked from commit 4c5ac16447)
2018-05-04 17:30:03 +05:30
69564206e0 nxos bugfixes stable-2.5 (#39719)
* Handle nxos_feature issue where json isn't supported (#39150)

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

* Integration Tests only: nxos_snmp_contact (#39318)

* add integration test cases for snmp_contact

* removing unnecessary files

(cherry picked from commit bdb75cd82c)

* fix nxos_ntp issues (#39178)

* fix nxos_ntp issues

* review comments

* fix idempotent fail case

(cherry picked from commit 2f99a17856)

* nxos_interface: AttributeError: 'NoneType' object has no attribute 'group' (#38544)

This fixes an issue we recently encounteredi with nxos_interface:

```
Traceback (most recent call last):
  File "/tmp/ansible_JmLoba/ansible_module_nxos_interface.py", line 777, in main
    have = map_config_to_obj(want, module)
  File "/tmp/ansible_JmLoba/ansible_module_nxos_interface.py", line 606, in map_config_to_obj
    obj['speed'] = re.search(r'speed (\d+)', body).group(1)
AttributeError: 'NoneType' object has no attribute 'group'
```

(cherry picked from commit dca6e2d94d)

* fix nxos_snmp_community issues (#39258)

(cherry picked from commit 1afec5a48e)

* Add aggregate example in nxos_l2_interface module doc (#39275)

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

* Fix misuse of 'self' in lib/ansible/module_utils/network/eos/eos.py. … (#39074)

* Fix misuse of 'self' in lib/ansible/module_utils/network/eos/eos.py. Method load_config

* Fix all instances of self.config(self,...

(cherry picked from commit 80d7e22f5e)

* Fix for nxos_snmp_host issues (#39642)

* fix snmp_host issues

* source files

* fix shippable

* remove defaults to match arg spec

(cherry picked from commit f99bae1776)

* fix nxos_snmp_traps issues (#39444)

* fix snmp_traps code

* add IT cases

* fix shippable

* fix shippable without ignore

(cherry picked from commit 99748cbfa4)

* changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-04 15:25:55 +05:30
c11d8abf9a Fix for file module with recursive permission setting and broken symlinks
There was a traceback when setting permissions on a directory tree when
there were broken symlinks inside of the tree and follow=true.  chmod -R
ignores broken symlinks inside of the tree so we've fixed the file
module to do the same.

Fixes #39456

(cherry picked from commit 6b159fdb03)
2018-05-03 18:27:34 -07:00
3b17141525 Fix for file module with symlinks to nonexistent target (#39635)
* Fix for file module with symlinks to nonexistent target

When creating a symlink to a nonexistent target, creating the symlink
would work but subsequent runs of the task would fail because it was
trying to operate on the target instead of the symlink.

Fixes #39558

(cherry picked from commit 4f664f8ff6)
2018-05-03 18:11:02 -07:00
99f36c6ce5 win_get_url: Fixed a few issues with using FTP and added tests (#39646) (#39705)
* win_get_url: Fixed a few issues with using FTP and added tests

* Fixed typo in docs

(cherry picked from commit f75b7a9437)
2018-05-04 09:24:44 +10:00
659e10885b Enable nuage_vspk tests for Python 2.7.
(cherry picked from commit c2d7347819)
2018-05-03 15:38:02 -07:00
4d9895ad93 Document follow changes
Add the file, blockinfile, and replace changes to the follow parameter
to the porting guide

(cherry picked from commit 1885883a88)
2018-05-03 11:58:02 -07:00
aa6c60ea80 nxos.yaml no longer needed (#39693) 2018-05-03 19:22:51 +01:00
de8213e230 vyos_interface require multiple network nodes to run (#39670) (#39691)
* vyos_interface require multiple network nodes to run

We don't have the ability to run these currently, so disable them.
The original logic was also incorrect, the tests don't pass on lab, DCI
nor single instance nodepool, so disable

https://github.com/ansible/ansible/issues/39667 tracks getting these
enabled again

* eth0 -> Gi0/0

* Correctly detect if we should run lldp

* Correctly detect if we should run lldp

(cherry picked from commit 923a81e9e5)
2018-05-03 18:52:42 +01:00
d5538ce807 Default ssh port (#39678) (#39690)
(cherry picked from commit a7660f0603)
2018-05-03 18:49:41 +01:00
389db4c49e [aws] Added empty default for ec2_ami name parameter (#38585)
* removed additional check for name parameter

(cherry picked from commit 91357d07f4)

* Added empty default
Fix for issue https://github.com/ansible/ansible/issues/38482

(cherry picked from commit 60a3277103)

* [ec2_ami] Ensure name or image_id is provided for state=present (#38972)

Add integration tests for backward compatibility and ensuring name or image_id is provided
(cherry picked from commit e2aa1155ba)
2018-05-03 08:03:11 -04:00
eaa9364159 update win_psmodule.py (#39631)
<!--- Fix minor typo in Powershell version requirement -->

+label: docsite_pr

(cherry picked from commit ca36e07be0)
2018-05-03 14:51:48 +10:00
8c6f6033b0 Fix when template paths contain non-ascii chars and using the path in ansible_managed
Fixes #27262

(cherry picked from commit 81b2529159)

Add tests for template with non-ascii filenames

This is a test in response to #27262 but I could not provoke the error
so it only shows that the current code is working with non-ascii
filenames in this case.  It doesn't show whether there's some other bug
somewhere.

(cherry picked from commit f91d961cb4)
2018-05-02 13:02:12 -07:00
f1d584bb58 Remove unstable from azure_rm_storageblob test. 2018-05-02 10:34:40 -07:00
f3d8d0baae Remove unstable marker from rabbitmq_user test.
(cherry picked from commit f526a461ee)
2018-05-02 10:15:06 -07:00
00c023ed3c ensure 'home' translations (#36755)
* ensure 'home' translations
* removed slash as it created issues on diff plats

(cherry picked from commit cc1c7c63db)

* fixed bug introduced by orig commit, this should only affect single ~ paths
2018-05-02 11:51:51 -04:00
d5e8bedfd6 Connect via ssh using ansible_port (#39603) (#39607)
Depending on how we spin up the VM we use different ssh port. Honor that
in the vyos_user test
(cherry picked from commit 287f4ff374)
2018-05-02 16:36:15 +01:00
bf96b1da63 Fix fetching ios default running config (#39475) (#39608)
If default option is enable in that case only
add 'all' or 'full' flag
(cherry picked from commit eb5e15e7e0)

Update changelog
2018-05-02 20:06:21 +05:30
df9642aa30 fix nxos_vrf_af teardown for nxapi (#39599) (#39601)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 0a17adb3df)
2018-05-02 18:10:11 +05:30
b7c311d3c7 Use HTTPS instead of HTTP for httpbin tests. (#39457)
The httpbin.org site is now redirecting HTTP to HTTPS.

(cherry picked from commit b92ef8e54a)
2018-05-01 20:57:27 -07:00
784956c219 Sync stable-2.5 test infrastructure with devel. (#39544)
Sync stable-2.5 test infrastructure with devel:

- shippable.yml
- test/runner/
- test/sanity/
- test/utils/
- docs/docsite/rst/dev_guide/testing/sanity/
- test/integration/targets/*/aliases
2018-05-01 15:47:24 -07:00
4d0422d4ed Properly unlock the socket file lock in ansible-connection (#39223) (#39330)
Also use a lock file per host, rather than one global file lock.

Commit 9c0275a879 introduced a bug where the lock file was only being
unlocked by the child PID of the resulting fork done in ansible-connection.
This causes delays when a large inventory causes a lot of contention on
that global lock. This patch fixes the problem by ensuring the lock is
released regardless of the fork condition, and also to use a lock file
based on the remote address of the target host, removing the global lock
bottleneck.

Fixes #38892

(cherry picked from commit 7ce9968ce1)
2018-05-01 14:19:26 -07:00
20ab1d2994 Move requirements into tests. (#35885)
(cherry picked from commit e7b793c8c6)
2018-05-01 09:55:56 -07:00
eb77afe4de Add space between arguments for acme-tiny (#36739) (#39018)
Currently, the module fail with a error saying that --acme-dir is mandatory.
Looking at the commandline:

    /usr/sbin/acme-tiny --chain --account-key /srv/letsencrypt/acme_key/acme.key
    --csr /srv/letsencrypt/nginx_certs/www.example.org.csr--acme-dir /srv/letsencrypt/webroot",

We can see that the space before --acme-dir is missing.
2018-05-01 12:55:19 +01:00
543097c315 Backport/2.5/39063 (#39093)
* Fix ios and iosxr terminal prompt regex (#39063)

Fixes #38732

Make matching leading newline for cli prompt
optional as there are cases when returned repsonse
for ios/iosx remote host doesn't have newline before
cli prompt.
(cherry picked from commit eebfa66c2b)

* Adding changelog for ios and iosxr terminal prompt fix
2018-05-01 12:03:30 +01:00
aa534d8be9 Move var precedence check to integration tests.
(cherry picked from commit 8daa80e5bb)
2018-04-30 16:20:16 -07:00
e72ab67081 Fix broken docs link. 2018-04-30 15:57:44 -07:00
9f6706fe82 Clean up non-standard module shebangs.
(cherry picked from commit aee01564a9)
2018-04-30 15:30:42 -07:00
bb4c00c006 Copy edits and tweaks
(cherry picked from commit e7f9c5cc60)
2018-04-30 15:30:42 -07:00
cc77752958 updated api example
- added many more comments
- removed very obsolete 1.x refs

(cherry picked from commit cf43e0d605)
2018-04-30 15:30:42 -07:00
44247f95c3 Fix more docs errors. (#39051)
* Fix remaining unknown-document docs errors.
* Fix last toc-tree-missing-document docs error.

(cherry picked from commit 9e8889bb70)
2018-04-30 15:30:42 -07:00
434c6ef7e8 Fix docs build warnings.
(cherry picked from commit 4fc5e89e83)
2018-04-30 15:30:42 -07:00
bf138c9e8e Add missing boilerplate. 2018-04-30 14:46:15 -07:00
cee1cbf65b make individual bad paths a warning
still error if none of the paths provided was usable

fixes #39044

(cherry picked from commit e4dbabbef2)
2018-04-30 17:20:32 -04:00
18d0fe6b30 minimize loading files/plugins
avoids some repetitive loading
 - read config file only once
 - now cache the ini parser per file
 - optimize shell plugin loading

tried to 'optimize' vars_plugins loading but it creates issues with precedence,
probalby due to iterator not being reset, will look into it in subsequent fix/PR

(cherry picked from commit 42912e1ac8)
2018-04-30 12:49:53 -04:00
b595c6254f return empty host list when pattern is empty
fixes #37894

(cherry picked from commit 2e852fcd6d)
2018-04-30 12:48:56 -04:00
19ab7b4b64 ignore version when deciding callback loading (#38281)
* ignore version when deciding callback loading

The code already defaulted to load the callback if the properties are not present
there was no need for us to also check the version

fixes #38270

* fix error msg on set optoins to use correct name

(cherry picked from commit 1850bb752f)
2018-04-30 12:47:58 -04:00
80486090d5 protect against plugins using verify incorrectly
assume false on any errors

(cherry picked from commit ef40e5e3b2)

backport of #36591
2018-04-30 12:47:04 -04:00
27b1044bc1 Update intermediate_concepts.rst (#39500) (#39503)
Updated  GitHub Repos section to better explain what ansible-network@redhat.com is for (not an email list, but adding to the network-automation github repo.
(cherry picked from commit 9773157da6)
2018-04-30 11:35:53 -05:00
4de31cd96b Add changelog for #37010 (#39511) 2018-04-30 12:29:11 -04:00
e7aa8bc0e3 Need to convert filenames to byte strings before using them in APIs
Under a non-utf-8 locale (for instance, LC_ALL=C), passing a non-ascii
filename to many APIs will traceback.  Fix that by explicitly converting
to byte strings before passing to external APIs.

May fix #27262

(cherry picked from commit 2976b653ce)

Add a changelog for filename encoding in template action fix

(cherry picked from commit d90c36e320)
2018-04-30 09:26:02 -07:00
b5a5211cd4 remove slice docs (#37946)
(cherry picked from commit b533ebe20d)

backport of #37946
2018-04-30 10:14:19 -04:00
8ce45ec4d6 fixes broken link in aci module docs (#39247) (#39450)
* fixes broken link in aci module docs

* makes correct fix for aci broken link

(cherry picked from commit 4801bf96a5)
2018-04-30 08:49:58 -05:00
f9ba5bc5e9 Disable failing tests. 2018-04-27 16:14:06 -07:00
b9df2e5c9f [cloud] ec2_vpc_route_table: ignore routes without DestinationCidrBlock - fixes #37003 (#37010) (#39210)
* [cloud] ec2_vpc_route_table: ignore routes without DestinationCidrBlock

Add module warnings rather than silently skipping

* Permit warnings for routes tables containing vpc endpoints to be turned off

* Add tests to ensure a VPC endpoint associated with a route table does not result in a traceback

(cherry picked from commit da3f7a8db1)
2018-04-27 15:56:32 -04:00
7577a8c24d Last docs link fixes (#39391) (#39445)
* should not need <>, but fails without

* adds anchor to keywords page, uses it on plugins pages

* fixes envvar link errors

* harmonize file name and ref name as python_3

(cherry picked from commit c8a9b411bc)
2018-04-27 13:55:13 -05:00
86663c8060 fixy typo (#39430)
(cherry picked from commit 01e7f44e0d)
2018-04-27 11:06:56 -07:00
05f04c173c Change except Error when trying to get a missing option
(cherry picked from commit 25dea1f72c)
2018-04-27 11:57:14 -04:00
515bb78ee1 minor accuracy fix
Don't round the parameter 12.04 in the explanatory paragraph unless `version()` rounds the parameter

(cherry picked from commit 5cf544e03e)
(cherry picked from commit 56967497d5)
2018-04-27 11:56:09 -04:00
f77f605115 chkconfig localizes messages, ansible fails to recognise
In the particular case of executin "chkconfig --list NAME", ansible
checks the stderr looking for a particular english message.
This message is different in other languages, Spanish for example
(although it have been corrected in the latests versions)

Fixes #29818

(cherry picked from commit e7db3c0eba)
2018-04-27 11:26:57 -04:00
070c7b77ab Backport #39366 - call diff callback also when task diff is true (#39372)
* call diff callback also when task diff is true (#39366)

fixes #31129

(cherry picked from commit d76298b5d3)

* Add changelog entry
2018-04-27 10:20:15 -04:00
655ffa5368 Win file path special char 2.5 (#39397)
* win_file: Handle [] in paths, fix touch in check mode (#37901)

* win_file: Handle [] in paths, fix touch in check mode

* Fixed typo for p/invoke command

(cherry picked from commit 4b57fa91d0)

* Added changelog fragment for win_file special char fix

(cherry picked from commit 61bcf4740f)
2018-04-27 08:54:02 +10:00
c1d91bfcaa Backport fix for fw_offline/FW_VERSION globals in firewalld (#39394)
Fixes #38161

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-04-26 17:36:31 -05:00
a02592baec fix yamllint sanity failure 2018-04-26 10:51:13 -07:00
48b75cad8e New release v2.5.2 2018-04-26 10:39:44 -07:00
f529d75865 Update test-module (#39331)
Update test-module To use C.DEFAULT_LOCAL_TMP

(cherry picked from commit efdd92e1c0)
2018-04-26 08:56:00 -07:00
757fb5263f Backports to 2.5 of recent oVirt fixes (#38835)
* ovirt_disks: Fix fail condition for LUN disk

Fixes: https://github.com/ansible/ansible/issues/38661

* ovirt_host_networks: Fix removing of network attachments

* ovirt: Support removing unmanaged networks

* ovirt: FCP storage domains don't have to have target
2018-04-26 11:48:53 -04:00
cb27ed5a58 Winrm encoding in exception fix (#39333)
Exceptions need to use native strings.  We need to make sure we're
combining native strings with native strings.

(cherry picked from commit 0b643009db)

Add changelog entry for winrm encoding fix

(cherry picked from commit a5e33969b1)
2018-04-25 17:15:43 -07:00
75c5bc0ef7 Update the cloudstack test container reference.
(cherry picked from commit ac1fbbeabc)
2018-04-25 12:32:23 -07:00
d1e6b9a199 Reduce warnings (#39254) (#39323)
* fixes from 4b52a54e18
* leaves out the stub 2.6 porting guide
2018-04-25 13:50:28 -05:00
3bcca725fc Documentation for query/q. Fixes #38275 (#38558) (#39316)
(cherry picked from commit 476d1f818e)
2018-04-25 13:34:19 -05:00
b88161055f removes broken link to old module name (#39249) (#39307) 2018-04-25 11:37:27 -05:00
6458a6699b fixes broken links in Amazon module docs (#39248) (#39306)
(cherry picked from commit 0d38c80395)
2018-04-25 11:37:04 -05:00
7dbe964de5 We need to return virtual_facts after VMWare platform detection (#39149)
(cherry picked from commit 4f36d7965e)
2018-04-25 17:54:54 +05:30
6b4b2d5381 Add note about the dangers of ANSIBLE_DEBUG (#39261)
* Add note about the dangers of ANSIBLE_DEBUG

* Wording tweaks

(cherry picked from commit 72456711c3)
2018-04-24 20:44:09 -07:00
6c03fcdc0e Fix mysql-server install/upgrade on Ubuntu 16.04. (#39241)
* Fix mysql-server install/upgrade on Ubuntu 16.04.
* Prevent service restart in docker_secret test.

(cherry picked from commit 996f9c2467)
2018-04-24 13:37:25 -07:00
f0761660bb corrects links to 'list_of' pages (#39161) (#39230) 2018-04-24 12:27:26 -05:00
0e961f9ace k8s inventory: add pod nodeport (#39107)
Node port field is not populated on K8S pods, and it's certainely the most useful port to use in pod when we need to interact with ansible outside of the cluster
2018-04-24 18:32:10 +02:00
b372eb0947 adds index page for roadmaps to support internal links (#39109) (#39192)
* adds index page for roadmaps to support internal links

* includes only roadmaps index page in TOC

(cherry picked from commit becc2a0347)
2018-04-24 08:46:32 -05:00
6ab0d60e81 Ansible.ModuleUtils.FileUtil - backport 2.5 Add ability to test non file system provider paths (#39203)
* Ansible.ModuleUtils.FileUtil - Add ability to test non file system provider paths (#39200)


(cherry picked from commit b6afe6946d)

* Added changelog fragment
2018-04-24 13:17:43 +10:00
250d5b74fa Fix for win_get_url module (Fixes #39151) - 2.5 backport (#39207)
* Fix for win_get_url module (#39152)


(cherry picked from commit 0c96863ec6)

* Added changelog fragment
2018-04-24 12:46:40 +10:00
299861a302 remove slice filter as it already exists in jinja 2018-04-23 18:33:32 -04:00
ec8bce2051 Add changelog for #38302 2018-04-23 18:01:21 -04:00
711769db4f allow incremental update for vars in loop for set_fact/include_vars (#38302)
* fix set_fact/include_vars looping

* tests for all behaviours affected

* add tests with injection off/on

(cherry picked from commit 2afb1090b1)
2018-04-23 18:01:21 -04:00
1a96cd67d0 Internal refs (#39094)
* fixes community refs

* fixes appendix refs

* fixes scenario refs, keeps ACI guide link to devel

* fixes windows refs

* fixes user guide refs

* fixes dev guide refs

(cherry picked from commit bbfd6c6ab1)
2018-04-23 12:36:38 -07:00
ea765be993 Link fixes (#39038)
* fixes links on plugins pages

* fixes links in community pages

* fixes links in user guide

* adds anchors on playbooks pages

(cherry picked from commit 408e29cbd2)
2018-04-23 12:36:08 -07:00
3a0e8efc21 Fixes more rST errors (#39042)
* removes include, avoids duplicate label rST warnings

* reduces literal_block errors on playbooks_filters

* addresses TOC errors

* ref error on modules page

* trying ref for list_of_database_modules

(cherry picked from commit 64dcc7def0)
2018-04-23 12:35:37 -07:00
628492f8b3 avoids not-in-toc errors with :orphan:
(cherry picked from commit 0fef3f1b48)
2018-04-23 12:15:59 -07:00
cd7042857c Fix copy to only follow symlinks for files in the non-recursive case
Revert "**Temporary**"

This reverts commit 28b86b1148.

We don't need this now that copy has been fixed

(cherry picked from commit f332151f59)
2018-04-20 12:48:32 -07:00
94d40c8515 Fix ios and iosxr terminal prompt regex (#39063) (#39089)
Fixes #38732

Make matching leading newline for cli prompt
optional as there are cases when returned repsonse
for ios/iosx remote host doesn't have newline before
cli prompt.
(cherry picked from commit eebfa66c2b)
2018-04-20 23:49:19 +05:30
d6872a7b07 Backport #38747 for 2.5 - Block copy and reparenting improvements (#38829)
* Attempt 4: Prevent reparenting a block with itself (#38747)

* More concisely reparent, ensuring we don't go too shallow or too deep in this process. Fixes #38357

* More explicit reparenting, with a short circuit for a common case

* We need new_block to have a parent, otherwise we lose context with this approach

* Remove duplicate parent assignment

* Change callers of Block.copy to not use exclude_parent=True, when including the parent, exclude tasks

(cherry picked from commit f474195a3b)

* Add changelog for #38747
2018-04-20 12:31:56 -05:00
0bbb67383b Backport #38827 for 2.5 - Allow inheriting attrs from static parents (#38847)
* Skip self._parent on dynamic, defer to grandparent for attr lookup (#38827)

* Skip self._parent on dynamic, defer to grandparent for attr lookup

* Revert _inheritable

* Add tests for include inheritance from static blocks

Fixes #38037 #36194

(cherry picked from commit 354aa8d602)

* Add changelog for #38827
2018-04-20 11:45:28 -05:00
017f9a4876 Backport #37083 for 2.5 - IncludedFile comparison fix for free strategy (#38981)
* Consider parent also when comparing IncludedFile (#37083)

* Consider parent also when comparing IncludedFile

* Add new tests for IncludedFile and convert to pytest

(cherry picked from commit cdb79b0e3a)

* Add changelog for #37083
2018-04-20 11:42:30 -05:00
07ca962417 Backport #38884 for 2.5 - docker/docker-py guard (#38889)
* Error if docker and docker-py are simultaneously (#38884)

* Error if docker and docker-py are simultaneously installed over top of each other. Fixes #36125

* Remove duplicate installed

(cherry picked from commit 68e3ff80a7)

* Add changelog for #36470
2018-04-20 11:41:35 -05:00
3e54803fa4 Modules to link relatively to docs (#39081) (#39086)
* Modules to link relatively to docs

* consistency

(cherry picked from commit 9e028ab704)
2018-04-20 17:40:56 +01:00
0e98011f3a Clarify recursive
If recursive is set to yes, the module changes the attributes of the directory recursively even though state: directory is not set.

(cherry picked from commit 785c660432)
2018-04-19 12:09:54 -07:00
27ad5808e2 File module: correct description of "state" (#36327)
* File module: correct description of "state"

It was probably intended to say "intermediate subdirectories will be created" and not "immediate subdirectories will be created".

(cherry picked from commit a81c6668eb)
2018-04-19 12:05:14 -07:00
057ceb724d [file] Update description of state (#38451)
* [file] Update description of state

(cherry picked from commit af9d6aadf0)
2018-04-19 11:53:24 -07:00
0a7f2093a3 Update info on python support (#38855)
* Update the documentation to list Python 3 as official
* Add some reference targets for inventory variables so we can link to docs
* Add a platform FAQ section
  Populate it with

  * virtualenv info (previously on the python3 support page)
  * BSD (Link to the working with BSD page)
  * Solaris (Document how to work around the non-POSIX shell on some
    Solaris hosts)

  Fixes #21594

* Fix some refs in the release_and_maintenance document

* Fix unindent error in module template

Fix for the module/plugin template unintentionally unindented inside of
a raw block, leading to errors like:

ERROR: docs/docsite/rst/modules/redshift_facts_module.rst:289:0: Explicit markup ends without a blank line; unexpected unindent.

* Make wording for Solaris troubleshooting better.

(cherry picked from commit a08459a814)
2018-04-19 11:40:48 -07:00
a2df7ab75e adds FAQ TOC entry, links & examples to modules (#38706)
* adds FAQ TOC entry, links & examples to modules
* moves link to Notes, corrects examples

(cherry picked from commit 0ebc0b9e5a)
2018-04-19 11:40:05 -07:00
5ec8a19b79 Reinstate code of conduct to the community TOC; add links to code of conduct to a few conspicuous spots in the community guide. (#38501)
(cherry picked from commit 6454aedb44)
2018-04-19 11:39:14 -07:00
0e5c66ae72 Fixes for multiline doc descriotions breaking rst formatting
* strip whitespace to preserve indent level
* Make sure to indent subsequent lines of indentation

(cherry picked from commit 6ddc64bc7c)
2018-04-19 11:38:14 -07:00
0d83a0a888 make aef test more predictable
revert "Disable any_errors_fatal test."
This reverts commit 56189cc312.

fixes #38407

(cherry picked from commit 3c996d0f74)
2018-04-19 10:35:23 -07:00
cb5083b679 [cloud] Add AWSRetry to ec2_vpc_net and ec2_vpc_dhcp_option to stabilize return values (#36264) (#38975)
Fixes #36063, fixes #37323, fixes #36078 (#37354)

* Add AWSRetry when describing VPCs to help stabilize integration tests

* Add retry on create_tags because it is possible to reach this API call before the VPC is finished creating

* Increase delay and tries for ec2_vpc_net backoff

* Wait for DHCP option to be created in ec2_vpc_dhcp_option

* Wait for all modifications to the VPC

* Use the vpc_available waiter because is uses Filters

* Optimize retries to only occur if the functionality is available

Cherry-from:
- 16f8a993a0
- e9c57e732f
2018-04-19 09:28:57 -04:00
4d95f467f5 elb_target_group: use port parameter as default for target port (#38578) (#38992)
The docs suggest that `port` parameter is the default port upon
which targets listen. As such, a target need only provide a `Port`
key to override the default.

(cherry picked from commit dc09ddfbd5)
2018-04-19 09:25:24 -04:00
2b985137d7 [AWS cloudfront_distribution] Update minimum protocol versions (#38644) (#38990)
As per docs, the current set of values is

```
'SSLv3'|'TLSv1'|'TLSv1_2016'|'TLSv1.1_2016'|'TLSv1.2_2018'
```

Fixes #38642

(cherry picked from commit 6b970348b1)
2018-04-19 09:24:17 -04:00
16f48b539f ensure cli dir exists before saving files to it
(cherry picked from commit 28015d8ae9)
2018-04-18 20:53:40 -07:00
ed473d792b New release v2.5.1 2018-04-18 16:48:39 -07:00
3d0c00091d Clean up Grafana docs a bit (#37516)
* Clean up Grafana docs a bit

But more is needed, default values, missing choices, proper
descriptions, actual sentences :-)

* Remove validate-modules entries

(cherry picked from commit 51662acc6c)
2018-04-18 10:14:02 -07:00
2f64d6fcfb Ensure non ansilbe exceptions keep tracebacks (#37523)
(cherry picked from commit d9430b79f9)
2018-04-18 10:13:29 -07:00
20430f901e show changed in online
(cherry picked from commit 32cf79c044)
2018-04-18 10:13:04 -07:00
3362ad16b1 Load plugin config defs on first load only (fixes #37553) (#37584)
(cherry picked from commit 0d0bdbec62)
2018-04-18 10:11:36 -07:00
5ea8fa4052 Update porting_guide_2.5.rst (#37927)
The example regarding `include_*` is a bit unclear. First it seems like the v2.4 and v2.5 examples are the same. So I attempted to make the relevant change in the examples more obvious.

 label: docsite_pr
(cherry picked from commit 55fd3d62fb)
2018-04-18 10:08:58 -07:00
5e8aeddc85 remove unused optoins from inventory cli
fixes #31929

(cherry picked from commit 1b9879ccbf)
2018-04-18 10:08:58 -07:00
d4be7f772a Some more fixes for the docs :ref: disambiguation
The big one is that we needed to set plugin_type when we processed the by_support template.

Also added to list_of_CATEGORY_plugins page (which might not be used)
and corrected a place where I did module_name instead of name_module

(cherry picked from commit 8cdd75a09f)
2018-04-18 10:06:44 -07:00
07bb0407ad documented actual precedence (#38009)
fixes #22025
(cherry picked from commit 5ad13d66aa)
2018-04-18 10:02:37 -07:00
529d778015 docs: Document disabling diff on task level (#37998)
* docs: Document disabling diff on task level

Tasks that deal with secrets may leak sensitive information when
running in Check Mode. This change updates the documentation explaining
that the diff can be deactivated on task level.

The feature was requested in #14860 and got introduced in Ansible 2.4
with #28581.

* Updated for clarity

(cherry picked from commit 9cca9a9c10)
2018-04-18 10:01:55 -07:00
5fc9f3d219 module_common: handle None value for templar (#36651)
* module_common: set required parameter templar

Fix the following error (related to b455901):

  $ ./hacking/test-module -m ./lib/ansible/modules/system/ping.py -I ansible_python_interpreter=/usr/bin/python
  Traceback (most recent call last):
    File "./hacking/test-module", line 268, in <module>
      main()
    File "./hacking/test-module", line 249, in main
      (modfile, modname, module_style) = boilerplate_module(options.module_path, options.module_args, interpreters, options.check, options.filename)
    File "./hacking/test-module", line 152, in boilerplate_module
      task_vars=task_vars
    File "ansible/lib/ansible/executor/module_common.py", line 910, in modify_module
      environment=environment)
    File "ansible/lib/ansible/executor/module_common.py", line 736, in _find_module_utils
      shebang, interpreter = _get_shebang(u'/usr/bin/python', task_vars, templar)
    File "ansible/lib/ansible/executor/module_common.py", line 452, in _get_shebang
      interpreter = templar.template(task_vars[interpreter_config].strip())
  AttributeError: 'NoneType' object has no attribute 'template'

* module_common.modify_module: templar is required

(cherry picked from commit 7908f78fa6)
2018-04-18 10:01:31 -07:00
8473765ae6 yaml callback fails on python3
When the URI module returns complex JSON objects, the YAML callback
fails while trying to represent these objects.  The problem arises
because the filter method returns an iterator in Python 3, rather than a
str object.  Therefore, the str method expandtabs() is not available,
and the callback fails with the following error:

[WARNING]: Failure using method (v2_runner_on_failed) in callback plugin (<ansible.plugins.callback.yaml.CallbackModule object at 0x7f7c7ed8aa20>): 'filter' object has no attribute 'expandtabs'

Issue can be replicated by running this playbook:

- hosts: localhost
  gather_facts: false
  tasks:
    - uri:
        url: https://jsonplaceholder.typicode.com/posts

ansible-playbook tmp.yml -v

(cherry picked from commit 5839f07e0f)
2018-04-18 10:00:44 -07:00
b37facb234 fix set options in callbacks for foreman
(cherry picked from commit 082b03c829)
2018-04-18 10:00:07 -07:00
d31d84cfa3 avoid caching invetnory sources in loader (#38242)
* fix inventory plugin source caching

 - avoid caching invetnory sources in loader in base
 - same fix for yaml plugin
 - idem for 'auto' plugin

fixes #37162

* fix mock dataloader func sig

(cherry picked from commit 886c4edfb9)
2018-04-18 09:59:35 -07:00
a3798d9b62 fix bug in modules/system/user.py (#37552)
for freebsd tool "pw" use date not days in "modify_user"
(cherry picked from commit d512bed495)
2018-04-18 09:57:56 -07:00
923015d9d7 Set raw=True when reading passwords from ConfigParser files. (#35582)
* Set `raw=True` when reading passwords from ConfigParser files.

The assumption is that no one is actually doing interpolation on the
password value, even if they may for other configuration values, and
passwords are far more likely to contain '%'.

* Add vmware_inventory as well.

(cherry picked from commit 15b6ec66bb)
2018-04-18 09:41:16 -07:00
0852ea6dc0 clarify os x password with user module (#38344)
also removed pointer to non existing example

fixes #36427
(cherry picked from commit f630d420c6)
2018-04-18 09:40:44 -07:00
dfbba6e75b Reduce recursion within group methods
This offers an optimization that allows loading larger
inventories of various structure by improving the
scaling laws involved for adding hosts and groups.

The primary speed benefit is the elimination of duplicate
recusion from traversing converging paths.

(cherry picked from commit 153c9bd539)
2018-04-18 09:32:30 -07:00
cf1cb61efb clarifying docs with first_found (#36951)
better examlpes as this was never really a task loop, but contained inside the lookup itself
(cherry picked from commit 42d15671d0)
2018-04-18 09:31:30 -07:00
00848dff17 made missing cli tools non fatal (#37194)
* made missing cli tools non fatal

* remove bare exceptions

these shoudl not be there as they can prevent 'wanted' exits

(cherry picked from commit 0c2e7fd841)
2018-04-18 09:24:58 -07:00
f670602448 Fix places in docs that refer to modules without namespace
We've namespaced all plugin docs.  Change the docs to reflect that

(cherry picked from commit 9faf7b949e)
2018-04-18 08:48:41 -07:00
751ae4f4a9 playbooks_variables.rst: fix facts code-block (#38520)
(cherry picked from commit 5297eac46d)
2018-04-18 08:44:27 -07:00
145f42eba3 fix displaying group vars in graph
(cherry picked from commit 265d838ec9)
2018-04-18 08:34:24 -07:00
003c52f1ef Modules that have a link to their own deprecated section need to use a different link syntax (#38697)
The :ref: syntax is for linking to targets which are defined for the
whole document tree.  `link`_ is for linking to targets which are inside
of the document.  We want the latter for deprecated sections because
otherwise we'd have to create namespaced link targets for them.

Also fix expansion of version a deprecated module will be removed in
(cherry picked from commit 25523666ce)
2018-04-18 08:28:59 -07:00
61e3f32f81 Auth method for the k8s lookup plugin now matches other modules (#37533) (#37618) 2018-04-18 08:08:15 -07:00
456fe2add1 nxos bugfixes cherry-pick (#38950)
* fix nxos_ntp_options (#38695)

(cherry picked from commit 1d975bdc93)

* fix ntp_auth issues (#38824)

(cherry picked from commit a372142434)

* update nxos changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-04-18 09:59:39 -04:00
9a7da8d3da add instanceUuid (also called PersistentId) in vmware utils (#38870)
(cherry picked from commit 0cdba9ff70)
2018-04-18 17:41:15 +05:30
0fede2ba60 Tolerate win line endings on module load 2.5 (#38919)
* Tolerate win line endings on windows module_util load (#37291)

* tolerate windows line endings when loading windows module utils.  Helpful for old custom windows modules.

* add test modules to demonstrate win line ending module load behaviour.

* attempt to fix sanity check failures

* pep8 fix

* explict skip of test modules from shebang check (core modules must still have expected unix style line endings)

* switch to rstrip() following core team meeting feedback

(cherry picked from commit ad94d03ba1)

* Added changelog fragment

* Added ignore rules to older sanity tests

* Removed test files due to old shebang not being possible without bigger change
2018-04-18 15:25:18 +10:00
4b55ecc825 Update win_certificate_store.py (#38860) (#38927)
* Update win_certificate_store.py

Improvements to describe the different destination stores.

+label: docsite_pr

* Update win_certificate_store.py

Whole line needs to be quoted -- lingfish YAML fail.

(cherry picked from commit d684c51815)
2018-04-18 14:31:09 +10:00
8606fa0431 Update httptester container reference.
(cherry picked from commit 35748e5228)
2018-04-17 21:26:02 -07:00
893807bfc9 [WIP] disambiguating autogenerated module docs attempted fix of #38439. (#38890)
Disambiguates autogenerated module docs - fixes #38439.

(cherry picked from commit c97e508806)
2018-04-17 18:49:27 -07:00
4091ab479f Add alias's as a :ref: target for modules
This is especially important for deprecated modules as we want to link
to those in porting guides and such.

(cherry picked from commit 8f1b5fc47b)
2018-04-17 18:49:20 -07:00
10aa5a37aa win_regedit: backport 2.5 stabilise tests (#38918)
* win_regedit: stabilise tests (#38912)

(cherry picked from commit 77ef4802f0)

* Added changelog fragment
2018-04-18 08:45:00 +10:00
9178def456 Fix typo in windows_faq.rst (#38864) (#38916)
Fix typo in `python-pip` packet name.
+label: docsite_pr

(cherry picked from commit 92f4065157)
2018-04-18 08:06:42 +10:00
2b73a5b69f Restore docker_secret test on RHEL.
(cherry picked from commit 57f1298074)
2018-04-17 13:57:05 -07:00
938625add7 Disable failing fortios_* tests. 2018-04-17 11:55:41 -07:00
867bc8967e Upgrade PYPI badge to point to new Warehouse site
It should become default quite soon:
https://github.com/pypa/warehouse/milestone/1
2018-04-17 16:03:11 +02:00
ae79eef0b2 Add changelog entry for grafana base64 port
(cherry picked from commit f5cc4acc53)
2018-04-17 06:52:56 -07:00
24c1e2ed0a Fix deprecated warnings
(cherry picked from commit 98fb47b061)
2018-04-17 06:52:50 -07:00
f5befa5ab4 Correct formatting (#38874) (#38877)
(cherry picked from commit 3d3781db57)
2018-04-17 13:22:43 +01:00
507423f111 issue:38321 fix onyx_config module failed while using python = 3.5 (#38343) (#38869)
* issue:38321 fix onyx_config module failed while using python = 3.5 (#38343)

(cherry picked from commit 0d79268a6d)

* changelog
2018-04-17 13:16:03 +01:00
bb50c65769 VMware: handle permission denied while reading facts (#38868)
This fix adds exception handling which is raised when user
does not have correct set of permissions/privileges to read virtual machine
facts especially host system configuration.

Fixes: #37056

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit efc3f4f824)
2018-04-17 16:20:46 +05:30
5f8758d6a3 Use correct esxi host variable in vmware_cfg_backup
Fixed bug where hostname could not be found and minor documentation changes.

(cherry picked from commit 8f5320435f)
2018-04-17 15:20:09 +05:30
d9436f18f5 VMware: correct documentation for datacenter
This fixes documentation related to datacenter in vmware_guest_find
module.

Fixes: #38290

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 2367130ba3)
2018-04-17 15:07:05 +05:30
95386d6075 Correct module name in vcenter_license.py (#37672) (#37728)
Module name should be vcenter_license not vmware_license.

(cherry picked from commit 0214a85382)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-04-17 15:01:00 +05:30
8f2d46ecf8 Add supported connection in junos module documentation (#38813) (#38865)
* Add supported connection in junos module documentation

Add supported connection type in junos module doucmentation.

* adds link to platform docs

* makes recommended connection a code snippet

* does this fix banner and command?

* does this fix the rest of the errors?

(cherry picked from commit 67d561b0c8)
2018-04-17 11:58:40 +05:30
897eab8d04 win_updates: fix when failed is not present in output (#38856) (#38857)
(cherry picked from commit f1c16438c1)
2018-04-17 11:39:45 +10:00
ce1913a76f Use new vcenter simulator container location.
(cherry picked from commit 1d5c933ecf)
2018-04-16 15:17:08 -07:00
4d7e174748 centralize doc/config plugin lists (#38775)
* centralize doc/config plugin lists

also update list for generation in docsite
added note to ensure they are in sync

* updated shell page to list plugins

added some more docs hinting at plugins being configurable

* fix edit link for plugins

(cherry picked from commit bdbb89378f)
2018-04-16 13:02:29 -07:00
b523910269 add changelog 2018-04-16 11:09:30 -04:00
23fd9bb328 better handling of diff key types in compose
also made separator configurable
fixed some exception types
better error msgs

(cherry picked from commit c679186f17)
2018-04-16 11:09:30 -04:00
1684823196 Use correct action in warning about missing name (#38481)
(cherry picked from commit fd96bcd22f)
2018-04-16 14:42:11 +02:00
829f9fda7a doc changes for backup option of network _config modules (#38797) 2018-04-16 12:30:05 +05:30
6030535917 VMware: Set default network type as 'dhcp' (#38755)
If user does not specify any network type then set network type
to dhcp. There are additional checks around 'ip', 'netmask' and
'type' in network spec.

Fixes: #38466

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 9b139baacb)
2018-04-14 21:58:49 +05:30
30d338f664 Add details to see decrypted vault value (#37341) (#38746)
* Improves ansible-vault section of network getting started
(cherry picked from commit 521ea56e77)
2018-04-13 17:54:34 +01:00
0fdfb27e0f corrects Junos network_cli example & variables (#38601) (#38705)
* corrects Junos network_cli example & variables

* vdacosta feedback, thanks
2018-04-13 16:43:42 +01:00
1de0515af9 nmcli: change default value of autoconnect (#38686)
There was discrepancy between documentation and actual code.

Fixes: #38671

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

(cherry picked from commit f1cd254265)
2018-04-13 11:28:39 -04:00
e8469a5117 inaugural Network FAQ (#38359) (#38703)
(cherry picked from commit ea99cf3231)
2018-04-13 09:00:57 -05:00
0143aa9416 Fix in eos get_config cliconf api (#38682) (#38720)
If format is passed as None to get_config api, wrong command is
genereted ie. `show running-configuration | None | section interface`.
Add format type in command only if format value is either not `text`
or  `None`.
(cherry picked from commit 88662d0c56)

Update changelog
2018-04-13 15:55:14 +05:30
fdcbcf313a Suppress a UserWarning about unknown dist option 2018-04-13 00:59:32 +02:00
7993dc90e5 Refactor setup.py helper code 2018-04-13 00:59:32 +02:00
34861a3524 Shield setup module from accidental setup exec
This might happen when third-parties like analizers import this
module for testing purposes.
2018-04-13 00:59:32 +02:00
c1c65168d5 Update python requirements in distribution meta
This has been discussed during #38413 review, but got missed.
2018-04-13 00:59:32 +02:00
9011a0abc6 Add a list or extra URLs to distribution metadata
This should enable Warehouse PYPI implementation pypa/warehouse#3604
to pull data from GitHub and show it on the project page.
2018-04-13 00:59:32 +02:00
5f98ee878e Give hint when lookup fails on one element list (#38406) (#38480)
(cherry picked from commit 81a8c42115)
2018-04-12 20:54:04 +02:00
3a6f93c190 fixed documentation to include esxi host (#38668) (#38673)
(cherry picked from commit c0243a8a31)
2018-04-12 11:42:37 -04:00
0ce544c29b win_setup: backport 2.5 fix for machine sid to work in domains with lots of users (#38659)
* win_setup: fix for machine sid to work in domains with lots of users (#38646)

(cherry picked from commit 2fc3ac3516)

* Added changelog fragment
2018-04-12 20:30:34 +10:00
5f8812ec23 minor typo fix https://github.com/ansible/ansible/pull/38589 2018-04-12 19:06:36 +10:00
86f5a82457 Use a temp directory that is more likely to exist (#38645)
`env:SystemDrive\temp` does not necessarily exist

`env:temp` is much more likely to exist. Use that

(cherry picked from commit 4ba29c8bf1)
2018-04-12 19:02:49 +10:00
955ef020ef Add troubleshooting URL for persistent socket path related issue (#38542) (#38577)
* Add troubleshooting URL for persistent socket path related issue

socket path timeout related error messages are not displayed on the
console as the ansible-connection process does not have access to it.
Until this is fixed need to point to troubleshooting URL so that
users can take corrective actions.

* Fix CI issue

* Update changelog fragments
(cherry picked from commit 53d3e7e306)
2018-04-12 10:43:02 +05:30
4b436847fc Add changelog entry 2018-04-11 17:54:59 -04:00
78484137c0 restrore showing stderr on script success (#38177)
* restore showing stderr on script success

accidentally removed during transition to plugin, with toggle for those
who prefer the quiet way

fixes #33776

* stderr display if no other errors capture first
* fixed issue with error encoding

(cherry picked from commit eef70d028f)
2018-04-11 17:54:59 -04:00
0f524a1632 Fix edgeos_config: {backup: yes} (#37619) (#37733)
* Fix edgeos_config: {backup: yes}

* Add actual plugin copy

(cherry picked from commit 6aed74a97d)
2018-04-11 17:50:13 -04:00
27f2653c7f Update installation docs for RHEL based distributions. (#38053)
Upstream rpms are no longer in Extras but EPEL as well as releases.ansible.com.
Add instructions for adding Ansible Engine repo to RHEL.
2018-04-11 16:28:09 -04:00
48a4b00ade When I rebased the README as rst PR, I missed a few changes.
(cherry picked from commit 98a6827be0)
2018-04-11 13:26:41 -07:00
9fd122d7be Add docs badge to README
(cherry picked from commit 2a55c64da9)
2018-04-11 11:58:09 -07:00
28651a85ab Convert README from Markdown to ReStructured Text and use as longdesc (#22330)
* Convert README from Markdown to ReStructured Text and use as longdesc

Discussion in #13758 led to deciding to switch README to rst and having
setup.py consume it as the long_description.

* Fix long string in setup.py for pep8 compliance

* Open README.rst as read-only

* Update usages of root README.md to README.rst

Unsure about the file ./packaging/debian/docs as it (only) contains the
text README.md. I believe it's referencing ./packaging/debian/README.md
but maybe someone who knows debian packaging could review it?

* Pick up fixes that had been merged into README.md after the initial conversion to rst

(cherry picked from commit 7afa34ae8a)
2018-04-11 11:57:24 -07:00
430195f0f1 README.md was renamed. Fix deb build reference to the README
(cherry picked from commit 19a5f96a1a)
2018-04-11 11:23:44 -07:00
91c8a8dccc nxos_igmp_snooping fix cherry-pick (#38596)
* fix nxos_igmp_snooping issues (#38566)

* fix nxos_igmp_snooping issue

* shippable error fix

(cherry picked from commit ed42331105)

* update nxos changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-04-11 12:47:33 -04:00
8b8455523d Fall back to ValueError if JSONDecodeError is not available (#38276) (#38423)
(cherry picked from commit e05cad785e)
2018-04-11 09:01:47 -04:00
23e57fe095 Add junos connection type check (#38527) (#38579)
junos_netconf works only with connection=network_cli
Add check to report appropriate error if any other
connection type is used.
(cherry picked from commit 16c2d3717e)

Update Changelog fragments
2018-04-11 14:03:07 +05:30
96efaa3ff3 Explicitly exclude W504 (#38539) (#38550)
pycodestyle 2.4 has changed the default for W504
(cherry picked from commit 38491fe93d)
2018-04-10 21:01:26 +01:00
0a441eb2f1 Bkprt py3 consul kv (#37802)
* consul_kv: decodes kv values from Consul to utf-8 (#35894)

* Decodes kv values from Consul to utf-8.

* Switches to using module utils to perform text decoding.

* Adds self to authors list to help community maintenance.

(cherry picked from commit a4a2b4a381)

* Add a changelog fragment for consul_kv python3 fix
2018-04-10 10:03:30 -07:00
bbcb7d9118 Cherry pick 35568 (#38347)
* eos_vlan: Modified logic to allow for more than 6 interfaces to be assigned to … (#35568)

* Modified logic to allow for more than 6 interfaces to be assigned to a vlan

* arista output to json.  removing logic for string size.

(cherry picked from commit 99627ab99d)

* Add changelog fragment
2018-04-10 18:57:56 +02:00
7f55954cc1 nxos_igmp and nxos_hsrp fix (#38513)
* fix nxos_igmp issues (#38496)

(cherry picked from commit 361437b042)

* fix nxos_hsrp issues (#38410)

* fix nxos_hsrp issues

* shippable fix

* add examples for md5 auth

(cherry picked from commit dabe5e6d07)

* update changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-04-10 01:51:41 -04:00
0525d4cf9d winrm: backport 2.5 added flag handler for kinit to request forwardable ticket when delegation is set (#38508)
* winrm: added flag handler for kinit to request forwardable ticket when delegation is set (#37815)

(cherry picked from commit 22f2388ef1)

* Added changelog fragment
2018-04-10 14:24:21 +10:00
7e621b3dbe win_uri: backport 2.5 fix for when status codes are provided as a comma separated list (#38509)
* fix for when status codes are provided as a comma separated list (#38080)

* fix for when status codes are provided as an array of strings

* convert status codes to int, additional tests

(cherry picked from commit c38617a736)

* Added changelog fragment
2018-04-10 14:24:00 +10:00
3ac6c6ebd9 win_exec_wrapper: fix tests after recent change (#38504) (#38506)
(cherry picked from commit 0d374f28d2)
2018-04-10 11:31:03 +10:00
31e28a04a5 Fix 'New Vault password' on vault 'edit' (#35923) (#38003)
* Fix 'New Vault password' on vault 'edit'

ffe0ddea96 introduce a
change on 'ansible-vault edit' that tried to check
for --encrypt-vault-id in that mode. But '--encrypt-vault-id'
is not intended for 'edit' since the 'edit' should always
reuse the vault secret that was used to decrypt the text.

Change cli to not check for --encrypt-vault-id on 'edit'.

VaultLib.decrypt_and_get_vault_id() was change to return
the vault secret used to decrypt (in addition to vault_id
and the plaintext).

VaultEditor.edit_file() will now use 'vault_secret_used'
as returned from decrypt_and_get_vault_id() so that
an edited file always gets reencrypted with the same
secret, regardless of any vault id configuration or
cli options.

Fixes #35834

(cherry picked from commit 6e737c8cb6)
2018-04-09 14:57:34 -07:00
b9ccac8550 Fix incorrect RN used in module (#38249)
This is backported from devel as this bug makes the module fail for VMM
domains.
2018-04-09 14:46:59 -07:00
9d0ebfdea6 ovirt: Cherry picks of recent fixes to devel branch (#38341)
* ovirt_host_networks: Fix idempotency

* ovirt_hosts: Fix failed_state after PM fence

* ovirt_host_networks: Fix of bond assignment (#38054)

* ovirt_host_networks: Fix of bond assignment

* ovirt_host_networks: Fix bond modes

* ovirt_host_networks: Fix incorrect prefix documentation

* ovrit_cluster: fix for CPU arch entity #37425 (#37436)

* ovrit_cluster: fix for CPU arch entity #37425

* Corrected Indentation

* Condition to check if `architecture` is defined
2018-04-09 14:35:50 -07:00
9bb2a36289 win_updates: backport 2.5 handle failure on module load (#38498)
* win_updates: handle if module failed to run (#38363)

(cherry picked from commit ccc56e138a)

* Added changelog fragment
2018-04-10 06:39:09 +10:00
38a13f41cd powershell: 2.5 backport display non-ascii characters in command outputs (#38365)
* powershell: display non-ascii characters in command outputs (#37229)

(cherry picked from commit 71e8527d7c)

* Added changelog fragment
2018-04-10 05:25:02 +10:00
2e881f2929 modules: zypper: Optimize the 'search' subcommand (#37191) (#37234)
When looking for installed packages we do not need to query
repositories since we only care about the rpmdb. As such, we can
disable all the repositories operations in order to improve the
performance of that step

Before this patch, when using 'state: present' in the zypper module,
the operation was taking about 12 seconds to complete:

time ansible-playbook foo.yml 1>/dev/null

real	0m12.614s
user	0m10.880s
sys	0m0.683s

After this patch:

time ansible-playbook foo.yml 1>/dev/null

real	0m4.193s
user	0m2.560s
sys	0m0.575s

see:
https://bugzilla.opensuse.org/show_bug.cgi?id=1084525
(cherry picked from commit 5234b78b5f)
2018-04-09 11:54:39 -07:00
28b41f5c83 Update playbooks_loops.rst (#38440) (#38475)
Missing parentheses
+label: docsite_pr

(cherry picked from commit 061ecac3b5)
2018-04-09 11:35:04 -07:00
f96c109286 Backport azure_rm_image Tag fix for 2.5 (#38131) (#38228)
* fix typo (#38131)

(cherry picked from commit 1c00a14c31)

* add changelog fragment for 38131 backport to 2.5

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

* Fixes #37700 Azure image can be created with tag (#37981)

* image can be create or add

* update tags

* can remove all tags

* Update azure_rm_common.py
2018-04-09 10:46:42 -05:00
4875477d17 Fix junos transport check (#38460) (#38467)
For connection=local check only if the transport value in
provider is cli and the respective module support cli
transport. If not report back appropriate error message.
(cherry picked from commit e10e0d42d8)
2018-04-09 19:13:40 +05:30
4f0389ad4e Backport/2.5/38386 (#38462)
* openssl_certificate: Handle dump() in check_mode (#38386)

Currently, when ones run the module in check_mode it tries to retrieve
values from the actual certificate generated in the generate() function.

Since in check_mode we call dump() without calling generate(), self.cert
is None, leading to self.cert.get_notBefore(), self.cert.get_notAfter()
and self.cert.get_serial_number() raising an error.

>  NoneType' object has no attribute 'get_notBefore'

The solution is to have two way to handle dump() method, whether its run
in check_mode=True or check_mode=False leading to different way the
information is retrieved.
(cherry picked from commit 99497ce54c)
2018-04-09 09:49:09 +01:00
57931804ed Mobile CSS update - adds scrolling inertia (#38443) (#38445) 2018-04-07 16:47:31 -07:00
2895daacdb Tweaks docs CSS to fix minor issue with main content page display cutting off at the bottom. (#38432) (#38434) 2018-04-06 23:28:38 -07:00
e60c4d4690 Removes modules from TOC, speeding up build time and reducing doc disk space requirements. (#38428)
(cherry picked from commit 62c2b9a544)
2018-04-06 15:12:05 -07:00
14011dbe2a Additional docs CSS fix for mobile (#38376)
(cherry picked from commit 2381d2207e)
2018-04-06 14:45:53 -07:00
32a99acc88 The ssh change note has been removed
Since the note was about 2.0 versus 1.x, this has been removed.  The
file implementing it is gone so we need to stop referencing it.

(cherry picked from commit f1b63f435e)
2018-04-06 12:44:52 -07:00
2b78985ff2 Fixes CSS so docs display properly on mobile (#38373)
(cherry picked from commit 79c5a34b0b)
2018-04-06 12:42:32 -07:00
604b748295 Reinstated element to fix doc display on mobile devices. (#38246)
(cherry picked from commit 68f81a6799)
2018-04-06 12:42:32 -07:00
222c1f1090 DOCS: Network Best Practices fixes (#38293) (#38360)
* fixes typo per #38217, corrects link anchor

* adds ssh-agent info per #35649

(cherry picked from commit 24fe8674a6)
2018-04-06 14:34:47 +01:00
f10b82c0d3 Add eos_smoke integration tests (#36957) (#38397)
* added eos_smoke tests

* removed left over file

* added note to uncomment broken eapi test when #36919 is fixed

* uncommented fixed test, added unbecome test

* skip become tests when connection=local

(cherry picked from commit 712d30f46c)
2018-04-06 08:44:14 -04:00
f25eea16e6 added junos_smoke tests (#37216) (#38396)
* added junos_smoke tests

* enable check mode test

* fix check mode test

(cherry picked from commit 0bd2cd4394)
2018-04-06 08:40:24 -04:00
cbeadb2c9a added iosxr_smoke (#37828) (#38395)
* added iosxr_smoke tests

* finalized netconf tests

* cleaning up files

(cherry picked from commit 38fa1d0b15)
2018-04-06 08:37:32 -04:00
4aafa90c89 Backport/2.5/37287 Eos :do not push config to device if check_mode is enabled (#38382)
* Eos :do not push config to device if check_mode is enabled (#37287)

* eos can not check config without config session support

* add testcase for check_mode without config session

* fix eos eapi to read use_session env var

(cherry picked from commit a1026dbce5)

* Backport/2.5/37287 - Eos do not push config is check_mode is enabled
2018-04-06 14:31:54 +05:30
536dff507d stable-2.5 nxos bugfix cherry-pick (#38372)
* nxos_vlan purge (#38202)

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

* fix nxos_aaa_server issues (#38117)

(cherry picked from commit 697c301f04)

* fix nxos_aaa_server_host issues (#38188)

(cherry picked from commit 24cc6b80bd)

* fix nxos_static_route issues (#37614)

* fix nxos_static_route issues

* remove nxos_static_route from ignore

(cherry picked from commit 0df5cfd41f)

* fix nxos_acl issues (#38283)

* fix nxos_acl issues

* typo fix

* typo fix in sanity.yaml

* another typo fix in sanity.yaml

(cherry picked from commit 1bf29651af)

* nxos_acl_interface tests addition (#38230)

(cherry picked from commit b8cb382a40)

* update changelog with nxos bugfixes for 2.5

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

* revert ignore.txt

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-04-06 02:30:32 -04:00
ff03fc0f67 win_setup: backport Added connection name to interfaces (#38362)
* win_setup: Added connection name to interfaces (#37327)

(cherry picked from commit fd4d264253)

* Added changelog fragment
2018-04-06 08:38:13 +10:00
c97c02e83b Fix the automatic docsite_pr label (#37999) (#38351)
(cherry picked from commit cdf9e39647)
2018-04-05 19:20:03 +01:00
8b62aef632 Update docs to reflect support for CDP neighbors (#38051) (#38350)
(cherry picked from commit dca61cc397)
2018-04-05 19:17:03 +01:00
58bafcb01c added nxos_smoke tests (#36647) (#37252)
* added nxos_smoke tests

* add connection information, check length of output

* updated name of task

(cherry picked from commit 5e827f4cc4)
2018-04-05 18:12:23 +01:00
8277989039 Backport #38194 for 2.5 - include_vars error fix (#38225)
* Don't pass keyword args as positional, include file_name. Fixes #38190 (#38194)

(cherry picked from commit ddf937d642)

* Add changelog for #38194
2018-04-05 12:29:01 -04:00
63566334f6 fixes issue when netconf would report ios is not supported (#38155) (#38240)
* fixes issue when netconf would report ios is not supported

This change now will map ansible_network_os=ios to the correct netconf
plugin implementation.  This will resolve an error where the netconf
connection plugin will report that ios is unsupported.

(cherry picked from commit 91a748e33b)
2018-04-05 10:37:01 -04:00
50c971df43 Network connection backports (#37529)
* Close & remove paramiko connection where appropriate (#37528)

* Update unit test

(cherry picked from commit 594840c1d6)

* Put back $PATH checking in ansible-connection call (#37933)

(cherry picked from commit 169209c32a)
2018-04-05 10:36:31 -04:00
5cf1420251 Fix typo in Slack Callback plugin (#38286)
`get_options` is an undefined method from CallbackBase

As a result, remove the trailing `s` letter.

Signed-off-by: Daniel Andrei Minca <mandrei17@gmail.com>
2018-04-05 16:18:41 +02:00
20a5987c30 ISSUE-37945 output not populated on failure (#37952) (#38322)
* ISSUE-37945 output not populated on failure

This always includes output, but it is empty on failure.

* handle the other failcases as well

(cherry picked from commit 509f52a8ed)
2018-04-05 13:41:20 +01:00
92562a2ba9 demonstrates best practices for group vars (#37930) (#38287)
* demonstrates best practices for group vars

* removes vm-specific var from example

* adds brackets to all [group:vars] refs

(cherry picked from commit 380c074808)
2018-04-05 13:17:44 +01:00
05cf76cbd7 Backport/2.5/38191 (#38327)
* issue:38167 add support for onyx version 3.6.6000 for onyx_linkagg (#38191)

Signed-off-by: Samer Deeb <samerd@mellanox.com>
(cherry picked from commit 72d42bd065)

* fragment
2018-04-05 12:27:56 +01:00
08029a38df issue:37307 Add support for changes in pfc output in onyx 3.6.6000 (#… (#38330)
* issue:37307 Add support for changes in pfc output in onyx 3.6.6000 (#37651)

* issue:37307 Add support for changes in pfc output in onyx 3.6.6000

Signed-off-by: Samer Deeb <samerd@mellanox.com>
(cherry picked from commit 9dfb665e43)

* fragment
2018-04-05 12:27:37 +01:00
aed8aea3f3 issue:37306 Fix issue with vlan support for onyx version 3.6.6000 (#37310) (#37635)
* issue:37306 Fix issue with vlan support for onyx version 3.6.6000

Signed-off-by: Samer Deeb <samerd@mellanox.com>
(cherry picked from commit a89bafce2e)
2018-04-05 12:12:24 +01:00
323e3b6914 nso_verify handle leaf-list in 4.5 and identityref (#37393) (#37634)
* nso_verify handle leaf-list in 4.5 and identityref (#37393)

NSO verify did not handle leaf-list value verification in 4.5 and
later due to changes made for configuration writing made.

map prefix for identityref types in verification.
(cherry picked from commit 6308047dc9)

* Remove timeout
2018-04-05 12:02:44 +01:00
5ee10ad19c fixes example address parameters (#37765) (#38328)
(cherry picked from commit 7324f49829)
2018-04-05 11:55:56 +01:00
4e3e2c712a Have the ios_interface module include CDP when checking neighbors (#38046)
* Add CDP support for the neighbors option (#37655)

(cherry picked from commit 0f90853f67)

* Add ios_interface CDP support to changelog
2018-04-05 11:51:18 +01:00
febd1ca44a ansible_password & ansible_ssh_pass are the ENV variable (#38035) (#38324)
* ansible_password & ansible_ssh_pass are the ENV variable
(cherry picked from commit a4e932ee9f)
2018-04-05 11:47:34 +01:00
b86d376a85 Document that this module was renamed recently (#37420) (#37422)
(cherry picked from commit ff15a9e7e2)
2018-04-05 10:44:30 +10:00
eaa484f05d fix RPM builds when REPOTAG is not defined
* add to mock/rpmbuild args only when defined
2018-04-04 13:55:56 -07:00
6e1ca544dd Update EdgeOS modules to be community supported (#38112) (#38125)
(cherry picked from commit a4c82d5842)
2018-04-04 09:31:01 -07:00
fa57dec5e0 Add error handling for junos in case wrong connection type (#38023) (#38256)
* Add error handling for junos in case wrong connection type

Fixes #37990

If a junos module doesn't support given connection/transport type
return appropriate error message.

* Fix CI issues

* Fix review comment

(cherry picked from commit 3a4fc4af08)
2018-04-04 16:23:16 +05:30
09dc621238 win_service: backport of special char in name handler (#38250)
* win_service: fix when dealing with paths with special chars and change WMI to CIM cmdlets (#37897)

* win_service: fix when dealing with paths with special chars and change WMI to CIM cmdlets

* compare username in lowercase for test

(cherry picked from commit f37a44430f)

* Added changelog fragment
2018-04-04 13:43:33 +10:00
f629825299 Adds VMWare to TOC; sort scenario guides alphabetically (#38238) 2018-04-03 13:44:10 -07:00
f2b0171b93 azure_rm_virtualmachine - backport of docs change around images supported (#37764)
* Updated text for azure_rm_virtualmachine around images that can be used (#37686)

(cherry picked from commit 04539ca448)

* Added changelog fragment
2018-04-03 08:32:02 +10:00
800980ec83 win_copy: backport 2.5 preserve local tmp path when sending multiple files (#37977)
* win_copy: added fix for win_copy deleting local tmp folder (#37964)

(cherry picked from commit b1ac65d95a)

* Added changelog fragment
2018-04-03 08:30:49 +10:00
886a88a967 win_uri: backport fix custom header override (#37889)
* append request headers instead of replacing (#37845)

(cherry picked from commit 2c44061a04)

* Added changelog fragment
2018-04-03 08:30:09 +10:00
0c88f199ec azure_rm_networkinterface: backport no public IP fix (#37762)
* azure_rm_networkinterface: fixed issue when public ip address should not be created (#36824)

* fixed issue when public ip address should not be created

* adding test for public ip address

* fixed samples

* another fix to sample formatting

* fixed test

* fix test

* fixed test

* another attempt to fix test

* maybe it works now

* still wrong

* improved check per customer request

* removed stupid semicolon

* updated test to match main scenario

* changed ip configurations to list

* another attempt

(cherry picked from commit 89401f13f7)

* Added changelog fragment
2018-04-03 06:32:01 +10:00
c056b8a35c win_reboot: backport warning message arguments (#37971)
* win_reboot: fixed up warning message for dep args (#37898)

(cherry picked from commit c4e7b54630)

* Added changelog fragment
2018-04-03 06:31:07 +10:00
d0f1a23c45 Ansible.ModuleUtils.FileUtil - backport catch DirectoryNotFoundException (#37976)
* Ansible.ModuleUtils.FileUtil: catch DirectoryNotFoundException when testing a path (#37968)

(cherry picked from commit 68e44e082e)

* Added changelog fragments
2018-04-03 06:30:53 +10:00
f1a060743a Doc build warning/broken link clean-a-palooza (#37382) (#38185)
* Doc build warning/broken link clean-a-palooza, WIP commit 1.

* Fixed broken anchor

* Fixing additional broken links; converting from doc to ref.

* Fix anchor

(cherry picked from commit 381359a8f8)
2018-04-02 11:53:24 -07:00
112f577d3a letsencrypt: doc: Making clearer that the module has to be executed twice, and that the second run needs the data of the first (#37884). (#38135) (#38160)
(cherry picked from commit 93fc99c576)
2018-03-31 20:15:50 +02:00
00623c3da5 cloudstack: do not rely on APIs list queries for names (#37910) (#38014)
Fixes #37824
(cherry picked from commit abae7a49f7)
2018-03-31 09:41:07 +02:00
46cf6ed677 cs_vpc_offering: listVPCOffering API returns any matching names (#37783) (#37832)
(cherry picked from commit 270e799cb6)
2018-03-31 09:39:29 +02:00
3ac91f7e28 Improving EC account key parsing (see #37275). (#37276)
(cherry picked from commit ec977988b35caacd0f13470ef62d55ec91d16de1)
2018-03-31 09:36:49 +02:00
ca3457458f Fix PEP 8 issue. 2018-03-29 19:27:12 -07:00
8f5565f948 Add changelog for https://github.com/ansible/ansible/pull/37460 2018-03-29 19:10:47 -07:00
663400b504 Avoid 2nd processing of facts for actions
include_vars and set_fact are already updating hostvars in strategy
no need to 're add again' with lower priority the same data.

fixes #37535, mostly by avoiding reprocessing and 'cleaning'

(cherry picked from commit 3bec76fc85)
2018-03-29 15:26:40 -07:00
d64a352a40 Fix redundant yaml error blurbs on ModArgs parse errors (#36923)
* Fix redundant yaml error blurbs on ModArgs parse errors

Some of the AnsibleParserErrors from parsing.mod_args
are created with the obj=some_yaml_ds options but
some are not.

If they were, we don't want to add another yaml_ds to
it, because that will result in double yaml error blurbs.
And since we dont need to add info, we can just re raise it.

But if there is no ._obj, add it here so we get the extra
detail in the error message (see issue #14790) and raise
a new AnsibleParserError instance.

Fixes #36848

* cleanup existing test_tasks pep8/sanity issues

(cherry picked from commit e166946a0a)
2018-03-29 15:23:32 -07:00
27382f38dc Fixing domain to authorization matching for ACME v2. (#37558) (#37572)
(cherry picked from commit 190755ff65)
Signed-off-by: Rene Moser <mail@renemoser.net>
2018-03-29 15:20:43 -07:00
5b0d8ab868 Fixes #32146 Fixes reconcile inventory to correctly remove hosts from ungrouped
(cherry picked from commit e02c72d856)
2018-03-29 15:19:29 -07:00
4ecd16b2ae Bkprt py3 pull fix (#37663)
* Compare byte strings to byte strings

* Fix a traceback in ansible-pull on python3 comparing output from
  subprocess with a text string.
* Rename variables that hold byte strings so we are clear that those are
  not text strings.
* Use to_text() to transform variable that's being displayed as it's
  less fragile than str().

Fixes #36962

(cherry picked from commit b98ad3a12b)

* Add changelog entry for python3 ansible-pull fix
2018-03-29 15:16:12 -07:00
389c4d1536 Bkprt py3 ec2 user data (#37664)
* Fix use of user_data field with spot_price in ec2 module (#37628)

The user_data field is base64 encoded inside of the boto library.  In
Python3, base64 must be used with byte strings.  So we make sure to
encode the user_data into a byte string before passing it on to the boto
library.

Fixes #34978

(cherry picked from commit 0d55081ba8)

* Python3 ec2 fix added to changelog
2018-03-29 15:13:42 -07:00
97a0516cf6 Bkprt py3 csvfile (#37665)
* Fix csvfile traceback on Python3 (#37625)

* Fix csvfile traceback on Python3

The csvfile lookup uses some custom iterators.  These needed to be
ported to handle the python3 iterator protocol.  In addition, the
csvfile module takes an iterator of byte strings in Python2 and an
iterator of text strings in Python3

Fixes #36808

(cherry picked from commit 09325b619e)

* Add changelog entry for csvfile python3 fix
2018-03-29 15:11:14 -07:00
87119348b5 VMware: Use environment variable for connection (#37726) (#37745)
This fix adds environment variables for connection in vmware_*
modules.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 0ae7a0e88c)
2018-03-29 15:05:44 -07:00
64cdeba7a2 Bkprt py3 jira (#37800)
* make jira authentication Python3 compatible (#33862)

* make jira authentication Python3 compatible

(cherry picked from commit a51a699314)

* Add changelog fragment for py3 jira fix
2018-03-29 14:59:15 -07:00
8d008d00ed Py3 vargrant inv (#37803)
* Fix dynamic inventory for vagrant does not work on python3 (#37631)

* Fix dynamic inventory for vagrant does not work on python3 #35129

(cherry picked from commit 1b121fc9e4)

* Add vagrant python3 fix to the changelog
2018-03-29 14:58:19 -07:00
f23c100419 Bkprt py3 haproxy (#37791)
* Fix python3 interpreter issue (#34811) (#35176)

* Fix python3 interpreter issue (#34811)

* Update ansible.module_utils._text (#34811)

* Convert to text later to account for multibyte characters

(cherry picked from commit 340064bfb9)

* Add a changelog fragment for haproxy python3 fix
2018-03-29 14:57:40 -07:00
2dd02eb812 Fixed issue with accessing response in digital_ocean module (#37780)
(cherry picked from commit 6ad784bbbb)
2018-03-29 14:56:30 -07:00
ae0a9a5e9c continue fact gathering even without dmidecode (#34925) (#38001)
* continue fact gathering even without dmidecode

If dmidecode is not available we still wan to continue with fact
gathering.
On certain platforms dmidecode just won't work

(cherry picked from commit cbe2915ba5)

Fixes #37911
2018-03-29 14:48:45 -07:00
d47e020d55 add missing to_bytes import in interfaces_file 2018-03-29 14:46:17 -07:00
98633e5157 Fix interfaces_file for proper file contents (#37818)
The generated file was completely unusable by the system
therefore the fix which ensures that diffing the file
prior to changes and after only shows diffs

Furthermore the code did not work for Python 3.6
>       f.writelines(to_bytes(lines, errors='surrogate_or_strict'))
E       TypeError: a bytes-like object is required, not 'int'

The other modifications (lambda variable renaming) is to
comply with default flake8 rules
(cherry picked from commit 612d0d6634)
2018-03-29 14:42:25 -07:00
4e5f17e52d win_certificate_store: backport fix of typo key_storage (#37862)
* win_certificate_store: fix typo stopping key_storage from working (#37810)

(cherry picked from commit b7ce2b1c5a)

* Added changelog fragment
2018-03-29 14:18:53 -07:00
5ac9a7418f fixes bug: puppet module is no longer updating persistent external facts (#38026)
(cherry picked from commit 0efbb702b9)
2018-03-29 14:13:35 -07:00
f91cda4b02 Fix junos modules check_mode issue (#37311) (#37918)
Fixes #37208

If check_mode is enabled instead of committing th config need to
discard all the chnages to cnadidate db
In case of cli to discard changes issue `rollback 0` command
and for netconf execute `discard-changes` rpc call
(cherry picked from commit 8eaa9cc938)
2018-03-29 19:00:15 +05:30
ec59181a28 Fix eos_facts eapi integration test failures (#37919)
(cherry picked from commit af777c0f89)
2018-03-29 18:59:14 +05:30
4dffcd35cd eos_config module exit session gracefully (#37920)
Fixes #36979
If `abort` is not issued in the top level session prompt
the existing session goes to pending state.
The fix is to come out of config mode by issuing `end` command
and again to same config session and execute `abort` which
`abort` is issued at the top level session prompt.

(cherry picked from commit 017ea018d0)
2018-03-29 18:58:43 +05:30
a716fe97e3 nxos bugfixes cherry-pick (#38091)
* Fix nxos_switchport (#37328)

(cherry picked from commit ff57fd0bb4)

* Fix nxos_l2_interface and test typo (#37336)

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

* fix ios_l2_interface (#37389)

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

* fix required args for nxos_snapshot and docs improvement (#37232)

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

* add nxos_snapshot test for missing required param (#37248)

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

* Ensure network_cli nxos test is run only once - remove unnecessary files (#37462)

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

* Integration Tests only: nxos_user (#37852)

* add new integration file to nxos_user

* fix shippable error

* change nxapi to connection

* review comments

(cherry picked from commit 63da50e1d8)

* fix UnboundLocalError nxos_bgp_af module (#37610)

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

* Fix nxos_vrf issues (#37092)

* fix nxos_vrf issues

* fix doc

(cherry picked from commit dc61f4c6b1)

* fix nxos_vrf_af issues (#37211)

(cherry picked from commit 74e79d9f5e)

* fix nxos_udld issues (#37418)

(cherry picked from commit 05b266cc66)

* fix nxos_vlan issues (#38008)

(cherry picked from commit 6f2cb28bb9)

* add changelog

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-03-29 08:47:32 -04:00
60e7aa0dbd [cloud]Ensure SGs in default VPCs get default egress rule (#38018)
SGs created when a VPC ID was not specified would not necessarily
get the default egress rule, even when no explicit egress rules
were set.

Add some checks for egress rules in results from existing tests

(cherry picked from commit 98b29f8ad6)
2018-03-28 17:52:17 -04:00
ae4c246a3c ec2_asg: fix #28087 and #35993 (#36679)
Fixes #35993 - Changes to update_size in commit eb4cc31 made it so
the group dict passed into update_size was not modified. As a result,
the 'replace' call does not see an updated min_size like it previously
did and doesn't pause to wait for any new instances to spin up. Instead,
it moves straight into terminating old instances. Fix is to add batch_size
to min_size when calling wait_for_new_inst.

Fixes #28087 - Make replace_all_instances and replace_instances behave
exactly the same by setting replace_instances = current list of instances
when replace_all_instances used. Root cause of issue was that without lc_check
terminate_batch will terminate all instances passed to it and after updating
the asg size we were querying the asg again for the list of instances - so terminate batch
saw the list including new ones just spun up.

When creating new asg with replace_all_instances: yes and lc_check: false
the instances that are initially created are then subsequently replaced.
This change makes it so replace only occurs if the asg already existed.

Add integration tests for #28087 and #35993.

(cherry picked from commit a2b3120e85)
2018-03-28 17:36:32 -04:00
0b0bb65198 Backport #36372 for 2.5 (#37666)
* Fix name parameter templating in include_role module (#36372)

An IncludedFile() object built using the original_task will have
its _task bound to the original_task. The iterative reassignment of
original_task._role_name during with_item loops leaves all returned
included_files with the same ._task._role_name (the final name from
the with_items list). This commit builds IncludedFile() objects
from an original_task.copy() to avoid the problematic binding.

(cherry picked from commit 54e70fc783)

* Test include role with items in name #36372 (#37001)

* Tests for #36372

* Tests for #36372

* Tests for #36372

(cherry picked from commit 8c4f349743)

* Add changelog for #36372
2018-03-28 11:05:03 -05:00
687780323a Backport #37881 for 2.5.1 (#37937)
* Don't overwrite builtin jinja2 filters with tests (#37881)

* Don't overwrite builtin jinja2 filters with tests. Fixes #37856

* Fix tests and other callers of _get_filters

(cherry picked from commit 1f824bd620)

* Add changelog for #37881
2018-03-28 11:04:44 -05:00
e33f1777fe Backport #37646 for 2.5 (#37653)
* Fix py3 issue in wait_for_connection (#37646)

(cherry picked from commit 6c3e565ba3)

* Add changelog entry for #36470
2018-03-28 11:04:06 -05:00
617d156eac revises network portion of 2.5 porting guide (#37938)
* revises network portion of 2.5 porting guide
(cherry picked from commit b72960fdd4)
2018-03-28 08:27:44 -07:00
2604832858 Fixes scrolling issue without breaking header nav (#37864)
(cherry picked from commit 3554e2c2d9)
2018-03-26 13:08:26 -07:00
4b406de19a pick up missing plugin docs boolean coercion backport 2018-03-23 05:04:13 -07:00
f237508caa Fix nested parameters in module docs (#37793)
(cherry picked from commit 69c0f96112)
2018-03-23 00:00:30 -07:00
44d3bcbc6f re-sort unified RPM changelog 2018-03-22 23:03:42 -07:00
2c2dd1a1b3 New release v2.5.0 2018-03-22 17:50:20 -07:00
a57a2e1d4f sync old changelogs 2018-03-22 16:45:26 -07:00
2665912356 Fix docker_secret test on RHEL.
(cherry picked from commit f1899f784b)
2018-03-22 12:03:03 -07:00
6b0b4ddf00 Pin httptester SHA.
(cherry picked from commit 8232c95f42)
2018-03-21 10:02:11 -07:00
61887e7c2f Fix uri test on Python 2.6.
(cherry picked from commit 1fd9a616a4)
2018-03-21 10:02:03 -07:00
144e5ae65a New release v2.5.0rc3 2018-03-15 18:12:31 -07:00
3b1df95798 Various module doc fixes (#37256)
This PR includes:
- A fix for multiple-choice defaults
- A fix for messed up dictionary samples
- Cleaner defaults when they don't appear part of choices
(cherry picked from commit 80ba7b7402)
2018-03-15 17:58:14 -07:00
20fcaeb854 fix spelling mistakes in several modules (#36296)
* fix more spelling mistakes

* fix spelling mistakes

(cherry picked from commit 16c564c4b4)
2018-03-15 17:57:11 -07:00
2f8a851b44 Update porting_guide_2.5.rst
A fix to a minor typo. ("Previouslu" -> "Previously")

 label: docsite_pr
(cherry picked from commit 0cf2ecbc62)
2018-03-15 17:55:35 -07:00
5ebce3e618 Disable failing github_issue integration test.
(cherry picked from commit 30bb70cf2d)
2018-03-15 17:40:20 -07:00
1381de72d0 Backport of ACI document changes (#37502)
* Backport of ACI document changes

* Add missing test change
2018-03-15 17:35:18 -07:00
934462a5db terraform: fixed typo, name error sdtout -> stdout (#37253) (#37270)
(cherry picked from commit 3bf6c50fa9)
2018-03-15 14:30:04 -07:00
b8c6adbe18 Add a note to iosxr_(command|config|facts) stating netconf is not supported (#37401)
(cherry picked from commit ed3dcae0b8)
2018-03-15 14:29:27 -07:00
9f02fea15b ovirt_vms: Pass correct VM entity to create method (#37460) 2018-03-15 13:56:25 -07:00
8d7fe469ea Clarify the apt module force documentation (#37353) (#37491)
The force parameter is inherently insecure.  Be clearer in the
documentation that this is the case.

Fixes #25242

(cherry picked from commit 5bdc8fe9f6)
2018-03-15 13:55:43 -07:00
1b3433b969 Raise error when trying to use older iosxr modules with netconf (#37423) (#37480)
(cherry picked from commit 85cc5ea129)
2018-03-15 13:54:44 -07:00
c264061272 Bkprt conn err msg no template (#37381)
*  Connection error messages are unsafe: wrap them (#37329)

* Check that connection error msg are not unsafe

* Connection error messages are unsafe: wrap them

For example, in case of error, docker connection plugin returns exception
message containing Go template. These messages weren't tagged as unsafe
and were consequently rendered:

The conditional check 'result is failed' failed. The error was:
{
  'msg': u'Docker version check ([\'/usr/bin/docker\', \'version\', \'--format\', "\'{{.Server.Version}}\'"]) failed: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.35/version: dial unix /var/run/docker.sock: connect: permission denied\n',
  'failed': True
}:
template error while templating string: unexpected '.'.
String: Docker version check (['/usr/bin/docker', 'version', '--format', "'{{.Server.Version}}'"]) failed: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.35/version: dial unix /var/run/docker.sock: connect: permission denied

(cherry picked from commit 4378542ac7)

* Add a changelog for the no-template error message fix
2018-03-15 13:52:33 -07:00
36186c3a04 Bkprt onyx tmp file (#37358)
* issue:36955 remove creating temp file for debug

Signed-off-by: Samer Deeb <samerd@mellanox.com>
(cherry picked from commit 9031533c0c)

* Add changelog fragment for the onyx tempfile issue
2018-03-15 13:50:02 -07:00
c47401463d issue:36955 remove creating temp file for debug (#37373)
Signed-off-by: Samer Deeb <samerd@mellanox.com>
(cherry picked from commit 9031533c0c)
2018-03-15 13:49:24 -07:00
9ff46ca52f Fix ansible_lo being used inside of ansible_facts (#37360)
The logic was keeping ansible_facts['ansible_lo'] instead of fixing it
to be ansible_facts['lo']

(cherry picked from commit 31878ee0ea)
2018-03-15 13:48:46 -07:00
0a2db12370 fix changelog yamllint failure 2018-03-09 17:53:10 -08:00
482e204afa fix RPM dist/repotag labeling 2018-03-09 17:52:54 -08:00
d6127361d3 fix changelog_aggregate task name in Makefile 2018-03-09 15:31:54 -08:00
aa1c4a0de2 asciidoc comment fix 2018-03-09 14:39:32 -08:00
cc46e752e0 replace VERSION usage in man generation
* VERSION no longer exists, use lib/ansible/release.py instead as  sentinel file for staleness check
2018-03-09 14:38:21 -08:00
573c53fd00 remove stale VERSION file (no longer needed) 2018-03-09 13:37:21 -08:00
2ee6a85463 New release v2.5.0rc2 2018-03-08 23:39:28 -08:00
de039e914f version_helper sanity fixes 2018-03-08 23:35:06 -08:00
643fe472e7 2.5.0rc2 changelog catchup/cleanup 2018-03-08 23:29:46 -08:00
1258bf57e6 Dynamic RPM/DEB versioning
* still partially WIP
2018-03-08 22:57:00 -08:00
24d98f9e70 Porting guide (#37226) (#37228)
* Add the lookup plugin strictness to the porting guide

* Edited for clarity.

* Wordsmithing.

(cherry picked from commit fafcb3452f)
2018-03-08 16:06:34 -08:00
05b3b73185 Fixes commit a28eb94, which broke validate_certs = False for python < 2.7.9 (#34887) (#37018)
(cherry picked from commit ce416f247f)
2018-03-08 15:21:09 -08:00
1842e34a73 DigitalOcean: typecast map function for Python3 (#37168)
In Python2, `map` returns list whereas Python3, `map` function
 returns iterator. This fix typecast map function for Python3.

Fixes: #37114

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 8f3f7f104f)
2018-03-08 15:19:29 -08:00
e02b237649 Do not try to add an entry if none exist (#37152) (#37213)
When commit revisions are disabled, there will be no revision items returned.
Add note about setting ANSIBLE_PERSISTENT_COMMAND_TIMEOUT to a higer value to avoid timeouts.

(cherry picked from commit 3134ba6bee)
2018-03-08 14:55:43 -08:00
acef6d25b1 powershell: backport environment string handler fixes 2.5 (#37223)
* win: handle non string as an environment value (#37215)

* win: handle non string as an environment value

* Changed powershell environment handler to use .net function instead for special chars

(cherry picked from commit 708869edd6)

* Added changelog fragement for powershell environment handler fix

* typo in changelog
2018-03-08 14:49:22 -08:00
044aa1cb73 Fixing module docs so they dont show up as a list on ansible docs. (#37203) (#37218)
* Fixing module docs so they dont show up as a list on ansible docs.

* Fixing spacing in description.

(cherry picked from commit df0f9d1d91)
2018-03-08 13:23:38 -08:00
4df0be4b1b stable-2.5 docs in sync with devel (#37214) 2018-03-08 12:04:16 -08:00
9e315f15ee cs_instance: fix py3 user_data base64 (#37135) (#37199)
* cs_instance: tests: reproduce py3 user_data base64 issue

* cs_instance: fix base64 encoding with py3

(cherry picked from commit 0130490faa)
2018-03-08 17:57:14 +01:00
51bf373fd1 vultr: fix py3 compat (#37171) (#37195)
* vr_server: fix base64 encoding with py3

* vultr: fix AttributeError with py3

(cherry picked from commit 4b6b2d4206)
2018-03-08 17:55:11 +01:00
4477ce809f VMware: Re-enable VM poweroff testcases (#36734) (#36765)
This testcases were failing due to vcsim version.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 87d6bdaf98)
2018-03-08 08:40:09 -08:00
bb3cbac738 Backport #36685 for stable-2.5 (#36686)
* zfs: Fix handling of parameters passed via check_invalid_arguments

cc7a5228 had a typo, so the merged set of arguments was shoved into the
wrong parameter and ignored.

`origin` is an actual module parameter and should be processed like one.

pop()ing makes debug output misleading.

* zfs: fix command generation for `zfs snapshot`

Creating a snapshot and supplying an origin are mutually exclusive,
but were not treated as such. We should throw an error instead of
running an invalid command (`zfs snapshot origin foo@snapname`.)
2018-03-08 08:35:39 -08:00
fb8a9d4e79 VMware: Add missing state param in argument spec (#36339) (#36487)
This fix adds missing argument parameter called 'state'
and its documentation.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 77b903bd85)
2018-03-08 08:28:20 -08:00
d06f8dda3b Using correct content type (as per version 10 of ACME draft). (#37165) (#37190)
* Using correct content type (as per version 10 of ACME draft).

* Another incompatibility with ACME v2: body must be {} and not contain v1 data (Pebble fails otherwise).

(cherry picked from commit 155adb1631)
2018-03-08 16:55:49 +01:00
7213d0017b fix NIOS DNS lookup example (#36737) (#37139)
(cherry picked from commit 905b3e2f65)
2018-03-08 10:55:20 -05:00
2e145cd1f2 fix nxos_switchport/l2_interface trunk_vlans state absent (#37180) (#37181)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 02999b77a4)
2018-03-08 18:22:43 +05:30
934d1df0d1 2.5 network changelog (#37179)
Add details of major Network features added in Ansible 2.5
2018-03-08 12:38:04 +00:00
e6effb32b8 Update developing_api.rst (#37108) (#37178)
Fix for #17716 and #36110
(cherry picked from commit 19f92005b9)
2018-03-08 10:54:29 +00:00
193687851b cs_instance: fix error when state destroyed but querying user_data (#37175)
(cherry picked from commit 190d3fbbed)
2018-03-08 11:40:31 +01:00
bfceaf696c yum is Python 2 only. If Python 3 use dnf (#37140) (#37172)
* PY3 = dnf

Red Hat are unlikely to provide a Python 2 version of the yum bindings
as they are moving to `dnf`.

If Ansible can't find the yum Python library give the user a hint about
dnf and Python 3

(cherry picked from commit 6c8d40f653)
2018-03-08 08:36:30 +00:00
0fd9c9b014 Bkprt unarchive fix (#37159)
* Fix unarchive with strip-components in extra_opts (#37048)

* Fix unarchive with strip-components in extra_opts

When unarchive is given extra_opts to strip all leading directories, it
could end up trying to change the permissions on the root directory.
Tar archives shouldn't contain absolute paths anyways so make sure that
all paths are relative as we handle them.

Fixes #21397

(cherry picked from commit cca0ccaf97)
2018-03-07 18:41:29 -08:00
09de6dc020 win_uri: backport return value fix for non 200 responses (#37156)
* win_uri: return response info on non 200 responses, convert DateTime values to ISO 8601 (#37104)

(cherry picked from commit c1f5e11cdf)

* Added changelog fragment for win_uri return value fix
2018-03-08 10:38:32 +10:00
3b1be8d881 Backport #37151 for 2.5 (#37154)
* Add ansible-config and ansible-inventory to setup.py scripts (#37151)

(cherry picked from commit bd43776acf)

* Add changelog entry for #37151
2018-03-07 17:02:54 -06:00
f230d8e9c4 cs_router: fix missing doc (#37107)
* cs_router: fix missing doc

* update ignore.txt

(partly cherry picked from commit e1297af18a)
2018-03-07 19:12:25 +01:00
c054527d65 cs_ip_address.py: fix missing doc (#37109)
* cs_ip_address.py: fix missing doc

* update ignore.txt

(partly cherry picked from commit 67d8c8f5c6)
2018-03-07 19:12:25 +01:00
895d9abd7b 2.5lenovo license update (#37118)
* Syncing with the latest License information in main branch

* Adding License to 2.5 branch
2018-03-07 14:11:47 +00:00
0c4d8a9ce5 cloudstack: fix common E324 in docs (#37082) (#37119)
Notes about precedence of common args.

(partly cherry picked from commit 2559e832df)
2018-03-07 13:39:36 +00:00
ee67c6c1e3 fix nxos_l2_interface tests for fretta (#37086) (#37101)
(cherry picked from commit b7bc61c7df)
2018-03-07 10:42:16 +05:30
4bb5f40e99 Fixes #37042 (#37044)
* correctly check that the no_device attribute is specified
 * ignore volume_size requirement if no_device is specified
2018-03-07 09:39:42 +10:00
2be960f84a Don't fail on configure in command (#37094)
* Don't fail on configure in command

* Change test to check mode

(cherry picked from commit efb8b539c1)
2018-03-06 18:24:43 -05:00
b1f8fd7edb Fix side-effect of flags being passed to ios get_config again (#37084) (#37085)
(cherry picked from commit f0dc0b28d4)
2018-03-06 18:09:34 -05:00
33773624fb win_wait_for: fix local port check on port not accessible externally (#37093)
* win_wait_for: use loopback IP instead of hostname if 127.0.0.1 is used (#36762)

* win_wait_for: use loopback IP instead of hostname if 127.0.0.1 is used

* removed reverse dns lookup in port check

(cherry picked from commit 67ffde4ac1)

* Added changelog for win_wait_for local port fix
2018-03-07 08:55:39 +10:00
f0a808e02c Win lineinfix fix (#36888)
* Win lineinfile fix (#35100)

* win_lineinfile: fix #33858. Removed conversion from \r\n

* win_lineinfile: added test for #33858

* win_lineinfile: added documentation and more tests for change

* win_lineinfile: fixed wrong hash in testing

(cherry picked from commit e15a903bdf)

* Added changelog for win_lineinfile fix

* fix typo in changelog
2018-03-06 13:05:31 -08:00
471e75a019 Fix consul module service deregistration (#34847) (#37089)
* Fix consul module service deregistration

Upstream pr in the python-consul library:
https://github.com/cablehead/python-consul/pull/174

This is based on work from https://github.com/bobh

Fixes ansible/ansible#34628

* Pass ACL token when deregistering consul service

(cherry picked from commit c9cb0016a0)
2018-03-06 20:28:03 +00:00
4ad30ad9b5 Clarify Docker SDK rather than Docker API 2018-03-06 09:00:26 -08:00
111c2d6c1f Add a changelog fragment for the docker 3 api changes. 2018-03-06 07:08:49 -08:00
fccb6962fe Network modules to link to network guide (#37033) (#37069)
* Network modules to link to network guide

* Make it clear what's deprecated
* enable -> become
* Detail when provider is still needed (eAPI/NX-API)
* Link to specific sections
* rx_rate & tx_rate to link to conditional docs

(cherry picked from commit ebc71bcb16)
2018-03-06 12:40:25 +00:00
c2cc6e4ac8 Add compatibility for docker-py version 3 (#36973) (#37071) 2018-03-06 07:34:02 -05:00
5ec5c05f0d remove unused tx_rate and rx_rate from vyos_interface (#37062) (#37064)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 5f3feac7fa)
2018-03-06 17:03:53 +05:30
c4cb7daa6b Link to new network platform pages (#37057) (#37058)
Also fix a few broken links
(cherry picked from commit 7a4e270ae0)
2018-03-06 09:34:40 +00:00
e03b17e2e5 filesystem: fix documentation (#36556) (#36633)
(cherry picked from commit 07927f52ae)
2018-03-06 08:35:54 +00:00
f48d636500 Fix n3k separate to combined image upgrade (#37017) (#37055)
* Fix n3k separate to combined image upgrade

* Address review comments

(cherry picked from commit 51e8eab9db)
2018-03-06 10:40:02 +05:30
bbf27efe06 Fix eos integration test failures (#37020) (#37054)
Fixes #36919

Fix other eos modules integration test failure in dci
(cherry picked from commit ba3201cd2f)
2018-03-06 10:24:54 +05:30
38a498bcfd Bkprt py3 maven artifact (#37041)
* Python3 issues in maven_artifact (#37035)

Fixes #33761

(cherry picked from commit 1bc860fafd)

* Add a changelog for the python3 maven_artifact fix
2018-03-05 18:48:29 -08:00
422e4aa310 properly pass /api/v1/ credential fields for older Towers (#36917)
(cherry picked from commit 0e7106b106)
2018-03-05 21:19:13 +00:00
ee4578c4cd properly detect the absence of credential_type in older tower-cli (#36908)
(cherry picked from commit a82043939b)
2018-03-05 21:19:13 +00:00
2bcc02e653 Add changelog fragment 2018-03-05 21:19:13 +00:00
f0e65cb05a tower cred: support credential kind/type for /api/v1/ and /api/v2/ (#36662)
older versions of Tower (3.1) don't have a concept of CredentialTypes
(this was introduced in Tower 3.2).  This change detects older versions
of pre-3.2 tower-cli that *only* support the deprecated `kind`
attribute.

(cherry picked from commit 641f8b4ef6)
2018-03-05 21:19:13 +00:00
644b116848 tower cred: update kind options in documentation
(cherry picked from commit 8a41233202)
2018-03-05 21:19:13 +00:00
86cc8ae591 tower cred: filter user name lookup by the proper key
(cherry picked from commit cd6855275e)
2018-03-05 21:19:13 +00:00
1a412d49bf tower cred: implement credential /api/v1/ kind compatability
(cherry picked from commit 9cb4b70e27)
2018-03-05 21:19:13 +00:00
8cc9abcd75 Fix credentials for Tower API V2
(cherry picked from commit 640749d54f)
2018-03-05 21:19:13 +00:00
9711c60b01 Bkprt py3 znode (#37038)
* fix python3 compatibility for znode module

kazoo client requires bytes and not string

(cherry picked from commit 2d98a2de68)
2018-03-05 13:01:48 -08:00
a50b332768 Support <hr/> in module docs (#37030) (#37031)
(cherry picked from commit 0a2dda2060)
2018-03-05 19:20:37 +00:00
a3f96ec4af ios_static_route idempotence fix (#35912) (#37012)
* Remove default admin_distance and fix the idempotence thereof

Fixes #33290

* Fix tests and use yaml anchors to shorten tests

* Add test for undefined admin_distance

* Read config from `show run` if `show ip static route` fails

* Restore flags to ios.get_config &  use get_config where appropriate

(cherry picked from commit 7016b3b9ca)
2018-03-05 10:48:18 -05:00
9ac8aa3552 Ability to link to other pages from plugin docs (#37009) (#37014)
Support relative links
(cherry picked from commit 985f09270d)
2018-03-05 15:20:49 +00:00
639f7b569a Move _start_connection() to module_utils/connection and fix Popen() call (#36249) (#37005)
* Fix Popen() call to use ansible python

* Remove PATH searching, reuse location of ansible instead

(cherry picked from commit 0feea66988)
2018-03-05 09:54:30 -05:00
801b5dcd04 [WIP] Backport/2.5/multiple docs (#36907)
Backport/2.5/multiple docs
2018-03-05 14:40:14 +00:00
36566e62a7 Fix_regex (#36569) (#37002)
(cherry picked from commit 4021194532)
2018-03-05 12:10:08 +00:00
3f8377c2d9 Enable eapi integration test for eos modules (#36934) (#36935)
(cherry picked from commit 83c3561ee5)
2018-03-02 13:02:52 +05:30
2cd49b4ab0 eos_static_route fix (#36903) (#36933)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit ef7f3fcab6)
2018-03-02 09:02:36 +05:30
3e123d8298 map network_os to ncclient device_params (#36819) (#36913)
* map network_os to ncclient device_params

Fixes #36786

* update device map

* Add default netconf fallback plugin

(cherry picked from commit b12e90311f)
2018-03-01 23:03:31 +05:30
617659a33c Network Platform docs (#36814) (#36899)
* introduces platform docs

(cherry picked from commit 4f63123320)
2018-03-01 11:47:42 +00:00
a275a39299 Fix eos_vrf integration test failures (#36893) (#36896)
(cherry picked from commit 5c2a1a6124)
2018-03-01 14:30:29 +05:30
dce80b1364 Fix junos_command py3 related issues (#36782) (#36895)
Fixes #36204

*  tostring() input string shoulb be in byte string format
*  to_ele() input is required in unicode format
(cherry picked from commit 41d75783b5)
2018-03-01 14:29:54 +05:30
f3653747bb Fix nxos_interface multiple issues (#36827) (#36891)
* fix interface_type

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

* fix setting mtu, doc for state check param, doc for params applicable for ethernet intf

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

* speed idempotence and add unittest

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

* fabric_forwarding_anycast_gateway applicable for svi type intf only

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

* fix speed

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 2fbfce06e7)
2018-03-01 11:19:02 +05:30
5c65fa3e00 Convert key to snake. Fixes #36845. (#36887) 2018-02-28 22:04:54 -06:00
f5684acee5 Updated the documentation of modules to match argspec including the type setting for bool parameters (#36821) (#36860)
(cherry picked from commit 60e39b9718)
2018-02-28 16:07:45 +00:00
bfbea05d26 Fix broken links (#36864) (#36866)
(cherry picked from commit 41c066eff9)
2018-02-28 15:56:45 +00:00
8040168c4f aws_ssm_parameter_store module - value parameter should be no_log since it's often a secret (#36843) (#36859)
(cherry picked from commit 3f19ef680a)
2018-02-28 14:43:27 +00:00
3257fe28f3 Fixes for oVirt modules (#36846)
* ovirt_vms: Fix boot devices idempotence

* ovirt_host_networks: Fix removing the label

* ovirt_vms: Fix NoneType in placement policy check

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1549082

* int("255.255.255.0" does not work, fixes issue #33867 (#36271)
2018-02-28 13:33:23 +00:00
f14e0e7ee3 clarify the slicing example (#36842) (#36847)
As stated by fellow contributors, update the slicing example

Resolves:
Related: #36625
Signed-off-by: Daniel Andrei Minca <mandrei17@gmail.com>
(cherry picked from commit 8362ddd107)
2018-02-28 13:31:33 +00:00
d4252c89e9 nso_config break cycles in dependency sorting (#36828) (#36838)
False assumption that values can not have cyclic dependencies. Fix by
removing dependency on self and look for cycles, if found remove
dependency to get a partial sort done.
(cherry picked from commit 042c111563)
2018-02-28 11:33:18 +00:00
fb630c926a nxos_facts fix and integration tests (#36796) (#36820)
* fix nxos_facts ipv6 error

* time_range not supported for N35

(cherry picked from commit db43fe6a76)
2018-02-28 10:54:35 +05:30
409193a7dc Explain what the Ansible Quickstart video does (#36453) (#36793)
* Explain what the Ansible Quickstart video does

Rewrote what video does. The video is really not teaching you how to do the work. It explains why you'd want to use Ansible and shows you what it takes (some sample code) . Video also introduces you to other products in the Ansible ecosystem.

(cherry picked from commit de7692b1c9)
2018-02-27 18:48:13 +00:00
19ea7bcdd8 nso_config work around ordering issues (#36774) (#36785)
Include dependencies when sorting entries to avoid issues with certain
versions of NSO.
(cherry picked from commit e75989ec88)
2018-02-27 15:41:34 +00:00
99f4e016bb Added extra choice floppy for bootdev option in ipmi_boot module (#36174) (#36784)
(cherry picked from commit 52627f3fa0)
2018-02-27 15:21:41 +00:00
9e9f910cb6 ec2_group:documentation explicit a behaviour for sg rules (#36627) 2018-02-27 16:07:18 +10:00
78cc85fa27 Fix rst link syntax.
(cherry picked from commit 3937082892)
2018-02-26 11:18:38 -08:00
e1eae55e55 skip fmg_script unit test if the pyFMG script is not present (#36732) (#36749)
* skip fmg_script unit test if the pyFMG script is not present

* appease the sanity test gods

(cherry picked from commit 6bd715a17d)
2018-02-26 12:41:14 -05:00
b86f07324e fix cliconf get_config method to match base signature (#36682)
This commit fixes up the get_config method to match the minimum method
signature as defined by the base class.  Without this patch, the
get_config method calls will fail in some cirumstances.

(cherry picked from commit fb6a8c0133)
2018-02-26 10:57:25 -05:00
eb12520854 cs_sshkeypair: fix ssh key rename (#36726) (#36730)
* tests: cs_sshkeypair: add reproducer for failed key rename

* cs_sshkeypair: fix rename ssh key

(cherry picked from commit cdb2969703)
2018-02-26 15:45:39 +01:00
5052db2698 NSO ValueBuilder improvements. 4.5 leaf-list compatability. (#36583) (#36735)
Fix issues in ValueBuilder used in nso_config and nso_verify so that it
can handle leaf-list in NSO 4.5 and detect identityref types from
unions.

Fail gracefully if a type is not found.
(cherry picked from commit 2789cc5c09)
2018-02-26 13:50:11 +00:00
d67d19bc1f Backport/2.5/36722 (#36733)
* Fix sanity checks in OpenStack docs fragment (#36722)

Signed-off-by: Mário Santos <mario.rf.santos@gmail.com>
(cherry picked from commit 8b52006d5c)
2018-02-26 13:48:38 +00:00
0aa62a54cd allows ib_spec attrs to be filtered in update (#36673)
* allows ib_spec attrs to be filtered in update

This change will allow the ib_spec entries to be be filtered on a change
object by setting the update keyword to false.  The default value for
update is true.  When the update keyword is set to false, the keyed
entry will be removed from the update object before it is sent to the
api endpoint.

fixes #36563

* fix up pep8 issues

(cherry picked from commit 93b795baf0)
2018-02-26 08:17:55 -05:00
6bf30f65b9 Fix typos (#36671) (#36724)
Fix minor typos
(cherry picked from commit 487ff1fe9b)
2018-02-26 11:27:24 +00:00
b1bdc5dae2 nxos_vlan, nxos_linkagg fix (#36711)
* fix nxos_vlan aggregate (#36710)

* fix nxos_vlan aggregate

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

* Add test

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

* nxos_linkagg fix (#36706)

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit d6912cf40e)
2018-02-26 13:01:20 +05:30
d60eac9bc4 Decouple config and state check in vlan and vrf network modules (#36386) (#36704)
* Decouple config and state check in {network_os }_vlan and { network_os }_vrf modules

Fixes #35567
Fixes #34754

`interfaces` option is used for configuration as well as operational state
check. If interface is configured to given vlan or vrf but if
operational state of interface is disabled it results in module failure.

Fix is to decouple same option usage for config and state.
With this fix `interfaces` is used as config option and a new
option named `associated_interfaces` will be used for intent check
for assigned interfaces.

* Fix CI failures

* Fix review comment

* Fixed integration test failure

(cherry picked from commit 5a6b893240)
2018-02-26 10:16:39 +05:30
a48254275f Temporarily disable subversion test on osx.
(cherry picked from commit f283edcb19)
2018-02-24 17:26:39 -08:00
b717765d59 Fix documentation of validate_certificates option in aws doc_fragment.
Unignore sanity test failures for AWS modules caused by this common
fragment.

(cherry picked from commit 2a0c7c4331)
2018-02-23 21:42:36 -08:00
e1174f8864 fix yamllint issue (#36636) 2018-02-23 13:30:48 +00:00
e77c1b9e42 New release v2.5.0rc1 2018-02-22 17:40:29 -08:00
98882b725f 2.5.0rc1 CHANGELOG prep 2018-02-22 17:34:03 -08:00
97a7c3f39c rename versioned CHANGELOGs with dash 2018-02-22 17:32:58 -08:00
2ddcdb8720 Revert "Add force option to systemd module (#35925)"
(mistaken cherry pick)

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

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

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

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

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

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

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

* removed ignroed pslint rules that are no longer needed

(cherry picked from commit ef4f8851dc)

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

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

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

(cherry picked from commit a4df4d33ac)

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

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

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

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

* Typo fixes.

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

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

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

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

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

* Raise an AnsibleParserError instead

* remove extra lines

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

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

* Make fix more Pythonic

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

This improves include_role performance and recursion limits

(cherry picked from commit 10fefc7156)

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

Fixes #36065

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

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

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

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

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

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

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

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

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

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

remove and fixed tests for removed func

* paren fix

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

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

* fix nxos_pim module doc

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

* address review

(cherry picked from commit 9598978e12)

* nxos_vrf fix (#36494)

* nxos_vrf fix

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

* Address review

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

* Use multi-line YAML syntax in examples

* Add version_added for new option

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

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

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

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

fix is to remove indexes in reverse sorted order

* Add test cases for failed case

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

* Refactor and bug fixes

* Fix pep8 error

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

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

* add test

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

updated tests

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

fix selective instead of pushing uneeded fields to the methods

* piipii

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

also fixed 'bare' exception

* allow modules to work with older versions

* updated docs per feedback

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

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

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

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

Fixes #36398

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

Fix #35914

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

* Update example error

* Fix CI issues

* Fix more CI failures

* More fixes

* Fix review comments

* Fix more review comments

* Copy edit

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

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

* fix nxos_config json pipeline error (#36236)

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

* Fix nxos_system tests

* Add debug connection plugin info

* Move sanity test under common

(cherry picked from commit 5b5d24631a)

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

* fix nxos_l3_interface tests as n35 doesn't support ipv6

* add terminal dont-ask to nxos_feature and nxos_lldp

* put interfaces in L2 mode for N35

* fix nxos_feature unit-tests

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

Fixes #35662

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

The direct invocation was not setting auto_prompt=False.

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

Fixes #33027

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

gives those using internal modules an alternative

* Copy edit

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

(cherry picked from commit 7a6d6870d4633ae38a14cc799521b5fc1c0320fd)

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

* Fixed typo

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

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

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

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

fixes #32130

* typo fixes

* Copy edit

* Fixed more instances

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

* Cosmetic changes to lists

* Add more information related to connection throttling

* Changes to TOC

* Document return values

* More improvements

* Fix casing in title

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

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

* Fix typo

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

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

* shippable fix

* review comments

* shippable error fix

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

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

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

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

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

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

Migrate all OpenStack modules to use openstack_cloud_from_module.

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

Only pull specific OpenStack arguments for the constructor

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

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

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

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

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

Removing this unused method seems better than fixing the typo.

* Fix typo in comments

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

* Check that system_temps is all absolute paths

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

* moved changes

* Copy edit

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

* fixed command format

* added tab completion

* fixed sanity issues

* added documenation for --testcase

* don't autocomplete when multiple modules are selected

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

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

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

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

fixes #24719

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

* added 'export mode' to ansible-inventory

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

fixes #30877

* added group priority when needed

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

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

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

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

* fixing spacing as per pep8 test

fixing issues for sanity test

* ugh, missed on spacing issue

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

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

* added smoke tests for network.common.config

* added tests for network.common.utils

* added remainder of test cases

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

* Fixed some stragglers

* Removed redundant module entries

* Delete generated RST files.

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

* Adding extra blank line for shippable

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

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

* Move __eq__ to Block, to avoid some unexpected problems

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

This reverts commit 3df2561405.

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

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

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

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

* review comment

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

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

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

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

Fixes #30250

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

* Add idempotent test case

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

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

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

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

11
.github/BOTMETA.yml vendored
View File

@ -263,6 +263,8 @@ files:
$modules/cloud/misc/virt_pool.py: drybjed
$modules/cloud/misc/xenserver_facts.py:
ignored: andyhky
maintainers: cheese
$modules/cloud/opennebula/: ilicmilan kustodian
$modules/cloud/openstack/: $team_openstack
$modules/cloud/openstack/os_keystone_service.py: $team_openstack SamYaple
$modules/cloud/openstack/os_project.py: $team_openstack agireud
@ -1224,7 +1226,14 @@ files:
keywords:
- validate-modules
docs/:
labels: docs_pull_request
labels: docs
docs/docsite/rst/network/:
labels: networking
maintainers:
- acozine
- gundalow
docs/docsite/rst/scenario_guides/guide_aci.rst:
maintainers: $team_aci
notify: dharmabumstead
packaging/:
test/:

31
.gitignore vendored
View File

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

File diff suppressed because it is too large Load Diff

1
CHANGELOG.rst Normal file
View File

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

View File

@ -1,6 +1,6 @@
prune ticket_stubs
prune hacking
include README.md COPYING
include README.rst COPYING
include SYMLINK_CACHE.json
include requirements.txt
include .coveragerc
@ -15,8 +15,7 @@ recursive-include licenses *
recursive-include packaging *
recursive-include test *
include Makefile
include VERSION
include MANIFEST.in
include CHANGELOG.md
include changelogs/*.rst
include contrib/README.md
recursive-include contrib/inventory *

View File

@ -33,9 +33,13 @@ GENERATE_CLI = docs/bin/generate_man.py
PYTHON=python
SITELIB = $(shell $(PYTHON) -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
# VERSION file provides one place to update the software version
VERSION := $(shell cat VERSION | cut -f1 -d' ')
RELEASE := $(shell cat VERSION | cut -f2 -d' ')
# fetch version from project release.py as single source-of-truth
VERSION := $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --raw || echo error)
ifeq ($(findstring error,$(VERSION)), error)
$(error "version_helper failed")
endif
# if a specific release was not requested, set to 0 (RPMs have "fancier" logic for this further down)
RELEASE ?= 1
# Get the branch information from git
ifneq ($(shell which git),)
@ -61,8 +65,9 @@ DEBUILD_OPTS = --source-option="-I"
DPUT_BIN ?= dput
DPUT_OPTS ?=
DEB_DATE := $(shell LC_TIME=C date +"%a, %d %b %Y %T %z")
DEB_VERSION := $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --debversion)
ifeq ($(OFFICIAL),yes)
DEB_RELEASE = $(RELEASE)ppa
DEB_RELEASE := $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --debrelease)ppa
# Sign OFFICIAL builds using 'DEBSIGN_KEYID'
# DEBSIGN_KEYID is required when signing
ifneq ($(DEBSIGN_KEYID),)
@ -89,7 +94,7 @@ PBUILDER_OPTS ?= --debootstrapopts --variant=buildd --architecture $(PBUILDER_AR
RPMSPECDIR= packaging/rpm
RPMSPEC = $(RPMSPECDIR)/ansible.spec
RPMDIST = $(shell rpm --eval '%{?dist}')
RPMRELEASE = $(RELEASE)
ifneq ($(OFFICIAL),yes)
RPMRELEASE = 100.git$(DATE)$(GITINFO)
endif
@ -97,12 +102,20 @@ ifeq ($(PUBLISH),nightly)
# https://fedoraproject.org/wiki/Packaging:Versioning#Snapshots
RPMRELEASE = $(RELEASE).$(DATE)git.$(GIT_HASH)
endif
RPMNVR = "$(NAME)-$(VERSION)-$(RPMRELEASE)$(RPMDIST)"
RPMVERSION ?= $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --baseversion)
RPMRELEASE ?= $(shell $(PYTHON) packaging/release/versionhelper/version_helper.py --rpmrelease)
RPMNVR = "$(NAME)-$(RPMVERSION)-$(RPMRELEASE)$(RPMDIST)$(REPOTAG)"
# MOCK build parameters
MOCK_BIN ?= mock
MOCK_CFG ?=
# dynamically add repotag define only if specified
ifneq ($(REPOTAG),)
EXTRA_RPM_DEFINES += --define "repotag $(REPOTAG)"
endif
# ansible-test parameters
ANSIBLE_TEST ?= test/runner/ansible-test
TEST_FLAGS ?=
@ -145,9 +158,9 @@ authors:
%.1.asciidoc: %.1.asciidoc.in
sed "s/%VERSION%/$(VERSION)/" $< > $@
# Regenerate %.1 if %.1.asciidoc or VERSION has been modified more
# Regenerate %.1 if %.1.asciidoc or release.py has been modified more
# recently than %.1. (Implicitly runs the %.1.asciidoc recipe)
%.1: %.1.asciidoc VERSION
%.1: %.1.asciidoc lib/ansible/release.py
$(ASCII2MAN)
.PHONY: loc
@ -213,22 +226,35 @@ install_manpages:
cp $(wildcard ./docs/man/man1/ansible*.1.gz) $(PREFIX)/man/man1/
.PHONY: sdist
sdist: clean docs
sdist: clean docs changelog_aggregate
$(PYTHON) setup.py sdist
.PHONY: sdist_upload
sdist_upload: clean docs
$(PYTHON) setup.py sdist upload 2>&1 |tee upload.log
# TODO: variable-ize major version number usages here
.PHONY: changelog_reno
changelog_reno:
reno -d changelogs/ report --title 'Ansible 2.5 "Kashmir" Release Notes' --collapse-pre-release --no-show-source --earliest-version v2.5.0b1 --output changelogs/CHANGELOG-v2.5.rst
.PHONY: changelog_aggregate
changelog_aggregate:
echo "TODO: unified changelog" > changelogs/CHANGELOG.rst
.PHONY: rpmcommon
rpmcommon: sdist
@mkdir -p rpm-build
@cp dist/*.gz rpm-build/
@sed -e 's#^Version:.*#Version: $(VERSION)#' -e 's#^Release:.*#Release: $(RPMRELEASE)%{?dist}$(REPOTAG)#' $(RPMSPEC) >rpm-build/$(NAME).spec
@cp $(RPMSPEC) rpm-build/$(NAME).spec
.PHONY: mock-srpm
mock-srpm: /etc/mock/$(MOCK_CFG).cfg rpmcommon
$(MOCK_BIN) -r $(MOCK_CFG) $(MOCK_ARGS) --resultdir rpm-build/ --buildsrpm --spec rpm-build/$(NAME).spec --sources rpm-build/
$(MOCK_BIN) -r $(MOCK_CFG) $(MOCK_ARGS) --resultdir rpm-build/ --bootstrap-chroot --old-chroot --buildsrpm --spec rpm-build/$(NAME).spec --sources rpm-build/ \
--define "rpmversion $(RPMVERSION)" \
--define "upstream_version $(VERSION)" \
--define "rpmrelease $(RPMRELEASE)" \
$(EXTRA_RPM_DEFINES)
@echo "#############################################"
@echo "Ansible SRPM is built:"
@echo rpm-build/*.src.rpm
@ -236,7 +262,11 @@ mock-srpm: /etc/mock/$(MOCK_CFG).cfg rpmcommon
.PHONY: mock-rpm
mock-rpm: /etc/mock/$(MOCK_CFG).cfg mock-srpm
$(MOCK_BIN) -r $(MOCK_CFG) $(MOCK_ARGS) --resultdir rpm-build/ --rebuild rpm-build/$(NAME)-*.src.rpm
$(MOCK_BIN) -r $(MOCK_CFG) $(MOCK_ARGS) --resultdir rpm-build/ --bootstrap-chroot --old-chroot --rebuild rpm-build/$(NAME)-*.src.rpm \
--define "rpmversion $(RPMVERSION)" \
--define "upstream_version $(VERSION)" \
--define "rpmrelease $(RPMRELEASE)" \
$(EXTRA_RPM_DEFINES)
@echo "#############################################"
@echo "Ansible RPM is built:"
@echo rpm-build/*.noarch.rpm
@ -250,6 +280,10 @@ srpm: rpmcommon
--define "_srcrpmdir %{_topdir}" \
--define "_specdir $(RPMSPECDIR)" \
--define "_sourcedir %{_topdir}" \
--define "upstream_version $(VERSION)" \
--define "rpmversion $(RPMVERSION)" \
--define "rpmrelease $(RPMRELEASE)" \
$(EXTRA_RPM_DEFINES) \
-bs rpm-build/$(NAME).spec
@rm -f rpm-build/$(NAME).spec
@echo "#############################################"
@ -265,8 +299,12 @@ rpm: rpmcommon
--define "_srcrpmdir %{_topdir}" \
--define "_specdir $(RPMSPECDIR)" \
--define "_sourcedir %{_topdir}" \
--define "_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" \
--define "_rpmfilename $(RPMNVR).%%{ARCH}.rpm" \
--define "__python `which $(PYTHON)`" \
--define "upstream_version $(VERSION)" \
--define "rpmversion $(RPMVERSION)" \
--define "rpmrelease $(RPMRELEASE)" \
$(EXTRA_RPM_DEFINES) \
-ba rpm-build/$(NAME).spec
@rm -f rpm-build/$(NAME).spec
@echo "#############################################"
@ -280,7 +318,7 @@ debian: sdist
mkdir -p deb-build/$${DIST} ; \
tar -C deb-build/$${DIST} -xvf dist/$(NAME)-$(VERSION).tar.gz ; \
cp -a packaging/debian deb-build/$${DIST}/$(NAME)-$(VERSION)/ ; \
sed -ie "s|%VERSION%|$(VERSION)|g;s|%RELEASE%|$(DEB_RELEASE)|;s|%DIST%|$${DIST}|g;s|%DATE%|$(DEB_DATE)|g" deb-build/$${DIST}/$(NAME)-$(VERSION)/debian/changelog ; \
sed -ie "s|%VERSION%|$(DEB_VERSION)|g;s|%RELEASE%|$(DEB_RELEASE)|;s|%DIST%|$${DIST}|g;s|%DATE%|$(DEB_DATE)|g" deb-build/$${DIST}/$(NAME)-$(VERSION)/debian/changelog ; \
done
.PHONY: deb
@ -289,12 +327,12 @@ deb: deb-src
PBUILDER_OPTS="$(PBUILDER_OPTS) --distribution $${DIST} --basetgz $(PBUILDER_CACHE_DIR)/$${DIST}-$(PBUILDER_ARCH)-base.tgz --buildresult $(CURDIR)/deb-build/$${DIST}" ; \
$(PBUILDER_BIN) create $${PBUILDER_OPTS} --othermirror "deb http://archive.ubuntu.com/ubuntu $${DIST} universe" ; \
$(PBUILDER_BIN) update $${PBUILDER_OPTS} ; \
$(PBUILDER_BIN) build $${PBUILDER_OPTS} deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}.dsc ; \
$(PBUILDER_BIN) build $${PBUILDER_OPTS} deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}.dsc ; \
done
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
@echo "#############################################"
@ -308,7 +346,7 @@ local_deb: debian
@echo "#############################################"
@echo "Ansible DEB artifacts:"
@for DIST in $(DEB_DIST) ; do \
echo deb-build/$${DIST}/$(NAME)_$(VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
echo deb-build/$${DIST}/$(NAME)_$(DEB_VERSION)-$(DEB_RELEASE)~$${DIST}_amd64.changes ; \
done
@echo "#############################################"
@ -320,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

@ -1,56 +0,0 @@
[![PyPI version](https://img.shields.io/pypi/v/ansible.svg)](https://pypi.python.org/pypi/ansible)
[![Build Status](https://api.shippable.com/projects/573f79d02a8192902e20e34b/badge?branch=devel)](https://app.shippable.com/projects/573f79d02a8192902e20e34b)
Ansible
=======
Ansible is a radically simple IT automation system. It handles configuration-management, application deployment, cloud provisioning, ad-hoc task-execution, and multinode orchestration - including trivializing things like zero-downtime rolling updates with load balancers.
Read the documentation and more at https://ansible.com/
You can find installation instructions [here](https://docs.ansible.com/ansible/intro_installation.html) for a variety of platforms. Most users should probably install a released version of Ansible from `pip`, a package manager or our [release repository](https://releases.ansible.com/ansible/). [Officially supported](https://www.ansible.com/ansible-engine) builds of Ansible are also available. Some power users run directly from the development branch - while significant efforts are made to ensure that `devel` is reasonably stable, you're more likely to encounter breaking changes when running Ansible this way.
Design Principles
=================
* Have a dead simple setup process and a minimal learning curve
* Manage machines very quickly and in parallel
* Avoid custom-agents and additional open ports, be agentless by leveraging the existing SSH daemon
* Describe infrastructure in a language that is both machine and human friendly
* Focus on security and easy auditability/review/rewriting of content
* Manage new remote machines instantly, without bootstrapping any software
* Allow module development in any dynamic language, not just Python
* Be usable as non-root
* Be the easiest IT automation system to use, ever.
Get Involved
============
* Read [Community Information](https://docs.ansible.com/community.html) for all kinds of ways to contribute to and interact with the project, including mailing list information and how to submit bug reports and code to Ansible.
* All code submissions are done through pull requests. Take care to make sure no merge commits are in the submission, and use `git rebase` vs `git merge` for this reason. If submitting a large code change (other than modules), it's probably a good idea to join ansible-devel and talk about what you would like to do or add first and to avoid duplicate efforts. This not only helps everyone know what's going on, it also helps save time and effort if we decide some changes are needed.
* Users list: [ansible-project](https://groups.google.com/group/ansible-project)
* Development list: [ansible-devel](https://groups.google.com/group/ansible-devel)
* Announcement list: [ansible-announce](https://groups.google.com/group/ansible-announce) - read only
* irc.freenode.net: #ansible
Branch Info
===========
* Releases are named after Led Zeppelin songs. (Releases prior to 2.0 were named after Van Halen songs.)
* The devel branch corresponds to the release actively under development.
* Various release-X.Y branches exist for previous releases.
* We'd love to have your contributions, read [Community Information](https://docs.ansible.com/community.html) for notes on how to get started.
Authors
=======
Ansible was created by [Michael DeHaan](https://github.com/mpdehaan) (michael.dehaan/gmail/com) and has contributions from over 1000 users (and growing). Thanks everyone!
Ansible is sponsored by [Ansible, Inc](https://ansible.com)
License
=======
GNU General Public License v3.0
See [COPYING](COPYING) to see the full text.

100
README.rst Normal file
View File

@ -0,0 +1,100 @@
|PyPI version| |Docs badge| |Build Status|
*******
Ansible
*******
Ansible is a radically simple IT automation system. It handles
configuration-management, application deployment, cloud provisioning,
ad-hoc task-execution, and multinode orchestration -- including
trivializing things like zero-downtime rolling updates with load
balancers.
Read the documentation and more at https://ansible.com/
You can find installation instructions
`here <https://docs.ansible.com/intro_getting_started.html>`_ for a
variety of platforms.
Most users should probably install a released version of Ansible from ``pip``, a package manager or
our `release repository <https://releases.ansible.com/ansible/>`_. `Officially supported
<https://www.ansible.com/ansible-engine>`_ builds of Ansible are also available. Some power users
run directly from the development branch - while significant efforts are made to ensure that
``devel`` is reasonably stable, you're more likely to encounter breaking changes when running
Ansible this way.
Design Principles
=================
* Have a dead simple setup process and a minimal learning curve
* Manage machines very quickly and in parallel
* Avoid custom-agents and additional open ports, be agentless by
leveraging the existing SSH daemon
* Describe infrastructure in a language that is both machine and human
friendly
* Focus on security and easy auditability/review/rewriting of content
* Manage new remote machines instantly, without bootstrapping any
software
* Allow module development in any dynamic language, not just Python
* Be usable as non-root
* Be the easiest IT automation system to use, ever.
Get Involved
============
* Read `Community
Information <https://docs.ansible.com/community.html>`_ for all
kinds of ways to contribute to and interact with the project,
including mailing list information and how to submit bug reports and
code to Ansible.
* All code submissions are done through pull requests. Take care to
make sure no merge commits are in the submission, and use
``git rebase`` vs ``git merge`` for this reason. If submitting a
large code change (other than modules), it's probably a good idea to
join ansible-devel and talk about what you would like to do or add
first to avoid duplicate efforts. This not only helps everyone
know what's going on, it also helps save time and effort if we decide
some changes are needed.
* Users list:
`ansible-project <https://groups.google.com/group/ansible-project>`_
* Development list:
`ansible-devel <https://groups.google.com/group/ansible-devel>`_
* Announcement list:
`ansible-announce <https://groups.google.com/group/ansible-announce>`_
-- read only
* irc.freenode.net: #ansible
Branch Info
===========
* Releases are named after Led Zeppelin songs. (Releases prior to 2.0
were named after Van Halen songs.)
* The devel branch corresponds to the release actively under
development.
* Various release-X.Y branches exist for previous releases.
* We'd love to have your contributions, read `Community
Information <https://docs.ansible.com/community.html>`_ for notes on
how to get started.
Authors
=======
Ansible was created by `Michael DeHaan <https://github.com/mpdehaan>`_
(michael.dehaan/gmail/com) and has contributions from over 1000 users
(and growing). Thanks everyone!
Ansible is sponsored by `Ansible, Inc <https://ansible.com>`_
License
=======
GNU General Public License v3.0
See `COPYING <COPYING>`_ to see the full text.
.. |PyPI version| image:: https://img.shields.io/pypi/v/ansible.svg
:target: https://pypi.org/project/ansible
.. |Docs badge| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg
:target: http://docs.ansible.com/ansible
.. |Build Status| image:: https://api.shippable.com/projects/573f79d02a8192902e20e34b/badge?branch=devel
:target: https://app.shippable.com/projects/573f79d02a8192902e20e34b

View File

@ -4,11 +4,15 @@ Ansible Releases at a Glance
VERSION RELEASE CODE NAME
++++++++++++++++++++++++++++++
2.5.0 TBD "Kashmir"
2.5.2 2018-04-26 "Kashmir"
2.5.1 2018-04-18 "Kashmir"
2.5.0 2018-03-22 "Kashmir"
2.4.4 2018-04-04 "Dancing Days"
2.4.3 01-31.2018 "Dancing Days"
2.4.2 11-29-2017 "Dancing Days"
2.4.1 10-25-2017 "Dancing Days"
2.4.0 09-19-2017 "Dancing Days"
2.3.3 12-20-2017 "Ramble On"
2.3.2 2017-08-04 "Ramble On"
2.3.1 2017-06-01 "Ramble On"
2.3.0 2017-04-12 "Ramble On"

View File

@ -1 +0,0 @@
2.5.0 0.0.devel

View File

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

View File

@ -20,6 +20,8 @@ import traceback
import errno
import json
from contextlib import contextmanager
from ansible import constants as C
from ansible.module_utils._text import to_bytes, to_native, to_text
from ansible.module_utils.six import PY3
@ -33,6 +35,21 @@ from ansible.utils.display import Display
from ansible.utils.jsonrpc import JsonRpcServer
@contextmanager
def file_lock(lock_path):
"""
Uses contextmanager to create and release a file lock based on the
given path. This allows us to create locks using `with file_lock()`
to prevent deadlocks related to failure to unlock properly.
"""
lock_fd = os.open(lock_path, os.O_RDWR | os.O_CREAT, 0o600)
fcntl.lockf(lock_fd, fcntl.LOCK_EX)
yield
fcntl.lockf(lock_fd, fcntl.LOCK_UN)
os.close(lock_fd)
class ConnectionProcess(object):
'''
The connection process wraps around a Connection object that manages
@ -70,6 +87,7 @@ class ConnectionProcess(object):
self.connection._connect()
self.connection._socket_path = self.socket_path
self.srv.register(self.connection)
messages.extend(sys.stdout.getvalue().splitlines())
messages.append('connection to remote device started successfully')
self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
@ -189,6 +207,7 @@ def main():
play_context = PlayContext()
play_context.deserialize(pc_data)
display.verbosity = play_context.verbosity
except Exception as e:
rc = 1
@ -207,60 +226,54 @@ def main():
tmp_path = unfrackpath(C.PERSISTENT_CONTROL_PATH_DIR)
makedirs_safe(tmp_path)
lock_path = unfrackpath("%s/.ansible_pc_lock" % tmp_path)
lock_path = unfrackpath("%s/.ansible_pc_lock_%s" % (tmp_path, play_context.remote_addr))
socket_path = unfrackpath(cp % dict(directory=tmp_path))
# if the socket file doesn't exist, spin up the daemon process
lock_fd = os.open(lock_path, os.O_RDWR | os.O_CREAT, 0o600)
fcntl.lockf(lock_fd, fcntl.LOCK_EX)
with file_lock(lock_path):
if not os.path.exists(socket_path):
messages.append('local domain socket does not exist, starting it')
original_path = os.getcwd()
r, w = os.pipe()
pid = fork_process()
if not os.path.exists(socket_path):
messages.append('local domain socket does not exist, starting it')
original_path = os.getcwd()
r, w = os.pipe()
pid = fork_process()
if pid == 0:
try:
os.close(r)
wfd = os.fdopen(w, 'w')
process = ConnectionProcess(wfd, play_context, socket_path, original_path, ansible_playbook_pid)
process.start()
except Exception:
messages.append(traceback.format_exc())
rc = 1
if pid == 0:
try:
os.close(r)
wfd = os.fdopen(w, 'w')
process = ConnectionProcess(wfd, play_context, socket_path, original_path, ansible_playbook_pid)
process.start()
except Exception:
messages.append(traceback.format_exc())
rc = 1
if rc == 0:
process.run()
fcntl.lockf(lock_fd, fcntl.LOCK_UN)
os.close(lock_fd)
sys.exit(rc)
if rc == 0:
process.run()
sys.exit(rc)
else:
os.close(w)
rfd = os.fdopen(r, 'r')
data = json.loads(rfd.read())
messages.extend(data.pop('messages'))
result.update(data)
else:
os.close(w)
rfd = os.fdopen(r, 'r')
data = json.loads(rfd.read())
messages.extend(data.pop('messages'))
result.update(data)
else:
messages.append('found existing local domain socket, using it!')
conn = Connection(socket_path)
pc_data = to_text(init_data)
try:
messages.extend(conn.update_play_context(pc_data))
except Exception as exc:
# Only network_cli has update_play context, so missing this is
# not fatal e.g. netconf
if isinstance(exc, ConnectionError) and getattr(exc, 'code', None) == -32601:
pass
else:
result.update({
'error': to_text(exc),
'exception': traceback.format_exc()
})
messages.append('found existing local domain socket, using it!')
conn = Connection(socket_path)
pc_data = to_text(init_data)
try:
messages.extend(conn.update_play_context(pc_data))
except Exception as exc:
# Only network_cli has update_play context, so missing this is
# not fatal e.g. netconf
if isinstance(exc, ConnectionError) and getattr(exc, 'code', None) == -32601:
pass
else:
result.update({
'error': to_text(exc),
'exception': traceback.format_exc()
})
messages.append(sys.stdout.getvalue())
result.update({
@ -278,6 +291,7 @@ def main():
sys.exit(rc)
if __name__ == '__main__':
display = Display()
main()

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,588 @@
=======================================================
Ansible 2.0 "Over the Hills and Far Away" Release Notes
=======================================================
2.0.3 "Over the Hills and Far Away"
-----------------------------------
- Backport fix to uri module to return the body of an error response
- Backport fix to uri module to handle file:/// uris.
- Backport fix to uri module to fix traceback when handling certain
server error types.
2.0.2 "Over the Hills and Far Away"
-----------------------------------
- Backport of the 2.1 feature to ensure per-item callbacks are sent as
they occur, rather than all at once at the end of the task.
- Fixed bugs related to the iteration of tasks when certain
combinations of roles, blocks, and includes were used, especially
when handling errors in rescue/always portions of blocks.
- Fixed handling of redirects in our helper code, and ported the uri
module to use this helper code. This removes the httplib dependency
for this module while fixing some bugs related to redirects and SSL
certs.
- Fixed some bugs related to the incorrect creation of extra temp
directories for uploading files, which were not cleaned up properly.
- Improved error reporting in certain situations, to provide more
information such as the playbook file/line.
- Fixed a bug related to the variable precedence of role parameters,
especially when a role may be used both as a dependency of a role and
directly by itself within the same play.
- Fixed some bugs in the 2.0 implementation of do/until.
- Fixed some bugs related to run\_once:
- Ensure that all hosts are marked as failed if a task marked as
run\_once fails.
- Show a warning when using the free strategy when a run\_once task is
encountered, as there is no way for the free strategy to guarantee
the task is not run more than once.
- Fixed a bug where the assemble module was not honoring check mode in
some situations.
- Fixed a bug related to delegate\_to, where we were incorrectly using
variables from the inventory host rather than the delegated-to host.
- The 'package' meta-module now properly squashes items down to a
single execution (as the apt/yum/other package modules do).
- Fixed a bug related to the ansible-galaxy CLI command dealing with
paged results from the Galaxy server.
- Pipelining support is now available for the local and jail connection
plugins, which is useful for users who do not wish to have temp
files/directories created when running tasks with these connection
types.
- Improvements in support for additional shell types.
- Improvements in the code which is used to calculate checksums for
remote files.
- Some speed ups and bug fixes related to the variable merging code.
- Workaround bug in python subprocess on El Capitan that was making
vault fail when attempting to encrypt a file
- Fix lxc\_container module having predictable temp file names and
setting file permissions on the temporary file too leniently on a
temporary file that was executed as a script. Addresses CVE-2016-3096
- Fix a bug in the uri module where setting headers via module params
that start with ``HEADER_`` were causing a traceback.
- Fix bug in the free strategy that was causing it to synchronize its
workers after every task (making it a lot more like linear than it
should have been).
2.0.1 "Over the Hills and Far Away"
-----------------------------------
- Fixes a major compatibility break in the synchronize module shipped
with 2.0.0.x. That version of synchronize ran sudo on the controller
prior to running rsync. In 1.9.x and previous, sudo was run on the
host that rsync connected to. 2.0.1 restores the 1.9.x behaviour.
- Additionally, several other problems with where synchronize chose to
run when combined with delegate\_to were fixed. In particular, if a
playbook targetted localhost and then delegated\_to a remote host the
prior behavior (in 1.9.x and 2.0.0.x) was to copy files between the
src and destination directories on the delegated host. This has now
been fixed to copy between localhost and the delegated host.
- Fix a regression where synchronize was unable to deal with unicode
paths.
- Fix a regression where synchronize deals with inventory hosts that
use localhost but with an alternate port.
- Fixes a regression where the retry files feature was not implemented.
- Fixes a regression where the any\_errors\_fatal option was
implemented in 2.0 incorrectly, and also adds a feature where
any\_errors\_fatal can be set at the block level.
- Fix tracebacks when playbooks or ansible itself were located in
directories with unicode characters.
- Fix bug when sending unicode characters to an external pager for
display.
- Fix a bug with squashing loops for special modules (mostly package
managers). The optimization was squashing when the loop did not apply
to the selection of packages. This has now been fixed.
- Temp files created when using vault are now "shredded" using the unix
shred program which overwrites the file with random data.
- Some fixes to cloudstack modules for case sensitivity
- Fix non-newstyle modules (non-python modules and old-style modules)
to disabled pipelining.
- Fix fetch module failing even if fail\_on\_missing is set to False
- Fix for cornercase when local connections, sudo, and raw were used
together.
- Fix dnf module to remove dependent packages when state=absent is
specified. This was a feature of the 1.9.x version that was left out
by mistake when the module was rewritten for 2.0.
- Fix bugs with non-english locales in yum, git, and apt modules
- Fix a bug with the dnf module where state=latest could only upgrade,
not install.
- Fix to make implicit fact gathering task correctly inherit settings
from play, this might cause an error if settings environment on play
depending on 'ansible\_env' which was previously ignored
2.0 "Over the Hills and Far Away" - Jan 12, 2016
------------------------------------------------
Major Changes:
~~~~~~~~~~~~~~
- Releases are now named after Led Zeppelin songs, 1.9 will be the last
Van Halen named release.
- The new block/rescue/always directives allow for making task blocks
and exception-like semantics
- New strategy plugins (e.g. ``free``) allow control over the flow of
task execution per play. The default (``linear``) will be the same as
before.
- Improved error handling, with more detailed parser messages. General
exception handling and display has been revamped.
- Task includes are now evaluated during execution, allowing more
dynamic includes and options. Play includes are unchanged both still
use the ``include`` directive.
- "with\_" loops can now be used with task includes since they are
dynamic.
- Callback, connection, cache and lookup plugin APIs have changed.
Existing plugins might require modification to work with the new
versions.
- Callbacks are now shipped in the active directory and don't need to
be copied, just whitelisted in ansible.cfg.
- Many API changes. Those integrating directly with Ansible's API will
encounter breaking changes, but the new API is much easier to use and
test.
- Settings are now more inheritable; what you set at play, block or
role will be automatically inherited by the contained tasks. This
allows for new features to automatically be settable at all levels,
previously we had to manually code this.
- Vars are now settable at play, block, role and task level with the
``vars`` directive and scoped to the tasks contained.
- Template code now retains types for bools and numbers instead of
turning them into strings. If you need the old behaviour, quote the
value and it will get passed around as a string
- Empty variables and variables set to null in yaml will no longer be
converted to empty strings. They will retain the value of ``None``.
To go back to the old behaviour, you can override the
``null_representation`` setting to an empty string in your config
file or by setting the ``ANSIBLE_NULL_REPRESENTATION`` environment
variable.
- Added ``meta: refresh_inventory`` to force rereading the inventory in
a play. This re-executes inventory scripts, but does not force them
to ignore any cache they might use.
- New delegate\_facts directive, a boolean that allows you to apply
facts to the delegated host (true/yes) instead of the
inventory\_hostname (no/false) which is the default and previous
behaviour.
- local connections now work with 'su' as a privilege escalation method
- Ansible 2.0 has deprecated the "ssh" from ansible\_ssh\_user,
ansible\_ssh\_host, and ansible\_ssh\_port to become ansible\_user,
ansible\_host, and ansible\_port.
- New ssh configuration variables (``ansible_ssh_common_args``,
``ansible_ssh_extra_args``) can be used to configure a per-group or
per-host ssh ProxyCommand or set any other ssh options.
``ansible_ssh_extra_args`` is used to set options that are accepted
only by ssh (not sftp or scp, which have their own analogous
settings).
- ansible-pull can now verify the code it runs when using git as a
source repository, using git's code signing and verification
features.
- Backslashes used when specifying parameters in jinja2 expressions in
YAML dicts sometimes needed to be escaped twice. This has been fixed
so that escaping once works. Here's an example of how playbooks need
to be modified:
.. code:: yaml
# Syntax in 1.9.x
- debug:
msg: "{{ 'test1_junk 1\\\\3' | regex_replace('(.*)_junk (.*)', '\\\\1 \\\\2') }}"
# Syntax in 2.0.x
- debug:
msg: "{{ 'test1_junk 1\\3' | regex_replace('(.*)_junk (.*)', '\\1 \\2') }}"
# Output:
"msg": "test1 1\\3"
- When a string with a trailing newline was specified in the playbook
via yaml dict format, the trailing newline was stripped. When
specified in key=value format the trailing newlines were kept. In v2,
both methods of specifying the string will keep the trailing
newlines. If you relied on the trailing newline being stripped you
can change your playbook like this:
.. code:: yaml
# Syntax in 1.9.2
vars:
message: >
Testing
some things
tasks:
- debug:
msg: "{{ message }}"
# Syntax in 2.0.x
vars:
old_message: >
Testing
some things
message: "{{ old_messsage[:-1] }}"
- debug:
msg: "{{ message }}"
# Output
"msg": "Testing some things"
- In 1.9.x, newlines in templates were converted to Unix EOL
conventions. If someone wanted a templated file to end up with
Windows or Mac EOL conventions, this could cause problems for them.
In 2.x newlines now remain as specified in the template file.
- When specifying complex args as a variable, the variable must use the
full jinja2 variable syntax ('{{var\_name}}') - bare variable names
there are no longer accepted. In fact, even specifying args with
variables has been deprecated, and will not be allowed in future
versions:
.. code:: yaml
---
- hosts: localhost
connection: local
gather_facts: false
vars:
my_dirs:
- { path: /tmp/3a, state: directory, mode: 0755 }
- { path: /tmp/3b, state: directory, mode: 0700 }
tasks:
- file:
args: "{{item}}"
with_items: my_dirs
- The bigip\* networking modules have a new parameter, validate\_certs.
When True (the default) the module will validate any hosts it
connects to against the TLS certificates it presents when run on new
enough python versions. If the python version is too old to validate
certificates or you used certificates that cannot be validated
against available CAs you will need to add validate\_certs=no to your
playbook for those tasks.
Plugins
~~~~~~~
- Rewritten dnf module that should be faster and less prone to
encountering bugs in cornercases
- WinRM connection plugin passes all vars named ``ansible_winrm_*`` to
the underlying pywinrm client. This allows, for instance,
``ansible_winrm_server_cert_validation=ignore`` to be used with newer
versions of pywinrm to disable certificate validation on Python
2.7.9+.
- WinRM connection plugin put\_file is significantly faster and no
longer has file size limitations.
Deprecated Modules (new ones in parens):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ec2\_ami\_search (ec2\_ami\_find)
- quantum\_network (os\_network)
- glance\_image
- nova\_compute (os\_server)
- quantum\_floating\_ip (os\_floating\_ip)
- quantum\_router (os\_router)
- quantum\_router\_gateway (os\_router)
- quantum\_router\_interface (os\_router)
New Modules:
^^^^^^^^^^^^
- amazon: ec2\_ami\_copy
- amazon: ec2\_ami\_find
- amazon: ec2\_elb\_facts
- amazon: ec2\_eni
- amazon: ec2\_eni\_facts
- amazon: ec2\_remote\_facts
- amazon: ec2\_vpc\_igw
- amazon: ec2\_vpc\_net
- amazon: ec2\_vpc\_net\_facts
- amazon: ec2\_vpc\_route\_table
- amazon: ec2\_vpc\_route\_table\_facts
- amazon: ec2\_vpc\_subnet
- amazon: ec2\_vpc\_subnet\_facts
- amazon: ec2\_win\_password
- amazon: ecs\_cluster
- amazon: ecs\_task
- amazon: ecs\_taskdefinition
- amazon: elasticache\_subnet\_group\_facts
- amazon: iam
- amazon: iam\_cert
- amazon: iam\_policy
- amazon: route53\_facts
- amazon: route53\_health\_check
- amazon: route53\_zone
- amazon: sts\_assume\_role
- amazon: s3\_bucket
- amazon: s3\_lifecycle
- amazon: s3\_logging
- amazon: sqs\_queue
- amazon: sns\_topic
- amazon: sts\_assume\_role
- apk
- bigip\_gtm\_wide\_ip
- bundler
- centurylink: clc\_aa\_policy
- centurylink: clc\_alert\_policy
- centurylink: clc\_blueprint\_package
- centurylink: clc\_firewall\_policy
- centurylink: clc\_group
- centurylink: clc\_loadbalancer
- centurylink: clc\_modify\_server
- centurylink: clc\_publicip
- centurylink: clc\_server
- centurylink: clc\_server\_snapshot
- circonus\_annotation
- consul
- consul\_acl
- consul\_kv
- consul\_session
- cloudtrail
- cloudstack: cs\_account
- cloudstack: cs\_affinitygroup
- cloudstack: cs\_domain
- cloudstack: cs\_facts
- cloudstack: cs\_firewall
- cloudstack: cs\_iso
- cloudstack: cs\_instance
- cloudstack: cs\_instancegroup
- cloudstack: cs\_ip\_address
- cloudstack: cs\_loadbalancer\_rule
- cloudstack: cs\_loadbalancer\_rule\_member
- cloudstack: cs\_network
- cloudstack: cs\_portforward
- cloudstack: cs\_project
- cloudstack: cs\_sshkeypair
- cloudstack: cs\_securitygroup
- cloudstack: cs\_securitygroup\_rule
- cloudstack: cs\_staticnat
- cloudstack: cs\_template
- cloudstack: cs\_user
- cloudstack: cs\_vmsnapshot
- cronvar
- datadog\_monitor
- deploy\_helper
- docker: docker\_login
- dpkg\_selections
- elasticsearch\_plugin
- expect
- find
- google: gce\_tag
- hall
- ipify\_facts
- iptables
- libvirt: virt\_net
- libvirt: virt\_pool
- maven\_artifact
- openstack: os\_auth
- openstack: os\_client\_config
- openstack: os\_image
- openstack: os\_image\_facts
- openstack: os\_floating\_ip
- openstack: os\_ironic
- openstack: os\_ironic\_node
- openstack: os\_keypair
- openstack: os\_network
- openstack: os\_network\_facts
- openstack: os\_nova\_flavor
- openstack: os\_object
- openstack: os\_port
- openstack: os\_project
- openstack: os\_router
- openstack: os\_security\_group
- openstack: os\_security\_group\_rule
- openstack: os\_server
- openstack: os\_server\_actions
- openstack: os\_server\_facts
- openstack: os\_server\_volume
- openstack: os\_subnet
- openstack: os\_subnet\_facts
- openstack: os\_user
- openstack: os\_user\_group
- openstack: os\_volume
- openvswitch\_db.
- osx\_defaults
- pagerduty\_alert
- pam\_limits
- pear
- profitbricks: profitbricks
- profitbricks: profitbricks\_datacenter
- profitbricks: profitbricks\_nic
- profitbricks: profitbricks\_volume
- profitbricks: profitbricks\_volume\_attachments
- profitbricks: profitbricks\_snapshot
- proxmox: proxmox
- proxmox: proxmox\_template
- puppet
- pushover
- pushbullet
- rax: rax\_clb\_ssl
- rax: rax\_mon\_alarm
- rax: rax\_mon\_check
- rax: rax\_mon\_entity
- rax: rax\_mon\_notification
- rax: rax\_mon\_notification\_plan
- rabbitmq\_binding
- rabbitmq\_exchange
- rabbitmq\_queue
- selinux\_permissive
- sendgrid
- sensu\_check
- sensu\_subscription
- seport
- slackpkg
- solaris\_zone
- taiga\_issue
- vertica\_configuration
- vertica\_facts
- vertica\_role
- vertica\_schema
- vertica\_user
- vmware: vca\_fw
- vmware: vca\_nat
- vmware: vmware\_cluster
- vmware: vmware\_datacenter
- vmware: vmware\_dns\_config
- vmware: vmware\_dvs\_host
- vmware: vmware\_dvs\_portgroup
- vmware: vmware\_dvswitch
- vmware: vmware\_host
- vmware: vmware\_migrate\_vmk
- vmware: vmware\_portgroup
- vmware: vmware\_target\_canonical\_facts
- vmware: vmware\_vm\_facts
- vmware: vmware\_vm\_vss\_dvs\_migrate
- vmware: vmware\_vmkernel
- vmware: vmware\_vmkernel\_ip\_config
- vmware: vmware\_vsan\_cluster
- vmware: vmware\_vswitch
- vmware: vsphere\_copy
- webfaction\_app
- webfaction\_db
- webfaction\_domain
- webfaction\_mailbox
- webfaction\_site
- win\_acl
- win\_dotnet\_ngen
- win\_environment
- win\_firewall\_rule
- win\_iis\_virtualdirectory
- win\_iis\_webapplication
- win\_iis\_webapppool
- win\_iis\_webbinding
- win\_iis\_website
- win\_lineinfile
- win\_nssm
- win\_package
- win\_regedit
- win\_scheduled\_task
- win\_unzip
- win\_updates
- win\_webpicmd
- xenserver\_facts
- zabbix\_host
- zabbix\_hostmacro
- zabbix\_screen
- znode
New Inventory scripts:
^^^^^^^^^^^^^^^^^^^^^^
- cloudstack
- fleetctl
- openvz
- nagios\_ndo
- nsot
- proxmox
- rudder
- serf
New Lookups:
^^^^^^^^^^^^
- credstash
- hashi\_vault
- ini
- shelvefile
New Filters:
^^^^^^^^^^^^
- combine
New Connection:
^^^^^^^^^^^^^^^
- docker: for talking to docker containers on the ansible controller
machine without using ssh.
New Callbacks:
^^^^^^^^^^^^^^
- logentries: plugin to send play data to logentries service
- skippy: same as default but does not display skip messages
Minor changes:
~~~~~~~~~~~~~~
- Many more tests. The new API makes things more testable and we took
advantage of it.
- big\_ip modules now support turning off ssl certificate validation
(use only for self-signed certificates).
- Consolidated code from modules using urllib2 to normalize features,
TLS and SNI support.
- synchronize module's dest\_port parameter now takes precedence over
the ansible\_ssh\_port inventory setting.
- Play output is now dynamically sized to terminal with a minimum of 80
coluumns (old default).
- vars\_prompt and pause are now skipped with a warning if the play is
called noninteractively (i.e. pull from cron).
- Support for OpenBSD's 'doas' privilege escalation method.
- Most vault operations can now be done over multilple files.
- ansible-vault encrypt/decrypt read from stdin if no other input file
is given, and can write to a given ``--output file`` (including
stdout, '-'). This lets you avoid ever writing sensitive plaintext to
disk.
- ansible-vault rekey accepts the --new-vault-password-file option.
- ansible-vault now preserves file permissions on edit and rekey and
defaults to restrictive permissions for other options.
- Configuration items defined as paths (local only) now all support
shell style interpolations.
- Many fixes and new options added to modules, too many to list here.
- Now you can see task file and line number when using verbosity of 3
or above.
- The ``[x-y]`` host range syntax is no longer supported. Note that
``[0:1]`` matches two hosts, i.e. the range is inclusive of its
endpoints.
- We now recommend the use of ``pattern1,pattern2`` to combine host
matching patterns.
- The use of ':' as a separator conflicts with IPv6 addresses and host
ranges. It will be deprecated in the future.
- The undocumented use of ';' as a separator is now deprecated.
- modules and callbacks have been extended to support no\_log to avoid
data disclosure.
- new managed\_syslog option has been added to control output to syslog
on managed machines, no\_log supersedes this settings.
- Lookup, vars and action plugin pathing has been normalized, all now
follow the same sequence to find relative files.
- We do not ignore the explicitly set login user for ssh when it
matches the 'current user' anymore, this allows overriding
.ssh/config when it is set explicitly. Leaving it unset will still
use the same user and respect .ssh/config. This also means
ansible\_ssh\_user can now return a None value.
- environment variables passed to remote shells now default to
'controller' settings, with fallback to en\_US.UTF8 which was the
previous default.
- add\_hosts is much stricter about host name and will prevent invalid
names from being added.
- ansible-pull now defaults to doing shallow checkouts with git, use
``--full`` to return to previous behaviour.
- random cows are more random
- when: now gets the registered var after the first iteration, making
it possible to break out of item loops
- Handling of undefined variables has changed. In most places they will
now raise an error instead of silently injecting an empty string. Use
the default filter if you want to approximate the old behaviour:
::
- debug: msg="The error message was: {{error_code |default('') }}"
- The yum module's detection of installed packages has been made more
robust by using /usr/bin/rpm in cases where it woud have used
repoquery before.
- The pip module now properly reports changes when packages are coming
from a VCS.
- Fixes for retrieving files over https when a CONNECT-only proxy is in
the middle.

View File

@ -0,0 +1,394 @@
=====================================================
Ansible 2.1 "The Song Remains the Same" Release Notes
=====================================================
2.1.6 "The Song Remains the Same" - 06-01-2017
----------------------------------------------
- Security fix for CVE-2017-7481 - data for lookup plugins used as
variables was not being correctly marked as "unsafe".
2.1.5 "The Song Remains the Same" - 03-27-2017
----------------------------------------------
- Security continued fix for CVE-2016-9587 - Handle some additional
corner cases in the way conditionals are parsed and evaluated.
2.1.4 "The Song Remains the Same" - 2017-01-16
----------------------------------------------
- Security fix for CVE-2016-9587 - An attacker with control over a
client system being managed by Ansible and the ability to send facts
back to the Ansible server could use this flaw to execute arbitrary
code on the Ansible server as the user and group Ansible is running
as.
- Fixed a bug with conditionals in loops, where undefined variables and
other errors will defer raising the error until the conditional has
been evaluated.
- Added a version check for jinja2-2.9, which does not fully work with
Ansible currently.
2.1.3 "The Song Remains the Same" - 2016-11-04
----------------------------------------------
- Security fix for CVE-2016-8628 - Command injection by compromised
server via fact variables. In some situations, facts returned by
modules could overwrite connection-based facts or some other special
variables, leading to injected commands running on the Ansible
controller as the user running Ansible (or via escalated
permissions).
- Security fix for CVE-2016-8614 - apt\_key module not properly
validating keys in some situations.
Minor Changes:
~~~~~~~~~~~~~~
- The subversion module from core now marks its password parameter as
no\_log so the password is obscured when logging.
- The postgresql\_lang and postgresql\_ext modules from extras now mark
login\_password as no\_log so the password is obscured when logging.
- Fixed several bugs related to locating files relative to
role/playbook directories.
- Fixed a bug in the way hosts were tested for failed states, resulting
in incorrectly skipped block sessions.
- Fixed a bug in the way our custom JSON encoder is used for the
``to_json*`` filters.
- Fixed some bugs related to the use of non-ascii characters in become
passwords.
- Fixed a bug with Azure modules which may be using the latest rc6
library.
- Backported some docker\_common fixes.
2.1.2 "The Song Remains the Same" - 2016-09-29
----------------------------------------------
Minor Changes
~~~~~~~~~~~~~
- Fixed a bug related to creation of retry files (#17456)
- Fixed a bug in the way include params are used when an include task
is dynamic (#17064)
- Fixed a bug related to including blocks in an include task (#15963)
- Fixed a bug related to the use of hostvars internally when creating
the connection plugin. This prevents things like variables using
lookups from being evaluated unnecessarily (#17024)
- Fixed a bug where using a variable containing a list for the
``hosts`` of a play resulted in an list of lists (#16583)
- Fixed a bug where integer values would cause an error if a module
param was of type ``float`` (no issue)
- Fixed a bug with net\_template failing if src was not specified
(#17726)
- Fixed a bug in "ansible-galaxy import" (#17417)
- Fixed a bug in which INI files incorrectly treated a hosts range as a
section header (#15331)
- Fixed a bug in which the max\_fail\_percentage calculation
erroneously caused a series of plays to stop executing (#15954)
- Fixed a bug in which the task names were not properly templated
(#16295)
- Fixed a bug causing "squashed" loops (ie. yum, apt) to incorrectly
report results (ansible-modules-core#4214)
- Fixed several bugs related to includes:
- when including statically, make sure that all parents were also
included statically (issue #16990)
- properly resolve nested static include paths
- print a message when a file is statically included
- Fixed a bug in which module params expected to be float types were
not converted from integers (only strings) (#17325)
- Fixed a bug introduced by static includes in 2.1, which prevented
notifications from going to the "top level" handler name.
- Fixed a bug where a group\_vars or host\_vars directory in the
current working directory would be used (and would take precedence)
over those in the inventory and/or playbook directory.
- Fixed a bug which could occur when the result of an async task did
not parse as valid JSON.
- (re)-allowed the use of ansible\_python\_interpreter lines with more
than one argument.
- Fixed several bugs related to the creation of the implicit localhost
in inventory.
- Fixed a bug related to an unspecified number of retries when using
until.
- Fixed a race-condition bug when creating temp directories before the
worker process is forked.
- Fix a bug with async's poll keyword not making use of
ansible\_python\_interpreter to run (and thus breaking when
/usr/bin/python is not present on the remote machine.)
- Fix a bug where hosts that started with a range in inventory were
being treated as an invalid section header.
Module fixes: \* Fixed a bug where the temporary CA files created by the
module helper code were not being deleted properly in some situations
(#17073) \* Fixed many bugs in the unarchive module \* Fixes for module
ec2: - Fixed a bug related to source\_dest\_check when used with non-vpc
instances (core#3243) - Fixed a bug in ec2 where instances were not
powering of when referenced via tags only (core#4765) - Fixed a bug
where instances with multiple interfaces were not powering up/down
correctly (core#3234) \* Fixes for module get\_url: - Fixed a bug in
get\_url module to force a download if there is a checksum mismatch
regardless of the last modified time (core#4262) - Fixed a bug in
get\_url module to properly process FTP results (core#3661 and
core#4601) \* Fixed a bug in win\_user related to users with disabled
accounts/expired passwords (core#4369) \* ini\_file: - Fixed a bug where
option lines are now inserted before blank lines. - Fixed a bug where
leading whitespace prevented matches on options. \* Fixed a bug in
iam\_cert when dup\_ok is used as a string. \* Fixed a bug in
postgresql\_db related to the changed logic when state=absent. \* Fixed
a bug where single\_transaction and quick were not passed into db\_dump
for the mysql\_db module. \* Fixed a bug where the fetch module was not
idempotent when retrieving the target of a symlink. \* Many minor fixes
for bugs in extras modules.
Deprecations
~~~~~~~~~~~~
- Deprecated the use of ``_fixup_perms``. Use ``_fixup_perms2``
instead. This change only impacts custom action plugins using
``_fixup_perms``.
Incompatible Changes
~~~~~~~~~~~~~~~~~~~~
- Use of ``_fixup_perms`` with ``recursive=True`` (the default) is no
longer supported. Custom action plugins using ``_fixup_perms`` will
require changes unless they already use ``recursive=False``. Use
``_fixup_perms2`` if support for previous releases is not required.
Otherwise use ``_fixup_perms`` with ``recursive=False``.
2.1 "The Song Remains the Same"
-------------------------------
Major Changes:
~~~~~~~~~~~~~~
- Official support for the networking modules, originally available in
2.0 as a tech preview.
- Refactored and expanded support for Docker with new modules and many
improvements to existing modules, as well as a new Kubernetes module.
- Added new modules for Azure (see below for the full list)
- Added the ability to specify includes as "static" (either through a
configuration option or on a per-include basis). When includes are
static, they are loaded at compile time and cannot contain dynamic
features like loops.
- Added a new strategy ``debug``, which allows per-task debugging of
playbooks, for more details see
https://docs.ansible.com/ansible/playbooks\_debugger.html
- Added a new option for tasks: ``loop_control``. This currently only
supports one option - ``loop_var``, which allows a different loop
variable from ``item`` to be used.
- Added the ability to filter facts returned by the fact gathering
setup step using the ``gather_subset`` option on the play or in the
ansible.cfg configuration file. See
http://docs.ansible.com/ansible/intro\_configuration.html#gathering
for details on the format of the option.
- Added the ability to send per-item callbacks, rather than a batch
update (this more closely resembles the behavior of Ansible 1.x).
- Added facility for modules to send back 'diff' for display when
ansible is called with --diff, updated several modules to return this
info
- Added ansible-console tool, a REPL shell that allows running adhoc
tasks against a chosen inventory (based on
https://github.com/dominis/ansible-shell)
- Added two new variables, which are set when the ``rescue`` portion of
a ``block`` is started:
- ``ansible_failed_task``, which contains the serialized version of the
failed task.
- ``ansible_failed_result``, which contains the result of the failed
task.
- New meta action, ``meta: clear_host_errors`` which will clear any
hosts which were marked as failed (but not unreachable hosts).
- New meta action, ``meta: clear_facts`` which will remove existing
facts for the current host from current memory and facts cache.
- copy module can now transparently use a vaulted file as source, if
vault passwords were provided it will decrypt and copy on the fly.
- The way new-style python modules (which include all of the
non-windows modules shipped with Ansible) are assembled before
execution on the remote machine has been changed. The new way stays
closer to how python imports modules which will make it easier to
write modules which rely heavily on shared code.
- Reduce the situations in which a module can end up as world readable.
For details, see:
https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user
- Re-implemented the retry file feature, which had been left out of 2.0
(fix was backported to 2.0.1 originally).
- Improved winrm argument validation and feature sniffing (for upcoming
pywinrm NTLM support).
- Improved winrm error handling: basic parsing of stderr from CLIXML
stream.
New Modules
^^^^^^^^^^^
- aws
- ec2\_vol\_facts
- ec2\_vpc\_dhcp\_options
- ec2\_vpc\_net\_facts
- ec2\_snapshot\_facts
- azure:
- azure\_rm\_deployment
- azure\_rm\_networkinterface
- azure\_rm\_networkinterface\_facts (TECH PREVIEW)
- azure\_rm\_publicipaddress
- azure\_rm\_publicipaddress\_facts (TECH PREVIEW)
- azure\_rm\_resourcegroup
- azure\_rm\_resourcegroup\_facts (TECH PREVIEW)
- azure\_rm\_securitygroup
- azure\_rm\_securitygroup\_facts (TECH PREVIEW)
- azure\_rm\_storageaccount
- azure\_rm\_storageaccount\_facts (TECH PREVIEW)
- azure\_rm\_storageblob
- azure\_rm\_subnet
- azure\_rm\_virtualmachine
- azure\_rm\_virtualmachineimage\_facts (TECH PREVIEW)
- azure\_rm\_virtualnetwork
- azure\_rm\_virtualnetwork\_facts (TECH PREVIEW)
- cloudflare\_dns
- cloudstack
- cs\_cluster
- cs\_configuration
- cs\_instance\_facts
- cs\_pod
- cs\_resourcelimit
- cs\_volume
- cs\_zone
- cs\_zone\_facts
- clustering
- kubernetes
- cumulus
- cl\_bond
- cl\_bridge
- cl\_img\_install
- cl\_interface
- cl\_interface\_policy
- cl\_license
- cl\_ports
- eos
- eos\_command
- eos\_config
- eos\_eapi
- eos\_template
- gitlab
- gitlab\_group
- gitlab\_project
- gitlab\_user
- ios
- ios\_command
- ios\_config
- ios\_template
- iosxr
- iosxr\_command
- iosxr\_config
- iosxr\_template
- junos
- junos\_command
- junos\_config
- junos\_facts
- junos\_netconf
- junos\_package
- junos\_template
- make
- mongodb\_parameter
- nxos
- nxos\_command
- nxos\_config
- nxos\_facts
- nxos\_feature
- nxos\_interface
- nxos\_ip\_interface
- nxos\_nxapi
- nxos\_ping
- nxos\_switchport
- nxos\_template
- nxos\_vlan
- nxos\_vrf
- nxos\_vrf\_interface
- nxos\_vrrp
- openstack
- os\_flavor\_facts
- os\_group
- os\_ironic\_inspect
- os\_keystone\_domain\_facts
- os\_keystone\_role
- os\_port\_facts
- os\_project\_facts
- os\_user\_facts
- os\_user\_role
- openswitch
- ops\_command
- ops\_config
- ops\_facts
- ops\_template
- softlayer
- sl\_vm
- vmware
- vmware\_maintenancemode
- vmware\_vm\_shell
- windows
- win\_acl\_inheritance
- win\_owner
- win\_reboot
- win\_regmerge
- win\_timezone
- yum\_repository
New Strategies
^^^^^^^^^^^^^^
- debug
New Filters
^^^^^^^^^^^
- extract
- ip4\_hex
- regex\_search
- regex\_findall
New Callbacks
^^^^^^^^^^^^^
- actionable (only shows changed and failed)
- slack
- json
New Tests
^^^^^^^^^
- issubset
- issuperset
New Inventory scripts:
^^^^^^^^^^^^^^^^^^^^^^
- brook
- rackhd
- azure\_rm
Minor Changes:
~~~~~~~~~~~~~~
- Added support for pipelining mode to more connection plugins, which
helps prevent module data from being written to disk.
- Added a new '!unsafe' YAML decorator, which can be used in playbooks
to ensure a string is not templated. For example:
``foo: !unsafe "Don't template {{me}}"``.
- Callbacks now have access to the options with which the CLI was
called
- Debug now has verbosity option to control when to display by matching
number of -v in command line
- Modules now get verbosity, diff and other flags as passed to ansible
- Mount facts now also show 'network mounts' that use the pattern
``<host>:/<mount>``
- Plugins are now sorted before loading. This means, for instance, if
you want two custom callback plugins to run in a certain order you
can name them 10-first-callback.py and 20-second-callback.py.
- Added (alpha) Centirfy's dzdo as another become meethod (privilege
escalation)
Deprecations:
~~~~~~~~~~~~~
- Deprecated the use of "bare" variables in loops (ie.
``with_items: foo``, where ``foo`` is a variable). The full jinja2
variable syntax of ``{{foo}}`` should always be used instead. This
warning will be removed completely in 2.3, after which time it will
be an error.
- play\_hosts magic variable, use ansible\_play\_batch or
ansible\_play\_hosts instead.

View File

@ -0,0 +1,515 @@
==================================================
Ansible 2.2 "The Battle of Evermore" Release Notes
==================================================
2.2.4 "The Battle of Evermore" - TBD
------------------------------------
- avoid vault view writing to logs
- moved htpasswd module to use LooseVersion vs StrictVersion to make
usable on Debian
- fix for adhoc not obeying callback options
2.2.3 "The Battle of Evermore" - 05-09-2017
-------------------------------------------
Major Changes:
~~~~~~~~~~~~~~
- [SECURITY] (HIGH): fix for CVE-2017-7466, which was caused by an
incomplete cherry-picking of commits related to CVE-2016-9587. This
can lead to some jinja2 syntax not being stripped out of templated
results.
- [SECURITY] (MODERATE): fix for CVE-2017-7481, in which data for
lookup plugins used as variables was not being correctly marked as
"unsafe".
Minor Changes:
~~~~~~~~~~~~~~
- Fixes a bug when using YAML inventory where hosts were not put in the
'all' group, and some other 'ungrouped' issues in inventory.
- Fixes a bug when using ansible commands without a tty for stdin.
- Split on newlines when searching for become prompt.
- Fix crash upon pass prompt in py3 when using the paramiko connection
type.
2.2.2 "The Battle of Evermore" - 03-27-2017
-------------------------------------------
Major Changes:
~~~~~~~~~~~~~~
- [SECURITY] (HIGH): (continued fix for CVE-2016-9587) Handle some
additional corner cases in the way conditionals are parsed and
evaluated.
- [SECURITY] (LOW): properly filter passwords out of URLs when
displaying output from some modules.
Minor Changes:
~~~~~~~~~~~~~~
- Fix azure\_rm version checks (#22270).
- Fix for traceback when we encounter non-utf8 characters when using
--diff.
- Ensure ssh hostkey checks respect server port.
- Use proper PyYAML classes for safe loading YAML files.
- Fix for bug related to when statements for older jinja2 versions.
- Fix a bug/traceback when using to\_yaml/to\_nice\_yaml.
- Properly clean data of jinja2-like syntax, even if that data came
from an unsafe source.
- Fix bug regarding undefined entries in HostVars.
- Skip fact gathering if the entire play was included via conditional
which evaluates to False.
- Fixed a performance regression when using a large number of items in
a with loop.
- Fixed a bug in the way the end of role was detected, which in some
cases could cause a role to be run more than once.
- Add jinja2 groupby filter override to cast namedtuple to tuple to
handle a non-compatible change in jinja2 2.9.4-2.9.5.
- Fixed several bugs related to temp directory creation on remote
systems when using shell expansions and become privilege escalation.
- Fixed a bug related to spliting/parsing the output of a become
privilege escalation when looking for a password prompt.
- Several unicode/bytes fixes.
2.2.1 "The Battle of Evermore" - 01-16-2017
-------------------------------------------
Major Changes:
~~~~~~~~~~~~~~
- Security fix for CVE-2016-9587 - An attacker with control over a
client system being managed by Ansible and the ability to send facts
back to the Ansible server could use this flaw to execute arbitrary
code on the Ansible server as the user and group Ansible is running
as.
Minor Changes
~~~~~~~~~~~~~
- Fixes a bug where undefined variables in with\_\* loops would cause a
task failure even if the when condition would cause the task to be
skipped.
- Fixed a bug related to roles where in certain situations a role may
be run more than once despite not allowing duplicates.
- Fixed some additional bugs related to atomic\_move for modules.
- Fixes multiple bugs related to field/attribute inheritance in nested
blocks and includes, as well as task iteration logic during failures.
- Fixed pip installing packages into virtualenvs using the system pip
instead of the virtualenv pip.
- Fixed dnf on systems with dnf-2.0.x (some changes in the API).
- Fixed traceback with dnf install of groups.
- Fixes a bug in which include\_vars was not working with failed\_when.
- Fix for include\_vars only loading files with .yml, .yaml, and .json
extensions. This was only supposed to apply to loading a directory of
vars files.
- Fixes several bugs related to properly incrementing the failed count
in the host statistics.
- Fixes a bug with listening handlers which did not specify a ``name``
field.
- Fixes a bug with the ``play_hosts`` internal variable, so that it
properly reflects the current list of hosts.
- Fixes a bug related to the v2\_playbook\_on\_start callback method
and legacy (v1) plugins.
- Fixes an openssh related process exit race condition, related to the
fact that connections using ControlPersist do not close stderr.
- Improvements and fixes to OpenBSD fact gathering.
- Updated ``make deb`` to use pbuilder. Use ``make local_deb`` for the
previous non-pbuilder build.
- Fixed Windows async to avoid blocking due to handle inheritance.
- Fixed bugs in the mount module on older Linux kernels and \*BSDs
- Fix regression in jinja2 include search path.
- Various minor fixes for Python 3
- Inserted some checks for jinja2-2.9, which can cause some issues with
Ansible currently.
2.2 "The Battle of Evermore" - 11-01-2016
-----------------------------------------
Major Changes:
~~~~~~~~~~~~~~
- Security fix for CVE-2016-8628 - Command injection by compromised
server via fact variables. In some situations, facts returned by
modules could overwrite connection-based facts or some other special
variables, leading to injected commands running on the Ansible
controller as the user running Ansible (or via escalated
permissions).
- Security fix for CVE-2016-8614 - apt\_key module not properly
validating keys in some situations.
- Added the ``listen`` feature for modules. This feature allows tasks
to more easily notify multiple handlers, as well as making it easier
for handlers from decoupled roles to be notified.
- Major performance improvements.
- Added support for binary modules
- Added the ability to specify serial batches as a list
(``serial: [1, 5, 10]``), which allows for so-called "canary" actions
in one play.
- Fixed 'local type' plugins and actions to have a more predictable
relative path. Fixes a regression of 1.9 (PR #16805). Existing users
of 2.x will need to adjust related tasks.
- ``meta`` tasks can now use conditionals.
- ``raw`` now returns ``changed: true`` to be consistent with
shell/command/script modules. Add ``changed_when: false`` to ``raw``
tasks to restore the pre-2.2 behavior if necessary.
- New privilege escalation become method ``ksu``
- Windows ``async:`` support for long-running or background tasks.
- Windows ``environment:`` support for setting module environment vars
in play/task.
- Added a new ``meta`` option: ``end_play``, which can be used to skip
to the end of a play.
- roles can now be included in the middle of a task list via the new
``include_role`` module, this also allows for making the role import
'loopable' and/or conditional.
- The service module has been changed to use system specific modules if
they exist and fall back to the old service module if they cannot be
found or detected.
- Add ability to specify what ssh client binary to use on the
controller. This can be configured via ssh\_executable in the ansible
config file or by setting ansible\_ssh\_executable as an inventory
variable if different ones are needed for different hosts.
- Windows:
- several facts were modified or renamed for consistency with their
Unix counterparts, and many new facts were added. If your playbooks
rely on any of the following keys, please ensure they are using the
correct key names and/or values:
- ansible\_date\_time.date (changed to use yyyy-mm-dd format instead
of default system-locale format)
- ansible\_date\_time.iso8601 (changed to UTC instead of local time)
- ansible\_distribution (now uses OS caption string, e.g.:
"Microsoft Windows Server 2012 R2 Standard", version is still
available on ansible\_distribution\_version)
- ansible\_totalmem (renamed to ansible\_memtotal\_mb, units changed
to MB instead of bytes)
- ``async:`` support for long-running or background tasks.
- ``environment:`` support for setting module environment vars in
play/task.
- Tech Preview: Work has been done to get Ansible running under
Python3. This work is not complete enough to depend upon in
production environments but it is enough to begin testing it.
- Most of the controller side should now work. Users should be able to
run python3 /usr/bin/ansible and python3 /usr/bin/ansible-playbook
and have core features of ansible work.
- A few of the most essential modules have been audited and are known
to work. Others work out of the box.
- We are using unit and integration tests to help us port code and not
regress later. Even if you are not familiar with python you can still
help by contributing integration tests (just ansible roles) that
exercise more of the code to make sure it continues to run on both
Python2 and Python3.
- scp\_if\_ssh now supports True, False and "smart". "smart" is the
default and will retry failed sftp transfers with scp.
- Network:
- Refactored all network modules to remove duplicate code and take
advantage of Ansiballz implementation
- All functionality from \*\_template network modules have been
combined into \*\_config module
- Network \*\_command modules not longer allow configuration mode
statements
New Modules
^^^^^^^^^^^
- apache2\_mod\_proxy
- asa
- asa\_acl
- asa\_command
- asa\_config
- atomic
- atomic\_host
- atomic\_image
- aws
- cloudformation\_facts
- ec2\_asg\_facts
- ec2\_customer\_gateway
- ec2\_lc\_find
- ec2\_vpc\_dhcp\_options\_facts
- ec2\_vpc\_nacl
- ec2\_vpc\_nacl\_facts
- ec2\_vpc\_nat\_gateway
- ec2\_vpc\_peer
- ec2\_vpc\_vgw
- efs
- efs\_facts
- execute\_lambda
- iam\_mfa\_device\_facts
- iam\_server\_certificate\_facts
- kinesis\_stream
- lambda
- lambda\_alias
- lambda\_event
- lambda\_facts
- redshift
- redshift\_subnet\_group
- s3\_website
- sts\_session\_token
- cloudstack
- cs\_router
- cs\_snapshot\_policy
- dellos6
- dellos6\_command
- dellos6\_config
- dellos6\_facts
- dellos9
- dellos9\_command
- dellos9\_config
- dellos9\_facts
- dellos10
- dellos10\_command
- dellos10\_config
- dellos10\_facts
- digital\_ocean\_block\_storage
- docker
- docker\_network
- eos
- eos\_facts
- exoscale:
- exo\_dns\_domain
- exo\_dns\_record
- f5:
- bigip\_device\_dns
- bigip\_device\_ntp
- bigip\_device\_sshd
- bigip\_gtm\_datacenter
- bigip\_gtm\_virtual\_server
- bigip\_irule
- bigip\_routedomain
- bigip\_selfip
- bigip\_ssl\_certificate
- bigip\_sys\_db
- bigip\_vlan
- github
- github\_key
- github\_release
- google
- gcdns\_record
- gcdns\_zone
- gce\_mig
- honeybadger\_deployment
- illumos
- dladm\_etherstub
- dladm\_vnic
- flowadm
- ipadm\_if
- ipadm\_prop
- ipmi
- ipmi\_boot
- ipmi\_power
- ios
- ios\_facts
- iosxr
- iosxr\_facts
- include\_role
- jenkins
- jenkins\_job
- jenkins\_plugin
- kibana\_plugin
- letsencrypt
- logicmonitor
- logicmonitor\_facts
- lxd
- lxd\_profile
- lxd\_container
- netapp
- netapp\_e\_amg
- netapp\_e\_amg\_role
- netapp\_e\_amg\_sync
- netapp\_e\_auth
- netapp\_e\_facts
- netapp\_e\_flashcache
- netapp\_e\_hostgroup
- netapp\_e\_host
- netapp\_e\_lun\_mapping
- netapp\_e\_snapshot\_group
- netapp\_e\_snapshot\_images
- netapp\_e\_snapshot\_volume
- netapp\_e\_storage\_system
- netapp\_e\_storagepool
- netapp\_e\_volume
- netapp\_e\_volume\_copy
- netconf\_config
- netvisor
- pn\_cluster
- pn\_ospfarea
- pn\_ospf
- pn\_show
- pn\_trunk
- pn\_vlag
- pn\_vlan
- pn\_vrouterbgp
- pn\_vrouterif
- pn\_vrouterlbif
- pn\_vrouter
- nxos
- nxos\_aaa\_server\_host
- nxos\_aaa\_server
- nxos\_acl\_interface
- nxos\_acl
- nxos\_bgp\_af
- nxos\_bgp\_neighbor\_af
- nxos\_bgp\_neighbor
- nxos\_bgp
- nxos\_evpn\_global
- nxos\_evpn\_vni
- nxos\_file\_copy
- nxos\_gir\_profile\_management
- nxos\_gir
- nxos\_hsrp
- nxos\_igmp\_interface
- nxos\_igmp
- nxos\_igmp\_snooping
- nxos\_install\_os
- nxos\_interface\_ospf
- nxos\_mtu
- nxos\_ntp\_auth
- nxos\_ntp\_options
- nxos\_ntp
- nxos\_ospf
- nxos\_ospf\_vrf
- nxos\_overlay\_global
- nxos\_pim\_interface
- nxos\_pim
- nxos\_pim\_rp\_address
- nxos\_portchannel
- nxos\_rollback
- nxos\_smu
- nxos\_snapshot
- nxos\_snmp\_community
- nxos\_snmp\_contact
- nxos\_snmp\_host
- nxos\_snmp\_location
- nxos\_snmp\_traps
- nxos\_snmp\_user
- nxos\_static\_route
- nxos\_udld\_interface
- nxos\_udld
- nxos\_vpc\_interface
- nxos\_vpc
- nxos\_vrf\_af
- nxos\_vtp\_domain
- nxos\_vtp\_password
- nxos\_vtp\_version
- nxos\_vxlan\_vtep
- nxos\_vxlan\_vtep\_vni
- mssql\_db
- ovh\_ip\_loadbalancing\_backend
- opendj\_backendprop
- openstack
- os\_keystone\_service
- os\_recordset
- os\_server\_group
- os\_stack
- os\_zone
- ovirt
- ovirt\_auth
- ovirt\_disks
- ovirt\_vms
- rhevm
- rocketchat
- sefcontext
- sensu\_subscription
- smartos
- smartos\_image\_facts
- sros
- sros\_command
- sros\_config
- sros\_rollback
- statusio\_maintenance
- systemd
- telegram
- univention
- udm\_dns\_record
- udm\_dns\_zone
- udm\_group
- udm\_share
- udm\_user
- vmware
- vmware\_guest
- vmware\_local\_user\_manager
- vmware\_vmotion
- vyos
- vyos\_command
- vyos\_config
- vyos\_facts
- wakeonlan
- windows
- win\_command
- win\_robocopy
- win\_shell
New Callbacks
^^^^^^^^^^^^^
- foreman
Minor Changes
~~~~~~~~~~~~~
- now -vvv shows exact path from which 'currently executing module' was
picked up from.
- loop\_control now has a label option to allow fine grained control
what gets displayed per item
- loop\_control now has a pause option to allow pausing for N seconds
between loop iterations of a task.
- New privilege escalation become method ``ksu``
- ``raw`` now returns ``changed: true`` to be consistent with
shell/command/script modules. Add ``changed_when: false`` to ``raw``
tasks to restore the pre-2.2 behavior if necessary.
- removed previously deprecated ';' as host list separator.
- Only check if the default ssh client supports ControlPersist once
instead of once for each host + task combination.
- Fix a problem with the pip module updating the python pip package
itself.
- ansible\_play\_hosts is a new magic variable to provide a list of
hosts in scope for the current play. Unlike play\_hosts it is not
subject to the 'serial' keyword.
- ansible\_play\_batch is a new magic variable meant to substitute the
current play\_hosts.
- The subversion module from core now marks its password parameter as
no\_log so the password is obscured when logging.
- The postgresql\_lang and postgresql\_ext modules from extras now mark
login\_password as no\_log so the password is obscured when logging.
- Fix for yum module incorrectly thinking it succeeded in installing
packages
- Make the default ansible\_managed template string into a static
string since all of the replacable values lead to non-idempotent
behaviour.
For custom front ends using the API:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ansible.parsing.vault:
- VaultLib.is\_encrypted() has been deprecated. It will be removed in
2.4. Use ansible.parsing.vault.is\_encrypted() instead
- VaultFile has been removed. This unfinished code was never used
inside of Ansible. The feature it was intended to support has now
been implemented without using this.
- VaultAES, the older, insecure encrypted format that debuted in
Ansible-1.5 and was replaced by VaultAES256 less than a week later,
now has a deprecation warning. **It will be removed in 2.3**. In the
unlikely event that you wrote a vault file in that 1 week window and
have never modified the file since (ansible-vault automatically
re-encrypts the file using VaultAES256 whenever it is written to but
not read), run ``ansible-vault rekey [filename]`` to move to
VaultAES256.
Removed Deprecated
~~~~~~~~~~~~~~~~~~
- ';' as host list separator.
- with\_ 'bare variable' handling, now loop items must always be
templated ``{{ }}`` or they will be considered as plain strings.
- skipping task on 'missing attribute' in loop variable, now in a loop
an undefined attribute will return an error instead of skipping the
task.
- skipping on undefined variables in loop, now loops will have to
define a variable or use ``|default`` to avoid errors.
Deprecations
~~~~~~~~~~~~
Notice given that the following will be removed in Ansible 2.4: \*
Modules \* eos\_template \* ios\_template \* iosxr\_template \*
junos\_template \* nxos\_template \* ops\_template

View File

@ -0,0 +1,581 @@
=====================================
Ansible 2.3 "Ramble On" Release Notes
=====================================
2.3.4 "Ramble On" - TBD
-----------------------
- Flush stdin when passing the become password. Fixes some cases of
timeout on Python3 with the ssh connection plugin:
https://github.com/ansible/ansible/pull/35049
Bugfixes
~~~~~~~~
- Fix setting of environment in a task that uses a loop:
https://github.com/ansible/ansible/issues/32685
- Fix https retrieval with TLSv1.2:
https://github.com/ansible/ansible/pull/32053
2.3.3 "Ramble On" - TBD
-----------------------
Bugfixes
~~~~~~~~
- Security fix for CVE-2017-7550 the jenkins\_plugin module was logging
the jenkins server password if the url\_password was passed via the
params field: https://github.com/ansible/ansible/pull/30875
- Fix alternatives module handlling of non existing options
- Fix synchronize traceback with the docker connection plugin
- Do not escape backslashes in the template lookup plugin to mirror
what the template module does
- Fix the expires option of the postgresq\_user module
- Fix for win\_acl when settings permissions on registry objects that
use ``ALL APPLICATION PACKAGES`` and
``ALL RESTRICTED APPLICATION PACKAGES``
- Python3 fixes
- asorted azure modules
- pause module
- hacking/env-setup script
- Fix traceback when checking for passwords in logged strings when
logging executed commands.
- docker\_login module
- Workaround python-libselinux API change in the seboolean module
- digital\_ocean\_tag module
- Fix the zip filter
- Fix user module combining bytes and text
- Fix for security groups in the amazon efs module
- Fix for the jail connection plugin not finding the named jail
- Fix for blockinfile's parameters insertbefore and insertafter
- ios\_config: Fix traceback when the efaults parameter is not set
- iosxr\_config: Fixed unicode error when UTF-8 characters are in
configs
- Fix check mode in archive module
- Fix UnboundLocalError in check mode in cs\_role module
- Fix to always use lowercase hostnames for host keys in known\_hosts
module
- Added missing return results for win\_stat
- Fix rabbitmq modules to give a helpful error if requests is not
installed
- Fix yum module not deleting rpms that it downloaded
- Fix yum module failing with a URL to an rpm
- Fix file module inappropriately expanding literal dollar signs in a
path read from the filesystem as an environment variable.
- Fix the ssh "smart" transport setting which automatically selects the
best means of transferring files over ssh (sftp, ssh, piped).
- Fix authentication by api\_key parameter in exoscale modules.
- vmware module\_utils shared code ssl/validate\_certs fixes in
connection logic
- allow 'bridge' facts to work for certain containers that create
conflicting ones with connection plugins
- Fix for win\_get\_url to use TLS 1.2/1.1 if it is available on the
host
- Fix for the filetree lookup with non-ascii group names
- Better message for invalid keywords/options in task due to undefined
expressions
- Fixed check mode for enable on Solaris for service module
- Fix cloudtrail module to allow AWS profiles other than the default
- Fix an encoding issue with secret (password) vars\_prompts
- Fix for Windows become to show the stdout and stderr strings on a
failure
- Fix the issue SSL verification can not be disabled for Tower modules
- Use safe\_load instead on load to read a yaml document
- Fix for win\_file to respect check mode when deleting directories
- Include\_role now complains about invalid arguments
- Added socket conditions to ignore for wait\_for, no need to error for
closing already closed connection
- Updated hostname module to work on newer RHEL7 releases
- Security fix to avoid provider password leaking in logs for network
modules
\* Python3 fixes for azure modules
2.3.2 "Ramble On" - 2017-08-04
------------------------------
Bugfixes
~~~~~~~~
- Fix partend i18n issues
- fixed handling of extra vars for tower\_job\_template (#25272)
- Python3 bugfixes
- Fix sorting of ec2 policies
- Fix digital\_ocean dynamic inventory script
- Fix for the docker connection plugin
- Fix pip module when using python3's pyvenv and python3 -m venv to
create virtualenvs
- Fix for the AnsiBallZ wrapper so that it gives a better error message
when there's not enough disk space to create its tempdir.
- Fix so ansilbe-galaxy install --force with unversioned roles will
once again overwrite old versions.
- Fix for RabbitMQ 3.6.7 endpoint return code changing.
- Fix for Foreman organization creation
- fixed incorrect fail\_json ref in rpm\_key
- Corrected requried on hash\_name for dynamodb\_table
- Fix for fetch action plugin not validating correctly
- Avoid vault view writing display to logs
- htpasswd: fix passlib module version comparison
- Fix for flowdock error message when external\_user\_name is missing
- fixed corner case for delegate\_to, loops and delegate\_facts
- fixed wait\_for python2.4/2.5 compatibility (this is last version
this is needed)
- fix for adhoc not obeying callback options
- fix for win\_find where it fails to recursively scan empty nested
directories
- fix non-pipelined code paths for Windows (eg,
ANSIBLE\_KEEP\_REMOTE\_FILES, non-pipelined connection plugins)
- fix for win\_updates where args and check mode were ignored due to
common code change
- fix for unprivileged users to Windows runas become method
- fix starttls code path for mail module
- fix missing LC\_TYPE in parted module
- fix CN parsing with OpenSSL 1.1 in letsencrypt module
- fix params assignment in jabber module
- fix TXT record type handling in exo\_dns\_record module
- fix message queue message ttl can't be 0 in rabbitmq\_queue module
- CloudStack bugfixes:
- fix template upload for users in cs\_template module, change default
to is\_routing=None
- several fixes in cs\_host module fixes hypervisor handling
- fix network param ignored due typo in cs\_nic module
- fix missing type bool in module cs\_zone
- fix KeyError: 'sshkeypair' in cs\_instance module for CloudStack v4.5
and before
- fix for win\_chocolatey where trying to upgrade all the packages as
per the example docs fails
- fix for win\_chocolatey where it did not fail if the version set did
not exist
- fix for win\_regedit always changing a reg key if the dword values
set is a hex
- fix for wait\_for on non-Linux systems with newer versions of psutil
- fix eos\_banner code and test issues
- run tearup and teardown of EAPI service only on EAPI tests
- fix eos\_config tests so only Eth1 and Eth2 are used
- Fix for potential bug when using legacy inventory vars for
configuring the su password.
- Fix crash in file module when directories contain non-utf8 filenames
- Fix for dnf groupinstall with dnf-2.x
- Fix seboolean module for incompatibility in newer Python3 selinux
bindings
- Optimization for inventory, no need to dedup at every stage, its
redundant and slow
- Fix fact gathering for package and service action plugins
- make random\_choice more error resilient (#27380)
- ensure prefix in plugin loading to avoid conflicts
- fix for a small number of modules (tempfile, possibly copy) which
could fail if the tempdir on the remote box was a symlink
- fix non-pipelined code paths for Windows (eg,
ANSIBLE\_KEEP\_REMOTE\_FILES, non-pipelined connection plugins)
- fix for win\_updates where args and check mode were ignored due to
common code change
2.3.1 "Ramble On" - 2017-06-01
------------------------------
Bugfixes
~~~~~~~~
- Security fix for CVE-2017-7481 - data for lookup plugins used as
variables was not being correctly marked as "unsafe".
- Fix default value of fetch module's validate\_checksum to be True
- Added fix for "meta: refresh\_connection" not working with default
'smart' connection.
- Fix template so that the --diff command line option works when the
destination is a directory
- Fix python3 bugs in pam\_limits
- Fix unbound error when using module deprecation as a single string
- Several places in which error handling was broken due to bad
conversions or just typos
- Fix to user module for appending/setting groups on OpenBSD (flags
were reversed)
- assemble fix to use safer os.join.path, avoids charset issues
- fixed issue with solaris facts and i18n
- added python2.4 compatiblity fix to sysctl module
- Fix comparison of exisiting container security opts in the
docker\_container module
- fixed service module invocation of insserv on certain platforms
- Fix traceback in os\_user in an error case.
- Fix docker container to restart a container when changing to fewer
exposed ports
- Fix tracebacks in docker\_network
- Fixes to detection of updated docker images
- Handle detection of docker image changes when published ports is
changed
- Fix for docker\_container restarting images when links list is empty.
2.3 "Ramble On" - 2017-04-12
----------------------------
Moving to Ansible 2.3 guide
http://docs.ansible.com/ansible/porting\_guide\_2.3.html
Major Changes
~~~~~~~~~~~~~
- Documented and renamed the previously released 'single var vaulting'
feature, allowing user to use vault encryption for single variables
in a normal YAML vars file.
- Allow module\_utils for custom modules to be placed in site-specific
directories and shipped in roles
- On platforms that support it, use more modern system polling API
instead of select in the ssh connection plugin. This removes one
limitation on how many parallel forks are feasible on these systems.
- Windows/WinRM supports (experimental) become method "runas" to run
modules and scripts as a different user, and to transparently access
network resources.
- The WinRM connection plugin now uses pipelining when executing
modules, resulting in significantly faster execution for small tasks.
- The WinRM connection plugin can now manage Kerberos tickets
automatically when ``ansible_winrm_transport=kerberos`` and
``ansible_user``/``ansible_password`` are specified.
- Refactored/standardized most Windows modules, adding check-mode and
diff support where possible.
- Extended Windows module API with parameter-type support, helper
functions. (i.e. Expand-Environment, Add-Warning,
Add-DeprecatationWarning)
- restructured how async works to allow it to apply to action plugins
that choose to support it.
Minor Changes
~~~~~~~~~~~~~
- The version and release facts for OpenBSD hosts were reversed. This
has been changed so that version has the numeric portion and release
has the name of the release.
- removed 'package' from default squash actions as not all package
managers support it and it creates errors when using loops, any user
can add back via config options if they don't use those package
managers or otherwise avoid the errors.
- Blocks can now have a ``name`` field, to aid in playbook readability.
- default strategy is now configurable via ansible.cfg or environment
variable.
- Added 'ansible\_playbook\_python' which contains 'current python
executable', it can be blank in some cases in which Ansible is not
invoked via the standard CLI (sys.executable limitation).
- Added 'metadata' to modules to enable classification
- ansible-doc now displays path to module and existing 'metadata'
- added optional 'piped' transfer method to ssh plugin for when scp and
sftp are missing, ssh plugin is also now 'smarter' when using these
options
- default controlpersist path is now a custom hash of host-port-user to
avoid the socket path length errors for long hostnames
- Various fixes for Python3 compatibility
- Fixed issues with inventory formats not handling 'all' and
'ungrouped' in an uniform way.
- 'service' tasks can now use async again, we had lost this capability
when changed into an action plugin.
- made any\_errors\_fatal inheritable from play to task and all other
objects in between.
- many small performance improvements in inventory and variable
handling and in task execution.
- Added a retry class to the ec2\_asg module since customers were
running into throttling errors (AWSRetry is a solution for modules
using boto3 which isn't applicable here).
Deprecations
~~~~~~~~~~~~
- Specifying --tags (or --skip-tags) multiple times on the command line
currently leads to the last one overriding all the previous ones.
This behaviour is deprecated. In the future, if you specify --tags
multiple times the tags will be merged together. From now on, using
--tags multiple times on one command line will emit a deprecation
warning. Setting the merge\_multiple\_cli\_tags option to True in the
ansible.cfg file will enable the new behaviour. In 2.4, the default
will be to merge and you can enable the old overwriting behaviour via
the config option. In 2.5, multiple --tags options will be merged
with no way to go back to the old behaviour.
- Modules (scheduled for removal in 2.5)
- ec2\_vpc
- cl\_bond
- cl\_bridge
- cl\_img\_install
- cl\_interface
- cl\_interface\_policy
- cl\_license
- cl\_ports
- nxos\_mtu, use nxos\_system instead
New: Callbacks
^^^^^^^^^^^^^^
- dense: minimal stdout output with fallback to default when verbose
New: lookups
^^^^^^^^^^^^
- keyring: allows getting password from the 'controller' system's
keyrings
New: cache
^^^^^^^^^^
- pickle (uses python's own serializer)
- yaml
New: inventory scripts
^^^^^^^^^^^^^^^^^^^^^^
- oVirt/RHV
New: filters
^^^^^^^^^^^^
- combinations
- permutations
- zip
- zip\_longest
Module Notes
~~~~~~~~~~~~
- AWS lambda: previously ignored changes that only affected one
parameter. Existing deployments may have outstanding changes that
this bugfix will apply.
- oVirt/RHV: Added support for 4.1 features and the following:
- data centers, clusters, hosts, storage domains and networks
management.
- hosts and virtual machines affinity groups and labels.
- users, groups and permissions management.
- Improved virtual machines and disks management.
- Mount: Some fixes so bind mounts are not mounted each time the
playbook runs.
New Modules
~~~~~~~~~~~
- a10\_server\_axapi3
- amazon:
- aws\_kms
- cloudfront\_facts
- ec2\_group\_facts
- ec2\_lc\_facts
- ec2\_vpc\_igw\_facts
- ec2\_vpc\_nat\_gateway\_facts
- ec2\_vpc\_vgw\_facts
- ecs\_ecr
- elasticache\_parameter\_group
- elasticache\_snapshot
- iam\_role
- s3\_sync
- archive
- beadm
- bigswitch:
- bigmon\_chain
- bigmon\_policy
- cloudengine:
- ce\_command
- cloudscale\_server
- cloudstack:
- cs\_host
- cs\_nic
- cs\_region
- cs\_role
- cs\_vpc
- dimensiondata\_network
- eos:
- eos\_banner
- eos\_system
- eos\_user
- f5:
- bigip\_gtm\_facts
- bigip\_hostname
- bigip\_snat\_pool
- bigip\_sys\_global
- foreman:
- foreman
- katello
- fortios
- fortios\_config
- gconftool2
- google:
- gce\_eip
- gce\_snapshot
- gcpubsub
- gcpubsub\_facts
- hpilo:
- hpilo\_boot
- hpilo\_facts
- hponcfg
- icinga2\_feature
- illumos:
- dladm\_iptun
- dladm\_linkprop
- dladm\_vlan
- ipadm\_addr
- ipadm\_addrprop
- ipadm\_ifprop
- infinidat:
- infini\_export
- infini\_export\_client
- infini\_fs
- infini\_host
- infini\_pool
- infini\_vol
- ipa:
- ipa\_group
- ipa\_hbacrule
- ipa\_host
- ipa\_hostgroup
- ipa\_role
- ipa\_sudocmd
- ipa\_sudocmdgroup
- ipa\_sudorule
- ipa\_user
- ipinfoio\_facts
- ios:
- ios\_banner
- ios\_system
- ios\_vrf
- iosxr\_system
- iso\_extract
- java\_cert
- jenkins\_script
- ldap:
- ldap\_attr
- ldap\_entry
- logstash\_plugin
- mattermost
- net\_command
- netapp:
- sf\_account\_manager
- sf\_snapshot\_schedule\_manager
- sf\_volume\_manager
- sf\_volume\_access\_group\_manager
- nginx\_status\_facts
- nsupdate
- omapi\_host
- openssl:
- openssl\_privatekey
- openssl\_publickey
- openstack:
- os\_nova\_host\_aggregate
- os\_quota
- openwrt\_init
- ordnance:
- ordnance\_config
- ordnance\_facts
- ovirt:
- ovirt\_affinity\_groups
- ovirt\_affinity\_labels
- ovirt\_affinity\_labels\_facts
- ovirt\_clusters
- ovirt\_clusters\_facts
- ovirt\_datacenters
- ovirt\_datacenters\_facts
- ovirt\_external\_providers
- ovirt\_external\_providers\_facts
- ovirt\_groups
- ovirt\_groups\_facts
- ovirt\_host\_networks
- ovirt\_host\_pm
- ovirt\_hosts
- ovirt\_hosts\_facts
- ovirt\_mac\_pools
- ovirt\_networks
- ovirt\_networks\_facts
- ovirt\_nics
- ovirt\_nics\_facts
- ovirt\_permissions
- ovirt\_permissions\_facts
- ovirt\_quotas
- ovirt\_quotas\_facts
- ovirt\_snapshots
- ovirt\_snapshots\_facts
- ovirt\_storage\_domains
- ovirt\_storage\_domains\_facts
- ovirt\_tags
- ovirt\_tags\_facts
- ovirt\_templates
- ovirt\_templates\_facts
- ovirt\_users
- ovirt\_users\_facts
- ovirt\_vmpools
- ovirt\_vmpools\_facts
- ovirt\_vms\_facts
- pacemaker\_cluster
- packet:
- packet\_device
- packet\_sshkey
- pamd
- panos:
- panos\_address
- panos\_admin
- panos\_admpwd
- panos\_cert\_gen\_ssh
- panos\_check
- panos\_commit
- panos\_dag
- panos\_import
- panos\_interface
- panos\_lic
- panos\_loadcfg
- panos\_mgtconfig
- panos\_nat\_policy
- panos\_pg
- panos\_restart
- panos\_security\_policy
- panos\_service
- postgresql\_schema
- proxmox\_kvm
- proxysql:
- proxysql\_backend\_servers
- proxysql\_global\_variables
- proxysql\_manage\_config
- proxysql\_mysql\_users
- proxysql\_query\_rules
- proxysql\_replication\_hostgroups
- proxysql\_scheduler
- pubnub\_blocks
- pulp\_repo
- runit
- serverless
- set\_stats
- panos:
- panos\_security\_policy
- smartos:
- imgadm
- vmadm
- sorcery
- stacki\_host
- swupd
- tempfile
- tower:
- tower\_credential
- tower\_group
- tower\_host
- tower\_inventory
- tower\_job\_template
- tower\_label
- tower\_organization
- tower\_project
- tower\_role
- tower\_team
- tower\_user
- vmware:
- vmware\_guest\_facts
- vmware\_guest\_snapshot
- web\_infrastructure:
- jenkins\_script
- system
- parted
- windows:
- win\_disk\_image
- win\_dns\_client
- win\_domain
- win\_domain\_controller
- win\_domain\_membership
- win\_find
- win\_msg
- win\_path
- win\_psexec
- win\_reg\_stat
- win\_region
- win\_say
- win\_shortcut
- win\_tempfile
- xbps
- zfs:
- zfs\_facts
- zpool\_facts

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

18
changelogs/config.yaml Normal file
View File

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

View File

@ -0,0 +1,2 @@
bugfixes:
- openstack.os_stack - extend failure message with the server response (https://github.com/ansible/ansible/pull/39660).

View File

@ -0,0 +1,2 @@
bugfixes:
- EOS can not check configuration without use of config session (ANSIBLE_EOS_USE_SESSIONS=0). Fix is to throw error when hiting into this exception case. Configs would neither be checked nor be played on the eos device.

View File

@ -0,0 +1,2 @@
bugfixes:
- Adds exception handling which is raised when user does not have correct set of permissions/privileges to read virtual machine facts.

View File

@ -0,0 +1,2 @@
bugfixes:
- onyx_pfc_interface - Add support for changes in pfc output in onyx 3.6.6000 https://github.com/ansible/ansible/pull/37651

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix mlag summary json parsing for onyx version 3.6.6000 and above https://github.com/ansible/ansible/pull/38191

View File

@ -0,0 +1,2 @@
bugfixes:
- Update documentation related to datacenter in vmware_guest_find module. Mark datacenter as optional.

View File

@ -0,0 +1,2 @@
bugfixes:
- vmware_guest - typecast VLAN ID to match various conditions. (https://github.com/ansible/ansible/pull/39793)

View File

@ -0,0 +1,2 @@
bugfixes:
- Set default network type as 'dhcp' if user has not specified any.

View File

@ -0,0 +1,2 @@
bugfixes:
- Changed hostname variable in order for the esxi host to be found when authentication against a vcenter was done.

View File

@ -0,0 +1,2 @@
bugfixes:
- nmcli change default value of autoconnect

View File

@ -0,0 +1,2 @@
bugfixes:
- vmware_guest - Do not update cpu/memory allocation in configspec if there is no change (https://github.com/ansible/ansible/pull/39865)

View File

@ -0,0 +1,2 @@
bugfixes:
- Fix unset 'ansible_virtualization_role' fact while setting virtualization facts for real hardware.

View File

@ -0,0 +1,2 @@
bugfixes:
- loop_control - update template vars for loop_control fields on each loop iteration (https://github.com/ansible/ansible/pull/39818).

View File

@ -0,0 +1,2 @@
bugfixes:
- skip marking packages as manually installed when apt-mark is not available (https://github.com/ansible/ansible/pull/40600)

View File

@ -0,0 +1,2 @@
bugfixes:
- jenkins_plugin - fix plugin always updated even if already uptodate (https://github.com/ansible/ansible/pull/40645)

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,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

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

View File

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

View File

@ -0,0 +1,5 @@
---
bugfixes:
- template - Fix for encoding issues when a template path contains non-ascii
characters and using the template path in ansible_managed
(https://github.com/ansible/ansible/issues/27262)

View File

@ -0,0 +1,2 @@
bugfixes:
- tower_* modules - fix credentials to work with v1 and v2 of Ansible Tower API

View File

@ -0,0 +1,3 @@
bugfixes:
- apt - Auto install of python-apt without recommends (https://github.com/ansible/ansible/pull/37121)
- apt - Mark installed packages manual (https://github.com/ansible/ansible/pull/37751)

View File

@ -0,0 +1,2 @@
bugfixes:
- async - Ensure that the implicit async_status gets the env from a task with async (https://github.com/ansible/ansible/pull/39764)

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:
- Fallback to instance role STS credentials if none are explicitly provided for the aws_ec2 inventory plugin

View File

@ -0,0 +1,3 @@
---
bugfixes:
- Support tag values as hostnames in aws_ec2 inventory plugin

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 @@
---
bugfixes:
- Fix regression in aws_s3 to allow uploading files on the remote host to an S3 bucket

View File

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

View File

@ -0,0 +1,2 @@
bugfixes:
- azure_rm_image - Allow Azure images to be created with tags, bug was introduced in Ansible v2.5.0

View File

@ -0,0 +1,2 @@
bugfixes:
- azure_rm_networkinterface - Network interface can attach an existing NSG or create a new NSG with specified name in Ansible v2.5.0.

View File

@ -0,0 +1,2 @@
bugfixes:
- azure_rm_networkinterface - fixed examples in module documentation and added fix to allow an IP configuration with no public IP (https://github.com/ansible/ansible/pull/36824)

View File

@ -0,0 +1,2 @@
bugfixes:
- azure_rm_virtualmachine - removed docs note that says on marketplace images can be used, custom images were added in 2.5

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,2 @@
bugfixes:
- fixed memory bloat on nested includes by preventing blocks from self-parenting (https://github.com/ansible/ansible/pull/36075)

View File

@ -0,0 +1,2 @@
bugfixes:
- dont require property for older callbacks to load https://github.com/ansible/ansible/pull/38281

View File

@ -0,0 +1,5 @@
bugfixes:
- Improve keyed groups for complex inventory
- Made separator configurable
- Fixed some exception types
- Better error messages

View File

@ -0,0 +1,4 @@
---
bugfixes:
- copy - fixed copy to only follow symlinks for files in the non-recursive case
- file - fixed the default follow behaviour of file to be true

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

View File

@ -0,0 +1,2 @@
bugfixes:
- fix diff callback only being called when global diff option was set and not honoring task diff (https://github.com/ansible/ansible/issues/31129)

View File

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

View File

@ -0,0 +1,2 @@
bugfixes:
- backup options doc change to reflect backup directory location in case playbook is run from a role

View File

@ -0,0 +1,2 @@
bugfixes:
- minor doc fix https://github.com/ansible/ansible/pull/39111

View File

@ -0,0 +1,2 @@
bugfixes:
- docker_container, docker_image, docker_network modules - Update to work with Docker SDK 3.1

View File

@ -0,0 +1,2 @@
bugfixes:
- docker modules - Error with useful message is both docker and docker-py are found to both be installed (https://github.com/ansible/ansible/pull/38884)

View File

@ -0,0 +1,2 @@
bugfixes:
- filters - Don't overwrite builtin jinja2 filters with tests (https://github.com/ansible/ansible/pull/37881)

View File

@ -0,0 +1,2 @@
bugfixes:
- dynamic includes - Improved performance by fixing re-parenting on copy (https://github.com/ansible/ansible/pull/38747)

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,2 @@
bugfixes:
- ec2_asg - wait for lifecycle hooks to complete (https://github.com/ansible/ansible/issues/37281)

View File

@ -0,0 +1,3 @@
---
bugfixes:
- ec2_vpc_route_table - fix regression by skipping routes without DestinationCidrBlock (https://github.com/ansible/ansible/pull/37010)

View File

@ -0,0 +1,6 @@
---
bugfixes:
- Use custom waiters
- Add integration tests for check mode
- Fix non-monotonic AWS behavior by waiting until attributes are the correct value before returning the subnet
- Don't use custom waiter configs for older versions of botocore

View File

@ -0,0 +1,2 @@
bugfixes:
- edgeos modules - add note and warning that the modules require network_cli connection (https://github.com/ansible/ansible/issues/39499)

View File

@ -0,0 +1,2 @@
bugfixes:
- edgeos_command - add action plugin to backup config (https://github.com/ansible/ansible/pull/37619)

View File

@ -0,0 +1,2 @@
bugfixes:
- 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)

View File

@ -0,0 +1,2 @@
bugfixes:
- edgeos_facts - fix error when there are no commit revisions (https://github.com/ansible/ansible/issues/37123)

View File

@ -0,0 +1,2 @@
bugfixes:
- return empty list if host pattern is empty https://github.com/ansible/ansible/pull/37931

View File

@ -0,0 +1,3 @@
---
bugfixes:
- Fix an encoding issue when parsing the examples from a plugins' documentation

View File

@ -0,0 +1,2 @@
bugfixes:
- eos cliconf get_config() format type fix (https://github.com/ansible/ansible/pull/38682)

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,2 @@
bugfixes:
- Fix misuse of self in module_utils/network/eos/eos.py (https://github.com/ansible/ansible/pull/39074)

View File

@ -0,0 +1,2 @@
bugfixes:
- eos_vlan - Fix eos_vlan associated interface name check (https://github.com/ansible/ansible/pull/39661)

View File

@ -0,0 +1,2 @@
bugfixes:
- eos_vlan - fixed eos_vlan not working when having more than 6 interfaces (https://github.com/ansible/ansible/pull/38347)

View File

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

View File

@ -0,0 +1,2 @@
minor_changes:
- Return virtual_facts after VMware platform detection, otherwise we're falling back to 'NA' for virtualization type and virtualization role.

View File

@ -0,0 +1,5 @@
---
bugfixes:
- file module - Fix error when running a task which assures a symlink to
a nonexistent file exists for the second and subsequent times
(https://github.com/ansible/ansible/issues/39558)

View File

@ -0,0 +1,5 @@
---
bugfixes:
- file module - Fix error when recursively assigning permissions and
a symlink to a nonexistent file is present in the directory tree
(https://github.com/ansible/ansible/issues/39456)

View File

@ -0,0 +1,5 @@
---
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)

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

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

View File

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

View File

@ -0,0 +1,2 @@
bugfixes:
- Capture correct exception type https://github.com/ansible/ansible/pull/39406

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)

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