Commit graph

11280 commits

Author SHA1 Message Date
Peter Sprygada
7d374689ad roll up of more fixes for ios_config multiline banners (#5524)
* now works for any banner in the config
* provides a configurable delimiter

link #5318
2016-12-08 11:25:27 -05:00
bdowling
ddd13bf53a ios_mods - added stdout to exception output. Removed to_lines() (#5428)
stdout lines are now available when certain exceptions occur
(Ref ansible/ansible#18241)

Also noticed that to_lines was essentially handled in
lib/ansible/plugins/action/__init__.py -- only difference was
it didn't handle a list.  to_lines() could be removed across
network modules now, but this commit is only for ios_command.

Also adds disconnect() to ios_command that was added
to ios_config in #5247
2016-12-08 11:25:26 -05:00
Michael Scherer
6806965bda Add no_log on password argument
Also do not use a wildcard import, for later refactoring
2016-12-08 11:25:26 -05:00
mickael-ange
23eba8fd97 Added aws and ec2 extends_documentation_fragment to cloud/amazon/rds module. (#3951) 2016-12-08 11:25:26 -05:00
Abel Boldú
6077028560 Add uplink provider type (#5282) 2016-12-08 11:25:26 -05:00
Michael Herold
e5cc4a45d3 Removes outdated "requirement" and outdated "note" (#5332)
- 7f59773460d79b3dae34c375ba68caea1bfc09a8 no longer uses `ConfigParser`
- 1d4c0abe2902d91b2895452feedcf72bf3dd9e20 removed the `import` statement
2016-12-08 11:25:26 -05:00
Eduard Iskandarov
8ec5757789 Fixes: #4516 add placement_group argument for ec2_asg module 2016-12-08 11:25:26 -05:00
René Moser
447842c524 apt: fix changed when cache updated but not pkg (#5487) 2016-12-08 11:25:26 -05:00
Matt Martz
08ce50c2b3 If fetch_url failed to download the URL fail early with a proper error message. Fixes #5474 (#5476) 2016-12-08 11:25:26 -05:00
Michael Scherer
352d280058 Make service work when the service is not present in rc.conf
After installing a package from the ports collection on a
fresh FreeBSD 11.0, Ansible was unable to enable it, failing with
"unable to get current rcvar value". Debugging showed that sysrc
didn't see the variable from /usr/local/etc/rc.d/myservice, but
adding the value was working.

So we will just fallback to the default value if we can't find it.
2016-12-08 11:25:26 -05:00
Tom Melendez
b85bcb71c3 Support for named_ports in Managed Instance Groups. A libcloud guard has been implemented, as this feature will only be available in libcloud >= 1.3, or by using trunk. (#5167) 2016-12-08 11:25:26 -05:00
Jesse Keating
0ec56bb563 Add update_password argument to os_user (#5219)
There is a desire to not have this module always result in a change if a
password argument is supplied. The OpenStack API does not return a
password back when we get a user, so we've been assuming that if a
password argument was supplied, we should attempt to change the password
(even if nothing else is changing), and that results in a "changed"
state. Now we will only send along a password change attempt if the user
wants one (the default to match history).

Fixes #5217
2016-12-08 11:25:26 -05:00
Peter Sprygada
f8bcf55289 fixes problem when trying load banner into ios device (#5494)
this fix will now handle loading a multiline banner on ios based
devices without hanging.  It separates the processing of banners
from the remainder of the config

link #5318
2016-12-08 11:25:26 -05:00
jctanner
1ccd4ae8b0 Re-add version_added to include_vars (#5493) 2016-12-08 11:25:26 -05:00
Peter Sprygada
8b70d17f61 ios_facts module will no longer error on missing command (#5491)
The module will error if it tries to use a cli command that is not available
on a given platform.  This fix will address that problem.  If the cli
command is not available, then the command is silently discarded and the
facts that the command output is based on is not returned.  Any failed
commands are provided in the module return under the failed_commands
key.  This fix also updates the Examples docstring to make it consistent
with other ios_* modules

fixes #5444
fixes #5372
2016-12-08 11:25:26 -05:00
Matt Robinson
df70a58d72 apt_repository: Relax PPA checks and add basename (#5432)
Allow installation of PPA repositories on non-Ubuntu Debian derived
distribution targets (e.g. neon, Mint, Debian itself) by removing the
specific check for UbuntuDistribution before allowing PPA: format
sources. This fixes the addition of PPA repositories under KDE neon (as
the codenames match the base Ubuntu distribution).

To make the functionality also useful under Mint and Debian which have
different codenames to their Ubuntu upstream / downstream releases, add
a 'codename' option to override the default used in the PPA source
entry.
2016-12-08 11:25:26 -05:00
Matt Clay
be48ea4389 Simplify compileall checks. Remove py3 skip list. 2016-12-08 11:25:26 -05:00
Chris Becker
fabb63c43f Add more specific language to module description and examples
* Add 'on the remote server' to `file` parameter description
* Add example showing how to use the `file` parameter, with specific
  language about the file's location being on the 'remote server'
2016-12-08 11:25:25 -05:00
zuiurs
eeecc3adcc fix the behavior that the dest is directory
This fixes the behavior that the dest is directory,
when we set the "force: no" argument.
To be join the dest and the src's basename,
before checking the "force" argument.
2016-12-08 11:25:25 -05:00
Ricardo Carrillo Cruz
33d7745794 Add rebuild support to os_server_actions (#4289)
Fixes #2714
2016-12-08 11:25:25 -05:00
Allen Sanabria
c9960c00dc Updated documentation for PR http://github.com/ansible/ansible/pull/17207 2016-12-08 11:25:25 -05:00
Brian Coca
00fbd98f97 dont join when group is none 2016-12-08 11:25:25 -05:00
John R Barker
2a9e5687eb Correct typos in docs strings (#5233) 2016-12-08 11:25:25 -05:00
Jamie Dyer
4ac3b0c5d5 Make the RDS endpoint available if AWS returns it. Fixes #3865 (#4143) 2016-12-08 11:25:25 -05:00
jctanner
60dd2f1fff apt: update cache until corrupt package lists are fixed (#5448)
* apt: If the cache object fails to lost due to a corrupt file, try to update the cache until it is fixed.
* Append -q to the update parameters
* Remove unused variable
* Use a string that doesn't rely on internationalization
* Use py24 exception style
* Use get_exception

Fixes #2951
2016-12-08 11:25:25 -05:00
Brian Coca
ba6bc5382d corrected version added 2016-12-08 11:25:25 -05:00
Brian Coca
20f2fe4e91 added logout to docker_login
also cleaned up 'actions' and minor doc issues
2016-12-08 11:25:25 -05:00
Brian Coca
9e931f89fb added ability to control sleep between attempts
the default was 1s but it makes sense to make this configurable
2016-12-08 11:25:25 -05:00
Brian Coca
97b23c0fb7 docit 2016-12-08 11:25:25 -05:00
Brian Coca
52332f5b78 allow groups to be passed as YAML list as well
keeps backwards copat with 'comma delimited string'
fixes #5163
2016-12-08 11:25:25 -05:00
Evan Kaufman
5d3e64b0d2 Identify existing unmanaged jobs by exact match, when no header comment is found
* updated `find_job` method to find by exact match of job, when no matching header comment is found
  * note this fallback injects a header comment for later calls to `update_job` or `remove_job`
* abstracted header comment building to `do_comment` method

Fixes #3256
2016-12-08 11:25:25 -05:00
Brian Coca
47ffb6d542 minor updates to include docs 2016-12-08 11:25:25 -05:00
Brian Coca
d36bea766d make sure all svcadm operations are syncronous
fixes #5296
2016-12-08 11:25:25 -05:00
Toshio Kuratomi
0d74ae3368 Need to locate a pip inside a venv when venv is specified
Alternative to #5359

Fixes #5347
2016-12-08 11:25:24 -05:00
Matt Clay
24615e10e3 Removed tests migrated to ansible/ansible repo. (#5452) 2016-12-08 11:25:24 -05:00
Matt Davis
2c216cdf35 fix JSON junk in win_file state=directory case (#5427) 2016-12-08 11:25:24 -05:00
Charles Paul
f6676f4957 add id: back to documentation 2016-12-08 11:25:24 -05:00
bencomp
d25ba6a30a Make find return sample a YAML dict
In the description of the find module return value, the sample dict
has its key=value strings converted to key=value: None in the
web documentation. This commit updates the sample output to a 'real'
dict.

Minor additional edit in the description: "return list *of* files".
2016-12-08 11:25:24 -05:00
Matt Davis
8e97539e20 fix win_shell/win_command deadlock on large interleaved stdout/stderr (#5384)
fixes #5229
2016-12-08 11:25:24 -05:00
Fahri Cihan Demirci
1ecb63f0e0 Fix String Type for Python 3 Branch Comparison
* Use the `to_native` conversion method to convert a command output to the
  appropriate form when looking for branch names in the command output,
  therefore avoiding a `TypeError` in Python 3.
2016-12-08 11:25:24 -05:00
Hiroaki Nakamura
c2d37f1db9 hostname: add support for alpine linux (#4837)
* Add update_current_and_permanent_hostname to the hostname module

* Add support for Alpine Linux to the hostname module
2016-12-08 11:25:24 -05:00
Evan Kaufman
42079bcc59 Exposed backup file path, simplified result args (#5364)
Fixes #245
2016-12-08 11:25:24 -05:00
Toshio Kuratomi
38b3c43c68 Fix uri for change in case in response
In python3, response fields are title cased whereas in python2 they were
not.  We return these fields to the module's caller so we need to
normalize all of them to be lower case.

This reverts the lowercase check from 454f741ef5b56cccd123e12d7b2e6fe31d47c755
as that one was only targetted as a single field.
2016-12-08 11:25:24 -05:00
Matt Davis
dfc2a29bdb fix win async tempdir deletion failure 2016-12-08 11:25:24 -05:00
Matt Davis
73f77e2af6 switch win async to use Win32 CreateProcess
should fix flaky async startup behavior where watchdog/module exec starts and immediately dies
2016-12-08 11:25:24 -05:00
Toshio Kuratomi
bd9e790cfe First set of fixes for uri module to work with py3.
This fix handles changes in the response headers (no longer all
lowercased) and switches from unicode() to to_text().
2016-12-08 11:25:24 -05:00
Jonathan Mainguy
51313e6da8 update maintainer 2016-12-08 11:25:24 -05:00
Timothy Appnel
5a17277bd3 clarifies synchronize module on use of --delayed-updates 2016-12-08 11:25:24 -05:00
Evan Kaufman
f8dad7130d Record existing cron file as string property, rather than only recording termination
This seems less hackish, and feels more proper for diff generation
2016-12-08 11:25:24 -05:00
Evan Kaufman
f64990df02 Rendering of crontab should reflect actual newline termination, in diff mode 2016-12-08 11:25:24 -05:00
Evan Kaufman
b416015634 Ensure trailing newline is written to cron file
Records whether existing cron file (or CRONCMD output) has a terminating newline, and ensures a trailing newline is written as necessary EVEN IF NO CHANGE WAS MADE to the target env/job

Fixes #2316
2016-12-08 11:25:23 -05:00
Evgenii Terechkov
da71acf1bf Replace dangerous shell calls with module.run_command 2016-12-08 11:25:23 -05:00
Evgenii Terechkov
8fd4785062 Ensure that we use shell
to run apt-get -y install ... >/dev/null

this commit must fix #2839
2016-12-08 11:25:23 -05:00
Rowan Wookey
914e205eb3 Added work around for Ubuntu Xenial calling php7_module php7.0 2016-12-08 11:25:23 -05:00
Luca Berruti
2bbbf58156 ini_file: return more infos on changes. 2016-12-08 11:25:23 -05:00
Luca Berruti
6d8b140f46 ini_file: diff support. 2016-12-08 11:25:23 -05:00
Luca Berruti
73401182c1 ini_file: add create= option. 2016-12-08 11:25:23 -05:00
Luca Berruti
1a22dde1ac ini_file: fixes #1788, fails --check when file doesn't exist. 2016-12-08 11:25:23 -05:00
Brian Coca
fccaf883da refactor stat
make format function 'format only'
added platform dependant info, when it is available
avoid rechecking same info
added comments to each info gathering section

(cherry picked from commit a79acf73d7eb79b76d808ff8a1d6c505dfd9ec82)
2016-12-08 11:25:23 -05:00
Toshio Kuratomi
e2fce828f6 Order of return values was reversed 2016-12-08 11:25:23 -05:00
Toshio Kuratomi
9aac87e08c Fix builddep when a source package exists without a binary package
builddep only requires a source package to be in the repos but our code
was checking for a binary package before running buiddep.  Reversing the
order makes it work correctly.

Fixes #4519
2016-12-08 11:25:23 -05:00
Toshio Kuratomi
b8279e7447 Only change to short IDs for delete (#5353)
* Only change to short IDs for delete

If the user specifies long IDs, use them for all commands except for
deleting a key.  Need to use short IDs there because of an upstream
apt_key bug.  Fixed in apt_key 1.10 (fix is present in Ubuntu 16.04 but
not Ubuntu 14.0 or some Debians).

Fixes #5237

* Check that apt-key really erased the key

When erasing a key, apt-key does not understand how to process subkeys.
This update explicitly checks that the key_id is no longer present and
throws an error if it is.  It also hints at subkeys being a possible
problem in the error message and the documentation.

Fixes #5119

* Fix apt_key check mode with long ids

apt-key can be given a key id longer than 16 chars to more accurately
define what key to download.  However, we can use a maximum of 16
chars to verify whether a key is installed or not.  So we need to use
different lengths for the id depending on what we're doing with it.

Fixes #2622

Also:

* Some style cleanups
* Use get_bin_path to find the path to apt-key and then use that when
  invoking apt-key
* Return a nice user error message if the key was not found on the
  keyserver
* Make file and keyring parameters type='path' so envars and tilde are
  expanded
2016-12-08 11:25:23 -05:00
Charles Zaffery
4c830400f8 Remove line when 'state: absent' with 'option:' instead of commenting 2016-12-08 11:25:23 -05:00
Adrian Likins
29978344ea Make authorized_key preserve key order (#5339)
* Make authorized_key preserve key order

Track the ordering of keys in the original file (rank)
and try to preserve it when writing out updates.

Fixes #4780
2016-12-08 11:25:23 -05:00
Toshio Kuratomi
e7fcfa981e Remove the yaml dep from the git module 2016-12-08 11:25:23 -05:00
Toshio Kuratomi
fad760dc7a Fix git for py3
Comparing to the output of run_command() needs to use native strings

Also fix imports: We were relying on them coming from the import of
basic.  A few (like yaml) weren't imported at all.
2016-12-08 11:25:23 -05:00
Robin Roth
5446e6639f Fix git failure for use of depth with version (#5135)
* Fixes #5108
* before module fails with "fatal: A branch named 'STABLE' already
  exists." when depth is used on a fresh clone with a non-HEAD branch
2016-12-08 11:25:22 -05:00
René Moser
3dda38a90f doc: add_host: add example without deprecated vars (#5323)
ansible_ssh_* are deprecated since 2.0
2016-12-08 11:25:22 -05:00
John Baublitz
352b620665 GCE: Add support for 'number' parameter for manually provisioned Google Compute clusters (#4276)
* Add option for number parameter to generate manually provisioned clusters from a base name

* Refactor code to work with starting and stopped when number is specified

* Update docs

* Fix documentation error breaking Travis

* Fixes for async gce operations

* Fix documentation

* base_name from parameter to alias for name and fixes for renaming variables

* Fix breaking change on gce.py

* Fix bugs with name parameter

* Fix comments for Github build checks

* Add logic to set changed appropriately for cluster provisioning
2016-12-08 11:25:22 -05:00
Toshio Kuratomi
ff6bac126e On Ubuntu16, virtualenv always tries to use python2 even when python2 is not installed.
Workaround that by mimicing the upstream virtualenv behaviour in code
(use the python version that was used to invoke virtualenv/the ansible
module)
2016-12-08 11:25:22 -05:00
Toshio Kuratomi
9bbe71154c Fix authorized_key module to preserve the order of options
The last fix allowing multiple definitions of the same option key (for
permitopen support) introduced a set() which removed the guaranteed
ordering of the options.

This change restores ordering.  The change is larger than simply
removing the set because we do need to handle the non-dict semantics
around keys not being unique in the data structure.  The new code make
use of __setitem__() and items() to do its work.  Trying to use
getitem() or keys() should be looked upon with suspicion as neither of
those follow dictionary semantics and it is quite possible the coder
doesn't realize this.  The next time we need to touch or enhance the
keydict code it should probably be rewritten to not pretend to extend
the dictionary interface.
2016-12-08 11:25:22 -05:00
Matthew Jones
107a473dd8 Add separate checkout and update parameters (#5306)
* Add separate checkout and update parameters

This brings the svn module in line with the git module for controlling
individual update and checkout functionality based on whether the
directory exists or not.

It also allows specifying `no` for both to pull the remote revision
without performing a checkout

* Update version-added for new parameters
2016-12-08 11:25:22 -05:00
Matthew Jones
97bf5b84e3 Add separate clone parameter (#5307)
* Add separate clone parameter

This brings the hg module in line with the git module for controlling
individual update and checkout functionality based on whether the
directory exists or not.

It also allows specifying `no` for both to pull the remote revision
without performing a checkout

* Reflect the right added ver for the hg clone arg
2016-12-08 11:25:22 -05:00
Ryan S. Brown
422ec08649 Remove unused YAML import from cloudformation 2016-12-08 11:25:22 -05:00
Ryan Brown
dfd57942f9 Support native YAML in CloudFormation module (#5327)
Support the new native YAML format in the CloudFormation API. This means
the existing `template_format` parameter is deprecated. This commit also
adds a warning for the deprecated parameter.
2016-12-08 11:25:22 -05:00
John R Barker
96f9992884 Typo in cleanup (#5322) 2016-12-08 11:25:22 -05:00
Filip Hubík
9a2d8337f2 Fix incorrect line wrapping in output from yum check-updates
https://github.com/ansible/ansible-modules-core/issues/4318#issuecomment-251416661
2016-12-08 11:25:22 -05:00
John R Barker
7a3d93b9f6 Run validate-modules from ansible/ansible@devel (#5257)
* Run validate-modules from devel

Use a clean dir for checkout

typo

Correct path

validate-modules requires mock and voluptuous==0.8.8

typo

Ensure script is running

Remove testing debug

Install Ansible only once

Install ansible and validate_modules requirements

Now that we no longer pip install Ansible we need to manually install
it's dependencies

Debug

Dependencies are listed in ansible/ansible

debug

submodules

typo

typo

working

* Matt's feedback

* Use mktemp to checkout and delete directory after running

* Single quotes
2016-12-08 11:25:22 -05:00
Daniel Andrei Minca
ca36d232d5 fix unclear documentation for docker container
the docker container module's `exposed_ports` was slightly ambigous.

Use the official Docker documentation to define what an `exposed port`
is.

Resolves: ansible/ansible-modules-core#5303
Signed-off-by: Daniel Andrei Minca <mandrei17@gmail.com>
2016-12-08 11:25:22 -05:00
Michael Scherer
ed590257a3 Fix code for python 3
Since dict.keys return a dictkeys under python 3, we hav to cast it
to a list to avoid traceback:

    Traceback (most recent call last):
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 496, in <module>
        main()
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 490, in main
        results = enforce_state(module, module.params)
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 410, in enforce_state
        parsed_new_key = parsekey(module, new_key)
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 308, in parsekey
        options = parseoptions(module, options)
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 259, in parseoptions
        options_dict[key] = value
      File "/tmp/ansible_sh16ejbd/ansible_module_authorized_key.py", line 164, in __setitem__
        self.itemlist.append(key)
    AttributeError: 'dict_keys' object has no attribute 'append'

Yet another fix for https://github.com/ansible/ansible/pull/18053
2016-12-08 11:25:22 -05:00
Michael Scherer
e6b3c0d88a cleanup import for htpassword module
In order to ease future refactoring, we should avoid importing
'*' from ansible.module_utils.basic.
2016-12-08 11:25:22 -05:00
Michael Scherer
2c078dcb97 Cleanup import for authorized_key
Do not import '*', to ease future refactoring and cleanup of
module_utils.
2016-12-08 11:25:21 -05:00
Ryan S. Brown
08b119df33 Fix cloudformation module return parameter documentation
Always return stack outputs, even if only an empty dict
2016-12-08 11:25:21 -05:00
tedder
d01bfa6a72 Cloudformation module fix unintentional changed=true
- Don't rewrite the result; this is causing 'changed=true' on update
- Move AWSRetry import to top since it's a decorator, and is needed at definition-time
2016-12-08 11:25:21 -05:00
tedder
763399830d Boto3 rewrite of cloudformation module
- removed star-imports, which wasn't possible in Ansible 1.x
- boto doesn't have any of the modern features (most notably, changesets), so this rewrite goes all-in on boto3.
- tags are updateable, at least in boto3. Fix documentation.
- staying with "ansible yaml to json conversion" because I'm trying to keep this scoped properly. The next PR will have AWS-native yaml support.
- documented the output. Tried to leave it backwards-compatible but the changes to 'events' might break someone's flow. However, the existing data wasn't terribly useful so I don't assume it will hurt.
- split up the code into functions. This should make unit testing possible.
- added forward-facing code: 'six' for iterating, started using AWSRetry, common tag conversion.
- add todo list
- Pass `exception` parameter to fail_json
2016-12-08 11:25:21 -05:00
Michael Scherer
3f43879db8 Cleanup imports of xattr
Since the module use re and os, we need to import them.
And rather than importing '*', we should limit to the
only object/function needed, so we can more easily refactor
later.
2016-12-08 11:25:21 -05:00
Dag Wieers
858d02ac4c Ensure yum failures in with-loop result into a failed task
The implementation is fairly simple, we force the rc= parameter to not be zero so that the check in _executor/task_result.py_ correctly determines that it failed. Without this change Ansible would report the task to be ok (despite failed=True and msg=Some_error_message) although Ansible stops and the summary output reports a failed task.

This fixes #4214, #4384 and also relates to ansible/ansible#12070, ansible/ansible#16006, ansible/ansible##16597, ansible/ansible#17208 and ansible/ansible#17252
2016-12-08 11:25:21 -05:00
Jamie Evans
606ac78a20 verify both tags and commits (#2654)
This fixes a bug where the module fails to verify tags.  I added a conditional statement in `verify_commit_sign()` that checks if `version` argument is a tag, if so, use `git verify-tag` instead.
2016-12-08 11:25:21 -05:00
Brian Coca
720574ef77 added allow_duplicates to include_role docs 2016-12-08 11:25:21 -05:00
Michael Scherer
9ecd220683 Make the code run on python 3
Test suite block on:

    Traceback (most recent call last):
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 496, in <module>
        main()
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 490, in main
        results = enforce_state(module, module.params)
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 410, in enforce_state
        parsed_new_key = parsekey(module, new_key)
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 308, in parsekey
        options = parseoptions(module, options)
      File "/tmp/ansible_fhootp1e/ansible_module_authorized_key.py", line 253, in parseoptions
        if options_dict.has_key(key):
    AttributeError: 'keydict' object has no attribute 'has_key'

With keydict being a subclass of dict.
2016-12-08 11:25:21 -05:00
John R Barker
8fe269f836 Group "apt-get update" and "apt-get install" (#5283)
* Group "apt-get update" and "apt-get install"

Should speed up sanity

* Run apt-get install in quiet mode
2016-12-08 11:25:21 -05:00
Michael Scherer
9e3058c323 Make pip module use pip3 on python 3 2016-12-08 11:25:21 -05:00
Michael Scherer
f9478c7618 Make subversion module work on python 3
In python 3, filter return a iterator and so result in this traceback:

    Traceback (most recent call last):
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 264, in <module>
        main()
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 243, in main
        local_mods = svn.has_local_mods()
      File \"/tmp/ansible_kzu72kz5/ansible_module_subversion.py\", line 178, in has_local_mods
        return len(filter(regex.match, lines)) > 0
    TypeError: object of type 'filter' has no len()
2016-12-08 11:25:21 -05:00
Michael Scherer
c9da5e98a9 Remove the wide try/expect clause
This doesn't catch anything precise, and none of the methods should
throw a expection for anything. This also hide python 3 errors.
2016-12-08 11:25:21 -05:00
Ryan S. Brown
adc56e52d8 Fix fail_json invocation in cloudformation module 2016-12-08 11:25:21 -05:00
Steven de Vries
054fe53b43 Move job parameter to meet expected requirements (#5151)
closes #5273
2016-12-08 11:25:21 -05:00
Ricardo Carrillo Cruz
10d662ea1b Refactor domain/project handling on os_user module (#5212)
The keys returned by user objects for default domain and
default project are respectively default_domain_id and
default_project_id.
We need to gather those IDs in case the user passed names, so we
can then compare with the user object on the needs_update helper
function.
2016-12-08 11:25:21 -05:00
Alfredo Solano
88d7f0c692 apt: doc: use yaml syntax in examples (#5070) 2016-12-08 11:25:20 -05:00
Michael Scherer
a567942405 Fix unarchive on python3
Since handler.files_in_archive is a list of files coming from
various executables output, that's a bytes list, and we use it
with dest who is a str. So we need to convert that to native
type.
2016-12-08 11:25:20 -05:00
Michael Scherer
7a0ef069fa Convert name to bytes to compare it to bools
On python 3, bools is a list of bytes:

    >>> rc,bools = selinux.security_get_boolean_names()
    >>> 'virt_use_nfs' in bools
    False
    >>> bools
    [b'abrt_anon_write', b'abrt_handle_event', ...]
2016-12-08 11:25:20 -05:00
Davis Phillips
37008e1da1 vsphere_guest: Set extra config and powerstate after template deploy (#4266)
* Fixes #1381
* Fixes #2971
* Fixes #3056
2016-12-08 11:25:20 -05:00
Michael Scherer
5e1dfa9485 Do not leak the password in log (#5189) 2016-12-08 11:25:20 -05:00
Michael Scherer
18b0920311 Do not leak the vtp_password in log (#5199) 2016-12-08 11:25:20 -05:00
Michael Scherer
3b2b33bf29 Do not leak the subversion password in log (#5200) 2016-12-08 11:25:20 -05:00
Michael Scherer
996ccca82f Do not leak various passwords in log (#5202) 2016-12-08 11:25:20 -05:00
Michael Scherer
8b7898e4ab Do not leak the password in log (#5203) 2016-12-08 11:25:20 -05:00
Michael Scherer
180977a727 Do not leak api_key or root password in log (#5201) 2016-12-08 11:25:20 -05:00
Peter Sprygada
2127459794 fixes bug introduced in 3670215 in junos_config (#5251)
The previous fix created a new bug that this PR resolves
2016-12-08 11:25:20 -05:00
John R Barker
25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
Tom Melendez
a4077537e0 Added libcloud guard for Managed Instance Groups. (#4911) 2016-12-08 11:25:20 -05:00
Tom Melendez
72635db94d GCE module examples update. Correct syntax, demonstrate other options and creation of multiple instances. (#5192) 2016-12-08 11:25:20 -05:00
Peter Sprygada
810040be05 fixes issue with collecting all filesystems in ios (#5248)
earlier versions of ios do not provide the all-filesystems argument.  This
fix will now only report on the flash filesystem for ios_facts

fixes #4712
2016-12-08 11:25:19 -05:00
Peter Sprygada
f106ff9e77 ios_config will now explicitly disconnect from remote host (#5247)
The ios_config module will now explicitly send a disconnect to the
remote host at the conclusion of the module run

ref #5181
2016-12-08 11:25:19 -05:00
amitsi
522ed054f7 Update pn_vlan (#5223)
removed name from an older file which got left out
2016-12-08 11:25:19 -05:00
Peter Sprygada
43e6206559 removes automated backup of ios to flash due to errors (#5245)
The feature is extremely unstable right now and decision to pull
it out for 2.2.  Workaround is to do the same in the playbook
2016-12-08 11:25:19 -05:00
Peter Sprygada
25d00838a9 fixes issue with pushing config to versions that do not support sessions (#5236)
earlier versions of eos do not support configuration sessions.  this change
will now check if sessions are supported and if not will fallback to
not using config sessions

fixes #4909
2016-12-08 11:25:19 -05:00
John Barker
bca8bbe7c2 Correct functional typos 2016-12-08 11:25:19 -05:00
Peter Sprygada
4dc09e19ea fixes bug with junos_config module not properly loading config (#5213)
This fixes two issues.  First, it fixes an issue with the junos_config
module not properly recognizing a file with set commands.  The second
bug would cause the diff_config() function to raise an exception due
to a blank line when splitting the config
2016-12-08 11:25:19 -05:00
Nathaniel Case
5a8ebf5953 nxos module cleanup (#5065)
* Fix imports on nxos_bgp* modules

* Fix imports on nxos_evpn* modules

* Cleanup issues for nxos_facts

* Shuffle imports for nxos_template

* Fix imports on nxos_ospf* modules

* Fix nxos_hsrp

As get_hsrp_groups_in_devices is not actually called anywhere, I presume this
change is reasonable.

* Fix imports on nxos_interface* modules

* Update nxos_static_route imports

* update nxos_vrf

* Update nxos_config imports
2016-12-08 11:25:19 -05:00
jjshoe
706bdbf284 Catch the rare condition where ami creation failed, this is critical when you have a 10-15 minute wait on ami creation. This rarely happens, and is tough to reproduce, but it does happen. (#5106) 2016-12-08 11:25:19 -05:00
Peter Sprygada
3fbae6f10f updates docstring for sros modules (#5197) 2016-12-08 11:25:19 -05:00
adejongh
a89992f70f Fixed incorrect usage of user_data variable (#5194) 2016-12-08 11:25:19 -05:00
Bill Nottingham
765269e547 Fix deprecation notices. (#5180) 2016-12-08 11:25:19 -05:00
Elena Washington
91e433594a Make is so that the params param truly isn't required (fix for #3860) 2016-12-08 11:25:19 -05:00
Toshio Kuratomi
0fe99f20d9 Emit an error message if six is not installed.
dopy 0.3.7 makes use of six but doesn't list it as a requirement.  This
means that people installing with pip won't get six installed, leading
to errors.  Upstream released dopy-0.3.7a to address that but pip thinks
that is an alpha release.  pip does not install alpha releases by
default so users aren't helped by that.

This change makes ansible emit a good error message in this case.

Fixes #4613
2016-12-08 11:25:19 -05:00
Toshio Kuratomi
064c381608 Fix exception hierarchy for digital ocean and some cleanups of pep8 style
Fixes #4613
2016-12-08 11:25:19 -05:00
Chris Houseknecht
8e9befa5ba Surface Compose stdout on failure
Signed-off-by: Chris Houseknecht <chouseknecht@ansible.com>
2016-12-08 11:25:18 -05:00
Chris Houseknecht
63b6672ea5 Improved enumeration of actions 2016-12-08 11:25:18 -05:00
Chris Houseknecht
1e4b8c13a3 Improved build and pull error handling 2016-12-08 11:25:18 -05:00
Gabriele
f8d2be407d Fixing docstring (#5130) 2016-12-08 11:25:18 -05:00
Peter Sprygada
56120433c9 checks commit comment to make sure it doesn't exceed 60 characters (#5155)
The comment argument can be at most 60 characters per the IOS XR command
line.  If a comment is > 60 characters, the module will now gracefully error
and return a well formed message.

fixes 5146
2016-12-08 11:25:18 -05:00
John R Barker
efca39d4d4 Remove reference to parents parameter which doesn't exist (#5143) 2016-12-08 11:25:18 -05:00
John R Barker
d12f2d2c72 Remove docs for commit which no longer exists (#5152) 2016-12-08 11:25:18 -05:00
Laurent Godet
336c9f9f35 Fix daemon_reload in systemd module 2016-12-08 11:25:18 -05:00
Toshio Kuratomi
283205d7b3 We've changed run_command to return native_strings
on python3, this means that we don't get bytes back by default.  We
probably do want bytes here so modify our call to run_command so we get
bytes instead of text.
2016-12-08 11:25:18 -05:00
Ryan Brown
b091d39baf Handle termination_protection parameter when restarting instances (#5076)
* Restart EC2 instances with multiple network interfaces

A previous bug, #3234, caused instances with multiple ENI's to fail when being
started or stopped because sourceDestCheck is a per-interface attribute, but we
use the boto global access to it (which only works when there's a single ENI).

This patch handles a variant of that bug that only surfaced when restarting an
instance, and catches the same type of exception.

* Default termination_protection to None instead of False

AWS defaults the value of termination_protection to False, so we don't
need to explicitly send `False` when the user hasn't specified a
termination protection level. Before this patch, the below pair of tasks
would:

1. Create an instance (enabling termination_protection)
2. Restart that instance (disabling termination_protection)

Now, the default None value would prevent the restart task from
disabling termination_protection.

```
- name: make an EC2 instance
  ec2:
    vpc_subnet_id: {{ subnet  }}
    instance_type: t2.micro
    termination_protection: yes
    exact_count: 1
    count_tag:
       Name: TestInstance
    instance_tags:
       Name: TestInstance
    group_id: {{ group }}
    image: ami-7172b611
    wait: yes
- name: restart a protected EC2 instance
  ec2:
    vpc_subnet_id: {{ subnet  }}
    state: restarted
    instance_tags:
       Name: TestInstance
    group_id: {{ group }}
    image: ami-7172b611
    wait: yes
```
2016-12-08 11:25:18 -05:00
John R Barker
3333035ef4 Add matching quotes (#5133)
Will fix broken syntax highlighting
2016-12-08 11:25:18 -05:00
Matt Davis
e2f66abe73 fixed windows setup to run in check_mode 2016-12-08 11:25:18 -05:00
Toshio Kuratomi
007b5f4c32 Fix assemble module for python3 2016-12-08 11:25:18 -05:00
Peter Sprygada
9c664f424e adds exception handling for adding an invalid condition (#5125)
This change will now handle a problem adding a condition that raises
an AddConditionError and return a well formed error to the user.
2016-12-08 11:25:18 -05:00
Pradeep
b405931e8b Typo Fix 2016-12-08 11:25:18 -05:00
Gabriele
b4565b6667 Adding more details on DOCSTRING about how to use the module (#5121) 2016-12-08 11:25:18 -05:00
Peter Sprygada
9707ae6490 adds exception handling for AddConditionError (#5124)
AddConditionErrors are now handled by nxos_command and a well formed error
is returned from the module
2016-12-08 11:25:17 -05:00
Peter Sprygada
f5e72c6590 adds check for AddConditionError when adding conditional statements (#5123)
The Conditional instance will now raise the AddConditionError and this
change instructs eos_command to catch the error and return a nicely formed
error message
2016-12-08 11:25:17 -05:00
Matt Davis
48b0cb750c (re)add post-watchdog-launch sleep to Windows async_wrapper (#5122)
fixed apparent race where subprocess appears to never start
2016-12-08 11:25:17 -05:00
Gabriele
d4c2a13325 Improving nxos_igmp_snooping (#5011) 2016-12-08 11:25:17 -05:00
Gabriele
3c257688bc Fixing nxos_igmp_interface (#5010) 2016-12-08 11:25:17 -05:00
Gabriele
b6c07bc9e9 Fixing nxos_hsrp (#5009)
* Fixing nxos_hsrp

* Adding space after =
2016-12-08 11:25:17 -05:00
Senthil Kumar Ganesan
21ae84a04e Remove the dellosX_template module (#5110) 2016-12-08 11:25:17 -05:00
Matt Davis
c07a2b49b6 add JSON junk filter to async_wrapper (#5107) 2016-12-08 11:25:17 -05:00
Peter Sprygada
d58462949f roll up of unicode fixes in junos modules (#5113)
* fixes junos_template (fixes #3962)
* fixes junos_config
2016-12-08 11:25:17 -05:00
Gabriele
62bf8d0c78 Add ethernet-link-oam mapping to nxos_feature (#4956)
* Add ethernet-link-oam mapping

* Adding port-secutiry mapping

* Fixing command output format
2016-12-08 11:25:17 -05:00
Gabriele
67d6f2c0d6 Fixing nxos_vlan (#5005)
* Fixing nxos_vlan

* Fixing docstring

* Fixing docstring
2016-12-08 11:25:17 -05:00
Gabriele
43632951fe Fixing nxos_aaa_server (#5002)
* Fixing command output formatting

* Fixing cmds
2016-12-08 11:25:17 -05:00
Gabriele
7f861fb9ce Fixing nxos_acl (#5006)
* Fixing nxos_acl

* Fixing nxos_acl
2016-12-08 11:25:17 -05:00
Gabriele
272b20000f Fixing nxos_acl_interface (#5007) 2016-12-08 11:25:17 -05:00
Gabriele
75c4051933 Fixing nxos_interface (#5012) 2016-12-08 11:25:16 -05:00
Gabriele
1be7ca4f70 Fxing nxos_ip_interface (#5013) 2016-12-08 11:25:16 -05:00
Gabriele
6708874f1c Fixing nxos_mtu (#5014) 2016-12-08 11:25:16 -05:00
Gabriele
6934f11e1f Fixing nxos_ntp (#5015) 2016-12-08 11:25:16 -05:00
Gabriele
6201a57d83 Fixing nxos_ntp_auth (#5016) 2016-12-08 11:25:16 -05:00
Gabriele
c50324fb08 Fixing nxos_ntp_options (#5017) 2016-12-08 11:25:16 -05:00
Gabriele
4b6ee73f8c Fixing nxos_pim_interface (#5018) 2016-12-08 11:25:16 -05:00
Gabriele
5b96fb1dac Fixing nxos_portchannel (#5019) 2016-12-08 11:25:16 -05:00
Gabriele
ebb39a0151 Fixing nxos_smu (#5021) 2016-12-08 11:25:16 -05:00
Gabriele
cda65cad18 Fixing nxos_snmp_community (#5022) 2016-12-08 11:25:16 -05:00
Gabriele
f74275fc1d Fixing nxos_snmp_contact (#5023) 2016-12-08 11:25:16 -05:00
Gabriele
73d66e28ab Fixing nxos_snmp_host (#5024) 2016-12-08 11:25:16 -05:00
Gabriele
7c7eee94b2 Fixing nxos_snmp_location (#5025) 2016-12-08 11:25:16 -05:00
Gabriele
19769903e6 Fixing nxos_snmp_traps (#5026) 2016-12-08 11:25:16 -05:00
Gabriele
bf59e458b1 Fixing nxos_snmp_user (#5027) 2016-12-08 11:25:16 -05:00
Gabriele
04e62346d1 Fixing nxos_udld_interface (#5030) 2016-12-08 11:25:16 -05:00
Gabriele
6bedeb28d8 Fixing nxos_switchport (#5028) 2016-12-08 11:25:16 -05:00
Gabriele
773f1703b7 Fixing nxos_udld (#5029) 2016-12-08 11:25:15 -05:00
Gabriele
d61950d48c Fixing nxos_vpc_interface (#5032) 2016-12-08 11:25:15 -05:00
Gabriele
51c37e9f58 Fixing nxos_vrf (#5033) 2016-12-08 11:25:15 -05:00
Gabriele
8f331e01ca Fixing nxos_vpc (#5031) 2016-12-08 11:25:15 -05:00
Gabriele
9ff6070eb8 Fixing nxos_vrf_interface (#5034) 2016-12-08 11:25:15 -05:00
Gabriele
e7286ed43c Fixing nxos_vtp_domain (#5036) 2016-12-08 11:25:15 -05:00
Gabriele
c19e3b5924 Fixing nxos_vrrp (#5035) 2016-12-08 11:25:15 -05:00
Gabriele
f89cb1717c Fixing nxos_vtp_password (#5037) 2016-12-08 11:25:15 -05:00
Gabriele
b897b497c1 Fixing nxos_vtp_version (#5038) 2016-12-08 11:25:15 -05:00
Matt Davis
66a1b15f89 remove broken ansible_user_uid fact from Windows setup 2016-12-08 11:25:15 -05:00
Ryan Brown
135b92bf4e Check status of finished spot instance requests (#4990)
Per #3877, the code to wait for spot instance requests to finish would
hang for the full wait time if any spot request failed for any reason.
This commit introduces status checks for spot requests, so if the
request fails, finishes, or is cancelled the task will fail/succeed
accordingly.

One edge case introduced here is tha if a user terminates the instance
associated with the request manually it won't fail the play, under the
presumption that the user *wants* the instance terminated.
2016-12-08 11:25:15 -05:00
Brian Coca
22d29be478 1st draft of include docs 2016-12-08 11:25:15 -05:00
Toshio Kuratomi
132fcc434b Set some hosts privileged so they can perform mount tests (#5087) 2016-12-08 11:25:15 -05:00
Jiri Tyr
2b145a0052 Fixing bind mount pattern in the mount module (#5084) 2016-12-08 11:25:15 -05:00
Peter Sprygada
58a5ec6c51 fixes junos_command module paring of wait_for strings (#5083)
The junos_command module wasn't properly parsing strings to apply
conditionals due to the return value not being converted to json
before the results where handed to the runner.
2016-12-08 11:25:15 -05:00
Peter Sprygada
9ed01d0cfd fixes junos_template ignoring the action directive (#5080)
This updates the junos_template to properly process the action
directive when loading the configuration.
2016-12-08 11:25:15 -05:00
Toshio Kuratomi
9436d013d4 Fix mount default options -- should be defaults, not default 2016-12-08 11:25:14 -05:00
John R Barker
177dcadbc0 deprecated _template network modules: Rename in modules-core (#5072) 2016-12-08 11:25:14 -05:00
Jiri Tyr
be1036f461 Ultimate fix of the mount module for Linux (#5055) 2016-12-08 11:25:14 -05:00
John R Barker
f7b10720ac typo in module name (#5062) 2016-12-08 11:25:14 -05:00
Kevin Carter
e2e7f20e34 apt: fix cache time handling (#1517)
This change is in response to issue #1497 where the apt module would not properly updating the apt cache in some situations and never returned a state change on cache update when the module was used without or without an item to be installed or upgraded.

The change simply allows the apt module to update the cache when update_cache option is used without or without a set cache_valid_time.
If cache_valid_time is set and the on disk mtime for apt cache is ">" the provided amount of seconds, which now has a default of 0, the apt cache will be updated. Additionally if no upgrade, package, or deb is installed or changed but the apt cache is updated the module will return a changed state which will help users to know that the state of the environment has changed due to a task operation, even if it was only an apt cache update.

fixes #1497

Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-12-08 11:25:14 -05:00
Peter Sprygada
0a85e64b4a fixes exception raised due to KeyError (#5068)
The vyos_config module would error when looking for a key called `updates`
in module.params.  There is no such key.  This fixes the problem.
2016-12-08 11:25:14 -05:00
Peter Sprygada
73cf85d677 catches exception if conditional cannot be parsed (#5067)
If the conditional cannot be parsed, the module will now catch the exception
and return a well formed failed message.

fixes #5060
2016-12-08 11:25:14 -05:00
Peter Sprygada
da4c11241f fixes error when 'delete ...' config command is specified but doesn't exist (#5064)
The junos_config module will generate an exception if a 'delete ...' config
command is attempted to be loaded into a device configuration.  This change
will first check to see if the delete command is valid and filter it out
of the change set if it is not valid.

fixes #5040
2016-12-08 11:25:14 -05:00
Nathaniel Case
aa82f48dc8 Network module code cleanup (#5061)
* Fix imports in junos_template

* Python 3 compatibility in eos_command

* Python 3 compatibility for ios_command

* Clean up issues with ios_facts

* Python 3 compatibility for ios_facts

* Import shuffle in ios_template

* Python 3 compatibility for iosxr_command

* Clean up iosxr_facts.py

* Python 3 compatibility for iosxr_facts

* Python 3 compatibility for junos_command

* Python 3 compatibility for ops_command

* Cleanup issues with ops_facts

* Python 3 compatibility for ops_facts

* Cleanup issues with ops_template

* Python 3 compatibility for vyos_command

* Cleanup issues with vyos_facts

* Python 3 compatibility for vyos_facts
2016-12-08 11:25:14 -05:00
Nathaniel Case
6ae0342a0a Fix imports in junos_template (#5059) 2016-12-08 11:25:14 -05:00
David Shrewsbury
d0f7af4b09 Fix os_network's create_network() call for older shade versions (#5058)
A value for the project_id parameter to shade's create_network()
call was always being sent, even if no value for 'project' was
supplied. This was breaking folks with older versions of shade
(< 1.6).

Fixes PR https://github.com/ansible/ansible-modules-core/issues/3567
2016-12-08 11:25:14 -05:00