Commit Graph

6237 Commits (a8a318e588c8beb8f3dfd3c4817f5201ccd98010)

Author SHA1 Message Date
Martin Krizek a8a318e588 Fix copy module to reset filesystem acls (#51868)
The controller's fixup_perms2 uses filesystem acls to make the temporary
file for copy readable by an unprivileged become user. On Python3, the
acls are then copied to the destination filename so we have to remove
them from there.

We can't remove them prior to the copy because we may not have
permission to read the file if the acls are not present. We can't
remove them in atomic_move() because the move function shouldn't know
anything about controller features. We may want to generalize this into
a helper function, though.

Fixes #44412

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
(cherry picked from commit d15812fabf)
7 years ago
Chris Van Heuveln 5d9bac9cfb nxos_igmp_snooping: group-timeout fails when igmp snooping disabled (#53079)
* nxos_igmp_snooping: group-timeout fails when igmp snooping disabled

group-timeout config will be rejected by the device if `ip igmp snooping` is disabled.

  * raise a failure for this condition

  * reorder the command list so that group-timeout is always last

* SA fixes

* SA fixes

* only call gt_dependency if gt

(cherry picked from commit 8c33ba3ecd)
7 years ago
Chris Van Heuveln e6baa85517 nxos_evpn_vni: exclude legacy N3k from sanity test (#53452)
The test was only skipping N3K|N35, needs to also skip N3L (legacy n3048 chassis).

(cherry picked from commit 495bd02dbf)
7 years ago
Chris Van Heuveln 2985d32e29 network.py:ActionModule:run: does not honor _handle_src_option failures (#52745)
* network.py:ActionModule:run: does not honor _handle_src_option failures

PR #50301 moved template error handling out of run() and into its
own method in `_handle_src_option`; however, after the change run()
ignores the return value so any errors are ignored.

Reproduceable with `nxos_config/tests/common/src_invalid.yaml`

Verified fix with `nxos_config/tests/common/src_*` tests.

Ref:
71113ee291 (diff-7477bf046013758366cc85b06f90709aR43)

* nxos_config/tests/common/src_basic: Updated to test with src

This test was not actually testing with `src:` as it should have.

* Revert 412d7e change to plugins/action/network.py

PR #52912 fixed this already.

* nxos_config: fix src_invalid test

(cherry picked from commit d69239c440)
7 years ago
Chris Van Heuveln 57607ffcd2 nxos_interfaces_ospf: fix passive-interface states & check_mode (#54260)
* nxos_interfaces_ospf: fix passive-interface states & check_mode

This fix addresses issues #41704 and #45343.

The crux of the problem is that `passive-interface` should have been treated as a tri-state value instead of a boolean.

The `no` form of the command disables the passive state on an interface (allows it to form adjacencies and send routing updates).  It's essentially an override for `passive-interface default` which enables passive state on all OSPF interfaces.\*
This `no` config will be present in `running-config`.

   \**See `router ospf` configuration.*

Since both enable and disable states are explicit configs, the proper way to remove either of these is with the `default` syntax.

Passive-interface config syntax:
```
  ip ospf passive-interface              # enable  (nvgens)
  no ip ospf passive-interface           # disable (nvgens)
  default ip ospf passive-interface      # default (removes config, does not nvgen)
```

Code changes:

* `passive_interface` param changed from boolean to string, restricted to `true`,`false`,`default`.

* Several passive-interface specific checks were added because the existing module logic tends to test for true or false and doesn't handle the None case.

* Fixed `check_mode`.

Sanity verified on: N9K,N7K,N3K,N6K

* Fix doc header

* Unit tests for passive-interface

* doc fix #2

* Fix indent for SA

* Remove 'default' keyword, restore bool behavior

* remove changes to sanity

(cherry picked from commit 20fb77c49b)
7 years ago
Chris Van Heuveln 1f5d412cc3 nxos_ospf_vrf: sanity.yaml test: fix timer_throttle_lsa_hold (#53561)
* The test was setting `lsa max` value to 2222 but the default `lsa hold` value is 5000.

* `hold` must be less than `max` or else the device raises a clierror, so I just added a lower non-default `hold` value to satisfy the cli.

(cherry picked from commit c1e9f594d2)
7 years ago
Chris Van Heuveln 3dbb182d41 nxos_pim_rp_address: N7K sanity test fix when removing rp w/pfx-list (#53556)
The N7K is another platform that raises an error when trying to remove
an RP w/prefix-list specified. These tests are now skipped for N7K.

(cherry picked from commit c5de2233d0)
7 years ago
Chris Van Heuveln 0684744c01 nxos_igmp_snooping: more group-timeout fixes (#53553)
* Fixed another problem where `group-timeout` was processed before `ip igmp snooping` was enabled

* `sanity` playbook:
 * N6K: `show ip igmp snooping | json` succeeds on the device but doesn't return any data in body; added a skip to the sanity playbook to keep it out of CI
 * Added a setup task to do initial cleanup on the device

(cherry picked from commit 07774b4ccf)
7 years ago
Chris Van Heuveln fbc8171a86 nxos_user: auth.yaml test: stronger test password needed (#53533)
Basic passwords are rejected by the nxos device unless `no password strength-check`
is configured. This change just makes the password meet the minimum strength checks.

(cherry picked from commit 591e0ffb69)
7 years ago
Chris Van Heuveln 8b1a934f1c nxos_pim_rp_address: update sanity test to work with legacy N3K (#53471)
Test yaml fixes for n3048:

* 3048 does not support bidir option
* 3048 cannot remove rp-address if prefix-list/route-map is present
  * yes: no ip pim rp-address x.x.x.x
  *  no: no ip pim rp-address x.x.x.x prefix-list foo
  *  no: no ip pim rp-address x.x.x.x route-map bar

This test now passes on N9k/N7k/N6k/N3k.

(cherry picked from commit ea0ef3b2e1)
7 years ago
Chris Van Heuveln ca5467b5f2 nxos_hsrp: fix 'sh_preempt': <unknown enum:> (#52858)
* nxos_hsrp: fix 'sh_preempt': <unknown enum:>

Some older nxos images fail to set this attr value. This fix checks for
unknown enum and issues a second (unstructured) call to the device to get
the data.

* add whitespace for pep8

(cherry picked from commit 5dc65d0dfc)
7 years ago
Olivier BLIN 0bb0729455 Fix 'defaults' option in the nxos_config module (#51076)
* Fix 'defaults' option in the nxos_config module

Nxos get_config is allways called with the 'all' option.
* Fix flag's calculation
* Add tests

* nxos_config: the 'backup' option take into account the value of 'defaults' option

If 'defaults' option is true, the running-config backup is done with the all
keyword.

(cherry picked from commit 87a01df6ad)
7 years ago
Matt Clay 56bb3d53f2 [stable-2.7] Reduce testing of Ubuntu versions.
Removing:

- Ubuntu 14.04 with Python 2.7
- Ubuntu 16.04 with Python 3.5

Keeping:

- Ubuntu 16.04 with Python 2.7
- Ubuntu 18.04 with Python 3.6.
(cherry picked from commit c8f2becb7a)

Co-authored-by: Matt Clay <matt@mystile.com>
7 years ago
Łukasz Szczęsny 110b60fdb8 Backport/2.7/54105 pamd: fix idempotence issue when removing rules (#54105) 7 years ago
Evan Kaufman 384781d0ea [stable-2.7] replace - fixed combined before and after usage (#31452)
When using before and after in combination, the opposite behavior was induced. This PR makes the the replacement happen between the specified patterns as intended.

* Added integration tests
* Add changelog, porting guide entry, and minor doc fixes.
(cherry picked from commit cf69ec5db0)

Co-authored-by: Evan Kaufman <evan.kaufman@gmail.com>
7 years ago
Jordan Borean 748fc4612c Get tests working on older Ansible versions 7 years ago
Jordan Borean 8a05e37298 win_acl - fix support for registry paths (#54427)
(cherry picked from commit 10f006036c)
7 years ago
Anton Roman 68c5555cc5 [stable-2.7] fix issue in random_mac filter with short prefixes (#53928)
(cherry picked from commit 1e3428a766)

Co-authored-by: Anton Roman <antonroman@gmail.com>
7 years ago
Felix Fontein 13ab3a4f3d [2.7] openssl_certificate: fix state=absent (#54348)
* openssl_certificate: fix state=absent (#54298)

* Fix state=absent.

* Add changelog.

(cherry picked from commit 534c833bb3)

* openssl_certificate: update for #54298 (state=absent fix) (#54353)

* Update for #54298: Certificate is abstract, so instantiating doesn't work.

* Add test for removal.

(cherry picked from commit 5bb5c9d295)
7 years ago
Felix Fontein 59000d01b6 openssl_*: proper mode support (#54085)
* Add write helper.

* Adjust modules (except openssl_certificate).

* Adding tests for mode (with openssl_privatekey).

* Add openssl_certificate support.

* Never, ever remove the output file before actually trying to generate new content for it.

Removal is only allowed when state=absent, or when the object has been regenerated and the result needs to be written to that place.

* Add changelog.

* Extend test.

(cherry picked from commit d7a273273a)
7 years ago
Kevin Breit 0f4c6793f9 meraki_admin - Add documentation for tags and network access (#51415)
* Add documentation for tags and network access
* Documentation changes from dag and sam
* Change examples to include proper YAML and not dict
* Update lib/ansible/modules/network/meraki/meraki_admin.py

Co-Authored-By: kbreit <kevin.breit@kevinbreit.net>
(cherry picked from commit bcbcd209f4)
7 years ago
René Moser ae5e6b5aef [2.7] include_tasks: fix traceback if no file specified (#54044) (#54164)
* include_tasks: fix traceback if no file specified (#54044)



(cherry picked from commit c5609c51bf)

* fix typo
7 years ago
Matt Clay e55cd56bd9 [stable-2.7] Disable failing azure_rm_managed_disk test.
(cherry picked from commit 1a286a95e5)

Co-authored-by: Matt Clay <matt@mystile.com>
7 years ago
Matt Clay dedd76899a [stable-2.7] Pin the ansible-runner version in tests.
The tests need to be updated to support newer ansible-runner releases.
(cherry picked from commit 777b726e4f)

Co-authored-by: Matt Clay <matt@mystile.com>
7 years ago
Matt Clay a4dc6b78eb [stable-2.7] Add constraint for deepdiff.
(cherry picked from commit 9a135fbcef)

Co-authored-by: Matt Clay <matt@mystile.com>
7 years ago
Lars Kellogg-Stedman e8dcf0f088 fix constructed functionality in openstack inventory plugin
This is a backport of #48833 for stable-2.7.

The compose, groups, and keyed_groups functionality of the openstack
inventory plugin was broken:

- the plugin was not passing the correct variables to the
  Constructable methods for compose and groups
- the plugin was simply never calling the appropriate method for
  implementing keyed_groups

This commit fixes both issues.

(cherry picked from commit 5a9c767662)
7 years ago
Toshio Kuratomi 8856a01eab Revert "Add constraint for deepdiff."
This reverts commit 05772233ad.

I mistakenly merged this before it hit devel.  The devel change was
modified to change this in a different place.  Reverting so that we can
make that fix properly.
7 years ago
Matt Clay 05772233ad Add constraint for deepdiff.
This is a backport of #54036.

(cherry picked from commit 12612a4e748e0b1f1bfe28d67fc8eb772350dd5f)
7 years ago
Jordan Borean a11a56f27d win_psexec - support paths with a space (#54009)
(cherry picked from commit 7ab77f6c8a)
7 years ago
Jordan Borean 22c540a7c5 Use shared remote_tmp_dir to simplfy tests (#53721)
(cherry picked from commit b044bb431e)
7 years ago
Jordan Borean 16be92f480 win_copy - fix glob like paths (#54006)
(cherry picked from commit 2f1bc34589)
7 years ago
Jordan Borean 0668265bdb win_certificate_store - fix glob like paths (#54007)
(cherry picked from commit eb18df1a0f)
7 years ago
Jordan Borean ee3a7033fd win_find - fix glob like paths (#54005)
(cherry picked from commit 8a4079ddbf)
7 years ago
Jordan Borean c8914a1678 windows - Fix module utils with glob paths (#53835)
* windows - Fix module utils with glob paths

* fix link util tests when using DOS 8.3 paths

(cherry picked from commit 980ca564ce)
7 years ago
Jordan Borean 19385f1ee1 win_slurp - fix glob like paths (#53831)
(cherry picked from commit d00418c924)
7 years ago
Jordan Borean edfc44ec51 win_owner - fix glob like paths (#53830)
* win_owner - fix glob like paths

* Fix issues on older PS versions

(cherry picked from commit d063cefb64)
7 years ago
Jordan Borean f9e6a89993 win_acl_inheritance - fix glob like paths (#53829)
(cherry picked from commit 3cfa71bff0)
7 years ago
Jordan Borean 73bf34ed41 win_acl - fix glob file paths (#53828)
(cherry picked from commit aba6f5f50d)
7 years ago
Jordan Borean b0c6499b60 win_tempfile - return absolute path on created temp file (#53827)
* win_tempfile - return absolute path on created temp file

* Fix tests for CI

(cherry picked from commit 4f9de45785)

8
7 years ago
Felix Fontein 1cd21e2f50 Only use ports in the range 9001-9060.
(cherry picked from commit 77f7e5a986)
7 years ago
Sam Doran 833b29b39c [stable-2.7] Correctly count processors on ARM systems. (#52884) (#53798)
* [stable-2.7] Correctly count processors on ARM systems. (#52884)

- Add unit tests for Linux CPU info
- Add cpuinfo output from several systems for unit tests

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 55306906cf)

Co-authored-by: Sam Doran <sdoran@redhat.com>

* Add changelog
7 years ago
Toshio Kuratomi aa859597b1 Make the timeout decorator raise an exception out of the function's scope (#49921)
* Revert "allow caller to deal with timeout (#49449)"

This reverts commit 63279823a7.

Flawed on many levels

* Adds poor API to a public function
* Papers over the fact that the public function is doing something bad
  by catching exceptions it cannot handle in the first place
* Papers over the real cause of the issue which is a bug in the timeout
  decorator
* Doesn't reraise properly
* Catches the wrong exception

Fixes #49824
Fixes #49817

* Make the timeout decorator properly raise an exception outside of the function's scope

signal handlers which raise exceptions will never work well because the
exception can be raised anywhere in the called code.  This leads to
exception race conditions where the exceptions could end up being
hanlded by unintended pieces of the called code.

The timeout decorator was using just that idiom.  It was especially bad
because the decorator syntactically occurs outside of the called code
but because of the signal handler, the exception was being raised inside
of the called code.

This change uses a thread instead of a signal to manage the timeout in
parallel to the execution of the decorated function.  Since raising of
the exception happens inside of the decorator, now, instead of inside of
a signal handler, the timeout exception is raised from outside of the
called code as expected which makes reasoning about where exceptions are
to be expected intuitive again.

Fixes #43884

* Add a common case test.

Adding an integration test driven from our unittests.  Most of the time
we'll timeout in run_command which is running things in a subprocess.
Create a test for that specific case in case anything funky comes up
between threading and execve.

* Don't use OSError-based TimeoutError as a base class

Unlike most standard exceptions, OSError has a specific parameter list
with specific meanings.  Instead follow the example of other stdlib
functions, concurrent.futures and multiprocessing and define a separate
TimeoutException.

* Add comment and docstring to point out that this is not hte Python3 TimeoutError

(cherry picked from commit bd072fe83a)
7 years ago
Jordan Borean 799b51ba0b Handle binary files when scanning metadata in python 3 (#53773) (#53784)
(cherry picked from commit c2466c545b)
7 years ago
Jordan Borean 4840952f3d win_reboot - Fix rc validation when using psrp and add extra docs - 2.7 (#53718)
* win_reboot - Fix rc validation when using psrp and add extra docs (#53711)

* win_reboot - Fix rc validation when using psrp and add extra docs

* Revert boot time command and fix docs

(cherry picked from commit 3d23e47c53)

* win_reboot - fix broken tests after recent commit (#53722)


(cherry picked from commit d9795bad98)
7 years ago
Jordan Borean f7a1911758 win_psexec: make the tests more stable (#53716) (#53720)
(cherry picked from commit 33939f7fe8)
7 years ago
Jordan Borean e0db8e6efb win_chocolatey_source - don't rely on cmd to get source info (#53837)
(cherry picked from commit e0c0e9a10b)
7 years ago
Jordan Borean 0a03d0ee0e win_chocolatey - Fix incompatibilities with latest Chocolatey release (#53841)
(cherry picked from commit cac3c6efcf)
7 years ago
Sam Doran 091c7c46d3 [stable-2.7] Ensure Clear Linux parsing is actually parsing a Clear Linux host and all others fall back to NA (#53298) (#53541)
* [stable-2.7] Ensure Clear Linux parsing is actually parsing a Clear Linux host and all others fall back to NA (#53298)

Fixes a bug where parse_distribution_file_ClearLinux() was called on CoreOS (and probably many other distros) and it returned True since it successfully parses the distribution file. Since this file exists on many Linux distributions and they are a very similar format, add an additional check to make sure it is Clear Linux.

Change the order in which distribution files are processed so NA is last. This prevents a match on CoreOS hosts since they also have /etc/os-release and the called matching function for NA is very general and will match CoreOS.

* Add changelog

* Add unit tests

Only add tests for Clear Linux parsing since that was the cause of this issue.
(cherry picked from commit 1d91e03119)

Co-authored-by: Sam Doran <sdoran@redhat.com>

* Use different import for 2.7
7 years ago
Felix Fontein ca63a2a968 docker_container: show warnings, fix/improve tests (#53440)
* Output warnings from docker daemon on container create and update.

* Accept warning for blkio_weight instead of idempotency.

* Value quoting.

* Avoid loop variable conflict.

* Add changelog.

* Make one test case faster.

* Add 'Docker warning: ' prefix.

* Add a generalized warning reporting function.

(cherry picked from commit 3117900b1e)
7 years ago
Matt Martz 07e4ae0806 [stable-2.7] Allow dict2items to work with hostvars (#53538).
(cherry picked from commit 414440e323)

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