Commit graph

1267 commits

Author SHA1 Message Date
Toshio Kuratomi
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
Deepak Agrawal
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
Jakub Libosvar
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 01097715fd9466c64bfb37d7604d095275a5e9d8)
2018-08-08 16:01:42 +02:00
Nilashish Chakraborty
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
Jordan Borean
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
Brian Coca
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
Markos Chandras
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
Toshio Kuratomi
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
Matt Davis
4202d1d769 skip winrm unit tests if winrm is not installed (#41596)
(cherry picked from commit b01779ad18)
2018-06-15 10:26:33 -07:00
Jordan Borean
60ab7b2807 winrm: fix up unit tests (#41112) (#41211)
(cherry picked from commit ad8e13e9f8)
2018-06-06 15:57:00 -07:00
Matt Martz
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
Brian Coca
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
Sviatoslav Sydorenko
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
Jordan Borean
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
Sam Doran
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
Jordan Borean
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
John R Barker
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
Ganesh Nalawade
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
Deepak Agrawal
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
Matt Martz
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
Pilou
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
Brian Coca
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
AlanCoding
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
Trishna Guha
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
Adrian Likins
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
Nathaniel Case
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
John R Barker
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
John R Barker
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
John R Barker
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
John R Barker
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
Adrian Likins
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
Izuke
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
Olivier Bourdon
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
Matt Martz
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
Nathaniel Case
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
Trishna Guha
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
John R Barker
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
John R Barker
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
David Newswanger
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
John R Barker
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
Peter Sprygada
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
Matt Martz
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
mikedlr
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
Brian Coca
0ee6771659 remove extra fields from debug output
fixes #35493

updated tests

(cherry picked from commit a79378fccb)
2018-02-20 08:46:12 -05:00
Trishna Guha
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
Trishna Guha
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
John R Barker
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
Toshio Kuratomi
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
Monty Taylor
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
John R Barker
67d14c963a
Add unit tests for edgeos_command (#35861) (#36184)
(cherry picked from commit 97573d8b0c)
2018-02-14 15:42:27 +00:00