Commit Graph

3509 Commits (d6edbeb4d02e34fae513f3f4e8fb27c6eec0cb15)

Author SHA1 Message Date
Herby Gillot c0886a5f3a Add a fact providing the full hostname, without the domain portion
truncated.
12 years ago
Michael DeHaan fba2f1f9a9 Merge pull request #6639 from fvieira/devel
Add missing sha1 import on known_hosts.py
12 years ago
Michael DeHaan a24d3f78d9 Merge pull request #6634 from pilou-/fix
Remove print statements
12 years ago
James Cammarata 31628d86a1 Adding in a configurable option for the accelerate daemon timeout
This was apparently an oversite, as it has never been configurable
despite having a module parameter for the timeout.
12 years ago
James Cammarata 3ea5d573aa Acclerate improvements
* Added capability to support multiple keys, so clients from different
  machines can connect to a single daemon instance
* Any activity on the daemon will cause the timeout to extend, so that the
  daemon must be idle for the full number of minutes before it will auto-
  shutdown
* Various other small fixes to remove some redundancy

Fixes #5171
12 years ago
Francisco José Marques Vieira e9d7476c28 Add missing sha1 import on known_hosts.py 12 years ago
Pierre-Louis Bonicoli d3a470db0c Remove print statements
"print item" raises an exception when type of item is
jinja2.runtime.StrictUndefined
12 years ago
James Tanner 5b3b9ba267 Addresses #4407 Caculate failed percentage based on serial and number of hosts in play 12 years ago
Michael DeHaan d0cbb51170 Merge pull request #6615 from 8191/devel
Addresses #6591 Hide diff for lineinfile if file did not change.
12 years ago
Manuel Faux b8158f5f6a Addresses #6591 Hide diff for lineinfile if file did not change. 12 years ago
Joshua Conner 1c504eff68 etcd lookup: use $ANSIBLE_ETCD_URL if it exists in the env 12 years ago
James Tanner 14499e8bf3 Fixes #4325 allow async and poll parameters to be templated vars 12 years ago
James Tanner ea5186ca63 Fixes #6590 add set_remote_user parameter to synchronize
This allows usage of custom ssh configs for remote hosts where
the inventory user does not match the configured user.
12 years ago
James Tanner 95c79ad483 Fixes #4239 merge injects with new vars loaded from files 12 years ago
James Tanner d327e3d11a Fixes #5622 included tasks in roles now inherit tags from the role 12 years ago
Till Maas 898a38b074 module_utils/atomic_move(): Use tempfile module
Fix a potential race condition by using the tempfile module.
12 years ago
Till Maas 8f778a83df module_utils/atomic_move(): Restore owner/group
Manually restore owner and group if both src and dest are on a separate
file system.
12 years ago
Michael DeHaan e639b5382b Change default gathering policy, add to docs. 12 years ago
Brian Coca 18adf07fc6 changed setting values and updated docs 12 years ago
Brian Coca 4dfa40f18e added gathering control to ansible, defaults to 'smart' 12 years ago
Michael DeHaan c42dbf80a2 Merge pull request #6586 from sivel/probline-logic-fix
Fix logic in process_common_errors for unbalanced quotes
12 years ago
James Tanner b8f627d1d5 Prevent rewriting the encrypted file if decryption fails 12 years ago
James Tanner e71857fbdf Addresses #6579 Only strip vault passwords if given 12 years ago
James Tanner 8c2e1e2baa Addresses #6579 Disallow vault passwords with newline characters by stripping them in utils 12 years ago
James Cammarata a9000e7f3a Making the error messages for bad key/dir permissions more understandable
Fixes #6254
12 years ago
Matt Martz 2aaecc5afa Fix logic in process_common_errors for unbalanced quotes 12 years ago
James Cammarata 4880cfb5ea Merge pull request #6568 from sivel/ssl-cert-validation-osx
Make SSL verification on Mac OS X work out of the box
12 years ago
James Tanner 67517e96d3 Fixes #6567 put the git wrapper script in the module temp dir 12 years ago
Matt Martz 1d3d73a0b6 Only write the DUMMY_CA_CERT on OS X 12 years ago
Matt Martz 3b5aa8bd30 Provide a dummy ca to allow OS X to do it's OpenSSL keychain magic 12 years ago
James Cammarata eb7717aa02 Make sure all tags are in a list before merging for role deps
Fixes #6557
12 years ago
James Cammarata c9fcbf7bdd Change print message to vvv for missing known hosts in ssh.py 12 years ago
James Tanner 49807877fa Fixes #6550 Use shell for pipe lookup subprocess.popen calls 12 years ago
James Cammarata 3f5440f7df Make modules set a valid working directory
Fixes #6546
12 years ago
James Cammarata 84908a57fc Don't filter role deps on tags
Also, fixed a bug where the tags were being merged into the wrong
data structure (passed_vars) in _build_role_dependencies()

Fixes #6439
Fixes #5709
12 years ago
Michael DeHaan 9da26da335 Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel 12 years ago
Michael DeHaan 13f69dad05 Merge pull request #6527 from patrickheeney/hosts-bug
Fix for hostkey directory
12 years ago
Michael DeHaan 94e3350b38 Catch a unquoted line error. Fixes #6532 12 years ago
jctanner b8d5ba42f5 Merge pull request #6523 from sergevanginderachter/vault-in-subdirs
Pass through vault_password when parsing host/group vars as directories.
12 years ago
James Cammarata c4f1c3c6b0 Merge branch 'bcoca-file_fixes_clean' into devel 12 years ago
James Tanner ad70e9bcd6 Fixes #6227 skip non-unicode strings and catch decode errors silently in template_from_string 12 years ago
James Tanner 20262b6c15 Remove unused variable in _executor_internal 12 years ago
James Cammarata 5d8c9d3f0f Merge branch 'file_fixes_clean' of https://github.com/bcoca/ansible into bcoca-file_fixes_clean 12 years ago
James Cammarata 7edee91aba Fixing a bug in role tag handling where only the first tag was used
Fixes #6517
12 years ago
James Tanner ebb6b8442b Catch unicode unescape failures in copy action plugin 12 years ago
patrickheeney a9aab23f11 Fix for hostkey directory 12 years ago
James Tanner b14c658532 Fix concatenation for with_file 12 years ago
Serge van Ginderachter 280498a7e5 Pass through vault_password when parsing host/group vars as directories.
Fixes a bug where vault_password parameter was not passed through in
_load_vars_from_folder()

modified:   lib/ansible/inventory/vars_plugins/group_vars.py
12 years ago
Greg Dallavalle 77229553a3 fetch_url: Avoid credential stripping for FTP-scheme URLs 12 years ago
Michael DeHaan fe696e4720 Merge commit. 12 years ago
Michael DeHaan b41541c62a Merge conflict. 12 years ago
Michael DeHaan fd0ff6f174 Merge pull request #5711 from sivel/plugin-realpath
Use realpath for plugin directories instead of abspath
12 years ago
Michael DeHaan 6144c5e1e2 Merge pull request #5714 from eggsby/patch-2
Allow templates in ansible_sudo_pass inventory var
12 years ago
Michael DeHaan b0dbc61d63 Move facts to 'module_utils' so they can be referenced by other modules. Note unlike other module_utils/ dirs this keeps the original
license -- so usage of facts code in modules will be limited to GPLv3 modules.
12 years ago
Michael DeHaan b8f1e4f765 Merge pull request #6134 from veeti/include_with_items_path
Show the offending file name with the include + with_items error
12 years ago
Michael DeHaan 4a06954a13 Merge pull request #6390 from sergevanginderachter/group-varsdirs-svn
group_vars plugin: do not parse hidden files in subfolders
12 years ago
Michael DeHaan 9cdbc53741 Merge pull request #6420 from bcoca/role_names
added new role_names variable that exposes current roles list
12 years ago
Michael DeHaan 26efc7ace8 Revert "Populate module_setup from the setup module rather than special code elsewhere"
This reverts commit 58eec2e4c2.
12 years ago
Oleg Bulatov f6a4c20cc0 Make parsing variables for hosts and groups more consistent
This commit allows to specify arrays in [group:vars] block.

Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
12 years ago
Michael DeHaan a9896afc66 Merge pull request #6418 from bcoca/template_itnore_errors
templates ignore_errors
12 years ago
Michael DeHaan d5856bd475 Merge pull request #6391 from sergevanginderachter/hashmerge_inventoryscripts
Allow hash_behaviour=merge to be respected in core inventory
12 years ago
Dag Wieers 58eec2e4c2 Populate module_setup from the setup module rather than special code elsewhere
This small change allows for individual setup actions to populate the SETUP_CACHE and not cause a subsequent facts-gathering when not needed. This follows the standard of other facts modules as laid out in #1206 and implemented in fedfd18774. It allows to test of the setup module has already been run even when gather_facts was explicitely disabled.
12 years ago
Michael DeHaan 3d44f7cd51 Merge pull request #6217 from ashokrajar/patch-1
pause plugin doesn't flush raw_input prompt
12 years ago
Cristian Ciupitu 0749112286 Micro-optimization: replace s.find(x)!=-1 with x in s
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
12 years ago
Cristian Ciupitu a7da5d8702 Micro-optimization of inventory.expand_hosts.detect_range 12 years ago
brdo 3963a64a4f Set keepalive to 5 seconds in paramiko_ssh.py
This update resolves https://github.com/ansible/ansible/issues/6476.
12 years ago
Brian Coca 2d25577e11 Fixes and cleanup to file functions and module
- unified set attribute functions ... not sure why 2 identical functions
exist with diff names, now there are 3 while i repoint all modules to 1
- fixed issue with symlinks being created w/o existing src when force=no
- refactored conditionals, simplified where possible
- added tests for symlink to nonexistant source, with both force options
- made symlink on existing attomic (force)
12 years ago
James Cammarata a0cb974575 Be sure to return to the old directory if cwd is set in run_command 12 years ago
James Tanner a348f67238 Reset the current directory after running subprocess.Popen 12 years ago
James Cammarata 677008bef7 Rejoin args list into a string for run_command when using an unsafe shell
This allows the use of an args list with leading environment variables,
which otherwise would fail due to the way Popen works.
12 years ago
James Cammarata 5233d4bc31 Fix typo in run_command when sending data that is not binary 12 years ago
James Cammarata b1a37dcc08 Revert "Rejoin args list into a string for run_command when using an unsafe shell"
This reverts commit 4273cb2d8e.
12 years ago
James Cammarata 4273cb2d8e Rejoin args list into a string for run_command when using an unsafe shell
This allows the use of an args list with leading environment variables,
which otherwise would fail due to the way Popen works.
12 years ago
Michael DeHaan d1753046e0 Revert "Correctly catch template errors without returning invalid data"
This reverts commit 3cd7d47b7e.
12 years ago
James Cammarata 303e085f8b Only use cwd in run_command kwargs if the directory exists 12 years ago
James Cammarata 60a7f57300 Make sure the cwd exists in run_command before trying to use it 12 years ago
Dan Koch bbf320fd22 Work around for cwd stat problems with run_command and sudo
This fixes issue #6443
12 years ago
James Cammarata 2c7d58abe0 Compile ca certs into a temp file to reduce number of attempts
For those who may have a large number of certs found, this can reduce
the number of ssl connections attempted.
12 years ago
Michael DeHaan d37f0c6d12 Use same implementation as ssh.py for "is in host file" checks in module code, prevents git module from adding keys more than once. 12 years ago
Michael DeHaan 6d841d120e Don't process shell commands as arrays. 12 years ago
James Cammarata 86d2ee4b97 Don't append tags from roles to the plays tags list
Fixes #6393
12 years ago
James Cammarata a9017af2bb Adding validate_certs to all modules that use fetch_url 12 years ago
Michael DeHaan cfabc2e28a module.run_command is intended to bypass the shell here, so can't do ">>" 12 years ago
James Cammarata 7f38cff989 Remove unused code from get_ca_certs() function 12 years ago
James Cammarata 804e4166c8 Rewriting ssl validation to try multiple certs found in paths
Previously, the function checked only for a single CA root cert, however
some distributions may have multiple certs in a directory. This will now
try any .crt or .pem file contained within several common paths for
each platform.

Fixes #6412
12 years ago
Michael DeHaan 0b0ca95731 Expand environment variables and tildes passed to commands generically across the board. 12 years ago
James Tanner 0e38f5dfdc Check for hash availability during vault operations 12 years ago
Brian Coca 906e59d8a8 added new role_names variable that exposes current roles list 12 years ago
Brian Coca 7778aca966 templates ignore_errors 12 years ago
James Cammarata 6c25e78299 Merge branch 'devel' of https://github.com/dparalen/ansible into dparalen-devel 12 years ago
James Tanner e4e64a9699 Rename lxc to libvirt_lxc 12 years ago
James Cammarata bca6adc812 Merge pull request #4064 from mscherer/lxc
Add a plugin that permit to use ansible for lxc system, using libvirt
12 years ago
James Cammarata 430cce9df3 Merge branch 'ec2_security_token' of https://github.com/willthames/ansible into willthames-ec2_security_token 12 years ago
Serge van Ginderachter 6b1cb22fc3 Allow hash_behaviour=merge to be respected in core inventory
(For now, this means, enable it also for inventory scripts)
12 years ago
Serge van Ginderachter 29c60bdaff group_vars plugin: do not parse hidden files in subfolders, e.g. avoid .svn/ 12 years ago
James Tanner 6740a1f342 Wrap crypto.hash imports with try/except 12 years ago
Michael DeHaan 411bcb7161 Merge remote branch 'real/devel' into devel 12 years ago
Michael DeHaan 2fa6110961 Update the message about pycrypto to include that python-devel must be installed. 12 years ago
James Tanner 0d6f6ad282 Implement new default cipher class AES256 12 years ago
Michael DeHaan 20f0157152 Merge pull request #6378 from franckcuny/headers-gce-utils
Add BSD license to module_utils/gce.py
12 years ago
James Tanner ba0fec4f42 Force command action to not be executed by the shell unless specifically enabled 12 years ago
James Cammarata 9730157525 Validate SSL certs accessed through urllib*
* Adds another module utility file which generalizes the
  access of urls via the urllib* libraries.
* Adds a new spec generator for common arguments.
* Makes the user-agent string configurable.

Fixes #6211
12 years ago
James Cammarata 6577ff5f85 Add tags from handlers to tag availability calculation 12 years ago
Richard Isaacson 4993cb57f4 Merge pull request #6283 from magicrobotmonkey/upstream
fix missing stdin in _parallel_runner

Tested with GIST https://gist.github.com/risaacson/7290d30a612e0c70ea1b.
Passes "make tests"
Passes non_destructive tests.
12 years ago
Franck Cuny 82f99bfa3d Add BSD license to module_utils/gce.py 12 years ago
Matt Martz 4b400ca5e9 Only used stripped data for testing if the file is json, but used unstripped when actually parsing. Fixes #6348 12 years ago
Seth Woodworth 1d5db30067 Updates loop warning, removes unnecessary c 12 years ago
James Cammarata 04a6dc6d12 Check for skipped tags in passed role variables before adding to them
Fixes #6330
12 years ago
Michael DeHaan d2cb35f898 Merge pull request #6320 from angstwad/instance-redo
Use isinstance() rather than a check using type()
12 years ago
James Cammarata 4753804ab4 Merge pull request #6332 from jimi-c/issue_6329_space_in_var
Correctly catch template errors without returning invalid data
12 years ago
James Cammarata e3b887f770 Fix range issue in inventory and add additional error checking
Fixes #6331
12 years ago
James Cammarata 3cd7d47b7e Correctly catch template errors without returning invalid data
Fixes #6329
12 years ago
James Cammarata f80d02d841 Properly wrap logical elements together for su/sudo detection 12 years ago
James Cammarata b6056044b7 Partial revert of 73c883c due to issues with handlers in roles
Fixes #6322
12 years ago
Michael DeHaan e486dbab04 Use the loaded variable since we have it assigned, not just for error detection. 12 years ago
Michael DeHaan 3f07ec3d73 Fixup JSON error reporting in previous commits. 12 years ago
Michael DeHaan a4d01b0891 Also search .json filenames 12 years ago
Michael DeHaan 79799f6819 Allow any file that can be in YAML to also be in JSON. This is primarily done to support non-visual editors better. 12 years ago
James Cammarata a0f939581d Merge branch 'aresch-devel' into devel 12 years ago
Paul Durivage 3cce3650e5 Use isinstance() rather than a check using type() 12 years ago
Richard Isaacson 119434d079 Merge pull request #6319 from risaacson/fix_test_dir_inventory
Fix TestInventory Unit Tests

Tested clean.
12 years ago
James Cammarata 9b79591f23 Merge branch 'devel' of https://github.com/aresch/ansible into aresch-devel 12 years ago
James Cammarata 2a0028e687 Sanitize run_command argument output
Fixes #6316
12 years ago
Andrew Resch 4d80019ac8 Fix logic checking for both sudo and su, and their respective users 12 years ago
Richard C Isaacson 16fe09eef8 Fixes related to uncommenting test_dir_inventory in TestInventory.
0. Uncomment the test.
1. Test fails.
2. Make vars unique per file in test inventory files.
3. Modify token addition to not ast.literal_eval(v) a variable containing a hash.
4. Modify vars to have an escape in test inventory file.
5. Catch exceptions explicitly. Any unknown exceptions should be a bug.
6. Test passes.
12 years ago
James Cammarata 9f2999df79 Un-escape newlines in delimiters for assemble module 12 years ago
Brian Coca 79809b67dc fixed another line with same issues
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Brian Coca d3d5680d8f tags lists are properly uniqued and joined now, also avoids type issues when passed as list/set or strings
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Will Thames b9a7352e0a Work to allow security tokens and profiles to work with Ansible
Allow security tokens and profiles to be used as arguments
to the 'common' ec2 modules

Mostly refactoring to provide two new methods,
`get_aws_connection_info`, which results in a dict that can be
passed through to the boto `connect_to_region` calls, and
`connect_to_aws` that can pass that dict through to the
`connect_to_region` method of the appropriate module.

Tidied up some variable names

Works around boto/boto#2100

profiles don't work with boto < 2.24, but this detects for that
and fails with an appropriate message. It is designed to work
if profile is not passed but boto < 2.24 is installed.

Modifications to allow empty aws auth variables to be passed
(this is useful if wanting to have the keys as an optional
parameter in ec2 calls - if set, use this value, if not set,
use boto config or env variables)

Reworked validate_certs improvements to work with refactoring

Added documentation for profile and security_token to affected modules
12 years ago
James Cammarata 0e98496e12 Merge pull request #6299 from jimi-c/issue_4656_role_deps_across_plays
Keep track of role dependencies across plays
12 years ago
Michael DeHaan 94a7fb60fe Allow escaped comments in inventory files. 12 years ago
aresch 23a0468a4b Fix respecting remote_tmp when sudo is used 12 years ago
James Tanner 4e8ed92130 Fixes #6077 decode escaped newline characters in content for the copy module 12 years ago
Richard C Isaacson b41d8106ff Revert "Merge pull request #6287 from risaacson/fix_hash_in_var"
This reverts commit a808287451, reversing
changes made to 6129ea7566.
12 years ago
James Cammarata 73c883c122 Keep track of role dependencies across plays
Also fixes a bug in which tags specified on top-level roles were
not being passed down to dependent roles.

Fixes #4656
12 years ago
Richard Isaacson a808287451 Merge pull request #6287 from risaacson/fix_hash_in_var
Fix inventory for test_dir_inventory, merge PRs from GH-5749, cleanup some formatting.
12 years ago
James Tanner 6129ea7566 Fixes #6298 and adds a sudo unit test for synchronize 12 years ago
Richard C Isaacson 38abd5e20e Break this out into a reusable function and document regex shortcomings. 12 years ago
Luca Berruti 7cf363910a fixes #6244 12 years ago
jctanner 40ee030790 Merge pull request #6265 from franckcuny/gce-fixes
Add credential parameters to the GCE modules.
12 years ago
Franck Cuny 6294264dc4 Add credential parameters to the GCE modules.
In order to simplify the workflow with the GCE modules, it's now
possible to add the parameters and project name as arguments to the
various GCE modules.

The inventory plugin also returns the IP of the host in
`ansible_ssh_host` so that you don't have to specify IPs into the
inventory file.

Some update to the documentation are also added.

Closes #5583.
12 years ago
Richard C Isaacson 49bd8b0b35 Fix inventory for test_dir_inventory
It came up that fixing this unit test may relate to another ticket that is open. This work allows us to uncomment this unit test by fixing how we pars variables allowing a quoted variable to contain a '#'.

Work also went into cleaning up some of the test data to clarify what was working.

Lastly work went into cleaning up formatting so that the code is easily read.
12 years ago
Aaron Bassett 5c589af191 fix missing stdin in _parallel_runner 12 years ago
Richard Isaacson 92aacb198c Merge pull request #6156 from iiordanov/devel
Add support for checking host against global known host files.

The effect of this is that before this fix if files are spread across the known_hosts file but not in the ~/known_hosts file the hosts will execute sequentially. This PR augments the functionality so that all of the knowns hosts will execute in parallel.
12 years ago
Richard Isaacson e79d859dfb Merge pull request #6213 from sergevanginderachter/fix-delegate-templating
Fixes templating of ansible_ssh_host for delegates.

Tested that this works. Confirmed.
12 years ago
Michael DeHaan 435104065e Merge pull request #6248 from hkariti/fix_list_copy
Fix incorrect use of copy() on list, causing a traceback
12 years ago
Jesse Keating 0c2c37a47a Avoid range selection on empty groups
This prevents a traceback when the group is empty.
Fixes #6258
12 years ago
James Tanner 623cd9ac50 Revert "Merge pull request #6250 from dagwieers/gather_facts-once"
This reverts commit b769b4181a, reversing
changes made to 1e01fb856d.
12 years ago
Dag Wieers 0da06eff5c Fix regression causing setup to run for every play
This patch makes sure setup only runs once, unless it is enforced on a play.
12 years ago
Hagai 0e4b38ed5a Fix incorrect use of copy on list 12 years ago
Tefnet c652802d29 missing import in assert module
Fixed missing ansible.errors import in assert module
12 years ago
Michael DeHaan 16d3be03af Remove a few extra legacy variable feature references. 12 years ago
Michael DeHaan 46ec8759d5 Remove the legacy templating code, which was guarded by deprecation warnings in the previous two releases, and undocumented for a long time. use {{ foo }} to access variables instead of ${foo} or $foo. 12 years ago
Michael DeHaan 9d01d88a57 Bump versions on the devel branch (devel branch version is 1.6) 12 years ago
Michael DeHaan 5443ddec75 Trim references to fireball as we want folks using accelerate or pipelining options. Fireball is pretty well deprecated at this point, but will still be part of the release. 12 years ago
James Cammarata 79645535c0 Handle empty results from failed connections in _remote_md5()
Fixes #5800
12 years ago
Gilles Cornu 04f6367172 Fully clean 'ssh_old' and 'paramiko_alt' options
These transports have been removed in 33857855ad
12 years ago
Ashok Raja R cb3c6417dd pause plugin doesn't flush raw_input prompt
##### Issue Type:

Bugfix Pull Request

##### Ansible Version:

ansible 1.4.3

##### Environment:

N/A

##### Summary:

We are using a wrapper python script to run ansible-playbook. We use subprocess to execute and print the stdout as and when its written. Problem is when we use pause it doesn't display the prompt string as raw_input does not flush stdout before reading from stdin.

It looks like a dirty fix to add "\n" to the prompt string but i don't see any other way to over come this. If anyone else have a better fix please do propose/suggest.

##### Steps To Reproduce:

```yaml
#File: test_play.yml
- name: Test
  hosts: $nodes
  gather_facts: false

  tasks:
    - name: Waiting for User
      local_action: pause prompt="Do you want to continue (yes/no)? "
```

```python
#!/usr/bin/env python
#File: test.py
import shlex, subprocess

def run_process(process):
    process = process.encode("utf-8")
    command = shlex.split(process)
    p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    for line in iter(p.stdout.readline, b''):
        print line,

cmd = "/usr/bin/python -u /usr/bin/ansible-playbook -i hosts.txt test_play.yml -e 'nodes=local'"
run_process(cmd)
```

```
shell $ python test.py
```

##### Expected Results:
```
PLAY [Test] *******************************************************************

TASK: [Waiting for User] ******************************************************
[localhost]
Do you want to continue (yes/no)? :
```

##### Actual Results:
```
PLAY [Test] *******************************************************************

TASK: [Waiting for User] ******************************************************
[localhost]
```
12 years ago
James Cammarata df9de6ea71 Expand the source path in the action plugin when not using a remote source
Fixes #6209
12 years ago
Serge van Ginderachter 9833263417 Fixes templating of ansible_ssh_host for delegates 12 years ago
James Cammarata c11e2100e0 Save the original transport in runner after detecting the smart transport
Fixes #6192
12 years ago
Michael DeHaan cd7d7eb1bc Merge pull request #6202 from muffl0n/unarchive_destdir
unarchive: output dest in error-message
12 years ago
muffl0n 17946b23d5 output dest in error-message 12 years ago
Richard C Isaacson 9c8bbe2904 column must always be less than len(probline)
Fixes related to GH-5773.
12 years ago
James Cammarata 14ba10393b Minor tweak to region config in boto configuration file 12 years ago
James Cammarata 88acb48e61 Merge branch 'ec2_boto_config_region' of https://github.com/willthames/ansible into willthames-ec2_boto_config_region 12 years ago
James Cammarata 2a383786dd And remove the expanduser calls from the action_plugin 12 years ago
Richard C Isaacson 585766201d When looking for double colon len(line) is longer then 1.
Addresses GH-5116.

It comes up that when parsing json that if you are missing the last double quote on the last variable and the next line is just '}' we will get an out of range error. In this instance we will also then make sure that the line is long enough to have two colons.
12 years ago
James Cammarata b758ed9417 Merge pull request #6150 from hkariti/fix_join_bug
Fix incorrect use of .join on list causing a traceback
12 years ago
James Cammarata 96f1c3ce2e Move where the expanduser call is made, to avoid issues with None 12 years ago
James Cammarata e659d55d62 Merge branch 'devel' of https://github.com/muffl0n/ansible into muffl0n-devel 12 years ago
James Cammarata 5ff20c1ae7 Merge branch 'scottanderson42-ec2-params' into devel 12 years ago
James Tanner baed7a0ed9 Fixes #6187 Add unit tests for VaultLib 12 years ago
Michael DeHaan 33857855ad removing some unusued files. Paramiko alt was an experiment to attempt pipeline for paramiko, ssh_old is the non-pipelining-supported earlier
version of the OpenSSH transport, which is configurable now and unified.
12 years ago
James Tanner 35def422a3 Addresses #6188 Add --vault-password-file to bin/ansible and bin/ansible-playbook 12 years ago
James Cammarata 8a7c68dc18 Merge branch 'ec2-params' of https://github.com/scottanderson42/ansible into scottanderson42-ec2-params
Conflicts:
	lib/ansible/module_utils/ec2.py
	library/cloud/ec2
12 years ago
Richard C Isaacson af616fe15e Rename flatten funciton.
flatten(x) is used a lot in the various lookup plugins where in each it is slightly different. This is to make this name slightly more unique.
12 years ago
Kent R. Spillner 1fcc9ff666 lookup_plugins: loop over hashes
Create a lookup plugin named dict that can be used to loop over hashes.
It converts a dict into a list of key-value pairs, with attributes named
"key" and "value."  Also adds a brief explanation and simple example to
the docs.

Signed-off-by: Kent R. Spillner <kspillner@acm.org>
12 years ago
James Tanner 876035c0b1 Fixes #6161 Get the delegate host info properly from the hostvars object 12 years ago
James Tanner 9209581565 Fixes #6155 Inject checkmode into synchronize module args 12 years ago
James Cammarata a18f811b2d Merge branch 'jimi-c-issue_4620' into devel 12 years ago
James Cammarata f23ccebbdc Merge branch 'issue_4620' of https://github.com/jimi-c/ansible into jimi-c-issue_4620 12 years ago
James Tanner 0f95a905d9 Fixes #5965 Ensure the inject for each item in a loop is un-altered 12 years ago
Iordan Iordanov a1854bb762 Add support for checking host against global known host files. 12 years ago
James Cammarata 3b2d409906 Fixing several bugs in assemble and updating tests
Bugfixes:
* the remote_src param was not being converted to a boolean correctly,
  resulting in it never being used by the module as the default behavior
  was remote_src=True (issue #5581)
* the remote_src param was not listed in the generic file params, leading
  to a failure when the above bug regarding remote_src was fixed
* the delimiter should always end with a newline to ensure that the file
  fragments do not run together on one line

Fixes #5581
12 years ago
jctanner 8a253bf576 Merge pull request #6151 from jctanner/vault_rewrite
Vault rewrite, pass 1
12 years ago
jctanner 93c746db9c Merge pull request #5651 from nikut/sshfix
allow ansible_ssh_private_key_file to be templated (thanks to benno)
12 years ago
James Tanner 9c9f15acb7 Fix decryption error 12 years ago
James Tanner 52a8efefba Vault rewrite, pass 1 12 years ago
Hagai ae9c0d87a9 Fix incorrect use of .join on list 12 years ago
Richard C Isaacson 8be8dbc9ed Formatting cleanup. 12 years ago
Richard C Isaacson aaf0a182e1 Merge remote-tracking branch 'jeromew/ansible_script_creates' into issues_4986 12 years ago
Veeti Paananen dd6f2e6bfa Show the offending file name with the include + with_items error 12 years ago
Michael DeHaan 9686695170 Assume empty files are unencrypted. 12 years ago
James Tanner 4af1d6098b Fixes #5939 Allow for delegate hosts that are not in inventory 12 years ago
James Cammarata fa1ab231c9 Fixing bug in which playbook vars were not merged properly
This occurred when a hash would be passed in via extra args and the
hash variable behavior was set to 'merge', which resulted in the
variable from extra args replacing the playbook variable.
12 years ago
Michael DeHaan bc65956798 Add tests that leverage most of our custom filters. A few more to add. 12 years ago
James Cammarata f5505425f9 Adding 'expanduser' filter to the core filters list
Example usage: {{ my_path | expanduser }} # my_path: "~/path/to/file"
12 years ago
James Cammarata ef2df8157a Fixup result dictionary when copy module calls file module 12 years ago
muffl0n b0f00cc097 already call expanduser in action_plugin 12 years ago
muffl0n 5f0e882d01 call expanduser for src and dest 12 years ago
root 0df166e7c0 Copy tests WIP, fix bug in assert module upgrades where the wrong value was being checked. 12 years ago
James Cammarata 54117ab28f Modified assert module to take tests as an array 12 years ago
James Tanner bee089d5e1 Remove entropy comment 12 years ago
James Tanner 86b9f84fb9 Change entropy message for vault 12 years ago
Richard Isaacson dc403eb21e Merge pull request #6058 from jctanner/vault_squashed_2
Ansible vault: a framework for encrypting any playbook or var file.
12 years ago
James Tanner 3a965a1392 Remove intermediate string on decrypt 12 years ago
James Tanner 286ca505bd Remove breakpoint 12 years ago
James Tanner 84467a8f12 Change retype to confirm 12 years ago
James Tanner aa46ab1d86 Fix function name 12 years ago
James Tanner 3fc87e011b Fix all other calls to yaml 12 years ago
James Cammarata b6222abee6 Fix unicode decode error in syslog for modules
Fixes #6056
12 years ago
James Tanner 427b8dc78d Ansible vault: a framework for encrypting any playbook or var file. 12 years ago
Richard C Isaacson 1ac19cb981 Copy action_plugin: encode content when dict.
When content is processed and found to be valid JSON it is decoded into a dict. To write it out to a file we need to encode it back into a string.

Addresses GH-5914.
12 years ago
James Cammarata f29ce80d12 Default port to 22 for paramiko when it is unset 12 years ago
James Cammarata 92cbfff904 Merge branch 'sshdefault' of https://github.com/craigtracey/ansible into craigtracey-sshdefault 12 years ago
jeromew 7a14cb61c4 Add creates= and removes= to the script: action 12 years ago
Niku Toivola 6cc9b16f06 allow templating of ansible_ssh_private_key_file also in the synchronize module 12 years ago
Niku Toivola 2faaff78ee removed comment 12 years ago
Niku Toivola 68a3e8163e allow ansible_ssh_private_key_file to be templated (thanks to benno) 12 years ago
Martin Thorsen Ranang 7e23ed345f Avoid breaking on unicode input when logging to syslog in modules
After commit 254f87e, non-ascii input broke logging to syslog.
12 years ago
James Cammarata 0cfaabf9cb Make sure unicode params don't break logging in modules 12 years ago
James Cammarata 788ac51185 Sanitize sudo success_key from stdout for raw/script modules
Fixes #5533
Closes #5605
Closes #5606
Closes #5607
12 years ago
Richard C Isaacson 80ddd1ca75 Config resoution order correction and documentation. 12 years ago
James Cammarata 4012f4bb95 Merge branch 'allow-equals-in-ini-vars' of https://github.com/worklez/ansible into worklez-allow-equals-in-ini-vars 12 years ago
James Cammarata faa645c834 Merge pull request #6001 from jimi-c/issue_4087_sanitize_output
Filter out messages that match the pattern username:password@host
12 years ago
Ilya Kuznetsov 0658847ea6 Allow equal sign in single-line ini variables 12 years ago
Michael DeHaan c91ceddfac Add the start of an integration test structure using Ansible playbooks, also added an assert action plugin to make writing those easier. 12 years ago
Chris Hoffman affed67ebd Small fix for ec2 validate_certs option 12 years ago
James Cammarata b8646991db Filter out messages that match the pattern username:password@host
This filtering is done in both the module invocation logging and in
the regular verbose() logging output.

Fixes #4087
12 years ago
James Cammarata 056d54ebd3 Adding 'validate_certs' option to EC2 modules
When disabled, the boto connection will be instantiated without validating
the SSL certificate from the target endpoint. This allows the modules to connect
to Eucalyptus instances running with self-signed certs without errors.

Fixes #3978
12 years ago
Brian Coca 31b5728618 directory detection should now work on BSDs, added AIX alternate path 12 years ago
James Cammarata 254f87e7dd Fix log handling of unicode output to syslog in modules 12 years ago
Richard Isaacson eb4a730933 Merge pull request #5969 from risaacson/pull_5136
Updates for the unarchive module and action_plugin.
12 years ago
Richard C Isaacson 598b9c6b7c Cleanup per notes.
Some small changes to per notes from @mpdehann.
12 years ago
Richard C Isaacson cb7c2b7524 Updates for the unarchive module and action_plugin.
There is a bit going on with the changes here. Most of the changes are cleanup of files so that they line up with the standard files.

PR #5136 was merged into the current devel and brought up to working order. A few bug fixes had to be done to get the code to test correctly. Thanks out to @pib!

Issue #5431 was not able to be confirmed as it behaved as expected with a sudo user.

Tests were added via a playbook with archive files to verify functionality.

All tests fire clean including custom playbooks across multiple linux and solaris systems.
12 years ago
Jacob Weber 35742fe008 Add regex_replace jinja2 filter 12 years ago
Richard C Isaacson e6c9705058 Merge remote-tracking branch 'pib/unarchive_remote' into pull_5136 12 years ago
James Cammarata a023cbce14 When using jsonify in modules, try several unicode encoding for dumps()
Fixes #4821
12 years ago
James Tanner 9ce46e5f41 Refactor the synchronize action plugin and add unit tests 12 years ago
James Cammarata 3f90020d62 Open LOG_LOCK file with FD_CLOEXEC to prevent file descriptor leakage
Fixes #5399
12 years ago
James Cammarata bbda98a3ee Merge branch 'issue_4812' into devel 12 years ago
James Cammarata bb79b16d59 Specify mode in the makedirs call for fireball/accelerate keys 12 years ago
James Cammarata 65cb79a5c1 Merge branch 'devel' of https://github.com/xyrix/ansible into xyrix-devel 12 years ago
Scott Anderson baf508a379 Change standard AWS access and secret key parameter names to aws_access_key and aws_secret_key. Fixes an authentication problem with the rds module and standardizes the naming convention on something more encompassing than ec2_*_key. 12 years ago
Richard C Isaacson 786e3d2fd2 Refining the fix made in #5885.
It turns out that some of the assumptions in #5885 were slightly off. The previous fix relied on a call to the module to creat a tmp_path. This is insufficent as there are few cases that we need to have the tmp directory before we make the module call. If we don't have a tmp_path before we do a recursive call or when we find a file that does not match the remote md5 hash we need to create a tmp directory. Also we are not more percise when we will need to clean up the remote tmp_path.
12 years ago
Michael DeHaan 1609dfbca4 Revert "Revert "Revert "Add the fork manager code (related to previous patch)."""
This reverts commit 60d3611b70.
12 years ago
Michael DeHaan 633d685bb7 Revert "Revert "Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks"""
This reverts commit 73ca1a173c.
12 years ago
Michael DeHaan ad8c275887 Revert "While the previous work on the foon class can't be quite recycled, it's still a nice abstraction."
This reverts commit caab52aee2.
12 years ago
Michael DeHaan caab52aee2 While the previous work on the foon class can't be quite recycled, it's still a nice abstraction. 12 years ago
Michael DeHaan 73ca1a173c Revert "Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks""
This reverts commit 6685b4989e.
12 years ago
Michael DeHaan 60d3611b70 Revert "Revert "Add the fork manager code (related to previous patch).""
This reverts commit c53538dc77.
12 years ago
Michael DeHaan 6685b4989e Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks"
This reverts commit 85d66b9a0c.
12 years ago
Michael DeHaan c53538dc77 Revert "Add the fork manager code (related to previous patch)."
This reverts commit adb1719fe8.
12 years ago
Michael DeHaan adb1719fe8 Add the fork manager code (related to previous patch). 12 years ago
Michael DeHaan 85d66b9a0c This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks
between tasks in a playbook is avoided.  The fork pool will be regenerated when a second play comes along and needs more hosts.
12 years ago
Richard Isaacson 2d88246c9d Merge pull request #5885 from risaacson/issue5739_4
Addresses #5739 and cleans up copy.py
12 years ago
James Tanner b3ab7e7885 Check mutually_exclusive parameters before applying defaults 12 years ago
Will Thames d5c309e20d Pick up default EC2 region from boto.config
This doesn't account for boto configs where e.g. RDS has one
default region and EC2 another - all will default to `ec2_region_name`.

However, this is just handy to allow an easy site wide default
region if existing configuration already relies on it.

Modules can be improved to mention this in the documentation and
turn off required=True where needed. But it works with `ec2`
and `ec2_vol` without change.
12 years ago
jctanner 0bc0315171 Merge pull request #5880 from willthames/ec2_modules_refactor
Create a common EC2 connection argument spec for EC2 modules
12 years ago
xyrix 20d97416e5 fixed thinkoes 12 years ago
xyrix 0af40374ed fixed file perms checking 12 years ago
xyrix 1de45bf687 made accelerate keys directory configurable, and permissions for the file and dir configurable, and gave them a safe default 12 years ago
James Cammarata a72dc2ec34 Use finalize method in jinja2 to convert None values to empty strings
Fixes #4812
12 years ago
Will Thames 7600c664fe Create a common EC2 connection argument spec for EC2 modules
Refactor the currently well-factored ec2 modules (i.e. those that already use ec2_connect) to
have a common argument spec. The idea is that new modules can use this spec without duplication
of code, and that new functionality can be added to the ec2 connection code (e.g. security
token argument)
12 years ago
jctanner 28933de84d Merge pull request #5771 from bcoca/play_hosts2
added new play_hosts var
12 years ago
James Cammarata 959a156195 Properly count newlines appearing at the end of templates after rendering
Fixes #4633
12 years ago
James Cammarata ca0ec800d8 Revising method for parsing ranges from --limit subsets
Also added a new test (test_subset_range) for future validation.

Fixes #4620
12 years ago
Richard C Isaacson ac0a5c8ad5 Dug into the remaining FIXME and replaced with comments to document the expected behavior. 12 years ago
Luca Berruti 75b7a1d9c7 Fix slow ssh
We break the read while loop after waiting "the end of the process" and
the pipes are empty, otherwise we do another select that waits all the
timeout.
12 years ago
jctanner a0f91f2aaa Merge pull request #5576 from xyrix/symlink-bug-fix
fixed bug causing symlinks to fail in the host_vars, group_vars etc dire...
12 years ago
jctanner 253fe7be50 Merge pull request #5662 from RSpiertz/update_playbook_error
PlayBook: better error message
12 years ago
Richard C Isaacson a3261500dd Addresses #5739 and cleans up copy.py
The copy action_plugin is not easy to read. Part of this commit is taking that file, restructuring it, and adding comments. No functionality changed in how it interacts with the world.

The fix for #5739 ends up being the assumption that there is a cleanup 'rm -rf' that happens at the end of the copy loop. This was not the fact before and we made a bunch of tmp directories that we hoped would end up being cleaned up. Now we just use the tmp directory that the runner provides and cleanup inline if it is a single file to be coppied or after the loop if it is a recursive copy.

As a part of this we did end up having to change runner to provide a flag so that we could short the inline tmp directory removal. This flag defaults to True so it will not change the behavior of other modules that are being called.
12 years ago
James Tanner 5fafc61008 Fixes 5870 Template delegate hostname earlier in the process 12 years ago
James Tanner d355d3c698 Fixes #5818 Default to all known connection information for the delegate host 12 years ago
Timur Batyrshin 658c15930e reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 (#5852) 12 years ago
James Cammarata 2d0e9cd75d Revert "Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks."
This reverts commit b20dc4f578.
12 years ago
James Cammarata ae9843fccd Fix issue with handler notifications being sent out incorrectly
This is a partial revert of e8ad36c, which introduced the bug.

Fixes #5848
12 years ago
James Cammarata 9ff99acaff Merge branch 'issue5739_3' of https://github.com/risaacson/ansible into risaacson-issue5739_3 12 years ago
Brian Coca ff024b65b2 now with_items also accepts sets
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Richard C Isaacson b20dc4f578 Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks. 12 years ago
James Cammarata 75e3b59bbd Adding no_log: capability for tasks
Fixes #4088
12 years ago
James Tanner e6aeb191d5 Revert "Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh"
This reverts commit fe091ec00d, reversing
changes made to aed2194b1d.
12 years ago
James Cammarata 9574f89471 Detect remote_user change in accelerate daemon and allow a restart
Fixes #5812
12 years ago
jctanner 6c25ea1b91 Merge pull request #5527 from sergevanginderachter/basedirdwim
path_dwim: fix when basedir not set
12 years ago
James Cammarata f955d9db6a Handle implicit localhost when using '-i host,' syntax
Fixes #5820
12 years ago
jctanner 360f06b41d Merge pull request #5806 from sivel/rax-mod-utils-improvements
Rax mod utils improvements
12 years ago
James Cammarata 5cc354696d Build variable dictionary on included plays without using dict()
Using dict(k=v) means the key was always named 'k', as the variable
is not interpreted there.

Fixes #5801
12 years ago
Michael DeHaan d07a3b5e9b AnsibleWorks -> Ansible 12 years ago
Heikki Hokkanen b6875b3b87 Fix .ssh/known_hosts path expansion.
In particular, do not rely on the $USER environment variable always existing.
tmux for example seems to clear it, causing lots of invalid messages:
"previous known host file not found"

This broke in commit 80fd22dc, but instead of reverting that commit, we now
fall back to expanding just ~ when $USER is not set.
12 years ago
Matt Martz ac666e63e0 Support providing a tenant_name also 12 years ago
Matt Martz aa709012ba Make sure to also include the region when using keyring_auth 12 years ago
Matt Martz 021b926235 Only specify to USE_KEYRING as the api_key/password when we actually got a keyring_username from ~/.pyrax.cfg 12 years ago
Matt Martz 1ac7dffd55 Support using ~/.pyrax.cfg and multi environments 12 years ago
Matt Martz 139e905e98 identity_type is set dynamically above 12 years ago
Matt Martz bc473c5be3 Support additional attributes that would allow the rax modules to work with other OpenStack clouds 12 years ago
Matt Martz d7597414b8 Support keyring for the api_key 12 years ago
James Tanner fe091ec00d Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh 12 years ago
Adam Heath aed2194b1d self.su_user is done earlier in the code path, and is auto-vivified from
su_user_var.  My last PR was only half merged, and when the bug fix for
the su/su_pass typo was merged, the removed line in this commit was
mistakenly reintroduced.
12 years ago
James Tanner 3ec043ec17 Fixes #5750 Fail on missing ~/.ssh and ignore accept_hostkey if stricthoskeychecking is off 12 years ago
James Cammarata 88e2595a90 Fixing bug relating to su without an su_pass 12 years ago
Adam Heath fac7c6d3fe Allow su_user to be templated, same as sudo_user. 12 years ago
James Cammarata 3fddd78ec5 Fixing traceback caused by incorrect argument passing to json.dumps
Fixes #5756
12 years ago
Brian Coca 59d5892fa3 added new play_hosts var
this variable has the 'current host list' to be executed over in the
play. Useful when using --limit to not iterate over hosts not included
in play in templates or with_items.

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
jctanner b2d594d24e Merge pull request #5724 from angstwad/su-tasks-fix
Fix bug where playbook tasks do not escalate privs with 'su'
12 years ago
jctanner 19e8742005 Merge pull request #5713 from angstwad/su-fix
Disallow su and sudo params in same play/task
12 years ago
Craig Tracey 8c6b3baf6f Make default ANSIBLE_REMOTE_PORT None
The ansible remote port should be None, not 22. Having a default value
of 22 means that '-o Port 22' will be appended to the ssh connection
all of the time. This is incorrect as when one would like to use
something like an ssh configuration file (-F) that sets the port to
something other than 22.

Part of this change requires that we check that, in get_config, the
value is not None before trying to cast it into an integer or float.
12 years ago
Paul Durivage e875089eba Fix bug where self.su was being set by the sudo param in play tasks 12 years ago
Paul Durivage 01d1bd61e7 Disallow su and sudo params in same play/task 12 years ago
James Cammarata ff8eb5f454 Merge pull request #5722 from jeromew/pipelining_default
Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean
12 years ago
jeromew ef69d23715 Bug: chmod should be called only if the tmp dir was created in the first place 12 years ago
jeromew 3f23483022 Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean 12 years ago
Thomas Omans 9343db69b4 Fixing whitespace 12 years ago
Thomas Omans ce0b5d16b3 Allow templates in ansible_sudo_pass inventory var
Template ansible_sudo_pass the same way we template ansible_ssh_pass.
12 years ago
Matt Martz 5ba6739603 Use realpath for plugin directories instead of abspath 12 years ago
James Tanner 61d283e2ad Fix merge conflicts from #5519 12 years ago
jctanner da136dbe7c Merge pull request #5694 from angstwad/add-su-support-revert
Add su support
12 years ago
Rob Smith 761fe8cc04 Fix an issue where git-pull fails with AttributeError
As part of 94f3b9bfab the code was changed to support dynamically adding localhost to the inventory. This change introduced an crash when run via ansible-pull

```
Starting ansible-pull at 2014-01-20 23:09:57
Traceback (most recent call last):
  File "/tmp/ansible/bin/ansible", line 157, in <module>
    (runner, results) = cli.run(options, args)
  File "/tmp/ansible/bin/ansible", line 82, in run
    hosts = inventory_manager.list_hosts(pattern)
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 372, in list_hosts
    result = [ h.name for h in self.get_hosts(pattern) ]
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 136, in get_hosts
    subset = self._get_hosts(self._subset)
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 177, in _get_hosts
    that = self.__get_hosts(p)
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 198, in __get_hosts
    hpat = self._hosts_in_unenumerated_pattern(name)
  File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 275, in _hosts_in_unenumerated_pattern
    ungrouped.add_host(new_host)
AttributeError: 'NoneType' object has no attribute 'add_host'
```

The root cause is there is no group for the host to be added to. I fixed this case by creating the ungrouped group when it doesn't exist and then adding the host to the newly added group. This fixes the regression for me.
12 years ago
Rob Smith 953dc6b345 When not finding a host in ~/.ssh/known_hosts, the return value is 0 if the host just is not found. We then never check the system host file in /etc. This fixes the code to check /etc on any failure, not just a bad return code. 12 years ago
Paul Durivage f72f5a20df Revert "Revert "Merge pull request #5325 from angstwad/add-su-support""
This reverts commit c17d0e0357.

Conflicts:
	lib/ansible/runner/connection_plugins/paramiko_ssh.py
12 years ago
Paul Durivage 4c84ba74b0 Resolve su bug in paramiko libs 12 years ago
Jesse Keating 6013f0738e Store the list of hosts to run on in runner object
This reduces the number of times inventory.list_hosts is called, which
can be costly. When coming from a playbook that data is already known.
12 years ago
Jesse Keating e8ad36c8d4 Store hosts for a play as a play attribute
Operate on that play attribute to make things faster for larger
inventories. Instead of making a round trip through inventory.list_hosts
and working through some lengthy list comprehensions over and over
again, calculate the potenital hosts for a play once, then reduce from
it the unavailable hosts when necessary.

Also moves how the %fail is done. The host count is a play level count
of available hosts, which then is compared after each task to the
current number of available hosts for the play. This used to get a new
count every task which was also time expensive.
12 years ago
James Tanner 94f3b9bfab Fixes #3129 Do not require localhost to be in inventory 12 years ago
James Tanner c17d0e0357 Revert "Merge pull request #5325 from angstwad/add-su-support"
This reverts commit 6f4bfa2cff, reversing
changes made to c91ba3a7c7.
12 years ago
Paul Durivage 8cf071f697 Hostvars support for su 12 years ago
Paul Durivage dec9131735 Ensure playbook support for su params 12 years ago
Paul Durivage d21281ff43 Resolve rebase conflicts 12 years ago
Paul Durivage ab6ee1a282 Enable su support in paramkio; disable su support in fireball, local, accelerate, chroot, jail, funcd connection plugins 12 years ago
Paul Durivage 4088243deb Proposing fix for Issue #4324; adding support for su in connection plugins ssh, ssh_alt
Fixes for ssh_alt support, adding in references to in_data where appropriate
12 years ago
Michael Scherer 5c5c8fd7ce Make synchronize module work better with local transport, fix #5668 12 years ago
Rutger Spiertz dec6345fe6 PlayBook: better error message
When a PlayBook has missing arguments the error message now shows which ones are missing.
12 years ago
James Tanner 559e89036b Fixes #5631 Return a unique list of hosts when joining groups 12 years ago
James Cammarata 02ce5af6df Added ANSIBLE_SSH_PIPELINING option to enable/disable pipelining support
Pipelining will be disabled by default, since it requires users remove
the 'requiretty' option from the servers sudoers configuration.
12 years ago
James Cammarata 233aae5861 Reverting paramiko_ssh/alt changes from yesterday 12 years ago
Matt Martz d46037d64c Do not log the rax api_key argument in module invocation 12 years ago
James Cammarata 36e6709771 Don't use pipelining when ANSIBLE_KEEP_REMOTE_FILES is enabled 12 years ago
James Cammarata df13b19fe1 Moving {ssh,paramiko}_alt connection types to be the defaults
The previous implementations will be kept for now as _old
12 years ago
James Cammarata c27db84e41 Adding paramiko_alt - pipelining support for paramiko connections 12 years ago
jctanner 91c5c9da08 Merge pull request #5465 from deonbredenhann/false_mandatory_variable
Treat a False mandatory variable as defined.
12 years ago
jctanner 59d99c17b3 Merge pull request #5337 from bob-smith/bugfixFQDNParsing
Fix inventory parsing so that FQDN can be parsed without throwing ssh port error
12 years ago
jctanner a6bc63512e Merge pull request #5308 from zecrazytux/fix/hash_merge_dynamic_inventory
Let merge hash_bahaviour work with dynamic inventory
12 years ago
jctanner 671b0454c6 Merge pull request #4987 from jpmens/lookup-csvfile
New lookup plugin csvreader
12 years ago
willthames 31f5ecea60 Allow float as an argument type in AnsibleModule 12 years ago
Rob Smith c15cffabdd This fixes bugs added as a part of 8665b0638a
1. if accept_hostkey is false, no matter if the host key is known or not, it will fail.

2. We don't check for the host key in /etc/ssh/ssh_known_hosts

This fixes both of those issues.
12 years ago
James Tanner 3719f3f496 Do not fetch or add keys for http based git urls 12 years ago
James Tanner eeee1e1c5a Set accept_hostkey to False by default in the git module and fail
early if the key is unknown
12 years ago
James Tanner 8665b0638a Add an "accept_hostkey" parameter to the git module to help automatically
accept hostkeys for git repos and prevent task hangs when the key is unknown
12 years ago
James Tanner 09e0d052ca Ensure sys.stdout has an istty method 12 years ago
James Tanner d7c8cf6ca7 Fixes #4958 Truncate printed stdout if it contains non-printable characters 12 years ago
jay e1f5b801cf fixed bug causing symlinks to fail in the host_vars, group_vars etc directories 12 years ago
James Tanner 78ec7c736f Fixes #3973 Second Revision of live ansible-pull output 12 years ago
Luca Berruti ae543eecab Simplified p.poll handling 12 years ago
James Tanner c408bcea31 Update sshpass hostkey error message 12 years ago
James Tanner 0b64408f5a Fixes #5531 Give the user a better error message when sshpass does not know the remote hostkey 12 years ago
Matt Martz f99500d65c Expose the playbook to callback plugins 12 years ago
jeromew 69febcefde remove useless create/delete remote tmp dir roundtrip in copy module 12 years ago
Serge van Ginderachter 836fb4143c path_dwim: fix when basedir not set 12 years ago
jeromew c9b01febb3 Make sure 'tmp' is in the remote tmp dirname to ensure correct cleanup 12 years ago
jctanner 21b4212ff5 Merge pull request #5517 from lichesser/fix_set_depreciation_warning
Fixes #5513. set is built-in since 2.4 and deprecated since 2.6
12 years ago
jctanner 83dec044ab Merge pull request #5504 from smoothify/synchronize-sudo
Synchronize Module: Improved sudo override behaviour.
12 years ago
jctanner 9a69b1b0ec Merge pull request #5311 from willthames/ec2_refactor
ec2 modules: Move more responsibility to common EC2 module
12 years ago
James Tanner d6b78e9dd6 Fixes #5238 Improve error messaging about unquoted variable references in playbooks 12 years ago
James Tanner ab51bd23a2 Fixes #5196 return a unique list of hostnames for a single host pattern 12 years ago
smoothify 93a55e8dff Don't override sudo if transport is set to local.
https://github.com/ansible/ansible/pull/5251
12 years ago
Michael DeHaan c039e276a2 Fact gathering on a second play against the same hosts should not be implicitly off since this is an undocumented beheavior and potentially
rather unwanted when a play could change a fact.

gather_facts: True/False can still be explicitly used per play.

Reverts 564a212b3c
12 years ago
Michael DeHaan 87258f6d42 Resolve merge commit 12 years ago
Michael DeHaan 1c632af2c9 Merge pull request #5468 from jeromew/ansible_ssh_alt
fix issue #5372 on ssh_alt: accept -K option for a user with NOPASSWD
12 years ago
Michael DeHaan a3d90e8a87 Merge pull request #5498 from j2sol/exit_setup_early
Return early from setup step when possible
12 years ago
Michael DeHaan 227e8e31c9 Merge branch 'use_comps' of git://github.com/j2sol/ansible into devel 12 years ago
Michael DeHaan 10350d1639 Update various copyrights. Not complete, but sufficient. 12 years ago
Jesse Keating 23720ff19d Use list comprehensions for efficiency
For loops can be inefficient, particularly when doing a dot command with
them. https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Loops and
https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Avoiding_dots...

This patch makes use of list comprehensions to be as efficient as
possible while still retaining order. Efficiency was lost a bit when
switching away from sets() but this gains some of it back.
12 years ago
Jesse Keating 35328ed503 Return early from setup step when possible
The _list_available_hosts call can be lengthy, and in the case where
gather_facts is disabled the call is pointless. So re-arrange the logic
to return early from _do_setup_step when gather_facts is false.
12 years ago
Michael DeHaan c41a23a35a Complete removal/refactoring of conditional deprecations. 12 years ago
Michael DeHaan 8e5b7d3095 Remove code underlying when_* and only_if, which are deprecated features slated for removal in the 1.5 release. 12 years ago
Michael DeHaan 28b9fd4e30 We have had only_if, when_foo, etc, deprecated for a while and said they would be removed in 1.5. Now they are, with friendly error messages still.
Users of these features should use "when:" as documented at docs.ansible.com.

Similarly, include + with_items has been removed.  The solution is to loop
inside the task files, see with_nested / with_together, etc.
12 years ago
James Tanner 21fdb2bbc7 Fixes #5200 Handle template contents with unicode strings better 12 years ago
James Tanner fc473b3246 Fixes #5146 Handle missing stdin when running under celery with rabbitmq or redis 12 years ago
Michael DeHaan de2ffc1276 Don't need to document these guys. 12 years ago
James Tanner cb2214d6f8 Fixes #4935 Synchronize module: set destination to an fqdn if connection is not local, and abide by ansible_remote_user 12 years ago
jctanner 99560e3902 Merge pull request #5047 from sergevanginderachter/synch_template_ansiblesshhost
synchronize: allow ansible_ssh_host to be templated
12 years ago
jeromew b2cd4a62de fix issue #5372 on ssh_alt: accept -K option even for a user with NOPASSWD 12 years ago
Deon Bredenhann c85aac8b17 Treat a False mandatory variable as defined. 12 years ago
Deon Bredenhann 4f1f13b100 Remove trailing space 12 years ago
Levi Gross dc6a26123b
Fixed syntax error and removed unused imports 12 years ago
Michael DeHaan 643690ffec Remove depedency of lookup plugin on setting in ansible.cfg 12 years ago
Michael DeHaan 5b3c796641 Update constants.py
Lookup plugins for optional web services do not warrant advertising in ansible.cfg.
12 years ago
Stephen Fromm 833e1f6e2a Make sure action plugin copy cleans up tmp dir
The copy action plugin creates its own tmp dir for each file that it
copies to the target machine.  However, it does not clean up the
original tmp path it was given when run() is called.  This cleans up the
tmp path before it begins looping on source files.
12 years ago
dparalen 6bf5d664dc allow per-host sudo operation 12 years ago
James Tanner 993e0f057e Allow for no role dependencies in role metadata 12 years ago
James Tanner 1ef9930b80 Addresses #5341 Expand home directories when searching for roles in ansible-playbook 12 years ago
James Tanner 5d022182fe Fixes #5341 Use constants.py to set the roles directory 12 years ago
John Barker 4bf9f714d0 Fix inventory parsing so that FQDN can be parsed without throwing ssh
port parsing errors
Fixes problesm introduced by 948d019fef
Adds testcases to defend
12 years ago
jctanner ea8cd62b19 Merge pull request #5259 from mvo5/bugfix/improve-error-on-invalid-vars-file
improve error on invalid vars file (if its a list instead of a dict)
12 years ago
jeromew e4a3f49fa2 ssh_alt - only trigger 'fatal' when returncode == 255 (interpreted as 'could no connect') 12 years ago
willthames 12005a1cd0 Move more responsibility to common EC2 module
Moved `AWS_REGIONS` into `ec2` module
Created `ec2_connect` method in `ec2` module
Updated modules able to use `ec2_connect` and `AWS_REGIONS`
12 years ago
jctanner cd3144af5d Merge pull request #5178 from cavassin/devel
Prevents UnicodeEncodeError
12 years ago
James Tanner f3a4705a9c Revert "Merge pull request #4874 from leth/editable_install"
This reverts commit 15b89b45e1, reversing
changes made to 3d836a1ab7.
12 years ago
jctanner 15b89b45e1 Merge pull request #4874 from leth/editable_install
Fix setup.py to work with 'pip install -e .'
12 years ago
Sébastien Bocahu c8d5846ab9 Let merge hash_bahaviour work with dynamic inventory 12 years ago
jctanner 3d836a1ab7 Merge pull request #5247 from jeromew/ansible_ssh_alt
ssh_alt.py / decrease # of ssh roundtrips
12 years ago
jeromew 5c965a75f0 ssh_alt.py / decrease # of ssh roundtrips 12 years ago
jctanner 1679d83637 Merge pull request #5131 from janeznemanic/devel
Fix for issue #4730 - stacktrace when deferenencing a non-existent group
12 years ago
jctanner 301a1189dd Merge pull request #5122 from willthames/openlog_str
Make first argument to syslog.openlog be a string
12 years ago
Ferenc Grecu 56642f9b04 Remove unused parameter from _get_config 12 years ago
Michael Vogt bef5ee2c3b improve error on invalid vars file (if its a list instead of a dict) 12 years ago
Jesse Keating 8cef210aea Make sure ssh pipes are empty before moving on
Resolves issue #5082

Code as it was would hit a scenario where one of the FDs was not ready for
reading the first time through -- but p.poll() would show the process as
complete. This would cause ansible to continue on, while leaving some content
left in a pipe.

The other scenario -- the one that causes the unclosed quote, is if we go
through select.select() and we do get stdout in the ready for reading -- we
read from it (9000 bytes), but that's not all that is there. Again we'd get to
the p.poll() check and it would be indeed not none, but we would have left some
of stdout on the FD and thus the json blob would be malformed.

Tested with and without full ssh debugging.
Tested with and without ControlPersist
Tested with and without ControlPersist sockets already created
12 years ago
Michael DeHaan 929f8a5c93 Had to revert commits due to async. 12 years ago
Michael DeHaan 74e4ccb59b Revert "ssh_alt.py / decrease # of ssh roundtrips"
This reverts commit 7f8863f96d.
12 years ago
jeromew 7f8863f96d ssh_alt.py / decrease # of ssh roundtrips 12 years ago
jeromew db182ba498 copy ssh.py to ssh_alt.py 12 years ago
Paulo Bittencourt fc3597af5d files/file: add support for symbolic permission modes 12 years ago
Steve Smith 5b81f88c8f Cast the retrieved `retries` var to an int before incrementing as it may be in string form.
For example, the following method of calculating the value will result in a type error:

    appstatus_waitfor: 4  # Minutes
    appstatus_delay: 5 # seconds
    appstatus_retries: "{{ mins * 60 / delay }}"
12 years ago
Wanderlei Antonio Cavassin 6ba93817a9 Avoid UnicodeDecodeError exception when passing module args 12 years ago
James Tanner bf78d8cf73 Addresses #5090 setup module was using path.is_file instead of path.isfile 12 years ago
cavassin 10f5af82f9 Prevent UnicodeEncodeError
Prevents UnicodeEncodeError: 'ascii' codec can't encode character, while printing shell commands output
12 years ago
jctanner 7aa35d64c2 Merge pull request #5091 from EspadaV8/5089_assemble_fix
#5089 hack-fix assemble module
12 years ago
Paul Bonser 58acd8cce1 If there is no tmp_src, don't modify the args 12 years ago
Paul Bonser 4afcd50487 properly convert arg into boolean 12 years ago
Michael DeHaan 801ca96a8b Merge pull request #5152 from sivel/too-many-ps
The word skipped only has 2 p's not 3
12 years ago
Matt Martz 5f0f3566a6 Skipped only has 2 p's not 3 12 years ago
Matt Martz 8873c3675b Ensure we are looking for the right import to determine if the module_style is new. Fixes #5148 12 years ago
jctanner 2670529671 Merge pull request #5090 from dragon3/hostname_support_amazon_linux
hostname module: add support for Amazon Linux
12 years ago
James Tanner d227614529 Fixes #5109 synchronize module ssh port
Added a parameter for dest_port and also check ansible_ssh_port inventory variable.
12 years ago
Paul Bonser 5626efba7e Optionally unarchive a file already on the remote machine 12 years ago
jctanner 93159cb9cd Merge pull request #4996 from sivel/rax-module-utils
Implement ansible.module_utils.rax
12 years ago
Janez Nemanic 8752ae6909 Fix for issue #4730 - stacktrace when deferenencing a non-existent group 12 years ago
Will Thames 76aca4d547 Make first argument to syslog.openlog be a string
syslog.openlog expects its first argument to be a string.
Without this change running under ipython fails.
12 years ago
James Cammarata 9101c2af98 Fix traceback in template error detection code
Fixes #5081
12 years ago
Andrew Smith eed32ea70c dest_contents isn’t always defined, so don’t pass it around
I think this is also a bit of a hack since it should probably be set
before being used, I’m just not sure what it should be set to.
12 years ago
Andrew Smith e2d03173d2 The file module doesn’t have it’s module_args reset
I believe that this should be reset in the same way that the copy module
does
12 years ago
Andrew Smith 7b01c83159 Passing in complex_args throws ‘unsupported parameter for module’ errors
When using assemble only params (e.g. remote_src) the copy (and I’m
guessing file) modules throw an error that the param isn’t supported.
Simply removing the complex_args param fixes it for me, but I’m not sure
that’s the correct thing to do
12 years ago
Andrew Smith da44a7f0cb I think that resultant is meant to be the contents of the combined file
It is used for the transfer and as a diff param but isn’t actually
defined anywhere before it’s used. This seemed like the least bad place
to set it.
12 years ago
Andrew Smith 4503413baa ReturnData is used throughout but not actually imported 12 years ago
dragon3 d39e6fda92 hostname module: add support for Amazon Linux 12 years ago
Andrew Smith 7d007cac16 Correct the invocation of ‘_assemble_from_fragments’ 12 years ago
jctanner 920bc6e75b Merge pull request #5086 from j2sol/fix-accelerate_inventory
Avoid a traceback when using accelerate
12 years ago
James Tanner b6879ca2bd Fixes #5030 compare connection user and sudo user and disable sudo if identical 12 years ago
Jesse Keating 5522d489e3 Avoid a traceback when using accelerate
This bit of code is attempting to access accelerate_inventory_host,
which may not have been set/created. This will cause a traceback.
Instead use getattr with a fallback to False.
12 years ago
James Tanner 12ed39ef7b Fixes #5056 Append new hosts to the groups cache 12 years ago
James Cammarata 1f80aa768a Fix bug in error detection code, where a zero-length string was causing a traceback
Fixes #5064
12 years ago
Brian Coca 65885feeeb fixed typo for assemble function 12 years ago
James Tanner b8146e3bc7 Fixes #4979 Check for the correct context when inside the inventory_hostnames plugin 12 years ago
James Tanner 903c4cae7b Fixes #5031 Template the delay value and cast to float for loops 12 years ago
Serge van Ginderachter 2f9470ec1d synchronize: allow ansible_ssh_host to be templated
This is already enabled in the runner also.
12 years ago
Antonio Zanardo 8dbd91b5ad fix typo in deprecation warning 12 years ago
James Tanner bca2634d54 Fix missing eval for string search in ssh controlpersist 12 years ago
James Tanner a16fe923ed Addresses #5011 check for proper string in smartos ssh error output 12 years ago
jctanner 5c84d7e445 Merge pull request #5002 from ovcharenko/devel
Allow to specify ansible_ssh_private_key_file location related to user home directory
12 years ago
James Tanner 512ebdb971 Revert "Merge pull request #5001 from ovcharenko/devel"
This reverts commit d6c3103a00, reversing
changes made to b11f96eaa4.
12 years ago
Aleksey Ovcharenko 9af44b1b42 Update to 4 space indent 12 years ago
Aleksey Ovcharenko 30678e04ac Make tests happy 12 years ago
Aleksey Ovcharenko 2222f6df58 Allow to specify ansible_ssh_private_key_file location related to user home directory 12 years ago
Matt Martz 3f2cbb7583 Add ansible.module_utils.rax 12 years ago
James Tanner 9b991b9154 Version bump for 1.5 12 years ago
Jan-Piet Mens 252a51be91 New lookup plugin csvreader 12 years ago
James Tanner b815a09529 Fix pep8 error in password lookup 12 years ago
James Tanner e81c976636 Fix pep8 errors in unarchive module 12 years ago
jctanner 68afd9da9f Merge pull request #4866 from sergevanginderachter/known_hosts_sudo
Check real user's known_hosts when sudo ansible...
12 years ago
Brian Coca 34c33f7ea1 now correctly spell symmetric
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Brian Coca 460bbfaec1 added union filter
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Brian Coca afe30a6633 added difference and symetric difference filters
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Michael DeHaan fc909b453f Make the legacy template detection system not hit a false positive when
replacing a \$ with $.
12 years ago
jctanner 93223510af Merge pull request #4936 from stoned/group-get_hosts-perf2
Improve Group.get_hosts() performance.
12 years ago
Matt Haggard 389602b8dd Merge pull request #4920 from iffy/ansible
Collect all stdout over ssh transport before returning data
12 years ago
Michael DeHaan f18acee779 Merge pull request #4937 from skyl/synchronize-keyerror
KeyError: 'delegate_to' lookup in sync module needs to be checked to see if defined for ad hoc
12 years ago
James Tanner e8b54dd073 Fixes #4852 properly evaluate log_path writability 12 years ago
Skylar Saveland 7bc64581d7 KeyError: 'delegate_to' no more 12 years ago
Stoned Elipot b00bf02129 Improve Group.get_hosts() performance.
- reduce hosts group list to unique elements faster
- add a cache of already computed hosts group list
12 years ago
jctanner 009fdbf96a Merge pull request #4896 from mjschultz/aws-access-keys
Check for AWS keys using boto names
12 years ago
jctanner 04847191b4 Merge pull request #4879 from bcoca/unique_intersect
added unique and intersect filters for dealing with lists
12 years ago
jctanner 0f0a89b34e Merge pull request #4758 from alanfairless/group-host-var-dirs
Support organizing group and host variables across multiple files in a directory
12 years ago
jctanner 77affdefbc Merge pull request #4585 from mscherer/connec_func
connection plugin to reuse the func/certmaster interface instead of ssh
12 years ago
jctanner be67a6f815 Merge pull request #4625 from pileofrogs/devel
unarchive module & action plugin
12 years ago
jctanner e4494be8c6 Merge pull request #4803 from dragon3/devel
Don't fail if ec2_access_key/ec2_secret_key not specified to use IAM rol...
12 years ago
Michael J. Schultz 5f9485499c Check for AWS keys using boto names
- see https://github.com/boto/boto#getting-started-with-boto
12 years ago
James Tanner 33242cacf3 Merge pull request #4375 from pfalcon/ansible
copy: Implement recursive copying if src is a directory.
12 years ago
jctanner 9a7765daf7 Merge pull request #4351 from 2m/leading-range-fix
Allow leading ranges in the inventory host entries.
12 years ago
jctanner 6dd81f25d9 Merge pull request #4856 from akuznecov/devel
Resolves #4855 issue with synchronize module failing on multiple items
12 years ago
James Tanner f31cb7c6e8 Merge pull request #4664 from jpmens/ansible
Lookup plugin for etcd

with support for configurable etcd URL in ansible.cfg (and environment)
12 years ago
James Tanner dc41bb8085 Merge pull request #4207 from ashorin/ansible
Fail playbook when serial is set and hadlers fail on set.
12 years ago
jctanner 2cf335969f Merge pull request #4738 from bcoca/assemble_action_plugin
assemble can now use src from master/origin
12 years ago
Brian Coca efd87534eb added unique and intersect filters for dealing with lists
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
James Tanner 6e49ee6cfc Remove commented code block 12 years ago
James Tanner 288c33e286 Merge pull request #4078 from mkaluza/ansible
add 'chars' parameter to password plugin to allow custom character set
12 years ago
jctanner 0c29807ba3 Merge pull request #3993 from stoned/inventory-script-all-group-fix
Avoid duplicates of the 'all' group when using inventory script.
12 years ago
Marcus Cobden 8d98a55df1 Fix setup.py to work with 'pip install -e .' 12 years ago
Serge van Ginderachter 80fd22dce6 Check real user's known_hosts when sudo ansible...
closes #4834
12 years ago
James Tanner 74e7eba528 Fixes #4506 test length of context before checking invalid indexes 12 years ago
Alexander Kuznecov 9d2f9bf93c resolves #4855 12 years ago
jctanner 8e8c8efc8f Merge pull request #4769 from alanfairless/more-password-entropy-revised
Revised patch for more password entropy
12 years ago
jctanner f51b8ffde9 Merge pull request #4836 from dekked/devel
Bug fix: support running handlers parametrized by name
12 years ago
James Tanner 898de833b0 Merge pull request #4413 from jerm/ansible
Add capability to pass in a PATH prefix to run_command and allow pip module
to utilize that to make virtualenv bin/ available in pip installs
12 years ago
Alan Descoins bb6f02d0e8 Support running handler parametrized by name. 12 years ago
jctanner 8d9b53b445 Merge pull request #4733 from sivel/4323-sudo-pass
Add ansible_sudo_pass hostvar support. Fixes #4323
12 years ago
James Tanner d93780bc8a Addresses #4635 add list instead of join 12 years ago
James Tanner 2b5005687a Fixes #4635 pass role conditionals to dependent roles 12 years ago
James Tanner 91aa7b51df Remove invalid ipv6 parameter from setup execution 12 years ago
James Tanner c1ed47933b Fixes #4485 add an ipv6 parameter to accelerate so that the daemon will bind to an ipv6 port instead of ipv4 12 years ago
dragon3 ff5bd7fe06 Don't fail if ec2_access_key/ec2_secret_key not specified to use IAM role. 12 years ago
willthames 76c810afe3 AWS_ACCESS_KEY misspelt in shared EC2 connection library 12 years ago
Michael DeHaan eab6737209 Clarify a warning message. 12 years ago
Michael DeHaan 70c9028e1e include_vars plugin should look in vars/ path for a role. 12 years ago
Michael DeHaan 99687749a3 Merge pull request #4775 from steverweber/fix-4640
dont sudo if sudo_user is the same as the connection user
12 years ago
Steve Weber 5bd52796ec dont sudo if sudo_user is the same as the active user 12 years ago
James Tanner afa5988391 Fixes #4540 Use shared module snippet to evaluate ec2 credentials 12 years ago
Alan Fairless 0824f004d9 Revised patch for more password entropy 12 years ago
James Tanner dc4d589ce0 Fixes #4767 detect hard links and set state in add_file_info 12 years ago
Michael DeHaan b1b5280075 Reapply pep8 changes from previous revert. 12 years ago
Michael DeHaan 51fbc6d20a Further simplify the debug: var=foo action plugin code. 12 years ago
Michael DeHaan bbf212a268 Simplify the way the debug: var=varname plugin works. 12 years ago
Michael DeHaan 7f125567cb Some simplification of include_vars and renamed include_files to include_vars. 12 years ago
Michael DeHaan b69ab89eb1 Merge branch 'include_files' of git://github.com/bennojoy/ansible into devel 12 years ago
Michael DeHaan 465f3b1c91 This allows type=dict in a module to allow passing in a real dict or JSON. 12 years ago
Michael DeHaan 8b2cd6413b When inside an apt or yum task account for multiple conditionals. Fixes 4745. 12 years ago
Michael DeHaan d34a26e307 Undo an inadvertant revert from template changes so we still allow pythonic imports in module land. 12 years ago
Alan Fairless 65e5331079 Allow organizing host/group vars in a directory
So instead of having:
 group_vars/production.yml

A user could chose to reorganize to:
 group_vars/production/staff.yml
 group_vars/production/networks.yml
 group_vars/production/dns.yml

(Backwards compatible.)
12 years ago
Alan Fairless babde9a84c refactor to catch edge cases, remove repeated code
- Move all the supported YAML file extensions into a constant
- Use helper functions to avoid duplicate code for group/host vars
- Catch and disallow some confusing situations, such as the presence of
  multiple group/host vars files for the same group/host, but with
  different extensions.  For example having both group_vars/all.yml and
  group_vars/all.yaml.
- Catch and report file system permission issues, symlink errors,
  unexpected file system objects
- Trivial performance improvement from making fewer stat system calls
- Restructuring that makes it easy for a following patch to support
  directory recursion
12 years ago
Brian Coca ac40d15120 now assemble module is also action plugin and can use local source for
files
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Michael DeHaan 7b331ef6ed Fix code typo. I'll blame jet lag for now :) 12 years ago
Michael DeHaan 90cce35919 This allows variable references in playbooks in a different way. 12 years ago
Michael DeHaan b5c9d5a59b Inventory directory should always be absolute. Fixes #4535. 12 years ago
Michael DeHaan 7201a6ffad Evaluate the conditional for each item for modules that normally try to group with_items results
like yum and apt.
12 years ago
James Tanner 078aaa95a2 Revert 1f6edf7d76 and re-enable passing lists to yum and apt 12 years ago
Matt Martz ea2ec6237a Add ansible_sudo_pass hostvar support 12 years ago
James Tanner d154bf8781 Revert templating enhancements from 73dbab70 e6c28658 d409352c 9858b1f2 4587528b 9b1fe455 214b0b05 8d3db803 7f9504d1 5031104c 35cb9dc2 2bd8cb57 1e85c754 12 years ago
James Tanner 0faecdf7d1 Fixes #4653 Set dest on results for copy module even if using file module 12 years ago
James Tanner 9249cf578d Fixes #4572 Run until loop if until is set, ignoring result failures 12 years ago
Michael DeHaan 73dbab702f Don't run lookup plugins while trying to simplify the input datastructure. 12 years ago
Michael DeHaan 6d0da41a55 No need to template modules with Jinja2 as this can confuse some docstring comments. 12 years ago
bennojoy b53e7353f9 include files 12 years ago
Michael DeHaan 603db60828 Merge pull request #4288 from sivel/3725-regex
Add regex (search, match, regex) jinja2 filters. Fixes #3725
12 years ago
Michael DeHaan 4587528b99 Fix typo in comment. 12 years ago
Michael DeHaan d409352c85 Remove some interior imports in the code. Not really needed but nice to have them gone. 12 years ago
Michael DeHaan e6c28658b4 Add in some code to pre-template datastructures prior to template usage. This prevents a certain class of error
where filter evaluations can happen too early due to the template engine recursion being a bit limited.

Addresses #4662
12 years ago
Michael DeHaan f05a3a81f9 Add missing file. 12 years ago
Michael DeHaan 54c902f102 Identation + misc PEP8 fixes. 12 years ago
Michael DeHaan bbb359870e Add package file. 12 years ago
Michael DeHaan 9858b1f2f3 Enable imports to work on a snippet based system, allowing for instance a library of common EC2 functions
to be reused between modules.  See library/system/service and library/system/ping for initial examples.  Can
work the old way to just import 'basic', or can import the new way to import multiple pieces of code from
module_utils/.
12 years ago
jctanner 43f48a2e02 Merge pull request #4167 from tima/rsync3
synchronization module take 3
12 years ago
James Tanner 40886c42b5 Fixes #4561 Compare task name without role prefix for start-at-task 12 years ago
James Tanner 1f6edf7d76 Fixes #4665 and #4666 If task is conditional do not flatten items list for packaging modules 12 years ago
James Tanner 9b1fe455c6 Fixes #4549 Do not call lookup plugins when templating a task's name 12 years ago
Serge van Ginderachter 6277e770a1 include basedir as 'playbook_dir' variable
closes #4246
12 years ago
Jan-Piet Mens bd5cd8e652 Lookup plugin for etcd
with support for configurable etcd URL in ansible.cfg (and environment)
12 years ago
James Tanner b803aac6ec Fixes #4500 change ec2 module params to type=bool
Revert 4833c2fdf0
12 years ago
James Cammarata b9dd514713 Minor fix for putting 0-length files over accelerated connections
Fixes #4652
12 years ago
James Tanner 4833c2fdf0 Fixes #4500 python bools return uppercase True and False, so allow those for BOOLEANS in module common 12 years ago
James Tanner 214b0b052c Fixes #4608 add lookup to template globals to make plugins work again 12 years ago
Dylan Martin 2c28e1daea unarchive module & action_plugin added 12 years ago
James Tanner 4f13967386 Fixes #4536 Get the remote_user from multiple sources in a preferred order 12 years ago
Timothy Appnel cbae9c913e synchronize module src and dest handles template markers. 12 years ago
Michael DeHaan 60944b81f0 Provide warning about "with_items: '{{ loop }}'" being redundant only when {{ starts the expression value. Fixes #4582. 12 years ago
Michael DeHaan 2bd8cb5790 Make the deprecation detector in templates more accurate. Fixes #4514. 12 years ago
Michael DeHaan 4125b05bf3 Allow a defaults file to solely define a role. Some typo fixes. 12 years ago
Michael DeHaan 64bbeb9d24 Suggest fixing unbalanced quotes in a bit less cases. Fixes #4501 12 years ago
Michael DeHaan 7f9504d14d Fix a typo. 12 years ago
Michael DeHaan 8d3db80370 Some misc cleanup and removal of unused imports. 12 years ago
Michael DeHaan 21d4400c96 Misc pep8 fixes 12 years ago
Michael DeHaan c933a4c59a Fix indentation depth. 12 years ago
Michael DeHaan 5031104c3a Finishing touches on template cleanup. 12 years ago
Michael DeHaan 1e85c7544b Further WIP on template cleanup. 12 years ago
Michael DeHaan 35cb9dc22f Work in progress about cleaning up template code. 12 years ago
Michael Scherer af796d6556 connection plugin to reuse the func/certmaster interface instead of ssh
This plugin permit to use func to run playbook and ansible command instead
of ssh. It can be used for a smooth transition from func/taboot to ansible by
letting people use ansible without having to change their network architecture.
12 years ago
Brian Coca c476ed93ca now correctly changes script permission in all cases
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
James Tanner 8478e82647 Fixes #4583 enforce that vars_files is a list 12 years ago
Michael DeHaan b0f6e77f66 Merge pull request #4571 from tgerla/whitespace
add_group module: strip trailing/leading whitespace from comma-separated group names
12 years ago
Tim Gerla 51a1709253 add_group module: strip trailing/leading whitespace from comma-separated group names 12 years ago
James Tanner 242f20c297 Fixes #4402 wrong order for isinstance parameters in dnstxt.py 12 years ago
Martynas Mickevicius 7ecb5fbc9c Handle comment on inventory group line. 12 years ago
Martynas Mickevicius 44279ce34f Allow leading ranges in the inventory host entries. 12 years ago
jctanner 6480945184 Merge pull request #4541 from Kami/improve_template_render_error_messages
Make errors which get thrown during template rendering more user-friendly
12 years ago
Stoned Elipot 4430d0f5a6 when searching for a plugin only look for a regular file 12 years ago
Tomaz Muraus 922f61899e Throw a more user-friendly exception during template rendering process. 12 years ago
Gabe Mulley 84a57b7545 ensure non-root users can read arguments file when using sudo_user
Non-standard modules must read in the arguments file in order to access their arguments, however, when this file is transfered to the remote host it may only have the permissions 600.  This means that using sudo and sudo_user will result in permission denied errors when attempting to read the arguments file.

This patch fixes #4438 by explicitly forcing the arguments file to be world readable before executing the module.
12 years ago
Brian Coca bd9acedb57 fixed name colision between warnings dict and module
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Paul Sokolovsky 2e668f14f7 copy: Handle "no copy/propagate attrs only" for recursive mode well.
For this, add internal "original_basename" param to file module,
similar to copy module. (Param name is a bit misnormer now, should
be treated as "original basepath").
12 years ago
Paul Sokolovsky ce88df3cf4 copy: Handle dest path variations for recursive mode. 12 years ago
Paul Sokolovsky 6cf3975e2e copy: Set suitable default result for check mode. 12 years ago
Paul Sokolovsky 612b446856 copy: Don't modify input module_args in a recursive file handling loop. 12 years ago
Paul Sokolovsky b3b4f9885f copy: Implement recursive copying if src is a directory.
If src param to copy is a directory, all files under it are collected
and pushed one by one to target. Source dir path handled in a way
simalar to rsync: if it ends with slash, only inside contents of
directory are copied to destination, otherwise the dir itself is
copied (with all contents of course). Original idea and implementation
by https://github.com/ansible/ansible/pull/1809 . Rewritten to address
review comments and simplify/correct logic.
12 years ago
jctanner 69fa5954fd Merge pull request #3932 from jocelynj/devel
Add option remote_user to task level, to specify the ssh login user
12 years ago
Michael DeHaan e131de4de0 Added "debug: var=variableName" capability. 12 years ago
egghead ca7e2d283c Adding os realpath filter.
This is particularly useful when wanting to get the absolute path of filepaths found by the 'fileglob' filter.
This also lets you provide absolute paths to roles, which search for files in different areas unless absolutely pathed.
12 years ago
Michael DeHaan c90a82fd52 Handle possible scenario where conditional might be an integer (whoa!) down the error path. Super rare but fixes #4483. 12 years ago
Michael DeHaan 9ea54fcaaf Fixes a dev branch glitch where a conditional could be applied to multiple tasks. Also improves the errors on parsing bad conditionals to make them less confusing to users. 12 years ago
Thomas Omans 632232259a Adding config flag role_path for common/global roles
Using ANSIBLE_ROLE_PATH environment variable or role_path in ansible.cfg
can configure paths where roles will be searched for
extra paths will only be used as a backup once regular locations are exhausted
12 years ago
Michael DeHaan 43df00550d Merge pull request #3827 from mscherer/disable_callbacks
add a way for callback to disable itself
12 years ago
Michael DeHaan 1b2d4c328c Cache patterns a bit higher up to make things a little more efficient. See #4469. 12 years ago
Michael DeHaan d168c709d5 Fix an issue where the ordering of an include statement is processed ahead of the conditional in the included statement,
which required a redundant check to see if a variable was defined rather than short circuiting.

Fixes #4469
12 years ago
Michael DeHaan add45d2ca9 Fixup legacy var detector. 12 years ago
Michael DeHaan 709ffda3d1 Tweak only_if deprecation detector. 12 years ago
Michael DeHaan a45494a896 Add warnings feature. 12 years ago
Michael DeHaan 9637f620d7 Deprecation warnings of several flavors, nice and purple and can be disabled
in ansible.cfg.
12 years ago
Michael DeHaan a017a69bb3 Have the parser explain another type of YAML gotcha to reduce the need for users to ask how to resolve it. 12 years ago
Michael DeHaan 861f076df5 Tweak the syntax-detector-warning-suggester-message (SDWSM) a little. 12 years ago
Michael DeHaan 41aaad69aa Make add_host clear the inventory pattern cache, add some more aliases. Fixes #4442. 12 years ago
jctanner 65ef6a62dc Merge pull request #4425 from jeromew/ansible_sudo_user_with_items
Template sudo_user via with_items
12 years ago
James Cammarata d73a5da9e5 Merge pull request #4453 from pschwartz/fix_cfg_load_order_to_match_docs
GH-4452 Corrected config load order to match docs
12 years ago
Philip Schwartz 65c8c691f7 GH-4452 Corrected config load order to match docs with
cwd > ~ > /etc

Signed-off-by: Philip Schwartz <philip.schwartz@rackspace.com>
12 years ago
Matt Martz 61525a97df Add regex (search, match, regex) jinja2 filters. Fixes #3725 12 years ago
Serge van Ginderachter c4d20094b4 make changed filter understand results lists 12 years ago
Serge van Ginderachter e5d45311f9 Implement a |changed filter plugin 12 years ago
Serge van Ginderachter c2e5f783da Add caching to pattern enumeration
Inventory._hosts_in_unenumerated_pattern()

Was TODO: cache this logic so if called a second time the result is not
recalculated
12 years ago
jeromew dec364ae80 Template sudo_user via with_items 12 years ago
Michael DeHaan 3f968ff46a Check one more skipped scenario in with_subelements. 12 years ago
James Cammarata 9124ebb4f1 Clear out complex_args before running async_status
When using complex args with an async task, the subsequent runs of
async_status would inherit them, causing a module error (invalid params).

Fixes #3150
12 years ago
Michael DeHaan 2078518735 Allow subelements to work right with skipped results. 12 years ago
Jeremy Price 9da5043f18 Adding path_prefix to run_command so that one can pass in a path to the run environment if you nees something in a non-default path. 12 years ago
James Cammarata 948d019fef Detect IPv6 addresses in INI inventory
Prevents parts of the IPv6 address from being interpreted as a port
(for example, :80).

Fixes #3888
12 years ago
Michael DeHaan 6febc97104 Add a warning about include + with_items so nobody uses it. 12 years ago
James Cammarata 98f6bc1f63 Apply tags to dependent roles correctly
Fixes #4339
12 years ago
Michael DeHaan c69e19c6a6 Enhance references to logging functionality. Fixes #3431. 12 years ago
Michael DeHaan f081c68a65 Prevent duplicately loaded handlers from running more than once.
Fixes #3863
12 years ago
Michael DeHaan 5ed28efe45 Script module should return changed attribute so handlers always fire, unless "changed_when" is specified.
Fixes #4053
12 years ago
Michael DeHaan a7adc8ef4d Allow doing things like "groups.groupname" in with_nested.
Fixes #3858
12 years ago
Michael DeHaan 5e30cd999c Make it possible to say:
tags: 42

And have the tag be a string, not an int, so --tags matches.

Fixes #4110
12 years ago
Michael DeHaan 8fc46a3a5a Return inventory objects in the order they are presented. Additionally, fix host slicing such that it works on Python terms with
zero indexed lists and a non-inclusive final element.
12 years ago
Michael DeHaan 19386c43a7 Merge 12 years ago
James Cammarata d10582225b Merge branch 'issue_4215_fetch_expanduser' into devel 12 years ago
Andrey Shorin 35457b67f5 Pass host to runner_on_file_diff callback 12 years ago
Stoned Elipot e7957b6d58 Fix group_by: do not group a host for which a condition is false 12 years ago
Michael DeHaan 44e391fd8b Merge pull request #4255 from mcodd/legacy_vars_fix
Fix for legacy_playbook_variables (should fix issue #4254)
12 years ago
Michael DeHaan 65178290e7 Merge branch 'devel' of git://github.com/nextus/ansible into devel
Conflicts:
	lib/ansible/constants.py
12 years ago
Michael DeHaan ea73151757 Add automatic advice when folks hit one of two common but minor YAML gotchas, so they can be more easily correct them on their own. 12 years ago
Michael DeHaan 4987c73bb6 Proper check for raw as module options versus raw being in the string. 12 years ago
James Tanner 52aea868df Allow for updating host vars in add_host 12 years ago
James Cammarata d21714a37f Fix for network byte order issues in accelerate 12 years ago
James Cammarata 912e3a7b0b Merge branch 'accelerate_improvements' into devel
Conflicts:
	library/utilities/accelerate
12 years ago
James Cammarata fa80a17aa3 Make recv_data less greedy so it doesn't eat other packets 12 years ago
James Cammarata 8923a5b0d9 Drop default config value for accelerate timeout to 30 seconds 12 years ago
James Cammarata 12f6957596 Cleaning up some vvvv log messages in accelerate 12 years ago
James Cammarata 8c17711247 Removing accelerate_timeout as a playbook option
This will remain in ansible.cfg only.
12 years ago
James Cammarata d317103371 Added in an accelerate connection timeout setting 12 years ago
James Cammarata 59a5ce23d9 Adding an accelerate_timeout parameter for plays
This setting makes the timeout for each play configurable, rather than
hard-coding it at 300 seconds (now the default if left unspecified)

Fixes #4162
12 years ago
James Cammarata f9c87868ac Added keepalive packets to accelerate mode
Commands will now be started up in a separate task from the main
handler thread, so that it can be monitored for completeness while
sending a keepalive packet back to the controller to avoid a socket
receive timeout.
12 years ago
James Cammarata 8a3f8b757b Make sure yaml data loaded for role is valid before using it
Fixes #4322
12 years ago
James Cammarata bff47df5ff Fix issue with ast evaluation of strings 12 years ago
James Cammarata 5b205ae8bd Merge branch 'fixes/subprocess' of https://github.com/ferringb/ansible into ferringb-fixes/subprocess 12 years ago
James Cammarata d89ce6ac61 Merge branch 'patch-1' of https://github.com/ustun/ansible into ustun-patch-1 12 years ago
James Cammarata 12a21d94b7 Merge branch 'allow_types_in_ini' of https://github.com/bcoca/ansible into bcoca-allow_types_in_ini 12 years ago
jctanner 32a1dd422c Merge pull request #4269 from jphalip/issue-4256
In the script action: Get around a Python bug.
12 years ago
James Cammarata 7aad576f5f Minor change to add a space around role name/task delimiter 12 years ago
James Cammarata 1cc1e7058b Merge branch 'role_report_fix1' of https://github.com/bennojoy/ansible into bennojoy-role_report_fix1 12 years ago
James Cammarata 8ed343cc36 Merge branch 'jsmartin-hide_skipped_hosts' into devel 12 years ago
James Cammarata 6cd8aacc81 Merge branch 'hide_skipped_hosts' of https://github.com/jsmartin/ansible into jsmartin-hide_skipped_hosts 12 years ago
James Cammarata 52a42bf607 Add more verbose debugging options for accelerate 12 years ago
Michael DeHaan ac0a7d965a Merge pull request #4306 from sivel/3563-glob
Add fileglob Jinja2 filter. Fixes #3563
12 years ago
Matt Martz 535ce97067 Add fileglob Jinja2 filter. Fixes #3563 12 years ago
Brian Harring d0ad6c581b For defaults that are integers, enforce it for config supplied values.
If a user supplies a string in the config (rather than an int), the code
should fix that- or blow up immediately- rather than allowing that value to
work it's way down and break w/in the connection object; when that happens,
the actual error is opaque and requires pdb.set_trace() to run down.
12 years ago
Brian Harring 2174230315 USE subprocess.Popen API correctly.
When collecting stdout/stderr *and* feeding data into a Popen instance,
communicate() must be used to avoid a known deadlocking scenario
when data sizes cross PIPE_BUF (which can be as small as 512, although should
be much larger in practice on linux).
12 years ago
Ustun Ozgur 977b31249a Update cache check in find_plugin
I am not familiar with the internals, but this line looked suspicious.
12 years ago
Julien Phalip 44aeea7afc In the script action: Get around a bug in that's been fixed in Python 2.7 but not Python 2.6.
See: http://bugs.python.org/issue6988
Fixes #4256.
12 years ago
James Cammarata 039d4c95d9 Merge pull request #4221 from ashorin/unicode-md5
Prevent UnicodeEncodeError: 'ascii' codec can't encode characters in pos...
12 years ago
Brian Coca 771435deb4 now ini vars are typed
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
James Martin d5f20e6b21 Optionally display Skipping [host] messages. 12 years ago
bennojoy 482cb72128 role report fix 12 years ago
Matt Coddington 7f7116de3b commit 9db4f7a made a change that also needed to include this to retain correct legacy_playbook_variables behavior 12 years ago
Preston Marshall 3ee7b177e8 Allow storing input from user in a pause prompt 12 years ago
James Cammarata 1c97831288 Merge branch 'empty_inventory' of https://github.com/spil-jasper/ansible into spil-jasper-empty_inventory 12 years ago
James Cammarata 994dfb84fc Minor pep8 cleanup and CHANGELOG update for do-until 12 years ago
James Cammarata 202c4f5294 Merge branch 'do_until_14' of https://github.com/bennojoy/ansible into bennojoy-do_until_14 12 years ago
James Cammarata 478c400817 Minor pep8 cleanup in the new jail connection plugin 12 years ago
James Cammarata 0e0595bdb2 Merge branch 'jail' of https://github.com/mscherer/ansible into mscherer-jail 12 years ago
bennojoy 70a9a797fa Fix for accelerate when ansible_ssh_user is specified 12 years ago
Jasper Capel d4dec5f577 Allow creating empty inventory
Instantiating the Inventory class with host_list=None now results in an
empty inventory instead of an error.
12 years ago
nextus ca96d74572 #4227 in upstream repo 12 years ago
Andrey Shorin fd101dd2d6 Encode to utf-8 only when needed 12 years ago
Andrey Shorin 21f5bc4242 Prevent UnicodeEncodeError: 'ascii' codec can't encode characters in position ...: ordinal not in range(128) 12 years ago
bennojoy 0e749611ac doc update and add attempts 12 years ago
bennojoy 21529de82e dountil feature commit 2 12 years ago
bennojoy 53e48b63a9 dountil feature commit 1 12 years ago
James Cammarata 2f39d37a97 Expand destination path in the fetch action
Fixes #4215
12 years ago
Michael DeHaan 319a0f9523 Merge pull request #4154 from mplonka/AIX_MD5
using AIX 'csum' command for generating MD5 checksums
12 years ago
Michael DeHaan 7f8126a6c9 Merge pull request #4168 from nigelm/md5_filter
Added md5 as a jinja filter - returns hex digest of input
12 years ago
Andrey Shorin cb4b964070 Allow for dynamic accelerate_port: and port: in plays 12 years ago
James Cammarata 1f674c4a50 Merge branch 'fix_selinux_debian' of https://github.com/mscherer/ansible into mscherer-fix_selinux_debian 12 years ago
Alek Storm 3569a2ffee Handle AnsibleUndefinedVariable's raised from lookup plugins like jinja2 UndefinedError's 12 years ago
James Cammarata 47b9cc6311 Merge branch 'meta-roles' of https://github.com/eggsby/ansible into eggsby-meta-roles
Conflicts:
	lib/ansible/playbook/play.py
12 years ago
James Cammarata 27e8675277 Make the role_name in the task its own field for use in the callback 12 years ago
James Cammarata 98cfcec5e2 Correct role name detection 12 years ago
James Cammarata 8dcf386def Don't set the role name on handlers as this breaks notifications 12 years ago
James Cammarata a5ee6ff1e5 Display parent role name of tasks in the name line
Fixes #4076
12 years ago
James Cammarata c840cbaad9 Merge branch 'fork_fixes' of https://github.com/akerl/ansible into akerl-fork_fixes 12 years ago
James Cammarata 69cfcf7ed0 Minor change to -vvvv mode to only show debugging info for ssh conns
Also added this feature to the CHANGELOG
12 years ago
James Cammarata d5b96abd80 Added support for -vvvv to enable ssh connection debugging
This patch also checks specifically for a return code of 255, which
indicates an unknown SSH error of some kind. When that happens, ansible
will now recommend running with -vvvv (if not enabled) or show the
output from 'ssh -vvv' (when it is enabled)
12 years ago
Nigel Metheringham f0cc2d6efe Added md5 as a jinja filter - returns hex digest of input 12 years ago
Timothy Appnel d8cd3d603e Straightened out the logic for delegate handling in synchronize action module 12 years ago
Timothy Appnel 61e726fe82 Fix to local delegate_to override and proper sudo handling from @smoothify 12 years ago
Timothy Appnel 32ae6fdd43 Return of sychronize module code for take 3 12 years ago
Thomas Omans 91a4ba2248 allowing a roles to do be made out of dependencies alone 12 years ago
James Cammarata 503f062521 Merge branch 'ferringb-fixes/configurable-ControlPath' into devel 12 years ago
Michael DeHaan 20708e31b1 Merge pull request #4133 from skyl/DIST_MODULE_PATH
DEFAULT_MODULE_PATH in setup.py
12 years ago
Marcin Płonka d0c78bdc83 using AIX 'csum' command for generating MD5 checksums 12 years ago
Brian Harring 5b1b831cc7 Make ssh's ControlPath configurable via ansible.cfg
This shouldn't generally be needed unless you're working in an environment
that uses rediculously long FQDNs; if the name is too long, you wind up
hitting unix domain socket filepath limits enforced by ssh.
12 years ago
Stephen Fromm 27b5c2e28c Fix how module_common handles selevel (issue #4142)
Two fixes:

* parameter name is selevel, not serange.
* Fix split on selinux context to limit to max of 4 since the selevel
  may contain ':' characters.  This was fixed in
  selinux_default_context() and selinux_context().
12 years ago
Skylar Saveland 50bd14faa9 use DEFAULT_MODULE_PATH in setup.py so that there is a chance to override with ANSIBLE_LIBRARY env variable 12 years ago
Les Aker 98bf473cb2 fixes for PTY handling 12 years ago
James Cammarata 458f71b53c Merge branch 'issue_4129_role_defaults_empty_yaml' into devel
Conflicts:
	lib/ansible/playbook/play.py
12 years ago
James Cammarata 091a90ee8b Allow includes to follow the standard format
Previously, includes had to receive variables via a special 'vars'
field. With this patch, the include syntax becomes a more natural
datastructure without special fields and is more akin to the way
role includes/dependencies work.

Tested with the following playbook:
---
- hosts: localhost
  connection: local
  tasks:
  - { include: inc1.yml, a: 1 }
  - include: inc2.yml
    b: 2
  - include: inc3.yml
    with_items:
    - x
    - y
    - z

Fixes #3481
12 years ago
Skylar Saveland 8dc31f3093 ANSIBLE_DIST_MODULE_PATH environment variable 12 years ago
James Cammarata c5bb1394b9 Check to make sure default_vars in the datastructure isn't empty
Fixes #4129
12 years ago
James Cammarata 5b15010099 Merge branch 'issue_3312_role_links' into devel 12 years ago
James Cammarata 3b801dec72 Merge branch 'failed_when' of https://github.com/hnakamur/ansible into hnakamur-failed_when 12 years ago
James Cammarata fcc18fa105 Merge branch 'subelements' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-subelements 12 years ago
James Cammarata aac3090909 Merge branch 'play_remote_user' of https://github.com/bcoca/ansible into bcoca-play_remote_user 12 years ago
James Cammarata 3848e02959 Merge branch 'issue4022' of https://github.com/sfromm/ansible into sfromm-issue4022
Conflicts:
	lib/ansible/runner/connection_plugins/accelerate.py
12 years ago
James Cammarata d9cf1dfefb Merge branch 'fetch' of https://github.com/bpennypacker/ansible into bpennypacker-fetch 12 years ago
James Cammarata f4b3defcbf Set sudo in accelerate commands correctly
Fixes #4111
12 years ago
Michael DeHaan 5c0dd958e5 Merge pull request #4028 from willthames/lineinfile_userdir
Expand tilde in paths in file module
12 years ago
Michael Scherer 5e1828a524 add jail module, based on lxc and chroot connexion plugin 12 years ago
Michael DeHaan 1f0eb32846 Update 1.4 specfile -- no need for node fireball package, release dates 12 years ago
James Cammarata 35d138a0d6 When checking conditionals, don't dereference when the variable contains dashes
Fixes #4104
12 years ago
James Cammarata d0236f6ada Check for link in path in utils.path_dwim_relative()
This allows an included path to be relative to a directory, if the
basedir of the original path is a symlink. In that case, the path
is normalized and the file is searched for in the normalized path.

Fixes #3312
12 years ago
Marcin Kałuża 6786773797 filter out qoutes since they cause random errors 12 years ago
Marcin Kałuża aab445a28f add 'chars' parameter to password plugin to allow custom character set
It accepts comma separated list of names that are
either string module attributes (ascii_letters,digits, etc)
or are used literally

To enter comma use two commas ',,' somewhere - preferably at the end
Qoutes and double qoutes are not supported
12 years ago
Hiroaki Nakamura 2357194b39 Add failed_when module variable.
Implementation note: Ternery operator trick for python prior to 2.5 is used.
(test and [when_true_value] or [when_false_value])[0]
http://stackoverflow.com/questions/394809/ternary-conditional-operator-in-python#comment1466794_394887
12 years ago
Serge van Ginderachter 4f9af7efad subelements lookup plugin 12 years ago
James Cammarata 75a9357e5e Fixing role variable precedence for top-level roles
Fixes #4026
Fixes #3989
12 years ago
James Cammarata 294451d002 Correctly handle variable issues when evaluating jinja2 when statements
Fixes #4025
12 years ago
James Cammarata bcc2a4b513 Minor fix so the any_errors_fatal value is checked properly 12 years ago
James Cammarata 4025695c00 Merge branch 'devel' of https://github.com/kavink/ansible into kavink-devel 12 years ago
Michael Scherer dfb9d8c2fb Add a plugin that permit to use ansible for lxc system, using libvirt
Using -c lxc and the domain name as hostname, this permit to manage a whole
range of container, provided they are managed and created by libvirtd.
12 years ago
Brian Coca d47c48e30a Added remote_user to plays
Still compatible with user: but deprecating it so we can have
a matching remote_user: in tasks, cannot be user: because of the
module of the same name. #3932

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Kavin Kankeshwar c24f6f438b Avoid ugly formatting due to a long if statement 12 years ago
James Cammarata 6e9fa5019f Reverting HostVars change from a mapping back to a dictionary 12 years ago
James Laska 546788a1b6 The required package for selinux is libselinux-python 12 years ago
James Cammarata 4e9dee6093 Use StringIO to feed md5 calculation to prevent unicode issues
Fixes #4014
12 years ago
James Cammarata 2a47f72139 Merge pull request #4049 from mscherer/fix_no_kerberos
Fix no kerberos
12 years ago
Michael Scherer f489702973 Also add back gssapi-keyex
While this is not currently implemented in openssh as far as I know,
there is patch floating around on the web and this may land one day
upstream.
12 years ago
Keiichi Mori 17c39b94a3 support GSSAPIAuth back
GSSAPIAuthentication has not been supported
due to PreferredAuthentications trick ( 2bdba17a85 )
12 years ago
James Cammarata ae9e38daf8 Change hostvars to a mutable mapping to more closely resemble a dict
Fixes #4030
12 years ago
James Cammarata 2cbf28385a Move check for accelerate mode deeper to account for ansible_connection
Fixes #4045
12 years ago
James Cammarata 20b0dc4abd Check for an empty executable passed into the accelerate plugin
This was breaking at least the script module, so it would seem best
to check for it and set it to the default executable value
12 years ago
James Cammarata 4bf506f683 Always run the accelerate module as the user specified in the play
Currently, the accelerate daemon will be run as the sudo_user if
specified, which is incorrect.
12 years ago
Scott Sturdivant 68bffb1233 Don't force accelerate connection for local actions. 12 years ago
James Cammarata f6e1bdabea Ensure ports are set correctly in accelerate module 12 years ago
willthames fe70ed94e3 Expand tilde in paths in file module 12 years ago
guersam 64db327411 Fix: raise correct error in accelerate mode 12 years ago
kavink a075ec9831 Bug fix for a crash, when any_errors_fatal is true
Reported by Rumen:

TASK: [fail FAIL] *************************************************************
skipping: [hostname.com]
failed: [hostname.com] => {"failed": true}
msg: Failed as requested from task
Traceback (most recent call last):
  File "/usr/local/bin/ansible-playbook", line 268, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/usr/local/bin/ansible-playbook", line 208, in main
    pb.run()
  File "/Library/Python/2.7/site-packages/ansible/playbook/__init__.py", line 262, in run
    if not self._run_play(play):
  File "/Library/Python/2.7/site-packages/ansible/playbook/__init__.py", line 580, in _run_play
    if (hosts_count - len(host_list)) > int((play.max_fail_pct)/100.0 * hosts_count):
TypeError: object of type 'NoneType' has no len()
12 years ago
Stephen Fromm d704b55860 Support using paramiko to set up accelerate connection
Adds original_transport attribute to Runner to track what the original
transport was before it is changed to 'accelerate'.
If using paramiko in original_transport, uses ParamikoConnection.  If
not, falls back to SSHConnection like before.
12 years ago
James Cammarata fff497a1ae Make sure the accelerated port is set to a sane value 12 years ago
James Cammarata cc21e5c90c Adding hostvars to injected variables in accelerate ssh runner
Also some minor cleanup of some fb* variables and functions, which
were remnants of the old fireball2 name

Fixes #4021
12 years ago
James Cammarata 7b13b1e03e Minor fix to dependency dupe patch 12 years ago
James Cammarata 16258edd7a Merge branch 'devel-duplicates2' of https://github.com/smoothify/ansible into smoothify-devel-duplicates2 12 years ago
James Cammarata a202adcae1 Merge branch 'doublecallback' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-doublecallback 12 years ago
smoothify 5337397abd Second Attempt: Ensure duplicate roles are not loaded in the case of a missing meta/main.yml file. 12 years ago
James Cammarata c0fecf87d1 Increase default socket timeout to 5 minutes 12 years ago
smoothify 0411ea2867 Ensure duplicate roles are not loaded in the case of a missing meta/main.yml file. 12 years ago
James Cammarata 2e49d2003d Fix bug where accelerate keyword was not checked for boolean value
The play was just checking for the presence of the keyword in the
YAML datastructure, and not the value of the field, so doing something
like variable substitution was always causing the play to be accelerated
12 years ago
James Cammarata 2696135b3b Display error during launch of accelerated daemon
* also minor tweak to the # of retries in the connection attempt

Fixes #4012
12 years ago
James Cammarata 7c1c9b3d10 Fix message in utils related to python-keyczar and fireball/acc mode 12 years ago
James Cammarata 53c2f4c1bb Fix race condition on creating the temp directory for ControlPersist
Fixes #3943
12 years ago
James Cammarata d05c61d1f0 Merge branch 'devel' into fireball2
Conflicts:
	lib/ansible/playbook/__init__.py
	lib/ansible/playbook/play.py
12 years ago
James Cammarata 50f54f6bda Making variable names more descriptive for the default variables work 12 years ago
James Cammarata 02b7b79d7e Re-adding capability of tasks to see a unique view of their own defaults 12 years ago
Stoned Elipot 6cbd94dfae Avoid duplicates of the 'all' group when using inventory script.
Do not recreate an 'all' group when it is in the inventory script's
output, but use the one created upfront.
12 years ago
James Cammarata 266d2008d8 Reverting the role default variables change
Loading the default variables in _build_role_dependencies() lead to
a side-effect where those variables were over-riding inventory variables.
12 years ago
James Cammarata 47a89a57fa Fixing bug in playbook use of default variables in roles 12 years ago
James Cammarata e0df5b5888 A couple more tweaks to role default variables/dependencies
* Default variables are now fed directly into roles, just like the
  other variables, so that roles see their unique values rather
  than those set at the global level.

* Role dependency duplicates are now determined by checking the params used
  when specifying them as dependencies rather than just on the name of the
  role. For example, the following would be included twice without having
  to specify "allow_duplicates: true":

  dependencies:
  - { role: foo, x: 1 }
  - { role: foo, x: 2 }
12 years ago
James Cammarata d69d5c294f Renaming fireball2 as 'accelerate' and removing old references 12 years ago
James Cammarata 736c8b19d3 Added ability to limit role dependencies to just one inclusion 12 years ago
James Cammarata 6f6efa268b Merge branch 'smoothify-defaults' into devel 12 years ago
James Cammarata 25e3eed519 Fixing a bug in variable precedence for roles and dependencies 12 years ago
James Cammarata 637d3070dc Allow default variables to be overridden by inventory variables 12 years ago
James Cammarata 9806f89a04 Revert "Construct the multiprocessing manager only once."
This reverts commit 1d13ec2da3.
12 years ago
James Cammarata 7d3ae9fc75 Fixing a few bugs related to fireball2
* ssh port not being picked up, always uses default of 22
* forgot to 'import time' in the fireball2 connection plugin
12 years ago
James Cammarata f66683863e Merge branch 'defaults' of https://github.com/smoothify/ansible into smoothify-defaults 12 years ago
James Cammarata faf82bf841 Fix bug with fetch when using sudo: true
Fixes #3111
12 years ago
James Cammarata af1dd7075f Adding chunked file transfers to fireball2 12 years ago
James Cammarata 959138d00d Added accelerate_port to plays, and made it configurable 12 years ago
James Cammarata 167f185092 Initial support for running gather_facts through fireball2 12 years ago
James Cammarata b45342923c Initial support for sudoable commands over fireball2
Caveats:
* requiretty must be disabled in the sudoers config
* asking for a password doesn't work yet, so any sudoers users must
  be configured with NOPASSWD
* if not starting the daemon as root, the user running the daemon
  must have sudoers entries to allow them to run the command as the
  target sudo_user
12 years ago
James Cammarata 4b552457e7 Bail out correctly if socket.recv gets nothing (indicating a closed socket) 12 years ago
James Cammarata 86f01965cd Fireball2 module will now launch in a proper tmp path 12 years ago
James Cammarata 521e14a3ad Fireball2 mode working! 12 years ago
James Cammarata acc5d09351 Initial commit for the "fireball2" connection plugin
Still needs:
* chunked file transfer/receive
* should probably move all send/recv operations to separate
  functions to reduce code duplication
* initial connection setup over ssh? or do we handle that in runner?
12 years ago
James Cammarata fd2aabaa27 Initial work for the AES cipher class
This is based somewhat loosely on how Keyczar does things. Their
implementation does things in a much more generic way to allow for more
variance in how the cipher is created, but since we're only using one
key type most of our values are hard-coded. They also add a header to
their messages, which I am not doing (don't see the need for it
currently).
12 years ago
Bruce Pennypacker cf6a76c814 changed ignore_md5_mismatch to validate_md5 12 years ago
Bruce Pennypacker 41c474d129 added optional ignore_md5_mismatch parameter 12 years ago
Michael DeHaan cce7f485b8 Merge pull request #3946 from wincent/spelling-fix
Fix minor typo in playbook error message
12 years ago
Wincent Colaiuta fc4307a9c4 Fix minor typo in playbook error message 12 years ago
James Cammarata 88966e6558 Use AnsibleError instead of exit for errors in utils 12 years ago
Jocelyn Jaubert 4cee6a5435 Add option remote_user to task level, to specify the ssh login user 13 years ago
James Cammarata 8262f7bfac Merge branch 'with_items_and_complex_args' of https://github.com/lberruti/ansible into lberruti-with_items_and_complex_args 13 years ago
James Cammarata e11bb0cad4 Merge branch 'plugins-work' of https://github.com/ferringb/ansible into ferringb-plugins-work 13 years ago
James Cammarata 462cd4f728 Merge branch 'pulls/fix-hostvars-inconsistancy' of https://github.com/ferringb/ansible into ferringb-pulls/fix-hostvars-inconsistancy 13 years ago
James Cammarata e6ad3b7792 Merge pull request #3895 from mscherer/fix_option_new_ssh
make sure ssh do not ask password
13 years ago
James Cammarata 157b697a83 Merge branch 'always_run-6' of https://github.com/stoned/ansible into stoned-always_run-6 13 years ago
James Cammarata af4f0bd008 Fix for "argument must be an int, or have a fileno() method" error
The issue was that, when forks == 1, the _executor() function was
being called with None for the value of new_stdin.

Fixes #3841, #3902
13 years ago
James Cammarata 978af89175 Disallow running async tasks with lookup plugins
Fixes #2897
13 years ago
James Cammarata ed3e4aff84 Place retry file in the user's home dir instead of /var/lib/tmp
Addresses CVE-2013-4260: predictable filename used for failed results
in world writable directory.
13 years ago
James Cammarata 6bf5d19506 SSH connection plugin creates ControlPersist socket files in a secure directory
Files were being created in /tmp, but will now be created in $HOME/.ansible/cp/
Addresses CVE-2013-4259: ansible uses a socket with predictable filename in /tmp
13 years ago
Stoned Elipot f0743fc32a Introduce the 'always_run' task clause.
The 'always_run' task clause allows one to execute a task even in
check mode.

While here implement Runner.noop_on_check() to check if a runner
really should execute its task, with respect to check mode option
and 'always_run' clause.

Also add the optional 'jinja2' argument to check_conditional() :
it allows to give this function a jinja2 expression without exposing
the 'jinja2_compare' implementation mechanism.
13 years ago
Michael Scherer 2bdba17a85 make sure ssh do not ask password
For some reason, ssh seems to ask for password even when
PasswordAuthentication is set to no, adding PreferredAuthentications
with the 2 options removed do the trick.
13 years ago
Kavin Kankeshwar 7ac3bbc198 resolved #3609 Change max_fail_pct to max_fail_percentage as recommended 13 years ago
Kavin Kankeshwar 3f247fcbe3 fixes ansible/ansible#3609 Add max_fail_pct to playbook parameter, to complement serial option, So if total number of failures execeed max_fail_pct * total number of hosts, do not go to the next serial batch 13 years ago
smoothify 494043947d Add support for role defaults. These are variables on a per role basis with lowest precedence. 13 years ago
Petr Svoboda e3adfbf5f8 Add tests for undefined variable detection
Tests `test_playbook_undefined_varsX_fail` check if ansible detects
undefined variables when `error_on_undefined_vars` is enabled. These
tests fail without "Improve behavior with error_on_undefined_vars
enabled" patch.

Tests `test_playbook_undefined_varsX_ignore` check if ansible ignores
undefined variables when `error_on_undefined_vars` is disabled.

Also modify PlayBook._run_task_internal() so error_on_undefined_vars is
testable.
13 years ago
Petr Svoboda fff4f1da33 Improve behavior with error_on_undefined_vars enabled
Pass fail_on_undefined flag to recursive calls to `template` function,
so more undefined variables are detected.

Works only for Jinja style variables. Undefined legacy variables are
never detected.
13 years ago
Brian Harring 31061213fa Fix inconsistency in hostvars access.
Previously, hostvars would only expose a keys() list of hosts that had
been seen yet- however you could explicitly access the host if you knew
the name, and get the content that way.  This precludes template code
from being able to safely access information about other hosts if any
limiters/tags were in use.

Additionally, the object was inconsistent for hostvars['myhost'] access
and [x[1] for x in hostvars.items() if x[0] == 'myhost'] access; this is
due to the original derivation from the dict object.  .items() would be
handled by dict.items(), using the passed in setup_cache values without
using the actual lookup content.

This patch rebases the class implementation to a py2.6 dictmixin, fixing
those issues and restoring behaviour to match what the docs claim.
13 years ago
Brian Harring 902183ac0e Enforce alphanumeric ordering for plugins grabbed via glob.
If this isn't done, it's left to directory ordering which can result
in indeterminent behaviour.
13 years ago
James Cammarata 39628d012d Minor fix to ipv6 detection for inventory with -i
For link-local addresses, it is sometimes necessary to append the
interface to use for the ipv6 address. This patch extends the ipv6
regex to allow for '%ifnameX' at the end.

See https://bugzilla.redhat.com/show_bug.cgi?id=136852 for more info
13 years ago
Michael Scherer 3aac187387 fix ssh connection plugin to work with ipv6 address
Due to various inconsistencies of ssh and sftp regarding ipv6 and
ipv4 handling, some special arguments must be passed, and the
ipv6 must be passed in a specific format.
13 years ago
Michael Scherer c9d28e10ad add support for using a ipv6 in -i
testing with a ipv6 :
  ansible -u misc -i  '[2002::c23e]:22,' '*' -m ping

fail due to parsing of ':' as a separator of port/ip with ipv4.
This commit add support for properly parsing 2002::c23 and the
bracket notation [2002::ce]:2222
13 years ago
Matt Saunders 9fd1b174f5 Fixed tiny bug with _meta handling in external inventory scripts 13 years ago
James Cammarata 5847720746 Fixing a small bug with the new role dependency feature
The block that added the original list of roles was indented too far,
and was only being reached if a role had dependencies. This resulted
in roles without dependencies from being added to the list of roles.

Credit goes to looped for reporting and diagnosing the issue.
13 years ago
Michael DeHaan 42648e2f0a Merge branch 'role_dependencies' of git://github.com/jimi1283/ansible into jimi1283-role_dependencies 13 years ago
Michael DeHaan dacd311474 Removing synchronize momentarily as it looks like this won't make 1.3 dates 13 years ago
James Cammarata d8a7a2d1b2 Adding evaluation of role vars as the dep tree is built
This allows variables to be inserted into the role scope specifically
while also being inserted into the global scope.
13 years ago
James Cammarata e12b99dba6 Small cleanup, no need to call _get_role_path a second time 13 years ago
James Cammarata 9a401e73a6 Adding support for role dependencies.
Fixes #3686

Dependencies are enabled by adding a new directory/file named
meta/main.yml to the role. The format of the dependencies are:

dependencies:
- { role: foo, x: 1, y: 2 }
- { role: bar, x: 3, y: 4 }
...

Dependencies inherit variables as they are seen at the time of the
dependency inclusion. For example, if foo(x=1, y=2) has a dependency
on bar(x=3,z=4), then bar will have variables (x=3,y=2,z=4).

Different roles can have dependencies on the same role, and this
variable inheritence allows for the reuse of generic roles quite easily.
For example:

Role 'car' has the following dependencies:
dependencies:
  - { role: wheel, n: 1 }
  - { role: wheel, n: 2 }
  - { role: wheel, n: 3 }
  - { role: wheel, n: 4 }

Role 'wheel' has the following dependencies:
dependencies:
- { role: tire }
- { role: brake }

The role 'car' is then used as follows:
- { role: car, type: honda }

And tasks/main.yml in each role simply contains the following:
- name: {{ type }} whatever {{ n }}
  command: echo ''

TASK: [honda tire 1]
TASK: [honda brake 1]
TASK: [honda wheel 1]
TASK: [honda tire 2]
TASK: [honda brake 2]
TASK: [honda wheel 2]
TASK: [honda tire 3]
TASK: [honda brake 3]
TASK: [honda wheel 3]
TASK: [honda tire 4]
TASK: [honda brake 4]
TASK: [honda wheel 4]
TASK: [I'm a honda]  <- (this is in roles/car/tasks/main.yml)
13 years ago
James Cammarata ad595eadea Enable error_on_undefined_vars by default 13 years ago
Michael Scherer 12bf9a8b69 add a way for callback to disable itself
The idea is that some plugin would not be called in some
specific case, and the callback should decide by itself.

Having a way to globally disable it is much cleaner than
disabling every method one by one on the plugin side.

My use case is for fedora-infrastructure that cannot be run
from git checkout since it try to connect to the message bus,
but another case would be to bootstrap infrastructure, or to
run the code on a test servers without having all the callback
infrastructure setup.
13 years ago
Luca Berruti eee278e02b fix 13 years ago
Luca Berruti 5048218ab5 Fix: with_items and complex_args 13 years ago
Serge van Ginderachter 173586b871 Ensure plugin_loader.all() only loads one instance
by ensuring all basedirs, plugin paths and extra
paths are handled as absolute paths and are checked
to not add any doubles.

This fixes the corner case where e.g. the user has
an additional plugin path configured to a dir
relative to his playbooks or inventory location,
which also matches the  _plugin subdir relative to
one of the basedirs in the play.

For most plugins this doesn't show as an obvious issue
except for callback_plugins, which might fire more
than once. Other plugins (inventory and template
plugins) might unnecessarily be ran twice.

e.g. ansible.cfg has
callback_plugins   = ./plays/callback_plugins
and plays/ contains a playbook file:
.
├── ansible.cfg
├── inventory
└── plays
    ├── callback_plugins
    │   └── timestamp.py
    └── site.yml

modified:   lib/ansible/utils/plugins.py
13 years ago
Michael DeHaan bc02e20503 Merge branch 'rsynctake2' into devel
Conflicts:
	CHANGELOG.md
13 years ago
Michael DeHaan 17aa0d12de Merge pull request #3814 from ftao/inventory_dir_abs
fix inventory.basedir is not absolute path when hostfile is startswith "./"
13 years ago
Abhijit Menon-Sen 1a90d01ba9 Fix some typos discovered during casual reading 13 years ago
ftao 51a180b150 fix inventory.basedir is not absolute path when hostfile is startswith "./" 13 years ago
Michael DeHaan f8c97d6e79 Style/docs cleanup, and also improve an error message. 13 years ago
Michael DeHaan aeb8649da5 Merge branch 'ansible-rsync-take2' of git://github.com/tima/ansible into rsynctake2 13 years ago
Michael DeHaan 4d1f447908 Merge pull request #3650 from bcoca/forking_optimizations
forking least possible
13 years ago
Michael DeHaan baffa8df72 These fields are booleans. 13 years ago
Michael DeHaan 633abca916 Merge branch 'nocolor' of git://github.com/amenonsen/ansible into devel 13 years ago
Michael DeHaan ee11d69697 Merge branch 'better_ini_errors2' of git://github.com/bcoca/ansible into devel 13 years ago
Michael Vogt 89bc43cab0 support i18n on sudo failure 13 years ago
Serge van Ginderachter 9991a530ab fix an encoding bug in copy content = lookup plugin
closes #3518
13 years ago
Michael DeHaan 66b29b6813 Merge branch 'feature/gh-3789-inventory-file' of https://github.com/resmo/ansible into devel 13 years ago
Michael DeHaan 1d13ec2da3 Construct the multiprocessing manager only once. 13 years ago
René Moser e8272e365d
implemented 'inventory_file' variable. Closes GH-3789. 13 years ago
Timothy Appnel 2288a11b6a Implemented setup method in rsync action module. 13 years ago
Timothy Appnel 4a9635e04e Straighten out local-remote-delegate logic in rsync action module. Force set delegate to local if one is not defined. 13 years ago
Timothy Appnel adbca9d251 Fixed identity key logic. 13 years ago
Timothy Appnel 9f170f579a Introduced ansible-rsync to core. 13 years ago
James Cammarata ceff3b6ba3 Minor modification to set_fact with_items patch
Previous patch was reverted due to the fact that there was an issue
with the results not always being a dictionary (they're sometimes
a unicode string, ie. when the with_items is used with yum). This
minor change corrects that by checking for a dict object.
13 years ago
James Cammarata 8be2fc745b Revert "Check for ansible_facts in results for with_ tasks"
This reverts commit 1a4e6e415e.
13 years ago
Serge van Ginderachter 1a4e6e415e Check for ansible_facts in results for with_ tasks
that loop over a lookup plugin. Fixes #3704 and #3735
13 years ago
Serge van Ginderachter 40e60c947d Host specifiers should be sorted
to ensure consistent behavior, hosts should look like this:

    hosts: webservers:&boston:!rack42

So when applying the host selectors, run those without the "&" first,
then the &s, then the !s.

Closes #3500
13 years ago
Abhijit Menon-Sen 0c96d8af6e Add a nocolor setting to ansible.cfg 13 years ago
Brian Coca a937a6a66d now bad ini entries will throw friendlier error
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
13 years ago
Michael DeHaan 4cbfe3be57 Merge pull request #3773 from cchurch/devel
Update callbacks used for async tasks
13 years ago
Michael DeHaan ff44c981e9 Merge pull request #3770 from rishid/devel
Add support for INI comments that begin with '#' or ';'
13 years ago
Michael DeHaan 99775176ff Merge pull request #3623 from ralph-tice/fix_3567_2
changed role path template to read all vars instead of just extra_vars
13 years ago
Chris Church 6ba4331161 Correctly check for failed status from an async task. Use runner_on_async_failed callback (instead of runner_on_failed) when an async task times out. Add runner_on_async_ok callback when a task is started in fire and forget mode. 13 years ago
rishid d18c90ed8f Add support for INI comments that begin with '#' or ';'
Ini file format does not have a standard but ';' is used more often than '#' for comments
13 years ago
Michael Scherer 3fb2da6359 use lgetfilecon_raw instead of lgetfilecon to not depend on local level translation
If SELinux is enabled and mcstrans is running, daemons are restarted on each
run. After further debugging, it turn out that ansible compare the untranslated
level 's0' with the translated level 'SystemLow' due to mcstrans being running,
which trigger a handler since this is considered as a change.
13 years ago
Michael DeHaan 56a00e0667 Remove dead code. 13 years ago
Michael DeHaan 8955ac1eda If the result of a dynamic inventory script contains a "_meta" hash at top level
and the _meta hash contains a "hostvars", don't call --host hostname for any elements
and just serve them directly for performance enhancements with the external inventory
script and a large number of hosts.
13 years ago
Michael DeHaan 1c6b81233c Merge pull request #3692 from tima/action-init
Added support of an optional init method for action modules like rsync that need to alter the connection and other inject data before it's established.
13 years ago
Michael DeHaan dec43f7a2b PEP8 indent fix. 13 years ago
Michael DeHaan 3dbe65def2 PEP8 indent fix 13 years ago
Michael DeHaan 76fd769704 Merge pull request #3685 from mspaulding06/indexed_items
Indexed items lookup plugin
13 years ago
Michael DeHaan c0ab417ef9 Don't iterate across strings in with_nested. 13 years ago
James Cammarata 82c806979b Only use LOG_LOCK in log_flock if a runner is not specified
Fixes issue #3466 - When ansible can't authenticate against a host,
and your answer is no, ansible crash.
13 years ago
James Cammarata ba38d6bc16 Adding support for hashed known_hosts entries
Fixes Issue #3716 - SSH known host checking needs to understand
hashed known hosts
13 years ago
Brian Coca 581a0c9f59 now correctly 'types' value pairs that are passed as options to jinja
override
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
13 years ago
Michael DeHaan 0335d05f43 Check against None around playbook basedir 13 years ago
Michael DeHaan bdef7f1774 Merge pull request #3711 from ashorin/devel
Allow --diff on UTF-8 encoded files and templates
13 years ago
Michael DeHaan 44d060628e Merge pull request #3706 from lorin/sudo_user_breakage
Fix sudo_user copy error
13 years ago
Michael DeHaan daf5ecc7c9 Merge pull request #3684 from stoned/fix-3668
Add extra module path early during playbook parsing.
13 years ago
Michael DeHaan 83481b32cc Merge pull request #3657 from zqad/devel
Fix playbook-local host_vars when running from .
13 years ago
Michael DeHaan 3ebbb56479 Merge pull request #3654 from MaxIV-KitsControls/devel
Fix nested loop for more than 3 elements
13 years ago
Michael DeHaan 7813290969 Merge pull request #3645 from stoned/stringify-conditional-2
stringify conditional before handing it to Jinja2 for evaluation.
13 years ago
Andrey Shorin 664215eb02 Allow --diff on UTF-8 encoded files and templates 13 years ago
Lorin Hochstein a303fca193 Fix sudo_user copy regression
Treat errno 13 (permission denied) as one of the special cases in
atomic_move.

This type of error can occur because of sudo'ing to non-root user.

Fixes #3705
13 years ago
Timothy Appnel 11beb38c66 Added support of an optional setup method for action modules like rsync that need to alter the connection and other inject data before it's established. 13 years ago
Matt Spaulding 5d15515bbf Add indexed_items lookup plugin 13 years ago
Stoned Elipot 841093921b Add extra module path early during playbook parsing.
This should fix issue #3668

Also prevent an extra module path to be added multiple times.
13 years ago
Jonas Eriksson 16efb45735 Fix playbook-local host_vars when running from .
Since ansible 1.2, it became possible to place a host_vars
directory in the same directory as a playbook, making it possible
to keep host_vars local to that playbook there. However, due to
python's os.path.dirname, a action such as:

 $ ansible-playbook pb.yml

..would not pick up the host_vars as os.path.dirname("pb.yml")
returns "", unlike the unix command dirname that would return
".". Substituting "pb.yml" on the command line with "./pb.yml"
would do the trick, but is not always intuitive. This patch
solves the problem until python solves issue18547 [1].

[1] http://bugs.python.org/issue18547
13 years ago
Vincent Hardion 09ef7751e1 Fix nested loop for more than 3 elements
- combine flatten list for each nested level instead once at the end
13 years ago
Brian Coca 576962d335 now if you set fork to 0 or a number higher than the number of hosts, it
will be readjusted to the number of hosts runner is going to deal with.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
13 years ago
Stoned Elipot a1503c4d59 stringify conditional before handing it to Jinja2 for evaluation.
This should fix simple conditionals like:

    when: ansible_selinux

While here add tests for ansible.utils.check_conditional() in
"jinja2_compare mode".
13 years ago
WAKAYAMA Shirou 0ce99e391f fix: if a path is symlink and trying to chmod, OSError Exception will be raised. 13 years ago
Michael DeHaan f0eafff1b4 Merge pull request #3621 from sergevanginderachter/rename2flattened
also rename plugin name in error message
13 years ago
Ralph Tice 2383a8205c changed role path template to read all vars instead of just extra_vars 13 years ago
Serge van Ginderachter b40295910d also rename plugin name in error message 13 years ago
Michael DeHaan 2fe25f19dc Fix to group_by module as a result of previous conditional upgrades. 13 years ago
Michael DeHaan e3f213e030 Fixup error reporting. 13 years ago
Michael DeHaan c07dd07767 Add raw copy support (raw=yes), tweak tempfile error message string. 13 years ago
Michael DeHaan 0cf5e5cec3 Merge branch 'devel' of git://github.com/bradleyy/ansible into together 13 years ago
Michael DeHaan 0756aa406a Change conditional operation workflow.
Conflicts:

	lib/ansible/utils/__init__.py
13 years ago
Michael DeHaan 7f462a346a Work in progress on merging changed_when. 13 years ago
Michael DeHaan 88720516a1 Merge branch 'changed_when' of git://github.com/stoned/ansible into changed_when 13 years ago
Michael DeHaan f592340f7f Merge branch 'playbook-skip-tags' of git://github.com/dekked/ansible into skip_tags 13 years ago
Michael DeHaan 3baa55a314 Merge branch 'devel' of git://github.com/sjmudd/ansible into sjmudd_ranges 13 years ago
Michael DeHaan 62b39d3de5 Fix for saving conditionals in variable expressions. 13 years ago
Michael DeHaan bf70dfc1a0 When a role/include has a conditional, add that conditional ahead of any on the task, not behind, so it can short circuit. 13 years ago
Michael DeHaan 419661542b Added some pipes.quote ops to make sure paths with spaces in them are ok. 13 years ago
Michael DeHaan 192d9f8b89 Merge pull request #3607 from stoned/use-AnsibleFilterError
Use AnsibleFilterError exception
13 years ago
Stoned Elipot 667ad2480e Use AnsibleFilterError exception 13 years ago
Stoned Elipot e7a733a6be Quote pathnames of roles' tasks and handlers files so that _load_tasks() can tokenize them properly
With the help of AlejandroTrev's eagle eyes. Thanks !
13 years ago
Michael DeHaan 0f26439234 Remove variable per pyflakes 13 years ago
Michael DeHaan e1167d6977 tweak indentation for 'make pep8' 13 years ago
Michael DeHaan 0f4229f6c4 Merge pull request #3462 from stoned/filtererror
Introduce exception AnsibleFilterError and use it in Jinja filters.  Ign...
13 years ago
Brian Coca dafbcf87d3 changed atomic_move to be more 'optimistic' which helps deal with corner
cases and avoid usless work.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
13 years ago
Michael DeHaan c10c2cae4e Merge branch 'ansible_sudo_at_role_level' of git://github.com/jeromew/ansible into sudo_role 13 years ago
Michael DeHaan f7dec4f8f4 Rename plugin. 13 years ago
Michael DeHaan 9dec701728 Merge pull request #3559 from sergevanginderachter/flat_list
Introduce flat_list lookup plugin
13 years ago
Michael DeHaan 7d2585caf7 Merge pull request #3577 from Tinche/extra-vars-in-playbook-includes
Enabled the use of extra vars in playbook file paths when including play...
13 years ago
Brian Coca c8d6e5be0b missing self in self method usages
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
13 years ago
Michael Vogt 9caef884e1 fail early on the wrong sudo password instead of waiting until the timeout happens 13 years ago
Michael DeHaan c98b20b2cf Slight style preferences. 13 years ago
Sharif Olorin 5fcbfa984d More informative error message on failure to resolve tmpdir 13 years ago
Sharif Olorin 1a7a779e88 Handle SSH failures when creating remote tmpdir
Bail out if the SSH command fails rather than continuing with an
empty tmp variable.
13 years ago
Michael DeHaan 8a3ea0774a Update error message since user may have specified connection type via non command line or by default. 13 years ago
Michael DeHaan 5eea4b56fa Merge pull request #3591 from cocoy/fix_3567
Allow roles to be interpolated from --extra-vars
13 years ago
Michael DeHaan 7965bc729b Merge pull request #3588 from Atte/devel
Check for existence of isatty on stdout before calling it
13 years ago
Rodney Quillo a4e829c874 Allow roles to be interpolated from --extra-vars 13 years ago
Atte Virtanen 511c7c858d Check for existence of isatty on stdout before calling it 13 years ago
Brian Coca f6c99a69db switched from sestatus to selinuxenabled as per recommendation
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
13 years ago
Brian Coca 98cc29f9fd now returns fatal error if operation on selinux enabled target is
attempted w/o selinux python bindings
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
13 years ago
jeromew de0bc96b70 Implement sudo/sudo_user at the include and role levels 13 years ago
Tin Tvrtkovic 4a732c1e9f Enabled the use of extra vars in playbook file paths when including playbooks from other playbooks. 13 years ago
Serge van Ginderachter 730b368259 Introduce flat_list lookup plugin
- hosts: localhost
    gather_facts: False
    tasks:
    - debug: msg="{{item}}"
      with_flat_list:
      - a
      - - b
        - c
        - d
        - - e
        - f
        - - g
          - h
      - i
      - j
      - - k
        - l

  # note: main list or list (sub)items can also be set as a variable

  TASK: [debug msg="{{item}}"] **************************************************
  ok: [localhost] => (item=a) => {"item": "a", "msg": "a"}
  ok: [localhost] => (item=b) => {"item": "b", "msg": "b"}
  ok: [localhost] => (item=c) => {"item": "c", "msg": "c"}
  ok: [localhost] => (item=d) => {"item": "d", "msg": "d"}
  ok: [localhost] => (item=e) => {"item": "e", "msg": "e"}
  ok: [localhost] => (item=f) => {"item": "f", "msg": "f"}
  ok: [localhost] => (item=g) => {"item": "g", "msg": "g"}
  ok: [localhost] => (item=h) => {"item": "h", "msg": "h"}
  ok: [localhost] => (item=i) => {"item": "i", "msg": "i"}
  ok: [localhost] => (item=j) => {"item": "j", "msg": "j"}
  ok: [localhost] => (item=k) => {"item": "k", "msg": "k"}
  ok: [localhost] => (item=l) => {"item": "l", "msg": "l"}
13 years ago
Alan Descoins 04349ec362 Added --skip-tags option to ansible-playbook. 13 years ago
Antti Rasinen b12cc909a9 Fix pretty_bytes for exa- and zettabytes 13 years ago
Brian Coca 18cb155bd5 now ANSIBLE_KEEP_REMOTE_FILE acts as boolean
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
13 years ago
Bradley Young 23557b6e5a change the name from transpose to "together". Change to use itertools.izip_longest() rather than method cribbed from nested.py 13 years ago
Stoned Elipot eb45f07ae3 Introduce 'changed_when' keyword to override a task's changed status with the evaluation of a Jinja2 expression 13 years ago
Bradley Young ea93a36b10 Adding transpose lookup method. This will matrix transpose arrays that are passed in, and then work like items over the resulting list of lists. e.g.:
Transpose a list of arrays:
    [1, 2, 3], [4, 5, 6] -> [1, 4], [2, 5], [3, 6]
    Replace any empty spots in 2nd array with "":
    [1, 2], [3] -> [1, 3], [2, ""]
13 years ago
Michael DeHaan fba1f7ef42 Revert "expand vars like $HOME used in config values too" -- breaks remote_tmp if set.
This reverts commit e5ff35bbdb.
13 years ago
Michael DeHaan afcd869487 Merge pull request #3451 from sergevanginderachter/template_ansible_ssh_host
allow ansible_ssh_host to be templated
13 years ago
Michael DeHaan 90dfc115d6 Merge pull request #3463 from stoned/filterskipped
Add Jinja2 filter 'skipped' to test for a registered variable from a ski...
13 years ago
Michael DeHaan 279247dfac Merge pull request #3464 from stoned/filterquote
Add Jinja2 filter 'quote' to quote string for shell usage
13 years ago
Andreas Piesk e5ff35bbdb expand vars like $HOME used in config values too 13 years ago
Lasse Borchard 8c8b4d56fc Fixed indention of vv() output 13 years ago
Stoned Elipot 247322bb16 Add Jinja2 filter 'quote' to quote string for shell usage 13 years ago
Stoned Elipot 906746b1f0 Add Jinja2 filter 'skipped' to test for a registered variable from a skipped task 13 years ago
Stoned Elipot 2d88c70cd5 Introduce exception AnsibleFilterError and use it in Jinja filters. Ignore this exception when trying to find the name of a task for display (callback) purpose. 13 years ago
Michael DeHaan cf6e1f8db9 Make it possible to tell paramiko to not record new host keys, which can be slow with a large number of hosts.
-c ssh is preferred in most cases if you have ControlPersist available, otherwise if you are comfortable you
can turn off recording while leaving host key checking on, etc.
13 years ago
Michael DeHaan 14818af446 Merge pull request #3450 from tonk/sudo
Repair issue #3447
13 years ago
Michael DeHaan aa9385411d Merge pull request #3443 from ajsalminen/arg_unicode_fix
Use .encode() instead of str() to support unicode arguments.
13 years ago
Ton Kersten 37ee361be1 Repair issue #3447 13 years ago
Serge van Ginderachter 129c7522d9 allow ansible_ssh_host to be templated
Use case: e.g. dual homed hosts on production en management network

The inventory_hostname is the regular host name and matches the
dns name on the production network; ansible connects to the host
through a management network; the dns name on the management network
is standardized and equals ${inventory_hostname}-mgt.mynetwork.com

Now this can be configured as the default in group_vars/all:

   ansible_ssh_host: {{ inventory_hostname + '-mgt.mynetwork.com' }}
13 years ago
Michael DeHaan 2cb7c30834 Improve interlaced output prevention when asking for host key approval. 13 years ago
Michael DeHaan c55adc9ac9 Default to 'smart' transport, which will use OpenSSH if it can support ControlPersist. 13 years ago
Antti Salminen d7c6cf10c2 Use .encode() instead of str() to support unicode arguments.
str() throws an UnicodeEncodeError for code points that cannot be
represented in 7-bit ASCII. This makes it impossible to use any
non-ASCII characters in module arguments. Using encode('utf-8')
gives the desired result.
13 years ago
Michael DeHaan 1683d44d2e Lock around SSH connectivity to new hosts in host checking mode such that prompts for host approval
messages do not get interlaced.
13 years ago
Michael DeHaan cb26945d54 Close the named temporary file. 13 years ago
Michael DeHaan 3b1aa092f8 Closing stdin too early. 13 years ago
Michael DeHaan ffadbc520a Enable paramiko to ask whether to add keys to known hosts. 13 years ago
Michael DeHaan 9db4f7a9a6 Makes host key checking the default behavior but can be disabled in ansible.cfg or by environment variable. 13 years ago
Stoned Elipot 0b3483cf03 Add Jinja2 filter |bool : return boolean interpretation of the value
'yes', 'on', '1', 'true', insensitively, and 1 are true,
 everything else is false
13 years ago
Michael DeHaan 6ba72854ee Merge pull request #3296 from ninetythirty/devel
Added flexible filename handling for main files
13 years ago
Michael DeHaan c2988dfdb0 Merge branch 'option-updates' of git://github.com/jlund/ansible into devel
Conflicts:
	bin/ansible-pull
13 years ago
Michael DeHaan 2bbad5dae3 Merge pull request #3275 from madduck/implicit-negations
Enable negated patterns
13 years ago
Michael DeHaan f2fc185651 Styling: indentation 13 years ago
Michael DeHaan c265c761d0 Slight message tweak. 13 years ago