1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

8024 commits

Author SHA1 Message Date
Peter Sprygada
d83962d3f5 Merge pull request #15992 from ogenstad/asa
Module util, template action and doc fragment for Cisco ASA
2016-06-27 06:32:12 -07:00
Matt Clay
c2a5cb6174 Fix junit callback plugin for Python 2.6. (#16440) 2016-06-24 14:22:27 -07:00
James Cammarata
04fca42b62 Fixing issues with getattr caused by 5a3493b 2016-06-24 15:43:03 -05:00
Toshio Kuratomi
9330edd6b9 Update submodule refs 2016-06-24 09:01:40 -07:00
Peter Sprygada
32b605f603 Merge pull request #16422 from privateip/network
bug fix changes Config class in network to only raise exceptions
2016-06-23 16:15:20 -07:00
Peter Sprygada
02902325b4 Merge pull request #16424 from privateip/vyos
initial commit of vyos shared module with Cli transport
2016-06-23 16:15:07 -07:00
James Cammarata
948682dbe2 Fix off-by-one error with retries
Fixes #16408
2016-06-23 18:07:11 -05:00
James Cammarata
3e4755f7e4 Remove unnecessary role initialization and lookup stuff
* Remove unnecessary copying of values from parents to role deps, as
  this can cause problems when roles have multiple parents (or the same
  parents with different params speficied through deps)
* Since we're already checking the dep chain in the block for role
  things (which every task in a role should have), it is not necessary
  to check the role directly in case it improperly grabs something

Fixes #14438
2016-06-23 17:00:01 -05:00
nitzmahone
ac04ffb9b1 apply @zazard's fix to parent attribute lookup 2016-06-23 14:11:07 -07:00
Peter Sprygada
77922f82e2 initial commit of vyos shared module with Cli transport
This adds support for the VyOS network operating system using the
Cli transport.   This module will simplify building VyOS based
modules in Ansible
2016-06-23 12:27:33 -07:00
James Cammarata
c24c0f5f6b Properly wrap objects using json default encoder
Our custom encoder for the to_json filter was simply returning the
object if it was not a HostVars object, leading in some cases to a
TypeError when the data contained an undefined variable. This lead
to an odd error message being propagated up, so we now properly catch
this as an undefined variable error.

Fixes #15610
2016-06-23 09:19:32 -05:00
w1r0x
7d24e6e95c Fixes #12309 (#14121) 2016-06-23 09:02:34 -04:00
James Cammarata
3ea3fa8d46 Merge pull request #14639 from ivovangeel/find_mount_point-bug
Fixed bug in find_mount_point function
2016-06-22 22:38:54 -05:00
nitzmahone
5f9ca67685 bump extras submodule ref for test failures 2016-06-22 17:27:16 -07:00
nitzmahone
76633ddc4c bump submodule refs 2016-06-22 17:21:54 -07:00
James Cammarata
7c27f72515 Merge pull request #14356 from mludvig/session_token
Add support for AWS_SESSION_TOKEN environment variable. (trivial patch)
2016-06-22 18:51:09 -05:00
Peter Sprygada
107c13759e changes Config class in network to only raise exceptions
The Config class should not call fail_json but simply raise exceptions
and allow the implementor to handle the exception
2016-06-22 09:22:50 -05:00
Toshio Kuratomi
39c543e356 Use find -exec + so that failures will be visible in find's exit code (#16389)
Fixes #16385
2016-06-22 05:42:37 -07:00
James Cammarata
4c1601e9f2 Take previously failed/unreachable hosts into account when checking the batch
Again, as we're carrying failed/unreachable hosts forward from play to play via
internal structures, we need to remember which ones had previously failed so that
unrelated host failures don't inflate the numbers for a given serial batch in the
PlaybookExecutor causing a premature exit.

Fixes #16364
2016-06-21 16:47:38 -05:00
James Cammarata
aefa12a20f Merge pull request #13709 from traveloka/credstash-support-encr-context
Make credstash lookup plugin support encryption contexts
2016-06-21 11:00:43 -05:00
James Cammarata
15e648dd94 Fix handler listeners as a list
The listen statement on handlers should have supported a list, however
it was broken in the revision of the pub/sub feature based on the handler
revamp. This patch corrects the bug, so this works again:

- name: some handler
  ...
  listen:
  - some target
  - another target

Fixes #16378
2016-06-21 10:00:10 -05:00
James Tanner
b1d32e6e32 Update submodule refs 2016-06-20 18:08:20 -04:00
nitzmahone
2bf9f593b5 bump submodule refs 2016-06-20 13:09:57 -07:00
James Cammarata
96a96b0e97 Merge pull request #16360 from agaffney/old_style_module_args_quoting
Fix quoting of args for old-style modules
2016-06-20 12:42:47 -05:00
Nathaniel Case
5dccff29bf Network Module: EOS (#16158)
* add new module network

* move EOS to NetworkModule

* shell.py Python 3.x compatibility

* implements the Command class through the connection for eos

This implements a new Command class that specifies the cli command
and output format.  This removes the need to batch commands through
the connection

* initial add of netcmd module
2016-06-20 12:11:48 -04:00
James Cammarata
17447ff035 Fixing typo in base strategy code from handler listen feature merge 2016-06-20 09:47:43 -05:00
James Cammarata
ca6ee4c789 FEATURE: handler listeners
Fixes ansible/proposals#8
2016-06-20 09:30:20 -05:00
James Cammarata
8218591fec Track notified handlers by object rather than simply their name
Due to the fact that roles may be instantiated with different sets of
params (multiple inclusions of the same role or via role dependencies),
simply tracking notified handlers by name does not work. This patch
changes the way we track handler notifications by using the handler
object itself instead of just the name, allowing for multiple internal
instances. Normally this would be bad, but we also modify the way we
search for handlers by first looking at the notifying tasks dependency
chain (ensuring that roles find their own handlers first) and then at
the main list of handlers, using the first match it finds.

This patch also modifies the way we setup the internal list of handlers,
which should allow us to correctly identify if a notified handler exists
more easily.

Fixes #15084
2016-06-20 09:30:20 -05:00
Andrew Gaffney
a64f7fd602 Fix quoting of args for old-style modules
This removes the extra layer of quotes around values in the 'args' file.
These quotes were there before the pipes.quote() call was added, but
were not removed, resulting in too much quoting.
2016-06-19 19:21:25 +00:00
jctanner
1db02dfb71 If decryption of a vaulted file failed, include the filename in the error. (#16329)
Fixes #16327
2016-06-18 09:30:08 -04:00
James Cammarata
8ee851cd95 Merge pull request #13460 from yesbox/devel
Adds support for converting a MAC address to an integer
2016-06-18 08:16:12 -05:00
James Cammarata
4bc85e150a Merge pull request #12807 from Lujeni/devel
Ansible-galaxy requirements support a include directive
2016-06-18 07:50:59 -05:00
James Cammarata
20754c1094 Allow groups to be specified using YAML list syntax for add_host
Fixes #12622
2016-06-18 07:47:10 -05:00
Zempashi
af150ea43a Fix linux 'ip' stdout parsing. (#16170)
With network-manager in debian (stretch) and openvpn connection enabled
the output for ipv6 is different and include a 'peer' keyword.

Fixes #15448
2016-06-17 17:10:45 -04:00
Nate Coraor
706778ee7f Fix distro detection for Solaris derivatives 2016-06-17 16:54:52 -04:00
art-at-sky
38590fbab9 Fix string coercion problem in error handling code 10:50 (#16270)
Manifests as the following stack trace
  File "/usr/local/Cellar/ansible/2.0.1.0/libexec/lib/python2.7/site-packages/ansible/utils/display.py", line 259, in error
      new_msg = u"ERROR! " + msg
      TypeError: coercing to Unicode: need string or buffer, AnsibleParserError found
2016-06-17 12:02:01 -07:00
Mark Szymanski
2b0d0d0323 Allowing changed colour to be set properly from ansible.cfg (#16338) 2016-06-17 12:26:20 -04:00
Toshio Kuratomi
bef1971ffe Update core submodule for wait_for fix 2016-06-17 07:09:00 -07:00
Toshio Kuratomi
6cb8fdeaf2 Use find instead of -R for recursive setfacl (#16340)
(-R is not present on Solaris or freebsd setfacl)

Fixes #16322
2016-06-17 10:00:21 -04:00
James Tanner
a5046a3ffe Update submodule refs 2016-06-17 09:59:21 -04:00
Matt Davis
5900571273 Merge pull request #16296 from ccin2p3/hotfix/issue_16295
Properly template task names in free strategy
2016-06-16 10:53:56 -07:00
Matt Davis
9e2e2b1c54 Merge pull request #16279 from md5/show-facl-error
Show stderr when there is an error calling setfacl
2016-06-16 09:58:24 -07:00
nitzmahone
0a0b44baeb bump submodule refs 2016-06-15 14:50:52 -07:00
Toshio Kuratomi
a3959644ee Change the default of module_set_locale to False. (#16313)
This makes Ansible no longer set LC_ALL for remote systems.  It is up to
the individual modules to set LC_ALL if they need it for screenscraping
the output from a program.

This is the 2.2 followup for #15138
2016-06-15 14:21:04 -04:00
Colin Hoglund
5a2b34e159 allow spaces before the filter string (#16312) 2016-06-15 14:17:17 -04:00
Toshio Kuratomi
e088193599 Update submodule refs 2016-06-15 10:36:01 -07:00
Toshio Kuratomi
16211e7dab Check that required arguments src and dest are present.
Fixes #16301
2016-06-15 09:37:09 -07:00
Adrian Likins
a7639896a2 Delete currently unused code. (#16290)
This was kind of confusing, and also caused sphinx-apidoc
to throw strange errors.
2016-06-15 12:07:40 -04:00
Brian Coca
13d52ae438 subref update 2016-06-15 11:25:12 -04:00
Brian Coca
4acac55d23 add executable if none exists when become
this is needed as become adds commands that require shell
2016-06-15 11:24:16 -04:00
elotje
8c7ceaab81 Unprivileged become on HP-UX/UNIX (Fixes #16249) (#16275)
Problem: When setting the file permissions on the remote server for
unprivileged users ansible expects that a chown will fail for unprivileged
users. For some systems (e.g. HP-UX) this is not the case.

Solution: Change the order how ansible sets the remote permissions.
* If the remote_user sudo's to an unprivileged user then we attempt to
  grant the unprivileged user access via file system acls.
* If granting file system acls fails we try to change the owner of the
  file with chown which only works in case the remote_user is privileged
  or the remote systems allows chown calls by unprivileged users (e.g.
  HP-UX)
* If the chown fails we can set the file to be world readable so that
  the second unprivileged user can read the file. Since this could allow
  other users to get access to private information we only do this
  ansible is configured with "allow_world_readable_tmpfiles" in the
  ansible.cfg
2016-06-15 08:16:24 -07:00
Adrian Likins
f819bb524a zone plugin updates for newer api (#16289)
Fixes errors on import.
2016-06-15 07:37:38 -07:00
Toshio Kuratomi
c4838286ac Make sure we don't end up with an empty PYTHONPATH (#16240)
When the PYTHONPATH is an empty string python will treat it as though
the cwd is in the PYTHONPATH.  This can be undesirable.  So make sure we
delete PYTHONPATH from the environment altgether in this case.

Fixes #16195
2016-06-15 07:02:56 -07:00
Remi Ferrand
9c3447c619 Properly template task names in free strategy
* Fixes #16295
2016-06-15 09:49:04 +02:00
jctanner
dc9b53a6aa Add further commentary about synchronize process_remote. (#16292)
Addresses #16284
2016-06-14 20:20:19 -04:00
Sergei Smolianinov
9753cac530 Fix synchronize module incorrect remote host processing. (#15993)
Fixes  #15539
2016-06-14 19:37:26 -04:00
biancalana
e143d3a75b Better FreeBSD distribution facts (#15866)
* - Give more usable content to distribution_version and set distribution_major_version

* Make python 2.4 friendly
2016-06-14 17:58:23 -04:00
Toshio Kuratomi
8c8e064828 Be more lenient of symlinked /bin/sh inside the chroot (#16239)
Symlinks inside of the chroot were failng because we weren't able to
    determine if they were pointing to a real file or not.  We could write
    some complicated code to walk the symlink path taking into account where
    the root of the tree is but that could be fragile.  Since this is just
    a sanity check, instead we just assume that the chroot is fine if we
    find that /bin/sh in the chroot is a symlink.  Can revisit if it turns
    out that many chroots have a /bin/sh that's a broken symlink.

    Fixes #16097
2016-06-14 12:03:59 -07:00
nitzmahone
9dcfa468f7 bump core submodule ref 2016-06-14 11:37:22 -07:00
Brian Coca
90ae3f4d6d removed duplicate constants setting
also it had a non ANSIBLE_ env var
2016-06-14 13:15:47 -04:00
Mike Dillon
17372244d4 Show stderr when there is an error calling setfacl 2016-06-14 09:29:20 -07:00
Jiri Tyr
27d065924f Adding custom indentation of YAML and JSON filters (#10008) 2016-06-14 10:07:34 -04:00
ben-taylor-nzme
e1d248dddf fix error message (#16264)
The error was: TypeError: fail_json() takes exactly 1 argument (2 given)
2016-06-14 10:02:07 -04:00
Brian Coca
07846f7bec ignore closing file error when file not open
fixes #16268
2016-06-14 09:34:41 -04:00
Peter Sprygada
59e1bb3e6e fixes using ssh keyfile with junos network module
The junos network module will now properly use the ssh key file if its
passed from the playbook to authenticate to the remote device.  Prior
to this commit, the ssh keyfile was ignored.
2016-06-13 22:39:51 -04:00
Toshio Kuratomi
a88919c751 Update submodule refs 2016-06-13 12:05:42 -07:00
Toshio Kuratomi
0e98ce11c4 Comment on is_executable's limitations and change logic to only use bit-manipulations
This is clearer to anyone who understands that unix file modes are bitfields.
2016-06-13 09:43:51 -07:00
Toshio Kuratomi
facea1ff0c Remove unneeded pass 2016-06-13 09:43:51 -07:00
Toshio Kuratomi
9273e1e7c7 Update submodule refs 2016-06-13 08:00:22 -07:00
Toshio Kuratomi
94dc4554db Workaround bad interaction with .pth files. (#16238)
When setuptools installs a python module (as is done via python setup.py
install)  It puts the module into a subdirectory of site-packages and
then creates an entry in easy-install.pth to load that directory.  This
makes it difficult for Ansiballz to function correctly as the .pth file
overrides the sys.path that the wrapper constructs.  Using
sitecustomize.py fixes this because sitecustomize overrides the
directories handled in .pth files.

Fixes #16187
2016-06-13 07:56:18 -07:00
René Moser
7aca70b4b0 cloudstack: simplify tag handling (#16188)
Fixes tag support in projects.
2016-06-13 08:27:27 +02:00
nitzmahone
445a88d3e8 call base _connect() from winrm._connect()
without it, we don't get the base's free become method error check
2016-06-10 14:40:29 -07:00
Brian Coca
734bbcb1d3 better handling of retry files 2016-06-10 14:03:22 -04:00
Brian Coca
de18566882 made ssh compression configurable (#16214)
AIX ssh does not seem to like compression, moved it to ssh_args
to allow making it configurable. Note that those using ssh_args
already will need to add it explicitly to keep compression.
2016-06-10 13:17:49 -04:00
nitzmahone
ece1ed09d5 fix for psuedo-connection hostvars not propagating to connection
(mostly done by jimi-c, tested working)
2016-06-10 10:14:41 -07:00
Dag Wieers
04ce71b4bd Give a module the possibility to known its own name (#16087)
* Give a module the possibility to known its own name

This is useful for logging and reporting and fixes the longstanding problem with syslog-messages:

    May 30 15:50:11 moria ansible-<stdin>: Invoked with ...

now becomes:

    Jun  1 17:32:03 moria ansible-copy: Invoked with ...

This fixes #15830

* Rename the internal name from module.ansible_module_name to module._name
2016-06-10 11:48:54 -04:00
Brian Coca
a529a60478 raw should not use default executable (#16085)
also removed unused cruft in script
2016-06-10 11:37:58 -04:00
J. Javier Maestro
828b73dd2d Fix: create retry_files_save_path if it doesn't exist (#15659)
* Fix: create retry_files_save_path if it doesn't exist

Ansible documentation states that retry_files_save_path directory will be
created if it does not already exist. It currently doesn't, so this patch
fixes it :)

* Use makedirs_safe to ensure thread-safe dir creation

@bcoca suggested to use the makedirs_safe helper function :)
2016-06-10 09:30:06 -04:00
Toshio Kuratomi
10860c50bd Update submodule refs for revert of git change 2016-06-09 14:50:13 -07:00
Brian Coca
4625bd2de5 updated submodule refs 2016-06-09 15:18:29 -04:00
Brian Coca
c376954ecf avoid processing bad mtab entries (#16206)
fixes #16174
2016-06-09 15:05:06 -04:00
Toshio Kuratomi
1b58b55346 Update submodule refs 2016-06-09 08:56:52 -07:00
jctanner
02e52c319c Force an include to be a static task if no vars or loops are being used. (#16192)
Fixes #15735
2016-06-08 19:23:48 -04:00
James Cammarata
b51d0dd69b Fix hostvars lookup of locahost based on 5f1bbb4 2016-06-08 14:14:02 -05:00
James Cammarata
5f1bbb4fcd There can be only one localhost
The changes to exclude implicit localhosts from group patterns exposed
the bug that we sometimes create multiple implicit localhosts, which
caused some bugs with things like includes, where the host was used as
an entry into a dict, so having multiple meant that the incorrect host
(with a different uuid) was found and includes were not executed for
implicit localhosts.
2016-06-08 13:03:52 -05:00
James Cammarata
fbec2d9692 Expand return code values returned by TQM and strategies
This allows the PlaybookExecutor to receive more information regarding
what happened internal to the TaskQueueManager and strategy, to determine
things like whether or not the play iteration should stop.

Fixes #15523
2016-06-08 10:21:57 -05:00
Peter Sprygada
178cfd142b fixes issue with ssh keyfile and nxos authentication
The nxos cli provider would not properly handle ssh key files passed
from the playbook task.   The ssh_keyfile argument is now properly
passed to the ssh authentication method

This fix address the bug reported in #3862
2016-06-07 21:01:34 -04:00
nitzmahone
d91315f2a0 bump submodule refs 2016-06-07 17:15:19 -07:00
James Cammarata
f9803bfcc9 Revert "don't tempalte register"
This reverts commit 7ba790bbaf.

Fixes #15700
2016-06-07 13:38:26 -05:00
James Cammarata
068e447fda Further tweaks to variable precedence to make it match our docs
Also removes looking at role variables from the Block, as those are
merged in separately via VariableManager
2016-06-07 12:08:01 -05:00
James Cammarata
b37b51dcea Fix variable precedence issue where set facts beat role params
Also updates doc on variable precedence, as it was incorrect for the
order of play vars/vars_prompt/vars_files in relation to set_fact and
registered variables.

Fixes #14702
Fixes #14826
2016-06-07 11:25:02 -05:00
James Cammarata
fa368934bd Create state in PlayIterator for unknown hosts rather than raise errors
Since we now use the PlayIterator to carry forward failures from previous
play executions, in the event that some hosts which had previously failed
are not in the current inventory we now create a stub state instead of
raising an error.
2016-06-07 09:42:39 -05:00
Brian Coca
f76befdb9a fix issues when state is not supplied 2016-06-07 10:29:24 -04:00
Krzysztof Magosa
721da46842 fix: playbook_on_task_start expects name and not task object (#16168) 2016-06-07 09:43:01 -04:00
Ritesh Khadgaray
ef9238ab85 set remote_user to default if none is found when using delegate_to (#16138) 2016-06-07 09:36:17 -04:00
Peter Sprygada
596b32f31e Merge pull request #16148 from privateip/working
fixes issues with authenticating using ssh-agent for ios devices
2016-06-07 06:31:46 -04:00
Brian Coca
6f36909074 service now passes 'started' instead of 'running'
other modules don't have to implement this directly
also updated docs to prefer 'started'.
fixes #16145
2016-06-06 22:30:04 -04:00
Trond Hindenes
ad4eb751a5 moved pending reboot to powershell.ps1 2016-06-06 23:18:51 +02:00
James Cammarata
e36b4014f5 Merge pull request #15958 from Schnitzel/taskinclude_handler
new HandlerTaskInclude Class which can run TaskIncludes inside Handlers
2016-06-06 14:01:57 -07:00
Adrian Likins
7eec99a140 Merge pull request #16154 from vlna/patch-1
Typo fix: Kuraotmi -> Kuratomi
2016-06-06 13:36:18 -04:00
James Cammarata
b33aeee2f0 Merge branch 'andreyshestakov-devel' into devel 2016-06-06 11:26:08 -05:00
James Cammarata
add2d1947e Fix recursive call of _load_inventory_file() in VariableManager
Fixes #16128
2016-06-06 11:25:15 -05:00
James Cammarata
1f18f5c92d Tweak the poll time to 0.005 to improve perf with large playbooks 2016-06-06 11:24:32 -05:00
James Cammarata
b9e743b478 Merge branch 'devel' of https://github.com/andreyshestakov/ansible into andreyshestakov-devel 2016-06-06 11:03:28 -05:00
James Cammarata
560532da7d Make sure we add host/group vars files when parsing inventory
Also fixes a bug where add_host was not adding the vars files

Fixes #16117
2016-06-06 10:52:39 -05:00
Brian Coca
2a984bbc98 much more fine grained error messages
fixes #16039
2016-06-06 11:48:16 -04:00
rdezavalia
a7274774ed Support etcd v2. Use this version by default (#12312)
* Support etcd v2. Use this version by default

* default to etcd v1
2016-06-06 11:26:12 -04:00
vlna
53ac89e40d Typo fix: Kuraotmi -> Kuratomi 2016-06-06 15:24:44 +02:00
Peter Sprygada
0a87651fc5 fixes issues with authenticating using ssh-agent for ios devices
Exception was raised when trying to use ssh-agent for authentication to
ios devices.   This fix enables ssh-agent and enable use of password
protected ssh keys.  There is one additional fix to capture authentication
exceptions nicely.
2016-06-06 07:53:42 -04:00
James Cammarata
d21cd16a91 Change uses of unicode() to to_unicode() in inventory/__init__.py 2016-06-04 21:05:33 -05:00
James Cammarata
879dc3a687 Mark implicitly hosts as such and exclude them from the all group
Fixes #16059
2016-06-04 18:53:47 -05:00
Toshio Kuratomi
5a3493be5f Port urls.py to python3 and other byte vs text fixes (#16124)
* Port urls.py to python3

Fixes (largely normalizing byte vs text strings) for python3

* Rework what we do with attributes that aren't set already.

* Comments
2016-06-04 16:19:57 -07:00
nitzmahone
434c949d03 update azure minimum doc fragment 2016-06-04 16:05:58 -07:00
nitzmahone
d1b611a730 updates for Azure SDK 2.0.0rc4 2016-06-04 15:05:13 -07:00
Toshio Kuratomi
4fe8fe303f Update submodule refs 2016-06-04 10:50:09 -07:00
Toshio Kuratomi
80c36bef9f Update submodule refs 2016-06-04 08:50:54 -07:00
Toshio Kuratomi
3bac945147 Fix the copy action to not send the content as a param. (#16127)
Has already been transferred as a tempfile.

This fixes the error in https://github.com/ansible/ansible/issues/16125
but there may be higher level issues that should be fixed as well (other
modules might be able to cause status fields like failed and changed to
return a censored string instead of a bool).  So leaving 16125 open for
now.
2016-06-03 12:32:15 -07:00
nitzmahone
14fec788a1 bump core submodule ref 2016-06-03 10:43:19 -07:00
Matt Clay
7a533406f9 Merge pull request #13145 from Mic92/devel
lxc connection plugin
2016-06-03 10:09:04 -07:00
Brian Coca
85f4c95843 minor optimization 2016-06-03 09:56:56 -04:00
Brian Coca
2482c687b7 optimize openbsd pkg_mgr fact discovery 2016-06-03 09:54:59 -04:00
Brian Coca
44bd1db976 updated package to use minimal fact gathering
also fixed results handling of fact gathering
2016-06-03 09:54:59 -04:00
Michael Scherer
f07d6b26a7 Show a better error message when there is too much arguments (#16119)
If someone run:

  ansible all -m file state=present

The error message is "Missing target hosts" which is misleading, since
the target hosts is here, the problem is the missing '-a'.
2016-06-03 09:53:41 -04:00
jctanner
2bf2e0fdfd Force relative role paths to be absolute and correct errors about missing path(s). (#16088)
Addresses #10811
2016-06-03 09:46:51 -04:00
James Cammarata
273a965dcc Fix the way host and group vars are loaded
* In the VariableManager, we were not properly tracking if a file
  had already been loaded, so we continuously append data to the end
  of the list there for host and group vars, meaning large sets of data
  are duplicated multiple times
* In the inventory, we were merging the host/group vars with the vars
  local to the host needlessly, as the VariableManager already handles that.
  This leads to needless duplication of the data and makes combining the
  vars in VariableManager take even longer.
2016-06-02 16:52:37 -04:00
Bede Carroll
805e0ec529 Add validate_certs to vmware doc fragment (#16096) 2016-06-02 10:21:39 -04:00
Matt Clay
7edfeb3665 Add junit callback plugin. (#16089)
Add junit callback.
2016-06-01 13:34:00 -07:00
ogenstad
6027e5b580 Module util, template action and doc fragment for Cisco ASA 2016-06-01 20:57:30 +02:00
Adrian Likins
644f0fb190 Merge pull request #15178 from alikins/galaxy_info_output
galaxy info displayed 'galaxy_info' section wrong [fix for #15177]
2016-06-01 10:27:15 -04:00
Brian Coca
3387d557bc Revert "Add prefixing and suffixing fuctionality to assemble module" (#16084) 2016-06-01 09:17:10 -04:00
Matt Clay
10a07fcc26 Update submodule refs. 2016-05-31 17:21:22 -07:00
Chris Houseknecht
ce34397cf8 Merge pull request #10399 from underyx/assemble-with-prefix-and-suffix
Add prefixing and suffixing fuctionality to assemble module
2016-05-31 18:16:23 -04:00
Bence Nagy
fadef43af7 Add header and footer support to assemble action 2016-05-31 14:40:27 -07:00
Matt Clay
126bc40ecf Do not remove exception from result, hide output.
This allows all callback plugins access to exception details.
2016-05-31 11:28:22 -07:00
Adrian Likins
1468538414 galaxy info displayed 'galaxy_info' section wrong
The output of 'ansible-galaxy info' was formatting the
'galaxy_info' key with one char per line.

Previously, when building the output string, items in
role_info that had a dict for value, the label for
it's key ('galaxy_info' for ex) was being added to
the text list in addition to being appended. Only
the append is needed.

Also added a unit test in test/units/cli/test_galaxy.py,
but skip it on py3 until galaxy is py3 compatible.

fixes #15177
2016-05-31 13:28:15 -04:00
Brian Coca
4c3c294a03 fixed confusing reporting when no hosts are matched
it was hitting 'empty inventory' warning.
2016-05-31 12:16:06 -04:00
Brian Coca
e63bf1d86e fix version/help when missing action
also fixed issues with galaxy cli options
2016-05-31 09:30:50 -04:00
Brian Coca
eaa7b9c0b7 treat roles_path as the list it is for galaxy list 2016-05-31 09:00:56 -04:00
Andrey Shestakov
295c7ce1c8 Fix sleep intervals (14219) 2016-05-31 09:33:58 +03:00
Jörg Thalheim
88482234e6
lxc connection plugin 2016-05-28 00:15:09 +02:00
chouseknecht
38c99fa9d5
Bump ansible-modules-core submodule to commit 90e8a36d4c2b3f53ee725b0a4f694d3e449b5f28 2016-05-27 13:47:07 -04:00
Tobias Wolf
328b423a0e Solve performance issue with a large number of groups (#13957)
Ansible excessively checks the file system for the potential presence of
`group_vars` and `host_vars` files.

For large numbers of groups this leads to combinatorial performance
issues.

This commit generates a set of group_vars and host_vars filenames using
`os.listdir()` in every possible location and then checks against the sets
before making a stat of the file system.

Also included in this commit is caching of the base directory lookup
for the inventory.
2016-05-27 10:43:11 -04:00
Brian Coca
011320793b moved validate info from vvv to debug 2016-05-27 09:45:10 -04:00
Chris Houseknecht
2261b2e59a Fix missing ignore_certs (#16018) 2016-05-27 09:39:00 -04:00
Toshio Kuratomi
c03555b650 Fix unarchive failures when the destination is a symlink to a directory (#15999)
Also add integration tests for this problem and unicode filenames inside
a tarball.

Fixes #3725
2016-05-26 14:47:11 -07:00
Matt Davis
b5bb518279 Merge pull request #16012 from stpierre/list-like-choices
Modules: check for list-like choices in arg spec
2016-05-26 14:36:47 -07:00
Chris St. Pierre
bfd69a7042 Modules: check for list-like choices in arg spec
This makes it possible to use anything other than a list (e.g., a
tuple, or dict.keys() in py3k) for argument_spec choices. It also
improves the error messages if you don't use a list type.
2016-05-26 16:20:31 -05:00
James Cammarata
3e03004b6f Use get_dep_chain() instead of directly using a blocks _dep_chain
Child blocks (whether nested or via includes) don't get a copy of the
dependency chain, so the above method should be used to ensure the block
looks at its parents dep chain.

Fixes #15996
2016-05-26 15:48:07 -04:00
Brian Coca
6a0a366746 fixed service fact usage 2016-05-26 13:37:59 -04:00
René Moser
176a207c61 Merge pull request #15974 from resmo/feature/vpc
cloudstack: add VPC support
2016-05-26 07:43:40 +02:00
Brian Coca
48d8fa0380 updated subrefs 2016-05-25 17:29:44 -04:00
Brian Coca
90cbb8c01b re-add the service action plugin (#13001)
* readd the service action plugin, was removed cause it created unexpected fact gathering and there are no split service plugins that would make this useful (yet)
Revert "removed action plugin as service facts and separate modules don't work yet and this forces gathering facts"

This reverts commit 7368030651.

* now only does minimal fact gathering
2016-05-25 17:14:04 -04:00
Toshio Kuratomi
3b69ef7e8b Add strings 'True' and 'False' as booleans as python bools converted to strings will look that way.
Workaround for custom modules which are using choices=BOOLEANS instead
of type='bool'.
2016-05-25 10:36:16 -07:00
Rene Moser
62c424797a cloudstack: add common network code
Also used for VPC support.
2016-05-24 23:18:17 +02:00
Toshio Kuratomi
a2bef45cf6 Update submodule refs 2016-05-24 11:52:19 -07:00
Tim Rupp
9041a0fee9 Adds a general purpose Exception class for F5 modules (#15977)
This class can be used by F5 modules for raising exceptions.
This should be used to handle known errors and raise them so
that they can be printed in the fail_json method.

The common Exception class built-in should not be used because
it hides tracebacks that are necessary to have when debugging
problems with the module.
2016-05-24 11:18:39 -04:00
Brian Coca
52a0165c77 skip non executable inventory when no shebang (#15969)
alternate fix #15934
2016-05-24 10:25:10 -04:00
Rene Moser
fe05c5e35a cloudstack: add VPC support 2016-05-23 23:01:31 +02:00
Michael Scherer
cf44db58e0 Add SEQUENCETYPE to handle the dict_keys type (#15953)
On python 3, there is a specific type for dict keys
instead of list, so previous tests based on Sequence didn't
not work anymore.
2016-05-23 15:17:28 -04:00
Brian Coca
c8f0cdbdfd renamed systemd detection function 2016-05-23 15:09:09 -04:00
James Cammarata
733d017ad0 Save and restore the loader's basedir when loading playbooks
Fixes #15930
2016-05-23 15:04:44 -04:00
Michael Scherer
f9f6f24acd Add a alias for 'long' since python3 do not have it (#15952) 2016-05-23 10:30:06 -04:00
James Cammarata
72b29d122e When adding nested blocks, don't pass in any parent includes
We previously changed block behavior to prefer includes over parent
blocks, which broke inheritence in nested blocks.

Fixes #15926
2016-05-23 10:08:29 -04:00
Michael Schmid
566690a44a Fixes #15915: New HandlerTaskInclude Class which can run TaskIncludes inside Handlers 2016-05-22 15:45:55 +02:00
Toshio Kuratomi
b75895df9b Fix the error handling for loop squashing to restore the name argument into the task args 2016-05-21 07:07:26 -07:00
nitzmahone
a0ff49194e bump submodule refs 2016-05-20 17:29:42 -07:00
Brian Coca
4821dc66ad now we show path from which we load module on vvv
also added remote module location on debug
2016-05-20 09:25:20 -04:00
Brian Coca
38cca53669 return friendlier error when failing to make dirs 2016-05-20 09:03:01 -04:00
jctanner
5bb4ee0c1e Avoid duplicate system related fact calls. (#15716)
* Avoid duplicate system related fact calls.

Addresses #1461
2016-05-19 22:34:19 -04:00
Toshio Kuratomi
97791f8b4e Update submodule refs 2016-05-19 13:28:36 -07:00
Matt Davis
aee3b2e430 Merge pull request #15919 from camradal/devel
Fix issue with latest pyvmomi and certificate validation
2016-05-19 12:30:12 -07:00
Peter Oliver
95cfceda98 Catch DistributionNotFound when pycrypto is absent (#15731)
* Catch DistributionNotFound when pycrypto is absent

On Solaris 11, module `pkg_resources` throws `DistributionNotFound` on import if `cryptography` is installed but `pycrypto` is not.  This change causes that situation to be handled gracefully.

I'm not using Paramiko or Vault, so I my understanding is that I don't
need `pycrpto`.  I could install `pycrypto` to make the error go away, but:
- The latest released version of `pycrypto` doesn't build cleanly on Solaris (https://github.com/dlitz/pycrypto/issues/184).
- Solaris includes an old version of GMP that triggers warnings every time Ansible runs (https://github.com/ansible/ansible/issues/6941).  I notice that I can silence these warnings with `system_warnings` in `ansible.cfg`, but not installing `pycrypto` seems like a safer solution.

* Ignore only `pkg_resources.DistributionNotFound`, not other exceptions.
2016-05-19 11:39:34 -07:00
Matt Clay
bad293ae35 Add work-around for ssh pty race condition.
This should minimize loss of stdout when using
a pty and connecting with ssh or paramiko_ssh.
2016-05-19 10:33:17 -07:00
René Moser
ff62d7bbbd docs: cloudstack: add cloudstack guide to doc fragments (#15898) 2016-05-19 10:31:44 +02:00
Toshio Kuratomi
8363ef43c9 Update submodule refs 2016-05-18 17:04:16 -07:00
Matt Davis
ec2cb07988 Make 'required' optional in module docs (#15906)
Updated module dev docs, doc build, ansible-doc to match
2016-05-18 16:57:36 -07:00
James Cammarata
74a252d0a5 More playbook executor compatibility fixes
With some earlier changes, continuing to forward failed hosts on
to the iterator with each TQM run() call was causing plays with
max_fail_pct set to fail, as hosts which failed in previous plays
were counting those old failures against the % calculation.

Also changed the linear strategy's calculation to use the internal
failed list, rather than the iterator, as this now represents the
hosts failed during the current run only.
2016-05-18 14:09:21 -04:00
Toshio Kuratomi
aad9f43dda Make load_params into a function that custom modules can access (#15913) 2016-05-18 10:50:55 -07:00
Peter Sprygada
d197407306 Merge pull request #15743 from mattchilders/multi-parent-netcfg-difference
Fixed issue with parents havings depth of 3+ on add method of Network…
2016-05-18 09:30:57 -04:00
Toshio Kuratomi
61f2147385 Rename pycompat to pycompat24
This change makes it so we know when it is safe to get rid of the module
(when we stop supporting python2.4) and makes it easier for us to find
code that is using the functions in there to update.

If needed, we'll create a pycompat26 and pycompat27 as well.  These
files are for functions that are needed on that python version to write
portable code.  So python-2.4 compatible modules may need code in
pycompat24, python26+ modules may need code in pycompat26, etc.  If
a function is needed in multiple python versions, we should implement it
in an internal common file and use import to put it in the namespace for
each pycompatXY module.
2016-05-18 06:18:01 -07:00
James Cammarata
f0e26d0b76 In TQM run() mark any entries in _failed_hosts as failed in the PlayIterator
As noted in the comment, the TQM may be used for more than one play. As such,
after creating the new PlayIterator object it is necessary to mark any failed
hosts from previous calls to run() as failed in the iterator, so they are
properly skipped during any future calls to run().
2016-05-18 08:17:39 -04:00
James Cammarata
0f659d699e Re-remove checking for failed state on hosts when building list of hosts
This was re-added by 63471cd (and modified by me to use iterator again),
it simply needs to be removed.

Fixes #15395
2016-05-18 08:17:39 -04:00
Vincent Roy
7a1309c98a Make sure that serial failures are handled correctly. 2016-05-18 08:17:39 -04:00
Vincent Roy
59d3ae6136 Don't let max_fail_percentage affect future plays. 2016-05-18 08:17:39 -04:00
Vincent Roy
994e57fa2b Handle max_fail_percentage per task. 2016-05-18 08:17:39 -04:00
Vincent Roy
e193e80f04 Don't stop executing plays after failure.
https://github.com/ansible/ansible/pull/13750/files
2016-05-18 08:17:39 -04:00
Vincent Roy
ba89b2a095 Backward compatibility execution failures with 1.9 2016-05-18 08:17:39 -04:00
Peter Sprygada
48aa9153f2 Merge pull request #15755 from ocadotechnology/fix-junos-netconf-ssh-agent
Allow ssh agent usage for junos_netconf
2016-05-18 07:54:59 -04:00
Peter Sprygada
9553dfdbab Merge pull request #15911 from keinohguchi/ops_rest_auth_fix
openswitch.py: Fix the OpenSwitch REST authentication
2016-05-18 07:40:15 -04:00
Peter Sprygada
114a0596aa Merge pull request #15727 from privateip/shell_module
handle name resolution errors more gracefully from shell.py
2016-05-18 06:53:06 -04:00
Kei Nohguchi
2043c32551 openswitch.py: Fix the OpenSwitch REST authentication
It's a cookie based authentication, that we get it
through /login endpoint, called by connect() method
and save the cookie for the rest of the call.
2016-05-18 00:17:32 -07:00
Toshio Kuratomi
73a2bddf84 Update submodule refs 2016-05-17 10:51:14 -07:00
Peter Sprygada
7cb7132b24 Merge pull request #15891 from privateip/fixes-ansible-modules-core-3502
bugfix for issue with trying to eval contains with non-string
2016-05-17 06:43:42 -04:00
Michael Scherer
fb2355e47d Port rax.py to python3 compatible syntax (#15875)
Since the pyrax website say that only python 2.7 is tested,
I do not think it is worth to aim for python 2.4 compatibility
for the various rackspace modules.
2016-05-16 17:30:25 -07:00
Peter Sprygada
83d0a15588 bugfix for issue with trying to eval contains with non-string
fixes ansible/ansible-modules-core#3502
2016-05-16 14:54:26 -04:00
Brian Coca
c648c95eb7 made format more flexible and allow for non dict entries 2016-05-16 14:39:49 -04:00
Peter Sprygada
8f7c879574 Merge pull request #15629 from privateip/fix-15496
make netcfg preserve command order
2016-05-16 13:59:46 -04:00
Rob
ba63ccb880 Handle case of both Key and key (#15468) 2016-05-16 12:19:41 -04:00
Michael Scherer
8680cc7156 Fix pkgin detection on NetBSD 6 and 7 (#15834)
Since this is now the default package manager, it got moved
to another location on Netbsd :

  netbsd# type pkgin
  pkgin is a tracked alias for /usr/pkg/bin/pkgin
  netbsd# uname -a
  NetBSD netbsd.example.org 6.1.4 NetBSD 6.1.4 (GENERIC) amd64

But since the package manager is also used outside of NetBSD, we
have to keep the /opt/local path too.
2016-05-16 10:13:49 -04:00
Kei Nohguchi
8de25db681 net_template.py: Fix jinja2 template file search path (#15134)
The change is needed to support the multiple include statements
inside the jinja2 template file, as in '{% include ['another.j2'] %}'.
statement.  I need this capability, as OpenSwitch `switch` role needs
to handle multiple *.j2 files and supporting the include statement
inside jinja2 file is essential, otherwise I need to combine multiple
template files into a single file, which easily causes conflicts
between developers working on different parts of the teamplate, ports
and interface.
2016-05-16 10:05:08 -04:00
Michael Scherer
10edaabed5 Port module_utils/ec2.py to python 3 syntax (#15879)
Since boto is considered as python 2.6 only (cf
https://github.com/ansible/ansible/blob/devel/test/utils/run_tests.sh#L15 ),
no need to use the 2.4 compatible syntax.
2016-05-16 08:44:51 -04:00
Michael Scherer
eb52dc9af0 Port azure_rm_common.py to py3 syntax (#15880)
Since the rest of the file already use a non 2.4 syntax
(such as format), I didn't bother using the 2.4 syntax for
exceptions.
2016-05-16 08:42:28 -04:00
Michael Scherer
cdef2f5db6 Port the gce snippet to a python 2.6 to 3 compatible syntax (#15872)
Since it depend on libcloud and libcloud requirements include python 2.6
since libcloud 0.4.0 (https://libcloud.apache.org/about.html), which
was released in 2011 Q2, and GCE drivers were added in 2013,
we can't run a libcloud version with GCE support on 2.4.
2016-05-16 08:11:31 -04:00
Michael Scherer
fae492324e Port the rest of the file to the 2.4/3 compatible syntax (#15873)
Since the modules can use a paramiko transport (ergo
python 2.4 syntax), we need to keep compat with 2.4 and python 3,
so we need to use the get_exception trick, even if the various juniper
libraries are not compatible with 2.4.
2016-05-16 08:11:15 -04:00
Michael Scherer
a4f6fc0dc2 Port docker_common.py to py3 compatible syntax (#15877)
Since docker-py depend on python 2.6 (cf their tox.ini),
we do not need to make it python 2.4 compatible.
2016-05-16 08:10:35 -04:00
Michael Scherer
97f16b7700 Port shell snippet to python3/2.4 compatible syntax (#15874) 2016-05-16 08:10:07 -04:00
Michael Scherer
127a37f67c Port the module snippet to python3 (#15870)
vca depend on pyvcloud, who depend on PyYAML 3.10, which
support python 2.5 as a minimum, cf https://github.com/vmware/pyvcloud/blob/master/requirements.txt
and http://pyyaml.org/wiki/PyYAML

vmware.py depend on PyVIM, who depend on python 2.6.

So we can use the modern syntax for both of them.
2016-05-16 08:04:43 -04:00
Michael Scherer
e539b2003d Make the facts module run on netbsd (#15833)
It currently fail with

 ansible/module_utils/facts.py\", line 357, in get_service_mgr_facts\r\nKeyError: 'distribution'\r\n"

Since self.facts['distribution'] is used after, we need to make sure
this is set by default and if needed, corrected somewhere for Linux.
2016-05-16 08:02:38 -04:00
feliksik
95cf095222 hashi_vault lookup: be more rebust, and allow fields with other name than 'value' (#13690)
* more robust hashi_vault module, and allow querying specific field in secret-dict

* allow fetching entire secret dict with trailing ':'

* process comment by bcoca for PR #13690
2016-05-14 21:48:31 -04:00
Alexey Kalinin
1d113c384e Fix issue with latest pyvmomi and certificate validation 2016-05-14 11:02:07 -07:00
Toshio Kuratomi
0cb05d8ac9 Some Python-3 module_utils support 2016-05-14 07:51:13 -07:00
chouseknecht
56bb3ec680
Bump core submodule ref. 2016-05-14 09:37:27 -04:00
chouseknecht
7f8a6d11c2
Bumping core submodule ref. 2016-05-14 09:26:32 -04:00
camradal
4bb4c7e68e vCloud module utils error handling bug fixes (#15859)
* Fix AttributeError that hides login errors

* Typo fixes for vca error messages
2016-05-13 23:57:08 -07:00
James Cammarata
6f6456dff5 Adding a deprecation message for accelerated mode 2016-05-13 17:01:07 -04:00
Thomas Quinot
a2c905c32e Fix uninitialized distribution fact on FreeBSD (#15842)
Initialize facts['distribution'] with self.system so that this fact does
not remain uninitialized on systems_platform_working platforms (FreeBSD,
OpenBSD).

Fixes #15841
2016-05-13 16:57:17 -04:00
Nathaniel Case
043e910652 Check for jxmlease when using netconf on JUNOS. (#15835) 2016-05-13 16:26:07 -04:00
James Cammarata
4f0be29d65 Reworking retry/until logic to fix bugs
Prior to this patch, the retry/until logic would fail any task that
succeeded if it took all of the alloted retries to succeed. This patch
reworks the retry/until logic to make things more simple and clear.

Fixes #15697
2016-05-13 16:09:38 -04:00
Toshio Kuratomi
03d33f0905 Start adding required to docs 2016-05-13 11:01:52 -07:00
jctanner
e083fa3d11 Disable sftp batch mode if sshpass (#15829)
Make use of the -oBatchMode=no option to force password prompts from sftp

Addresses #13401
2016-05-13 13:39:04 -04:00
Toshio Kuratomi
119baba6b1 Update submodule refs 2016-05-13 10:17:20 -07:00
Toshio Kuratomi
c1cc9f1f23 Merge pull request #15845 from abadger/ziploader-constants
Ship constants to the modules via internal module params rather than a secondary dict
2016-05-13 10:03:16 -07:00
Matt Martz
878b0dca68 Use .code instead of .getcode() as py24 does not have .getcode(). Fixes https://github.com/ansible/ansible-modules-core/issues/3608 2016-05-13 09:44:00 -05:00
James Cammarata
d2bade6daf Make sure setting facts with run_once makes copies of the data
When using run_once, there is only one dict of facts so passing that
to the VariableManager results in the fact cache containing the same
dictionary reference for all hosts in inventory. This patch fixes that
by making sure we pass a copy of the facts dict to VariableManager.

Fixes #14279
2016-05-13 10:05:19 -04:00
Toshio Kuratomi
186337db28 Ship constants to the modules via internal module params rather than a secondary dict. 2016-05-12 20:30:05 -07:00
Toshio Kuratomi
a404d0ffe2 Update submodule refs 2016-05-12 17:01:25 -07:00
Matt Martz
a521b70217 Merge pull request #15306 from sivel/ansible-modules-core/issue/3370
Cascade ssh_*args configurations in synchronize
2016-05-12 18:59:37 -05:00
Matt Martz
196453b9b2 Merge pull request #13771 from sivel/binary-modules
First pass at allowing binary modules
2016-05-12 18:36:34 -05:00
Matt Martz
72b6f8244c Merge pull request #15337 from sivel/ignore-profile-crap
Guard against a shell profile printing extraneous data
2016-05-12 18:32:02 -05:00
James Cammarata
ae09648068 Merge pull request #15812 from cThrice/patch-3
Fixes #15745 playbook include: Conditional scoping
2016-05-12 15:02:17 -04:00
Toshio Kuratomi
b4e78caf25 Merge pull request #15825 from abadger/fix-squashing-traceback
If we can't squash for any reason, then simply do not optimize the items loop.
2016-05-12 10:59:48 -07:00
Matt Martz
ca22783086 modify_module does not need to return module_path, as the calling code already has access to it 2016-05-12 12:53:49 -05:00
Matt Martz
34adb54734 Make _is_binary use already read module_data, move _is_binary check to the top of the stack 2016-05-12 12:53:49 -05:00
Matt Martz
0faddfa168 Move binary module detection into executor/module_common.py 2016-05-12 12:25:09 -05:00
Matt Martz
ddf3c3838f Re-implement/move some code lost due to merge conflicts 2016-05-12 12:25:09 -05:00
Matt Martz
35246abb2e Don't register new vars that aren't needed 2016-05-12 12:25:09 -05:00
Matt Martz
1e038e5043 Update for py26 2016-05-12 12:25:09 -05:00
Matt Martz
0a8d016642 Get binary modules working for windows, assuming .exe for windows 2016-05-12 12:25:08 -05:00
Matt Martz
d8a243bef0 First pass at allowing binary modules 2016-05-12 12:25:08 -05:00
Toshio Kuratomi
292f0ed0d6 If we can't squash for any reason, then simply do not optimize the items loop.
Also add more squashing testcases

Fixes #15649
2016-05-12 10:06:18 -07:00
Matt Martz
1cee3f35b1 Guard against a shell profile printing extraneous data 2016-05-12 11:43:37 -05:00
Toshio Kuratomi
4d59779e0a Fixed importing the libcloud modules to give a nice error rather than a traceback. 2016-05-12 09:13:46 -07:00
Vic Iglesias
dac356466c Update GCE module to use JSON credentials (#13623)
* Update GCE module to use JSON credentials

* Ensure minimum libcloud version when using JSON crednetials for GCE

* Relax langauge around libcloud requirements
2016-05-12 08:57:26 -07:00
James Cammarata
d391c53b4f Clear blocked hosts when a role duplicate task is found in free strategy
In the free strategy, we mark a host as blocked when it has work to do
(the PlayIterator returns a task) to prevent multiple tasks from being sent
to the host. However, we check for role duplicates after setting the blocked
flag, but were not clearing that when the task was skipped leading to an
infinite loop. This patch corrects that by clearing the blocked flag when
the task is skipped.

Fixes #15681
2016-05-12 10:38:53 -04:00
James Cammarata
08f6283c3f Merge pull request #15747 from larsks/bug/15744
do not erroneously set gathered_facts=True
2016-05-12 10:22:45 -04:00
James Cammarata
3439bcc744 Merge branch 'refresh-inventory-exit' of https://github.com/zenbot/ansible into zenbot-refresh-inventory-exit 2016-05-12 09:36:12 -04:00
James Cammarata
0d7530e6da Change error about loop variable in use to a warning 2016-05-11 21:50:12 -04:00
Toshio Kuratomi
8a184381af Strip junk after JSON return. (#15822)
Fixes #15601
2016-05-11 17:54:01 -07:00
James Cammarata
9d9a451b34 Simply being in an always block shouldn't mean a host did not fail
Previously the changed code was necessary, however it is now problematic
as we've started using the is_failed() method in other places in the code.
Additional changes at the strategy layer should make this safe to remove
now.

Fixes #15625
2016-05-11 19:13:12 -04:00
Carl
fefd87c61a Fixes #15745 playbook include: Conditional scoping
Fixes #15745
Applies conditional forwarding to all tasks/roles within the included playbook.
The existing line only applies forwarded conditionals to the main Task block, and misses pre_, post_, and roles.

Typo ::

Made a selection mistake when I copied over the one line change
2016-05-11 15:58:36 -04:00
James Cammarata
33de7707c9 Do not include params when getting role vars in certain situations
In VariableManager, we fetch the params specifically in the next step,
so including them in the prior step is unnecessary and could lead to things
being overridden in an improper order.

In Block, we should not be getting the params for the role as they are
included earlier via the VariableManager.

Fixes #14411
2016-05-11 13:17:32 -04:00
Toshio Kuratomi
9096901c1f Update submodule refs 2016-05-10 21:59:42 -07:00
Toshio Kuratomi
99e3880181 small python3 fix so that ping will run on python3 2016-05-10 21:59:42 -07:00
Brian Coca
4561be00af simplified inventory error messaging 2016-05-10 17:16:26 -04:00
Tim Rupp
a685fa5543 Add port argument for bigsuds (#15434)
This patch adds the port argument as a valid parameter to the f5_spec.

This argument is supported in bigsuds version 1.0.4 and greater, so
this patch uses the __version__ variable of the bigsuds module to
determine when the port value should be honored by the module.
2016-05-10 16:07:01 -04:00
Brian Coca
f576082949 restore old jsonfile behaviour on key expiration
fixes #14456, now it won't expire keys in middle of a play when they
were 'valid' at 'gather time'.
2016-05-10 15:55:33 -04:00
Brian Coca
47d05e9b58 fix bad assignment, method modifies by ref already
fixes #15694
2016-05-10 12:08:03 -04:00
Matthew Stoltenberg
ddd9f92255 add repr for hostvars (#15793)
* allows passing full hostvars to a module
2016-05-10 10:23:10 -04:00
Toshio Kuratomi
9e88fa21f5 Update submodule refs 2016-05-10 07:13:57 -07:00
Kamjar Gerami
724e692f54 fixes-#15685-tools-that-paginate-show-spurious-less-output: less --version outputs to standard out not to standard error so this changes the redirect from 2> to > (#15720)
fixes-#15685-tools-that-paginate-show-spurious-less-output: Updated redirect to include stderr as well as stdout to not show any errors on screen
2016-05-09 16:48:46 -04:00
jctanner
781de83762 When walking through module directories, always follow symlinks. (#15784)
Fixes #15783
2016-05-09 14:24:39 -04:00
Mike Bryant
68795d8128 Allow ssh agent usage for junos_netconf
By default the `Shell` class disables ssh agents. The `junos_netconf`
module uses this class, but doesn't re-enable agents.
Here it's explicitly enabled again, so an ssh agent can be used to
connect to and configure Junos devices.
2016-05-09 17:54:53 +01:00
Toshio Kuratomi
409bfe4d0f Strip leading and trailing whitespace for json arg types 2016-05-09 08:14:50 -07:00
Robin Roth
30e5999812 Fix distribution_facts missing on BSD (#15780)
The previous fix in #15773 only solved MacOSX, but left other BSDs broken

fixes #15768
2016-05-09 10:55:28 -04:00
Pomin Wu
78808fc4cc Fixed ansible_os_family variable on OS X (#15768) (#15773)
Fixed `ansible_os_family` variable on OS X
2016-05-09 09:59:26 -04:00
nitzmahone
fca5ba153e bump extras submodule ref 2016-05-06 09:49:33 -07:00
Toshio Kuratomi
0a5831e654 Update submodule refs 2016-05-06 08:13:51 -07:00
Jiri Tyr
589f6d25bb Updating VCA module documentation (#14368) 2016-05-06 09:53:43 -04:00
James Cammarata
09c90f7f2f Fixing bugs in strategies
* Don't filter hosts remaining based on their failed state. Instead rely
  on the PlayIterator to return None/ITERATING_COMPLETE when the host is
  failed.
* In the free strategy, make sure we wait outside the host loop for all
  pending results to be processed.
* Use the internal _set_failed_state() instead of manually setting things
  when a failed child state is hit

Fixes #15623
2016-05-06 09:22:11 -04:00
Lars Kellogg-Stedman
21ac95402f do not erroneously set gathered_facts=True
In `lib/ansible/executor/play_iterator.py`, ansible sets a host's
`_gathered_facts` property to `True` without checking to see if there
are any tasks to be executed.  In the event that the entire play is
skipped, `_gathered_facts` will be `True` even though the `setup`
module was never run.

This patch modifies the logic to only set `_gathered_facts` to `True`
when there are tasks to execute.

Closes #15744.
2016-05-05 23:45:06 -04:00
nitzmahone
7708948d7d bump submodule refs 2016-05-05 17:05:36 -07:00
nitzmahone
133395db30 add jimi-c's unit test for squashed skip results, tweaked is_skipped() logic to pass 2016-05-05 15:29:10 -07:00
Andrew Taumoefolau
85868e07a9 Don't assume a task with non-dict loop results has been skipped.
This changeset addresses the issue reported here:

  ansible/ansible-modules-core#1765

The yum module (at least) includes its task results as strings, rather than
dicts, and the code this changeset replaces assumed that in that instance the
task was skipped. The updated behaviour assumes that the task has been
skipped only if:

* results exist, and
* all results are dicts that include a truthy skipped value
2016-05-05 15:29:10 -07:00
Brian Coca
3a6ca0b4a6 made ansible-doc complain on missing 'requried' 2016-05-05 17:02:39 -04:00
Brian Coca
fb7940fc50 check that variable first
before using string methods to check for magic interpreter var
2016-05-05 11:14:11 -04:00
camradal
be87cd8c26 Fix logging into vCloud Director and expose verify_certs argument (#15533) 2016-05-05 09:48:54 -04:00
Andrew Taumoefolau
bc81c76f86 Apply inventory host restrictions by host name rather than UUID.
Issue #15633 observes that a meta: inventory_refresh task causes the playbook
to exit. An inventory refresh flushes all caches and rebuilds all host
objects, assigning new UUIDs to each. These new host UUIDs currently fail to
match those on host objects stored for restrictions in the inventory, causing
the playbook to exit for having no hosts to run further tasks against.

This changeset attempts to address this issue by storing host restrictions
by name, and comparing inventory host names against these names when applying
restrictions in get_hosts.
2016-05-05 22:32:58 +10:00
machilde
97c6389d62 Fixed issue with parents havings depth of 3+ on add method of NetworkConfig 2016-05-05 00:36:22 -05:00
Robin Roth
56ba10365c better fix for arch version detection (#15705)
* better fix for arch version detection

fixes  #15696

* be extra safe about tracebacks in facts.py

* add comments to explain the setup
* make allowempty more conservative, ignore file content
* wrap function call in try/except
  * should never happen, but if it happens the bug should be distribtion=N/A and not a traceback
2016-05-04 12:32:08 -07:00
nitzmahone
6373f2b045 error message cleanup 2016-05-04 09:43:41 -07:00
Peter Sprygada
91f67ac37a handle name resolution errors more gracefully from shell.py
This change will catch socket.gaierror exceptions from shell.py and
return a more friendly message to the user
2016-05-04 11:12:26 -04:00
Toshio Kuratomi
ae9ddf0c1c Submodule updates to fix documentation 2016-05-03 10:12:02 -07:00
Tobias Wolf
87648f7bdf actionable.py: Do not print next task banner in handler callback (#15698)
Fix actionable callback plugin to not print the banner of the previous
task.

When a handler is executed there is no task banner, so in case it is run,
it will reference the banner from the preceding task.

**Author:** @hvhaugwitz

Test case:

      ---

      - name: actionable filter
        hosts: all
        handlers:
          - name: handler
            command: "true"
        tasks:
          - name: task 1
            file: path=/tmp/test state=touch
            notify: handler
          - name: task 2
            file: path=/tmp/test state=absent
          - name: task 3
            file: path=/tmp/test state=absent
          - name: task 4
            file: path=/tmp/test state=absent
          - name: task 5
            file: path=/tmp/test state=absent
          - name: task 6
            file: path=/tmp/test state=absent

Example output:

BEFORE
------

      PLAY [actionable filter] *******************************************************

      TASK [task 1] ******************************************************************
      changed: [localhost]

      TASK [task 2] ******************************************************************
      changed: [localhost]

      RUNNING HANDLER [handler] ******************************************************

      TASK [task 6] ******************************************************************
      changed: [localhost]

      PLAY RECAP *********************************************************************
      localhost                  : ok=8    changed=3    unreachable=0    failed=0

AFTER
-----

      PLAY [actionable filter] *******************************************************

      TASK [task 1] ******************************************************************
      changed: [localhost]

      TASK [task 2] ******************************************************************
      changed: [localhost]

      RUNNING HANDLER [handler] ******************************************************
      changed: [localhost]

      PLAY RECAP *********************************************************************
      localhost                  : ok=8    changed=3    unreachable=0    failed=0
2016-05-03 11:25:46 -04:00
James Pic
d72a03deae Add get_distribution_Archlinux (#15696) 2016-05-03 08:20:08 -07:00
Toshio Kuratomi
fff94551a1 Update core submodule ref to fix docs build 2016-05-03 07:53:27 -07:00
Toshio Kuratomi
3f104dcee9 Add a jsonarg type to arg spec (#15701)
This makes sure that if we get a list or dict that it is turned into
a jsonified string.
2016-05-03 10:21:00 -04:00
Brian Coca
e0573d3099 make vi the default editor if no EDITOR
fixes #15577
2016-05-03 09:39:19 -04:00
James Cammarata
c6a9d20b5c Merge pull request #15689 from axelspringer/include_fix
Restore Ansible 2.0 compatibility for include:
2016-05-03 09:18:13 -04:00
Martin Matuska
5ee38617b9 Treat "static: yes/no" with higher priority than "task_includes_static" in ansible.cfg 2016-05-03 12:15:13 +02:00
Toshio Kuratomi
c42501cfe7 Update submodule refs 2016-05-02 11:31:06 -07:00
Toshio Kuratomi
81019e03fc Update submodule refs 2016-05-02 10:05:02 -07:00
Martin Matuska
438ed70a43 Restore Ansible 2.0 compatibility for includes 2016-05-02 17:50:42 +02:00
jctanner
eb31faa7f5 Remove the ziploader provided pythonpaths from the env inside run_com… (#15674)
Remove the ziploader provided pythonpaths from the env inside run_command.

Fixes #15655
2016-05-02 11:29:35 -04:00
James Cammarata
1fc44e4103 Don't fail hosts when using any_errors_fatal when ignoring errors
Fixes #15431
2016-05-01 12:40:09 -04:00
Yannig
3901556b35 When var name is the same as var content, try to template it before reporting that var is not defined. (#13629)
* When var name is the same as var content, try to template it before reporting that var is not defined.
Add asserts in test_var_blending to check this special corner case.

* Fix integration tests when using debug with list or dict.
2016-05-01 06:42:09 -07:00
Toshio Kuratomi
f39ad1f13a Get rid of logentries.to_unicode.
It wasn't doing anything that a literal couldn't do and used
unicode_escape which only understands latin1 (The author of the code
seems to have thought it took an encoding argument but it looks like
that was silently ignored.)
2016-04-30 07:45:51 -07:00
Toshio Kuratomi
aec74b4b65 Fix inventory on python3 2016-04-30 07:28:41 -07:00
Toshio Kuratomi
b8a988e922 bytes when passing to os.path.* and opening the file, text at other times
Fixes #15644
2016-04-29 22:20:22 -07:00
Toshio Kuratomi
f61dd8c7fc Update submodule refs 2016-04-29 22:00:57 -07:00
Toshio Kuratomi
98feafb411 Fix the mapping of module_name to Locks
This was reinitialized every time we forked before so we weren't sharing
the same Locks.  It also was not accounting for modules which were
directly invoked by an action plugin instead of going through the
strategy plguins.
2016-04-29 20:47:51 -07:00
Robin Roth
1d6608e84f Dist version fix for Red Hat and more tests (#15663)
* add tests for centos6, rhel6 and rhel7

* gen_distribution_version_testcase with python2.6

* remove unused imports

* fix redhat/vmware/... parsing

* add centos7 test case
2016-04-29 13:18:50 -07:00
Brian Coca
6f4f8e6e79 fix typo 2016-04-29 15:01:25 -04:00
Toshio Kuratomi
1b78fd57b1 Merge pull request #15656 from abadger/ziploader-namespace
Fix ziploader for the cornercase of ansible invoking ansible.
2016-04-29 11:12:11 -07:00
Brian Coca
d53c4b8ae7 fixed method signature as per #15668 2016-04-29 13:13:01 -04:00
Toshio Kuratomi
487e6562ca Fix ziploader for the cornercase of ansible invoking ansible.
* Make ziploader's ansible and ansible.module_utils libraries into
  namespace packages.
* Move __version__ and __author__ from ansible/__init__ to
  ansible/release.py.  This is because namespace packages only load one
  __init__.py.  If that is not the __init__.py with the author and
  version info then those won't be available.
* In ziplaoder, move the version ito ANSIBLE_CONSTANTS.
* Change PluginLoader to properly construct the path to the plugins even
  when namespace packages are present.
2016-04-29 08:47:49 -07:00
Chris Houseknecht
361ee9d7a6 Merge pull request #15618 from chouseknecht/docker_doc_frag
Docker doc frag
2016-04-29 01:27:57 -04:00
Brian Coca
941564b366 API now connects to server lazily (#15632)
This should fix most issues with offline operation.

Fixes #14486
Fixes #13991

Alternate to #15363 and #15593
2016-04-28 23:28:02 -04:00
Dag Wieers
7af47a3886 Rename function bool() as it is a Python built-in function (#15651) 2016-04-28 14:39:35 -04:00
Toshio Kuratomi
8016f8a638 Update submodule refs 2016-04-28 07:21:05 -07:00
Toshio Kuratomi
01cd4fd06f Handle "/usr/bin/env python" style ansible_*interpreter settings.
Fixes #15635
2016-04-27 20:22:31 -07:00
Brian Coca
60c1155d50 added common azure tags fragment 2016-04-27 16:55:41 -04:00
Peter Sprygada
c43ea83275 fixes #15496
changed to using OrderedDict to preserve order of lines
2016-04-27 14:41:00 -04:00
Toshio Kuratomi
13532027ff Update submodules ref 2016-04-27 07:17:32 -07:00
Toshio Kuratomi
2583f2774d Some beginning python3 porting for urls.py 2016-04-27 07:15:51 -07:00
Toshio Kuratomi
c2efb0b7e6 Update submodule refs 2016-04-27 06:49:17 -07:00
Toshio Kuratomi
a0f397eb6c Fix traceback in fetch_urls when status code is in info as well as the error. 2016-04-27 06:49:12 -07:00
chouseknecht
9ddcf13661
Add aliases 2016-04-27 04:12:47 -04:00
chouseknecht
2e19a1d86a
Updated doc fragment to be consistent with the getting started guide. 2016-04-27 04:02:15 -04:00
Robin Roth
b861083dfb move machine_id back to Facts class 2016-04-27 09:29:39 +02:00
Robin Roth
5626c540ce refactor distribution version parsing
* split code as separate class
* split different distributions as individual functions
* keep program logic mostly identical (for now)
* increase readability, reduce complexity/indentation
* make future testing/refactoring easier
* step towards making distribution parsing independent of the Facts class
* add some changes to make facts.py python3 parsable
2016-04-27 09:15:01 +02:00
James Cammarata
8103793b55 Version bump to 2.2.0 for devel 2016-04-26 16:29:52 -04:00
nitzmahone
8c27018038 update submodule refs 2016-04-26 09:51:16 -07:00
Brian Coca
0652fa0ce6 ran dos2unix and renamed tags cannonical option 2016-04-26 11:27:01 -04:00
Toshio Kuratomi
008bde91a8 Update submodule refs 2016-04-26 07:24:27 -07:00
Rob
bc859eec7e Add shared functionality to return list of security group IDs from list of names (#15054)
* Add shared functionality to return list of security group IDs from list of security group names - this functionality can be used by nearly all ec2 modules

* Improved doc string for get_ec2_security_group_ids_from_names function
2016-04-26 09:17:36 -04:00
Chris Houseknecht
2790929e73 Fix bugs from API version 1.20 testing. (#15586) 2016-04-25 16:07:24 -04:00
Nathaniel Case
250b975704 Clarify exception handling in net modules (#15507)
* Clarify exception handling in EOS

Also modify to EOS to standardize modules. It makes vimdiff a lot less angry

* Move IOS exception handling into Cli

* Move IOS-XR exception handling into Cli

* Move JUNOS exception handling into Cli

* Move NXOS exception handling into Cli

And reorganize to make it match the other modules

* Move OpenSwitch exception handling into Cli

More speculative restructuring here
2016-04-25 16:04:19 -04:00
James Cammarata
50792f46a5 Submodule pointer update 2016-04-25 15:58:44 -04:00
Jonathan Davila
1999e71658 Added basic auth argument spec to utils (#15585) 2016-04-25 14:55:39 -04:00
Matt Davis
8bf1c53b21 winrm connection tweaks for pywinrm (#15584)
added warnings for invalid kwargs
sniff supported authtypes (for new pywinrm)
use default authtypes (for old pywinrm)
error on unsupported authtype
allow no username/password to be specified (kerb SSO)
tested w/ old and new pywinrm
hacky CLIXML parsing of stderr
2016-04-25 14:20:27 -04:00
René Moser
4e0013d161 playbook, include: fix Unexpected Exception: 'NoneType' object has no attribute 'strip' (#15574)
If `include:` statement is used without argument, we get a traceback.
2016-04-25 13:40:49 -04:00
Olivier GROSJEANNE
4647e8b74e HTTPError can also function as a non-exceptional file-like return value (#14915)
* HTTPError can also function as a non-exceptional file-like return value (the same thing that urlopen() returns)

* HTTPError - adding response to info dictionnary

* HTTPError - adding response to info dictionnary

* HTTPError - adding body response to info dictionnary
2016-04-25 13:21:45 -04:00
Jonathan Davila
f296d74329 Documentation fragment. To be used with modules that use basic auth. (#15582)
Supplies a doc fragment for:
- api_username
- api_password
- api_url
- validate_certs
2016-04-25 12:54:11 -04:00
Toshio Kuratomi
2fd7f194c8 Convert byte strings to unicode strings in our task results (#15581)
Fixes #15367
2016-04-25 12:35:25 -04:00
Robin Roth
f7c589b049 get ssh_keys without using distribution info (#15301)
* use list of possible directories directly instead of checking distribution info
* this could fail if someone has keys in one of the other directories, but there could also be custom ssh key directories, which
  are not checked at all
* this is work towards separating Facts from Distribution in facts.py
2016-04-25 12:15:35 -04:00
Darragh Bailey
be17ba67b2 Prevent race in key setup for accelerate daemon (#15299)
Ensure that initial setup in creating the key directory for ansible
accelerate mode keys, and generation/storage of the key for a
particular host are completed in a multiprocess safe manner.

Creating directories/files and then assigning permissions and contents
to them means that paths may exist and satisfy the os.path.exists()
method in python for other processes before they are usable.

Use a combination of locking around operations with use of unique named
files and an OS file system move to ensure that the conditions of
checking whether a file or directory exists, where it is potentially
created by another thread, will only succeed when the file has both the
correct contents and permissions.

Fixes #13850
2016-04-25 12:13:42 -04:00
Matt Davis
2becd79e5f Merge pull request #15314 from nitzmahone/win_reboot
add win_reboot action
2016-04-25 09:13:18 -07:00
Peter Sprygada
2f411c9aa9 fix default REST ports for http and https in openswitch (#15580)
properly uses the right default ports for http (80) and https (443)
2016-04-25 11:42:28 -04:00
Tegan Snyder
bf0da4aa3c add centrify dzdo escalation (#15219)
add dzdo context, and test
2016-04-25 11:24:26 -04:00
Adam Hamsik
2424d57868 Add sas_address and sas_device_handle to ansible disk device facts (#15201) 2016-04-25 11:22:46 -04:00
James Cammarata
1211a0fa12 Fixing the way we iterate over child states for tasks
Previously we were first checking the fail/run state of the child
state for tasks/rescue/always portions of the block. Instead we are now
always recursively iterating over the child state and then evaluating
whether the child state is failed or complete before changing the failed/
run state within the current block.

Fixes #14324
2016-04-25 11:13:44 -04:00
Brian Coca
0f9eaedfa9 added missing alias to docker doc fragment 2016-04-25 10:20:59 -04:00
Toshio Kuratomi
87d2345cf5 Merge pull request #15562 from abadger/ziploader-minor
Quite a few individually minor changes to ziploader
2016-04-25 06:59:22 -07:00
Toshio Kuratomi
bdd73e31dc Have test-module clean up the local temp dir when it exits
Get test-module's debugger switch to do something useful with ziploader modules
2016-04-24 20:44:42 -07:00
Toshio Kuratomi
3ffd55ce7f Don't include "ansible" in the module output as there are a few files in the upper directory (args and the module) 2016-04-24 20:42:14 -07:00
Toshio Kuratomi
3c135ef3f2 Push debug files into a subdirectory to keep things cleaner.
We now have the ansible module directory, ansible_module_*.py script
file and the args file.  Makes sense to push them all into a separate
subdir.
2016-04-24 20:42:14 -07:00
Toshio Kuratomi
e9553c975f Add debug usage to comments in the ziploader wrapper and don't strip comments if ANSIBLE_KEEP_REMOTE_FILES=1 2016-04-24 20:42:13 -07:00
Peter Sprygada
03a77e025d Merge pull request #15569 from privateip/local_action_junos_template
updates action plugin junos_template to guess file format
2016-04-24 13:13:34 -04:00
Peter Sprygada
a1a732e24d updates action plugin junos_template to guess file format
This update will attempt to guess the file format based on the template
extension if the format argument isnt set.  It will also set the commit
comment to the task name if the comment isnt' explicitly defined.
2016-04-24 11:41:00 -04:00
Peter Sprygada
ffd42118d9 Revert "add new action plugin junos_config" 2016-04-24 10:34:29 -04:00
Peter Sprygada
cea6d858bc Merge pull request #15566 from privateip/junos
adds config_format to junos shared module
2016-04-24 08:57:08 -04:00
Peter Sprygada
c4bd1c5a33 Merge pull request #15553 from privateip/local_action_junos_config
add new action plugin junos_config
2016-04-24 08:25:30 -04:00
Peter Sprygada
c87300f9e7 adds check on config_format kwarg in junos
This adds a check to validate the arugment for config_format kwarg in
get_config.  If the specified format is not a valid option, the shared
module will call fail_json
2016-04-24 08:20:14 -04:00
Peter Sprygada
61baf41edc Merge pull request #5 from dgarros/pyez
Add options to get_config to accept format (text, set or xml)
2016-04-24 08:18:10 -04:00
Peter Sprygada
2c90472609 Merge pull request #15410 from privateip/junos
adds support for netconf to junos shared module
2016-04-24 06:57:18 -04:00
Toshio Kuratomi
44e21f7062 Allow AnsibleModules to be instantiated more than once in a module
Fix SELINUX monkeypatch in test_basic
2016-04-23 14:04:45 -07:00
chouseknecht
dc9b784432
Update per PR comments. 2016-04-23 12:47:16 -04:00
chouseknecht
8dc04770b6 Fix syntax error 2016-04-23 12:46:47 -04:00
chouseknecht
48a2165310 Adding docker_common util module. 2016-04-23 12:46:47 -04:00
Toshio Kuratomi
d7189a442e ziploader currently needs absolute imports to know whether to include another module 2016-04-23 07:25:21 -07:00
Yannig Perre
72f17f3ff3 New get_all_subclasses function in basic modules and use it in fact modules. 2016-04-23 07:24:26 -07:00
Yannig Perre
eb18767f91 Visit all network class not just direct sub classes.
Fix for https://github.com/ansible/ansible/issues/15446
2016-04-23 07:24:26 -07:00
Toshio Kuratomi
09605ce806 Fix facts for the FieldAttribute list change in 30a38f9 2016-04-22 16:31:53 -07:00
Peter Sprygada
edbdf0d955 add new action plugin junos_config
This adds a new action plugin for junos for working with the junos configuration
file on the remote device
2016-04-22 15:48:51 -04:00
Peter Sprygada
32329b493d adds support for netconf to junos shared module
Netconf support is provided using the junos-eznc library and the shared
module depends on junos-eznc to be installed on the local Ansible host.  This
commit also adds changes to the netcfg library to handle receiving messages
over netconf.

To use netconf, specify transport=netconf for junos module.  Be sure that
netconf has been enabled on the remote device.
2016-04-22 15:28:53 -04:00
James Cammarata
30a38f94ce Create a special class of list FieldAttribute for splitting on commas
Which we're use on a case-by-case basis if we find people were actually
using comma-separated strings for list values outside of hosts. Support
for doing so is now deprecated and users should instead use the full
YAML syntax for lists of values.

Fixes #15291
2016-04-22 14:21:14 -04:00
Toshio Kuratomi
fcd6d7010d Fixup perms dont rely on privileged user named root (#15482)
* Don't rely on username to check for root privileges

The SSH username isn't a reliable way to check if we've got root privileges on
the remote system (think "toor" on FreeBSD). Because of this check, Ansible
previously tried to use the fallback solutions for granting file access (ACLs,
world-readable files) even on systems where it had root privileges when the
remote username didn't match the literal string "root".

Instead of running checks on the username, just try using `chmod` in any case
and fall back to the previous "non-root" solution when that fails.

* Fail if we are root and changing ownership failed

Since this code is security sensitive we document exactly the expected
permissions of the temporary files once this function has run.  That way
if a flaw is found in one end-result we know more precisely what scenarios
are affected and which are not.
2016-04-22 08:40:34 -07:00
jctanner
76f73dc81f Change the raw module's detection of environment settings. (#15535)
The task_vars datastructure always contains an environment key,
so use the _task.environment property to look for a non-empty
list instead.
2016-04-21 22:58:07 -04:00
chouseknecht
a79e9182e1
Set the name of the user_agent in each mangement client. 2016-04-21 17:51:28 -04:00
Kei Nohguchi
9d5b4fe212 openswitch.py: Use new ops.dc declarative Config(DC) module (#15489)
Instead of using the old OpenSwitch runconfig, we'll use
Mir's new ops.dc declarative config for the DC interaction
with OpenSwitch.  This gives us the clearer separation between
ansible and the OpenSwitch, as well as the performance
improvement done inside the ops.dc module itself.

Squashed the original Mir's change into single commit.

Tested-by: Kei Nohguchi <kei@nohguchi.com>
2016-04-21 17:23:43 -04:00
Brian Coca
a76531ca3a submodule ref update 2016-04-21 16:30:27 -04:00
chouseknecht
af5e4abf66
Rename azure inventory script. Fix bug preventing AD user login via environment vars. 2016-04-21 14:34:08 -04:00
James Cammarata
772d659929 Updating CHANGELOG and extras submodule pointer for new kubernetes module 2016-04-21 13:23:32 -04:00
Toshio Kuratomi
bac47f6281 Update submodule refs 2016-04-21 07:42:08 -07:00
Chris Houseknecht
ba74f5f3e5 Adding docker doc frag (#15494) 2016-04-20 13:56:19 -04:00
Brian Coca
a5d79a39d5 Ensure action plugins remove tmp dirs created (#15501)
fixes #14917
2016-04-20 13:39:12 -04:00
Matt Davis
67e6bd18e4 Merge pull request #15488 from jctanner/AMC-32
WARN if the play or the task attempts to pass environment to the raw module
2016-04-20 10:03:17 -07:00
Toshio Kuratomi
6520312a65 Update submodule refs 2016-04-20 09:17:19 -07:00
Brian Coca
b1c3d2aacb removed unused section regex, corrected group one 2016-04-20 11:52:50 -04:00
Toshio Kuratomi
5fc90058e4 Make ziploader handle python packages as well as python modules 2016-04-19 20:10:51 -07:00
James Tanner
095ec760ac Provide a warning if the play or the task attempts to pass environment to the raw module.
Addresses ansible-modules-core/issues/32
2016-04-19 22:41:46 -04:00
James Cammarata
f32592f092 Merge pull request #14400 from d3matt/FIX/paramiko_lecture
paramiko transport appears to hang if it gets a sudo lecture
2016-04-19 13:31:17 -04:00
Toshio Kuratomi
ee18af48ef Merge pull request #15385 from bjne/mysql_unix_socket
mysql_*: enable mysql connection via unix socket
2016-04-19 10:09:12 -07:00
James Cammarata
a0dea1ac35 Fix var precedence bug introduced in ff9f5d7d
Fixes #14067
2016-04-19 12:40:31 -04:00
Toshio Kuratomi
7b5d2d3bec Make sure that args are interpreted as utf8 on python3 2016-04-19 09:37:17 -07:00
Toshio Kuratomi
e386a51cf8 Trnasform file name to bytes before opening it to avoid unicode errors if python tries to encode it implicitly 2016-04-19 08:33:01 -07:00
Toshio Kuratomi
0a31c24938 Merge pull request #15419 from nitzmahone/module_debug_arg_override
add _load_params debug overrides for module args/file passed on cmdline
2016-04-19 07:49:05 -07:00
Toshio Kuratomi
596f6e0894 Update core submodule ref again for another git fix 2016-04-19 07:44:26 -07:00
Toshio Kuratomi
0e63f09d5a Fix for apt module test failures 2016-04-19 07:36:46 -07:00
Brian Coca
33761efd19 Merge pull request #15417 from bcoca/copy_vaulted
Copy vaulted
2016-04-19 10:22:30 -04:00
Toshio Kuratomi
c8cb5e1042 Update submodule refs 2016-04-19 07:01:50 -07:00
Matt Davis
822f904aa6 Merge pull request #14813 from mattclay/lxd-plugin
Add lxd connection plugin.
2016-04-19 02:06:31 -07:00
James Cammarata
0e2f1b423d Merge pull request #15455 from chemikadze/devel
Fix duplicate host with different uuid created after add_host
2016-04-19 02:50:27 -04:00
James Cammarata
6eefc11c39 Make the loop variable (item by default) settable per task
Required for include+with* tasks which may include files that also
have tasks containing a with* loop.

Fixes #12736
2016-04-19 01:42:40 -04:00
Toshio Kuratomi
d2a7be142e A couple fixes for ziploader:
* Move zipcache temp dir creation into the locked section otherwise it
  races with other workers.
* Catch IOError and turn it into an AnsibleError.  IOErrors can hang
  multiprocessng.
2016-04-18 11:51:45 -07:00
nitzmahone
5b336832af add _load_params debug overrides for module args/file passed on cmdline
Updated python module wrapper explode method to drop 'args' file next to module.
Both execute() and excommunicate() debug methods now pass the module args via file to enable debuggers that are picky about stdin.
Updated unit tests to use a context manager for masking/restoring default streams and argv.
2016-04-18 11:06:46 -07:00
James Cammarata
ed35e8bce2 Don't override the http status code when successful in urls.py 2016-04-18 13:20:24 -04:00
Toshio Kuratomi
7833b5bec4 Merge pull request #15420 from robinro/distribution_version_tests
Distribution version tests
2016-04-18 10:05:55 -07:00
Chris Houseknecht
f28a0ca4bb Update Azure doc fragment (#15450)
* Add default attribute to all option doc strings.

* Fix fragment file name.
2016-04-18 11:05:30 -04:00
Brian Coca
621b98668f fixed boto.ec2 import
alternative to #15224 and fixes #11755
2016-04-18 10:34:44 -04:00
Nikolay Sokolov
d8867d7ce3 Fix duplicate host with different uuid created after add_host
If add_host is performed with hostname existing in inventory, but
not yet accessed and put in inventory cache, additional host with
same hostname and different uuid is created, causing patterns to
misbehave.
2016-04-18 00:10:09 -07:00
Ritesh Khadgaray
3608829b1b vmware.py: allow for better search functionality (#15053)
- search entity by path
 - search vm based on folder
 - search for a vm based on given id ( uuid/name/dns_name/ip/inventory_path)
 - search for a cluster by name, in a given datacenter (optionally)
 - search for objects of a given type in a folder

Note: instance uuid is unique to a VM
2016-04-17 19:10:24 +02:00
chouseknecht
ea07afe67b
Add missing AD user params. 2016-04-17 01:43:39 -04:00
Chris Houseknecht
9e6988c7b5 Merge pull request #15359 from chouseknecht/azure_common
Adding common utils module for new Azure modules.
2016-04-16 04:17:56 -04:00
chouseknecht
98d8da1e67 Adding Azure module doc fragments. 2016-04-16 01:19:59 -04:00
chouseknecht
47620737fb Adding common utils module for new Azure modules. 2016-04-16 01:13:19 -04:00
Matt Clay
5fc76df18b Add lxd connection plugin. 2016-04-15 19:10:57 -07:00
Matt Martz
a985bf6a31 Don't pass context to urlopen, instead add it to the handlers. Fixes https://github.com/ansible/ansible-modules-core/issues/3437 2016-04-15 16:10:54 -05:00
Robin Roth
37188ea336 cleanup tests
* use nose test generator
* more comments
* move facts import inside the skipped function, fix python3 warning
2016-04-15 17:14:14 +02:00
Robin Roth
2b104fe6ad fix tests for SLES and CoreOS
* include #15230
2016-04-15 17:13:59 +02:00
Brian Coca
7062e086d4 made paging marker configurable as boto differs 2016-04-15 10:37:32 -04:00
nitzmahone
e75077fb23 bump submodule refs 2016-04-14 15:57:45 -07:00
Peter Sprygada
9111efc975 adds two new regex filters for use in playbooks (#14696)
The first filter is regex_search which adds the ability to do a regex
search on a fact.  The filter supports returning either all capture groups
or a set of capture groups (either by index or named).

Example usage of regex_search filter

debug: msg="{{ out.stdout[0] | regex_search('image version. (?P<test>\d+).(\d+)', '\\g<test>', '\\2' ) }}"

The second filter is regex_findall with adds the capability to do a
regex findall on a fact or variable and return all occurances of a pattern.

debug: msg="{{ out.stdout[0] | regex_findall('vlan (\d+)' }}"

The filter supports two addtional keyword arguments, ignorecase=[true, false]
and multiline=[true, false]
2016-04-14 14:54:03 -04:00
Brian Coca
5940d3d45b fixes to vault/copy
rm _del_ as it might leak memory
renamed to tmp file cleanup
added exception handling when traversing file list, even if one fails try rest
added cleanup to finally to ensure removal in most cases
2016-04-14 14:12:48 -04:00
Cambell
cdf6e3e4bf feature/copy-vault-dataloader: Add method get_real_file(file_path) to dataloader
- get_real_file will decrypt vault encrypted files and return a path to
  a temporary file.

- cleanup_real_file will remove a temporary file created previously with
  get_real_file
2016-04-14 14:12:48 -04:00
Patrick Ogenstad
6c5ea685a2 Allow timeout to be configurable (#14973) 2016-04-14 09:35:07 -04:00
Toshio Kuratomi
78365e206f Merge pull request #15059 from willthames/remove_boto_ec2_requirement
Remove need for unnecessary boto.ec2 import
2016-04-13 19:37:56 -07:00
Toshio Kuratomi
2163a24a12 Fix when debug commands are run on the wrapper and the wrapper as a file in the current directory 2016-04-13 14:20:01 -07:00
Brian Coca
a5a6bcfbbf updated capabilities to new way of module ref 2016-04-13 14:54:34 -04:00
Brian Coca
b63238ff2c removed unused code for signal handling 2016-04-13 14:54:34 -04:00
Michael Scherer
74c83a91ed Add caps facts, fix #10360 (#15292) 2016-04-13 14:13:45 -04:00
Wolfgang Karall
7a9b8e43da get_mount_facts -- find bind mounts and add info to options field (#12036)
* get_mount_facts -- find bind mounts and add info to options field

* get_mount_facts -- only run findmnt if get_bin_path() finds the binary
2016-04-13 14:05:50 -04:00
Toshio Kuratomi
208ad36ce4 Merge pull request #15344 from abadger/ziploader
Ziploader "recursive imports" and caching
2016-04-13 10:27:01 -07:00
Jonathon Klobucar
7bee994e1c Fix for serial when percent amount is less than one host (#15396)
Ansible when there was a percentage that was calculated to be less than
1.0 would run all hosts as the value for a rolling update.

The error is due to the fact that Python will round a
float that is under 1.0 to 0, which will trigger the case of
0 hosts. The 0 host case tells ansible to run all hosts.

The fix will see if the percentage calculation after int
conversion is 0 and will else to 1 host.
2016-04-13 10:49:38 -04:00
Toshio Kuratomi
afc7ec431a Update submodule refs 2016-04-12 13:55:12 -07:00
Toshio Kuratomi
7d174910c3 Make the ziploader wrapper work with PY3 2016-04-12 11:39:22 -07:00
Toshio Kuratomi
0031e08f7d excommunicate fix 2016-04-12 09:12:58 -07:00
Toshio Kuratomi
55bb24fb7d Reenable unicode=>byte conversion for module parameters to fix integration tests 2016-04-12 08:01:07 -07:00
Toshio Kuratomi
75546678d9 Fix unittests 2016-04-12 08:01:07 -07:00
Toshio Kuratomi
452034564c python-2.4's -m is severely limited.
Extract the module and invoke it as a script to work around python-2.4's
lack of features.
2016-04-12 08:01:07 -07:00
Toshio Kuratomi
b571ecdfec Move module arg passing from the environment to stdin (from the wrapper to the module) 2016-04-12 08:01:07 -07:00
Toshio Kuratomi
dcc5dfdf81 Controller-side module caching.
This makes our recursive, ast.parse performance measures as fast as
pre-ziploader baseline.

Since this unittest isn't testing that the returned module data is
correct we don't need to worry about os.rename not having any module
data.  Should devise a separate test for the module and caching code
2016-04-12 08:01:07 -07:00
Toshio Kuratomi
b5717ef696 First whack at a recursive and ast based ziploader. I'm afraid this one may be too slow. 2016-04-12 08:01:07 -07:00
Toshio Kuratomi
b4b058794e Correct the worker.run documentation 2016-04-12 08:01:07 -07:00
Toshio Kuratomi
c929556226 Fix encoding string to show up in wrapper 2016-04-12 08:01:07 -07:00
Toshio Kuratomi
6bb0e35f85 Update submodule refs 2016-04-12 08:00:20 -07:00
Chris Houseknecht
432bfe5a4f Merge pull request #15364 from gregsidelinger/galaxy-ingore-certs-fix
Fix issue with ansible-galaxy and --ignore-certs
2016-04-12 10:32:02 -04:00
James Cammarata
8ef564176b Handle includes which may have been created in the flow of the playbook
Since 2.0 made all includes dynamic, it is now possible to create and
include a file in the course of executing a playbook. However, with the
introduction of implicit static includes this can cause problems if an
include is thought to be static but does not yet exist. For now, we're
handling missing implicit static includes as a potential dynamic include
but also adding a deprecation message to show includes like this will
need to be marked as `static: no` in the future.

Fixes #15342
2016-04-12 09:33:58 -04:00
Nathaniel Case
7290b6282d Update IOS, IOSXR, JUNOS, & OpenSwitch for environment vars. 2016-04-12 08:55:15 -04:00
Nathaniel Case
dbc49ad95b First implementation of 'fallback' parameter
Implemented & documented for EOS & NXOS
2016-04-12 08:55:15 -04:00
James Cammarata
2e55b3567b Also fix intermittent ssh error using pty's for paramiko
Related to #13876
2016-04-12 08:35:48 -04:00
Bjørnar Ness
d868cdc7b8 enable mysql connection via unix socket 2016-04-12 14:16:18 +02:00
Toshio Kuratomi
0ced20951f Use /var/tmp is user set remote_tmp below /var/tmp.
We want them to be able to influence this choice in case they want to
keep files out of /tmp (perhaps to conserve RAM if that is a tmpfs).
2016-04-11 21:03:13 -07:00
James Cammarata
44877b7c7e Don't use -tt for ssh connections when sudoable=False
Due to an apparent race condition while using pty's on a heavily loaded
system, rarely a request to create a temp directory returns an empty
string rather than the newly created path, causing an error. Disabling
forced pty's appears to resolve the issue, so this patch modifies the
mkdtemp remote call not use -tt as we're not escalating privileges and
thus no pty is required.

Fixes #13876
2016-04-11 23:22:13 -04:00
Toshio Kuratomi
6a97d6386f Always use system /tmp if system=True.
Otherwise unexpected errors can happen when the user sets remote_tmp.

Fixes #15372
2016-04-11 20:00:10 -07:00
Toshio Kuratomi
b27c424fa1 Fixes to the documentation build (#15356)
* Could only have one alias before.  Subsequent aliases overrode the
  previous ones.  Now multiple aliases work.
* Fix BLACKLISTED_MODULES.   Previously, modules were listed in the
  generated documentation despite being blacklisted
* Deprecated modules form extras were showing the (E) tag and not the
  (D) tag. Reversed that now (Probably not necessary to also show the
  E tag).
* Sort the deprecated modules alphabetically in the Category docs as
  well as the list of all modules
* Optimization: Previously rendered the modules to rst twice once in all
  group and once in individual categories.  Fixed to only render them
  once.
* Add fireball to blacklist and remove async_status (as people need to
  use that).
2016-04-11 17:11:55 -07:00
nitzmahone
336b1ae84b add win_reboot action
also includes WinRM connection plugin change to support connection reset
2016-04-11 14:48:39 -07:00
Jesper Geertsen Jonsson
bd0066d621 Adds support for converting a MAC address to an integer.
Example:
---
- hosts: local
  tasks:
    - set_fact: mac_str="52:54:00:00:00:00"
    - set_fact: base_mac="{{ mac_str | macaddr('int') }}"
    - debug: msg="{{ (base_mac|int + 257) | macaddr('linux') }}" # 52:54:00:00:01:01
2016-04-11 20:46:45 +02:00
Greg Sidelinger
11ffc0bfee Fix issue with ansible-galaxy and --ignore-certs
The --ingore-certs flag was not honored for https://server/role.tar.gz roles in the requirements file.
2016-04-11 01:17:15 -04:00
Toshio Kuratomi
54acdd7ead Remove workaround for fixed bug. (#15340)
* Remove workaround for fixed bug.

The bug where PluginLoader required objects to directly inherit from
base_classes has been fixed.  Remove workaround from this strategy
plugin   Also switched to using super so that we don't have to modify
all of hte code anytime something like that happens.

* These should be to_uniocde because they're being sent to display()
2016-04-10 09:24:54 -07:00
Brian Coca
005dc84aa7 moved last utils.debug to display.debug 2016-04-08 16:00:36 -04:00
Kishin Yagami
e4a6106ea5 Add debug strategy plugin (#15125)
* Add debug strategy plugin

* Fix Python 2-3 compatiblity issue

* Add document for debug strategy
2016-04-08 14:39:08 -04:00
Brian Coca
0eb2844cc6 moved display's debug lock to cli as global 2016-04-08 13:08:24 -04:00
Matt Martz
dd39f57ae7 Merge pull request #15289 from sivel/sni-urllib3-contrib-try2
Optional Use of urllib3 for SNI verification
2016-04-08 11:26:49 -05:00
Brian Coca
a7f2588920 updated submodule ref 2016-04-08 11:44:09 -04:00
peter.jang
65856f2231 added suport rsync protocol (#12197)
* added suport rsync protocol

* use startswith method for safety
2016-04-08 11:42:07 -04:00
Toshio Kuratomi
d29b833cb1 Update extras submodule ref 2016-04-08 08:11:43 -07:00
James Cammarata
e5c4f88b71 Fix free strategy, which was incorrectly using _wait_on_pending_results
Broken in 210cf06d
2016-04-08 06:49:16 -04:00
nitzmahone
eac4cf1177 fix options_vars iteration for py3 2016-04-07 19:16:15 -07:00
nitzmahone
83a17662cc update core submodule ref 2016-04-07 18:28:53 -07:00
Strahinja Kustudić
eed6cf5dad Adds 'ansible_check_mode' boolean magic variable
* Makes it possible to pass any options variable to VariableManager
  by changing `load_options_vars(options)` in `lib/ansible/utils/vars.py`
2016-04-08 00:26:02 +02:00
Brian Coca
1942cd33dc draft add group merge priority and yaml inventory
* now you can specify a yaml invenotry file

* ansible_group_priority will now set this property on groups

* added example yaml inventory

* TODO: make group var merging depend on priority

  groups, child/parent relationships should remain unchanged.
2016-04-07 16:22:36 -04:00
Toshio Kuratomi
03ec71e5af Updae submodule ref 2016-04-07 09:43:15 -07:00
Toshio Kuratomi
19737236ee Add "excommunicate" debug option
Some debuggers are easier to work with when we do everything in a single
process.  This debug option caters to that at the expense of being
different from what Ansible will actually do to invoke a module.

When we document this we should be clear that this shouldn't be used for
general purpose debugging and that some modules may show strange
"errors" when used with this.  Those won't be considered real bugs as
it's not how ansible really invokes the modules.
2016-04-07 08:12:25 -07:00
Matt Davis
957b336cc1 skip fixup_perms for Powershell
action plugins will now skip _fixup_perms for Powershell. We'll have to come up with another way to do this at some point, but it's not necessary yet since we don't support become on Windows. Also added NotImplementedError throws to chmod/chown/set_facl operations on Powershell (instead of returning '') in case anyone tries to use them in the future.



fixes #15312
2016-04-07 07:27:01 -07:00
Brian Coca
5225048df9 capture attribute errors for invalid class plugins
also switched to py3 safe to_str
2016-04-07 10:16:35 -04:00
Toshio Kuratomi
fd9838f1a0 Add BSD license information to the ZIPLOADER_TEMPLATE string since it
may be combined with module code.
2016-04-06 21:37:04 -07:00
Toshio Kuratomi
647123ee18 Ziploader subprocess.Popen
* Run the module as a script from the wrapper instead of executing in the same process.

Fixes cornercases where the module could potentially be executed twice
if we import and then run the main() function without calling sys.exit()
somewhere.

Also fixes problem with concurrent.futures() hanging.  Not sure
precisely how this is being triggered but it is related to invoking the
main() function outside of an if __name__ == '__main__' conditional.

* Fix for python-2.6
2016-04-06 21:25:18 -07:00
Toshio Kuratomi
8d46bcaa65 Update submodule refs for git fix 2016-04-06 14:09:50 -07:00
Toshio Kuratomi
a57a32adcc Revert "Make the 'path' param type also use abspath on the value"
This reverts commit 1ffadbcc80.

Some modules seem to have path listed for things that are "commands"  --
something that may be a path to a command or a bare command that should
be looked up in PATH.  With this change, if they were formerly looked up
inPATH they are now being made into an absolute path in the cwd.
Reverting this until we can think more about whether to do this and
change those modules to not use path for those parameters.
2016-04-06 14:07:48 -07:00
James Cammarata
1ffadbcc80 Make the 'path' param type also use abspath on the value 2016-04-06 15:58:49 -04:00
Nathaniel Case
77e3dc9e6a Fix network modules for ziploader changes 2016-04-06 11:54:47 -07:00
James Cammarata
040893a677 Adding a config option to allow disabling locale settings upon module exec
Fixes #15138
2016-04-06 12:19:22 -04:00
Matt Martz
398218b6ea More intelligent building of the SSLValidationError message based on capabilities 2016-04-06 11:04:04 -05:00
Matt Martz
bce79c67c3 Cascade ssh_*args configurations in synchronize instead of limiting to just ssh_args. See https://github.com/ansible/ansible-modules-core/issues/3370 2016-04-06 10:27:58 -05:00
Matt Martz
6e9c09d7f7 Utilize urllib3.contrib.pyopenssl functionality for SNI capability in python versions lacking SNI support
Also add SNI tests, move test_uri to destructive since we are messing with packages for SNI testing
2016-04-06 10:14:13 -05:00
Toshio Kuratomi
edab8d338d Expand tilde after expanding vars 2016-04-05 22:27:07 -07:00
Peter Sprygada
72ce1e8f14 bugfix eos shared module handling config replace
fixes an issue with doing a config replace using eapi where the configuration
wasn't being replaced.
2016-04-05 22:54:23 -04:00
Peter Sprygada
b97c8ce8e7 bugfix netcfg return config as str
fixes issue where netcfg would return out of order configuration
2016-04-05 22:53:44 -04:00
Toshio Kuratomi
4b0aa1214c Ziploader
* Ziploader proof of concept (jimi-c)

* Cleanups to proof of concept ziploader branch:

* python3 compatible base64 encoding
* zipfile compression (still need to enable toggling this off for
  systems without zlib support in python)
* Allow non-wildcard imports (still need to make this recusrsive so that
  we can have module_utils code that imports other module_utils code.)
* Better tracebacks: module filename is kept and module_utils directory
  is kept so that tracebacks show the real filenames that the errors
  appear in.

* Make sure we import modules that are used into the module_utils files that they are used in.

* Set ansible version in a more pythonic way for ziploader than we were doing in module replacer

* Make it possible to set the module compression as an inventory var

This may be necessary on systems where python has been compiled without
zlib compression.

* Refactoring of module_common code:

* module replacer only replaces values that make sense for that type of
  file (example: don't attempt to replace python imports if we're in
  a powershell module).
* Implement configurable shebang support for ziploader wrapper
* Implement client-side constants (for SELINUX_SPECIAL_FS and SYSLOG)
  via environment variable.
* Remove strip_comments param as we're never going to use it (ruins line
  numbering)

* Don't repeat ourselves about detecting REPLACER

* Add an easy way to debug

* Port test-module to the ziploader-aware modify_module()

* strip comments and blank lines from the wrapper so we send less over the wire.

* Comments cleanup

* Remember to output write the module line itself in powershell modules

* for line in lines strips the newlines so we have to add them back in
2016-04-05 11:06:17 -07:00
Matt Davis
6a3670b1f0 Merge pull request #15281 from jpic/fix_plugin_configuration
Regression fix: proper plugin configuration was reset
2016-04-05 10:00:40 -07:00
James Cammarata
0f2b1244d2 Make sure VariableManager has a view of HostVars
Fixes #15261
2016-04-05 11:32:28 -04:00
jpic
da175d0a57 Bugfix: proper plugin configuration was reset
Before this patch, if config was ['/some/path'] then it would enter the
else block and config would be set to [].

The regression this patch fixes was introduced by 700db154.
2016-04-05 14:41:49 +02:00
Peter Sprygada
cca084c89d enhancement to ios shared module connection
this enhancement will cause the module to connect to the remote ios device
the first time a command wants to run instead of building a connection
immediately
2016-04-04 21:53:05 -04:00
Peter Sprygada
c2fac6c808 enhancement to iosxr shared module to lazy connect to device
this update will only connect to the remote device when the first request
is made to run a command instead of building the connection immediately
2016-04-04 21:52:55 -04:00
Toshio Kuratomi
315cfe2f63 Update module refs 2016-04-04 13:23:29 -07:00
Peter Sprygada
39a576697d feature to localize prompt search login to iosxr shared module
this localizes the cli prompt search logic to the iosxr shared module
instead of using the common regexp list in shell.py
2016-04-04 16:07:45 -04:00
Peter Sprygada
73c3f35112 fixes ansible/ansible-modules-core#3304 2016-04-04 16:03:13 -04:00
Toshio Kuratomi
c75b5ba85f Use to_bytes and to_str instead of str as str is unsafe. 2016-04-04 12:57:32 -07:00
Dag Wieers
055aae55f7 Implement own CSVRecoder and CSVReader from documentation
As detailed in the python manual:
https://docs.python.org/2/library/csv.html
2016-04-04 20:32:08 +02:00
Dag Wieers
ac75069ee0 Support different encoding types in csvfile lookup plugin
This fixes #15266.
2016-04-04 14:11:44 -04:00
Peter Sprygada
17f4db19ea adds additional details in exception handling in shell shared module 2016-04-04 08:20:59 -04:00
Peter Sprygada
f5bcd38380 adds additional details in exception handling to ios shared module 2016-04-04 08:20:51 -04:00
Peter Sprygada
008395eda2 bugfix for nxos shared module to not immediately send \n
this fixes a bug in nxos shared module to not immediately send a \n when
the connection is made.  this commit also localizes the prompt handling
to the nxos module
2016-04-04 08:20:41 -04:00
Peter Sprygada
4e497b10b0 bugfix in netcfg to handle multilevel commands
this fixes a bug where netcfg would not properly find a statement that was
more than one level deep
2016-04-04 08:11:32 -04:00
James Cammarata
d358a22542 Modification to 347b282 to prevent running the lookup with empty terms
Fixes #15258
2016-04-03 11:31:18 -04:00
Chris Houseknecht
2dd687acdd Merge pull request #15256 from alikins/galaxy_roles_path_fix_15255
Fix galaxy roles_path cli usage. (#15255)
2016-04-03 02:55:19 -04:00
Peter Sprygada
c0230e6f12 refactors netcfg to pull common functions into shared library
The network config and template modules share a set of common functions that
have been pulled into the netcfg shared module.  This is backwards compatible
with the current implemention in the modules.
2016-04-02 21:48:03 -04:00
Peter Sprygada
437beb001b adds commands key to fail message in eos shared module
The commands the lists the set of commands it tried to configure when
using eapi as a transport
2016-04-02 21:47:08 -04:00
Adrian Likins
05b46091e4 Fix galaxy roles_path cli usage.
If we specify a roles_path from the cli, use a
optparse action callback to make sure the roles_path
is set to a path list.

Fixes #15255
2016-04-02 21:01:13 -04:00
Toshio Kuratomi
dbd17322bf Update extras submodule ref for lxc_container fix 2016-04-02 01:48:11 -07:00
nitzmahone
700db15452 fix unconfigured plugin path case
We tried to expand paths for None- ensure we're not passing [None] in that case, but [] instead.
2016-04-01 20:37:43 -07:00
Brian Coca
dbc5cc9d7a fix issue with plugin load path inconsistency
now assures it is always a list of paths and not just assumes it
this avoids issues of parsing a 'string path' and picking up '/' as
a valid path for plugin loader
2016-04-01 23:14:56 -04:00
Brian Coca
0bd6f3a5e8 correctly adds searchpath as list 2016-04-01 23:14:56 -04:00
Toshio Kuratomi
4ccea9905b Fix async for old style modules and don't send an args file for new-style modules 2016-04-01 20:04:25 -07:00
Toshio Kuratomi
d9ecff9d4f Update submodule refs 2016-04-01 20:03:02 -07:00
Brian Coca
4d4c364ba8 updated module subrefs 2016-04-01 17:56:40 -04:00
Brian Coca
1e06a9f48d verifies required is a boolean 2016-04-01 17:45:02 -04:00
Brian Coca
39bc3e624a show callback exception on debug 2016-04-01 15:04:30 -04:00
Brian Coca
3b667e48ff Merge pull request #15242 from dagwieers/silence-diff-output
On change in diff-mode we don't need to see file content in task output
2016-04-01 12:11:10 -04:00
Dag Wieers
d46af7cda3 On change in diff-mode we don't need to see file content in task output
I was surprised to see complete file content in the (JSON) task output when
in diff-mode. Since we see the diff anyhow, there's no need to send everything
on screen.
2016-04-01 18:03:51 +02:00
Dag Wieers
0d4f627654 Add the method_name to the catchall warning when using callback plugins
Without this you have no clue to where the exception is occuring.
2016-04-01 11:39:54 +02:00
Toshio Kuratomi
837f3dd24d Update submodule refs 2016-03-31 22:03:48 -07:00
Toshio Kuratomi
f29b8e461b Merge pull request #15151 from mattclay/accelerate-unicode
Add to_bytes to file paths for accelerate plugin.
2016-03-31 21:47:33 -07:00
Matt Davis
3f70d7a70d Merge pull request #15144 from mattclay/winrm-test
Add winrm tests and fix exposed unicode errors.
2016-03-31 16:30:45 -07:00
James Cammarata
0656d1466a Adds two variables to facts when a task fails and a rescue block starts
`ansible_failed_task`:
   Contains the task data, essentially a serialized view of the Task() object.
`ansible_failed_result`:
   Contains the result of the task failure, which is identical in function
   to registering the result. Doing so automatically like this saves the user
   from having to register every result in a block and then trying to figure
   out which result had the failure

Similar to the way try/except/finally work, these variables will not be
available in the `always` portion of a block unless there is a corresponding
`rescue` first.

Fixes #12341
2016-03-31 15:29:33 -04:00
James Cammarata
26a4761d0f Fix logic error in script action plug related to use of shell.exists 2016-03-31 15:21:45 -04:00
Toshio Kuratomi
e003ef93fc Update submodule refs 2016-03-31 08:45:19 -07:00
Matt Clay
262c341cda Add connection tests for winrm connection plugin.
These are the same tests used for the other connection plugins,
adapted to use winrm modules and Windows friendly paths.
2016-03-31 08:32:41 -07:00
Brian Coca
e1461ef792 Merge pull request #15200 from wimnat/feature/handle_lists_in_snake_dict_creation
Handle lists during dict recursion
2016-03-31 06:25:11 -07:00
René Moser
c0618794a2 Merge pull request #15213 from resmo/fix/cloudstack-api-secret-arg
cloudstack: fix bug, api_secret always None
2016-03-31 10:05:33 +02:00
Matt Clay
83e53cbb91 Add to_bytes to file paths for accelerate plugin. 2016-03-30 23:23:04 -07:00
James Cammarata
a8dbd3dee9 Pass the variable manager into load_list_of_blocks for include files
Fixes #15194
2016-03-31 00:44:41 -04:00
Brian Coca
4b3257c4fe Merge pull request #15208 from bcoca/constants_pathlist
centralize path list handling
2016-03-30 19:49:18 -07:00
Brian Coca
5dfc013e18 Merge pull request #14971 from bcoca/clear_facts
meta: clear_facts
2016-03-30 19:09:38 -07:00
Brian Coca
5022fe9adc Merge pull request #15209 from temal-/devel
Add '--skip-tags' to ansible-pull
2016-03-30 18:56:06 -07:00
Rene Moser
65e61e340a cloudstack: fix bug, api_secret always None
In case if api args are used, api_secret is None in every cloudstack module.
2016-03-31 00:04:42 +02:00
Nathaniel Case
e4e913b331 Override params from environment variables, if set.
Fix a typo while I'm in the area.

Handle having None set in module.params more intelligently
2016-03-30 17:28:30 -04:00
James Cammarata
eab4ce19f3 Making the return parsing in ActionBase generic for reuse
Now also correctly parses the return value for the _low_level_execute_command
2016-03-30 12:45:21 -04:00
James Cammarata
4fc0aadd84 Only combine vars in include_vars if both are mappings
Fixes #15184
2016-03-30 11:11:26 -04:00
Brian Coca
c09e085480 Merge pull request #14735 from jsok/open_url-netrc
Lookup netrc for credentials in open_url
2016-03-30 07:41:56 -07:00
Malte Krupa
3c954e6572 Add '--skip-tags' to ansible-pull 2016-03-30 16:36:16 +02:00
Brian Coca
92d154f4ef centralize path list handling
move it to constants and avoid duplicating code or misinforming
developers on the nature of the data
2016-03-30 07:16:09 -07:00
Brian Coca
3f6166d2bf always return rc 2016-03-30 07:15:51 -07:00
Rob White
a46de20772 Handle lists during dict recursion 2016-03-30 16:49:02 +11:00
Peter Sprygada
fa6464e807 feature to localize prompt search logic for ios shared module
Prompt search logic is now localized to the ios shared module instead
of using the common regexps in the shell module.  This resolves a number
of problems with ios modules functioning properly
2016-03-29 22:13:38 -04:00
James Cammarata
2be1726350 Don't remove _raw_params from static include args 2016-03-29 21:40:29 -04:00
nitzmahone
05af5c88ea fix Mac chown/chmod -R issue, add error checks
The changes to chown/chmod were broken on Mac (-R was being appended to the end of the command- OSX requires it before the file list).

A number of base action remote setup commands were also blindly proceeding without checking for success. Added error raises for unrecoverable failure cases.
2016-03-29 07:44:09 -07:00
James Cammarata
f2713f764c Take previous jinja2 blocks into account in splitter when we see quotes
Previously, split_args() was not taking print/block/comment depth into account
when splitting things, meaning that if there was a quote character inside an
un-quoted variable (ie. {{ foo | some_filter(' ') }}), it was incorrectly
splitting on the quotes instead of continuing to append to the previous param.

Fixes #13630
2016-03-28 15:43:43 -04:00
Brian Coca
04610106a3 Merge pull request #15173 from mattclay/issue6072
Support remote_user in jail connection plugin.
2016-03-28 09:22:00 -07:00
Brian Coca
e9a4526251 allow bypassing executable setting
if you set executable to an empty string this avoids passing one to the command constructor
fixes #14813
2016-03-28 08:02:27 -07:00
Rob White
a5b05922ed Some helper functions to work with boto3 2016-03-28 21:43:31 +11:00
Brian Coca
c303ed24b5 Merge pull request #15159 from sigio/filter-ip4-hex
Add ip4_hex filter to convert ip-address to hex notation
2016-03-27 14:14:25 -07:00
Brian Coca
b77bba8f9f Merge pull request #15175 from wimnat/feature/camel_case_fixing
Add function to convert CamelCased key names to snake_names
2016-03-27 14:12:23 -07:00
Brian Coca
363384f517 Merge pull request #15174 from mattclay/conn-msg-host
Fix inconsistent/missing host names in messages.
2016-03-27 14:07:13 -07:00
David Wittman
5036d1742c Fix boolean choices in module docs fragments
A few of the docs fragments have the available choices for some params
defined as "BOOLEANS". Because choices accepts a list, it treats
"BOOLEANS" as an iterable and then generates a list composed of each
letter.

Instead, define the available choices as a list of `['yes', 'no']`,
as is common in most other modules.
2016-03-27 15:30:27 -05:00
Toshio Kuratomi
0fffb6c60c Merge pull request #15163 from ansible/synchronize-connection-vs-play_context
Use _connection instead of _play_context for information about the connection
2016-03-27 10:24:46 -07:00
Brian Coca
c6c3fd79c2 Merge pull request #15168 from bcoca/script_exists_fix
Script exists fix
2016-03-26 22:08:13 -07:00
Rob White
ef8c1124d0 Add function to convert CamelCased key names to snake_names 2016-03-26 18:46:50 +11:00
James Cammarata
eff89d6290 Merge pull request #15140 from berlic/args-splitter-exception-context
Show error context in args splitter exception
2016-03-26 01:02:54 -04:00
Matt Clay
5fdc29e00f Fix inconsistent/missing host names in messages. 2016-03-25 21:11:53 -07:00
Matt Clay
b60062bdf9 Support remote_user in jail connection plugin.
Resolves #6072.
2016-03-25 20:15:52 -07:00
Brian Coca
28d20dbe53 moved 'path exists' function to shell
now it will work with powershell/winrm
2016-03-25 12:56:48 -07:00
Toshio Kuratomi
0cabd133ba have to always run dwim() on the path to get the full absolute path.
Fixes #14944
2016-03-25 12:09:30 -07:00
Toshio Kuratomi
e2f5762232 Use _connection instead of _play_context for information about the connection
If we're not delegating then we change _connection into a local
connection midway through the file but we don't change
_play_context.connection (no need to alter that).  When we later check
it in process_remote() we need to know the actual connection, not the
connection that we thought we were going to use at the start of run().
So we have to use _connection.transport in process_remote().  The rest
of the places could use either one (because we have not yet changed to
a local connection) but we go ahead and switch those to
_connection.transport as well to avoid confusion in the future.

Fixes https://github.com/ansible/ansible-modules-core/issues/3136
2016-03-25 09:25:19 -07:00
James Cammarata
f4eb9aac24 Fix --start-at-task which was broken by the setup task revamp
Fixes #15010
2016-03-25 11:32:19 -04:00
Toshio Kuratomi
2adf8f7ec9 Update submodule refs 2016-03-25 07:42:04 -07:00
Mark Janssen -- Sig-I/O Automatisering
b1015d897d Re-add accidentaly removed comment 2016-03-25 15:33:35 +01:00
Mark Janssen -- Sig-I/O Automatisering
73766e0816 Add ip4_hex filter to convert ip-address to hex notation 2016-03-25 15:24:48 +01:00
Matt Davis
afc82f6beb Merge pull request #14930 from mholiv/enable_dollar_as_first_char_in_folder_and_userName
Modified files to use single quotes rather than double for file path.…
2016-03-25 07:14:42 +00:00
Toshio Kuratomi
3221be4340 Reverse boilerplate order because from __future__ must be the first code in the file 2016-03-24 20:08:39 -07:00
Brian Coca
1c4cfee415 Merge pull request #15046 from bcoca/script_raw
removes python requirement to script
2016-03-24 19:52:06 -07:00
nitzmahone
4241106ad2 fix breakage from new recursive=True arg to chmod 2016-03-24 19:47:43 -07:00
Toshio Kuratomi
80e7fbff75 Add python3 compat boilerplate 2016-03-24 18:04:16 -07:00
Toshio Kuratomi
17e8500202 Don't process the same host multiple times
Fixes #14259
2016-03-24 16:43:43 -07:00
Brian Coca
1ebc2fda71 removes python requirement to script
mistakenly added when checksum was made to use stat module
fixed assertion in test
2016-03-24 16:17:58 -07:00
Brian Coca
6768f34b31 Merge pull request #15062 from gechr/gc-subset-superset-filters
Add `issubset` and `issuperset` tests
2016-03-24 16:17:13 -07:00
Thomas Steinbach
870160b8ed fixed some breaks after merging ansible/devel 2016-03-24 22:09:41 +01:00
Thomas Steinbach
cd2c140f69 forwarded docker_extra_args to latest upstream/origin/devel 2016-03-24 21:25:38 +01:00
Toshio Kuratomi
228ad3ca39 Should be errors=strict since we don't want to end up matching hosts like '???' 2016-03-24 09:25:37 -07:00
Toshio Kuratomi
13b295f1ee Fix using non-ascii for inventory hostname patterns with the CLI. 2016-03-24 09:22:35 -07:00
James Cammarata
2c20579a06 Add options to make includes 'static'
* Can be configured in the ansible.cfg for tasks/handlers individually
* If an included filename contains no vars or loops, it will be expanded
  in-place as if it were marked as static
2016-03-24 10:12:51 -04:00
Toshio Kuratomi
f323eb858e nv_por is needed later in the file
Fixes #14654
2016-03-24 06:58:56 -07:00
Toshio Kuratomi
c4a5cf174b Merge pull request #15009 from bcoca/py3_compat_fixes
Py3 compat fixes
2016-03-24 06:55:29 -07:00
James Cammarata
f427955640 Make default var lookup for tasks follow the dep chain
Related to #14296 (@jjshoe's follow-up example on that issue)
2016-03-24 09:51:36 -04:00
Konstantin Suvorov
1c922135a0 show error context in args splitter exception 2016-03-24 16:50:21 +03:00
Brian Coca
5b11494437 python3 compatiblity
remove use of basestring
deal with configparser
2016-03-24 06:39:21 -07:00
Toshio Kuratomi
52e9209491 Don't create world-readable module and tempfiles without explicit user permission 2016-03-23 09:52:19 -07:00
Brian Coca
fdb56e4bad avoid bad path entries 2016-03-23 09:30:48 -07:00
Toshio Kuratomi
728bb7d85e Update submodule refs 2016-03-23 08:32:42 -07:00
Toshio Kuratomi
917da92e2b Get rid of extra trailing space in log messages 2016-03-23 08:01:21 -07:00
Matthew Gamble
7b06ec79e3 Add documentation for squash_actions configuration setting 2016-03-23 20:38:12 +11:00
Matthew Gamble
197e590d7c Small comment improvement in AnsibleModule class 2016-03-23 19:22:18 +11:00
Abhijit Menon-Sen
1b242ffb89 Merge pull request #15111 from xiaket/devel
complete the docstring. Fixed #14794
2016-03-23 13:13:42 +05:30
夏恺(Xia Kai)
f9a9e5e1b9 complete the docstring. Fixed #14794
Signed-off-by: 夏恺(Xia Kai) <xiaket@gmail.com>
2016-03-23 07:24:43 +00:00
Peter Sprygada
5bb876b0e2 fixes issue with getting value with . (dot) in key in netcfg
This commit addresses a problem when attempting to retrieve a value from
the result that includes a dict key using . (dot).
2016-03-23 02:36:48 -04:00
Brian Coca
b4b44b2708 Merge pull request #15086 from robinro/patch-2
remove double read of "path" (/etc/SuSE-release) in facts.py
2016-03-22 16:14:51 -07:00
Brian Coca
43f70d66a5 Merge pull request #15088 from robinro/patch-3
break after parsing SuSE-release in facts.py
2016-03-22 12:12:29 -07:00
Joel
23a74eb125 Sort plugins by basename to support ordering callbacks 2016-03-22 12:12:51 -05:00
Toshio Kuratomi
06d77996da Update submodule refs 2016-03-22 09:21:49 -07:00
Robin Roth
2c28dcc5cb break after parsing SuSE-release in facts.py
All sections that lead to succesful parsing of the version break afterwards, for SuSE-release this break was missing, potentiall causing #14837
2016-03-22 08:12:17 +01:00
Robin Roth
fea5500605 remove double read of "path"
path is already read in line 444, don't reread the file here, but use the existing content
2016-03-22 07:50:04 +01:00
Toshio Kuratomi
3511abb9d9 Merge pull request #15055 from ansible/ansible_sudo_pass-should-override-cli
Fix ansible_sudo_pass inventory variable so that it overrides setting of sudo password from the command line
2016-03-21 13:31:35 -07:00
Toshio Kuratomi
f39a1da360 Merge pull request #15074 from ansible/pluginloader-cleanups
Cleanup some minor issues in PuginLoader:
2016-03-21 12:57:46 -07:00
George Christou
02ad029840 Add issubset and issuperset tests 2016-03-21 19:22:39 +00:00
Toshio Kuratomi
ed9e164b80 Fix ansible_sudo_pass inventory variable so that it overrides setting of sudo password from the command line 2016-03-21 10:20:40 -07:00
Toshio Kuratomi
7ce130212f Cleanup some minor issues in PluginLoader:
* class_only was a keyword arg of get() and all() that was mistakenly
  passed on to Plugins.  Be sure to strip it from the keyword args
  before instantiating Plugins.  (Reworked API probably should either
  not instantiate Plugins or take the args for the Plugin as a separate
  list and a dict.)
* Checking required base_classes was only done in get() and only if
  class_only was False (ie: that Plugin was instantiated).  This meant
  that different plugins could be found depending on whether the call
  was to .get() or to all() and whether it was for classes or instances.
  Fixed so that required base_classes are always checked.
2016-03-21 09:54:37 -07:00
Brian Coca
3ae9a272e0 Merge pull request #14977 from towolf/hide_ok_items_in_actionable
For `actionable` cb plugin also hide ok for itemized results
2016-03-21 08:04:52 -07:00
James Cammarata
ae21d98955 Properly use check_raw when using parse_kv in cli/ code
Fixes ansible-modules-core#3070
2016-03-21 11:00:44 -04:00
Toshio Kuratomi
407f8f934e Merge pull request #14976 from xiaket/devel
use __mro__ for plugin loading when we search for its base class.
2016-03-21 07:32:07 -07:00
Tobias Wolf
4938b98e4e For actionable cb plugin also hide ok for itemized results
The purpose of the `actionable` callback plugin is to hide uninteresting
results.

Also hide the ok results when the task was itemized.
2016-03-21 14:59:57 +01:00
夏恺(Xia Kai)
38092dcc27 import the base class and check whether this obj has the required base class.
Signed-off-by: 夏恺(Xia Kai) <xiaket@gmail.com>
2016-03-21 07:21:54 +00:00
Toshio Kuratomi
9053d0468e Merge pull request #15006 from ansible/local-pipelining
Add changes necessary for enabling pipelining for local connections
2016-03-20 22:12:07 -07:00
Will Thames
f438c074af Remove need for unnecessary boto.ec2 import
Modules shouldn't need to import boto.ec2.
The check was to test if profile_name was supported by boto.
Two years after the introduction of the support, we will now
assume that if people are passing `profile`, they are using
a version of boto that supports it (this requirement is
already documented in the aws documentation fragment)

Also remove even older version check for `validate_certs`

Fixes #1901
2016-03-21 11:00:09 +10:00
James Cammarata
9d2fe2fb2c Fixing role param precedence issues
* Make role param resolution follow the role dependency chain, rather
  than using all roles within the play
* Also move params to be merged in after role vars in general, to match
  our variable precedence rules
* Changes to the way var lookup is done in role helper methods for
  get_vars(), get_inherited_vars(), and get_role_params() to make the
  above possible without trampling on previously merged vars

Fixes #14472
Fixes #14475
2016-03-20 11:09:32 -04:00
Toshio Kuratomi
4a00999875 Update to latest git submodules 2016-03-20 08:03:58 -07:00
Toshio Kuratomi
b80c9b5032 Merge pull request #15049 from mattclay/paramiko-unicode
Add missing to_bytes for cmd.
2016-03-19 22:37:23 -07:00
Matt Clay
24c4384f0e Add missing to_bytes for cmd. 2016-03-19 11:13:38 -07:00
James Cammarata
e4a5bcae3c Merge pull request #14679 from dagwieers/merge_hash_v2
Avoid merging a dict and a AnsibleUnicode
2016-03-19 12:58:42 -04:00
Brian Coca
7a5ff16aee Merge pull request #15042 from RNanney/RNanney-validate_certs
Update nxos.py
2016-03-18 19:32:32 -07:00
Toshio Kuratomi
f5654dced9 Merge pull request #15043 from mattclay/docker-user
Use docker exec -u only when supported.
2016-03-18 18:46:46 -07:00
Matt Clay
ea1a6c56b9 Use docker exec -u when needed and if supported.
If remote_user is given and cannot be set in docker, a warning will
be displayed unless the default container user matches remote_user.
2016-03-18 18:19:41 -07:00
RNanney
8bceff5136 Update nxos.py 2016-03-18 15:55:41 -05:00
James Cammarata
13f3cbaf3b Renaming per-item and retry callbacks 2016-03-18 15:17:43 -04:00
Toshio Kuratomi
60c943997b More doc updates regarding ansible_shell_executable 2016-03-18 09:16:21 -07:00
Toshio Kuratomi
8bdf0d4746 And another doc fix 2016-03-18 09:09:31 -07:00
Toshio Kuratomi
08394df8d0 Update submodule links for docs fixes 2016-03-18 09:06:05 -07:00
Abhijit Menon-Sen
efdac490ff Merge pull request #14924 from mvgrimes/patch-1
Dynamically add ssl key to the mysql config hash iff needed
2016-03-18 20:38:33 +05:30
Brian Coca
d43fc631dd mount facts now include network mounts (nfs) 2016-03-18 07:28:53 -07:00
Brian Coca
b809d23863 fixed typo 2016-03-18 07:04:12 -07:00
Abhijit Menon-Sen
e5460d6a6e Merge pull request #15002 from camradal/devel
add find_host_portgroup_by_name function to vmware utils
2016-03-18 19:32:17 +05:30
Toshio Kuratomi
e25caebe7a Cleanups to docs and rename of inv var 2016-03-18 06:42:37 -07:00
Toshio Kuratomi
8fc1c26c37 Merge pull request #14936 from bcoca/ansible_executable
add ansible_executable inventory var
2016-03-18 06:41:24 -07:00
Toshio Kuratomi
2ba4428424 Catch ValueError as well because of El Capitan provoking a bug in python2's subprocess
Fixes #14895
2016-03-18 05:52:53 -07:00
Abhijit Menon-Sen
a61a3e28da Merge pull request #9776 from MiLk/fixes/git-repo-info-branch
ansible.utils._git_repo_info() now supports branch names with slashes
2016-03-18 18:08:02 +05:30
Brian Coca
db61e9be0c add ansible_executable inventory var
also handle the overrides appropriately
also new executable to set shell type
2016-03-17 18:54:37 -07:00
Thomas Steinbach
14dfad730e use just 'remote_user' as user for the docker connection 2016-03-17 14:39:44 -07:00
Thomas Steinbach
4ac49ed4a8 use remote_user or become_user in docker connection 2016-03-17 14:39:44 -07:00
Brian Coca
5d9b552317 Merge pull request #15024 from bcoca/delegation_vars_fix
ensure we use delegated vars on delegation
2016-03-17 14:33:36 -07:00
Toshio Kuratomi
ab693579a9 Clarify the document about the order of matryoshka shells
(nesting shells)
2016-03-17 14:29:49 -07:00
James Cammarata
1ee6d489ab Make sure tuples returned by _get_item() are handled correctly in formatting
Fixes #14800
2016-03-17 14:19:58 -04:00
Brian Coca
292be944c6 ensure we use delegated vars on delegation
this prevents falling back to connection vars from the inventory_hostname
when matching connection var is not in delegated host.
2016-03-17 11:03:40 -07:00
René Moser
0a457230ab Merge pull request #14982 from Linuturk/GalaxyInitWhitespaceFix
Remove trailing whitespace from the galaxy init Jinja2 template. Defa…
2016-03-17 17:48:08 +01:00
Toshio Kuratomi
2dd6bae9e1 Merge pull request #15003 from ansible/jail-enable-pipelining
Enable pipelining for jail connection plugin
2016-03-17 07:55:36 -07:00
Brian Coca
bc60f52db5 avoid exceptiosn when not being called by CLI 2016-03-17 07:19:35 -07:00
Toshio Kuratomi
e80cd8bcaf Merge pull request #14908 from mattclay/mysql-connect-timeout
Document mysql connect_timeout and update tests.
2016-03-17 07:18:01 -07:00
James Cammarata
0e68c6d6fe Cleaning up use of literal_eval in basic.py AnsibleModule.safe_eval 2016-03-17 02:02:15 -04:00
Matt Clay
6a1f97ad42 Add docs for mysql* modules connect_timeout. 2016-03-16 22:31:48 -07:00
Brian Coca
5ae9955aad Merge pull request #15011 from dagwieers/fix-unreachable-color
Fix the color when unreachable in default cb plugin
2016-03-16 17:02:05 -07:00
Brian Coca
0cb804f0c2 fix lsb fact gathering
was erroring out when rc !=0 also fixed redundant paths
fixes #14965
2016-03-16 17:00:17 -07:00
Brian Coca
d7d47bcd75 Merge pull request #14989 from nifoc/patch-fetch_url
Check return value of get_distribution()
2016-03-16 16:54:11 -07:00
Dag Wieers
ed457ad53b Fix the color when unreachable in default cb plugin
The dedicated color for unreachable errors was not being used in the default cb plugin.
This corrects the color.
2016-03-17 00:18:13 +01:00
qqo
a7f89cac63 fix TypeError: coercing to Unicode: need string or buffer, AnsibleParserError found 2016-03-17 00:56:47 +03:00
qqo
85e843baee Revert "fix TypeError: coercing to Unicode: need string or buffer, AnsibleParserError found"
This reverts commit d1e0719e4c.
2016-03-17 00:50:47 +03:00
qqo
d1e0719e4c fix TypeError: coercing to Unicode: need string or buffer, AnsibleParserError found 2016-03-16 23:47:16 +03:00
Brian Coca
61f05c2e8d strip keys recursively 2016-03-16 13:18:29 -07:00
Toshio Kuratomi
7346e3098a Update extras submodule ref 2016-03-16 13:09:45 -07:00
Toshio Kuratomi
1346c209b0 Add changes necessary for enabling pipelining for local connections 2016-03-16 12:47:52 -07:00
Toshio Kuratomi
a8acd7f93e Enable pipelining for jail connection plugin 2016-03-16 11:39:51 -07:00
Alexey Kalinin
9763e76f6f add find_host_portgroup_by_name function to vmware utils 2016-03-16 11:24:42 -07:00
Toshio Kuratomi
de306eb5da Small cleanup to use class attribute directly instead of property for transport names 2016-03-16 11:22:50 -07:00
Toshio Kuratomi
fee73100c4 Move BUFSIZE to __init__ since it's common to many connection plugins 2016-03-16 11:20:02 -07:00
Toshio Kuratomi
0ca4be6fb5 Update submodule refs for docs fixes 2016-03-16 11:00:56 -07:00
Toshio Kuratomi
ec419446b7 Update submodule refs 2016-03-16 10:19:57 -07:00
Daniel Kempkens
696b68f07a Check return value of get_distribution()
On none-Linux systems `get_distribution()` returns `None`, which fails in `fetch_url`, because the return value of `get_distribution()` is not checked before calling `lower()` on the result.
2016-03-16 10:49:21 +01:00
Toshio Kuratomi
fe278202f2 Fix saving of tracebacks on module failure 2016-03-15 20:31:40 -07:00
Justin Phelps
d604c8c3a6 Remove trailing whitespace from the galaxy init Jinja2 template. Default a description. 2016-03-15 16:27:33 -05:00
Toshio Kuratomi
86080fbaa9 Update submodule refs 2016-03-15 07:49:25 -07:00
Toshio Kuratomi
66328e5200 Merge pull request #14967 from ansible/facts-subset-and-cleanup
Facts subset and cleanup
2016-03-15 07:17:58 -07:00
夏恺(Xia Kai)
cd6d865e27 use __mro__ for plugin loading when we search for its base class.
This would relax the constraint a little bit, allowing subclassing existing plugins.

Signed-off-by: 夏恺(Xia Kai) <xiaket@gmail.com>
2016-03-15 10:01:31 +00:00
Brian Coca
09699d0cd0 meta: clear_facts
draft implementation
2016-03-14 21:24:26 -07:00
Brian Coca
f3b9449e07 don't raise exceptoins on bad hosts files
fixes #14969
2016-03-14 20:13:23 -07:00
Peter Sprygada
ace0c9c5c2 fixes ansible-modules-code#3250
Sets the default value for transport to 'cli'
2016-03-14 18:49:51 -07:00
Peter Sprygada
c039ac524d updates to nxos shared module
This commit address a number of minor updates the nxos shared module

* connect() is now lazy loaded
* parse inner output messages when errored
* code syntax cleanup
2016-03-14 15:21:05 -07:00
Toshio Kuratomi
512825455e Make ohai and facter work via module_utils Fact classes rather than in the setup module 2016-03-14 14:53:29 -07:00
Toshio Kuratomi
5a1e35224b Make changes proposed during review of restrict fact gathering feature:
* Make documentation examples into code blocks
* Make code to call the subsets more general.
* Made min subset always execute (cannot disable it).
* Use a passed in modules parameter rather than global modules.  This is needed for ziploader
* Remove unneeded __init__()
* Remove uneeded multiple inheritance from a base class
* gather_facts is now a list type
2016-03-14 14:53:29 -07:00
Toshio Kuratomi
d665911bab Allow FieldAttribute lists and sets to be set from a comma separated string 2016-03-14 14:53:29 -07:00
Yannig Perré
88772b6003 Add a way to restrict gathered facts in Ansible:
- Using gather_subset options
- By ignoring ohai/chef or facter/puppet facts
2016-03-14 14:53:28 -07:00
Brian Coca
2984ffdfac now item callback honors display_skipped_hosts
fixes #14956
2016-03-14 13:13:50 -04:00
Peter Sprygada
d211b4c962 feature to implement localized cli prompts to eos
This change localizes the cli prompt regexps to the eos shared module
instead of the common prompts implemented in shell
2016-03-13 16:08:55 -07:00
Peter Sprygada
5338d6af28 feature in ios to tell shell not to kickstart
This commit is necessary to tell shell not to kickstart the cli session as
it causes problems in IOS to recognize the prompt.
2016-03-13 16:08:47 -07:00
Peter Sprygada
249caac0d3 feature to allow prompts to be configured at instatiation
This commit adds a new feature to allow implementations of shell to
specify the command prompt regexp to be used.  It allows adds a new
kwarg at instantiation to kick the remote device with a carriage return.
By default the kickstart flag is true but can be disabled by passing
kickstart=False.
2016-03-13 16:08:40 -07:00
Peter Sprygada
c55d1c55af Merge pull request #14906 from devananda/fix-shell-for-junos
Send empty command before recv
2016-03-11 22:49:28 -05:00
Brian Coca
00b8b49112 Merge pull request #14873 from bcoca/paging_aws
paging for amazon modules
2016-03-11 22:23:18 -05:00
Brian Coca
fdcd80bf87 Merge pull request #13339 from bcoca/retry_rate
draft of common retry and rate limiting decorators for api based modules
2016-03-11 22:23:07 -05:00
Peter Sprygada
e3671a8a83 bugfix for eos shared module and new optimization
This commit address to issues in the eos shard module.  The first one
is a bug fix for returning the running config when the transport is eapi.
The shared module will now return config text instead of an object.  The
second is a optimization that delays when the eos module connects to the
remote devices.  This provies a performance enhancement when using
ssh since the module doesn't default to connecting immediately
2016-03-11 22:18:15 -05:00
Toshio Kuratomi
180e70b67a Merge pull request #14937 from mattclay/unicode-dir
Fix missing to_bytes on directory path.
2016-03-11 19:15:14 -08:00
Matt Clay
1e1852c34d Add missing to_bytes on directory path. 2016-03-11 16:55:51 -08:00
root
2aba1c211d Modified files to use single quotes rather than double for file path. Powershell does not process $ variables in strings that are single quoted. Powershell DOES process $ variables that are in double quoted strings.
Using single quotes enables ansible to  handle file paths that contain folders that start with $. (i.e. C:/Users/$admin/...)
2016-03-11 14:00:28 -05:00
mvgrimes
e613737b80 Dynamically add ssl key to the mysql config hash iff needed
Just including the `ssl` key in the config for MySQLdb.connect, causes it to check for the existence of SSL support. This patch only adds the key if one of the ssl configuration options is included.
2016-03-11 11:14:48 -05:00
David Shrewsbury
336d19d3b0 Set type for OpenStack 'verify' param
The 'verify' param is a bool, so we don't want it to be an assumed
str.
2016-03-11 08:07:30 -05:00
Peter Sprygada
a59fe25bb1 bugfix for shared module shell.py
removes get_cli_connection function which was left over from a refactor
but was no longer in use
2016-03-10 21:16:57 -05:00
Matt Clay
ba1bcdfc17 Add noseclabel support to libvirt_lxc plugin. 2016-03-10 15:34:31 -08:00
James Cammarata
16f107a491 Add mysql connection_timeout param to module_utils/mysql.py 2016-03-10 15:06:50 -05:00
Devananda van der Veen
08f270ad71
Send empty command before recv
On some switches, starting an SSH connection and immediately calling
recv() will result in a connection timeout. The switch requires some
input on the channel before it provides any prompt.

As such, this patch sends an empty command immediately upon connection,
triggering the switch to send a prompt which the shell can then
interpret.

Signed-off-by: Devananda van der Veen <devananda.vdv@gmail.com>
2016-03-10 11:11:18 -08:00
James Cammarata
52efd7438c Fixing template/assemble action plugins related to tmp dir use/cleanup 2016-03-10 14:07:58 -05:00
Matt Clay
f878a5d2e0 Fix unicode handling in connection plugins. 2016-03-10 09:04:32 -08:00
James Cammarata
09e5f0578a Don't always insert failed in the results (again) 2016-03-10 11:02:55 -05:00
Brian Coca
5cbdaff9fd avoid creating extra tmp dirs we don't delete
fixes #14867
2016-03-10 10:31:36 -05:00
James Cammarata
ccf646665b Revert "Removing explicit setting of failed/failed_when"
This reverts commit 4e528e9535.
2016-03-10 08:01:54 -05:00
James Cammarata
4e528e9535 Removing explicit setting of failed/failed_when 2016-03-10 07:42:16 -05:00
Brian Coca
df1268ed69 Merge pull request #14892 from dagwieers/patch-14
Another misspelling
2016-03-09 23:57:56 -05:00
Brian Coca
05983fdaa5 Merge pull request #14891 from dagwieers/patch-13
Fix misspelling and some cosmetic change
2016-03-09 23:57:25 -05:00
Brian Coca
1c1f5e9f99 Merge pull request #14889 from nitzmahone/fix_failed_when_blind_override
Fix blind override in failed_when
2016-03-09 23:53:11 -05:00
Peter Sprygada
ca2871de20 Merge pull request #14697 from privateip/shared_module_openswitch
bugfixes for openswitch shared module
2016-03-09 22:15:35 -05:00
Peter Sprygada
ae5951b97f Merge pull request #14698 from privateip/plugin_action_ops_template
updates the ops_template plugin action backup key
2016-03-09 22:14:56 -05:00
Dag Wieers
a5e11b1325 Another misspelling
...while reading the source
2016-03-10 03:24:04 +01:00
Dag Wieers
d7d04ad2cd Fix misspelling and some cosmetic change 2016-03-10 03:18:09 +01:00
nitzmahone
dbff3a6bbc Fix blind override in failed_when
caused all task failures to be success
2016-03-09 17:48:59 -08:00
Brian Coca
18e9bc9753 common retry and rate limiting decorators for apis
allows modules to wrap their request functions in common retry and rate limiting
decorators or functions
2016-03-09 16:55:47 -05:00
Brian Coca
9318727021 corrected changed_when handling 2016-03-09 16:09:05 -05:00
James Cammarata
7f233c4c5e Updating submodule refs 2016-03-09 15:52:23 -05:00
Toshio Kuratomi
331f62f769 Update submodule refs 2016-03-09 11:28:49 -08:00
Toshio Kuratomi
0628951ac6 Handle shlex incompatibility between python2.6 and python3 2016-03-09 11:27:19 -08:00
Toshio Kuratomi
c0e2dd1693 Fix ssh connection plugin to work with python3 2016-03-09 11:17:10 -08:00
James Cammarata
eb463fab00 Also changing ansible-shell -> ansible-console in cli code comments 2016-03-09 13:53:52 -05:00
James Cammarata
9d61a6cba8 Fixing PlayIterator bugs
* Unit tests exposed a problem where nested blocks did not correctly
  hit rescue/always portions of parent blocks
* Cleaned up logic in PlayIterator
* Unfortunately fixing the above exposed a potential problem in the
  block integration tests, where a failure in an "always" section may
  always lead to a failed state and the termination of execution
  beyond that point, so certain parts of the block integration test
  were disabled.
2016-03-09 13:31:30 -05:00
Brian Coca
d7bd5fc075 Merge pull request #14824 from bcoca/ansible_shell
draft 1st release of ansible shell
2016-03-09 13:21:25 -05:00
Brian Coca
7067bb32b8 make all conditionals lists
this brings them to equivalence with when:
fixes #13905
2016-03-09 09:33:59 -05:00
Matt Clay
33f93f9241 Fix misplaced paren. 2016-03-08 22:16:23 -08:00
Brian Coca
33b550fc76 paging for amazon modules
this adds a decorator for use in amazon modules so retrieval functions
can page using the 'marker' that most boto functions return
2016-03-09 00:53:33 -05:00
James Cammarata
aee2eb6287 Merge pull request #14864 from dagwieers/patch-12
Only show diff when the task actually induced a change
2016-03-08 15:02:49 -05:00
James Cammarata
1a5ee115f0 Fixing minor logic error in error detection/handling in ssh connection plugin
If max retries were reached, no AnsibleConnectionFailure was raised, which
means potentially in some cases an unreachable error might not be returned
2016-03-08 14:50:35 -05:00
Dag Wieers
f5b6f52940 Only show diff when the task actually induced a change
This implements solution #1 in the proposal #14860.

It only shows the diff if the task induced a change, which means that if the changed_when control overrides the task, not diff will be produced.
See #14860 for a rationale and the use-case.
2016-03-08 17:33:29 +01:00
Dag Wieers
175351f200 Little improvement in flow
Don't get the hostname if it's not needed.
2016-03-08 17:23:34 +01:00
Brian Coca
49bb4803b5 clarify --step prompt
now shows full words and indicates default
fixes #7433
2016-03-08 10:57:54 -05:00
Brian Coca
3d6ec52e83 Merge pull request #14830 from bcoca/assemble_fix
fix assemble to not pass extra args to copy/file
2016-03-08 09:22:15 -05:00
Brian Coca
eb4cb46c84 Merge pull request #14859 from sivel/issue/14858
Strip proc_1 before testing it. Fixes #14858
2016-03-08 09:14:05 -05:00
Matt Martz
2f90a4f4e2 Strip proc_1 before testing it. Fixes #14858 2016-03-08 07:42:42 -06:00
Brian Coca
e24e619cf1 added stderr from vault script to error 2016-03-07 20:51:58 -05:00
Brian Coca
75ae62a978 Merge pull request #12674 from sudarkoff/fail_if_executable_password_file_returns_nonzero
(TRIVIAL) Fail if the vault password script returns non-zero.
2016-03-07 20:45:26 -05:00
Brian Coca
e74ab3ecdd draft 1st release of ansible-console
porting @dominis 's ansible-shell tool from 1.9 and integrating it into ansible
added verbosity control
made more resilitent to several errors
added highlight color, to configurable colors
more resilient on exception and interruptions
prompt coloring, goes red and changes to # when using become = true and root
become setting is now explicit and not a toggle
2016-03-07 20:25:21 -05:00
Matt Martz
53bb889ef6 update submodule refs 2016-03-07 16:12:19 -06:00
Matt Martz
098333b2ec Fix redirects for get_url
* fetch_url shouldn't both accept follow_redirects and support follow_redircts via module.params
* Default follow_redirects for open_url should be 'urllib2'
* Add redirect test for get_url
2016-03-07 15:44:31 -06:00
Brian Coca
325fccfa78 added v for least verbose display function 2016-03-07 13:17:31 -05:00
James Cammarata
299d93f6e9 Updating unit tests for PlayIterator
This knowingly introduces a broken test, planning to fix that later.
2016-03-07 13:03:06 -05:00
Brian Coca
66ea464ebd Merge pull request #14793 from xiaket/devel
remove main_q for simplicity.
2016-03-07 12:51:38 -05:00
Brian Coca
25e9b5788b add per item diff handling
fixes #14843
2016-03-07 09:49:18 -05:00
John Barker
8b4ebd8e4a Make it easier to read error message 2016-03-07 12:49:41 +00:00
Jonathan Sokolowski
5ec7adc64d Lookup netrc for credentials in open_url 2016-03-07 09:38:22 +11:00
Brian Coca
0b2f631197 Merge pull request #14504 from bcoca/template_comments
template also when only comments present
2016-03-06 10:45:18 -05:00
Brian Coca
7d8b84dae6 fix assemble to not pass extra args to copy/file
also small refactor to dedupe code
fixes https://github.com/ansible/ansible-modules-core/issues/3154
2016-03-06 10:00:36 -05:00
Brian Coca
5aab158987 removed unused imports 2016-03-06 09:14:25 -05:00
Peter Sprygada
c0f1e1801b adds multiline flag to regex test for search and match
This commit adds the multiline flag to the regexp search and match test
plugin.  It defaults to re.M = False for backwards compatibility.  To use
the multiline feature add multiline=True to the test filter

{{ config | search('^hostname', multiline=True) }}
2016-03-06 08:11:46 -05:00
Brian Coca
66a9a1feff Merge pull request #14823 from jjahns/devel
add find_vm_by_name function to vmware utils
2016-03-05 23:17:35 -05:00
Brian Coca
75b9c7db14 moved hardcoded settings from doccli to constants 2016-03-05 17:40:44 -05:00
Jay Jahns
3a1944edc1 add find_vm_by_name function to vmware utils 2016-03-05 11:50:51 -08:00
Kishin Yagami
299c18d700 Support strategy_plugins setting in a configuration file 2016-03-05 20:15:04 +09:00
Brian Coca
62ac5c047e clarified message 2016-03-04 14:44:03 -05:00
Brian Coca
8867d73420 reject extraneous data passed to mode
strictly permissions are allowed, file type info should not be passed in
alternate fixes #14771
2016-03-04 14:42:29 -05:00
Toshio Kuratomi
bd618c3490 Merge pull request #14797 from mattclay/unicode-fixes
Use to_bytes on filenames in filesystem calls.
2016-03-04 10:38:56 -08:00
Brian Coca
d6546a7513 make sure group_names is always sorted
this makes it consistent with previous ansilbe versions and other
paths that create the group_names variable
2016-03-04 13:12:35 -05:00
Matt Clay
5b79ed77e7 Use to_bytes on filenames in filesystem calls. 2016-03-04 09:08:41 -08:00
Brian Coca
27a33a6f18 dont erase previous nameservers in fact gathering
fixes #14806
2016-03-04 11:34:44 -05:00
夏恺(Xia Kai)
b33074b703 remove main_q for simplicity.
main_q is not used anywhere in the codebase.

It is created in TaskQueueManager._initialize_processes, bundled with rslt_q
into TaskQueueManger._workers, later unwrapped in StrategyBase but not used.
This queue is closed in TaskQueueManger._cleanup_processes.

Historically, it is passed as a init parameter into WorkerProcess,
introduced in 62d7956, but this behavior is changed in 120b9a7.

Signed-off-by: 夏恺(Xia Kai) <xiaket@gmail.com>
2016-03-04 07:58:18 +00:00
Toshio Kuratomi
8f1303c81a Remember to use errors=strict since this is looking up a filename on the filesystem (ie it has to match exactly) 2016-03-03 20:56:50 -08:00
Toshio Kuratomi
253376b3b7 Make the source path into a byte string before passing to os.path 2016-03-03 20:44:01 -08:00
Brian Coca
e762095497 better task parsing errors
fixes #14790
2016-03-03 19:51:15 -05:00
Brian Coca
f565508d7f Merge pull request #14764 from bcoca/max_diff_config
made max diff size configurable
2016-03-03 18:19:27 -05:00
Brian Coca
e432973310 Merge pull request #14757 from bcoca/register_no_template
don't template register
2016-03-03 18:18:44 -05:00
Brian Coca
13282e29a8 Merge pull request #14500 from yfried-redhat/fix_os_auth
Fix openstack auth type
2016-03-03 18:16:56 -05:00
Brian Coca
b901b15d3b Merge pull request #14537 from Yannig/devel_better_error_handling
Improve message content to get more hint about the raised error.
2016-03-03 18:11:04 -05:00
Brian Coca
cc3cb0f65e fix issues with older yaml lib versions
also added missing json import and removed unused ones
2016-03-03 18:13:36 -05:00
Brian Coca
6cad356b3b updated docs to show new output 2016-03-03 18:05:39 -05:00
Brian Coca
b2a6784a9f changed the output to keep backwards compat
still shows path when verbose
2016-03-03 18:03:02 -05:00
Brian Coca
fd8593d613 Merge pull request #14661 from jjshoe/fix-up-profile-tasks
Update the profile task callback plugin to include a fix for duplicate named tasks. Added additional features to adjust the number of tasks output and the sort order.
2016-03-03 17:46:40 -05:00
Brian Coca
c022a43a47 fixed str to to_str 2016-03-03 14:40:35 -05:00
Brian Coca
347aa7b032 Merge pull request #14774 from lamby/ignore-epipe-when-flushing-stdout-stderr
Ignore EPIPE when flushing stdout stderr
2016-03-03 14:26:20 -05:00
Chris Lamb
eb1141ee79 Ignore EPIPE to avoid tracebacks when piping output to other commands
For example:

  $ ansible web --list-hosts | head -n1
  hosts (7):
  ERROR! Unexpected Exception: [Errno 32] Broken pipe
  Traceback (most recent call last):
    File "/home/lamby/git/private/lamby-ansible2/.venv/bin/ansible", line 114, in <module>
      display.display("to see the full traceback, use -vvv")
    File "/home/lamby/git/private/lamby-ansible2/.venv/local/lib/python2.7/site-packages/ansible/utils/display.py", line 133, in display
      sys.stdout.flush()
  IOError: [Errno 32] Broken pipe

Such a pipe target will close up shop early when its seen enough input,
causing ansible to print an ugly traceback.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2016-03-03 19:21:06 +00:00
Chris Lamb
951c8a5d27 Alias fileobj. 2016-03-03 19:16:58 +00:00
Brian Coca
4cfd042839 more complete and informative errors
mostly templating issues now all return data templated and actual error
fixes #14781
2016-03-03 13:52:09 -05:00
Brian Coca
0031a72e0d tweak deprecation warnings display 2016-03-03 13:51:44 -05:00
Brian Coca
ea5e089056 restore initial json parsing attempt to loader
fixes issues with extra vars json strings not being parsed correctly by the yaml parser
2016-03-03 13:26:50 -05:00
Toshio Kuratomi
4657be4eab Transform pathnames to bytes before passing on to os.path functions 2016-03-03 09:03:28 -08:00
Toshio Kuratomi
468eea82bd Merge pull request #14765 from sivel/redirect-ssl-validation
Support SSL validation with redirect control for python versions without ssl context
2016-03-03 07:06:34 -08:00
Matt Davis
0ab29f573a Merge pull request #14755 from bcoca/pause_nohup_fix
avoid issues when stdin is a closed file
2016-03-02 22:33:58 +00:00
Matt Martz
6ff0b079b4 Support SSL validation with redirect control for python versions without ssl context 2016-03-02 16:30:16 -06:00
Brian Coca
c24249c57d made max diff size configurable 2016-03-02 17:25:22 -05:00
Toshio Kuratomi
1dbbd2a80c Remove debugging and fix the place where bytes are being handed to StringIO 2016-03-02 09:31:06 -08:00
Brian Coca
ca0797fc4e avoid issues when stdin is a closed file
this seems to happen when nohup is involved, so the check tty
does not get a chance to fail, it just works with pipes

fixes http://github.com/ansible/ansible-modules-core/issues/3166
2016-03-02 11:58:16 -05:00
Toshio Kuratomi
093b3422ec more information 2016-03-02 08:58:15 -08:00
Brian Coca
7ba790bbaf don't tempalte register 2016-03-02 11:57:43 -05:00
Toshio Kuratomi
5aef65edcd Testing whether this fixes jenkins 2016-03-02 07:47:32 -08:00
James Cammarata
3247390123 Conditionally import StringIO in template so we only use io.StringIO on py3 2016-03-02 09:34:43 -05:00
James Cammarata
2c7a33f71d Fixing bug in setup related to StringIO fixes 2016-03-02 08:05:43 -05:00
James Cammarata
9acb5aa176 Changing location of reduce import to not use six.moves 2016-03-01 17:06:46 -05:00
James Cammarata
b559d0e6ee Adding py3 stub for reduce from six.moves 2016-03-01 16:55:01 -05:00
Brian Coca
71402abf21 only do squash when 'squashable field' present 2016-03-01 15:11:34 -05:00
James Cammarata
e011f52557 Expanding unit tests for module_utils/basic.py 2016-03-01 13:53:13 -05:00
Brian Coca
7af5787030 Merge pull request #14717 from xiaket/devel
Fix __repr__ for meta tasks
2016-03-01 08:37:09 -05:00
Brian Coca
dd003a42b0 Merge pull request #14273 from resmo/for-ansible-2.1
[2.1] cloudstack: new generic code
2016-03-01 08:17:42 -05:00
Rene Moser
6c641fb6a8 cloudstack: add CS_HYPERVISORS constant 2016-03-01 08:05:32 +01:00
夏恺(Xia Kai)
d033c40e80 Make task repr really work for meta tasks.
Signed-off-by: 夏恺(Xia Kai) <xiaket@xiaket@gmail.com>
2016-03-01 06:03:22 +00:00
Brian Coca
0d1138e0a0 Merge pull request #14712 from chouseknecht/galaxy2_paging
Fix bug 14715: Galaxy CLI paging error
2016-02-29 22:47:57 -05:00
chouseknecht
42b2077c93 Fix bug 14715: Galaxy CLI paging error 2016-02-29 21:21:32 -05:00
Peter Sprygada
c2ce509aaf bugfixes for openswitch shared module
This commit fixes two bugs in the openswitch shared module.  The first
bug was a wrong argument type for the use_ssl argument.  It was set
to int and should be bool.  The second changes the default ports for http
(was 80, now 8091) and https (was 443, now 18091).  This change aligns
the default port values with the OS
2016-02-29 20:24:07 -05:00
nitzmahone
915037c628 update submodule refs 2016-02-29 16:43:30 -08:00
nitzmahone
ac54f66741 don't lock file when calculating checksum 2016-02-29 16:30:55 -08:00
Brian Coca
badc922c73 added warning for when host file doesn't exist
fixes #14692
2016-02-29 16:18:06 -05:00
Brian Coca
82d6a83cca Merge pull request #14633 from Etherdaemon/fix_boto3_params
Fixup boto3_conn aws_session_token and verify
2016-02-29 15:58:11 -05:00
Brian Coca
157ebcfe0b Merge pull request #14709 from bcoca/squash_fix_atp
added package to special 'squashable' fields
2016-02-29 15:36:55 -05:00
Brian Coca
67d5b77898 added package to special 'squashable' fields
apt has it as alias, this should fix https://github.com/ansible/ansible-modules-core/issues/3145
2016-02-29 15:21:17 -05:00
James Cammarata
7c049c3200 Fixing up jsonify and adding unit tests 2016-02-29 14:51:23 -05:00
Matt Martz
d0a717694f Fix variable name in paramiko connection plugin 2016-02-29 10:12:17 -06:00
Matt Martz
e27eb73cba sys.subversion unavailable in py24. Fixes #14704 2016-02-29 09:05:48 -06:00
Peter Sprygada
f67bf3f775 updates the ops_template plugin action backup key
This commit changes the key the ops_template will search for in order
to backup the current configuration to local disk on the Ansible control
host.  This change was made to make ops_template consistent with the
other network template modules.
2016-02-28 23:40:05 -05:00
Toshio Kuratomi
e01b6ad6b4 We are actually taking the repr of a string so we need separate to_bytes and repr calls 2016-02-26 16:57:32 -08:00
Toshio Kuratomi
b70bf3b056 Use io.StringIO and io.BytesIO instead of StringIO.StringIO for compat with py3 2016-02-26 16:43:05 -08:00
Toshio Kuratomi
c29f51804b Fix mixing of bytes and str in module replacer (caused traceback on python3) 2016-02-26 16:43:05 -08:00
Brian Coca
512d3dd621 with_ loops always should want a list 2016-02-26 14:56:54 -05:00
Brian Coca
528f073bfa update core subref 2016-02-26 13:51:38 -05:00
Toshio Kuratomi
1f2595306a normalize path components to unicode before combining or operating on them
Note that this will break if we deal with non-utf8 paths.  Fixing this
way because converting everythig to byte strings instead is a very
invasive task so it should be done as a specific feature to provide
support for non-utf8 paths at some point in the future (if needed).
2016-02-26 10:29:37 -08:00
Toshio Kuratomi
ef8bec18bf Use a unicode format string so that we don't convert to byte strings
Fixes #14349
2016-02-26 10:29:37 -08:00
Dag Wieers
0eca47cf91 Avoid merging a dict and a AnsibleUnicode
This is the same fix we applied to v1.9 in PR #14565, however it does not fix #14678 completely !
The dictionaries are not being merged as tey are on v1.9.
2016-02-26 15:03:51 +01:00
Brian Coca
ad5a6e7993 updated submodule refs 2016-02-25 17:23:20 -05:00
James Cammarata
771f1e31a9 Rework the way ad-hoc filters inventory to match how cli/playbook does it 2016-02-25 12:36:44 -05:00
Brian Coca
e2d2798a42 hosts can be list or string 2016-02-25 11:30:41 -05:00
Brian Coca
2d56293768 default play name to hosts entry
return to previous behaviour as now the name was left blank
2016-02-25 11:25:17 -05:00
Joel
b3aa373932 Update the profile task callback plugin to include a fix for duplicate named tasks. Added additional features to adjust the number of tasks output and the sort order. 2016-02-25 10:02:36 -06:00
James Cammarata
cd51ba7965 Use abspath instead of realpath for group/host vars files
The use of realpath means when following symlinks the actual path is
used when loading these files in the VariableManager, which may not
line up with the host or group name specified.

Fixes #14545
2016-02-24 13:10:49 -05:00
Toshio Kuratomi
9c9cce51ab Update submodule refs 2016-02-24 08:53:28 -08:00
Brian Coca
03c33053aa clarified become options do not imply others
fixes #14635
2016-02-24 10:58:40 -05:00
ivovangeel
23349911f1 Fixed bug in find_mount_point function
The find_mount_point function does not resolve the mount point of paths with a soft-link correctly and returns the wrong mount-point.

I have mounted an NFS filesystem on /nfs-mount. This directory contains a directory called "directory". I also created a soft-link to this last directory: /soft-link-to-directory -> /nfs-mount/directory. I created the following task to copy a file into /soft-link-to-directory:

    - name: copy file to nfs-mount
      copy:
        src: "file"
        dest: "/soft-link-to-directory/file"

This throws an exception:

invalid selinux context: [Errno 95] Operation not supported

This is caused by the find_mount_point function to return '/' as the mount point for '/soft-link-to-directory/file'. This should have been /nfs-mount. Because the find_mount_point returns the wrong mount-point, the is_special_selinux_path function does not recognise the file is on an NFS mount and tries to set the default SELinux context (system_u:object_r:default_t:s0), which fails. The context should have been: system_u:object_r:nfs_t:s0

Full Ansible output:

TASK [copy file to nfs-mount] **************************************************
fatal: [hostname]: FAILED! => {"changed": false, "checksum": "f34b60930a5d6d689cf49a4c16bd7f9806be608c", "cur_context": ["system_u", "object_r", "nfs_t", "s0"], "failed": true, "gid": 24170, "group": "foundation", "input_was": ["system_u", "object_r", "default_t", "s0"], "mode": "0644", "msg": "invalid selinux context: [Errno 95] Operation not supported", "new_context": ["system_u", "object_r", "default_t", "s0"], "owner": "root", "path": "/soft-link-to-directory/.ansible_tmpWCT6Z4file", "secontext": "system_u:object_r:nfs_t:s0", "size": 37, "state": "file", "uid": 0}
2016-02-24 15:57:16 +01:00
Etherdaemon
06977d5cb1 Fixup boto3_conn as commit 6ea772931f broke commit 27398131cf 2016-02-24 16:41:30 +10:00
James Cammarata
2db3f290ba Fix logic error when copying files recursively to a directory 2016-02-23 16:29:57 -05:00
Brian Coca
34541b4e5e preserve no_log for async also 2016-02-23 15:37:39 -05:00
James Cammarata
d74ea51287 Submodule update 2016-02-23 15:18:40 -05:00
James Cammarata
da02aba173 Don't inject PlayContext properties as variables if they're None
Fixes bug introduced in 078ebb0
2016-02-23 15:07:51 -05:00
James Cammarata
e02b98274b issue callbacks per item and retry fails
- now workers passes queue to task_executor so it can send back events per item and on retry attempt
- updated result class to pass along events to strategy
- base strategy updated to forward new events to callback
- callbacks now remove 'items' on final result but process them directly when invoked per item
- new callback method to deal with retry attempt messages (also now obeys nolog)
- updated tests to match new signature of task_executor

fixes #14558
fixes #14072
2016-02-23 15:07:06 -05:00
Brian Coca
6eb4633b07 always return a checksum key, even if empty 2016-02-23 15:07:14 -05:00
Peter Sprygada
fc57b88356 Merge pull request #14618 from ogenstad/devel
Fixes authentication error bug when user has rsa keys
2016-02-23 14:14:20 -05:00
James Cammarata
6cf6130468 Fixing/cleaning up do/until logic in TaskExecutor
* Fixes bug where the task was not marked as failed if the number of
  retries were exceeded (#14461)
* Reorganizing logic to be a bit cleaner, and so retrie messages are
  shown before sleeping (which makes way more sense)

Fixes #14461
Fixes #14580
2016-02-23 13:17:51 -05:00
Matt Martz
cacb74aeeb Merge pull request #14340 from sivel/uri-no-httplib2
Add RedirectHandler class for controlling redirects in urllib2
2016-02-23 11:53:16 -06:00
Matt Martz
27a55d3f33 Merge pull request #14586 from sivel/python-facts
Add python info to facts
2016-02-23 11:31:06 -06:00
Matt Martz
3ac0143cf1 Merge pull request #13654 from sivel/paramiko-proxy-command
Add ProxyCommand support to the paramiko connection plugin
2016-02-23 11:30:43 -06:00
Matt Martz
38b663471d Merge pull request #14311 from sivel/unsafe-yaml-constructor
Add new 'unsafe' YAML constructor
2016-02-23 11:29:53 -06:00
Matt Martz
d9a207f24f Add has_sslcontext fact as well 2016-02-23 11:28:04 -06:00
Matt Martz
7158eb489f Add python info to facts 2016-02-23 10:38:41 -06:00
ogenstad
3f95f163ff Avoids authentication failed exception if user has private rsa keys under .ssh 2016-02-23 11:17:24 +01:00
James Cammarata
078ebb0dec Don't re-inject become* variables as it causes problems when templating is involved
Prior to 75b6f61, we strictly limited variables we re-injected. After that
patch however, we re-injected everything which causes problems under certain
circumstances. For now, we'll continue to filter out some properties of
PlayContext for re-injection.

Fixes #14352
2016-02-22 17:09:58 -05:00
Brian Coca
e35b1cf154 show task path on vv and above 2016-02-21 16:22:39 -05:00
Brian Coca
cea10794fd removed unused color var 2016-02-21 02:03:48 -05:00
Matt Martz
f8211f83a0 Merge pull request #14591 from sivel/issue/14541
Allow lookups to return python data structures
2016-02-20 16:24:59 -06:00
Matt Martz
439a385215 Catch TypeError on join, and if caught just return a single item, or a list of many 2016-02-20 16:17:58 -06:00
Brian Coca
d9246aacd0 fixed mount sizes for linux 2016-02-20 14:46:18 -05:00
Brian Coca
f1d2b9ea9e added size to mount facts on all non linux OSs
fixes #14528
2016-02-20 14:40:42 -05:00
Brian Coca
547afda8d4 Merge pull request #14546 from furlongm/devel
fix ansible_os_family fact on openSUSE Leap
2016-02-20 12:46:27 -05:00
Brian Coca
d87fd68287 Merge pull request #14560 from dagwieers/merge_hash_v2
Improve efficiency of merge_hash (Ansible v2.0)
2016-02-20 12:39:49 -05:00
Brian Coca
81368d8119 Merge pull request #14552 from kilburn/lsblk-dedup
Avoid duplicate /bin/lsblk calls in the setup module.
2016-02-20 12:24:22 -05:00
Brian Coca
6febb816d2 Merge pull request #14569 from sivel/json-stdout-callback
Add json stdout callback
2016-02-19 07:12:30 -08:00
George Christou
bbc855c218 Make --diff lines of context configurable 2016-02-19 12:18:09 +00:00
Toshio Kuratomi
f9526b2ab2 Missed constants.py in the commit for #14557 2016-02-18 23:49:33 -08:00
Matt Martz
7f7536f7ad Add json callback to be used in replace of the default stdout to print a JSON structure to stdout 2016-02-18 16:39:31 -06:00
Brian Coca
844754b8e3 added missing config to constants.py
fixes #14567
2016-02-18 14:37:14 -08:00
Brian Coca
0f73fb0d6f better error messages when failing to decrypt 2016-02-18 08:57:28 -08:00
Matt Davis
4c58066153 Merge pull request #14557 from ansible/display-play-args
Add a configuration setting that allows the user to specify printing …
2016-02-18 07:40:50 -08:00
Dag Wieers
5a57139d91 Improve efficiency of merge_hash
This is related to #14559, but only the part for Ansible v2.0

This commit makes merging empty dicts, or equal dicts more efficient.

I noticed that while debugging merge_hash a lot of merges related to empty dictionaries and sometimes also identical dictionaries.
2016-02-18 16:03:11 +01:00
Brian Coca
5552c04976 allow skipping debug depending on verbosity 2016-02-18 06:58:43 -08:00
Toshio Kuratomi
86b8dc0e79 Add a configuration setting that allows the user to specify printing of task arguments in the header.
Fixes #14554
2016-02-18 04:20:35 -08:00
Brian Coca
1dba6da40f changed filtered to actionable cb plugin 2016-02-18 02:32:05 -08:00
Brian Coca
54942ee8ff Merge pull request #13593 from agaffney/devel
Add 'filtered' stdout callback plugin
2016-02-18 02:30:32 -08:00
Brian Coca
d54d9dabe9 added specific info to deprecation message
should now show actual variable that is undefined
fixes #14526
2016-02-18 02:21:58 -08:00
Brian Coca
22082216a4 Merge pull request #13408 from sivel/v2-slack-callback
V2 slack callback plugin
2016-02-18 02:12:39 -08:00
Brian Coca
6012646d8c added playbook and options info to callbacks
will display on certain verbosity levels, both playbook/file info
and non empty options with which it's running.
avoid errors when not using CLI classes
2016-02-18 02:09:07 -08:00
Brian Coca
5300a2eafc Merge pull request #14491 from gechr/gc-simple-colour-diff
Add simple --diff colour support
2016-02-18 02:00:03 -08:00
Brian Coca
413abcf16d Merge pull request #14450 from bcoca/include_vars_merge
Include vars merge
2016-02-18 01:49:30 -08:00
Brian Coca
3e407ed743 Merge pull request #14490 from bcoca/stat_instead_of_checksum
Use stat module instead of checksum code
2016-02-18 01:45:50 -08:00
Brian Coca
3b3709e715 Merge pull request #14488 from bcoca/become_shell_fixes
shell + become fixes
2016-02-18 01:45:37 -08:00
Brian Coca
2b5fffa751 updated to use to_unicode as per feedback 2016-02-18 01:41:23 -08:00
Marc Pujol
6779f91b88 Avoid duplicate /bin/lsblk calls in the setup module.
The setup module calls /bin/lsblk once for each device appearing in the /etc/mtab file. However, the same device appears there mutliple times when the system uses bind-mounts. As a result, /bin/lsblk is being called repeatedly to get the uuid of the same device.

On a system with many mounts, this leads to a TimeoutError in the get_mount_facts function of the setup module as described in #14551.

Fixes #14551
2016-02-18 09:15:07 +01:00
Marcus Furlong
90fb809f62 fix ansible_os_family fact on openSUSE Leap
ansible_os_family on openSUSE Leap has the wrong value:

        "ansible_os_family": "openSUSE Leap",

It should be:

        "ansible_os_family": "Suse",

This change fixes that by adding the relevant key and ensuring that dict
lookups replace ' ' with '_' so the key does not contain a space.
2016-02-18 14:36:52 +11:00
Yannig Perré
588045cc46 Improve message content to get more hint about the raised error. 2016-02-17 21:30:34 +01:00
Peter Sprygada
91f3558c64 minor bugfix that will catch connection errors in eos
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
2016-02-17 14:19:35 +00:00
Peter Sprygada
0d3c0515c0 minor bugfix that will catch connection errors in ios
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
2016-02-17 14:19:28 +00:00
Peter Sprygada
b72b14fdf2 minor bugfix that will catch connection errors in iosxr
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
2016-02-17 14:19:21 +00:00
Peter Sprygada
1a072578c3 minor bugfix that will catch connection errors in junos
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
2016-02-17 14:19:12 +00:00
Peter Sprygada
9e31e33850 minor bugfix that will catch connection errors in nxos
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
2016-02-17 14:19:04 +00:00
James Cammarata
58a6cf822a Merge pull request #13203 from willthames/galaxy_10620
Allow tree-ish versions for ansible-galaxy
2016-02-17 08:41:29 -05:00
George Christou
56239ee347 Make --diff colours configurable 2016-02-17 10:25:54 +00:00
Brian Coca
6102a4b9b4 template also when only comments present 2016-02-16 09:42:33 -05:00
Brian Coca
b9d0662faf use stat module instead of checksum code
- added new function for action plugins this avoids the very fragile checksum code that is shell dependant.
- ported copy module to it
- converted assemble to new stat function
- some corrections and ported temlpate
- updated old checksum function to use new stat one under the hood
- documented revamped remote checksum method
2016-02-16 08:43:38 -05:00
Yair Fried
c3b30d251f Fix openstack auth type
Otherwise auth type defaults to 'str' and shade fails
2016-02-16 13:19:18 +02:00
George Christou
8edcca0ef5 Add simple --diff colour support 2016-02-15 22:23:03 +00:00
Brian Coca
6ddea3e915 removed follow from common file docs 2016-02-15 14:13:20 -05:00
Brian Coca
6dc910c13a shell + become fixes
1 less level of shell + quoting
simplified become commands, less quote and shell
2016-02-15 13:00:13 -05:00
Brian Coca
bc41f46fec pushed non-atomic to option of last resort
try to copy into place first
2016-02-15 12:08:07 -05:00
Pascal Grange
5d49f4e629 Fix related to #13981
When working around "bad systems that insist on not allowing
updates in an atomic manner", we should not run previous exception
management code that tries to perform atomic move in case of
exception since the dirty non atomic move has already been
performed.
2016-02-15 10:18:44 +01:00
Brian Coca
0bb49090cf make some options not mandatory to pass
this should simplify api calls
2016-02-13 20:14:38 -05:00
James Cammarata
06b072c1f7 Fix bugs related to task_includes and dep chain inheritance
* Fix the way task_include fields were created and copied
* Have blocks get_dep_chain() look at task_include's blocks for proper
  dep chain inheritance
* Fix the way task_include fields are copied to prevent a recursive
  degradation

Fixes #14460
2016-02-13 01:02:47 -05:00
Peter Sprygada
22aaff5af7 adds new action plugin iosxr_template
This adds a new action plugin iosxr_template that allows the
iosxr_template module to pass network device configurations through the
template engine.  It also allows configurations to be backed up.
2016-02-12 17:08:21 -05:00
James Cammarata
275728e0f6 Fixing bugs related to nested blocks inside roles
* Make sure dep chains are checked recursively for nested blocks
* Fixing iterator is_failed() check to make sure we're not in a
  rescue block before returning True
* Use is_failed() to test whether a host should be added to the TQM
  failed_hosts list
* Use is_failed() when compiling the list of hosts left to iterate
  over in both the linear and free strategies

Fixes #14222
2016-02-12 13:39:39 -05:00
Brian Coca
00f600bfc8 Merge pull request #14319 from bcoca/shell_plugin_revamp
moved to base class for shell plugins
2016-02-12 13:08:12 -05:00
Sandra Wills
edf776d6a4 Merge pull request #13805 from aioue/patch-1
profile_tasks README.md
2016-02-12 12:23:45 -05:00
Tom Paine
edb36b6c4a Update profile_tasks.rst
remove brackets on links
2016-02-12 17:13:39 +00:00
Peter Sprygada
09a6bf5c15 Merge pull request #14432 from chouseknecht/net_common_cleanup_2
Cleanup for networking common bits.
2016-02-12 11:00:37 -05:00
Brian Coca
a327420b67 properly combine vars if merge is set
hash_behaviour = merge now also applies to include vars
2016-02-12 00:55:17 -05:00
James Cammarata
c485981d1a Merge pull request #14445 from marcpo/maint/display_string_causing_exception
Display the string which is causing an exception to be raised.
2016-02-11 22:50:43 -05:00
Brian Coca
af68ae1e87 switched from threading to multiprocessing
functions same, just keeping names from confusing people
2016-02-11 22:25:17 -05:00
James Cammarata
df4912957c Merge pull request #14442 from bcoca/remove_signal_handling
removed signal trapping
2016-02-11 20:37:34 -05:00
Toshio Kuratomi
37879ea671 Update submodule refs 2016-02-11 13:12:57 -08:00
Marc Poirier
0792983ec8 Display the string which is causing an exception to be raised.
In the ansible template module, when there is an error while
expanding a templated string, displaying the string causing the
exception is very useful.
2016-02-11 15:42:50 -05:00
Brian Coca
effa64383c removed signal trapping 2016-02-11 14:54:18 -05:00
Brian Coca
347b28252a allow skipping tasks due to undefined var
mimic 1.x behaviour but give out big deprecation message, not only
for missing attribute but any undefined error.
2016-02-11 14:16:38 -05:00
Brian Coca
cd076dbcfa Merge pull request #14421 from bcoca/terminate
Terminate
2016-02-11 12:36:32 -05:00
Brian Coca
a8aa5ff4eb fix cartesian lookup
it seems that this was not working in 1.9 but we swallowed up the error
fixes #14437
2016-02-11 10:35:37 -05:00
Peter Sprygada
cf251258a8 initial add of new action plugin junos_template
This adds a new action plugin, junos_template that allows the
the junos_template module to perform the templating function.  It
implements net_template
2016-02-11 08:28:35 -05:00
Peter Sprygada
8f9badb2b4 update shared module junos to handle root logins 2016-02-11 07:36:56 -05:00
Peter Sprygada
9c36c0aa80 minor bug fixes and updates to shell 2016-02-11 07:36:47 -05:00
chouseknecht
5a45ca8bb1 Move Conditional class to netcfg. Added error handling for connect and execute methods.
Fix comments
2016-02-11 00:19:25 -05:00
Toshio Kuratomi
9286143b53 Merge pull request #14374 from robinro/fix-mount-without-permission-bug
add ismount function in module_utils
2016-02-10 17:32:19 -08:00