Commit graph

6911 commits

Author SHA1 Message Date
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
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
Toshio Kuratomi
6276585882 Module params should default to str in most cases. 2016-02-10 15:22:42 -08:00
Brian Coca
64c976a6c3 Merge pull request #14416 from bcoca/diff_size_fix
read full file when doing diff
2016-02-10 15:42:29 -05:00
Brian Coca
38120c1075 termination handling
- moved to base cli class to handle centrally and duplicate less code
- now avoids duplication and reiteration of signal handler by reassigning it
- left note on how to do non-graceful in case we add in future
  as I won't remember everything i did here and don't want to 'relearn' it.
2016-02-10 15:35:30 -05:00
Brian Coca
3079a03773 read full file when doing diff
but avoid reading file at all or full file when file is too big for diffing
2016-02-10 12:05:45 -05:00
Toshio Kuratomi
371c7315b0 Merge pull request #14261 from kamsz/devel
Add validate_certs param to skip SSL verification in VMware
2016-02-10 08:50:48 -08:00
Toshio Kuratomi
486304ba1c Clarify error message when module replacer encounters a bad import line for module_utils code 2016-02-10 08:46:17 -08:00
Brian Coca
d9dcb2a427 Revert "centralized TERM signal handling"
This reverts commit 5a88478ccc.
is WIP, not ready for use yet
2016-02-10 09:48:42 -05:00
James Cammarata
2adddac94c Catch exceptions during module execution so they don't fail the worker
Fixes #14120
2016-02-10 09:22:57 -05:00
Brian Coca
5a88478ccc centralized TERM signal handling 2016-02-09 18:21:33 -05:00
Brian Coca
1b8dec9c88 avoid termination message when term is internal 2016-02-09 18:10:36 -05:00
Brian Coca
b4b24a0889 moved to base class for shell plugins
fish now sets env vars correctly
fish checksum now works
fixed and cleaned up imports
fixed typo
2016-02-09 17:39:51 -05:00
Matthew Stoltenberg
c90ab8856d paramiko transport appears to hang if it gets a sudo lecture
* bring paramiko transport closer to ssh transport in how it deals with prompt
2016-02-09 15:08:33 -07:00
Brian Coca
f50b381dba Merge pull request #13678 from Etherdaemon/fix_datetime_objects
fix for datetime exception in ecs_tasks
2016-02-09 17:07:28 -05:00
James Cammarata
a54f472b08 Submodule pointer update for devel 2016-02-09 13:30:50 -05:00
Matthew Stoltenberg
d36394d6a6 strip BECOME-SUCCESS at lower level
Fixes #14395
2016-02-09 13:03:18 -05:00
James Cammarata
162dd2594f Filter become success string from the stdout of script results
Fixes #14390
2016-02-09 12:34:15 -05:00
Kamil Szczygiel
9f1eea43fa support for python < 2.7 2016-02-09 08:49:26 +01:00
Toshio Kuratomi
0f15e59cb2 Also hide the before state of files with --diff and no_log 2016-02-08 22:05:46 -08:00
Toshio Kuratomi
06b2400aae Need to apply to_str to each element of the list so that we don't mix types in the join()
"Third time's the charm"
2016-02-08 20:28:55 -08:00
Brian Coca
81a40ac235 fix winrm erorr formatting 2016-02-08 23:00:19 -05:00
Brian Coca
5014919099 Merge pull request #14347 from bcoca/die_now
fix termination on user/signal interrupt
2016-02-08 17:18:11 -05:00
Jonathan Davila
b220051c14 Added more info to the no action detected error
Error fix
2016-02-08 16:51:10 -05:00
Tom Paine
8e3cc3eecd Update profile_tasks.rst 2016-02-08 19:19:05 +00:00
Toshio Kuratomi
1aaf5a399c Merge pull request #14317 from resmo/feature/fail_on_missing_params
module_utils/basic: add generic method for checking for missing param…
2016-02-08 10:33:48 -08:00
Robin Roth
f3f3e3c660 fix typo 2016-02-08 19:10:04 +01:00
Robin Roth
c0ebb74ad0 add ismount function from python Lib/posixpath.py
needed for https://github.com/ansible/ansible-modules-core/pull/2737
2016-02-08 18:58:36 +01:00
Brian Coca
46ce9a0016 Merge pull request #13883 from shaba/devel
Add support ssh configs from /etc/openssh.
2016-02-08 10:27:44 -05:00
Tom Paine
5a88cd8ad9 Rename profile_tasks.md to profile_tasks.rst 2016-02-08 15:02:50 +00:00
James Cammarata
1ea21f1f8c Also chmod the args file path when using become for old-style modules
Fixes #14348
2016-02-08 10:00:26 -05:00
Brian Coca
5a1887cc76 correctly handle term signals
- adhoc now terminates gracefully
- avoid race condition on terminations by ignoring errors if
  worker might have been reaped between checking if active and termination call
- ansible-playbook now properly exits on sigint/term
- adhoc and playbook now give exceptions that we should not normally capture
  and rely on top level finally to reap children
- handle systemexit breaks in workers
- added debug to see at which frame we exit
partial fix for #14346
2016-02-08 09:51:16 -05:00
James Cammarata
45755bc0e5 Merge pull request #14353 from felixfontein/devel
Include's tags argument allows only one tag to be specified.
2016-02-08 08:52:12 -05:00
Toshio Kuratomi
ccbc7d217b Update submodule refs 2016-02-07 14:30:28 -08:00
Toshio Kuratomi
d1c2d16706 Allow setting run_command environment overrides for the life of an AnsibleModule 2016-02-07 12:46:04 -08:00
Felix Fontein
8eea1c7e01 Allowing multiple tags to be specified in include's tags argument. 2016-02-06 21:19:03 +01:00
Brian Coca
ad37a91514 really only want to prevent None typep here
false is sometimes needed
2016-02-05 14:33:10 -05:00
Matt Martz
0e57c577f4 Add RedirectHandler class and factory function for controlling redirects in urllib2 2016-02-05 12:12:04 -06:00
Tom Paine
9eca815377 Update profile_tasks.md
Converted to RST.
2016-02-05 18:06:10 +00:00
James Cammarata
c79d9a9c62 Handle run_once scenarios in the free strategy
* Raise an error if the action is using BYPASS_HOST_LOOP, to prevent
  unexpected behavior from those actions
* Show a warning regarding tasks marked as run_once, as the free strategy
  does not yet support that behavior
* Minor tweak to linear strategies run_once code to make sure we don't
  raise an error if an action isn't found
2016-02-05 11:19:50 -05:00
James Cammarata
27f9cc05f8 Make sure run_once tasks also set any_errors_fatal so all hosts fail
Currently implemented only in the linear strategy (free strategy simply
ignores run_once/BYPASS_HOST_LOOP actions).

Fixes #14252
2016-02-05 10:58:24 -05:00
Brian Coca
d2846dbf30 Merge pull request #14280 from bcoca/always_tag_setup
WIP: tag the setup task with always
2016-02-05 10:33:34 -05:00
Peter Sprygada
18094d8595 Merge pull request #14313 from chouseknecht/net_template_changes
When in context of a role, create backup dir within role_path
2016-02-04 20:21:12 -05:00
Brian Coca
5679b5414c avoid errors from possible None/False args 2016-02-04 19:39:56 -05:00
James Cammarata
75b6f61619 Fix the way we re-add variables from PlayContext to the variable dict
* If the internal value is None, do not add the variable
* Make sure all aliases for a given variable name are set (if they're
  not already set in the dictionary)

Fixes #14310
2016-02-04 17:17:33 -05:00
Rene Moser
11522b22c3 module_utils/basic: add generic method for checking for missing params when argspec can not be used. 2016-02-04 22:54:03 +01:00
Toshio Kuratomi
e2a7ba35db Fix --diff to respect no_log task parameter. 2016-02-04 12:44:45 -08:00
chouseknecht
4f61fb6cce Add safety check on _backup key. 2016-02-04 14:47:43 -05:00
chouseknecht
0766219f58 When in context of a role, create backup dir within role_path 2016-02-04 14:47:43 -05:00
Toshio Kuratomi
4b7b3794c9 Update submodule refs 2016-02-04 11:10:50 -08:00
Brian Coca
89c57666c3 fixed py3 compatibility 2016-02-04 13:14:56 -05:00
Brian Coca
70ac47ae61 allow atomic_move to not be atomic ...
just 'cause people build bad systems that insist on not allowing
updates in an atomic manner and force us to do them in a very
unsafe way that has race conditions and can lead to many issues.

if using this option you should really be opening a bug report with
the system that only allows for this type of update.

and now i shower though i doubt i'll feel clean
2016-02-04 13:05:24 -05:00
Peter Sprygada
f30d5b1d94 Merge pull request #14012 from privateip/action_nxos_config
initial add of action plugin nxos_template
2016-02-04 11:41:41 -05:00
Peter Sprygada
c7180cf1a5 Merge pull request #14011 from privateip/action_ops_config
initial add of action plugin ops_template
2016-02-04 11:41:29 -05:00
Peter Sprygada
a48b521e62 Merge pull request #14010 from privateip/action_ios_config
initial add of action plugin ios_template
2016-02-04 11:41:08 -05:00
Peter Sprygada
30d03b93b4 Merge pull request #14009 from privateip/action_eos_config
initial add of action plugin eos_template
2016-02-04 11:40:21 -05:00
Peter Sprygada
ed3842aa87 Merge pull request #14008 from privateip/action_net_config
initial add of action plugin net_template
2016-02-04 11:40:07 -05:00
Brian Coca
6149685652 Merge pull request #14293 from dagwieers/fix-eval-json-booleans
Defined JSON booleans in global context for python eval()
2016-02-04 11:33:30 -05:00
Matt Martz
8bc2d3be9c Add new 'unsafe' YAML constructor 2016-02-04 10:08:42 -06:00
Dag Wieers
2e171610e0 Also add 'null' as a possible JSON value 2016-02-04 14:19:46 +01:00
James Cammarata
699a854bf3 Fixing bugs in play iteration and strategies
* Fixed a bug in PlayIterator when ITERATING_ALWAYS, where the block
  was advanced but the incorrect data structure elements were cleared
* Cleaned up the logic of is_failed() in PlayIterator
* Fixed a bug in the free strategy which had not been updated to use
  the base strategy _execute_meta() method
* Stopped strategies from using is_failed() to determine if tasks should
  still be fetched for a host

Fixes #14040
2016-02-03 18:42:27 -05:00
James Cammarata
da9ae14ff6 Adding new feature - meta: clear_host_errors
Allows for the clearing of any failed/unreachable hosts
2016-02-03 14:59:38 -05:00
Dag Wieers
dc48d27dd2 Defined JSON booleans in global context for python eval()
We define 'false' and 'true' as variables so that python eval() recognizes them as False and True.

This fixes #14291.
2016-02-03 19:11:55 +01:00
Brian Coca
26cd465068 Merge pull request #14281 from dagwieers/fix-first-found-list
Handle when the lookup-plugin is used in jinja-style
2016-02-03 11:13:57 -05:00
Dag Wieers
dee5dba82a Handle when the lookup-plugin is used in jinja-style
This fixes #14190.
2016-02-03 17:10:40 +01:00
Brian Coca
dc6f0c1290 avoid logging color codes 2016-02-03 10:55:30 -05:00
Tobias Wolf
c902f926ca Do not print empty diffs with _display.display() 2016-02-03 16:20:16 +01:00
Tobias Wolf
28169492f9 Do not insert newlines when diff is empty 2016-02-03 16:20:16 +01:00
Tobias Wolf
67594e8ec2 Fix handling of difflist containing multiple before/after pairs
Commit ansible/ansible@c337293 introduced a difflist feature. The return
value was not adequately outdented to append any diff after the first.
2016-02-03 16:20:16 +01:00
Peter Sprygada
4bda4a13e5 initial add of action plugin net_template
The net_config local action handles templating for network configuration
file.  It will also allow network device configurations to be backed up
to the control host

Note: this plugin was originally named net_config but has been refactored to
net_template
2016-02-02 22:27:05 -05:00
Brian Coca
84f8241ff8 tag the setup task with always
fixes #14228
2016-02-02 16:31:22 -05:00
Toshio Kuratomi
42e312d3bd Change $() into backticks. Backticks should work for both POSIX and non-POSIX compatible shells.
Fixes #14176
2016-02-02 12:38:21 -08:00
Toshio Kuratomi
147dba5d97 Merge pull request #14277 from ansible/default-shell-type
Establish sh as the default shell plugin.
2016-02-02 12:19:00 -08:00
Toshio Kuratomi
5b1d8cfd5c Establish sh as the default shell plugin.
This is a fix for one of the problems pointed out in #14176
2016-02-02 11:46:09 -08:00
Brian Coca
8d4bc2003f better fix for ansible-pull inventory handling
now it mirrors what it did in previous versions
and properly uses inventory and limit options
2016-02-02 14:22:15 -05:00
Brian Coca
197bed6fd8 make executable setting connection dependant
winrm shoudl not use executable, rest should?
fixes #14233
2016-02-02 13:13:02 -05:00
James Cammarata
b2c0abe998 Don't mark host as having gathered facts when peeking at next task
Fixes #14243
2016-02-02 10:22:52 -05:00
Kamil Szczygiel
fa13aa8c00 rename param from skip_ssl to validate_certs 2016-02-02 15:47:56 +01:00
Brian Coca
a584ab3420 Merge pull request #11113 from sysadmin75/11104_osx_facts_bridge
Fixes OSX fact gathering for the bridge interface.
2016-02-02 00:46:21 -05:00
Brian Coca
f628704a71 added option groups to make --help readable
Also moved -K to become to keep short option in view of removing the
separate sudo/su prompt options
2016-02-02 00:09:14 -05:00
Brian Coca
eafc31f3f8 Merge pull request #14197 from bcoca/safer_data_load
load now does not modify the incomming data
2016-02-02 00:02:23 -05:00
Brian Coca
dc15eb806e deprecate all bare variable conversions (not debug)
now deprecation message appears with variable name in all spots where this occurs
debug's var= option is excluded as this is only place where bare variables shold actually
be accepted.
2016-02-01 18:59:14 -05:00
Brian Coca
28cf4bc00b fix incorrect environment processing
it was assumed it could only be a dict or string (it starts out as a list)
also a 2nd assumption that bare vars only would appear in one of the dict keys.

removed deprecation warnings from here as they should be signaled in the bare conversion itself.
2016-02-01 18:54:09 -05:00
Brian Coca
6a62ad6c4b hide internal params once used 2016-02-01 15:17:23 -05:00
Brian Coca
e0ed88e668 normalize error message on src != dir when local
now action plugin returns same error as module
2016-02-01 13:43:35 -05:00
Matt Martz
ddfab5faf1 Use isinstance type checks in bool filter so we can handle unsafe proxy objects. Fixes #14240 2016-02-01 12:32:59 -06:00
Peter Sprygada
b2f1c0691d initial add of action plugin ops_template
Adds new local action ops_config for handling openswitch configurations using
either dc or cli based configurations.  Implements the common net_config
local action.

Note this refactors the ops_config plugin to ops_template
2016-02-01 11:54:56 -05:00
Peter Sprygada
4f2a75923e initial add of action plugin ios_template
Adds a new local action ios_config for working with cisco ios configuration
files.  Implements the common net_confing local action

Note this plugin was refactored from ios_config to ios_template
2016-02-01 11:54:02 -05:00
Peter Sprygada
54f7a7b6d2 initial add of action plugin nxos_template
Adds new local action for working with cisco nxos configurations.  Implemements
the net_config local action.

Note this action plugin was refactored from nxos_config to nxos_template
2016-02-01 11:52:50 -05:00
Peter Sprygada
be82caefd2 initial add of action plugin eos_template
Adds a new local action for eos_config module to handle templating configs
and backing up running configurations.   Implements the local action
net_config

Note this action was refactored from eos_config to eos_template
2016-02-01 11:51:52 -05:00
Peter Sprygada
1733bf4053 minor update for nxos
This fixes a minor bug in the nxos config module to ensure that both the
cli and nxapi transport return the running config as a string and not
a list object.
2016-01-31 22:59:49 -05:00
Peter Sprygada
633b16d116 add exeception handling for invalid commands over nxapi
This commit will catch invalid commands being send over nxapi and call
fail_json on the module.  The nxos shared module will now return the
failure
2016-01-31 20:10:20 -05:00
Brian Coca
49c15c8137 Merge pull request #14220 from bcoca/ansible_pull_once
harcoding inventory/hosts when pulling from repo
2016-01-30 11:35:12 -05:00
Toshio Kuratomi
9e3932ffca Some attributes of callbacks aren't in v2. Port plugins to the v2 way to do that
Update porting guide with info on callback porting
2016-01-29 19:45:12 -08:00
Toshio Kuratomi
fb57818ea3 Explicitly set validate_certs=False as the boto default is True
Fixes #14089
2016-01-29 16:37:15 -08:00
Brian Coca
7964a35918 harcoding inventory/hosts when pulling from repo
return to pre 2.0 behaviour which did not factor inventory into the repo pull
2016-01-29 18:46:56 -05:00
Brian Coca
1aae6499ca fixed code for v1 callback runtime compatiblity
old exception code obsoleted by exception avoidance
errors on callback produce warnings and don't stop play
2016-01-29 16:55:23 -05:00
James Cammarata
5587b08335 Make sure setup tasks inherit properly from their parent play
Fixes #13602
2016-01-29 15:38:46 -05:00
Toshio Kuratomi
ceef202024 Update submodule refs 2016-01-29 09:59:58 -08:00
Toshio Kuratomi
315fd15f69 Merge pull request #12909 from photoninger/sles11.4-fix_2nd_try
Fix for SLES 11.4, which has now also an /etc/os-release file.
2016-01-29 09:11:51 -08:00
Brian Coca
dd4787701f fix unicode input for template lookup
fixes #14207
2016-01-29 10:42:52 -05:00
James Cammarata
0c237c4531 Merge pull request #14191 from paulcalabro/devel
Added hyphen (-) as a valid character for permissions
2016-01-29 00:55:53 -05:00
Brian Coca
db375c22af load now does not modify the incomming data
also removed json loader as yaml loader can do both
2016-01-28 19:43:17 -05:00
Toshio Kuratomi
2c825539ff When setting up the local connection for the rsync we need to set the shell as well.
Fixes #13490
2016-01-28 16:02:57 -08:00
Matt Martz
4547ac7fb1 v2 version of slack callback plugin 2016-01-28 16:13:29 -06:00
Paul Calabro
901d349f45 Adding a hyphen in the perms pattern section, since doing something like
go=- is a quick way to strip all permissions for non-owners.
2016-01-28 13:05:10 -07:00
Toshio Kuratomi
5ecfa8ddfc Merge pull request #14189 from ansible/unicode-pager
Changes to convert to unicode at the borders
2016-01-28 11:46:34 -08:00
Toshio Kuratomi
605fb08487 Merge pull request #14168 from ansible/safer-squashing
Squashing was occuring even though pkgs didn't have a template that would be affected by squash
2016-01-28 10:57:43 -08:00
Toshio Kuratomi
fa9822df0f Changes to convert to unicode at the borders
The module docs and vault changes solve issues where tracebacks can
happen.  The galaxy changes are mostly refactoring to be more pythonic
with a small chance that a unicode traceback could have occurred there
without the changes.  The change in __init__.py when we actually call
the pager makes things more robust but could hide places where we had
bytes coming in already so I didn't want to change that without auditing
where the text was coming from.

Fixes #14178
2016-01-28 10:56:46 -08:00
Toshio Kuratomi
e7a9031d61 Update submodule refs 2016-01-28 09:43:29 -08:00
Toshio Kuratomi
0e410bbc8a Squashing was occuring even though pkgs didn't have a template that would be affected by squash
This broke other uses of looping (looping for delegate_to in the
reported bug)

Fixes #13980
2016-01-27 21:55:00 -08:00
Brian Coca
c857b20043 fixed issue with vars prompt warning causing error
sometimes display object is not magically available, use it explicitly,
no need to be classmethod anymore
fixes #14147
2016-01-27 16:13:06 -05:00
Toshio Kuratomi
3f3e3e3d5b Return an error when synchronize is used with something other than an ssh connection
Suggested in #2832
2016-01-27 12:48:15 -08:00
Kamil Szczygiel
a381c1bbd6 added skip_ssl argument for VMware module to skip SSL verification (required when using self signed certificates) 2016-01-27 20:41:28 +01:00
Brian Coca
6bf2f45ff5 fix for so su works in more cases
should not fail anymore on csh, fish nor the BSDs
fixes #14116
2016-01-27 14:13:01 -05:00
Peter Sprygada
4fa6902c96 address minor bugs in nxos shared module
This addresses two issues with the nxos shared module.  The first issue is
argument precedence checking.  The module should prefer explicit arguments
over arguments passed vi the provider.  This is now fixed to honor that
precedence.  The second issue is collecting output from nxapi and returning
the response.  Prior to this change the entire json structure was returned.
Now just the output is returned to align it better with cli based output
2016-01-27 11:25:56 -05:00
Peter Sprygada
c59916c43d fixes issue with eos shared module argument precedence
The eos shared module should prefer to use explicit task arguments over
arguments provided through the provider.  This fixes a problem where
that was not the case
2016-01-27 11:25:47 -05:00
James Cammarata
a61e51efb7 Don't try to generate retry files if the tqm hasn't been initialized
Fixes #14144
2016-01-27 09:56:50 -05:00
Toshio Kuratomi
cb2b19ced8 Fix for inventory hosts on localhost with alternate ports.
Fixes https://github.com/ansible/ansible-modules-core/issues/2831
2016-01-26 13:53:42 -08:00
James Cammarata
3ed3a5f43a Make retry file generation not use StringIO 2016-01-26 14:52:41 -05:00
James Cammarata
78d499140c Re-implementing the retry file feature for 2.0
Fixes #13944
2016-01-26 14:11:28 -05:00
James Cammarata
07a9a54b0e Fix lookup of parent attribute when parent doesn't have the attr
Fixes #14100
2016-01-26 13:10:23 -05:00
Brian Coca
66104191d1 fixed permissions check for ansible.log
fixes #13990
2016-01-26 11:22:52 -05:00
Brian Coca
46fde754af Merge pull request #14044 from skorochkin/devel
Adding support for scm-based role source urls (ansible-galaxy)
2016-01-26 10:41:05 -05:00
Tobias Wolf
5b293b56d6 Handle the key 'prepared' in the 'diff' result from modules
So far, when a 'diff' dict is returned with module results, it is
checked for 'before' and 'after' texts, which are processed in
_get_diff() by python difflib.  This generates the changes to display
when CLI users specify --diff.

However, some modules will generate changes that cannot easily be
expressed in a conventional diff. One example is the output of the
synchronize module, which presents changed files in a common log format
as in `rsync --itemize-changes`.

Add a check for a diff['prepared'] key, which can contain prepared diff text
from modules.
2016-01-26 09:29:37 +01:00
Toshio Kuratomi
c44110bc81 Update submodule refs to pick up the synchronize internal parameter 2016-01-25 19:57:28 -08:00
Toshio Kuratomi
a23a5d1b93 Merge pull request #13968 from ansible/synchronize-become-is-reversed
synchronize: First cut at not doing sudo on the control machine but on the remote machine instead.
2016-01-25 19:52:03 -08:00
Toshio Kuratomi
d0a062ffa3 python3 doesn't have raw explicit-unicode literals. Workaround it with a raw native string that we make unicode in py2. 2016-01-25 19:46:57 -08:00
Toshio Kuratomi
3cf59d30f7 For synchronize, fix sudo to execute on the remote end of the connection
* In 2.0.0.x become was reversed for synchronize. It was happening on
  the local machine instead of the remote machine. This restores the
  ansible-1.9.x behaviour of doing become on the remote machine.
  However, there's aspects of this that are hacky (no hackier than
  ansible-1.9 but not using 2.0 features).  The big problem is that it
  does not understand any become method except sudo.  I'm willing to use
  a partial fix now because we don't want people to get used to the
  reversed semantics in their playbooks.
* synchronize copying to the wrong host when inventory_hostname is
  localhost
* Fix problem with unicode arguments (first seen as a bug on synchronize)

Fixes #14041
Fixes #13825
2016-01-25 19:33:31 -08:00
Toshio Kuratomi
f4d68b8860 Transform tracebacks into unicode before printing
Fixes #14042
2016-01-25 19:18:59 -08:00
Brian Coca
c063803a91 raise AnsibleError as an 'expected' exception
fixes #14065
2016-01-25 22:20:55 -05:00
Brian Coca
9df0662408 simpler conditional 2016-01-25 22:01:48 -05:00
Jonathan Davila
041e1979c4 Boto3 error handle fix 2016-01-25 17:40:20 -05:00
Brian Coca
ac1d1673be adhoc now respects limit when listing hosts
also removed cruft about localhost as if used it is specified inline
fixes #13848
2016-01-25 17:39:01 -05:00
Jonathan Davila
f95652e7db Merge remote-tracking branch 'upstream/devel' into ec2_util_boto3 2016-01-25 17:35:39 -05:00
Brian Coca
87fe32319f ensure stdout callback alwasy is loaded first
it is now called for every event prior to any other callbacks
fixes #14114
2016-01-25 17:11:36 -05:00
Brian Coca
af88e34831 better error when host inventory script isnt dict 2016-01-25 16:32:09 -05:00
James Cammarata
a8ffa02134 Make sure blocks use their parents dependency chains
Fixes a bug inroduced in fb797a9 where included tasks in a role
were not being executed because the child blocks had no dep chain
set.
2016-01-25 09:02:44 -05:00
James Cammarata
2b02e8e2b4 Allow certain base attributes to be used as role params
Role definitions typically require params to be different from those
which are specified as FieldAttributes on the playbook classes used
for roles, however a certain subset should be allowed (typically those
used for connection stuff).

Fixes #14095
2016-01-24 23:04:50 -05:00
James Cammarata
46ede563dd Use templated handler name during callback
Fixes #14082
2016-01-23 09:25:50 -05:00
James Cammarata
fb797a9e77 Fixing role dependency chain creation
The dep chain for roles created during the compile step had bugs, in
which the dep chain was overwriten and the original tasks in the role
were not assigned a dep chain. This lead to problems in determining
whether roles had already run when in a "diamond" structure, and in
some cases roles were not correctly getting variables from parents.

Fixes #14046
2016-01-22 12:54:00 -05:00
Emilien Kenler
3b71710827 ansible.utils._git_repo_info() now supports branch names with slashes 2016-01-22 12:32:15 +09:00
James Cammarata
4651155942 Fix bug with any_errors_fatal where task was not available 2016-01-21 16:42:31 -05:00
James Cammarata
d02dee37a1 Disallow setting state on template tasks
Fixes #14056
2016-01-21 15:02:24 -05:00
Toshio Kuratomi
ecf867af6f Update submodule refs 2016-01-21 11:11:05 -08:00
Toshio Kuratomi
f594cc0a5b Merge pull request #13993 from towolf/avoid_json_to_unicode
Avoid recursively checking JSON inventory for Unicode
2016-01-21 08:41:16 -08:00
Tobias Wolf
d6ae9e2c29 Avoid recursively checking JSON inventory for Unicode
by moving to en-bloc unicode conversion to act on scripts stdout

Both python-json and simplejson always return unicode strings when using
their loads() method on unicode strings. This is true at least since
2009. This makes checking each substring unnecessary, because we do not
need to recursively check the strings contained in the inventory dict
later one-by-one

This commit makes parsing of large dynamic inventory at least 2 seconds
faster.

cf: https://github.com/towolf/ansible-large-inventory-testcase
2016-01-21 17:35:40 +01:00
Brian Coca
f26adcc7da avoid shredding empty files, also x/0
also cleaned up unused import and exception var
2016-01-21 10:54:56 -05:00
Sergii Korochkin
1325c21ca0 Adding support for scm-based role source urls (incl. integration test to cover it) 2016-01-21 14:00:29 +02:00
James Cammarata
627dec716b Template the run_once value in the linear strategy as we use it there
This is pre-post_validation, so we have to template it on the fly
as we use it to determine if we bypass the host loop.

Fixes #11876
2016-01-20 20:54:12 -05:00
James Cammarata
365c5b23ce Re-add cache clearing call to Inventory init
This prevents a bug where the existing cache outside of the class
is not cleared when creating a new Inventory object. This only really
affects people using the API directly right now, but wanted to fix it
to prevent weird errors from popping up.
2016-01-20 20:54:12 -05:00
Brian Coca
c2ac1507ea corrected host/group match in inventory_hostnames
now the lookup works when using ! and & operators
fixes #13997
2016-01-20 18:32:39 -05:00
James Cammarata
9b05a670c7 Merge pull request #14031 from selivan/devel
plugins/strategy: added significant details to parser error message.
2016-01-20 15:49:38 -05:00
James Cammarata
54cde0d082 Standardize removal of BECOME-SUCCESS method and use it for async too
Fixes #13965
Fixes #13971
2016-01-20 15:27:28 -05:00
Toshio Kuratomi
61009604e3 Update submodules to bring in yum fix 2016-01-20 12:18:52 -08:00
Toshio Kuratomi
d97d28ecb0 Merge pull request #14025 from ansible/run_command-env-rework
rework run_command's env setting to not change os.environ for the res…
2016-01-20 12:13:43 -08:00
Selivanov Pavel
3201f5d90e plugins/strategy: added significant details to parser error message.
See discussion at
https://github.com/ansible/ansible/issues/13753
2016-01-20 23:12:26 +03:00
Toshio Kuratomi
a68d90a71a rework run_command's env setting to not change os.environ for the rest of the module.
New param to run_command to modify the environment for just this invocation.
Documentation and comment adjustments.
2016-01-20 12:03:32 -08:00
Matt Martz
d49b11e996 Only use os.path.basename if get_file_content returned a value, and ensure that service_mgr has line endings stripped. Fixes #14026 2016-01-20 13:08:16 -06:00
Brian Coca
cc4506b451 Merge pull request #14006 from bcoca/always_shell_again
go back to always wrapping commands in shell
2016-01-20 13:17:34 -05:00
James Cammarata
ac89b0de7a Fix incorrect handling of any_errors_fatal in the linear strategy
Instead of bombing out of the strategy, we now properly mark hosts failed
so that the play iterator can handle block rescue/always properly.

Fixes #14024
2016-01-20 12:16:27 -05:00
James Cammarata
e3a6accc1d Forward conditionals onto included plays when conditional eval errors
When using a playbook-level include, we now catch any errors raised during
the conditional evaluation step and set a flag to indicate we need to pass
those conditionals on to the included play (most likely because they contain
inventory variables for evaluation).

Fixes #14003
2016-01-20 01:32:45 -05:00
James Cammarata
c8bbdd6b39 Don't assign both parent blocks and task includes to blocks
This causes problems when fetching parent attributes, as the include
was being skipped because the parent block would fetch the attribute
from the parent play first.

Fixes #13872
2016-01-19 22:47:07 -05:00
Brian Coca
c09c01a1f5 go back to defaulting wrapping commands in shell
this was taken out in an effort to default to the user's shell but creates issues as this is not known ahead of time
and its painful to set executable and shell_type for all servers, it should only be needed for those that restrict the user
to specific shells and when /bin/sh is not available. raw and command may still bypass this by explicitly passing None.
fixes #13882

still conditional
2016-01-19 22:09:17 -05:00
Peter Sprygada
981265ac84 adds provider argument to nxos shared module
The provider argument accepts the set of device common arguments as a
dict object.  Individual connection arguments can still be included and
take priority over the provider argument.  This update includes additions
to the nxos doc fragment
2016-01-19 19:02:41 -05:00
Peter Sprygada
9cba1a7c69 adds provider argument to ios shared module
New argument `provider` added to the ios shared module that provides
the ability to pass all of the common ios arguments as a dict.  This commit
includes some minor bugfixes and refactoring of names.   It also includes
udpates to the ios documentation fragment for the new argument
2016-01-19 19:00:52 -05:00
Peter Sprygada
e2ff26a5cf add provider argument to eos shared module
Adds a new argument `provider` to the eos shared module and updates the
eos doc fragment.  This commit includes some additional minor fixes and
code refactors for naming conventions.  The `provider` argument allows the
shared module arguments to be passed as a dict object instead of having
to pass each argument invididually.
2016-01-19 18:57:26 -05:00
James Cammarata
d07d974ad8 Revert "Properly look for parent become attribute"
This reverts commit 1b46a422aa.
2016-01-19 18:17:42 -05:00
Toshio Kuratomi
ca8261ed31 Don't tracback trying to retore settings
Can occur if we exit the timeout before the settings were changed
2016-01-19 14:09:22 -08:00
Peter Sprygada
0f2917fde3 add provider to iosxr shared module
This commit adds a new argument `provider` to the iosxr shared module that
allows common connection parameters to be passed as a dict object.  The
constraints on the args still applies.  This commit also updates the iosxr
doc fragment.
2016-01-19 14:51:06 -05:00
Peter Sprygada
7640eca368 adds provider argument to openswitch shared module
Adds new argument `provider` to the openswitch shared module.  The provider
argument can pass all openswitch connection arguments as a dict object.  This
update includes adding the provider argument to the openswitch doc fragment
2016-01-19 14:50:39 -05:00
Peter Sprygada
33d390fb58 adds provider argument to junos shared module
This commit adds a new argument `provider` to the junos shared module.  The
argument allows the set of common connection args to be passed to the
junos shared module.  This commit also updates the junos doc fragment
2016-01-19 14:50:01 -05:00
Peter Sprygada
5144ee226e adds private key file support to shell shared module
This commit provides an argument to provide a path to the private key
file.  This will allow paramiko to use the key file as opposed to only
username / password combinations for CLI connections.
2016-01-19 14:26:23 -05:00
James Cammarata
1b46a422aa Properly look for parent become attribute
Corrects inheritence of the boolean value, which needs some special
consideration from other (string/int) values.

Fixes #13872
2016-01-19 14:12:27 -05:00
James Cammarata
b1223746cd Relocate use of ERROR to display class, to avoid doubling up 2016-01-19 12:10:39 -05:00
James Cammarata
a7dd425620 Catch INI section parsing misses and raise an appropriate error
Fixes #13917
2016-01-19 12:07:45 -05:00
James Cammarata
1af473548b Fix role hashing failure/traceback when params contain lists
Fixes #13857
2016-01-19 11:02:15 -05:00
Toshio Kuratomi
94a9ed0ee1 Set decoding of path to unicode to raise an exception if non-utf8
Letting it pass would just cause an error later on (no such file found)
so it's better to catch it here and know that we have users dealing with
non-utf8 pathnames than to have to track it down from later on.
2016-01-19 05:48:12 -08:00
Toshio Kuratomi
40373dea4d Make all parts of messages and pathnames into unicode so that we don't get UnicodeError tracebacks.
Note that the fix for display normalizing to unicode is correct but the
fix for pathnames is probably not.  Changing pathnames to unicode type
means that we will handle utf8 pathnames fine but pathnames can be any
sequence of bytes that do not contain null.  We do not handle sequences
of bytes that are not valid utf8 here.  To do that we need to revamp the
handling of basedir and paths to transform to bytes instead of unicode.
Didn't want to do that in 2.0.x as it will potentially introduce other
bugs as we find all the places that we combine basedir with other path
elements.  Since no one has raised that as an issue thus far so it's not
something we need to handle yet.  But it's something to keep in mind for
the future.

To test utf8 handling, create a utf8 directory and run a playbook from
within there.

To test non-utf8 handling (currently doesn't work as stated above), create
a directory with non-utf8 chars an run a playbook from there.  In bash,
create that directory like this: mkdir $'\377'

Fixes #13937
2016-01-19 05:45:21 -08:00
Brian Coca
a773486432 fixed exception handling to be 2.4 compatible
previous 'fix' broke on 2.4
2016-01-19 08:31:53 -05:00
James Cammarata
1f7492171e Don't clear start at task flag until all hosts are advanced
Clearing the flag after the first host was advanced caused all other
hosts to not advance at all.

Fixes #13864
2016-01-18 22:56:10 -05:00
Brian Coca
9f05ce3e2b be consistent about conversion to_str 2016-01-18 21:55:56 -05:00
Brian Coca
54435261e8 updated submodule refs 2016-01-18 21:55:56 -05:00
Brian Coca
5dd2aad535 ignore exceptions in get_file_contents
it should be common enough to not be able to read files in some jailed/container environments
even though permissions tell us otherwise
2016-01-18 21:55:56 -05:00
Toshio Kuratomi
5e18bc5955 Turn results that come from traceback messages into unicode, not str.
Fixes #13964
Fixes #13967
2016-01-18 14:43:55 -08:00
James Cammarata
1733d434d1 Fix with loop + delegate issues
* Don't re-use the existing connection if the remote_addr field of
  the play context has changed
* When overriding variables in PlayContext (from task/variables),
  don't set the same attribute based on a different variable name
  if we had already previously set it from another variable name

Fixes #13880
2016-01-18 17:35:00 -05:00
Toshio Kuratomi
2c512e5a63 Update submodule refs 2016-01-18 13:59:57 -08:00
Toshio Kuratomi
ded02b4968 Fix proposed by @Yannig to fix become success detection when the output is multiline
See the Bug report for a specific error case with local connection,
sudo, and the raw module

Fixes #13728
2016-01-18 13:48:37 -08:00
Brian Coca
27f4730c29 correctly deals with non serializable type
combine_vars shoudl really be data types, but some just get in
in test, add dict to mock and avoid combine_vars using object
2016-01-18 15:17:43 -05:00
Brian Coca
83069a38d5 better init detection 2016-01-18 15:17:43 -05:00
James Cammarata
b5058736ce Fix set_fact + run_once to assign variables to all hosts in the list
Fixes #13921
2016-01-18 14:50:20 -05:00
James Cammarata
46e515131e Allow module args as k=v pairs when using the module: option with local_action
This task format is valid in 1.x, but was broken in 2.x:
  - local_action:
     module: shell echo "hello world"
2016-01-18 14:32:44 -05:00
James Cammarata
c42484a029 Minor cleanup when reassigning play context to reused connections
* Relocate the assignment of the host address to the remote_addr field
  in the play context, which was only done when the connection was created
  (it's now done after the post_validate() is called on the play context)
* Make the assignment of the play context to the connection an else, since
  it's not required if the connection is not reused
2016-01-18 13:36:40 -05:00
James Cammarata
bc1bcc3419 Merge branch 'patch-1' of https://github.com/ktaragorn/ansible into ktaragorn-patch-1 2016-01-18 13:12:01 -05:00
Toshio Kuratomi
36aa89ac7e Fix erroneous fetch fail when fail_on_missing is set to False
Fixes #13832
2016-01-15 16:28:17 -08:00
Chrrrles Paul
3f66f58fde Merge pull request #13819 from chrrrles/vmware_doc_fragments
doc fragments for vmware and vca modules
2016-01-15 15:42:43 -06:00
Peter Sprygada
4e5dc44289 fixes documentation string 2016-01-15 15:08:15 -05:00
Brian Coca
a2a23c14ac Merge pull request #13901 from bcoca/add_hosts_fix
fix issue with add_hosts overwriting existing vars
2016-01-15 14:22:26 -05:00
James Cammarata
1825b4a9c7 Fix any_errors_fatal incorrect implementation in 2.0
Also adds that flag to blocks.

Fixes #13744
2016-01-15 13:15:10 -05:00
Toshio Kuratomi
1b82de2354 Non-newstyle modules can't use pipelining
This is because we pass arguments to non-newstyle modules via an
external file.  If we pipeline, then the interpreter thinks it has to
run the arguments as the script instead of what is piped in via stdin.
2016-01-14 17:21:15 -08:00
Brian Coca
cd0ad03053 Merge pull request #13902 from bcoca/update_not_blast_inventory
overwrite/merge not remove prev inventory data
2016-01-14 18:37:36 -05:00
Brian Coca
a311872c5b overwrite/merge not remove prev inventory data 2016-01-14 18:06:54 -05:00
Brian Coca
c2d314dec5 fix issue with add_hosts overwriting existing vars
fixes github.com/ansible/ansible-modules-core/issues/2799 and is alternative to #13841
2016-01-14 17:55:44 -05:00
Yannig Perré
e5ea576461 Allow Ansible to return error with unicode within it.
Fix for https://github.com/ansible/ansible/issues/13899
2016-01-14 23:44:48 +01:00
Brian Coca
94fa9c2a7a test aliases to enable gramatical consistancy
keeps backwards compat by not removing the previouslly non grammer matching states
and introduces new ones so user can decide which one he wants
(or keep both and still be inconsistent to annoy those that care)
2016-01-14 12:29:02 -05:00
James Cammarata
abc82fee13 Fix typo in 0b86aa6 2016-01-14 11:57:12 -05:00
James Cammarata
0b86aa62e1 Hack to work around callback API change for v2_playbook_on_start 2016-01-14 11:54:44 -05:00
Brian Coca
c14eece0c6 md5 now uses smaller salt
fixes #13891
2016-01-14 10:24:34 -05:00
Brian Coca
9d1b280689 now combine vars errors dump vars
very hard to debug w/o knowing what vars were being merged at the time of the error
2016-01-14 10:23:35 -05:00
Alexey Shabalin
9be8ecda06 Add support ssh configs from /etc/openssh.
In Altlinux system config dir for openssh is /etc/openssh.
2016-01-14 13:01:49 +03:00
Toshio Kuratomi
b1a56051bd Prevent traceback.
https://github.com/ansible/ansible/issues/13743#issuecomment-171520585

In some circumstance, the file fails to open.  When that occurs, we
can't try to close it in the finally clause.  Using a context manager is
the cleanest way to change the code to account for that case.
2016-01-13 20:50:19 -08:00