Commit Graph

8013 Commits (3f2dbea1dfbc5d7719656a7d9ac429b51a88c546)

Author SHA1 Message Date
Brian Coca 1c4cfee415 Merge pull request #15046 from bcoca/script_raw
removes python requirement to script
10 years ago
nitzmahone 4241106ad2 fix breakage from new recursive=True arg to chmod 10 years ago
Toshio Kuratomi 80e7fbff75 Add python3 compat boilerplate 10 years ago
Toshio Kuratomi 17e8500202 Don't process the same host multiple times
Fixes #14259
10 years ago
Brian Coca 1ebc2fda71 removes python requirement to script
mistakenly added when checksum was made to use stat module
fixed assertion in test
10 years ago
Brian Coca 6768f34b31 Merge pull request #15062 from gechr/gc-subset-superset-filters
Add `issubset` and `issuperset` tests
10 years ago
Thomas Steinbach 870160b8ed fixed some breaks after merging ansible/devel 10 years ago
Thomas Steinbach cd2c140f69 forwarded docker_extra_args to latest upstream/origin/devel 10 years ago
Toshio Kuratomi 228ad3ca39 Should be errors=strict since we don't want to end up matching hosts like '???' 10 years ago
Toshio Kuratomi 13b295f1ee Fix using non-ascii for inventory hostname patterns with the CLI. 10 years ago
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
10 years ago
Toshio Kuratomi f323eb858e nv_por is needed later in the file
Fixes #14654
10 years ago
Toshio Kuratomi c4a5cf174b Merge pull request #15009 from bcoca/py3_compat_fixes
Py3 compat fixes
10 years ago
James Cammarata f427955640 Make default var lookup for tasks follow the dep chain
Related to #14296 (@jjshoe's follow-up example on that issue)
10 years ago
Konstantin Suvorov 1c922135a0 show error context in args splitter exception 10 years ago
Brian Coca 5b11494437 python3 compatiblity
remove use of basestring
deal with configparser
10 years ago
Toshio Kuratomi 52e9209491 Don't create world-readable module and tempfiles without explicit user permission 10 years ago
Brian Coca fdb56e4bad avoid bad path entries 10 years ago
Toshio Kuratomi 728bb7d85e Update submodule refs 10 years ago
Toshio Kuratomi 917da92e2b Get rid of extra trailing space in log messages 10 years ago
Matthew Gamble 7b06ec79e3 Add documentation for squash_actions configuration setting 10 years ago
Matthew Gamble 197e590d7c Small comment improvement in AnsibleModule class 10 years ago
Abhijit Menon-Sen 1b242ffb89 Merge pull request #15111 from xiaket/devel
complete the docstring. Fixed #14794
10 years ago
夏恺(Xia Kai) f9a9e5e1b9 complete the docstring. Fixed #14794
Signed-off-by: 夏恺(Xia Kai) <xiaket@gmail.com>
10 years ago
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).
10 years ago
Brian Coca b4b44b2708 Merge pull request #15086 from robinro/patch-2
remove double read of "path" (/etc/SuSE-release) in facts.py
10 years ago
Brian Coca 43f70d66a5 Merge pull request #15088 from robinro/patch-3
break after parsing SuSE-release in facts.py
10 years ago
Joel 23a74eb125 Sort plugins by basename to support ordering callbacks 10 years ago
Toshio Kuratomi 06d77996da Update submodule refs 10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
Toshio Kuratomi f39a1da360 Merge pull request #15074 from ansible/pluginloader-cleanups
Cleanup some minor issues in PuginLoader:
10 years ago
George Christou 02ad029840 Add `issubset` and `issuperset` tests 10 years ago
Toshio Kuratomi ed9e164b80 Fix ansible_sudo_pass inventory variable so that it overrides setting of sudo password from the command line 10 years ago
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.
10 years ago
Brian Coca 3ae9a272e0 Merge pull request #14977 from towolf/hide_ok_items_in_actionable
For `actionable` cb plugin also hide ok for itemized results
10 years ago
James Cammarata ae21d98955 Properly use check_raw when using parse_kv in cli/ code
Fixes ansible-modules-core#3070
10 years ago
Toshio Kuratomi 407f8f934e Merge pull request #14976 from xiaket/devel
use __mro__ for plugin loading when we search for its base class.
10 years ago
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.
10 years ago
夏恺(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>
10 years ago
Toshio Kuratomi 9053d0468e Merge pull request #15006 from ansible/local-pipelining
Add changes necessary for enabling pipelining for local connections
10 years ago
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
10 years ago
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
10 years ago
Toshio Kuratomi 4a00999875 Update to latest git submodules 10 years ago
Toshio Kuratomi b80c9b5032 Merge pull request #15049 from mattclay/paramiko-unicode
Add missing to_bytes for cmd.
10 years ago
Matt Clay 24c4384f0e Add missing to_bytes for cmd. 10 years ago
James Cammarata e4a5bcae3c Merge pull request #14679 from dagwieers/merge_hash_v2
Avoid merging a dict and a AnsibleUnicode
10 years ago
Brian Coca 7a5ff16aee Merge pull request #15042 from RNanney/RNanney-validate_certs
Update nxos.py
10 years ago
Toshio Kuratomi f5654dced9 Merge pull request #15043 from mattclay/docker-user
Use docker exec -u only when supported.
10 years ago
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.
10 years ago
RNanney 8bceff5136 Update nxos.py 10 years ago
James Cammarata 13f3cbaf3b Renaming per-item and retry callbacks 10 years ago
Toshio Kuratomi 60c943997b More doc updates regarding ansible_shell_executable 10 years ago
Toshio Kuratomi 8bdf0d4746 And another doc fix 10 years ago
Toshio Kuratomi 08394df8d0 Update submodule links for docs fixes 10 years ago
Abhijit Menon-Sen efdac490ff Merge pull request #14924 from mvgrimes/patch-1
Dynamically add ssl key to the mysql config hash iff needed
10 years ago
Brian Coca d43fc631dd mount facts now include network mounts (nfs) 10 years ago
Brian Coca b809d23863 fixed typo 10 years ago
Abhijit Menon-Sen e5460d6a6e Merge pull request #15002 from camradal/devel
add find_host_portgroup_by_name function to vmware utils
10 years ago
Toshio Kuratomi e25caebe7a Cleanups to docs and rename of inv var 10 years ago
Toshio Kuratomi 8fc1c26c37 Merge pull request #14936 from bcoca/ansible_executable
add ansible_executable inventory var
10 years ago
Toshio Kuratomi 2ba4428424 Catch ValueError as well because of El Capitan provoking a bug in python2's subprocess
Fixes #14895
10 years ago
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
10 years ago
Brian Coca db61e9be0c add ansible_executable inventory var
also handle the overrides appropriately
also new executable to set shell type
10 years ago
Thomas Steinbach 14dfad730e use just 'remote_user' as user for the docker connection 10 years ago
Thomas Steinbach 4ac49ed4a8 use remote_user or become_user in docker connection 10 years ago
Brian Coca 5d9b552317 Merge pull request #15024 from bcoca/delegation_vars_fix
ensure we use delegated vars on delegation
10 years ago
Toshio Kuratomi ab693579a9 Clarify the document about the order of matryoshka shells
(nesting shells)
10 years ago
James Cammarata 1ee6d489ab Make sure tuples returned by _get_item() are handled correctly in formatting
Fixes #14800
10 years ago
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.
10 years ago
René Moser 0a457230ab Merge pull request #14982 from Linuturk/GalaxyInitWhitespaceFix
Remove trailing whitespace from the galaxy init Jinja2 template. Defa…
10 years ago
Toshio Kuratomi 2dd6bae9e1 Merge pull request #15003 from ansible/jail-enable-pipelining
Enable pipelining for jail connection plugin
10 years ago
Brian Coca bc60f52db5 avoid exceptiosn when not being called by CLI 10 years ago
Toshio Kuratomi e80cd8bcaf Merge pull request #14908 from mattclay/mysql-connect-timeout
Document mysql connect_timeout and update tests.
10 years ago
James Cammarata 0e68c6d6fe Cleaning up use of literal_eval in basic.py AnsibleModule.safe_eval 10 years ago
Matt Clay 6a1f97ad42 Add docs for mysql* modules connect_timeout. 10 years ago
Brian Coca 5ae9955aad Merge pull request #15011 from dagwieers/fix-unreachable-color
Fix the color when unreachable in default cb plugin
10 years ago
Brian Coca 0cb804f0c2 fix lsb fact gathering
was erroring out when rc !=0 also fixed redundant paths
fixes #14965
10 years ago
Brian Coca d7d47bcd75 Merge pull request #14989 from nifoc/patch-fetch_url
Check return value of get_distribution()
10 years ago
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.
10 years ago
qqo a7f89cac63 fix TypeError: coercing to Unicode: need string or buffer, AnsibleParserError found 10 years ago
qqo 85e843baee Revert "fix TypeError: coercing to Unicode: need string or buffer, AnsibleParserError found"
This reverts commit d1e0719e4c.
10 years ago
qqo d1e0719e4c fix TypeError: coercing to Unicode: need string or buffer, AnsibleParserError found 10 years ago
Brian Coca 61f05c2e8d strip keys recursively 10 years ago
Toshio Kuratomi 7346e3098a Update extras submodule ref 10 years ago
Toshio Kuratomi 1346c209b0 Add changes necessary for enabling pipelining for local connections 10 years ago
Toshio Kuratomi a8acd7f93e Enable pipelining for jail connection plugin 10 years ago
Alexey Kalinin 9763e76f6f add find_host_portgroup_by_name function to vmware utils 10 years ago
Toshio Kuratomi de306eb5da Small cleanup to use class attribute directly instead of property for transport names 10 years ago
Toshio Kuratomi fee73100c4 Move BUFSIZE to __init__ since it's common to many connection plugins 10 years ago
Toshio Kuratomi 0ca4be6fb5 Update submodule refs for docs fixes 10 years ago
Toshio Kuratomi ec419446b7 Update submodule refs 10 years ago
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.
10 years ago
Toshio Kuratomi fe278202f2 Fix saving of tracebacks on module failure 10 years ago
Justin Phelps d604c8c3a6 Remove trailing whitespace from the galaxy init Jinja2 template. Default a description. 10 years ago
Toshio Kuratomi 86080fbaa9 Update submodule refs 10 years ago
Toshio Kuratomi 66328e5200 Merge pull request #14967 from ansible/facts-subset-and-cleanup
Facts subset and cleanup
10 years ago
夏恺(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>
10 years ago
Brian Coca 09699d0cd0 meta: clear_facts
draft implementation
10 years ago
Brian Coca f3b9449e07 don't raise exceptoins on bad hosts files
fixes #14969
10 years ago
Peter Sprygada ace0c9c5c2 fixes ansible-modules-code#3250
Sets the default value for transport to 'cli'
10 years ago
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
10 years ago
Toshio Kuratomi 512825455e Make ohai and facter work via module_utils Fact classes rather than in the setup module 10 years ago
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
10 years ago
Toshio Kuratomi d665911bab Allow FieldAttribute lists and sets to be set from a comma separated string 10 years ago
Yannig Perré 88772b6003 Add a way to restrict gathered facts in Ansible:
- Using gather_subset options
- By ignoring ohai/chef or facter/puppet facts
10 years ago
Brian Coca 2984ffdfac now item callback honors display_skipped_hosts
fixes #14956
10 years ago
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
10 years ago
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.
10 years ago
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.
10 years ago
Peter Sprygada c55d1c55af Merge pull request #14906 from devananda/fix-shell-for-junos
Send empty command before recv
10 years ago
Brian Coca 00b8b49112 Merge pull request #14873 from bcoca/paging_aws
paging for amazon modules
10 years ago
Brian Coca fdcd80bf87 Merge pull request #13339 from bcoca/retry_rate
draft of common retry and rate limiting decorators for api based modules
10 years ago
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
10 years ago
Toshio Kuratomi 180e70b67a Merge pull request #14937 from mattclay/unicode-dir
Fix missing to_bytes on directory path.
10 years ago
Matt Clay 1e1852c34d Add missing to_bytes on directory path. 10 years ago
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/...)
10 years ago
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.
10 years ago
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.
10 years ago
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
10 years ago
Matt Clay ba1bcdfc17 Add noseclabel support to libvirt_lxc plugin. 10 years ago
James Cammarata 16f107a491 Add mysql connection_timeout param to module_utils/mysql.py 10 years ago
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>
10 years ago
James Cammarata 52efd7438c Fixing template/assemble action plugins related to tmp dir use/cleanup 10 years ago
Matt Clay f878a5d2e0 Fix unicode handling in connection plugins. 10 years ago
James Cammarata 09e5f0578a Don't always insert failed in the results (again) 10 years ago
Brian Coca 5cbdaff9fd avoid creating extra tmp dirs we don't delete
fixes #14867
10 years ago
James Cammarata ccf646665b Revert "Removing explicit setting of failed/failed_when"
This reverts commit 4e528e9535.
10 years ago
James Cammarata 4e528e9535 Removing explicit setting of failed/failed_when 10 years ago
Brian Coca df1268ed69 Merge pull request #14892 from dagwieers/patch-14
Another misspelling
10 years ago
Brian Coca 05983fdaa5 Merge pull request #14891 from dagwieers/patch-13
Fix misspelling and some cosmetic change
10 years ago
Brian Coca 1c1f5e9f99 Merge pull request #14889 from nitzmahone/fix_failed_when_blind_override
Fix blind override in failed_when
10 years ago
Peter Sprygada ca2871de20 Merge pull request #14697 from privateip/shared_module_openswitch
bugfixes for openswitch shared module
10 years ago
Peter Sprygada ae5951b97f Merge pull request #14698 from privateip/plugin_action_ops_template
updates the ops_template plugin action backup key
10 years ago
Dag Wieers a5e11b1325 Another misspelling
...while reading the source
10 years ago
Dag Wieers d7d04ad2cd Fix misspelling and some cosmetic change 10 years ago
nitzmahone dbff3a6bbc Fix blind override in failed_when
caused all task failures to be success
10 years ago
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
10 years ago
Brian Coca 9318727021 corrected changed_when handling 10 years ago
James Cammarata 7f233c4c5e Updating submodule refs 10 years ago
Toshio Kuratomi 331f62f769 Update submodule refs 10 years ago
Toshio Kuratomi 0628951ac6 Handle shlex incompatibility between python2.6 and python3 10 years ago
Toshio Kuratomi c0e2dd1693 Fix ssh connection plugin to work with python3 10 years ago
James Cammarata eb463fab00 Also changing ansible-shell -> ansible-console in cli code comments 10 years ago
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.
10 years ago
Brian Coca d7bd5fc075 Merge pull request #14824 from bcoca/ansible_shell
draft 1st release of ansible shell
10 years ago
Brian Coca 7067bb32b8 make all conditionals lists
this brings them to equivalence with when:
fixes #13905
10 years ago
Matt Clay 33f93f9241 Fix misplaced paren. 10 years ago
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
10 years ago
James Cammarata aee2eb6287 Merge pull request #14864 from dagwieers/patch-12
Only show diff when the task actually induced a change
10 years ago
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
10 years ago
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.
10 years ago
Dag Wieers 175351f200 Little improvement in flow
Don't get the hostname if it's not needed.
10 years ago
Brian Coca 49bb4803b5 clarify --step prompt
now shows full words and indicates default
fixes #7433
10 years ago
Brian Coca 3d6ec52e83 Merge pull request #14830 from bcoca/assemble_fix
fix assemble to not pass extra args to copy/file
10 years ago
Brian Coca eb4cb46c84 Merge pull request #14859 from sivel/issue/14858
Strip proc_1 before testing it. Fixes #14858
10 years ago
Matt Martz 2f90a4f4e2 Strip proc_1 before testing it. Fixes #14858 10 years ago
Brian Coca e24e619cf1 added stderr from vault script to error 10 years ago
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.
10 years ago
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
10 years ago
Matt Martz 53bb889ef6 update submodule refs 10 years ago
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
10 years ago
Brian Coca 325fccfa78 added v for least verbose display function 10 years ago
James Cammarata 299d93f6e9 Updating unit tests for PlayIterator
This knowingly introduces a broken test, planning to fix that later.
10 years ago
Brian Coca 66ea464ebd Merge pull request #14793 from xiaket/devel
remove main_q for simplicity.
10 years ago
Brian Coca 25e9b5788b add per item diff handling
fixes #14843
10 years ago
John Barker 8b4ebd8e4a Make it easier to read error message 10 years ago
Jonathan Sokolowski 5ec7adc64d Lookup netrc for credentials in open_url 10 years ago
Brian Coca 0b2f631197 Merge pull request #14504 from bcoca/template_comments
template also when only comments present
10 years ago
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
10 years ago
Brian Coca 5aab158987 removed unused imports 10 years ago
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) }}
10 years ago
Brian Coca 66a9a1feff Merge pull request #14823 from jjahns/devel
add find_vm_by_name function to vmware utils
10 years ago
Brian Coca 75b9c7db14 moved hardcoded settings from doccli to constants 10 years ago
Jay Jahns 3a1944edc1 add find_vm_by_name function to vmware utils 10 years ago
Kishin Yagami 299c18d700 Support strategy_plugins setting in a configuration file 10 years ago
Brian Coca 62ac5c047e clarified message 10 years ago
Brian Coca 8867d73420 reject extraneous data passed to mode
strictly permissions are allowed, file type info should not be passed in
alternate fixes #14771
10 years ago
Toshio Kuratomi bd618c3490 Merge pull request #14797 from mattclay/unicode-fixes
Use to_bytes on filenames in filesystem calls.
10 years ago
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
10 years ago
Matt Clay 5b79ed77e7 Use to_bytes on filenames in filesystem calls. 10 years ago
Brian Coca 27a33a6f18 dont erase previous nameservers in fact gathering
fixes #14806
10 years ago
夏恺(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>
10 years ago
Toshio Kuratomi 8f1303c81a Remember to use errors=strict since this is looking up a filename on the filesystem (ie it has to match exactly) 10 years ago
Toshio Kuratomi 253376b3b7 Make the source path into a byte string before passing to os.path 10 years ago
Brian Coca e762095497 better task parsing errors
fixes #14790
10 years ago
Brian Coca f565508d7f Merge pull request #14764 from bcoca/max_diff_config
made max diff size configurable
10 years ago
Brian Coca e432973310 Merge pull request #14757 from bcoca/register_no_template
don't template register
10 years ago
Brian Coca 13282e29a8 Merge pull request #14500 from yfried-redhat/fix_os_auth
Fix openstack auth type
10 years ago
Brian Coca b901b15d3b Merge pull request #14537 from Yannig/devel_better_error_handling
Improve message content to get more hint about the raised error.
10 years ago
Brian Coca cc3cb0f65e fix issues with older yaml lib versions
also added missing json import and removed unused ones
10 years ago
Brian Coca 6cad356b3b updated docs to show new output 10 years ago
Brian Coca b2a6784a9f changed the output to keep backwards compat
still shows path when verbose
10 years ago
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.
10 years ago
Brian Coca c022a43a47 fixed str to to_str 10 years ago
Brian Coca 347aa7b032 Merge pull request #14774 from lamby/ignore-epipe-when-flushing-stdout-stderr
Ignore EPIPE when flushing stdout stderr
10 years ago
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>
10 years ago
Chris Lamb 951c8a5d27 Alias fileobj. 10 years ago
Brian Coca 4cfd042839 more complete and informative errors
mostly templating issues now all return data templated and actual error
fixes #14781
10 years ago
Brian Coca 0031a72e0d tweak deprecation warnings display 10 years ago
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
10 years ago
Toshio Kuratomi 4657be4eab Transform pathnames to bytes before passing on to os.path functions 10 years ago
Toshio Kuratomi 468eea82bd Merge pull request #14765 from sivel/redirect-ssl-validation
Support SSL validation with redirect control for python versions without ssl context
10 years ago
Matt Davis 0ab29f573a Merge pull request #14755 from bcoca/pause_nohup_fix
avoid issues when stdin is a closed file
10 years ago
Matt Martz 6ff0b079b4 Support SSL validation with redirect control for python versions without ssl context 10 years ago
Brian Coca c24249c57d made max diff size configurable 10 years ago
Toshio Kuratomi 1dbbd2a80c Remove debugging and fix the place where bytes are being handed to StringIO 10 years ago
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
10 years ago
Toshio Kuratomi 093b3422ec more information 10 years ago
Brian Coca 7ba790bbaf don't tempalte register 10 years ago
Toshio Kuratomi 5aef65edcd Testing whether this fixes jenkins 10 years ago
James Cammarata 3247390123 Conditionally import StringIO in template so we only use io.StringIO on py3 10 years ago
James Cammarata 2c7a33f71d Fixing bug in setup related to StringIO fixes 10 years ago
James Cammarata 9acb5aa176 Changing location of reduce import to not use six.moves 10 years ago
James Cammarata b559d0e6ee Adding py3 stub for reduce from six.moves 10 years ago
Brian Coca 71402abf21 only do squash when 'squashable field' present 10 years ago
James Cammarata e011f52557 Expanding unit tests for module_utils/basic.py 10 years ago
Brian Coca 7af5787030 Merge pull request #14717 from xiaket/devel
Fix __repr__ for meta tasks
10 years ago
Brian Coca dd003a42b0 Merge pull request #14273 from resmo/for-ansible-2.1
[2.1] cloudstack: new generic code
10 years ago
Rene Moser 6c641fb6a8 cloudstack: add CS_HYPERVISORS constant 10 years ago
夏恺(Xia Kai) d033c40e80 Make task repr really work for meta tasks.
Signed-off-by: 夏恺(Xia Kai) <xiaket@xiaket@gmail.com>
10 years ago
Brian Coca 0d1138e0a0 Merge pull request #14712 from chouseknecht/galaxy2_paging
Fix bug 14715: Galaxy CLI paging error
10 years ago
chouseknecht 42b2077c93 Fix bug 14715: Galaxy CLI paging error 10 years ago
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
10 years ago
nitzmahone 915037c628 update submodule refs 10 years ago
nitzmahone ac54f66741 don't lock file when calculating checksum 10 years ago
Brian Coca badc922c73 added warning for when host file doesn't exist
fixes #14692
10 years ago
Brian Coca 82d6a83cca Merge pull request #14633 from Etherdaemon/fix_boto3_params
Fixup boto3_conn aws_session_token and verify
10 years ago
Brian Coca 157ebcfe0b Merge pull request #14709 from bcoca/squash_fix_atp
added package to special 'squashable' fields
10 years ago
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
10 years ago
James Cammarata 7c049c3200 Fixing up jsonify and adding unit tests 10 years ago
Matt Martz d0a717694f Fix variable name in paramiko connection plugin 10 years ago
Matt Martz e27eb73cba sys.subversion unavailable in py24. Fixes #14704 10 years ago
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.
10 years ago
Toshio Kuratomi e01b6ad6b4 We are actually taking the repr of a string so we need separate to_bytes and repr calls 10 years ago
Toshio Kuratomi b70bf3b056 Use io.StringIO and io.BytesIO instead of StringIO.StringIO for compat with py3 10 years ago
Toshio Kuratomi c29f51804b Fix mixing of bytes and str in module replacer (caused traceback on python3) 10 years ago
Brian Coca 512d3dd621 with_ loops always should want a list 10 years ago
Brian Coca 528f073bfa update core subref 10 years ago
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).
10 years ago
Toshio Kuratomi ef8bec18bf Use a unicode format string so that we don't convert to byte strings
Fixes #14349
10 years ago
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.
10 years ago
Brian Coca ad5a6e7993 updated submodule refs 10 years ago
James Cammarata 771f1e31a9 Rework the way ad-hoc filters inventory to match how cli/playbook does it 10 years ago
Brian Coca e2d2798a42 hosts can be list or string 10 years ago
Brian Coca 2d56293768 default play name to hosts entry
return to previous behaviour as now the name was left blank
10 years ago
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. 10 years ago
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
10 years ago
Toshio Kuratomi 9c9cce51ab Update submodule refs 10 years ago
Brian Coca 03c33053aa clarified become options do not imply others
fixes #14635
10 years ago
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}
10 years ago
Etherdaemon 06977d5cb1 Fixup boto3_conn as commit 6ea772931f broke commit 27398131cf 10 years ago
James Cammarata 2db3f290ba Fix logic error when copying files recursively to a directory 10 years ago
Brian Coca 34541b4e5e preserve no_log for async also 10 years ago
James Cammarata d74ea51287 Submodule update 10 years ago
James Cammarata da02aba173 Don't inject PlayContext properties as variables if they're None
Fixes bug introduced in 078ebb0
10 years ago
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
10 years ago
Brian Coca 6eb4633b07 always return a checksum key, even if empty 10 years ago
Peter Sprygada fc57b88356 Merge pull request #14618 from ogenstad/devel
Fixes authentication error bug when user has rsa keys
10 years ago
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
10 years ago
Matt Martz cacb74aeeb Merge pull request #14340 from sivel/uri-no-httplib2
Add RedirectHandler class for controlling redirects in urllib2
10 years ago
Matt Martz 27a55d3f33 Merge pull request #14586 from sivel/python-facts
Add python info to facts
10 years ago
Matt Martz 3ac0143cf1 Merge pull request #13654 from sivel/paramiko-proxy-command
Add ProxyCommand support to the paramiko connection plugin
10 years ago
Matt Martz 38b663471d Merge pull request #14311 from sivel/unsafe-yaml-constructor
Add new 'unsafe' YAML constructor
10 years ago
Matt Martz d9a207f24f Add has_sslcontext fact as well 10 years ago
Matt Martz 7158eb489f Add python info to facts 10 years ago
ogenstad 3f95f163ff Avoids authentication failed exception if user has private rsa keys under .ssh 10 years ago
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
10 years ago
Brian Coca e35b1cf154 show task path on vv and above 10 years ago
Brian Coca cea10794fd removed unused color var 10 years ago
Matt Martz f8211f83a0 Merge pull request #14591 from sivel/issue/14541
Allow lookups to return python data structures
10 years ago
Matt Martz 439a385215 Catch TypeError on join, and if caught just return a single item, or a list of many 10 years ago
Brian Coca d9246aacd0 fixed mount sizes for linux 10 years ago
Brian Coca f1d2b9ea9e added size to mount facts on all non linux OSs
fixes #14528
10 years ago
Brian Coca 547afda8d4 Merge pull request #14546 from furlongm/devel
fix ansible_os_family fact on openSUSE Leap
10 years ago
Brian Coca d87fd68287 Merge pull request #14560 from dagwieers/merge_hash_v2
Improve efficiency of merge_hash (Ansible v2.0)
10 years ago
Brian Coca 81368d8119 Merge pull request #14552 from kilburn/lsblk-dedup
Avoid duplicate /bin/lsblk calls in the setup module.
10 years ago
Brian Coca 6febb816d2 Merge pull request #14569 from sivel/json-stdout-callback
Add json stdout callback
10 years ago
George Christou bbc855c218 Make --diff lines of context configurable 10 years ago
Toshio Kuratomi f9526b2ab2 Missed constants.py in the commit for #14557 10 years ago
Matt Martz 7f7536f7ad Add json callback to be used in replace of the default stdout to print a JSON structure to stdout 10 years ago
Brian Coca 844754b8e3 added missing config to constants.py
fixes #14567
10 years ago
Brian Coca 0f73fb0d6f better error messages when failing to decrypt 10 years ago
Matt Davis 4c58066153 Merge pull request #14557 from ansible/display-play-args
Add a configuration setting that allows the user to specify printing …
10 years ago
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.
10 years ago
Brian Coca 5552c04976 allow skipping debug depending on verbosity 10 years ago
Toshio Kuratomi 86b8dc0e79 Add a configuration setting that allows the user to specify printing of task arguments in the header.
Fixes #14554
10 years ago
Brian Coca 1dba6da40f changed filtered to actionable cb plugin 10 years ago
Brian Coca 54942ee8ff Merge pull request #13593 from agaffney/devel
Add 'filtered' stdout callback plugin
10 years ago
Brian Coca d54d9dabe9 added specific info to deprecation message
should now show actual variable that is undefined
fixes #14526
10 years ago
Brian Coca 22082216a4 Merge pull request #13408 from sivel/v2-slack-callback
V2 slack callback plugin
10 years ago
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
10 years ago
Brian Coca 5300a2eafc Merge pull request #14491 from gechr/gc-simple-colour-diff
Add simple --diff colour support
10 years ago
Brian Coca 413abcf16d Merge pull request #14450 from bcoca/include_vars_merge
Include vars merge
10 years ago
Brian Coca 3e407ed743 Merge pull request #14490 from bcoca/stat_instead_of_checksum
Use stat module instead of checksum code
10 years ago
Brian Coca 3b3709e715 Merge pull request #14488 from bcoca/become_shell_fixes
shell + become fixes
10 years ago
Brian Coca 2b5fffa751 updated to use to_unicode as per feedback 10 years ago
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
10 years ago
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.
10 years ago
Yannig Perré 588045cc46 Improve message content to get more hint about the raised error. 10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
James Cammarata 58a6cf822a Merge pull request #13203 from willthames/galaxy_10620
Allow tree-ish versions for ansible-galaxy
10 years ago
George Christou 56239ee347 Make --diff colours configurable 10 years ago
Brian Coca 6102a4b9b4 template also when only comments present 10 years ago
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
10 years ago
Yair Fried c3b30d251f Fix openstack auth type
Otherwise auth type defaults to 'str' and shade fails
10 years ago
George Christou 8edcca0ef5 Add simple --diff colour support 10 years ago
Brian Coca 6ddea3e915 removed follow from common file docs 10 years ago
Brian Coca 6dc910c13a shell + become fixes
1 less level of shell + quoting
simplified become commands, less quote and shell
10 years ago
Brian Coca bc41f46fec pushed non-atomic to option of last resort
try to copy into place first
10 years ago
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.
10 years ago
Brian Coca 0bb49090cf make some options not mandatory to pass
this should simplify api calls
10 years ago
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
10 years ago
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.
10 years ago
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
10 years ago
Brian Coca 00f600bfc8 Merge pull request #14319 from bcoca/shell_plugin_revamp
moved to base class for shell plugins
10 years ago
Sandra Wills edf776d6a4 Merge pull request #13805 from aioue/patch-1
profile_tasks README.md
10 years ago
Tom Paine edb36b6c4a Update profile_tasks.rst
remove brackets on links
10 years ago
Peter Sprygada 09a6bf5c15 Merge pull request #14432 from chouseknecht/net_common_cleanup_2
Cleanup for networking common bits.
10 years ago
Brian Coca a327420b67 properly combine vars if merge is set
hash_behaviour = merge now also applies to include vars
10 years ago
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.
10 years ago
Brian Coca af68ae1e87 switched from threading to multiprocessing
functions same, just keeping names from confusing people
10 years ago
James Cammarata df4912957c Merge pull request #14442 from bcoca/remove_signal_handling
removed signal trapping
10 years ago
Toshio Kuratomi 37879ea671 Update submodule refs 10 years ago
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.
10 years ago
Brian Coca effa64383c removed signal trapping 10 years ago
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.
10 years ago
Brian Coca cd076dbcfa Merge pull request #14421 from bcoca/terminate
Terminate
10 years ago
Brian Coca a8aa5ff4eb fix cartesian lookup
it seems that this was not working in 1.9 but we swallowed up the error
fixes #14437
10 years ago
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
10 years ago
Peter Sprygada 8f9badb2b4 update shared module junos to handle root logins 10 years ago
Peter Sprygada 9c36c0aa80 minor bug fixes and updates to shell 10 years ago
chouseknecht 5a45ca8bb1 Move Conditional class to netcfg. Added error handling for connect and execute methods.
Fix comments
10 years ago
Toshio Kuratomi 9286143b53 Merge pull request #14374 from robinro/fix-mount-without-permission-bug
add ismount function in module_utils
10 years ago
Toshio Kuratomi 6276585882 Module params should default to str in most cases. 10 years ago
Brian Coca 64c976a6c3 Merge pull request #14416 from bcoca/diff_size_fix
read full file when doing diff
10 years ago
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.
10 years ago
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
10 years ago
Toshio Kuratomi 371c7315b0 Merge pull request #14261 from kamsz/devel
Add validate_certs param to skip SSL verification in VMware
10 years ago
Toshio Kuratomi 486304ba1c Clarify error message when module replacer encounters a bad import line for module_utils code 10 years ago
Brian Coca d9dcb2a427 Revert "centralized TERM signal handling"
This reverts commit 5a88478ccc.
is WIP, not ready for use yet
10 years ago
James Cammarata 2adddac94c Catch exceptions during module execution so they don't fail the worker
Fixes #14120
10 years ago
Brian Coca 5a88478ccc centralized TERM signal handling 10 years ago
Brian Coca 1b8dec9c88 avoid termination message when term is internal 10 years ago
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
10 years ago
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
10 years ago
Brian Coca f50b381dba Merge pull request #13678 from Etherdaemon/fix_datetime_objects
fix for datetime exception in ecs_tasks
10 years ago
James Cammarata a54f472b08 Submodule pointer update for devel 10 years ago
Matthew Stoltenberg d36394d6a6 strip BECOME-SUCCESS at lower level
Fixes #14395
10 years ago
James Cammarata 162dd2594f Filter become success string from the stdout of script results
Fixes #14390
10 years ago
Kamil Szczygiel 9f1eea43fa support for python < 2.7 10 years ago
Toshio Kuratomi 0f15e59cb2 Also hide the before state of files with --diff and no_log 10 years ago
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"
10 years ago
Brian Coca 81a40ac235 fix winrm erorr formatting 10 years ago
Brian Coca 5014919099 Merge pull request #14347 from bcoca/die_now
fix termination on user/signal interrupt
10 years ago
Jonathan Davila b220051c14 Added more info to the no action detected error
Error fix
10 years ago
Tom Paine 8e3cc3eecd Update profile_tasks.rst 10 years ago
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…
10 years ago
Robin Roth f3f3e3c660 fix typo 10 years ago
Robin Roth c0ebb74ad0 add ismount function from python Lib/posixpath.py
needed for https://github.com/ansible/ansible-modules-core/pull/2737
10 years ago
THEBAULT Julien 7c2ff0e66b Ansible-galaxy support the include directive 10 years ago
Brian Coca 46ce9a0016 Merge pull request #13883 from shaba/devel
Add support ssh configs from /etc/openssh.
10 years ago
Tom Paine 5a88cd8ad9 Rename profile_tasks.md to profile_tasks.rst 10 years ago
James Cammarata 1ea21f1f8c Also chmod the args file path when using become for old-style modules
Fixes #14348
10 years ago
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
10 years ago
James Cammarata 45755bc0e5 Merge pull request #14353 from felixfontein/devel
Include's tags argument allows only one tag to be specified.
10 years ago
Toshio Kuratomi ccbc7d217b Update submodule refs 10 years ago
Toshio Kuratomi d1c2d16706 Allow setting run_command environment overrides for the life of an AnsibleModule 10 years ago
Michael Ludvig ab64918cb5 Add support for AWS_SESSION_TOKEN environment variable.
According to http://blogs.aws.amazon.com/security/post/Tx3D6U6WSFGOK2H/A-New-and-Standardized-Way-to-Manage-Credentials-in-the-AWS-SDKs
the "official" environment variables that should be used for
AWS credentials should be:
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_SESSION_TOKEN
This patch adds support for the latter (the first two are already
supported).
10 years ago
Felix Fontein 8eea1c7e01 Allowing multiple tags to be specified in include's tags argument. 10 years ago
Brian Coca ad37a91514 really only want to prevent None typep here
false is sometimes needed
10 years ago
Matt Martz 0e57c577f4 Add RedirectHandler class and factory function for controlling redirects in urllib2 10 years ago
Tom Paine 9eca815377 Update profile_tasks.md
Converted to RST.
10 years ago
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
10 years ago
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
10 years ago
Brian Coca d2846dbf30 Merge pull request #14280 from bcoca/always_tag_setup
WIP: tag the setup task with always
10 years ago
Peter Sprygada 18094d8595 Merge pull request #14313 from chouseknecht/net_template_changes
When in context of a role, create backup dir within role_path
10 years ago
Brian Coca 5679b5414c avoid errors from possible None/False args 10 years ago
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
10 years ago
Rene Moser 11522b22c3 module_utils/basic: add generic method for checking for missing params when argspec can not be used. 10 years ago
Toshio Kuratomi e2a7ba35db Fix --diff to respect no_log task parameter. 10 years ago
chouseknecht 4f61fb6cce Add safety check on _backup key. 10 years ago
chouseknecht 0766219f58 When in context of a role, create backup dir within role_path 10 years ago
Toshio Kuratomi 4b7b3794c9 Update submodule refs 10 years ago
Brian Coca 89c57666c3 fixed py3 compatibility 10 years ago
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
10 years ago
Peter Sprygada f30d5b1d94 Merge pull request #14012 from privateip/action_nxos_config
initial add of action plugin nxos_template
10 years ago
Peter Sprygada c7180cf1a5 Merge pull request #14011 from privateip/action_ops_config
initial add of action plugin ops_template
10 years ago
Peter Sprygada a48b521e62 Merge pull request #14010 from privateip/action_ios_config
initial add of action plugin ios_template
10 years ago
Peter Sprygada 30d03b93b4 Merge pull request #14009 from privateip/action_eos_config
initial add of action plugin eos_template
10 years ago
Peter Sprygada ed3842aa87 Merge pull request #14008 from privateip/action_net_config
initial add of action plugin net_template
10 years ago
Brian Coca 6149685652 Merge pull request #14293 from dagwieers/fix-eval-json-booleans
Defined JSON booleans in global context for python eval()
10 years ago
Matt Martz 8bc2d3be9c Add new 'unsafe' YAML constructor 10 years ago
Dag Wieers 2e171610e0 Also add 'null' as a possible JSON value 10 years ago
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
10 years ago
James Cammarata da9ae14ff6 Adding new feature - meta: clear_host_errors
Allows for the clearing of any failed/unreachable hosts
10 years ago
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.
10 years ago
Brian Coca 26cd465068 Merge pull request #14281 from dagwieers/fix-first-found-list
Handle when the lookup-plugin is used in jinja-style
10 years ago
Dag Wieers dee5dba82a Handle when the lookup-plugin is used in jinja-style
This fixes #14190.
10 years ago
Brian Coca dc6f0c1290 avoid logging color codes 10 years ago
Tobias Wolf c902f926ca Do not print empty diffs with _display.display() 10 years ago
Tobias Wolf 28169492f9 Do not insert newlines when diff is empty 10 years ago
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.
10 years ago
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
10 years ago
Brian Coca 84f8241ff8 tag the setup task with always
fixes #14228
10 years ago
Toshio Kuratomi 42e312d3bd Change $() into backticks. Backticks should work for both POSIX and non-POSIX compatible shells.
Fixes #14176
10 years ago
Toshio Kuratomi 147dba5d97 Merge pull request #14277 from ansible/default-shell-type
Establish sh as the default shell plugin.
10 years ago
Toshio Kuratomi 5b1d8cfd5c Establish sh as the default shell plugin.
This is a fix for one of the problems pointed out in #14176
10 years ago
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
10 years ago
Brian Coca 197bed6fd8 make executable setting connection dependant
winrm shoudl not use executable, rest should?
fixes #14233
10 years ago
James Cammarata b2c0abe998 Don't mark host as having gathered facts when peeking at next task
Fixes #14243
10 years ago
Kamil Szczygiel fa13aa8c00 rename param from skip_ssl to validate_certs 10 years ago
Brian Coca a584ab3420 Merge pull request #11113 from sysadmin75/11104_osx_facts_bridge
Fixes OSX fact gathering for the bridge interface.
10 years ago
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
10 years ago
Brian Coca eafc31f3f8 Merge pull request #14197 from bcoca/safer_data_load
load now does not modify the incomming data
10 years ago
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.
10 years ago
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.
10 years ago
Brian Coca 6a62ad6c4b hide internal params once used 10 years ago
Brian Coca e0ed88e668 normalize error message on src != dir when local
now action plugin returns same error as module
10 years ago
Matt Martz ddfab5faf1 Use isinstance type checks in bool filter so we can handle unsafe proxy objects. Fixes #14240 10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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.
10 years ago
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
10 years ago
Brian Coca 49c15c8137 Merge pull request #14220 from bcoca/ansible_pull_once
harcoding inventory/hosts when pulling from repo
10 years ago
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
10 years ago
Toshio Kuratomi fb57818ea3 Explicitly set validate_certs=False as the boto default is True
Fixes #14089
10 years ago
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
10 years ago
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
10 years ago
James Cammarata 5587b08335 Make sure setup tasks inherit properly from their parent play
Fixes #13602
10 years ago
Toshio Kuratomi ceef202024 Update submodule refs 10 years ago
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.
10 years ago
Brian Coca dd4787701f fix unicode input for template lookup
fixes #14207
10 years ago
James Cammarata 0c237c4531 Merge pull request #14191 from paulcalabro/devel
Added hyphen (-) as a valid character for permissions
10 years ago
Brian Coca db375c22af load now does not modify the incomming data
also removed json loader as yaml loader can do both
10 years ago
Toshio Kuratomi 2c825539ff When setting up the local connection for the rsync we need to set the shell as well.
Fixes #13490
10 years ago
Matt Martz 4547ac7fb1 v2 version of slack callback plugin 10 years ago
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.
10 years ago
Toshio Kuratomi 5ecfa8ddfc Merge pull request #14189 from ansible/unicode-pager
Changes to convert to unicode at the borders
10 years ago
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
10 years ago
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
10 years ago
Toshio Kuratomi e7a9031d61 Update submodule refs 10 years ago
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
10 years ago
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
10 years ago
Toshio Kuratomi 3f3e3e3d5b Return an error when synchronize is used with something other than an ssh connection
Suggested in #2832
10 years ago
Kamil Szczygiel a381c1bbd6 added skip_ssl argument for VMware module to skip SSL verification (required when using self signed certificates) 10 years ago
Brian Coca 6bf2f45ff5 fix for so su works in more cases
should not fail anymore on csh, fish nor the BSDs
fixes #14116
10 years ago
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
10 years ago
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
10 years ago
James Cammarata a61e51efb7 Don't try to generate retry files if the tqm hasn't been initialized
Fixes #14144
10 years ago
Toshio Kuratomi cb2b19ced8 Fix for inventory hosts on localhost with alternate ports.
Fixes https://github.com/ansible/ansible-modules-core/issues/2831
10 years ago
James Cammarata 3ed3a5f43a Make retry file generation not use StringIO 10 years ago
James Cammarata 78d499140c Re-implementing the retry file feature for 2.0
Fixes #13944
10 years ago
James Cammarata 07a9a54b0e Fix lookup of parent attribute when parent doesn't have the attr
Fixes #14100
10 years ago
Brian Coca 66104191d1 fixed permissions check for ansible.log
fixes #13990
10 years ago
Brian Coca 46fde754af Merge pull request #14044 from skorochkin/devel
Adding support for scm-based role source urls (ansible-galaxy)
10 years ago
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.
10 years ago
Toshio Kuratomi c44110bc81 Update submodule refs to pick up the synchronize internal parameter 10 years ago
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.
10 years ago
Toshio Kuratomi d0a062ffa3 python3 doesn't have raw explicit-unicode literals. Workaround it with a raw native string that we make unicode in py2. 10 years ago
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
10 years ago
Toshio Kuratomi f4d68b8860 Transform tracebacks into unicode before printing
Fixes #14042
10 years ago
Brian Coca c063803a91 raise AnsibleError as an 'expected' exception
fixes #14065
10 years ago
Brian Coca 9df0662408 simpler conditional 10 years ago
Jonathan Davila 041e1979c4 Boto3 error handle fix 10 years ago
Brian Coca ac1d1673be adhoc now respects limit when listing hosts
also removed cruft about localhost as if used it is specified inline
fixes #13848
10 years ago
Jonathan Davila f95652e7db Merge remote-tracking branch 'upstream/devel' into ec2_util_boto3 10 years ago
Brian Coca 87fe32319f ensure stdout callback alwasy is loaded first
it is now called for every event prior to any other callbacks
fixes #14114
10 years ago
Brian Coca af88e34831 better error when host inventory script isnt dict 10 years ago
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.
10 years ago
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
10 years ago
James Cammarata 46ede563dd Use templated handler name during callback
Fixes #14082
10 years ago
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
10 years ago
Emilien Kenler 3b71710827 ansible.utils._git_repo_info() now supports branch names with slashes 10 years ago
James Cammarata 4651155942 Fix bug with any_errors_fatal where task was not available 10 years ago
James Cammarata d02dee37a1 Disallow setting state on template tasks
Fixes #14056
10 years ago
Toshio Kuratomi ecf867af6f Update submodule refs 10 years ago
Toshio Kuratomi f594cc0a5b Merge pull request #13993 from towolf/avoid_json_to_unicode
Avoid recursively checking JSON inventory for Unicode
10 years ago
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
10 years ago
Brian Coca f26adcc7da avoid shredding empty files, also x/0
also cleaned up unused import and exception var
10 years ago
Sergii Korochkin 1325c21ca0 Adding support for scm-based role source urls (incl. integration test to cover it) 10 years ago
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
10 years ago
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.
10 years ago
Brian Coca c2ac1507ea corrected host/group match in inventory_hostnames
now the lookup works when using ! and & operators
fixes #13997
10 years ago
James Cammarata 9b05a670c7 Merge pull request #14031 from selivan/devel
plugins/strategy: added significant details to parser error message.
10 years ago
James Cammarata 54cde0d082 Standardize removal of BECOME-SUCCESS method and use it for async too
Fixes #13965
Fixes #13971
10 years ago
Toshio Kuratomi 61009604e3 Update submodules to bring in yum fix 10 years ago
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…
10 years ago
Selivanov Pavel 3201f5d90e plugins/strategy: added significant details to parser error message.
See discussion at
https://github.com/ansible/ansible/issues/13753
10 years ago
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.
10 years ago
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 10 years ago
Brian Coca cc4506b451 Merge pull request #14006 from bcoca/always_shell_again
go back to always wrapping commands in shell
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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
10 years ago
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.
10 years ago
James Cammarata d07d974ad8 Revert "Properly look for parent become attribute"
This reverts commit 1b46a422aa.
10 years ago
Toshio Kuratomi ca8261ed31 Don't tracback trying to retore settings
Can occur if we exit the timeout before the settings were changed
10 years ago
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.
10 years ago
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
10 years ago
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
10 years ago
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.
10 years ago
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
10 years ago
James Cammarata b1223746cd Relocate use of ERROR to display class, to avoid doubling up 10 years ago
James Cammarata a7dd425620 Catch INI section parsing misses and raise an appropriate error
Fixes #13917
10 years ago
James Cammarata 1af473548b Fix role hashing failure/traceback when params contain lists
Fixes #13857
10 years ago
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.
10 years ago
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
10 years ago
Brian Coca a773486432 fixed exception handling to be 2.4 compatible
previous 'fix' broke on 2.4
10 years ago
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
10 years ago
Brian Coca 9f05ce3e2b be consistent about conversion to_str 10 years ago
Brian Coca 54435261e8 updated submodule refs 10 years ago
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
10 years ago
Toshio Kuratomi 5e18bc5955 Turn results that come from traceback messages into unicode, not str.
Fixes #13964
Fixes #13967
10 years ago
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
10 years ago
Toshio Kuratomi 2c512e5a63 Update submodule refs 10 years ago
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
10 years ago
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
10 years ago
Brian Coca 83069a38d5 better init detection 10 years ago
James Cammarata b5058736ce Fix set_fact + run_once to assign variables to all hosts in the list
Fixes #13921
10 years ago
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"
10 years ago
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
10 years ago
James Cammarata bc1bcc3419 Merge branch 'patch-1' of https://github.com/ktaragorn/ansible into ktaragorn-patch-1 10 years ago
Toshio Kuratomi 36aa89ac7e Fix erroneous fetch fail when fail_on_missing is set to False
Fixes #13832
10 years ago
Chrrrles Paul 3f66f58fde Merge pull request #13819 from chrrrles/vmware_doc_fragments
doc fragments for vmware and vca modules
10 years ago
Peter Sprygada 4e5dc44289 fixes documentation string 10 years ago
Brian Coca a2a23c14ac Merge pull request #13901 from bcoca/add_hosts_fix
fix issue with add_hosts overwriting existing vars
10 years ago
James Cammarata 1825b4a9c7 Fix any_errors_fatal incorrect implementation in 2.0
Also adds that flag to blocks.

Fixes #13744
10 years ago
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.
10 years ago
Brian Coca cd0ad03053 Merge pull request #13902 from bcoca/update_not_blast_inventory
overwrite/merge not remove prev inventory data
10 years ago
Brian Coca a311872c5b overwrite/merge not remove prev inventory data 10 years ago
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
10 years ago
Yannig Perré e5ea576461 Allow Ansible to return error with unicode within it.
Fix for https://github.com/ansible/ansible/issues/13899
10 years ago
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)
10 years ago
James Cammarata abc82fee13 Fix typo in 0b86aa6 10 years ago
James Cammarata 0b86aa62e1 Hack to work around callback API change for v2_playbook_on_start 10 years ago
Brian Coca c14eece0c6 md5 now uses smaller salt
fixes #13891
10 years ago
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
10 years ago
Alexey Shabalin 9be8ecda06 Add support ssh configs from /etc/openssh.
In Altlinux system config dir for openssh is /etc/openssh.
10 years ago
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.
10 years ago
Toshio Kuratomi 965602882a Update submodule refs 10 years ago
Brian Coca a56c0bc27b module invocation info depends on verbosity
since we were removing it on display, this saves us even transmiting it back
10 years ago
Toshio Kuratomi 58f387a6dd Fix circular import 10 years ago
Toshio Kuratomi 8068f23bad do_encrypt import needed to move as well
Fixes #13861
10 years ago
Toshio Kuratomi 4958180333 use integer division instead of floating point division.
Fixes #13855
10 years ago
Brian Coca 14f300f212 Merge pull request #13851 from shaba/devel
add detect Altlinux distributive
10 years ago
Alexey Shabalin 0b32e1586d add detect Altlinux distributive 10 years ago
Brian Coca 739e4c0386 corrected info about windows module naming and loc 10 years ago
Brian Coca a196c7d737 only send event if tqm exists
fixes #13843
10 years ago
Toshio Kuratomi 589971fe7e Update submodule refs to try and fix the taiga_issue module-is-actually-old travis failures 10 years ago
Brian Coca 5760f0effb dont error out on new internal vars 10 years ago
Brian Coca 06fa841516 made loading of galaxy data files lazy 10 years ago
Charles Paul 9f9bff88c2 doc fragments for vmware_ vca_ 10 years ago
Brian Coca cf9dfde15b Merge pull request #13751 from bcoca/module_internal_options
pass diff and verbosity settings to modules
10 years ago
Chrrrles Paul bd147ab592 Merge pull request #13736 from chrrrles/nolog
adding password no_log and cleaning up argument spec for vca module
10 years ago
Brian Coca c91df36ebe added module name to missing interpreter error
fixes #13816
10 years ago
Brian Coca f56c15e7e2 Merge pull request #13766 from nflx/devel
Allow InventoryScript JSON with childgroups only
10 years ago
James Cammarata b58673289a Split up comma-separated tags properly
Fixes #13795
10 years ago
Peter Sprygada 4d3aa72143 bugfix in nxos shared module for including defaults 10 years ago
Peter Sprygada a758806287 bugfix in ios shared module for including defaults 10 years ago
Peter Sprygada 935ae2801f bugfix in eos shared module for including defaults 10 years ago
Toshio Kuratomi d274fea358 Update submodules ref to pick up fix #558 10 years ago
Brian Coca 477d632118 now file mode diff shows octal values 10 years ago
Brian Coca 247ae748f5 Merge pull request #13786 from quinot/bug/attributes_typo
Fix minor typo in comment
10 years ago
Toshio Kuratomi 4ac76f60ee Merge pull request #13694 from resmo/fix/case-insensitivity
[2.0] cloudstack: fix more case insensitivity
10 years ago
Tom Paine 76ac6294e0 profile_tasks README.md
As agreed with Brian Coca in Ansible Project group:
https://groups.google.com/forum/#!searchin/ansible-project/tom$20paine/ansible-project/__nv6BZs2yU/AkYQ0HU-BQAJ
10 years ago
Matt Martz 45d9cfcc6f Coalesce forms of ssh_args in order of most specific to least 10 years ago
James Cammarata 6ec4d98764 When setting fail state skip RESCUE/ALWAYS if cur_block doesn't have them
Fixes #13749
10 years ago
Robin Roth e01ff3b352 remove unused imports
clean up imports of time.sleep and stat that are no (longer) used here
10 years ago
Karthik T c4cbeeffa8 Fixes #13763 Update connections _play_context on every iteration
If this isnt updated, the _connection is reused, and thus has an outdated _play_context
This results in outdated `success_key` and `prompt` causing issues if sudo is run in a loop
Refer to the issue #13763 for more debugging and details
10 years ago
Rene Moser 766738ef7c cloudstack: fix case insensitivity
cloudstack: fix has_change reports changed for case insensitivity values
10 years ago
Peter Sprygada c3dd0213ef deletes nxapi from shared modules
The nxapi module has been superseded by the nxos shared module and is not longer needed. This commit removes (deletes) nxapi from module_utils.  All custom modules that have used nxapi should be using nxos instead.
10 years ago
Peter Sprygada f99b834583 Merge pull request #13789 from privateip/shared_module_netcfg
adds network config file parser to shared modules
10 years ago
Peter Sprygada b7fec945be Merge pull request #13788 from privateip/shared_module_junos
initial add of junos shared module
10 years ago
Peter Sprygada 60e0e1a12e Merge pull request #13784 from privateip/shared_module_openswitch
initial add of openswitch shared module
10 years ago
Peter Sprygada 771d8014fc Merge pull request #13779 from privateip/shared_module_nxos
adds shared module nxos for building cisco nxos modules
10 years ago
Peter Sprygada a0a4edd494 Merge pull request #13777 from privateip/shared_module_ios
updates the ios shared module with new shell
10 years ago
Peter Sprygada a648097285 Merge pull request #13778 from privateip/shared_module_iosxr
adds new iosxr shared module for developing modules that work with IO…
10 years ago
Peter Sprygada 41fed323bc Merge pull request #13776 from privateip/shared_module_eos
initial add of eos shared module
10 years ago
Peter Sprygada 7e677899a4 Merge pull request #13775 from privateip/shared_module_shell
adds shared module shell for creating cli based transports
10 years ago
Peter Sprygada 01bf3940e3 adds network config file parser to shared modules
This commit adds a new shared module that parses network device configuration
files.  It is used to build modules that work with the various supported
network device operating systems
10 years ago
Peter Sprygada e709095f53 initial add of junos shared module
This commit adds a new shared module for working with network devices running
the Juniper Junos operating system.  The commit includes a new document
fragment junos to be used when building modules.  The junos shared module
currently only supports CLI
10 years ago
Thomas Quinot 2eb22d5536 Fix minor typo in comment 10 years ago
Peter Sprygada 3ae6fd4b31 initial add of openswitch shared module
This commit adds a new shared module openswitch for building modules that
work with OpenSwitch.  This shared module supports connectivity to
OpenSwitch devices over SSH, CLI or REST.  It also adds an openswitch
documentation fragment for use in modules
10 years ago
Peter Sprygada 01a99f52a9 adds shared module nxos for building cisco nxos modules
This commit refactors the nxapi into a new shared module nxos that supports
connectivity over both ssh (cli) and nxapi.  It supercedes the nxapi shared
module and removes it from module_utils.  This commit also adds a
documentation fragement supporting the nxos shared module
10 years ago
Brian Coca c9a5f7ea7e updated self to cls to match convention
tempted to just use this. in all cases
10 years ago
Brian Coca 792db08259 Merge pull request #13772 from bcoca/vars_prompt_fixes
restructure vars_prompt and fix regression
10 years ago
Peter Sprygada 456b3d2c23 adds new iosxr shared module for developing modules that work with IOS XR devices
This commit adds a new shared module for working with Cisco IOS XR devices over
CLI (SSH).  It also provides a documentation fragement for the commmon arguments
provided by the iosxr module.
10 years ago
Peter Sprygada d1dacfb3ca updates the ios shared module with new shell
This update refactor the ios shared module to use the new shell shared
library instead of issh and cli.  It also adds the ios documentation
fragment to be used when building ios based modules.
10 years ago
Peter Sprygada 87ccc5c869 initial add of eos shared module
This adds a shared module for communicating with Arista EOS devices over
SSH (cli) or JSON-RPC (eapi).  This modules replaces the eapi.py module
previously added to module_utils.  This commit includes a documentation
fragment that describes the eos common arguments
10 years ago
Matt Martz 5f0a348447 Restore ability for a module to specify WANT_JSON 10 years ago
Brian Coca 1cc5ac06e7 restructure vars_prompt and fix regression
pushed it to use the existing propmpt from display and moved the vars prompt code there also for uniformity
changed vars_prompt to check extra vars vs the empty play.vars to restore 1.9 behaviour
sipmlified the code as it didn't need to check for syntax again (tqm is made none prior based on that)
fixes #13770
10 years ago
Brian Coca 737090dd13 now show full callback stacktrace when vvv+
Still is a warning as we don't want to repeat it multiple times nor additional callbacks to stop ansible execution.
hopefully we can avoid shipping w/o exceptions in the default/minimal callbacks...

Also added feature that now allows for 'preformated' strings passed to warning
10 years ago
Peter Sprygada 1d240902c6 adds shared module shell for creating cli based transports
This commit add a new shared module shell that is used to build connections
to network devices that operate in a CLI environment.  This commit supercedes
the issh.py and cli.py commits and removes them from module_utils.
10 years ago
Emil Lind b0fe705384 Allow InventoryScript JSON with childgroups only
and without hosts and vars

Without this patch, the simplified syntax is triggered when a group
is defined like this:

    "platforms": {
        "children": [
            "cloudstack"
        ]
    }

Which results in a group 'platforms' with 1 host 'platforms'.

more details in https://github.com/ansible/ansible/issues/13655
10 years ago
nitzmahone 45355cd566 convert winrm put_file script template to Unicode string literal
Fixes traceback on homedirs with non-ascii chars
10 years ago
Brian Coca eb4ab5fa2a Revert "Show version without supplying a dummy action"
This reverts commit 11b55be5bb.
Parsing before action will fail if one of the action specific options is used
As per issue #13743
10 years ago
Brian Coca b7dcd7a3a0 pass diff and verbosity settings to modules
also simplifies and guarantees that all flags are always passed, even when false
this should make checks simpler as you always expect them to exist
10 years ago
Toshio Kuratomi d26d76ea58 Fix typo 10 years ago
Toshio Kuratomi 46903c80fa More fixes for unicode handling in the connection plugins.
Tested that ssh, docker, local, lxc-libvirt, chroot all work with the
updated unicode integration test.
10 years ago
James Cammarata 90cb7e1937 Don't drop noops from task counting code in linear strategy 10 years ago
Tomasz Kontusz 9ac9c75d76 linear strategy: don't look at tasks from the next block 10 years ago
Charles Paul b4ed3a4f52 properly handle addresses on /31 networks 10 years ago
muffl0n 11b55be5bb Show version without supplying a dummy action
fixes #12004
parsing x2 does not seem to break anything
10 years ago
Abhijit Menon-Sen 7c8374e0f8 Strip string terms before templating
The earlier code did call terms.strip(), but ignored the return value
instead of passing that in to templar.template(). Clearly an oversight.
10 years ago
James Cammarata dc47c25e58 Minor tweak to ensure diff is not empty in callback for file diffs 10 years ago
Charles Paul a65543bbaf adding password no_log and cleaning up argument spec 10 years ago
Brian Coca 095790ac5c Merge pull request #13691 from bcoca/colors
output color is now configurable
10 years ago
Brian Coca 84f46701d0 Merge pull request #13626 from bcoca/hostvars_vars
move hostvars.vars to vars
10 years ago
Brian Coca f3c45adfb8 simplified diff handling in callback
no need for the copy or other complexity
10 years ago
Brian Coca 9972c27a9b now handles 'non file diffs'
this allows modules to pass back a 'diff' dict and it will still show using the file interface
10 years ago
Toshio Kuratomi 22d4dc9d85 Merge pull request #13700 from feliksik/shred-vault-tmpfile
[security] shred ansible-vault tmp_file. Also when editor is interruped
10 years ago
Eric Feliksik 11ce08b9dd cleaner implementation and random chunk length. 10 years ago
Toshio Kuratomi 6470f7de2c Update submodule refs 10 years ago
Toshio Kuratomi c0a8cd950b Fix problems with non-ascii values passed as part of the command to connection plugins
@drybjed discovered this with non-ascii environment variables and
command line arguments to script and raw module.
10 years ago
Toshio Kuratomi 8d57ffd16b Revert "Transform the command we pass to subprocess into a byte string in _low_level-exec_command"
This reverts commit 0c013f592a.

Going to do this in the connection plugin
10 years ago
Toshio Kuratomi 559ba467c0 Revert "Convert to bytes later so that make_become_command can jsut operate on text type."
This reverts commit c4da5840b5.

Going to do this in the connection plugins
10 years ago
Eric Feliksik 151e09d129 use unix shred if possible, otherwise fast custom impl; do not shred encrypted file 10 years ago
Eric Feliksik 1e911375e8 add docs, remove unnecessary int() cast 10 years ago
Michael Scherer 8599c56670 Do not set 'changed' to True when using group_by
Since group_by is not changing in any way to the remote
system, there is no change. This also make things more consistent
with the set_fact plugin.
10 years ago
Eric Feliksik 7193d27acc add os.fsync() so that the shredding data (hopefully) hits the drive 10 years ago
Michel Alexandre Salim afb2abf980 Make credstash lookup plugin support encryption contexts
Previously, the lookup plugin passes all its keyword arguments to
credstash's `getSecret`; while this works for passing the standard
parameters (version, region and table), this does not allow passing
a dictionary of key-value pairs as `getSecret`'s context parameter.

Instead, pop `version`, `region` and `table` from `kwargs`, supplying
the default value if they are not defined, and pass the rest of the `kwargs`
as the `context` parameter.
10 years ago
James Cammarata 210cf06d9a Tweak how strategies evaluate failed hosts via the iterator and bug fixes
* Added additional methods to the iterator code to assess host failures
  while also taking into account the block rescue/always states
* Fixed bugs in the free strategy, where results were not always being
  processed after being collected
* Added some prettier printing to the state output from iterator

Fixes #13699
10 years ago
Brian Coca 6f2f7a79b3 add support for diff in file settings
this allows modules to report on what specifically changed when using
common file functions
10 years ago
Yannig Perré c4d2dbfcdb Replace to_string by to_unicode.
Fix https://github.com/ansible/ansible/issues/13707
10 years ago
Thilo Uttendorfer 5c34be15b1 Fix unsupported format character 10 years ago
James Cammarata e39e8ba308 Fix logic mistake in unarchive action plugin 10 years ago
Eric Feliksik 946b82bef7 shred ansible-vault tmp_file. Also when editor is interruped. 10 years ago
Brian Coca d3deb24ead output color is now configurable 10 years ago
James Cammarata 2d11cfab92 Squashed commit of the following:
commit 24efa310b58c431b4d888a6315d1285da918f670
Author: James Cammarata <jimi@sngx.net>
Date:   Tue Dec 29 11:23:52 2015 -0500

    Adding an additional test for copy exclusion

    Adds a negative test for the situation when an exclusion doesn't
    exist in the target to be copied.

commit 643ba054877cf042177d65e6e2958178bdd2fe88
Merge: e6ee59f 66a8f7e
Author: James Cammarata <jimi@sngx.net>
Date:   Tue Dec 29 10:59:18 2015 -0500

    Merge branch 'speedup' of https://github.com/chrismeyersfsu/ansible into chrismeyersfsu-speedup

commit 66a8f7e873
Author: Chris Meyers <chris.meyers.fsu@gmail.com>
Date:   Mon Dec 28 09:47:00 2015 -0500

    better api and tests added

    * _copy_results = deepcopy for better performance
    * _copy_results_exclude to deepcopy but exclude certain fields. Pop
    fields that do not need to be deep copied. Re-assign popped fields
    after deep copy so we don't modify the original, to be copied, object.
    * _copy_results_exclude unit tests

commit 93490960ff
Author: Chris Meyers <chris.meyers.fsu@gmail.com>
Date:   Fri Dec 25 23:17:26 2015 -0600

    remove uneeded deepcopy fields
10 years ago
Brian Coca 56454d6a91 added newer vars to 'reset_vars'
these vars pass back info to the task about the connection
moved to their own block at start at file for readability and
added the newer standard vars
10 years ago
Etherdaemon 0b92abaf67 Proposed fix for ansible/ansible-modules-extras#1348 due to datetime.datetime type not being matched 10 years ago
Toshio Kuratomi d70a97b562 Update submodule refs 10 years ago
Matt Martz 2587edb4f3 Move proxycommand parsing into _parse_proxy_command 10 years ago
Matt Martz 0296209bc1 Parse ansible_ssh_common_args looking for ProxyCommand, for use in paramiko 10 years ago
Matt Martz a8e0763d1e Move _split_args from ssh.py to ConnectionBase so we can use it in other connection plugins 10 years ago
Toshio Kuratomi deac4d00b2 bigip changes as requested by bcoca and abadger:
* Fix to error if validate_cert is True and python doesn't support it.
* Only globally disable certificate checking if really needed.  Use
  bigip verify parameter if available instead.
* Remove public disable certificate function to make it less likely
  people will attempt to reuse that
10 years ago
Brian Coca fd7e01696f updated submodule refs to pick up module changes 10 years ago
Matt Martz 630a35adb0 Add ProxyCommand support to the paramiko connection plugin 10 years ago
Brian Coca db1d153aca Merge pull request #13647 from bcoca/fix_role_search
corrected role path search order
10 years ago
Brian Coca 9a118ce213 Merge pull request #13648 from bcoca/fix_invocation_and_moderrors
better module error handling
10 years ago
Michael Scherer 42b9a206ad Fix last commit, make it python3 compatible (and py24) 10 years ago
Brian Coca 957b376f9e better module error handling
* now module errors clearly state msg=MODULE FAILURE
* module's stdout and stderr go into module_stdout and module_stderr keys
which only appear during parsing failure
* invocation module_args are deleted from results provided by action
plugin as errors can keep us from overwriting and then disclosing info that
was meant to be kept hidden due to no_log
* fixed invocation module_args set by basic.py as it was creating different
keys as the invocation in action plugin base.
* results now merge
10 years ago
Brian Coca 202b92179d corrected role path search order
the unfraking was matching roles in current dir as it always returns a full path,
pushed to the bottom as match of last resort
fixes #13645
10 years ago
Brian Coca 010839aedc fix no_log disclosure when using aliases 10 years ago
Toshio Kuratomi c4da5840b5 Convert to bytes later so that make_become_command can jsut operate on text type. 10 years ago
Brian Coca 474772c81c Merge pull request #13639 from emonty/bool-conversion
Also convert ints to bool for type=bool
10 years ago
Monty Taylor c60749c922 Also convert ints to bool for type=bool 10 years ago
Brian Coca bbdfaf0522 move hostvars.vars to vars
this fixes duplication under hostvars and exposes all vars in the vars dict
which makes dynamic reference possible on 'non hostvars'
10 years ago
Andrew Gaffney 0f4d1eb051 Add 'filtered' stdout callback plugin
This plugin filters output for any task that is 'ok' or 'skipped'.
It works by subclassing the 'default' stdout callback plugin and
overriding certain functions. It will suppress display of the task
banner until there is a 'changed' or 'failed' result or an
unreachable host.
10 years ago
Toshio Kuratomi 0c013f592a Transform the command we pass to subprocess into a byte string in _low_level-exec_command 10 years ago
Brian Coca 75e94e0cba allow for non standard hostnames
* Changed parse_addresses to throw exceptions instead of passing None
* Switched callers to trap and pass through the original values.
* Added very verbose notice
* Look at deprecating this and possibly validate at plugin instead
fixes #13608
10 years ago
Yannig Perré a4674906c6 Merge role params into variables separately from other variables
Fixes #13617
10 years ago
James Cammarata 6ae04c1e4f Fix logic in PlayIterator when inserting tasks during rescue/always
Because the fail_state is potentially non-zero in these block sections,
the prior logic led to included tasks not being inserted at all.

Related issue: #13605
10 years ago
James Cammarata 3ec0104128 Fixing bugs in conditional testing with until and some integration runner tweaks 10 years ago
Brian Coca bb2935549f corrected service detection in docker versions
now if 1 == bash it falls back into tool detection
10 years ago
Toshio Kuratomi e66c070e5c Add package module to squash list 10 years ago
Toshio Kuratomi 224d596336 Remove args from get_name() as we can't tell if any of the args are no_log 10 years ago
Toshio Kuratomi 8ffc1fa838 Comment to explain why we strip _ansible_notify specially 10 years ago
Toshio Kuratomi d32a885e98 Make return invocation information so that our sanitized copy will take precedence over what the executor knows. 10 years ago
Toshio Kuratomi 2936682f00 Revert "removed invocation info as it is not no_log aware"
This reverts commit 6127a8585e.
10 years ago
Brian Coca 6127a8585e removed invocation info as it is not no_log aware
This was added in 1.9 and 2.0 tried to copy, but since it cannot
obey no_log restrictions I commented it out. I did not remove as
it is still very useful for module invocation debugging.
10 years ago
Toshio Kuratomi 07a0059306 update submodule ref for doc fix 10 years ago
Toshio Kuratomi 3197eeaaa8 update submodule refs 10 years ago
James Cammarata a3dcb910b8 Fixing bugs with {changed,failed}_when and until with registered vars
* Saving of the registered variable was occuring after the tests for
  changed/failed_when.
* Each of the above fields and until were being post_validated too early,
  so variables which were not defined at that time were causing task
  failures.

Fixes #13591
10 years ago
Toshio Kuratomi 3057fc1753 Update submodule ref for mysql_user fix 10 years ago
James Cammarata 4ba7158282 Fixing a mistake from tweaking list stuff too much
Use the action only if the task name is not set
10 years ago
James Cammarata d4ffc96c80 Further tweaks to the output format of list tasks/tags 10 years ago
James Cammarata 5929ffc7c3 Make --list-tasks respect tags
Also makes the output closer to the appearance of v1

Fixes #13260
10 years ago
Toshio Kuratomi bad1c173b8 Update core submodule for mysql_db fix 10 years ago
Toshio Kuratomi 1b5e7ce025 Update submodule refs 10 years ago
James Cammarata e546219426 Revert "Enable host_key checking at the strategy level"
This reverts commit 1a6d660d7e285cceec474952a33af4d8dffd0a8d.
10 years ago
James Cammarata 586208234c Revert "Fixing bugs in ssh known_host fetching"
This reverts commit 21c127c581.
10 years ago
James Cammarata 21c127c581 Fixing bugs in ssh known_host fetching
* If remote_addr is not set in the PlayContext, use the host.address
  field instead (which is how the action plugin works)

Fixes #13581
10 years ago
James Cammarata d9c74536be Fix handling of environment inheritence, and template each inherited env
Environments were not being templated individually, so a variable environment
value was causing the exception regarding dicts to be hit. Also, environments
as inherited were coming through with the tasks listed first, followed by the
parents, so they were being merged backwards. Reversing the list of environments
fixed this.
10 years ago
James Cammarata e5c2c03dea Enable host_key checking at the strategy level
Implements a new method in the ssh connection plugin (fetch_and_store_key)
which is used to prefetch the key using ssh-keyscan.
10 years ago
James Cammarata 15135f3c16 Make sure we're using the original host when processing include results
Also fixes a bug where we were passing an incorrect number of parameters to
_do_handler_run() when processing an include file in a handler task/block.

Fixes #13560
10 years ago
James Cammarata 857456ea5f Fixing template integration test for python 2.6 versions
No longer immediately fallback to to_json if simplejson is not installed
10 years ago
Toshio Kuratomi fd4ad2c8f2 Update submodule ref to fix a bug in mysql_user with mariadb 10 years ago
James Cammarata 8716bf8021 All variables in complex args again
Also updates the CHANGELOG to note the slight change, where bare variables
in args are no longer allowed to be bare variables

Fixes #13518
10 years ago
James Cammarata 76b4b9ed2c Merge pull request #13501 from chouseknecht/galaxy-2.0-update
Galaxy 2.0 update
10 years ago
nitzmahone baece499df fix plugin loading for Windows modules
force plugin loader to only consider .py files, since that's the only place docs can live ATM...
10 years ago
Toshio Kuratomi 9724117bbb Update submodule refs for mysql refactor 10 years ago
Toshio Kuratomi 1116bc6ca6 Merge pull request #13191 from Jmainguy/mysql
Add shared connection code for mysql modules
10 years ago
Jonathan Mainguy 34e88e48a5 Add shared connection code for mysql modules 10 years ago
James Cammarata 6a252a3f77 Preserve the cumulative path for checking includes which have parents
Otherwise, each relative include path is checked on its own, rather
than in relation to the (possibly relative) path of its parent, meaning
includes multiple level deep may fail to find the correct (or any) file.

Fixes #13472
10 years ago
Toshio Kuratomi 0095d04af9 Update submodule refs 10 years ago
Toshio Kuratomi 7d519127fe Merge pull request #13573 from ansible/ssl-context-with-proxy
Fix a few problems with url handling.
10 years ago
Toshio Kuratomi 33863eb653 Conditionally create the CustomHTTPSConnection class only if we have the required baseclasses.
Fixes #11918
10 years ago
Toshio Kuratomi 72a0654b81 Fixes for proxy on RHEL5 10 years ago
Toshio Kuratomi 73ead4fbba First attempt to fix https certificate errors through a proxy with python-2.7.9+
Fixes #12549
10 years ago
Brian Coca 97275110d7 Merge pull request #13533 from bcoca/debug_fixes
debug now validates its params
10 years ago
James Cammarata fcc9258b74 Use the original host rather than the serialized one when processing results
Fixes #13526
Fixes #13564
Fixes #13566
10 years ago
Toshio Kuratomi d203438a2c Merge pull request #13554 from Yannig/devel_fix_python3_tests
Use six lib to import urlparse properly.
10 years ago
Brian Coca be5488cb60 clean debug output to match prev versions 10 years ago
Brian Coca a0842781a6 renamed ssh.py shared module file to clarify 10 years ago
Yannig Perré be4d1f9ee3 Fix a part of python 3 tests (make tests-py3, see https://github.com/ansible/ansible/issues/13553 for more details). 10 years ago
Peter Sprygada 27cd7668c1 the ssh shared module will try to use keys if the password is not supplied
The current ssh shared module forces only password based authentication.  This
change will allow the ssh module to use keys if a password is not provided.
10 years ago
Toshio Kuratomi 8d16638fec Fix for template module not creating a file that was not present when force=false 10 years ago
Michael Scherer a7ac98262d Make module_utils.known_hosts.get_fqdn work on ipv6 10 years ago
Toshio Kuratomi c9eb41109f Update submodule refs 10 years ago
James Cammarata 80d23d639c Use an octal representation that works from 2.4->3+ for known_hosts 10 years ago
James Cammarata 6312e38133 Fixing up some non-py3 things for unit tests 10 years ago
Brian Coca 2a37f11738 Merge pull request #13542 from h0nIg/devel_default_ask
ansible vault, ask pass: use default settings from ansible.cfg
10 years ago
Hans-Joachim Kliemeck f5f9b2fd35 use default settings from ansible.cfg 10 years ago
James Cammarata f8ff63f8c8 A few tweaks to improve new forking code 10 years ago
Brian Coca 175c2d6510 Merge pull request #13502 from robinro/patch-3
use shallow clones by default in ansible-pull
10 years ago
Toshio Kuratomi 2bc3683d41 Restore comment about for-else since it is an uncommon idiom 10 years ago
chouseknecht 06dde0d332 Fixed documentation typos and bits that needed clarification. Fixed missing spaces in VALID_ACTIONS. 10 years ago
chouseknecht 342dee0023 Define and handle ignore_certs correctly. Preserve search term order. Tweak to Galaxy docsite. 10 years ago
chouseknecht bc73920090 Updated ansible-galaxy man page. Removed -b option for import. 10 years ago
chouseknecht d8e6bc98a2 Fix overloaded options. Show an error when no action given. Don't show a helpful list of commands and descriptions. 10 years ago
Robin Roth 1bd8d97093 fix whitespace 10 years ago
Robin Roth 1b2ebe8def make shallow clone the default for ansibel-pull 10 years ago
Brian Coca d73562902b debug now validates its params
simplified var handling
made default message the same as in pre 2.0
fixes #13532
10 years ago
Brian Coca f3bedbae29 simplified skippy
thanks agaffney!
10 years ago
Brian Coca 99e46440bd changed shell delimiters for csh
fixes #13459
10 years ago
Brian Coca 8e445c551a removed unused imports in galaxy/cli 10 years ago
James Cammarata 120b9a7ac6 Changing the way workers are forked 10 years ago
Brian Coca ae988ed753 avoid set to unique hosts to preserver order
swiched to using a list comp and set to still unique but keep expected order
fixes #13522
10 years ago
Brian Coca de71171fc2 removed merge conflict 10 years ago
James Cammarata 7f7e730dea Don't mark hosts failed if they've moved to a rescue portion of a block
Fixes #13521
10 years ago
Brian Coca d9e510b192 narrow down exception catching in block builds
this was obscuring other errors and should have always been narrow scope
10 years ago
Chrrrles Paul e56efa49c4 Merge pull request #13509 from chrrrles/vca_default_host
fix default host for non vcd service types
10 years ago
Abhijit Menon-Sen 37c4e9aee3 Clean up debug logging around _low_level_execute_command
We were logging the command to be executed many times, which made debug
logs very hard to read. Now we do it only once.

Also makes the logged ssh command line cut-and-paste-able (the lack of
which has confused a number of people by now; the problem being that we
pass the command as a single argument to execve(), so it doesn't need an
extra level of quoting as it does when you try to run it by hand).
10 years ago
Charles Paul a6a58d6947 fix default host for non vcd service types 10 years ago
Toshio Kuratomi bd9582d072 Update submodule refs 10 years ago
Toshio Kuratomi 1dda8158ff become_pass needs to be bytes when it is passed to ssh.
Fixes #13240
10 years ago
Charles Paul 6680cc7052 allow custom callbacks with adhoc cli for scripting
missing import of CallbackBase
10 years ago
Robin Roth c20c1a6d49 add depth option to ansible-pull
Allows shallow checkouts in ansible-pull by adding `--depth 1` (or higher number)
10 years ago
James Cammarata 2b36343451 Missed one place we were appending the incorrectly escaped item to raw params 10 years ago
Toshio Kuratomi 62cbc03af6 Revert "Remove the funcd connection plugin"
This reverts commit c0d79cf7e1.

We may still port the funcd connection plugin, just not in time for
2.0.0
10 years ago
James Cammarata 30b6dd8bcd Merge pull request #13495 from Yannig/devel_debug_null_error
Do not fail when variable is not correct in debug action.
10 years ago
Yannig Perré 18ac12aee6 Do not fail when variable is not correct in debug action.
See https://github.com/ansible/ansible/issues/13484 for more information.
10 years ago
Toshio Kuratomi c0d79cf7e1 Remove the funcd connection plugin 10 years ago
Brian Coca 64864829c4 changed deprecation to removal warning 10 years ago
Toshio Kuratomi 61dc4a7e67 Update module refs 10 years ago
James Cammarata 14e19c239d Make on_file_diff callback item-aware 10 years ago
Brian Coca 04d74fd680 reenabled --tree for ansible adhoc command
previous fix to avoid callbacks now conflicted with tree optoin
which is implemented as a callback in 2.0
10 years ago
Brian Coca 7936a4687e adhoc avoids callbacks by default as it did before
Previous emptying of whitelist only affected callbacks that were
constructed for need whitelist. This now works for all callbacks.
10 years ago
Brian Coca ae2447df91 attribute defaults that are containers are a copy
This is simpler way to prevent persistent containers across instances
of classes that use field attributes
10 years ago
Brian Coca 2bfb13bfb3 removed unused 'pattern' from ansible.cfg
also moved the config param to a 'deprecated' list in constants.py
added TODO for producing a deprecation warning for such vars
10 years ago
Brian Coca 2820b4c243 removed default from hosts to make it requried
prevents writing a play w/o a hosts entry which would default to
all/empty
10 years ago
Brian Coca c64298de02 Revert "avoid persistent containers in attribute defaults"
This reverts commit 87969868d4.
found better way to do it
10 years ago
James Cammarata 332a008273 Merge pull request #13489 from chouseknecht/galaxy-2.0
Galaxy 2.0
10 years ago
chouseknecht 4f84769a17 Galaxy 2.0 10 years ago
Brian Coca 87969868d4 avoid persistent containers in attribute defaults
moved from the field attribute declaration and created a placeholder
which then is resolved in the field attribute class.

this is to avoid unwanted persistent of the defaults across objects which introduces
stealth bugs when multiple objects of the same kind are used in succession while
not overriding the default values.
10 years ago
Brian Coca 0719eb3e2d clarified warning from tree callback 10 years ago
Brian Coca d82d65ee7b keep string type filters as strings
now we don't try to convert types if using a filter that outputs a specifically formated string
made list of filters configurable
10 years ago
James Cammarata 1799de8528 Preserve original token when appending to _raw_params in parse_kv
Fixes #13311
10 years ago
Brian Coca 795fac917e fixed typo in tree callback, added default dir
this would allow it to work with playbooks also
10 years ago
James Cammarata 398f6bbb89 Fix typo from 5ae850c 10 years ago
James Cammarata de690445bc Make fact delegating configurable, defaulting to 1.x behavior 10 years ago
Brian Coca 7ffd578a9d Revert "Fix always_run support in the action plugin for template when copying"
This reverts commit 9c4eae5253.
10 years ago
Brian Coca d4ccb0be59 have always_run override check mode for a task
Fixes #13418
10 years ago
James Cammarata 9c4eae5253 Fix always_run support in the action plugin for template when copying
Fixes #13418
10 years ago
David L Ballenger cdc3c88018 Merge remote-tracking branch 'ansible/devel' into issue_13438 10 years ago
Peter Sprygada 2d5b4b1799 Merge pull request #13273 from privateip/nxapi
adds new device argument to nxapi command arguments
10 years ago
David L Ballenger 970d7cadb7 Add ssh_host support for MacOSX El Capitan.
OS X El Capitan moved the /etc/ssh_* files into /etc/ssh/. This fix
adds a distribution version check for Darwin to set the keydir
appropriately on El Capitan and later.
10 years ago
Brian Coca 9ae1dede03 adhoc does not load plugins by default
reimplemented feature from 1.x which kept additional callbacks from
poluting adhoc unless specifically asked for through configuration.
10 years ago
Brian Coca 17b334d4a5 Merge pull request #13450 from privateip/feature_ios_shared_module
bugfix for ios.py shared module argument creation
10 years ago
James Cammarata 540cbe0f64 Merge pull request #13445 from n-st/tasks-string-repr
More meaningful string representation for meta tasks (like 'noop' and 'flush_handlers')
10 years ago
James Cammarata 2884ff3932 Merge pull request #13455 from Yannig/devel_fix_debug_var_when_content_same_as_name
Fix issue when var name is the same as content.
10 years ago
Yannig Perré 2c8eee956f Fix issue when var name is the same as content.
See https://github.com/ansible/ansible/issues/13453 for more details.
10 years ago
Toshio Kuratomi 4d637e5780 Use self.args when we parse arguments that way the arguments can be constructed manually 10 years ago
Toshio Kuratomi a8e015cc22 Add representers so we can output yaml for all the types we read in from yaml 10 years ago
Peter Sprygada 41773630ed adds new device argument to nxapi command arguments
The device argument allows a dict of nxapi parameters to be passed to
the module to simplify passing the nxapi parameters
10 years ago
Brian Coca 8607aa527d Merge pull request #13446 from lberruti/no_target_syslog
Make no_target_syslog consistent.
10 years ago
Brian Coca 955710267c only set become defaults at last possible moment
tasks were overriding commandline with their defaults, not with the
explicit setting, removed the setting of defaults from task init and
pushed down to play context at last possible moment.
fixes #13362
10 years ago
Luca Berruti 8ea45e8608 Make no_target_syslog consistent.
no_target_syslog = False --> do log on target
10 years ago
Brian Coca f89f906f87 simplified get_hosts code to have 1 retrun point 10 years ago
Nils Steinger a1f6d17e37 More meaningful string representation for meta tasks (like 'noop' and 'flush_handlers') 10 years ago
Nils Steinger 0129fb0a44 Remove duplicates from host list *before* caching it
Ansible previously added hosts to the host list multiple times for commands
like `ansible -i 'localhost,' -c local -m ping 'localhost,localhost'
--list-hosts`.
8d5f36a fixed the obvious error, but still added the un-deduplicated list to a
cache, so all future invocations of get_hosts() would retrieve a
non-deduplicated list.
This caused problems down the line: For some reason, Ansible only ever
schedules "flush_handlers" tasks (instead of scheduling any actual tasks from
the playbook) for hosts that are contained in the host lists multiple times.
This probably happens because the host states are stored in a dictionary
indexed by the hostnames, so duplicate hostname would cause the state to be
overwritten by subsequent invocations of … something.
10 years ago
Toshio Kuratomi c8fd599e14 Merge pull request #13373 from no2a/boolean
BOOLEAN should contain boolean literals
10 years ago
Toshio Kuratomi 0434644d12 Transform exceptions into ansible messages via to_unicode instead of str to avoid tracebacks.
Fixes #13385
10 years ago
James Cammarata 84507aedd4 Adding a uuid field so we can track host equality across serialization too 10 years ago
James Cammarata 750adbaa27 Changing up how host (in)equality is checked
Fixes #13397
10 years ago
Toshio Kuratomi e385c91fa5 Update submodule refs# 10 years ago
Brian Coca d5446f9804 fixed ansible-pull broken options
* sudo was not working, now it supports full become
* now default checkout dir works, not only when specifying
* paths for checkout dir get expanded
* fixed limit options for playbook
* added verbose and debug info
10 years ago
Brian Coca e1c62fb5af reverted to previous pull checkout dir behaviour
This fixes bugs with not finding plays when not specifying checkout dir
Also makes it backwards compatible
10 years ago
Brian Coca 8d5f36a6c2 return unique list of hosts 10 years ago
Thomas Steinbach 349fb42f54 Allow setup of docker remote connections 10 years ago
Brian Coca a1f516824e corrected playbook path, reformated options help
the last just to make the help consistent and readable
10 years ago
Brian Coca 26520442bd Now and/or shell expressions depend on shell plugin
This should fix issues with fish shell users as && and || are
not valid syntax, fish uses actual 'and' and 'or' programs.
Also updated to allow for fish backticks pushed quotes to subshell,
fish seems to handle spaces w/o them.
Lastly, removed encompassing subshell () for fish compatibility.
fixes #13199
10 years ago
James Cammarata f467f1770f Properly compare object references for Hosts when adding new ones
Fixes #13397
10 years ago
James Cammarata 4426b7f6e0 fix sorting of groups for host vars
Fixes #13371
10 years ago
Brian Coca 7d073bdd17 Merge pull request #13345 from amenonsen/extract
Add an 'extract' filter
10 years ago
Peter Sprygada 29f5c5db71 bugfix for ios.py shared module argument creation
This patch fixes a bug in module_utils/ios.py where the the wrong shared
module arguments are being generated.  This bug prevented the shared module
from operating correctly.  This patch should be generally applied.
10 years ago
James Cammarata 5f83a6aeda Properly default remote_user for delegated-to hosts
Fixes #13323
10 years ago
Toshio Kuratomi e201a255d1 Revert "Make sudo+requiretty and ANSIBLE_PIPELINING work together"
This reverts commit f488de8599.

Reverting for now due to hard to pin down bugs: #13410  #13411
10 years ago
Toshio Kuratomi 9b81c35d06 Don't compare or merge str with unicode
Fixes #13387
10 years ago
James Cammarata a183972477 Don't use play vars in HostVars
Fixes #13398
10 years ago
James Cammarata 8ff67e0494 Default msg param to AnsibleError to avoid serialization problems 10 years ago
James Cammarata 5f1f2acfea Merge pull request #13405 from sivel/v2-playbook-on-start
Get v2_playbook_on_start working
10 years ago
Matt Martz 384b2e0234 Get v2_playbook_on_start working
* Move self._tqm.load_callbacks() earlier to ensure that v2_on_playbook_start can fire
* Pass the playbook instance to v2_on_playbook_start
* Add a _file_name instance attribute to the playbook
10 years ago
Brian Coca 7708661270 Merge pull request #13402 from amenonsen/expandpath
Use CLI.expand_tilde also for the vault --output file
10 years ago
Brian Coca 94d2958e1f Merge pull request #13403 from amenonsen/module-lang
Make module_lang default to whatever LANG is set to on the control node
10 years ago
Abhijit Menon-Sen 0d16d16ab8 Make module_lang default to whatever LANG is set to on the control node 10 years ago
Abhijit Menon-Sen fac7626230 Use CLI.expand_tilde also for the vault --output file 10 years ago
Matt Martz ce54a59cdc Catch additional assertion errors for load_list_of_blocks 10 years ago
Brian Coca 53cd802251 better error on invalid task lists 10 years ago
James Cammarata f7dc5a9515 Minor tweak and comment addition to 974a0ce3 10 years ago
James Cammarata f1d53a87e5 Merge pull request #13394 from Christoph-D/issue-13370
Fix #13370
10 years ago
Abhijit Menon-Sen 8cf1815867 Add an 'extract' filter
At its most basic, this is nothing more than an array or hash lookup,
but when used in conjunction with map, it is very useful. For example,
while constructing an "ssh-keyscan …" command to update known_hosts on
all hosts in a group, one can get a list of IP addresses with:

    groups['x']|map('extract', hostvars, 'ec2_ip_address')|list

This returns hostvars[a].ec2_ip_address, hostvars[b].ec2_ip_address, and
so on. You can even specify an array of keys for a recursive lookup, and
mix string and integer keys depending on what you're looking up:

    ['localhost']|map('extract', hostvars, ['vars','group_names',0])|first
        == hostvars['localhost']['vars']['group_names'][0]
            == 'ungrouped'

Includes documentation and tests.
10 years ago
Abhijit Menon-Sen 22381be253 Bump version in devel now that stable-2.0 has been branched 10 years ago
Christoph Dittmann 267199fdd5 Update debug messages and comments
The comment was taken literally from lib/plugins/strategy/linear.py and
makes no sense in free.py where we have no noop tasks.

Also update the debug messages.
10 years ago
Christoph Dittmann c6e400fbea Fix issue #13370
all_blocks is referenced after the loop over included_files, so it needs
to be initialized before this loop, not inside.
10 years ago
Christoph Dittmann 9a6ae1d62a Let PlayIterator.add_tasks accept empty task lists
PlayIterator.add_tasks raised an error when trying to add an empty task
list.  This was the root cause of ansible issue #13370.
10 years ago
Brian Coca b92cb93539 unconditionally set vars on init to avoid issues with var precedence 10 years ago
Peter Sprygada 2491afc8b6 fixes a syntax issue with module_utils/eapi.py
This patch fixes an issue with the common args dict in the eapi shared
module.  This patch is required for the eapi shared module to be properly
imported and is therefore should be applied to all instances.
10 years ago
Brian Coca 8c630406c9 Merge pull request #13357 from privateip/feature_ssh_shared_module
initial add of ssh shared module.
10 years ago
Brian Coca 923b5467e3 Merge pull request #13354 from privateip/feature_eapi
adds device common argument to shared module
10 years ago
Brian Coca 574d7be8d5 Merge pull request #13358 from privateip/feature_ios_shared_module
Feature ios shared module
10 years ago
Peter Sprygada 93cd7a2a5f adds module create function for eapi.py shared module
This commit changes the way modules create an instance of AnsibleModule to
now use a common function, eapi_module.  This function will now automatically
append the common argument spec to the module argument_spec.  Module
arguments can override common module arguments
10 years ago
Peter Sprygada 8638e0ccf8 initial add of the ios shared module
This adds shared module support for building modules that connect to Cisco
IOS devices.  It builds on the module_utils/ssh.py shared module.
10 years ago
Brian Coca 3e01516783 fixed signature for init on callbacks
also removed passing display to base class which already handles this
10 years ago
nitzmahone c94509f273 allow shell plugin to affect remote module filename
Fix for 13368, added get_remote_filename to shell plugins, powershell version appends .ps1 if necessary, base shell plugin no-ops
10 years ago
Abhijit Menon-Sen f488de8599 Make sudo+requiretty and ANSIBLE_PIPELINING work together
Pipelining is a *significant* performance benefit, because each task can
be completed with a single SSH connection (vs. one ssh connection at the
start to mkdir, plus one sftp and one ssh per task).

Pipelining is disabled by default in Ansible because it conflicts with
the use of sudo if 'Defaults requiretty' is set in /etc/sudoers (as it
is on Red Hat) and su (which always requires a tty).

We can (and already do) make sudo/su happy by using "ssh -t" to allocate
a tty, but then the python interpreter goes into interactive mode and is
unhappy with module source being written to its stdin, per the following
comment from connections/ssh.py:

        # we can only use tty when we are not pipelining the modules.
        # piping data into /usr/bin/python inside a tty automatically
        # invokes the python interactive-mode but the modules are not
        # compatible with the interactive-mode ("unexpected indent"
        # mainly because of empty lines)

Instead of the (current) drastic solution of turning off pipelining when
we use a tty, we can instead use a tty but suppress the behaviour of the
Python interpreter to switch to interactive mode. The easiest way to do
this is to make its stdin *not* be a tty, e.g. with cat|python.

This works, but there's a problem: ssh will ignore -t if its input isn't
really a tty. So we could open a pseudo-tty and use that as ssh's stdin,
but if we then write Python source into it, it's all echoed back to us
(because we're a tty). So we have to use -tt to force tty allocation; in
that case, however, ssh puts the tty into "raw" mode (~ICANON), so there
is no good way for the process on the other end to detect EOF on stdin.
So if we do:

    echo -e "print('hello world')\n"|ssh -tt someho.st "cat|python"

…it hangs forever, because cat keeps on reading input even after we've
closed our pipe into ssh's stdin. We can get around this by writing a
special __EOF__ marker after writing in_data, and doing this:

    echo -e "print('hello world')\n__EOF__\n"|ssh -tt someho.st "sed -ne '/__EOF__/q' -e p|python"

This works fine, but in fact I use a clever python one-liner by mgedmin
to achieve the same effect without depending on sed (at the expense of a
much longer command line, alas; Python really isn't one-liner-friendly).

We also enable pipelining by default as a consequence.
10 years ago
Toshio Kuratomi 50553bc2ba _connect no longer takes a port argument 10 years ago
Brian Coca f1fcab4610 ignore password flags in become conflict check
since all the --ask pass options end up triggering the same code
and are functionally equivalent, ignore them when it comes to checking
privilege escalation conflicts. This allows using -K when --become-method=su
and so on.
10 years ago
Brian Coca a6f6a80caa avoid inheritance issues with default=dict declaration at class level
this should avoid the issue of subsequent plays not prompting for a var
prompted for in a previous play.
10 years ago
Toshio Kuratomi 30094912eb boto is expecting that we pass it unicode strings.
The secret_key parameter especially can contain non-ascii characters and
will throw an error if such a string is passed as a byte str.

Potential fix for #13303
10 years ago
Arata Notsu 6d6d4f0c8e BOOLEAN should contain boolean literals
It is natural that an argument_spec with choises=BOOLEAN accepts
boolean literal (True, False) though the current implementation
allows only string or int.
10 years ago
Toshio Kuratomi ba4e571029 Update submodule refs to go along with the StandardError change in ec2 moudles 10 years ago
Toshio Kuratomi 19d5759771 raise AnsibleAWSError instead of StandardError.
* StandardError doesn't exist in python3
* because it is the root of builtin expections, we can't catch it
  separate from the builtin exceptions
* It doesn't tell us anything about the error being thrown as it's too
  generic
10 years ago
James Cammarata dc0fae1af7 Also make sure remote_user is defaulted correctly for delegated hosts
Fixes #13323
10 years ago
Toshio Kuratomi e2ddc2f6ab Call the function :-)
Fixes #13330
10 years ago
James Cammarata cc36eedf76 Ensure port is (re)set for delegated-to hosts
Fixes #13265
10 years ago
Brian Coca b5f2c3def2 fixed typo 10 years ago
Brian Coca eefb4931dd allow for bad stdout return from make temp dir command
fixes #13359
10 years ago
Brian Coca 005b17afec corrected become_methods class variable in winrm
This should now correctly react when using become with winrm
fixes #13331
10 years ago
James Cammarata 80db6bacc4 Make sure run_once tasks properly set variables for all active hosts
Fixes #13267
10 years ago
James Cammarata fbc9553bd4 Use text_type instead of unicode 10 years ago
James Cammarata c6a30f7000 Make sure the uuid in vars is string 10 years ago
James Cammarata f926e81782 Re-implement lookup wantlist
Fixes #13285
10 years ago
James Cammarata dfa576b037 Merge pull request #13307 from Yannig/devel_fix_big_include_vars
Fix for https://github.com/ansible/ansible/issues/13221
10 years ago
Peter Sprygada c087160652 initial add of ssh shared module.
This ssh shared module is used for building modules that require an
interactive shell environment such as those required for connecting
to network devices
10 years ago
James Cammarata 6671d78f95 Tweak location of stats callback execution and properly relocate stats output code 10 years ago
James Cammarata ea23159be4 Merge pull request #13348 from emonty/bug/iterate-on-none
Put in trap for args being None
10 years ago
Monty Taylor d20e67d708 Put in trap for args being None
_normalize_old_style_args can return None. If it does, the loop
"for args in args" blows up.
10 years ago
James Cammarata 800811a15f Trigger on_stats just once, not once for each play
Fixes #13271
10 years ago
James Cammarata a7f7f8bd29 Merge pull request #13297 from amenonsen/ssh-escalation
Explicitly accept become_success in awaiting_prompt state
10 years ago
James Cammarata 5b6162a166 Re-adding role_name/role_uuid variables 10 years ago
James Cammarata 8d9835c40b Merge pull request #13342 from Yannig/devel_fix_bomb_shell
Devel fix bomb shell
10 years ago
Yannig Perré 5227c6bb52 Do not copy variable_manager each time. Instead, keep host and local variable_manager sync.
Fix https://github.com/ansible/ansible/issues/13221
10 years ago
Yannig Perré 2fc7c8b460 More restrictive test against variable name to allow setting variable starting with _. 10 years ago
Brian Coca fa358d9d61 avoids prompting for vars during syntax check
fixes #13319
10 years ago
Yannig Perré 2c54fb1339 Switch parameters validation after parsing in order to be more consistent between old and new style. 10 years ago
Abhijit Menon-Sen f20e2630b0 Explicitly accept become_success in awaiting_prompt state
If we request escalation with a password, we start in expecting_prompt
state. If the escalation then succeeds without the password, i.e., the
become_success response arrives, we must explicitly move into the next
state (awaiting_escalation, which immediately goes into ready_to_send),
so that we no longer try to apply the timeout.

Otherwise, we would leak the success notification and eventually
timeout. But if the module response did arrive before the timeout
expired, the "process has already exited" test would do the right
thing by accident (which is why it didn't fail more often).

Fixes #13289
10 years ago
Toshio Kuratomi 1b743436b9 Do not double transform to unicode 10 years ago
Chrrrles Paul 157230c3e8 Merge pull request #13257 from chrrrles/utf8
fixing error with using non-ascii values for ask-sudo-password
10 years ago
Charles Paul 1e5a205389 fixing errors with utf-8 values
removing utf-8 stanza

changing cast to binary_type instead

using to_unicode
10 years ago
Brian Coca 71fe49ee3a Merge pull request #13247 from bcoca/fetch_fixes
fixes to fetch action module
10 years ago
Brian Coca 7244b5ae49 added missing : 10 years ago
Brian Coca 0ec60ac09b added missing events to base class 10 years ago
James Cammarata 70de8bc96f Fix ssh state issues by simply assuming it's never connected 10 years ago
James Cammarata 65747285a4 Properly check for prompting state when re-using ssh connection
Fixes #13278
10 years ago
James Cammarata 96fcfe45d0 Merge pull request #13264 from Yannig/devel_debug_var_list_or_dict
Allow debug var parameter to accept a list or dict.
10 years ago
Yannig Perré 5fa49a9ad8 Use to_unicode instead of str() 10 years ago
James Cammarata 679488fdb5 Merge pull request #13239 from sysreq0/devel
We should give pipes.quote() a string every time
10 years ago
James Cammarata 53e86f3130 Merge pull request #13261 from cchurch/with_items_reuse_connection
Modify task executor to reuse connections inside a loop.
10 years ago
James Cammarata e06b107d2d Template (and include vars) PlaybookInclude paths
Fixes #13249
10 years ago
Chris Church 272778f732 Modify task executor to reuse connection inside a loop. Fix WinRM connection to set _connected properly and display when remote shell is opened/closed. Add integration test using raw + with_items. 10 years ago
Toshio Kuratomi adf2d53fa2 Update submodule refs 10 years ago
Yannig Perré 0480b44f50 Allow debug var parameter to accept a list or dict. Fix https://github.com/ansible/ansible/issues/13252 10 years ago
Brian Coca 478c6c756a marked spot that should send per item reulsts 10 years ago
Brian Coca fb96748d7c fixes to fetch action module
* now only runs remote checksum when needed (fixes #12290)
 * unified return points to simplify program flow
10 years ago
Toshio Kuratomi 2631a8e6e4 Update extras to fix docs build 10 years ago
Toshio Kuratomi 8fd15ae2a3 Merge pull request #13217 from ansible/more-strict-plugin-lookup
Fix non-module plugins picking up files that did not end in .py.
10 years ago
Toshio Kuratomi 77c83fd520 Commit submodule refs to the devel HEAD 10 years ago
Toshio Kuratomi 664c7980a2 Update submodule refs 10 years ago
Sebastien Couture 087dbc1ed5 We should give pipes.quote() a string every time 10 years ago
Toshio Kuratomi 591c81e95f Docker cp sets file ownership to root:root so we can't use it.
Fixes #13219
10 years ago
Toshio Kuratomi d75e707af5 Simplify code a little 10 years ago
Toshio Kuratomi 72558f7ecd Merge pull request #13074 from joernheissler/patch-13073
Use ansible_host in synchronize module
10 years ago
Toshio Kuratomi c86120cea6 Fix non-module plugins picking up files that did not end in .py.
This was caused by accessing the cache using the passed in mod_type
rather than the suffix that we calculate with knowledge of whether this
is a module or non-module plugin.
10 years ago
James Cammarata c97c101bd3 Merge pull request #13209 from nitzmahone/winrm_put_file
fast winrm put_file without size restrictions
10 years ago
James Cammarata 8a0d2e0ef2 Submodule pointer update 10 years ago
James Cammarata 91500f8f5f Fix include param precedence in variable manager 10 years ago
James Cammarata 78e4f176e6 Return skipped/failed async results directly
Fixes #13205
10 years ago
James Cammarata 3b16ad973c Merge pull request #13201 from ma82/patch-1
Fix DataLoader's docstring
10 years ago
Marius Gedminas 66347c9449 Fix NameError when using loops
vars_copy disappeared in 3d1255d190.

Fixes #13213.
10 years ago
nitzmahone db83c0e7cd winrm error handling tweaks 10 years ago
James Cammarata 3d1255d190 Don't update job vars too early when getting loop items in TaskExecutor
Fixes #13113
10 years ago
Brian Coca f8ed99e5e4 Revert "success should not include skipped"
This reverts commit 300ee227a2.
10 years ago
nitzmahone 549163170f fast winrm put_file without size restrictions 10 years ago
Mick Bass 9761250a4b Allow tree-ish to be used for galaxy role version
Ensure that ansible-galaxy version can be a branch, a tag, or any tree-ish
supported by git including specific commit IDs.  For git scm roles, adds an
explicit git checkout of the specified role_version prior to the git archive.
This means that we'll always archive from HEAD of whatever role_version is
checked out. role_version can be a branch, a tag, or any <tree-ish> supported
by git including specific commit IDs.  These changes also ensure
ansible-galaxy works for scm clones when specified version differs from
repository default branch.
10 years ago
Matteo Acerbi 0127d32652 Fix DataLoader's docstring
DataLoader.__init__ doesn't take an argument named vault_password
10 years ago
James Cammarata 9b9fb51d9d Template the final_environment value in _compute_environment_string()
Fixes #13123
10 years ago
Toshio Kuratomi 782aa9a7fd Update submodule refs 10 years ago
James Cammarata 180159b01d Adding vars back in and trying to add a little more speed by avoiding copies 10 years ago
James Cammarata 25807f5404 Don't modify things we've put on the queue
Fixes #12937
10 years ago
Brian Coca d35f615af8 added more debug info for command results 10 years ago
Brian Coca aa55db69fe Merge pull request #12687 from nitzmahone/pywinrm_arg_passthru
Force SSL transport for pywinrm updates, get host+group vars
10 years ago
James Cammarata f10d2c57c8 Restoring templating of hostvars returned by __getitem__ 10 years ago
James Cammarata 9f31c073fe Fixing a few bugs in the HostVars performance areas
* Also refresh inventory in the HostVars manager process when things
  are changed via add_host/group_by
* Raise j2undefined rather than return it
10 years ago
James Cammarata 984729016e Fix tag filtering on included files and add more debugging
Previously, we were filtering the task list on tags for each host
that was including the file, based on the idea that the variables
had to include the host information. However, the top level task
filtering is play-context only, which should also apply to the
included tasks. Tags cannot and should not be based on hostvars.
10 years ago
James Cammarata 5cbeab5a3c Performance improvements for HostVars and some bugfixes 10 years ago
Dann Bohn 7f2cae5405 add REPLACER_SELINUX back into module_common 10 years ago
Brian Coca 355fa4797a Merge pull request #13186 from nitzmahone/add_host_cache_fix
fix for dynamic (add_host) hosts not available in hostvars
10 years ago
Brian Coca 6a2559be02 Merge pull request #13184 from nitzmahone/hostvars_undefined_fix
hostvars should return j2 undefined as instance, not type
10 years ago
Toshio Kuratomi fc7e2912f2 zone connection plugin bugfixes and pipelining and sudo become methods enabled!
Thanks to peinheber for helping test and debug this!
10 years ago
nitzmahone 349e072a74 fix for dynamic (add_host) hosts not available in hostvars
Looks like there are two pattern caches that need to be cleared for this to work- added the second one.
Added integration tests for add_host to prevent future regressions.
10 years ago
nitzmahone 3bb1f7a561 hostvars should return j2 undefined as instance, not type
Looks like someone forgot to create an instance of undefined here- we were returning the undefined type object, which broke all the undefined checks.

Added an integration test around add_host that will catch this (separate PR to follow)
10 years ago
Brian Coca db27541a0e Merge pull request #13053 from Etherdaemon/fix_13010_boto3_aws_profile
Fixes #13010 by updating boto3 methods
10 years ago
Brian Coca 89646d4253 no need to be executable 10 years ago
Jonathan Davila 1b76a9cef2 Patch to remove dependency on boto when only using boto3
Updated with explicit check for HAS_BOTO3
10 years ago
Brian Coca 2083a2dffa Merge pull request #13174 from sebi-hgdata/sebi/consul_kv_issue
Consul kv lookup super invocation fix
10 years ago
Brian Coca 83f7942dcf removed print entries, corrected display calls to match latest devel 10 years ago
Brian Coca 78be81b96d Merge pull request #12510 from jcftang/devel
Initial add of logentries callback plugin
10 years ago
Brian Coca f1db99caa7 updated with latest changes to default 10 years ago
Brian Coca eeedaf2cbc fixed var name typo 10 years ago
Brian Coca e174247734 evaluate includes for skipped tags
cannot evaluate for include tags as underlying tasks might have them, but skips override so this should be a performance boost
10 years ago
Sebi Calbaza 1f052d5ce6 fixed super invocation 10 years ago
Brian Coca 300ee227a2 success should not include skipped
fixes #13161
10 years ago
Jimmy Tang 19ba54c9fd Don't be fatal on import errors so plays don't fail if plugin doesn't have required dependencies 10 years ago
Jimmy Tang 125370ab48 Run when whitelisted 10 years ago
Jimmy Tang 5f2f5e2b59 Add boilerplate and fix initialisation to match what 2.0 expects 10 years ago
Jimmy Tang c02ceb8f12 Remove threading and queues. Added license information and cleaned up callback. 10 years ago
Jimmy Tang 85277c8aae Initial add of logentries callback plugin
This callback plugin will generate json objects to be sent to the
logentries service for auditing/debugging purposes.

To use:

Add this to your ansible.cfg file in the defaults block

    [defaults]
    callback_plugins = ./callback_plugins
    callback_stdout = logentries
    callback_whitelist = logentries

Copy the callback plugin into the callback_plugings directory

Either set the environment variables

    export LOGENTRIES_API=data.logentries.com
    export LOGENTRIES_PORT=10000
    export LOGENTRIES_ANSIBLE_TOKEN=dd21fc88-f00a-43ff-b977-e3a4233c53af

Or create a logentries.ini config file that sites next to the plugin with the following contents

    [logentries]
    api = data.logentries.com
    port = 10000
    tls_port = 20000
    use_tls = no
    token = dd21fc88-f00a-43ff-b977-e3a4233c53af
10 years ago
James Cammarata 07b588f6c0 Version bump for new beta 2.0.0-0.5.beta3 10 years ago
James Cammarata 2b25b7974c Remove unnecessary sleep from result process 10 years ago
Brian Coca 634e10e5b8 Merge pull request #13156 from amenonsen/broken-timeout
If ssh died, it's an error, not a timeout
10 years ago
Abhijit Menon-Sen 26ea9c4351 If ssh died, it's an error, not a timeout 10 years ago
David M. Lee 5bd096208c Increase the escalation prompt timeout
It was set to match the SSH connect timeout. Unfortunately, they would
race when ssh fails to connect, and the connect timeout usually failed.
This led to some misleading error messages.

Fixes #12916
10 years ago
James Cammarata 31b1abf580 Merge pull request #13146 from nitzmahone/gce_error_messaging
fix gce module error reporting
10 years ago
nitzmahone 4163655099 fix gce module error reporting
Error reporting was broken for GCE modules- pprint didn't work with exceptions, so you'd always get "Unexpected response: {}" instead of the real error.
10 years ago
Toshio Kuratomi 958fb29b78 Merge pull request #12881 from Scypho/devel
fix for issue #11885 - allowing json in lookup template calls
10 years ago
James Cammarata 13750f68ee Reduce spinning while waiting on queues 10 years ago
Daniel Menet 0918416b83 substitute tilde and env vars before storing C.CACHE_PLUGIN_CONNECTION as instance attribute 10 years ago
Toshio Kuratomi 7fd8b86a10 Fix documentation build problems 10 years ago
Toshio Kuratomi d38ac6a394 Update submodule ref for another new module 10 years ago
Toshio Kuratomi 7807e99bca A bunch of shipit's merged 10 years ago
Toshio Kuratomi 8aa2cbd647 Fix traceback because we're using display from another object that no
longer has it.
10 years ago
James Cammarata b2b0fa8d13 Changed do/until failed color
Fixes #13130
10 years ago
James Cammarata 94c20c9ac6 Cleanup failed/changed logic in TaskExecutor
Fixes #12980
10 years ago
Toshio Kuratomi 62979efa14 Finish up plugin porting to global display
Also remove display = display which does nothing
10 years ago
Toshio Kuratomi 2bd695ed42 Port cache plugins to global display 10 years ago
Toshio Kuratomi b05d0b8c9c Port lookup plugins to global display. 10 years ago
Toshio Kuratomi 4c7128da17 Port action plugins to global display 10 years ago
Toshio Kuratomi 186e034515 Move the rest of executor code to global display 10 years ago
Toshio Kuratomi 7ecfa072da Move the rest of the playbook code to use global display 10 years ago
Toshio Kuratomi aa4f213cb5 Move connection plugins to using global display 10 years ago
Toshio Kuratomi 318bfbb207 Migrate cli and dependencies to use global display 10 years ago
Brian Coca 1b7d3f2898 updated submodule refs 10 years ago
Brian Coca 99f45f2e19 pass task args without filtering, copy module needs to explcitly support
remote_src or it will remove the src file
10 years ago
Toshio Kuratomi c7b69127ec Remove dead code 10 years ago
Toshio Kuratomi e45ce871a7 Fix for traceback when neither name nor pkg are in the module params 10 years ago
Toshio Kuratomi 4737305837 Remove dead code as this was moved to another class 10 years ago
Brian Coca be22a670e5 addes deprecated information to ansible-doc display
fixes #13118
10 years ago
Brian Coca 1b349fdf34 Merge pull request #13112 from privateip/eapi
add initial support for Arista eAPI
10 years ago
James Cammarata 566144461f Remove internal use of display and use the top-level import 10 years ago
James Cammarata 0fc187893d Catch import warnings in a common location for both get() and all()
Potential solution for #12979
10 years ago
James Cammarata 9f0c2cfda5 Merge pull request #13114 from mgedmin/fix-plugin-loader
Check sys.modules before loading modules
10 years ago
Marius Gedminas 54eae4a793 Check sys.modules before loading modules
Code for a plugin is usually loaded by a PluginLoader(), and henceforth
available from self._module_cache, which prevents duplicate loading.
However there are situations (e.g. where one action plugin imports code
from another one) where the plugin module might be already imported (and
resident in sys.modules), but not present in the PluginLoader's
_module_cache, which causes imp.load_source() to effectively reload the
module, overwriting global class declarations and causing subtle latent
bugs.

Fixes #13110.
Fixes #12979.
10 years ago
James Cammarata a99f2fd52f Save delegated vars in result for use in callback methods
Fixes #13014
10 years ago
Peter Sprygada 2e98f7f429 add initial support for Arista eAPI
This commit adds the shared module support for Arisat EOS devices
running eAPI.  The shared module builds on top of module_utils/urls.py.
10 years ago
James Cammarata e56fd9e95d Make sure pattern cache components are converted to unicode 10 years ago
James Cammarata 0b999c602a Properly figure subset and restrictions into host cache pattern
Fixes #13111
10 years ago
James Cammarata d8fb5efa90 Merge pull request #13102 from Yannig/devel_cache_enhancement
New method template_no_cache for template object.
10 years ago
Yannig Perré 0c360d17cb New parameter for template method.
We do not compute hash when we know that the result does not need to be cached (like with_items loop).
It also result in a small speed improvement.
10 years ago
Etherdaemon 27398131cf Fixes #13010 by updating boto3 methods to update boto3_conn to check for profile_name and if detected, remove from params and set a new variable of profile which is passed into Session separately 10 years ago
James Cammarata 09994c18f3 Correct logic around determining environment variable existence
Fixes #13105
10 years ago
James Cammarata c753ae6e22 Fixing up host pattern caching to avoid bugs
* Always cache and return unique list objects, so that if the list
  is changed later it does not impact the cached results
* Take additional parameters and the type of the pattern into account
  when building the hash string
10 years ago
James Cammarata e8f83dcba3 Revert "Temporarily disable template caching"
This reverts commit 4d1757ce64.
10 years ago
James Cammarata 4d1757ce64 Temporarily disable template caching 10 years ago
Toshio Kuratomi 995db275f8 Update submodule refs 10 years ago
Toshio Kuratomi db5d3f03a9 Fix first_found not finding files in roles (only templates) 10 years ago
James Cammarata ccbcfcddfc Move where we add environment and make it conditional on not existing
Also displays a warning now, because users should not be using that variable
name as it causes a collision with the internal variable of the same name.
10 years ago
Brian Coca 37ae243587 made get_file_lines rely on get_file_content which deals with many error
conditions that the former did not.
10 years ago
ghislainbourgeois eb850d7e5b Fix get_dns_facts on inexistent resolv.conf 10 years ago
James Cammarata e36b4e2a13 Merge pull request #13072 from Yannig/devel_cache_optimization
Cache optimization
10 years ago
James Cammarata 76ae577519 Ensure environment is inherited properly (task->block/include->play) 10 years ago
James Cammarata 937584cd52 Ensure 'environment' is set in the magic variables
Fixes #13033
10 years ago
James Cammarata 7e04947599 Be more selective about what variables we cache during templating
Fixes #13087
10 years ago
Toshio Kuratomi 1a04f354f3 For with_first_found loops, set undefined variables to fall through rather than failing the task 10 years ago
Brian Coca 240acb1924 Merge pull request #13092 from privateip/nxapi
initial shared module support for nxapi
10 years ago
Peter Sprygada f88273eb87 changes the nxapi argument spec to require url_password 10 years ago
Peter Sprygada d3d36eb766 fixes conditional statement for py24 compatibility 10 years ago
Peter Sprygada 64e139adb1 add initial support for Cisco NXAPI
This commit adds the shared module support for Cisco NXAPI.  The shared
module builds on top of the urls shared module.  The urls module provides
the http/s transport.  This module only supports the JSON request message
format.
10 years ago
Rene Moser 1d59caed07 cloudstack: change order of tags handling, fixes update of tag value does not work 10 years ago
Rene Moser 3410a855b0 cloudstack: use jop polling in tag handling, fixes outdated tags returned.
In some cases the async job did not finish fast enough, causing returning an unexpeded result.
10 years ago
Joern Heissler 647b92a79b Use ansible_host in synchronize module
Fixes #13073
10 years ago
Yannig Perré 12a6fb9633 Small speed improvement with huge inventory (100+ hosts). 10 years ago
James Cammarata dd4ca66e1e Make sure hostvars cache is recreated during serialization 10 years ago
James Cammarata 5040abaaf2 Merge branch 'devel_cache_for_do_template_call' of https://github.com/Yannig/ansible into Yannig-devel_cache_for_do_template_call 10 years ago
Brian Coca 9a25e16140 set corrected force default 10 years ago
Toshio Kuratomi 47f187b221 Update submodule refs 10 years ago
James Cammarata 59b67a2f68 Reset workers list when recreating processes
Also renames some things to be more accurate
10 years ago
Brian Coca 5b84bd6b5d Merge pull request #13056 from alxgu/sles_sap_family
Add SLES_SAP as a Suse family
10 years ago
Brian Coca 226c7f4c7b Revert "added setting of ansible_ssh_user to current user as backwards compatibilty issue"
scope was wrong, this var should not be 'reset' here.

This reverts commit c271c0eb04.
10 years ago
Brian Coca 9c24f88eca updated forks comment 10 years ago
Rene Moser 768f2fe6d4 template: fix regression bug in template in case force=false
Fixes regression bug, previously reported in #12844 fixed with
4b20884719 re-introduced with
c64ac90560
10 years ago
Alexander Gubin 215fc12234 Add SLES_SAP as a Suse family 10 years ago
Brian Coca 5c7d717f31 made ansibledoc more consistent with term sizes, it now uses display class column calculations
cleared up snippet display
10 years ago
James Cammarata 1027abd596 Cleaning up bugs related to perf improvement changes 10 years ago
James Cammarata f10022dbd2 Fix use of add_tqm_variables 10 years ago
James Cammarata efbc6054a4 Add variable compression option 10 years ago
James Cammarata 63c47fb271 Fixing up performance 10 years ago
Brian Coca c64ac90560 fixed check mode change response in template
fixes #13049
10 years ago
Brian Coca 483c25a609 Revert "switched host patterns to use sets, simplified logic which now uses buitins"
need this to be lists, for order and other considerations
This reverts commit 8e2f0b3f2c.
10 years ago
Brian Coca 88ba46aee0 Revert "fixed append to add"
good change on top of bad
This reverts commit 699f344e17.
10 years ago
Brian Coca 699f344e17 fixed append to add 10 years ago
Brian Coca 8e2f0b3f2c switched host patterns to use sets, simplified logic which now uses buitins 10 years ago
Brian Coca 883f451158 fixed snippet display, short_desc is a string, not a list 10 years ago
Brian Coca 95604573ee improved the message when there is no module path override 10 years ago
Brian Coca f4912dd88a added callback fallback to v1 methods for backwards compat with existing callbacks 10 years ago
Brian Coca e2c56efca6 Merge pull request #12867 from bcoca/callback_whitelist_tweak
make callbacks declare needing whitelisting
10 years ago
Toshio Kuratomi 4f6d4c6bf6 Set task_action when the action does not need to be templated
Fixes #13042
10 years ago
Brian Coca 9753de35a7 Merge pull request #13038 from bcoca/min_forks_to_play
use minimal number of forks
10 years ago
Toshio Kuratomi 586cbb9fda Update core submodule ref 10 years ago
Toshio Kuratomi 483491ddfb template the task_action before checking whether to optimize with_item loops for it.
Fixes the second problem discovered in #12976
10 years ago
Toshio Kuratomi 9e758d3d97 Do not optimize with_items loop if the items are not strings
The code isn't sophisticated enough to understand lists and dicts yet.
This mirrors how 1.9.x handled non-string items so its not a regression.

One portion of a fix for #12976
10 years ago
Brian Coca 931eb16e55 clearer selection of min value
cleanup workers at each run to avoid stragglers
10 years ago
Yannig Perre ccbdd6229a Use static vars when computing host vars known to be static (inventory_hostname, inventory_dir etc.). 10 years ago
Yannig Perre e0aa3ff232 Cache against hosts pattern (fix a part of problem describe in https://github.com/ansible/ansible/issues/13023). 10 years ago
Brian Coca b44f1428d0 use minimal number of forks taking serial, forks and play patterns into account 10 years ago
Brian Coca 3c35655b52 removed serial as it is not avialable for fork control
fixes #13037
10 years ago
Brian Coca 0abeff4511 better limiting of forks to lowest actual restriction 10 years ago
nitzmahone 113c4350e3 Force SSL transport for pywinrm updates, get host+group vars
I PR'd a change to pywinrm to allow server certs to be ignored; but it's only on the SSL transport (which we were previously ignoring). For this to work more generally, we're also now pulling the named ansible_winrm_* args from the merged set of host/group vars, not just host_vars.
10 years ago
Lars Larsson 3289670a04 treat forks config parameter as max value instead of always creating that number of workers 10 years ago
Will Thames 91b6004149 Allow blank lines and comments/spaces in galaxy spec files
Fixes #10641 again. (Regression)
Added test to discourage future such regression.
10 years ago
Toshio Kuratomi 07d0d2720c Update submodule refs 10 years ago
Toshio Kuratomi 9ce3adbeb1 remove assigned but unused variables in module_utils.
These were mostly saving exceptions but not using them.  Getting rid of
those will help with eventually running modules via either python2.4 or
python3.x.
10 years ago
Toshio Kuratomi c08648999d Remove some more unused stdlib deps. 10 years ago
Toshio Kuratomi 658ea053ea Cleanup timer callback plugin's overwriting of modules it imported 10 years ago
Eric Johnson dfad7c64fb Allow PATCH to list of valid HTTP methods 10 years ago
Brian Coca 8d3da20302 fixed bsd service_mgr_facts using removed check_init fucntion 10 years ago
Yannig Perré 30f827d92d Fix python3 test. 10 years ago
Abhijit Menon-Sen 7caefa5cd9 Fix typo 10 years ago
Toshio Kuratomi a7d1a39b81 Update core submodule ref 10 years ago
Toshio Kuratomi 2df0022a3e Update submodule refs 10 years ago
Brian Coca eb04650ffb Merge pull request #12162 from bcoca/service_mgr_facts
fact gathering service_mgr info
10 years ago
Brian Coca a1a5dadef6 remove uneeded module 10 years ago
Yannig Perré 130139dc80 Fix unicode issue introduced by previous commit. 10 years ago
Toshio Kuratomi 3219744d32 One more stdlib import in module_utils 10 years ago
Brian Coca d194e2c788 check_systemd is not inline but a private fact function now 10 years ago
Brian Coca e9efd008ed moved distutils import to mac, darn solaris would complain in certain cases 10 years ago
Brian Coca 99d775a0c1 fact gathering service_mgr info
also added dragonfly facts support
10 years ago
Yannig Perré 4a8d1703d4 New patch against hostvars.py. With this patch, Ansible run lose 50% of time.
Little rewrite of previous patch to use sha1 signature.
Use fail_on_undefined to compute sha1 signature.
10 years ago
Toshio Kuratomi 1bc75374dc Add imports for stdlib modules that are used.
This is cleanup that will aid us when we get ziploader implemented for 2.1
10 years ago
Toshio Kuratomi 107d025d8a Update extras submodule ref for doc fixes 10 years ago
Toshio Kuratomi 99561e88d4 Update submodule refs 10 years ago
Brian Coca 79bf66336b switched clean_data from hardcoded delimiters to actual currently set jinja2 environment delimiters 10 years ago
Yannig Perré 805f768dab Clear cache when updating template variables. 10 years ago
Brian Coca 467c29e3db show task path on 2 vs 10 years ago
Yannig Perré 87a9485b2f Cache for _do_template call. May result in nice speed improvement (4-5 times faster). 10 years ago
Rene Moser c09a34bb10 cloudstack: clean up unneeded ";" 10 years ago
Brian Coca f528ad1848 added xbps pkg mgr to facts 10 years ago
Brian Coca 13bf62d0e6 remove deprecation for :, add ; functionality (its deprecated but it should work) 10 years ago
Brian Coca d341ba14a5 fixed rekey password handling 10 years ago
Brian Coca 00bc74404a vault noe preserves permissions on edit and rekey and sets a restricitve default umask for all other cases 10 years ago
Brian Coca 7368030651 removed action plugin as service facts and separate modules don't work yet and this forces gathering facts 10 years ago
Brian Coca f5b095f6c8 properly sanitize registered vars 10 years ago
Brian Coca b6c92dacb5 removed key striping as they are read up the chain 10 years ago
Brian Coca 57d3245d0d remove commented out prints 10 years ago
Brian Coca 7ba4f5ee12 removed no_log redundant code 10 years ago
Brian Coca b97887ba41 simplified invocation removal, added no_log awareness 10 years ago
James Cammarata c61499168e Merge pull request #12962 from bcoca/pull_fixes
fixes options for ansible pull
10 years ago
James Cammarata 56e5e72aaa Make handlers obey run_once (or BYPASS_HOST_LOOP)
Fixes #12972
10 years ago
James Cammarata a5bd92ca4b Merge branch 'devel_fix_debug_var' of https://github.com/Yannig/ansible into Yannig-devel_fix_debug_var 10 years ago
Brian Coca 237f8c9df7 removed debug print 10 years ago
James Cammarata 479cbfc63c Don't immediately fail on PlayContext setup
As we may end up skipping the task due to conditionals.

Fixes #12774
10 years ago
Brian Coca 9f148fc046 removed requirement of destination and set documented default 10 years ago
Brian Coca 40d22be2ef fixes options for ansible pull
* remove requirement for host patterns, use the defaults
 * require destination directory (None in cwd is not a good default)
 * fixed usage messages
 * updated default inventory to use , and not deprecated :
10 years ago
Brian Coca b73941b95f updated submodule refs 10 years ago
Toshio Kuratomi 508bffef02 Update extras submodule ref 10 years ago
Brian Coca b8bc15fe02 switched to backticks to allow for non bourne shells to work 10 years ago
Yannig Perré 1febf7cb88 Fix for issue #12952: this code interfere with debug+var and seems to be unnecessary. 10 years ago
James Cammarata 5d92b00d9c Cleanup some include logic
* Properly mark hosts with failures in includes as failed
* Don't send callbacks until we're sure we're done, and also fix how
  we increment stats so failures don't show up as ok's
* Fix a bug in the include file logic where a failed include could lead
  to an infinite loop in the task iteration logic

Fixes #12933
10 years ago
Toshio Kuratomi 56b310b18d Update submodule refs 10 years ago
James Cammarata 299054852a Allow tags to be specified in included file params
Fixes #12940
10 years ago
Brian Coca b2fc5142eb moved sudo -S and -n into configurable flags as they might be absent in much older systems
if password is supplied exsiting -n would get remove from flags
10 years ago
Toshio Kuratomi e3e2db1119 Improve the warning message about duplicate yaml dict keys 10 years ago
James Cammarata 87269599a0 Also consider the full role name when searching for --start-at-task 10 years ago
Toshio Kuratomi acbea65b1d Update core submodule ref to fix doc build 10 years ago
Toshio Kuratomi 2c5da0923a Update submodule refs 10 years ago
Toshio Kuratomi 7334389de6 Merge pull request #12930 from ansible/dict-key-overwrite-warning
Break apart a looped dependency to show a warning when parsing playbooks
10 years ago
Toshio Kuratomi 4203850d1a Break apart a looped dependency to show a warning when parsing playbooks
Display a warning when a dict key is overwritten by pyyaml
Fixes #12888
10 years ago
James Cammarata 3fc2209ca0 Fixing retry/until logic and default value for retries
Fixes #12928
Fixes #12929
10 years ago
James Cammarata 57fe0d6aed Merge pull request #12911 from bcoca/manpage_fixes
Manpage fixes
10 years ago
James Cammarata 1dc23ea779 Merge pull request #12866 from bcoca/more_inheritence
More inheritence
10 years ago
James Cammarata cace91df56 Allow hostvars cache to be invalidated so hostvars contain all hosts after add_host
Fixes #12925
10 years ago
James Cammarata 2825c188bd Merge pull request #12901 from bcoca/sanitize_results
sanatize results
10 years ago
Jason O'Donnell 9dfa3719be Fixing typo 10 years ago
Jason O'Donnell ac9b35cc2b Found another typo 10 years ago
Jason O'Donnell 80433c2a2d Fxing typo 10 years ago
Toshio Kuratomi de54f26376 Update submodule refs 10 years ago
Brian Coca c271c0eb04 added setting of ansible_ssh_user to current user as backwards compatibilty issue 10 years ago
Brian Coca 4486e136ea Merge pull request #12899 from bcoca/vault_fixes
simplified vault password functions
10 years ago
Brian Coca 5b33b0ddfd Merge pull request #12896 from bcoca/ssh_current_user_config
don't set user to current user
10 years ago
James Cammarata 677a2f95e5 Make sure Base attributes are copied cleanly
Fixes #12882
10 years ago
Toshio Kuratomi 8f77dd1cf2 Update submodule refs 10 years ago
Brian Coca f3a0adcfa5 added info about using -i 'hostname,' to usage/help 10 years ago
Bernhard Lichtinger 00ccd2ee6e Fix for SLES 11.4, which has now also an /etc/os-release file. 10 years ago
Brian Coca 7ebfe72015 added missing string_types 10 years ago
Brian Coca 8ce864db6f sanatize results 10 years ago
Brian Coca 368f4448dc simplified vault password functions
also fixes #12864
10 years ago
Toshio Kuratomi 92dd563a75 Fix invocation from bad merge and note where it would need to go to keep
it out of registered vars as well.
10 years ago
Brian Coca f78c82b9ee don't set user to current user
also remove condition to bypass setting user if user matches current user
this enables forcing user when set to the same user as current user and ignoring .ssh/config
while keeping .ssh/config with current user if nothing is specified.
10 years ago
Brian Coca 25e3fe04a8 finalized changed to use abridtged_result instead of result
removed no longer defined no_log
10 years ago
Toshio Kuratomi b109b83809 Update submodule refs 10 years ago
Toshio Kuratomi ca32d5bacc Potential fix for #12816 10 years ago
James Cammarata 3eea4e23d5 Manually add plugin directories when running the adhoc command
Fixes #12891
10 years ago
Toshio Kuratomi 3812ec8d1d Implement invocation hiding for all callbacks if the verbosity is low 10 years ago
Brian Coca 275764d4a5 avoid showing invokation when no_log is set or verbosity is low 10 years ago
James Cammarata 63ea614b4c Version bump for 2.0.0-0.4.beta2 10 years ago
Toshio Kuratomi 99c6f77e59 Fix callback 10 years ago
Jens Peter Schroer ecae636160 allowing json in lookup template calls 10 years ago
James Cammarata 4fd4f3374a Merge pull request #12879 from larsks/bug/12876
allow include: directive to work during exception processing
10 years ago
Lars Kellogg-Stedman 914f68f9af allow include: directive to work during exception processing
prior to this commit, an attempt to use the `include:` directive would
fail in a `rescue:` or `always:` block if there were failures in the
main block task list.

Resolves #12876.
10 years ago
Toshio Kuratomi ce2b18174e Merge pull request #12878 from ansible/invocation-fix
Invocation fix
10 years ago
Toshio Kuratomi 2e87c1f74e Two fixes to action plugins
* Fix the task_vars parameter to not default to a mutable type (dict)
* Implement invocation in the base class's run() method have each action
  module call the run() method's implemention in the base class.
* Return values from the action plugins' run() method takes the return
  value from the base class run() method into account so that invocation
  makes its way to the output.

Fixes #12869
10 years ago
Brian Coca 5017a96948 Revert "make callbacks declare needing whitelisting"
another premature merge
This reverts commit df8ff85787.
10 years ago
James Cammarata 86de1429e5 Cleaning up FIXMEs 10 years ago
Toshio Kuratomi 1e50d31cdc Update submodule refs 10 years ago
Brian Coca df8ff85787 make callbacks declare needing whitelisting
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
10 years ago
Toshio Kuratomi 75cff7129c Fix for invocation not being added to output.
We want invocation to be omitted when we are running async, not when we
aren't running async.
10 years ago
Toshio Kuratomi 6b6d03290a Restore the automatic addition of invocation to the output
Revert "Remove auto-added invocation return value as it is not used by v2 and could leak sensitive data."

This reverts commit 6ce6b20268.

Remove the note that invocation was removed as we've now restored it.

Revert "keyword not in ubuntu 14.04"

This reverts commit 5c01622457.

Revert "remove invocation keyword check"

This reverts commit 5177cb3f74.
10 years ago
James Cammarata 498c27d09a Re-adding role_names magic variable
Fixes #12863
10 years ago
Brian Coca c267c23020 make callbacks declare needing whitelisting
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
10 years ago
Brian Coca 54e821ca94 added deprecation warning to comma separated role spec 10 years ago
Brian Coca 09899b7c43 Merge pull request #12783 from larsks/bug/12782
correct value of remote_user for local connections
10 years ago
Brian Coca 9886829e40 Merge pull request #12861 from willthames/galaxy_spec_in_meta_main_fix
Allow meta/main.yml to include roles through spec file
10 years ago
Brian Coca d861e7dd5d moved several directives so they are not settable at play, block, role and task levels 10 years ago
Brian Coca fc3a44485b skip errors on conditional if task is include
fixes #12843
10 years ago
Will Thames 002972c6cf Allow meta/main.yml to include roles through spec file
ansible-playbook now works when run with a playbook
that includes a role that includes another role
specified using csv format

Updated one of the roles used in the tests to fix
broken tests - `make test_galaxy` now works

Fixes #11486. Also addresses the problem alluded to in #10620.
10 years ago
Brian Coca 08c9e70307 made display part of variable manager and corrected reference to it
fixes #12859
10 years ago
James Cammarata 2b3c5aa41e Support cmd param in Tasks by assigning it to _raw_params
Fixes #12856
10 years ago
James Cammarata 0e447e3f41 Merge branch 'devel' of https://github.com/mathieumd/ansible into mathieumd-devel 10 years ago
James Cammarata 4b20884719 Return correct changed flag when using check mode with template and force=no
Fixes #12844
10 years ago
Brian Coca 04aa7701d1 fix prompt, static methods don't get 'self'
fixes #12833
10 years ago
Toshio Kuratomi 42ce3de8d0 Merge pull request #12853 from ansible/winrm-return-bytes
In v2, exec_command should return bytes and the caller will take responsibility for converting to unicode
10 years ago
Toshio Kuratomi 3d57a202b5 And another fix for docs 10 years ago
Toshio Kuratomi 9dc9a606f6 Correct docs build 10 years ago
Toshio Kuratomi 632d356d22 Update submodule refs 10 years ago
Toshio Kuratomi 6e5055e786 Update the use of no_log values to cover everything that heuristic_log_sanitize does.
Fixes #12792
10 years ago
James Cammarata ec56b29ba4 Fix setting of interpreter values for delegated hosts
Fixes #12772
10 years ago
Toshio Kuratomi c845181dc1 In v2, exec_command should return bytes and the caller will take responsibility for converting to unicode 10 years ago
gduke 744679601f Remove mutable default arguments. 10 years ago
Toshio Kuratomi 10e2fc6f60 Update submodule ref 10 years ago
Toshio Kuratomi 1126ce34e3 Merge pull request #12846 from ansible/nolog-for-return-value
Hide values in json returns which were given in parameters marked no_log.
10 years ago
Toshio Kuratomi c2d188baff Hide values in json returns which were given in parameters marked no_log. 10 years ago
James Cammarata 3ddda2f460 Merge pull request #12842 from mcsalgado/include_with_items
Revert back to copying self._task.args
10 years ago
Brian Coca 1ecad5aed2 now galaxy correctly detects empty requirements file
also allow for 'scm' and 'src' not to be populated in requirements entries
10 years ago
Victor Salgado c5c5f3bf7a Revert back to copying self._task.args 10 years ago
Victor Salgado 0e671baa33 Fix typo 10 years ago
James Cammarata b46ce47a84 Don't use local transport for delegated hosts if the inventory_hostname isn't local
For some situations like Vagrant, the remote_addr may be a localhost addr, but ssh
is still desired. This corrects the assumption that any localhost remote_addr should
be using the local connection by checking the inventory_hostname value as well.

Fixes #12817
10 years ago
Toshio Kuratomi 99e7bb35c1 Simplify UnsafeProxy as we don't need to use it for byte strings, only text 10 years ago
James Cammarata 3c87c44af5 Fixing bug in includes caused by 892d9b8
Fixes #12837
10 years ago
Toshio Kuratomi 31ebafcbdd Update submodule refs 10 years ago
Toshio Kuratomi f34b55ac2b Add python3-compat boilerplate to all .py files in lib/ansible 10 years ago
Brian Coca de3ca57a33 avoid relative shlex import
fixes #12777
10 years ago
James Cammarata e5b6d802bf Removing some cruft related to _local_action value on Task, which was removed
Fixes #12819
10 years ago
Mathieu 260a3e5ce7 Fixes #11055 - Set locale via LC_ALL 10 years ago
Toshio Kuratomi 923fc9fb15 Cleanup pyflakes warning (real error) 10 years ago
Toshio Kuratomi 7aa9f6754a Cleanup more pyflakes warnings (2 real problems) 10 years ago
James Cammarata 1fa975d81a Simplify group_by by removing BYPASS_HOST_LOOP from the action
Fixes #12825
10 years ago
Toshio Kuratomi 0888d78b84 Cleanup some pyflakes warning (1 real error) 10 years ago
Toshio Kuratomi c6d44738ad Clean up some more pyflakes warnings 10 years ago
Toshio Kuratomi 3da8bab3ff Cleanup pyflakes warning (real error) 10 years ago
Toshio Kuratomi a526eae543 Clean up a few more pyflakes warnings 10 years ago
Toshio Kuratomi a17ae6f07e Clean up pyflakes warnings in inventory 10 years ago
James Cammarata 892d9b8dfb Move post_validate for tasks after checking for an include
Simplifies logic and prevents us from accidentally post_validating
an include that would otherwise be skipped due to tags causing a
problem because of potentially missing variables.

Fixes #12793
10 years ago
James Cammarata 1cfd941179 Adding a v2 callback for task includes 10 years ago
Toshio Kuratomi dc33d30c6d Update submodule refs 10 years ago
Toshio Kuratomi b67e51ea06 Information on when to use to_str() and what a native string is 10 years ago
Toshio Kuratomi 39d9bc3564 Update submodule refs 10 years ago
Toshio Kuratomi 6ce6b20268 Remove auto-added invocation return value as it is not used by v2 and could leak sensitive data. 10 years ago
Brian Coca 1280e2296c changed warning to debug and expanded info on what is really happening, it was a bit misleading 10 years ago
Brian Coca 2d1d21228a updated skippy to match default output 10 years ago
James Cammarata 0bbe9d5bd0 Make hostvars json/yaml serializable in filters
Fixes #12615
10 years ago
James Cammarata a88c59f451 Reset basedir for plays that are not from a PlaybookInclude
Fixes #12524 (again)
10 years ago
James Cammarata 0aa018337a Fixing logic in json cache plugin get()
Fixes #12722
10 years ago
James Cammarata 5f617c601b Remove obsolute tag evaluation in free strategy
Fixes #12784
10 years ago
Brian Coca 6c8cf8acb7 now profile_tasks callback handles handlers correctly
fixes #12762
10 years ago
James Cammarata 1ab0e0e228 Disable RuntimeWarnings during all() plugin loading
Fixes #12778
10 years ago
Brian Coca 71ffb86c30 don't let cowsay issues stop execution
fixes #12773
10 years ago
Brian Coca 6d87bd405d Merge pull request #12765 from bcoca/lookup_inventory_hostname
implemented inventory_hostname lookup in v2
10 years ago
Toshio Kuratomi a567f28657 Update submodules for docs fixes# Please enter the commit message for your changes. Lines starting 10 years ago
Toshio Kuratomi 5d8ab9b01b Update module refs 10 years ago
Toshio Kuratomi b23a083776 Make vault use a mapping of cipher name to classes instead of formatting the name for safety. 10 years ago
Toshio Kuratomi baa309309d Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version. 10 years ago
Lars Kellogg-Stedman aa0b7536c9 correct value of remote_user for local connections
When using 'local' connections, privilege escalation would fail if
ansible_ssh_user was in the current context to the same value as
become_user.

This commit ensures that for 'local' connections we reset remote_user to
the local username.

This fixes #12782.
10 years ago
Toshio Kuratomi 28c933ce5e properly fail_json when we don't have ssl on a non-redhat distro 10 years ago
Marius Gedminas 98958ec990 Simplify join expression 10 years ago
Marius Gedminas 56184a3d8c Python 3: avoid %-formatting of byte strings
This is needed for Python 3.4 compatibility; Python 3.5 can use
`b'%s\n' bytestring` again.
10 years ago
Brian Coca 9b088a1e40 implemented inventory_hostname lookup in v2 10 years ago
Brian Coca aee6de5a76 group_names should not include implied 'all', fixes #12763 10 years ago
James Cammarata dce58a78c9 Make random cowsay truly random
Also adds a cowsay whitelist config option, because there are some
truly NSFW stencils that come with cowsay by default.
10 years ago
Marius Gedminas 4fb6f62f1b Fix Unexpected Exception: global name 'os' is not defined
I inadvertently introduced it in
ca826508d9 and didn't notice, because
there are no unit tests for playbook_executor.py.  Sorry!

(The "from ansible.errors import *" was used *only* to get the 'os'
module, which makes go "what?")
10 years ago
Marius Gedminas ab569cea22 Move to_str alias into ansible.utils.unicode
@abadger suggested on IRC that it's useful enough to go into
ansible.utils.unicode.
10 years ago
Marius Gedminas ca826508d9 Python 3: fix AnsibleError formatting
If you convert the error string to bytes and embed it inside another
error string, you get

  Prefix:

  b'Embedded\nerror\nstring'

which is not what we want.

But we also don't want Unicode in error messages causing unexpected
UnicodeEncodeErrors when on Python 2.

So let's convert the error message into the native string type (bytes on
Python 2, unicode on Python 3).
10 years ago
Toshio Kuratomi 5617f6aad4 Update synchronize to use the correct host when delegating
Fixes #12752
10 years ago
Toshio Kuratomi 85abd61001 Add some more info to docstring 10 years ago
James Cammarata d923d05a33 Reworking the way all() works in plugin_loader
* Don't throw away the full path of the module code being loaded,
  as this can cause conflicts when files of the same name are being
  instantiated
* Generalize the module loading code

Fixes #12738
10 years ago
James Cammarata 45b803efb4 Properly use test_loader from SharedPluginLoaderObj 10 years ago
Toshio Kuratomi c8ad55103e Update extras modules ref to fix docs 10 years ago
Toshio Kuratomi e00eeba9c3 Update submodule refs 10 years ago
James Cammarata 91b0b4d40c Check is_directory() before not is_file() in inventory basedir
Fixes #12742
10 years ago
Brian Coca c57200925f made syslog import optional as intel's edison custom compiles python w/o it 10 years ago
James Cammarata ee559e03f7 Merge pull request #12725 from mgedmin/py3k
Python 3: there's no basestring
10 years ago
James Cammarata e6d3c6745f Revert to using local file/dir tests in inventory instead of loader's
Fixes #12719
10 years ago
Brian Coca c637d60a8d fixed deprecation message 10 years ago
Brian Coca f5227d494b added missing cachefile and changed str(e) to to_bytes(e) 10 years ago
Marius Gedminas 9ba6c087d3 Python 3: there's no basestring 10 years ago
Marius Gedminas f03da5be42 Python 3: there's no iteritems() 10 years ago
James Cammarata 2d77c643e4 Merge pull request #12723 from mgedmin/py3k
Make ansible.vars.unsafe_proxy Python 3 friendly
10 years ago
Marius Gedminas e511d6d458 Make UnsafeProxy work on Python 3
Instead of str and unicode we have to deal with bytes and str.
10 years ago
Marius Gedminas af6a316d9b Remove unused import
Fixes ImportError: No module named '__builtin__' on Python 3.
10 years ago
James Cammarata 426187489f Add variable for format parameter 10 years ago
Toshio Kuratomi 8277747a04 Fix password lookup when password file exists and the password is not encrypted 10 years ago
James Cammarata cd2cb178ae Totally rework the way UnsafeProxy does things 10 years ago
Toshio Kuratomi 15d7f53846 AnsibleModules.log() fix for python3
Also add unittests for AnsibleModules.log()

Fixes #12586
10 years ago
Toshio Kuratomi b49e0995cb Fix typo 10 years ago
Toshio Kuratomi b58d7470d4 Cleanup logic and be more paranoid about passwords with spaces 10 years ago
James Cammarata 5c5806d669 Fixing bugs related to jfonfile cache plugin
* corrupt/invalid file causes tracebacks
* incorrect initialization of display/_display in BaseCacheModule class
* tweaking the way errors in get() on jsonfile caches work, to raise
  a proper AnsibleError in that situation so the playbook/task is stopped

Fixes #12708
10 years ago
Toshio Kuratomi b441bcb678 Fix display when run through a testing framework that overrides stderr/stdout 10 years ago
James Cammarata d15fcf05f0 Fix bug in the way temp vars were created for templating vars_files
Fixes #12711
10 years ago
Brian Coca f5f3bf06e4 Merge pull request #12550 from redrampage/remove-pw-salt-deletion
Removed deletion of salt by 'password' lookup
10 years ago
James Cammarata 73661d1761 Merge branch 'devel' of https://github.com/ansible/ansible into devel 10 years ago
Charles Paul 3d533cb423 fixing calls to fail_json 10 years ago
Brian Coca 50372eecc9 Merge pull request #12455 from privateip/devel
added methods for retrieving vapp and vm
10 years ago
James Cammarata 82e76e42e5 Tweak to the way serial percentages are handled 10 years ago
James Cammarata 63e288354e Fix bug in way omitted values were set 10 years ago
James Cammarata 4c85ae0712 Merge branch 'serial_should_be_string' of https://github.com/klshxsh/ansible into klshxsh-serial_should_be_string 10 years ago
klshxsh ac00c9ced7 changed 'string' to 'percent' for _serial
Note that this allows both integers (e.g. 3) and percentages (e.g. "30%")
Also changed default back to 0 rather than '0'
10 years ago
James Cammarata eb60ce1b6e Merge pull request #12703 from keitwb/inventory_file_var
Adding the inventory_file var back
10 years ago
James Cammarata 71a1a3c903 Submodule pointer update 10 years ago
Ben Keith 1f82971283 Adding the inventory_file var back 10 years ago
Toshio Kuratomi 45a161b0a1 Merge pull request #12429 from edmstudio/devel
Update synchronize module plugin to work on OS X
10 years ago
Petr Mifek 6e035a3e94 Move nested function test for ipv6 to top level in synchronize module. 10 years ago
Brian Coca 45788fbfad <homer>doh!</homer> 10 years ago
Brian Coca d24532757c remove fix for local_action/connection local that is now not needed 10 years ago
klshxsh 4a5e52b2d2 The serial keyword can be specified as a percentage, e.g '30%' or a number e.g. '3'; therefore it needs to be a string to allow both types 10 years ago
Brian Coca b9d54e9a01 corrects previous fix to deal with missing item key in results dict 10 years ago
Brian Coca abf2e13955 Revert "Track local_action internally to prevent it from being overridden"
This reverts commit 49ca0eb797.
10 years ago
Brian Coca 101c8785ec removed changes to make local action equate connection=local and brought it back to equate delegate_to=localhost 10 years ago
Brian Coca bcb173996b Merge pull request #12695 from matburt/fix_cache_plugins_for_v2
Fix an issue where cache plugins weren't updated in certain scenarios
10 years ago
Brian Coca fbf4cafab5 on skipped you 'might' not have an item, changed to getattr to avoid keyerror
fixes #12683
10 years ago
Matthew Jones 7da478a4f4 Fix an issue where cache plugins weren't updated
The first call to persisting facts would work due to the assignment of a
MutableMapping calling __setitem__ but subsequent module fact data would
not be propogated to the fact cache plugins because update() doesn't
invoke __setitem__.  This changes the behavior a little bit and ensures
set() is called on cache plugins.
10 years ago
Brian Coca ec02b255c3 Merge pull request #12689 from soarpenguin/bugfix
Remove some warning of undefined name and fix classmethod syntax error.
10 years ago
James Cammarata 770032648a Show -> localhost for local_action tasks 10 years ago
James Cammarata f415d39dfd Merge pull request #12690 from stelligent/devel
Use AWS_DEFAULT_REGION env var if none specified
10 years ago
James Cammarata cfa62e7a2a Submodule pointer update 10 years ago
James Cammarata 868819f9fa Make sure shlex split is returning properly encoded strings
Fixes #12676
10 years ago
Shayne Clausson 55b3f9e4e5 Use AWS_DEFAULT_REGION env var if none specified 10 years ago
soarpenguin b11ea17385 fix classmethod syntax error. 10 years ago
soarpenguin 5efa4d29e3 fix some warning of undefined name. 10 years ago
James Cammarata 59d655c543 Double echo temp directory name to handle spaces and ~ expansion both
Fixes #12667
10 years ago
Toshio Kuratomi d1b98ec776 Correct typo 10 years ago
Toshio Kuratomi 2f5e817007 Do not mix byte str with unicode type 10 years ago
Toshio Kuratomi 01ba2e94c0 Wait until later to convert to byte strings for output
Also some pre-emptive python3 compat and a code simplification
10 years ago
Brian Coca 76feba00c4 avoid callbacks during syntax check and listing
fixes #12682
10 years ago
Brian Coca 4463ced8ba simpler safe output 10 years ago
James Cammarata de792ba3c2 Improve handling of unicode errors
Fixes #12669
10 years ago
James Cammarata 5a0f5f1254 Load vars for localhost when created implicitly
Fixes #12666
10 years ago
Brian Coca d8769c93c7 updated ec2 region description to add missing other env var 10 years ago
Brian Coca c77733e64e added docs for commonly used region parameter in some ec2 modules 10 years ago
Brian Coca 638bc14566 now deps is always a list 10 years ago
George Sudarkoff fa332e1342 Fail if the vault password script returns non-zero. 10 years ago
Brian Coca dac3684fd1 changed task color to dark gray to keep it from being confused with ignore/skip 10 years ago
Brian Coca c459dd4e18 Merge pull request #12663 from Juraci/task-path
Displays the absolute path of a given task when verbosity is above level 3
10 years ago
James Cammarata dbae110f6f Merge pull request #12660 from apollo13/fix_galaxy_init
Show a nice error if the role name is missing.
10 years ago
Juraci e52950a939 Displaying task_path on task start when verbosity is more than 3 10 years ago
Juraci 254d6be520 Adding get_path method to Task class 10 years ago
Florian Apolloner 354383874f Show a nice error if the role name is missing. 10 years ago
= 345ce424c6 Explictly set the version of strict mode to use for powershell modules. 10 years ago
James Cammarata 9e364c2eb5 Don't modify results in callbacks
Fixes #12654
10 years ago
James Cammarata 8107c4efc7 Fixing a bug in galaxy parsing of text spec file lines 10 years ago
James Cammarata 7a815b7296 Force connection to local when localhost is delegated to 10 years ago
Toshio Kuratomi 97e8d25eb4 Fix for encoding errors when a command returns non-utf8 encoded values 10 years ago
Toshio Kuratomi 4f6f2c21e8 range vs xrange doesn't matter here and six.moves.range isn't available in six-1.3.0 (rhel7) 10 years ago
James Cammarata 5ae74f7d38 Version bump for 2.0.0-0.3.beta1 10 years ago
James Cammarata d9b79b1bbc Also template the role name when loading roles
Fixes #12602
10 years ago
James Cammarata 9c9897805f More ansible-galaxy fixes for the old spec file format 10 years ago
James Cammarata fb822a4305 Merge pull request #12637 from rcleere/rekey_fix
Fix ansible-vault rekey
10 years ago
James Cammarata 3b8eaf6128 Cleaning up some ansible-galaxy stuff 10 years ago
Ryan Cleere 0400ab8c0f Fix ansible-vault rekey 10 years ago
James Cammarata d91b3c6b9d Make sure magic variables are available when templating vars_files
Also does some reorganization/cleanup on the magic vars/delegated
variable generation portions of VariableManager to make the above
possible.

Fixes #12633
10 years ago
James Cammarata 284bd118a0 Properly switch to the default transport when delegating from localhost 10 years ago
Brian Coca 6f88f79de9 removed dupe install code, now trap errors forom role.install 10 years ago
Brian Coca f73329401b galaxy updates
better error reporting on fetching errors
use scm if it exists over src
unified functions in requirements
simplified logic
added verbose to tests
cleanup code refs, unused options and dead code
moved get_opt to base class
fixes #11920
fixes #12612
fixes #10454
10 years ago
Brian Coca a3ed9fc131 updated to 'fixed' get_url so docs build again 10 years ago
Brian Coca f3d0468726 updated submodule refs 10 years ago
James Cammarata 323012be2e Pop tags out of playbook include params
Fixes #12605
10 years ago
Toshio Kuratomi 10a4a4e986 Quote any file paths that we have to use with dd to copy.
This is because we pass the whole dd command string into the shell
that's running on the contained environment rather than running it
directly from python via subprocess without a shell.
10 years ago
Toshio Kuratomi b83988d9fb Port libvirt_lxc connection plugin to v2 10 years ago
Toshio Kuratomi 567deb5ac2 Add explicit substitution of relative paths on the remote host just in case the connection programs do something unexpected. 10 years ago
Brian Coca 8528b20702 fixed usage text 10 years ago
Brian Coca 04a2b221b9 removed conflicting short options 10 years ago
James Cammarata 38528c8ef3 Show more info in the minimal callback for unreachable hosts
Fixes #12621
10 years ago
Toshio Kuratomi 613e87db6c FIx typo arg_path (not plural) 10 years ago
Brian Coca 4ba5ebd1c8 Merge pull request #12538 from yesbox/url_lookup_plugin_httperror_fix
Fix url lookup plugin HTTPError message not being reachable
10 years ago
Peter Sprygada ab3239ecd7 added methods for retrieving vapp and vm 10 years ago
Toshio Kuratomi 10750214ea Since Connection.execute_command() returns bytes, deal with the repurcussions here. 10 years ago
Brian Coca e2ae3215f6 corrected no_log for items and skipped tasks
corrected output from default callback
added new tests for no_log loops
updated makefile test to check for both positive and negative occurrences of no_log
10 years ago
James Cammarata c28758d2a8 Merge branch 'ssh-args' of https://github.com/amenonsen/ansible into amenonsen-ssh-args 10 years ago
James Cammarata 82faba619e Also add args_path param to powershell shell plugin 10 years ago
James Cammarata 30d481ac57 Fix old-style (non-python) module support 10 years ago
Toshio Kuratomi e40e08d799 Update core sumodule ref to fix docs 10 years ago
Abhijit Menon-Sen b127221f50 Pass default None to getattr, remove repeated call 10 years ago
Abhijit Menon-Sen 96c4dc273a Set explicit default for ANSIBLE_SSH_ARGS
The earlier code behaved exactly as though this default had been set,
but it was actually handled as a(n unnecessary) special case inside the
connection plugin, rather than set as an explicit default.

If the default is overriden either in ansible.cfg or the environment,
the new code will continue to work (in fact, it won't know or care,
since it just uses the value set in the PlayContext).

This is submitted as a separate commit for easier review to address
backwards-compatibility concerns.
10 years ago
Abhijit Menon-Sen 1981bf2b95 Aggregate ssh arguments in PlayContext instead of the connection plugin
Using set_host_overrides() in the connection plugin to access the ssh
argument variables from the inventory didn't see group_vars/host_vars
settings, as noted earlier. Instead, we can set the correct values in
the PlayContext, which has access to all command-line options, task
settings, and variables.

The only downside of doing so is that the source of the settings is no
longer available in ssh.py, and therefore can't be logged. But the code
is simpler, and it actually works.

This change was suggested by @jimi-c in response to the FIXME in the
earlier commit.
10 years ago
Abhijit Menon-Sen 3ad9b4cba6 Rework additional ssh argument handling
Now we have the following ways to set additional arguments:

1. [ssh_connection]ssh_args in ansible.cfg: global setting, prepended to
   every command line for ssh/scp/sftp. Overrides default ControlPersist
   settings.
2. ansible_ssh_common_args inventory variable. Appended to every command
   line for ssh/scp/sftp. Used in addition to ssh_args, if set above, or
   the default settings.
3. ansible_{sftp,scp,ssh}_extra_args inventory variables. Appended to
   every command line for the relevant binary only. Used in addition to
   #1 and #2, if set above, or the default settings.
3. Using the --ssh-common-args or --{sftp,scp,ssh}-extra-args command
   line options (which are overriden by #2 and #3 above).

This preserves backwards compatibility (for ssh_args in ansible.cfg),
but also permits global settings (e.g. ProxyCommand via _common_args) or
ssh-specific options (e.g. -R via ssh_extra_args).

Fixes #12576
10 years ago
Toshio Kuratomi f13d5201b8 Update module refs 10 years ago
Brian Coca 4c9f58a152 added no_log censoring to item output
should be last commit that fixes #12214
10 years ago
Brian Coca ba4afcbbb6 added no_log to results
normalized outputs to use display class
cleaned up unused imports
10 years ago
Brian Coca c27bd4fab0 {sudo,su}_user does not imply become 10 years ago
James Cammarata 57372906aa Pull host/group vars when adding hosts/groups
Fixes #12582
10 years ago
James Cammarata aa3687d736 Fix syntax error for octal in encrypt methods 10 years ago
James Cammarata 538568305a Submodule pointer update for accelerate module fixes 10 years ago
James Cammarata 8ef78b1cf8 Fixing accelerated connection plugin 10 years ago
Brian Coca 3705d54485 fixed error reporting on splitter 10 years ago
Brian Coca de2f62bd9e fixed error reporting for unkown become user 10 years ago
Brian Coca 6d6bfbc3d2 added missing import for pwd, was being obscured by exception catching and fallback 10 years ago
Brian Coca a680ef66dd fixed vault password file script execution 10 years ago
Brian Coca 6b842d9c49 fixed incorrect data passing on certain events 10 years ago
Brian Coca 2463922306 fixed error reporting when missing redis import 10 years ago
Brian Coca 6e96188085 added missing entry for dealing with bcc 10 years ago
Brian Coca 6ec5abf1c3 fixed some pyflakes 10 years ago
Abhijit Menon-Sen 49b35ad5dd Remove mysterious old cruft
The two lines were added in 2673eb0a and modified in 60e1a1f8, but foo
is completely unused. Removing it doesn't break anything: out it goes!
10 years ago
Brian Coca fe0e4f27ad Merge pull request #12584 from amenonsen/fixups
Remove an unwanted FIXME annotation
ok, confirmed we don't want to support it
10 years ago
Brian Coca 6c190aa8a4 updated ansible-doc to ignore more stuff that has been added to the module repos 10 years ago
Brian Coca 1a56a5c442 created debug method, renamed debug attribute to _debug 10 years ago
James Cammarata deff045aa9 Fix bug caused by options not having start_at_task when used through adhoc
Fixes #12590
10 years ago
Toshio Kuratomi a0920c06e1 Pull submodule refs to fix docs builds 10 years ago
Toshio Kuratomi 4dae7eeca1 Update submodule refs 10 years ago
Toshio Kuratomi 56fa9a5098 Port to v2 API 10 years ago
Toshio Kuratomi d35c9a30fb Minor refactorings 10 years ago
Toshio Kuratomi 888bcd65a8 Create error messages instead of tracebacks. 10 years ago
Abhijit Menon-Sen 93515468c4 Remove an unwanted FIXME annotation
<crab> jimi|ansible: do you think it should be possible to add both
       foo:22 and foo:23 to the inventory?
<jimi|ansible> no

…so we don't want an invitation to FIXME.
10 years ago
Toshio Kuratomi 4cfcf5d61b Merge pull request #12568 from mgedmin/py3k
Python 3: fix most tests for ansible.module_utils.basic
10 years ago
Trond Hindenes 94cfbe7ee9 Get-AnsibleParam 10 years ago
James Cammarata dcb8caf9e8 Remember if we already skipped tasks via --start-at-task
Fixes #12482
10 years ago
chouseknecht 57adf11262 Fix metadata description for galaxy_tags. 10 years ago
chouseknecht f4690e3bfe Changing tag to galaxy_tag. 10 years ago
chouseknecht 8360a1b3f2 Replace categories with tags.
Also added --ignore-certs option for use with install and search commands. Helpful when
overriding server and server has self signed cert.
10 years ago
Abhijit Menon-Sen 0bb34fd076 Make «ansible-vault view» not write plaintext to a tempfile
CLI already provides a pager() method that feeds $PAGER on stdin, so we
just feed that the plaintext from the vault file. We can also eliminate
the redundant and now-unused shell_pager_command method in VaultEditor.
10 years ago
Brian Coca bf06e36382 updated async to pass along no_log setting 10 years ago
Marius Gedminas cc1e1648f5 Tweak comment style 10 years ago
Marius Gedminas 213029a21e Python 3: don't convert unicode to unicode 10 years ago
Marius Gedminas c7be004c19 Python 3 has no dict.iteritems()
(Reminder: cannot use six here, module_utils get shipped to remote
machines that may not have six installed -- besides six doens't support
Python 2.4.)
10 years ago
Marius Gedminas 9f3e5ceb14 Make sure 'basestring', 'bytes' and 'unicode' are defined
Python 3 doesn't have 'basestring' and 'unicode'.

Python 2.4 doesn't have 'bytes'
10 years ago
Brian Coca ddafed4403 Merge pull request #12528 from bcoca/task_logging
task logging revamp
10 years ago
Brian Coca 7b64126c9d pushed up openvz detection for cases of 'stacked' virtualization 10 years ago
Linus Unnebäck 45f9800754 facts: correctly detect docker inside a xen host 10 years ago
James Cammarata 3bd71d0619 Use delegated_to field for play context remote_addr, if none other exists
Fixes #12527
10 years ago
James Cammarata 40bdf09998 Merge pull request #12561 from srvg/anotherdirpy
Inject existing groups at InventoryDir initialization
10 years ago
James Cammarata 6fcd292c5e Merge pull request #12569 from amenonsen/fixes
Bring groups handling in ini.py up-to-date (trivial fix)
10 years ago
James Cammarata dfa33d0f23 Tweak variable manager use in role includes to avoid test failures 10 years ago
Abhijit Menon-Sen 50d75f8d6d Bring groups handling in ini.py up-to-date
Since c8f2483d, ini.py expects to always be passed in a pre-created list
of groups, and can no longer deal sensibly with an empty list; this just
makes that expectation clear.
10 years ago
James Cammarata a89412ecb1 Fail all hosts if a run_once task fails
Fixes #12563
10 years ago
James Cammarata 7173f587ed Allow delegate_to on a role again
Fixes #12560
10 years ago
James Cammarata a3e913da62 Don't assume handlers exist in the same role (if any)
Fixes #12536
10 years ago
Serge van Ginderachter 7461ba9998 Inject existing groups at InventoryDir initialization
This fixes a corner case where ini files live in a subdir
of the main inventory directory.

Reproducing the original error:

mkdir -p inventory/ini
cat > inventory/ini/hosts << EOF
[www]
www1
EOF

$ ansible -i inventory/ all -m ping
ERROR! 'all'

(or without the [www] group, it would complain about 'ungrouped')
10 years ago
James Cammarata 79e364d98b Properly template role dependency names
Fixes #12505
10 years ago
Marius Gedminas 5edd6d9be4 Python 3: there's no basestring
Fixes another failing test.

(I don't want to do a global search/replace for 'basestring' because I
want to have unit tests covering each occurrence.  When I run out of
existing failing tests, I'll try to write new ones.)
10 years ago
Toshio Kuratomi 95ede22a1e Add a comment about the docker connection and usage by non-root users 10 years ago
Toshio Kuratomi 0e110d23f8 Misc cleanups and some fixes for docker connection plugin
* Remove extraneous imports
* Fix some error handling
* Enable pipelining
* Disable su since it doesn't work
* Add error message when installed docker is not recent enough to
  support this plugin
* Move nested functions to class level
* Make transport a class attribute
* Make exec_command, put_file and fetch_file more robust
10 years ago
Toshio Kuratomi 1d119a1f46 Cleanup some extraneous imports 10 years ago
James Cammarata ffdba96668 Save the included directory for playbook includes for use as the basedir
Fixes #12524
10 years ago
Konstantin Manna 4226e49bc6 bugfix: statement had no effect => statement now has assumed effect 10 years ago
Konstantin Manna 1ccfeafa76 bugfix: use correct close calls 10 years ago
Brian Coca c1ad96e5cf removed fixme as it is already implemented below. 10 years ago
RedRampage 922b5c8109 Removed deletion of salt by 'password' lookup
Removed deletion of salt param from lookup file by 'password' lookup_filter.
Old behaviour leads to constant changed status when two tasks uses same lookup,
one with 'encrypt' parameter, and other without.

For example:

    tasks:
      - name: Create user
        user:
          password: "{{ lookup('password', inventory_dir + '/creds/user/pass' ncrypt=sha512_crypt) }}"
          ...
    # Lookup file 'creds/user/pass' now contain password with salt
      - name: Create htpasswd
        htpasswd:
          password: "{{ lookup('password', inventory_dir + '/creds/user/pass') }}"
          ...
    # Salt gets deleted from lookup file 'creds/user/pass'
    # Next run of "Create user" task will create it again and will have 'changed' status
10 years ago
Toshio Kuratomi 12a2585e84 chroot plugin minor touchups:
* Disable su as it's not currently working 100% (and was disabled in v1).
* Move BUFSIZE out of the class to match other conenction plugins
* _connect shouldn't return self.
10 years ago
Toshio Kuratomi 7a4266e9c5 One more try -- the error message should reference the become method
requested via play context
10 years ago
Toshio Kuratomi 696cf32d63 Correct name of variable 10 years ago
Brian Coca 8d024c3747 Merge pull request #12472 from resmo/for_ansible
cloudstack: improvements and tests
10 years ago
Toshio Kuratomi 0dfa1fb43a Correct call to method typo 10 years ago
Toshio Kuratomi d827325644 Re-order the methods in ssh.py so that methods needed for implementation are near and just above the relevant public methods.
Standard with the rest of the code base.
10 years ago
Toshio Kuratomi 37844a5c1b Update submodule refs 10 years ago
Toshio Kuratomi c811668a4d Merge pull request #12546 from amenonsen/ssh-cleanups
A couple of ssh cleanups
10 years ago
Toshio Kuratomi 05af4c8e91 Merge pull request #12471 from amenonsen/pipelining
Make pipelining a connection variable
10 years ago
Abhijit Menon-Sen 38c7422da5 Move ControlPersist/Path checking into a separate method
This is also peripheral to what _build_command needs, can be improved
and tested independently, and so makes more sense in a separate method.

This commit doesn't change any functionality (and I've verified that it
works with the various combinations: control_path set in ansible.cfg,
ssh_args adding or not adding ControlMaster/ControlPersist, etc.).
10 years ago
Toshio Kuratomi c3a05b1181 Update to fix one more doc error 10 years ago
Abhijit Menon-Sen f33d541964 Move sshpass checking into a separate method
Checking for sshpass is peripheral to the calling code, so it's easier
to follow when the details are moved into a method.
10 years ago
Abhijit Menon-Sen 565c6f1ae7 Make ansible_pipelining a connection variable
SSH pipelining can be a significant performance improvement, but it will
not work if sudoers is configured to requiretty. With this change, one
could have pipelining enabled in ansible.cfg, but use sudo to turn off
requiretty in a separate play (or task) where pipelining is disabled:

    - hosts: foo
      vars:
          ansible_pipelining: no
      tasks:
        - lineinfile: dest=/etc/sudoers line='Defaults requiretty' state=absent
          sudo_user: root

(Note that sudoers has a complicated syntax, so the above lineinfile
invocation may be too simplistic for production use; but the point is
that a separate play can do something to disable requiretty.)
10 years ago
Toshio Kuratomi fd267989fb Fix docs build 10 years ago
Toshio Kuratomi 69ebb899a7 Update submodule refs 10 years ago
James Cammarata c860775b5d Another fix for --limit in adhoc 10 years ago
James Cammarata babf47decb Clean up some bugs related to --limit on adhoc commands 10 years ago
James Cammarata 621575681a Merge pull request #12542 from amenonsen/qfix
Clarify why we add -q only for ssh
10 years ago
Abhijit Menon-Sen 2ce219b5af Clarify why we add -q only for ssh 10 years ago
Marius Gedminas 9b39af8e9a Python 3: the StringIO module is gone
Fixes 17 failing tests on Python 3.4, restoring the 8 failures we had
last Friday.
10 years ago
Jesper Geertsen Jonsson 353b549eb0 Fix HTTPError message not being reachable 10 years ago
James Cammarata 4cd810a674 Only append -q option for ssh if we're using ssh 10 years ago
James Cammarata 46984a067c Don't wrap vars from include_vars with UnsafeProxy 10 years ago
James Cammarata abfeb104df Merge pull request #12529 from soarpenguin/bug-fix
fix no self pointer out of class.
10 years ago
Toshio Kuratomi 342bc97322 Port chroot conection plugin to the latest v2 connection API.
Also get pipelining working for people who look to chroot as an example
for their own connection plugins

Note: In the latest v2 API, action handles become but chroot doesn't
reliably handle become.  Maybe we need to add a has_become attribute
that the action can display an appropriate error.
10 years ago
Toshio Kuratomi 056a020357 Do not fail if /proc/uptime is not present
This can happen in chroot environments that don't have all of /proc
available
10 years ago
Toshio Kuratomi ae66d01a33 Document how a command is executed on the remote machine
Helps connection plugin implementors understand how to structure
exec_command()
10 years ago
James Cammarata 6dd38c2a10 Fix parent attribute lookup to be default
Fixes #12526
10 years ago
James Cammarata a1c38a3fda Adding delegate_to to Blocks 10 years ago
Brian Coca bb6141ec41 renamed managed_syslog to no_target_syslog 10 years ago
Abhijit Menon-Sen 8251ab2e37 Update outdated comment
Since #12165 was merged, hostnames are properly validated.
10 years ago
Abhijit Menon-Sen 6ff4d40d74 Update outdated comment
We now use "sudo -n" instead of "sudo -k && sudo …"
10 years ago
soarpenguin 1ea66e234f fix logic judgment error. 10 years ago
soarpenguin 2caa52a981 fix no self pointer out of class. 10 years ago
Brian Coca 37a918438b task logging revamp
* allow global no_log setting, no need to set at play or task level, but can be overriden by them
 * allow turning off syslog only on task execution from target host (manage_syslog), overlaps with no_log functionality
 * created log function for task modules to use, now we can remove all syslog references, will use systemd journal if present
 * added debug flag to modules, so they can make it call new log function conditionally
 * added debug logging in module's run_command
10 years ago
James Cammarata 60e1a1f8eb Fix bug in nested lookup where pop is called indiscriminately 10 years ago
Brian Coca 191ae0831d fixed syntax error 10 years ago
Brian Coca 48412c13b2 fixed copy n paste typo on future code 10 years ago
James Cammarata bb1101498d Clean up typo from cdc6c52 10 years ago
James Cammarata cdc6c5208e Clean string data run through the template engine
Also strip UnsafeProxy off of low level srings and objects to ensure
they don't cause issues later down the road

Fixes #12513
10 years ago
James Cammarata ae9b34b1d9 Fix for equality checking in Host to make sure things are like types 10 years ago
Toshio Kuratomi fa9ea32a86 Fix test of whether a result has a failed host 10 years ago
Brian Coca 1c49e3b842 draft shared service code for modules, part of spliting service module 10 years ago
Toshio Kuratomi 41756be4d3 Update core module ref 10 years ago
Toshio Kuratomi dcdcd9e9c5 Move is_executable to the toplevel of basic.py so we can utilize it from other code 10 years ago
James Cammarata ccddda1ebc Merge pull request #12502 from mgedmin/py3k
Python 3: make test_variable_manager_precedence pass
10 years ago
James Cammarata eb8d7dcd14 Make sure formatted strings don't bomb on tuples
Fixes #12501
10 years ago
James Cammarata 31d5f88a1d Use the task loop to calculate multiple delegated hosts
Due to the way we're now calculating delegate_to, if that value is based
on a loop variable ('item') we need to calculate all of the possible
delegated_to variables for that loop.

Fixes #12499
10 years ago
Toshio Kuratomi a1428d6bed Remove tmp as a parameter to the connection plugins
There doesn't appear to be anything that actually uses tmp_path in the
connection plugins so we don't need to pass that in to exec_command.
That change also means that we don't need to pass tmp_path around in
many places in the action plugins any more.  there may be more cleanup
that can be done there as well (the action plugin's public run() method
takes tmp as a keyword arg but that may not be necessary).

As a sideeffect of this patch, some potential problems with chmod and
the patch, assemble, copy, and template modules has been fixed (those
modules called _remote_chmod() with the wrong order for their
parameters.  Removing the tmp parameter fixed them.)
10 years ago
James Cammarata 95b371dd60 Use AnsibleFileNotFound instead of AnsibleParsingError when YAML files are not found
And update portions of code to expect the proper error.

Fixes #12512
10 years ago
Toshio Kuratomi 0250beb68a Remove compress option from paramiko connection for now
It's not available on older versions of paramiko such as shipped in RHEL6
10 years ago
James Cammarata 12df9f2e31 Make hostvars more dynamic again to improve performance with large inventories
Fixes #12477
10 years ago
Abhijit Menon-Sen 82b33c381f We don't need even a token timeout here; just poll once
The process is already gone, so there's not going to be any new data
showing up on its stderr; we only want to make sure that we haven't
missed something that was already written. So polling once is enough.
10 years ago
Abhijit Menon-Sen 6e82df451a Clarify select() handling for ssh connections
This change is motivated by an ssh oddity: when ControlPersist is
enabled, the first (i.e. master) connection goes into the background; we
see EOF on its stdout and the process exits, but we never see EOF on its
stderr. So if we ran a command like this:

    ANSIBLE_SSH_PIPELINING=1 ansible -T 30 -vvv somehost -u someuser -m command -a whoami

We would first do select([stdout,stderr], timeout) and read the command
module output, then select([stdout,stderr], timeout) again and read EOF
on stdout, then select([stderr], timeout) AGAIN (though the process has
exited), and select() would wait for the full timeout before returning
rfd=[], and then we would exit. The use of a very short timeout in the
code masked the underlying problem (that we don't see EOF on stderr).

It's always preferable to call select() with a long timeout so that the
process doesn't use any CPU until one of the events it's interested in
happens (and then select will return independent of elapsed time).

(A long timeout value means "if nothing happens, sleep for up to <x>";
omitting the timeout value means "if nothing happens, sleep forever";
specifying a zero timeout means "don't sleep at all", i.e. poll for
events and return immediately.)

This commit uses a long timeout, but explicitly detects the condition
where we've seen EOF on stdout and the process has exited, but we have
not seen EOF on stderr. If and only if that happens, it reruns select()
with a short timeout (in practice it could just exit at that point, but
I chose to be extra cautious). As a result, we end up calling select()
far less often, and use less CPU while waiting, but don't sleep for a
long time waiting for something that will never happen.

Note that we don't omit the timeout to select() altogether because if
we're waiting for an escalation prompt, we DO want to give up with an
error after some time. We also don't set exceptfds, because we're not
actually acting on any notifications of exceptional conditions.
10 years ago
Toshio Kuratomi 03127dcfae remove the stdin return value from connection plugin exec_command() methods
The value was useless -- unused by the callers and always hardcoded to
the empty string.
10 years ago
James Cammarata 9d47eabfa4 Merge pull request #12506 from hyperized/devel
Add Weekday (0-6) as a number and add weeknumber (00-52)
10 years ago
Toshio Kuratomi 24b9e2e6d1 Update extras submodule ref 10 years ago
Gerben Geijteman 4c20964475 Add Weekday (0-6) as a number and add weeknumber (00-52) 10 years ago
Marius Gedminas 56f2a25bff Python 3: there's no 'unicode' 10 years ago
Marius Gedminas 6d4618f46f Python 3: there's no dict.iteritems() 10 years ago
Marius Gedminas 0624797375 Bugfix: if you define a custom __eq__, you must define a __hash__ too
Also, on Python 3 the stock object.__hash__ raises an error ("unhashable
type"), and we have code that uses Host instances as dict keys.
10 years ago
Marius Gedminas a2bc6b4b26 Bugfix: if you define __eq__, you should define __ne__ too 10 years ago
Marius Gedminas 5d29a2eabd Python 3: shlex.split() wants unicode
On Python 2, shlex.split() raises if you pass it a unicode object with
non-ASCII characters in it.  The Ansible codebase copes by explicitly
converting the string using to_bytes() before passing it to
shlex.split().

On Python 3, shlex.split() raises ('bytes' object has no attribute 'read')
if you pass a bytes object.  Oops.

This commit introduces a new wrapper function, shlex_split, that
transparently performs the to_bytes/to_unicode conversions only on
Python 2.

Currently I've only converted one call site (the one that was causing a
unit test to fail on Python 3).  If this approach is deemed suitable,
I'll convert them all.
10 years ago
Toshio Kuratomi 5d3d9cfe0d Convert to byte strings to avoid UnicodeErrors
Fixes #12488
10 years ago
Brian Coca de18bcb95f correct typo on error reporting
fixes #12495
10 years ago
Abhijit Menon-Sen 40f608a377 A bit more debugging output
We used to display input chunks earlier anyway, so this isn't making
things more verbose.
10 years ago
Abhijit Menon-Sen 9700d9c04f Fix typo in checking select results
It's possible for more than one fd to be set, so 'elif' is obviously not
the right thing to use.
10 years ago
James Cammarata 1164e83477 Remove unnecessary calls to save inventory restrictions since 81bf88b 10 years ago
Toshio Kuratomi 89a78ba16e Update submodule refs 10 years ago
James Cammarata 9e734df0ec Conditionally poll longer if we're still waiting for an auth prompt 10 years ago
Toshio Kuratomi 5f0f5363b6 Merge pull request #12487 from mgedmin/py3k
Fix one more failing test on Python 3
10 years ago
James Cammarata 2898e000a0 Don't use the connection timeout for the select poll timeout 10 years ago
Abhijit Menon-Sen 587054db2a Send initial data before calling select whenever possible
Without this, we could execute «ssh -q ...» and call select(), which
would timeout after the default 10s, and only then send initial data.
(This is a relic of the earlier change where we always ran ssh with
-vvv, so the situation where it would sit quietly never happened in
practice; but this would have been the right thing to do even then.)
10 years ago
James Cammarata c9a004227e Improve error catching from malformed playbook data
Fixes #12478
10 years ago