Commit Graph

3235 Commits (afe1409a6ece15610632e0170d0ee556ba755bbf)

Author SHA1 Message Date
James Cammarata 38c2c60849 Do not base synchronize source on the inventory directory
Fixes #7366
11 years ago
James Cammarata fd27afdc0d Adding ansible_shell_type and basic environment construction on it
Previously we assumed the shell on the target systems were 'sh'-
compliant when formatting environment variables preceding command
strings. This patch corrects that by basing the target shell type
on the DEFAULT_EXECUTABLE setting, which can be overridden on a
per-host basis using the inventory variable 'ansible_shell_type'.

Fixes #7352
11 years ago
James Cammarata 9b9b4d50fe Merge pull request #7058 from jkleckner/fix-vars_prompt-when-default-False
Fix #7057 missing False default for vars_prompt
11 years ago
James Cammarata 51ef28b0d2 Merge branch 'warn_wrong_sudo_password' of https://github.com/tyll/ansible into tyll-warn_wrong_sudo_password 11 years ago
James Cammarata 2e2e5d5321 Use the existing module_vars during the templating of module_vars
Since some of the vars contained in there may be used in the templating
of other variables. This also reverts e83a494 which originally fixed
issue #6979 but broke some other variable related things.

Fixes #6979
Fixes #7321
Fixes #7332
11 years ago
James Cammarata 77a47dbb2d Merge pull request #7304 from jimi-c/issue_7296_synchronize_relative_path
Make sure dwim'd relative path ends in a "/" if the original does
11 years ago
James Cammarata 393124e462 Add pyc/pyo to ignore list for inventory directories
Fixes #7308
11 years ago
Brian Coca 8a84b22d76 bumped to 1.7 11 years ago
Chris Church f9c74d6e57 Add integration tests for group_by module. Fixed bug introduced by ansible/ansible#7273 while also fixing issue described in ansible/ansible#6953 11 years ago
James Cammarata 4d118d1c72 Make sure dwim'd relative path ends in a "/" if the original does
Fixes #7296
11 years ago
James Cammarata 56d070afa8 Version bump for 1.7 11 years ago
James Cammarata fd03cc04e6 Merge branch 'devel' of https://github.com/denisphillips/ansible into denisphillips-devel 11 years ago
Veeti Paananen d6f4d9b76d Fix error handling on missing dest with unarchive
fixes #7107
11 years ago
Denis Phillips cd0134d290 Used module_args passed to function instead of from runner 11 years ago
Christian Berendt 6676720ce5 fixed typos found by RETF rules in PY files
rules are avaialble at https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos
11 years ago
James Cammarata deb532c367 Remove OrderedDict references from runner
Fixes #7256
11 years ago
James Cammarata 54b1f820fb Modify the way we set the localization environment
Previously, we set the LANG (and LC_CTYPE) environment variables
directly in the module code and applied them with os.environ().
Instead, we are now pre-pending those variables to the environment
string used to execute the command which allows the user to
override the localization values by setting the environment values
directly (even on a per-task basis):

  - subversion: repo=file:///path/to/repos/svn_über dest=/tmp/svntest
    environment:
      LANG: "C"
      LC_CTYPE: "en_US.UTF-8"

So if a user wishes to default their LANG back to C, they can still
avoid unicode issues by doing the above.

Fixes #7060
11 years ago
James Cammarata 40a7a306f5 Merge pull request #7236 from jcassee/robust-ssl-cert-concat
Make concatenating certs robust in urls.py
11 years ago
James Cammarata 8e45fa9b63 Moving display-related functions to new module in utils 11 years ago
Joost Cassee 978e6d2cd6 Make concatenating certs robust in urls.py
Add a newline after each certificate file explicitly to avoid problems
with files that do not end with a newline themselves.
11 years ago
James Cammarata 6069ff6e9e Adding a new system_warnings config option to supress warnings 11 years ago
James Cammarata 30e4759055 Merge pull request #7208 from jf/copy-module
Fix "no_log=True" option for copy module (fixes #7193)
11 years ago
James Cammarata be4e6d359f Merge branch 'delegate_to_honor_ssh_private_key_file' of https://github.com/renard/ansible into renard-delegate_to_honor_ssh_private_key_file 11 years ago
James Cammarata 4cadcccc48 Catch pycrypto warning about gmp and show a nice warning on stderr 11 years ago
Jeffrey 'jf' Lim 0bf1a27393 Fix "no_log=True" option for copy module (fixes #7193) 11 years ago
Jiri Barton 9da06274a8 Set proper file permisions when a file is created with atomic_move
Fixes #7196
11 years ago
Michael DeHaan 9a6998aa17 While this code is unused, this remote module copy of this function should not be carried around in the source code. 11 years ago
Logos01 424ee36e05 Enable facts module on older SuSE systems
Modified logic of distribution_release for SuSE to retain the last discovered key/value pair's value in /etc/SuSE-release that contains a '=' character.
11 years ago
James Cammarata 1576e8d611 Adding missing options to the file documentation fragment 11 years ago
Brian Coca c5d5481ebb added doc noting the change in behaviour 11 years ago
Cédric RICARD b8b0865ec0 Missing 'base64' import 11 years ago
Michael DeHaan ad04b455d3 add missing license header 11 years ago
James Cammarata 117952cf6c Fixing a bug in the new fetch_url username/password logic 11 years ago
James Cammarata b9d8b3b911 Merge pull request #7132 from jimi-c/issue_6601_hide_vault_yaml
Hide YAML content on syntax errors when a vault password is specified
11 years ago
James Cammarata 89fa9b7305 Add parameters to get_url for the url username/password
Fixes #6928
11 years ago
James Cammarata e9d8f0639f Merge pull request #7143 from sivel/ansible-sudo-from-root-fix
Allow sudo to another user from root with the ansible command
11 years ago
James Cammarata 460794d697 Merge pull request #7140 from jimi-c/issue_6962_traceback_callbacks_unicode
Fix handling of non-JSON lines in responses
11 years ago
Matt Martz eb8759176f Allow sudo to another user from root 11 years ago
James Cammarata 5e598c5337 Fix handling of non-JSON lines in responses
Garbage lines with ' = ' in them were causing parsing errors,
where key=val lines should not have spaces around the equals.

Fixes #6962
11 years ago
James Cammarata 38b49476f8 Merge branch 'raw-script-su-support' of https://github.com/sivel/ansible into sivel-raw-script-su-support 11 years ago
James Cammarata 93b5769d94 Hide YAML content on syntax errors when a vault password is specified
Fixes #6601
11 years ago
Michael Scherer 0f0f5ff1ce Give more information when a task is empty
I made a typo in a playbook and was great by:

    ERROR: expecting dict; got: None

The issue was a single - on the last line of a playbook.
With the name of the file, I was able to see right away where the
error was.
11 years ago
James Cammarata e83a494e41 Make sure VARS_CACHE for hosts are updated with the play vars too
Fixes #6979
11 years ago
James Cammarata a6068b09ac Fix collision in random filter name by merging functionality
Merges the functionality of the original jinja2 random filter with
the one we provide.

Fixes #7113
11 years ago
James Cammarata c115c34a1f Set the default LANG to en_US.UTF-8 and also set LC_CTYPE
Fixes #6737
11 years ago
Brian Coca c3e559b914 should now work with versions older than 8.4 11 years ago
faust64 78b9a11ccf Update facts.py
Fixes #7093 --devel
11 years ago
James Cammarata 68c30548e0 Properly catch and decode unicode strings in module _log_invocation()
Fixes #7084
11 years ago
James Cammarata 4f673b9497 Merge pull request #7083 from mscherer/better_message_multiple_action
Improve error message when multiple action are given
11 years ago
James Cammarata 39c6141b4a Merge pull request #7082 from bcoca/freebsd_mtu_fix
fixed issue with FreeBSD network facts
11 years ago
James Cammarata 086b877719 Merge pull request #7079 from mscherer/fix_error_whitespace_in_config
Clean a bit more the ssh_args configuration
11 years ago
James Cammarata 54f86099e4 Merge pull request #7078 from mscherer/fix_error_message_controlpersist
Enhance error message about missing ControlPersist
11 years ago
Michael Scherer 1e34e95ba0 Improve error message when multiple action are given
This can be illustrated using this playbook:

    - command: id
      delegate_to: "{{ remote_server }}"
      user: "{{ remote_user }}"

The error is to use 'user' instead of 'remote_user', but the error message
do not really mention it, so it can be a bit hard to spot.
11 years ago
Brian Coca e5f297697a ifconfig changed on FreeBSD, tested this on 8,9 and 10 latest stable
versions and it now works
11 years ago
Brian Coca bc23926f42 fixed ETIME issue on FreeBSD 8 through 10, which broke all fact
gathering
11 years ago
Michael Scherer c87afc1109 Clean a bit more the ssh_args configuration
If someone add ssh_args = " " to his .ansible.cfg, it will result into
strange failure later :

    <server.example.org> ESTABLISH CONNECTION FOR USER: misc
    <server.example.org> REMOTE_MODULE ping
    <server.example.org> EXEC ['ssh', '-C', '-tt', '-q', ' ', '-o', 'KbdInteractiveAuthentication=no',
    '-o', 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o', 'PasswordAuthentication=no',
    '-o', 'ConnectTimeout=10', 'server.example.org', "/bin/sh -c 'mkdir -p /tmp/ansible-tmp-1397947711.21-5932460998838
    && chmod a+rx /tmp/ansible-tmp-1397947711.21-5932460998838 && echo /tmp/ansible-tmp-1397947711.21-5932460998838'"]
    server.example.org | FAILED => SSH encountered an unknown error during the connection. We recommend you re-run the
    command using -vvvv, which will enable SSH debugging output to help diagnose the issue

The root cause is the empty string between -q and -o, who kinda break mkdir.
11 years ago
Michael Scherer 3a09c99811 Enhance error message about missing ControlPersist
ansible_ssh_args is good for playbook, but in the ~/.ansible.cfg
file, it should be ssh_args in a specific section.
11 years ago
James Cammarata ae29e43f93 Merge branch 'issue_7009_nfs_selinux' into devel 11 years ago
James Cammarata a32dd34359 Make sure HostVars object is instantiated before assigning it
Fixes #7006
11 years ago
Jim Kleckner 46ec238613 Fix #7057 missing False default for vars_prompt
The test for default should be "is not None" since a boolean value of
False is a valid value.

See discussion at:
  https://groups.google.com/forum/#!topic/ansible-project/oc1_zE-FnyI
11 years ago
James Cammarata 75e0b7a5cf Make sure umask is set restrictively before creating any vault files 11 years ago
James Cammarata 3715482d7c Determine selinux context for NFS mount points correctly
Fixes #7009
11 years ago
Sébastien Gross 22d6572270 Honor ansible_private_key_file for delegated hosts
If a delegated host is not found in the inventory specified
private_key_file for primary host was not used.

This allows running playbooks without having to define any inventory at
all and to use the same ssh private key for both primary host and
delegated one.
11 years ago
Wim 6ed4ca97a8 hint to install python-ssl on redhat systems 11 years ago
smoothify 48bf7a000d Try to pass in item to on_skippped callback. 11 years ago
James Cammarata d240d073eb Changing SSL cert detection method to allow for auto-negotiation of SSL protocols
Fixes #6904
11 years ago
James Cammarata 23c5f4524d Make sure args in run_command are encoded for shlex.split calls on py2.6 11 years ago
James Cammarata d494a163f9 Merge pull request #6900 from jimi-c/issue_6891_cifs_mount_hang
Add a timeout decorator for timing out functions that may hang
11 years ago
James Cammarata ba1a6c2e11 Removing .orig file merged in accidentally 11 years ago
James Tanner aad128bac7 Use combined cache for templating module vars
Fixes #6901
11 years ago
James Cammarata 40b958e348 Don't turn complex args back into a k=v string for the synchronize module
Fixes #6951
11 years ago
James Cammarata 2cc4ac2e75 Catch traceback caused by permissions errors during a local md5 sum
Fixes #6948
11 years ago
Aaron Iles a5507275cb Fix localhost tasks with complex executables
Enable the use of executable commands that use command line options with
the localhost command runner. These commands require parsing out the
base executable from the command string to pass to subprocess.
11 years ago
jctanner bfb25f4f89 Merge pull request #6917 from bcoca/random_filter_clean
simple random filter
11 years ago
jctanner af99abc81c Merge pull request #6913 from willthames/aws_module_doc_fragments
Use common module document fragments for AWS modules
11 years ago
James Tanner 4eb626825b Refactor play._update_vars_files_for_host to make common functions and easier debugging
Fixes #4883
11 years ago
Brian Coca 80cd217eb7 simple random filter 11 years ago
willthames 509561f658 Moved AWS modules over to common module fragments
Created common module doc fragment, and applied to all
modules that use ec2_connect or connect_to_aws as
they definitely share the common doc fragments
11 years ago
James Cammarata 5ce6c86595 Merge branch 'sudo_pass_typo' of https://github.com/tyll/ansible into tyll-sudo_pass_typo 11 years ago
James Cammarata eebc72ab9b Add a timeout decorator for timing out functions that may hang
Fixes #6891
11 years ago
James Tanner 2d33cd1b5d Fixes #6894 add missing file and remove debug line 11 years ago
James Tanner 68cd7258b6 Fixes #6894 create docs fragment for files 11 years ago
Serge van Ginderachter d240e2b9fb Introduce an ansible_version dict as runner variable
Given the version:
    "1.6 (ansible_version_var 14499e8bf3) last updated 2014/03/21 17:07:50 (GMT +200)"

  We get the special variable:
    "ansible_version": {
        "full": "1.6",
        "major": 1,
        "minor": 6,
        "revision": 0,
        "string": "1.6 (ansible_version_var 14499e8bf3) last updated 2014/03/21 17:07:50 (GMT +200)"
       }

	modified:   lib/ansible/playbook/__init__.py
	modified:   lib/ansible/runner/__init__.py
	modified:   lib/ansible/utils/__init__.py
11 years ago
James Cammarata 9ca8c3262c Switch module safe_eval to ast.literal_eval 11 years ago
James Tanner 318e752b6f Fixes #6845 evaluate changed_when only if task is not skipped 11 years ago
Michael DeHaan ccdd91f9c2 Merge pull request #6861 from ericlake/devel
add distribution_major_version to fact gathering
11 years ago
James Tanner 5a65dc3b6a Fixes #6820 fix erroneous missing vault password error when using the template module 11 years ago
Eric Lake 7f9736198a add distribution_major_version to fact gathering 11 years ago
Serge van Ginderachter e36e2d38fe InventoryDir: another fix for the host.groups list
In some cases, where a host is mentioned in multiple groups, and those
groups are referenced in multiple ini files, a group could still contain
multiple instances of a group in its host,groups list, where only one of them
is the right group, that exists in the inventory.
11 years ago
James Cammarata 82b24c162e Adding delimiter fixes to action_plugin + fixing local assembling with a delimiter
Also added a new integration test for assemble using local assembly
with a delimiter.
11 years ago
Michael DeHaan 2c7275e8a9 Merge pull request #6835 from sivel/version-compare-filter
Add version_compare filter
11 years ago
Michael DeHaan 0a574af270 Merge pull request #5555 from sivel/expose-playbook-to-callback
Expose the playbook to callback plugins
11 years ago
Michael DeHaan 1fa19e29e8 Use common file argument system previously implemented by @sivel for rax modules on the file modules as well (copy/file/template).
Application to other cloud providers would make very good sense.
11 years ago
Matt Martz 7b5f89ec7c Use PluginLoader for module docs fragments 11 years ago
Matt Martz bb6f7a267a Add support for shared module documentation fragments 11 years ago
James Cammarata ee0a0b492b Allow isprintable() util function to work with unicode
Fixes #6842
11 years ago
James Tanner cdc0819939 Fixes #6088 turn off sudo and su if the connection is local the sudo user matches the current user 11 years ago
jctanner 2a9fcdd87c Merge pull request #6711 from j2sol/raw-unreachable
Treat 255 errors from raw as dark host
11 years ago
jctanner f6db60cbce Merge pull request #6787 from tyll/pull_ssh_prompt
ssh: propagate prompt to _communicate()
11 years ago
Matt Martz 5770428e91 Add version_compare filter 11 years ago
James Cammarata 317c2f4bc0 Fixes to variable issues introduced by recent changes
Fixes #6801
Fixes #6832
11 years ago
Harlan Lieberman-Berg 876b8085aa Add directory_mode to common file parameters to prevent errors. 11 years ago
Michael DeHaan 904f331210 Merge pull request #6788 from tyll/pull_ssh_verbose_comments
ssh connection plugin: Make comments more verbose
11 years ago
James Cammarata a6a4680e5c Fix variable naming issue in _load_tasks()
Fixes #6800
11 years ago
James Cammarata 6f34a6336f Differentiate decryption failures from empty data files in ansible-vault
Fixes #6822
11 years ago
BoscoMW 39fcbd1f10 Update ssh.py 11 years ago
BoscoMW 165406cf35 Catch permissions errors related to opening a known_hosts file
Catch permissions errors related to opening a known_hosts file
11 years ago
James Cammarata e2d86e4f43 Splitting SETUP_CACHE into two caches, one for host vars and one for setup facts 11 years ago
James Cammarata a4df906fc9 Fixes to safe_eval 11 years ago
Tim G c307a73e28 Check for errors from adb, may not work on all systems. 11 years ago
Tim G 285d4f3fa6 If memory not available in syslog.log, catch error, attempt to find it with adb 11 years ago
Till Maas e6cb32f284 ssh connection plugin: Make comments more verbose
Explain _communicate() more.
11 years ago
Till Maas 1da69309e5 ssh connection plugin: Report missing sudo password
If no password is provided, sudo hangs at the prompt. Identify this and
report that the password is missing as an error.
11 years ago
Till Maas 2cae7472ad ssh: propagate prompt to _communicate()
_communicate() uses the prompt variable to detect wrong passwords early,
therefore it needs to be passed to it from exec_command().
11 years ago
James Cammarata 612a1a64f0 Apply extra vars after all other vars have been merged in a play
Fixes #6677
11 years ago
James Cammarata b9c044b8c9 Making the exception caught during os.dup of stdin explicit
Related to f23bb34
11 years ago
James Cammarata f23bb344aa Catch errors when duping stdin
Fixes #6657
11 years ago
James Cammarata 4f140be711 Merge branch 'devel' of https://github.com/Synforge/ansible into Synforge-devel 11 years ago
James Tanner efba8b4771 Merge branch 'regexreplace' of git://github.com/jacobweber/ansible into jacobweber-regexreplace 11 years ago
James Tanner 2492c2714a Fixes #5307 set relative paths to the files dir for roles and the inventory dir for non-role tasks 11 years ago
Till Maas b07113f358 ssh: Properly check for wrong su password 11 years ago
GuiGui2 b9613665dd Setup module: Additional facts when using ansible with Linux on System z
- Improved parsing of /proc/cpuinfo to take the specifics of Linux on
System z. ansible_processor and ansible_processor_cores are now
completed.
- Also improved virtualization facts in the same environment, parsing
the output of /usr/bin/lscpu to populate virtualization_type and
virtualization_role more precisely. If lscpu is not available, then
stick to the previous behavior.
11 years ago
James Cammarata b698f7a44b Add option to create host_key directory if it doesn't exist
Fixes #6731
11 years ago
Matt Martz 7e3dd1066c Allow raw and script to support su 11 years ago
Michael DeHaan a6b25e8657 Allow type=list module arguments to accept integers and floats. 11 years ago
Michael DeHaan 9921f804f9 Merge pull request #6643 from herbygillot/fact-full-hostname
Add a fact providing the full hostname, without the domain portion
11 years ago
Cristian Ciupitu 96ff1444f0 Micro-optimization: replace s.find(x)==0 with s.startswith(x)
timeit shows a speedup of ~1.4x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
11 years ago
Cristian Ciupitu 1eaf85b89f 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.
11 years ago
Paul Oyston 1942a69ed2 Added template call to _executor_internal to allow the passing of arbitrary data to modules. 11 years ago
Jesse Keating 3315ba0b99 Treat 255 errors from raw as dark host
Any other module is able to detect a dark host, but raw was treating 255
as a return code from the module execution, rather from the connection
attempt. This change allows 255 to be treated as a connection failure
when using the raw module.
11 years ago
James Cammarata 78bdb078fe Fix for bug related to async jid polling change plus a new test 11 years ago
James Tanner 88462729aa Addresses #6708 fill in missing keywords for ssh.py _communicate 11 years ago
jctanner 7dc3dc5279 Merge pull request #6708 from sivel/put-file-control-master
Share p.communicate alternative logic between exec_command and put_file
11 years ago
James Cammarata e09313120c Make async jid's unique per host
The jid will now also contain the PID of the async_wrapper process,
and can each unique jid from each host is tracked rather than just
relying on one global jid per task.

Fixes #5582
11 years ago
James Tanner 38de8cc87e Addresses #6705 Only set the role_uuid inside the role vars 11 years ago
Matt Martz b8cb23d309 Share p.communicate alternative logic between exec_command and put_file 11 years ago
James Tanner 8991e403e8 Fixes #6705 Give each role a unique uuid and apply tags only to tasks matching the uuid 11 years ago
James Cammarata 9ede6f7f49 Convert gather_facts to a boolean value if it is not None
Fixes #5618
11 years ago
James Tanner 2a976ac313 Fixes #5059 Ignore lookup failures when templating a task name 11 years ago
Serge van Ginderachter b0ff1ea425 performance optimisation in hash merge logic
rewrite deepcopy in util.merge_hash and just iterate
on an inventory with 500 groups and 800 hosts this brings back the
inventory initialisation from 13s to 3s (with hash_behaviour=merge)
11 years ago
Serge van Ginderachter d4634983f0 Move group/host_vars parsing into core inventory
modified:   lib/ansible/inventory/__init__.py
	deleted:    lib/ansible/inventory/vars_plugins/group_vars.py
	modified:   lib/ansible/utils/__init__.py
11 years ago
James Cammarata 7a3fa63db5 Fix for unicode environment variable handling
Fixes #5395
11 years ago
Serge van Ginderachter f8ea93c732 Move inventory.set_playbook_basedir from ansible-playbook to playbook constructor 11 years ago
Serge van Ginderachter cc28fd891b Introduce noop vars plugin.
In preparation to move the group_vars plugin code into core.

	new file:   lib/ansible/inventory/vars_plugins/noop.py
11 years ago
Serge van Ginderachter f6a55a3552 Refactor vars_plugins (host/group_vars)
Split out parsing of vars files to per host and per group
parsing, instead of reparsing all groups for each host. This enhances
performance.

Extend vars_plugins' API with two new methods:
* get host variables: only parses host_vars
* get group variables: only parses group_vars for specific group
The initial run method is still used for backward compatibility.

Parse all vars_plugins at inventory initialisation, instead of
per host when touched first by runner. Here we can also loop through
all groups once easily, then parse them.
This also centralizes all parsing in the inventory constructor.

	modified:   bin/ansible
	modified:   bin/ansible-playbook
	modified:   lib/ansible/inventory/__init__.py
	modified:   lib/ansible/inventory/vars_plugins/group_vars.py
11 years ago
James Tanner 3194fbd365 Fixes #6655 catch unicode encoding errors before sending to syslog 11 years ago
jctanner 7b8d1c0ffd Merge pull request #6580 from ramondelafuente/fix-vault-editor-call
Changed call to EDITOR to allow for parameters
11 years ago
Ramon de la Fuente c79c001bfb Changed call to EDITOR to allow for parameters
The EDITOR environment variable is used to create and edit files in the vault.
But if the EDITOR variable contains parameters, subprocess.call() breaks.

This fixes the EDITOR environment variable to be safely split into a list.
It adds a dependency on shlex.
11 years ago
James Cammarata c9bf7eb9bb Don't run {failed|changed}_when checks until async_status is done
Fixes #5117
11 years ago
James Cammarata 4ea12c1b86 Make sure stat of dest is available in atomic_move
Fixes #6682
11 years ago
James Tanner f9018a6f1d Ensure handlers run when meta tasks are defined and add handler integration tests
Fixes #6678
Fixes #6670
11 years ago
Michael DeHaan 3eecc039b9 Merge pull request #6656 from Jmainguy/setup
Added ansible_date_time.weekday as a fact. This returns Monday,Tuesday,W...
11 years ago
James Cammarata 8c7828d469 Tweaking error message resulting from undefined template variables
Fixes #5114
11 years ago
James Cammarata 846933dd53 Make inventory parsing error detection smarter
If something is executable but doesn't look like it should be, or if
something is NOT executable and DOES looks like it should, show a
more apropos error with a hint on correcting the problem

Fixes #5113
11 years ago
Michael DeHaan a062912a1f Merge pull request #6658 from pilou-/fix_fix
'changed' key is not defined when task fails
11 years ago
Michael DeHaan 9be732d8f2 Merge pull request #6679 from renard/fix-simplejson-module
Fix TypeError when using old simplejson lib.
11 years ago
Herby Gillot 94297950a0 Name platform.node() fact as "nodename" 11 years ago
James Tanner ebd1f70c5d Typo in setting task_errors variable 11 years ago
Sébastien Gross ef6b437d0d Fix TypeError when using old simplejson lib.
On some very old simplejson does not support the 'encoding' and give
following exception:

   TypeError: __init__() got an unexpected keyword argument 'encoding'

This fix runs json.dump with no encoding key (such as before #a023cb) on
TypeError exception only.
11 years ago
Serge van Ginderachter d3eaa1b79e InventoryDir: refactor logic
Make sure all hosts and groups are unique objects
and that those are referenced uniquely everywhere.
Also fixes test_dir_inventory unit tests which were broken after previous
patches.

	modified:   lib/ansible/inventory/dir.py
11 years ago
Serge van Ginderachter 188375171e Inventory: raise error when adding a group that already exists.
The parsers check if a group already exists.
11 years ago
Serge van Ginderachter be58808fe4 inventory script parser: do not add all the groups to *all* group 11 years ago
Serge van Ginderachter 0ceefbbf29 inventory ini parser: do not add all the groups to *all* group
but only those with lowest depth, so we keep a proper tree structure
11 years ago
Serge van Ginderachter cc8efb4aab inventory groups: make sure group.depth is updated on all grandchildren 11 years ago
Serge van Ginderachter 1c86909875 inventory group: add groups to parent_groups only once 11 years ago
Serge van Ginderachter 36f55d3549 inventory directory parser: add host to group only once 11 years ago
Serge van Ginderachter 8b215149d4 inventory directory parser: add groups to parent_groups non-recursively 11 years ago
Serge van Ginderachter 262ba0460a inventory directory parser: add hosts to group non-recursively 11 years ago
James Tanner 605156c904 Fixes premature handler execution after adding force-handlers 11 years ago
James Cammarata bc93732b1d Catch permissions errors related to opening a known_hosts file in modules
Fixes #6644
11 years ago
James Cammarata dc658eaa1c Check to make sure the host is in the inventory vars cache before clearing it
Fixes #6660
11 years ago
James Cammarata db345391e3 Fixing ownership when atomic_move is creating a file while sudo'ing
Fixes #6647
11 years ago
Pierre-Louis Bonicoli c76501b8a3 'changed' key is not defined when task fails
fix KeyError introduced by fix of #6591.
11 years ago
Jonathan Mainguy b17b5ad85b Added ansible_date_time.weekday as a fact. This returns Monday,Tuesday,Wednesday,Thursday,Friday,Saturday, or Sunday depending on the remote servers time. Useful for backups the way I use it 11 years ago
James Cammarata bb723bedee Merge branch 'atomic_move_restore_owner_group_rebase' of https://github.com/tyll/ansible into tyll-atomic_move_restore_owner_group_rebase 11 years ago
James Tanner 9169a11088 Fixes #4777 add --force-handlers option to run handlers even if tasks fail 11 years ago
Herby Gillot c0886a5f3a Add a fact providing the full hostname, without the domain portion
truncated.
11 years ago
Michael DeHaan fba2f1f9a9 Merge pull request #6639 from fvieira/devel
Add missing sha1 import on known_hosts.py
11 years ago
Michael DeHaan a24d3f78d9 Merge pull request #6634 from pilou-/fix
Remove print statements
11 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.
11 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
11 years ago
Francisco José Marques Vieira e9d7476c28 Add missing sha1 import on known_hosts.py 11 years ago
Pierre-Louis Bonicoli d3a470db0c Remove print statements
"print item" raises an exception when type of item is
jinja2.runtime.StrictUndefined
11 years ago
James Tanner 5b3b9ba267 Addresses #4407 Caculate failed percentage based on serial and number of hosts in play 11 years ago
Michael DeHaan d0cbb51170 Merge pull request #6615 from 8191/devel
Addresses #6591 Hide diff for lineinfile if file did not change.
11 years ago
Manuel Faux b8158f5f6a Addresses #6591 Hide diff for lineinfile if file did not change. 11 years ago
Joshua Conner 1c504eff68 etcd lookup: use $ANSIBLE_ETCD_URL if it exists in the env 11 years ago
James Tanner 14499e8bf3 Fixes #4325 allow async and poll parameters to be templated vars 11 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.
11 years ago
James Tanner 95c79ad483 Fixes #4239 merge injects with new vars loaded from files 11 years ago
James Tanner d327e3d11a Fixes #5622 included tasks in roles now inherit tags from the role 11 years ago
Till Maas 898a38b074 module_utils/atomic_move(): Use tempfile module
Fix a potential race condition by using the tempfile module.
11 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.
11 years ago
Michael DeHaan e639b5382b Change default gathering policy, add to docs. 11 years ago
Brian Coca 18adf07fc6 changed setting values and updated docs 11 years ago
Brian Coca 4dfa40f18e added gathering control to ansible, defaults to 'smart' 11 years ago
Michael DeHaan c42dbf80a2 Merge pull request #6586 from sivel/probline-logic-fix
Fix logic in process_common_errors for unbalanced quotes
11 years ago
James Tanner b8f627d1d5 Prevent rewriting the encrypted file if decryption fails 11 years ago
James Tanner e71857fbdf Addresses #6579 Only strip vault passwords if given 11 years ago
James Tanner 8c2e1e2baa Addresses #6579 Disallow vault passwords with newline characters by stripping them in utils 11 years ago
James Cammarata a9000e7f3a Making the error messages for bad key/dir permissions more understandable
Fixes #6254
11 years ago
Matt Martz 2aaecc5afa Fix logic in process_common_errors for unbalanced quotes 11 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
11 years ago
James Tanner 67517e96d3 Fixes #6567 put the git wrapper script in the module temp dir 11 years ago
Matt Martz 1d3d73a0b6 Only write the DUMMY_CA_CERT on OS X 11 years ago
Matt Martz 3b5aa8bd30 Provide a dummy ca to allow OS X to do it's OpenSSL keychain magic 11 years ago
James Cammarata eb7717aa02 Make sure all tags are in a list before merging for role deps
Fixes #6557
11 years ago
James Cammarata c9fcbf7bdd Change print message to vvv for missing known hosts in ssh.py 11 years ago
James Tanner 49807877fa Fixes #6550 Use shell for pipe lookup subprocess.popen calls 11 years ago
James Cammarata 3f5440f7df Make modules set a valid working directory
Fixes #6546
11 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
11 years ago
Michael DeHaan 9da26da335 Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel 11 years ago
Michael DeHaan 13f69dad05 Merge pull request #6527 from patrickheeney/hosts-bug
Fix for hostkey directory
11 years ago
Michael DeHaan 94e3350b38 Catch a unquoted line error. Fixes #6532 11 years ago
jctanner b8d5ba42f5 Merge pull request #6523 from sergevanginderachter/vault-in-subdirs
Pass through vault_password when parsing host/group vars as directories.
11 years ago
James Cammarata c4f1c3c6b0 Merge branch 'bcoca-file_fixes_clean' into devel 11 years ago
James Tanner ad70e9bcd6 Fixes #6227 skip non-unicode strings and catch decode errors silently in template_from_string 11 years ago
James Tanner 20262b6c15 Remove unused variable in _executor_internal 11 years ago
James Cammarata 5d8c9d3f0f Merge branch 'file_fixes_clean' of https://github.com/bcoca/ansible into bcoca-file_fixes_clean 11 years ago
James Cammarata 7edee91aba Fixing a bug in role tag handling where only the first tag was used
Fixes #6517
11 years ago
James Tanner ebb6b8442b Catch unicode unescape failures in copy action plugin 11 years ago
patrickheeney a9aab23f11 Fix for hostkey directory 11 years ago
James Tanner b14c658532 Fix concatenation for with_file 11 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
11 years ago
Greg Dallavalle 77229553a3 fetch_url: Avoid credential stripping for FTP-scheme URLs 11 years ago
Michael DeHaan fe696e4720 Merge commit. 11 years ago
Michael DeHaan b41541c62a Merge conflict. 11 years ago
Michael DeHaan fd0ff6f174 Merge pull request #5711 from sivel/plugin-realpath
Use realpath for plugin directories instead of abspath
11 years ago
Michael DeHaan 6144c5e1e2 Merge pull request #5714 from eggsby/patch-2
Allow templates in ansible_sudo_pass inventory var
11 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.
11 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
11 years ago
Michael DeHaan 4a06954a13 Merge pull request #6390 from sergevanginderachter/group-varsdirs-svn
group_vars plugin: do not parse hidden files in subfolders
11 years ago
Michael DeHaan 9cdbc53741 Merge pull request #6420 from bcoca/role_names
added new role_names variable that exposes current roles list
11 years ago
Michael DeHaan 26efc7ace8 Revert "Populate module_setup from the setup module rather than special code elsewhere"
This reverts commit 58eec2e4c2.
11 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>
11 years ago
Michael DeHaan a9896afc66 Merge pull request #6418 from bcoca/template_itnore_errors
templates ignore_errors
11 years ago
Michael DeHaan d5856bd475 Merge pull request #6391 from sergevanginderachter/hashmerge_inventoryscripts
Allow hash_behaviour=merge to be respected in core inventory
11 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.
11 years ago
Michael DeHaan 3d44f7cd51 Merge pull request #6217 from ashokrajar/patch-1
pause plugin doesn't flush raw_input prompt
11 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.
11 years ago
Cristian Ciupitu a7da5d8702 Micro-optimization of inventory.expand_hosts.detect_range 11 years ago
brdo 3963a64a4f Set keepalive to 5 seconds in paramiko_ssh.py
This update resolves https://github.com/ansible/ansible/issues/6476.
11 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)
11 years ago
James Cammarata a0cb974575 Be sure to return to the old directory if cwd is set in run_command 11 years ago
James Tanner a348f67238 Reset the current directory after running subprocess.Popen 11 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.
11 years ago
James Cammarata 5233d4bc31 Fix typo in run_command when sending data that is not binary 11 years ago
James Cammarata b1a37dcc08 Revert "Rejoin args list into a string for run_command when using an unsafe shell"
This reverts commit 4273cb2d8e.
11 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.
11 years ago
Michael DeHaan d1753046e0 Revert "Correctly catch template errors without returning invalid data"
This reverts commit 3cd7d47b7e.
11 years ago
James Cammarata 303e085f8b Only use cwd in run_command kwargs if the directory exists 11 years ago
James Cammarata 60a7f57300 Make sure the cwd exists in run_command before trying to use it 11 years ago
Dan Koch bbf320fd22 Work around for cwd stat problems with run_command and sudo
This fixes issue #6443
11 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.
11 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. 11 years ago
Michael DeHaan 6d841d120e Don't process shell commands as arrays. 11 years ago
James Cammarata 86d2ee4b97 Don't append tags from roles to the plays tags list
Fixes #6393
11 years ago
James Cammarata a9017af2bb Adding validate_certs to all modules that use fetch_url 11 years ago
Michael DeHaan cfabc2e28a module.run_command is intended to bypass the shell here, so can't do ">>" 11 years ago
James Cammarata 7f38cff989 Remove unused code from get_ca_certs() function 11 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
11 years ago
Michael DeHaan 0b0ca95731 Expand environment variables and tildes passed to commands generically across the board. 11 years ago
James Tanner 0e38f5dfdc Check for hash availability during vault operations 11 years ago
Brian Coca 906e59d8a8 added new role_names variable that exposes current roles list 11 years ago
Brian Coca 7778aca966 templates ignore_errors 11 years ago
James Cammarata 6c25e78299 Merge branch 'devel' of https://github.com/dparalen/ansible into dparalen-devel 11 years ago
James Tanner e4e64a9699 Rename lxc to libvirt_lxc 11 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
11 years ago
James Cammarata 430cce9df3 Merge branch 'ec2_security_token' of https://github.com/willthames/ansible into willthames-ec2_security_token 11 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)
11 years ago
Serge van Ginderachter 29c60bdaff group_vars plugin: do not parse hidden files in subfolders, e.g. avoid .svn/ 11 years ago
James Tanner 6740a1f342 Wrap crypto.hash imports with try/except 11 years ago
Michael DeHaan 411bcb7161 Merge remote branch 'real/devel' into devel 11 years ago
Michael DeHaan 2fa6110961 Update the message about pycrypto to include that python-devel must be installed. 11 years ago
James Tanner 0d6f6ad282 Implement new default cipher class AES256 11 years ago
Michael DeHaan 20f0157152 Merge pull request #6378 from franckcuny/headers-gce-utils
Add BSD license to module_utils/gce.py
11 years ago
James Tanner ba0fec4f42 Force command action to not be executed by the shell unless specifically enabled 11 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
11 years ago
James Cammarata 6577ff5f85 Add tags from handlers to tag availability calculation 11 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.
11 years ago
Franck Cuny 82f99bfa3d Add BSD license to module_utils/gce.py 11 years ago
Matt Martz 4b400ca5e9 Only used stripped data for testing if the file is json, but used unstripped when actually parsing. Fixes #6348 11 years ago
Seth Woodworth 1d5db30067 Updates loop warning, removes unnecessary c 11 years ago
James Cammarata 04a6dc6d12 Check for skipped tags in passed role variables before adding to them
Fixes #6330
11 years ago
Michael DeHaan d2cb35f898 Merge pull request #6320 from angstwad/instance-redo
Use isinstance() rather than a check using type()
11 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
11 years ago
James Cammarata e3b887f770 Fix range issue in inventory and add additional error checking
Fixes #6331
11 years ago
James Cammarata 3cd7d47b7e Correctly catch template errors without returning invalid data
Fixes #6329
11 years ago
James Cammarata f80d02d841 Properly wrap logical elements together for su/sudo detection 11 years ago
James Cammarata b6056044b7 Partial revert of 73c883c due to issues with handlers in roles
Fixes #6322
11 years ago
Michael DeHaan e486dbab04 Use the loaded variable since we have it assigned, not just for error detection. 11 years ago
Michael DeHaan 3f07ec3d73 Fixup JSON error reporting in previous commits. 11 years ago
Michael DeHaan a4d01b0891 Also search .json filenames 11 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. 11 years ago
James Cammarata a0f939581d Merge branch 'aresch-devel' into devel 11 years ago
Paul Durivage 3cce3650e5 Use isinstance() rather than a check using type() 11 years ago
Richard Isaacson 119434d079 Merge pull request #6319 from risaacson/fix_test_dir_inventory
Fix TestInventory Unit Tests

Tested clean.
11 years ago
James Cammarata 9b79591f23 Merge branch 'devel' of https://github.com/aresch/ansible into aresch-devel 11 years ago
James Cammarata 2a0028e687 Sanitize run_command argument output
Fixes #6316
11 years ago
Andrew Resch 4d80019ac8 Fix logic checking for both sudo and su, and their respective users 11 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.
11 years ago
James Cammarata 9f2999df79 Un-escape newlines in delimiters for assemble module 11 years ago
Brian Coca 79809b67dc fixed another line with same issues
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
11 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>
11 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
11 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
11 years ago
Michael DeHaan 94a7fb60fe Allow escaped comments in inventory files. 11 years ago
aresch 23a0468a4b Fix respecting remote_tmp when sudo is used 11 years ago
James Tanner 4e8ed92130 Fixes #6077 decode escaped newline characters in content for the copy module 11 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.
11 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
11 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.
11 years ago
James Tanner 6129ea7566 Fixes #6298 and adds a sudo unit test for synchronize 11 years ago
Richard C Isaacson 38abd5e20e Break this out into a reusable function and document regex shortcomings. 11 years ago
Luca Berruti 7cf363910a fixes #6244 11 years ago
jctanner 40ee030790 Merge pull request #6265 from franckcuny/gce-fixes
Add credential parameters to the GCE modules.
11 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.
11 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.
11 years ago
Aaron Bassett 5c589af191 fix missing stdin in _parallel_runner 11 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.
11 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.
11 years ago
Michael DeHaan 435104065e Merge pull request #6248 from hkariti/fix_list_copy
Fix incorrect use of copy() on list, causing a traceback
11 years ago
Jesse Keating 0c2c37a47a Avoid range selection on empty groups
This prevents a traceback when the group is empty.
Fixes #6258
11 years ago
James Tanner 623cd9ac50 Revert "Merge pull request #6250 from dagwieers/gather_facts-once"
This reverts commit b769b4181a, reversing
changes made to 1e01fb856d.
11 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.
11 years ago
Hagai 0e4b38ed5a Fix incorrect use of copy on list 11 years ago
Tefnet c652802d29 missing import in assert module
Fixed missing ansible.errors import in assert module
11 years ago
Michael DeHaan 16d3be03af Remove a few extra legacy variable feature references. 11 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. 11 years ago
Michael DeHaan 9d01d88a57 Bump versions on the devel branch (devel branch version is 1.6) 11 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. 11 years ago
James Cammarata 79645535c0 Handle empty results from failed connections in _remote_md5()
Fixes #5800
11 years ago
Gilles Cornu 04f6367172 Fully clean 'ssh_old' and 'paramiko_alt' options
These transports have been removed in 33857855ad
11 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]
```
11 years ago
James Cammarata df9de6ea71 Expand the source path in the action plugin when not using a remote source
Fixes #6209
11 years ago
Serge van Ginderachter 9833263417 Fixes templating of ansible_ssh_host for delegates 11 years ago
James Cammarata c11e2100e0 Save the original transport in runner after detecting the smart transport
Fixes #6192
11 years ago
Michael DeHaan cd7d7eb1bc Merge pull request #6202 from muffl0n/unarchive_destdir
unarchive: output dest in error-message
11 years ago
muffl0n 17946b23d5 output dest in error-message 11 years ago
Richard C Isaacson 9c8bbe2904 column must always be less than len(probline)
Fixes related to GH-5773.
11 years ago
James Cammarata 14ba10393b Minor tweak to region config in boto configuration file 11 years ago
James Cammarata 88acb48e61 Merge branch 'ec2_boto_config_region' of https://github.com/willthames/ansible into willthames-ec2_boto_config_region 11 years ago
James Cammarata 2a383786dd And remove the expanduser calls from the action_plugin 11 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.
11 years ago
James Cammarata b758ed9417 Merge pull request #6150 from hkariti/fix_join_bug
Fix incorrect use of .join on list causing a traceback
11 years ago
James Cammarata 96f1c3ce2e Move where the expanduser call is made, to avoid issues with None 11 years ago
James Cammarata e659d55d62 Merge branch 'devel' of https://github.com/muffl0n/ansible into muffl0n-devel 11 years ago
James Cammarata 5ff20c1ae7 Merge branch 'scottanderson42-ec2-params' into devel 11 years ago
James Tanner baed7a0ed9 Fixes #6187 Add unit tests for VaultLib 11 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.
11 years ago
James Tanner 35def422a3 Addresses #6188 Add --vault-password-file to bin/ansible and bin/ansible-playbook 11 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
11 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.
11 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>
11 years ago
James Tanner 876035c0b1 Fixes #6161 Get the delegate host info properly from the hostvars object 11 years ago
James Tanner 9209581565 Fixes #6155 Inject checkmode into synchronize module args 11 years ago
James Cammarata a18f811b2d Merge branch 'jimi-c-issue_4620' into devel 11 years ago
James Cammarata f23ccebbdc Merge branch 'issue_4620' of https://github.com/jimi-c/ansible into jimi-c-issue_4620 11 years ago
James Tanner 0f95a905d9 Fixes #5965 Ensure the inject for each item in a loop is un-altered 11 years ago
Iordan Iordanov a1854bb762 Add support for checking host against global known host files. 11 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
11 years ago
jctanner 8a253bf576 Merge pull request #6151 from jctanner/vault_rewrite
Vault rewrite, pass 1
11 years ago
jctanner 93c746db9c Merge pull request #5651 from nikut/sshfix
allow ansible_ssh_private_key_file to be templated (thanks to benno)
11 years ago
James Tanner 9c9f15acb7 Fix decryption error 11 years ago
James Tanner 52a8efefba Vault rewrite, pass 1 11 years ago
Hagai ae9c0d87a9 Fix incorrect use of .join on list 11 years ago
Richard C Isaacson 8be8dbc9ed Formatting cleanup. 11 years ago
Richard C Isaacson aaf0a182e1 Merge remote-tracking branch 'jeromew/ansible_script_creates' into issues_4986 11 years ago
Veeti Paananen dd6f2e6bfa Show the offending file name with the include + with_items error 11 years ago
Michael DeHaan 9686695170 Assume empty files are unencrypted. 11 years ago
James Tanner 4af1d6098b Fixes #5939 Allow for delegate hosts that are not in inventory 11 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.
11 years ago
Michael DeHaan bc65956798 Add tests that leverage most of our custom filters. A few more to add. 11 years ago
James Cammarata f5505425f9 Adding 'expanduser' filter to the core filters list
Example usage: {{ my_path | expanduser }} # my_path: "~/path/to/file"
11 years ago
James Cammarata ef2df8157a Fixup result dictionary when copy module calls file module 11 years ago
muffl0n b0f00cc097 already call expanduser in action_plugin 11 years ago
muffl0n 5f0e882d01 call expanduser for src and dest 11 years ago
root 0df166e7c0 Copy tests WIP, fix bug in assert module upgrades where the wrong value was being checked. 11 years ago
James Cammarata 54117ab28f Modified assert module to take tests as an array 11 years ago
James Tanner bee089d5e1 Remove entropy comment 11 years ago
James Tanner 86b9f84fb9 Change entropy message for vault 11 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.
11 years ago
James Tanner 3a965a1392 Remove intermediate string on decrypt 11 years ago
James Tanner 286ca505bd Remove breakpoint 11 years ago
James Tanner 84467a8f12 Change retype to confirm 11 years ago
James Tanner aa46ab1d86 Fix function name 11 years ago
James Tanner 3fc87e011b Fix all other calls to yaml 11 years ago
James Cammarata b6222abee6 Fix unicode decode error in syslog for modules
Fixes #6056
11 years ago
James Tanner 427b8dc78d Ansible vault: a framework for encrypting any playbook or var file. 11 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.
11 years ago
James Cammarata f29ce80d12 Default port to 22 for paramiko when it is unset 11 years ago
James Cammarata 92cbfff904 Merge branch 'sshdefault' of https://github.com/craigtracey/ansible into craigtracey-sshdefault 11 years ago
jeromew 7a14cb61c4 Add creates= and removes= to the script: action 11 years ago
Niku Toivola 6cc9b16f06 allow templating of ansible_ssh_private_key_file also in the synchronize module 11 years ago
Niku Toivola 2faaff78ee removed comment 11 years ago
Niku Toivola 68a3e8163e allow ansible_ssh_private_key_file to be templated (thanks to benno) 11 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.
11 years ago
James Cammarata 0cfaabf9cb Make sure unicode params don't break logging in modules 11 years ago
James Cammarata 788ac51185 Sanitize sudo success_key from stdout for raw/script modules
Fixes #5533
Closes #5605
Closes #5606
Closes #5607
11 years ago
Richard C Isaacson 80ddd1ca75 Config resoution order correction and documentation. 11 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 11 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
11 years ago
Ilya Kuznetsov 0658847ea6 Allow equal sign in single-line ini variables 11 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. 11 years ago
Chris Hoffman affed67ebd Small fix for ec2 validate_certs option 11 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
11 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
11 years ago
Brian Coca 31b5728618 directory detection should now work on BSDs, added AIX alternate path 11 years ago
James Cammarata 254f87e7dd Fix log handling of unicode output to syslog in modules 11 years ago
Richard Isaacson eb4a730933 Merge pull request #5969 from risaacson/pull_5136
Updates for the unarchive module and action_plugin.
11 years ago
Richard C Isaacson 598b9c6b7c Cleanup per notes.
Some small changes to per notes from @mpdehann.
11 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.
11 years ago
Jacob Weber 35742fe008 Add regex_replace jinja2 filter 11 years ago
Richard C Isaacson e6c9705058 Merge remote-tracking branch 'pib/unarchive_remote' into pull_5136 11 years ago
James Cammarata a023cbce14 When using jsonify in modules, try several unicode encoding for dumps()
Fixes #4821
11 years ago
James Tanner 9ce46e5f41 Refactor the synchronize action plugin and add unit tests 11 years ago
James Cammarata 3f90020d62 Open LOG_LOCK file with FD_CLOEXEC to prevent file descriptor leakage
Fixes #5399
11 years ago
James Cammarata bbda98a3ee Merge branch 'issue_4812' into devel 11 years ago
James Cammarata bb79b16d59 Specify mode in the makedirs call for fireball/accelerate keys 11 years ago
James Cammarata 65cb79a5c1 Merge branch 'devel' of https://github.com/xyrix/ansible into xyrix-devel 11 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. 11 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.
11 years ago
Michael DeHaan 1609dfbca4 Revert "Revert "Revert "Add the fork manager code (related to previous patch)."""
This reverts commit 60d3611b70.
11 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.
11 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.
11 years ago
Michael DeHaan caab52aee2 While the previous work on the foon class can't be quite recycled, it's still a nice abstraction. 11 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.
11 years ago
Michael DeHaan 60d3611b70 Revert "Revert "Add the fork manager code (related to previous patch).""
This reverts commit c53538dc77.
11 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.
11 years ago
Michael DeHaan c53538dc77 Revert "Add the fork manager code (related to previous patch)."
This reverts commit adb1719fe8.
11 years ago
Michael DeHaan adb1719fe8 Add the fork manager code (related to previous patch). 11 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.
11 years ago
Richard Isaacson 2d88246c9d Merge pull request #5885 from risaacson/issue5739_4
Addresses #5739 and cleans up copy.py
11 years ago
James Tanner b3ab7e7885 Check mutually_exclusive parameters before applying defaults 11 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.
11 years ago
jctanner 0bc0315171 Merge pull request #5880 from willthames/ec2_modules_refactor
Create a common EC2 connection argument spec for EC2 modules
11 years ago
xyrix 20d97416e5 fixed thinkoes 11 years ago
xyrix 0af40374ed fixed file perms checking 11 years ago
xyrix 1de45bf687 made accelerate keys directory configurable, and permissions for the file and dir configurable, and gave them a safe default 11 years ago
James Cammarata a72dc2ec34 Use finalize method in jinja2 to convert None values to empty strings
Fixes #4812
11 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)
11 years ago
jctanner 28933de84d Merge pull request #5771 from bcoca/play_hosts2
added new play_hosts var
11 years ago
James Cammarata 959a156195 Properly count newlines appearing at the end of templates after rendering
Fixes #4633
11 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
11 years ago
Richard C Isaacson ac0a5c8ad5 Dug into the remaining FIXME and replaced with comments to document the expected behavior. 11 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.
11 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...
11 years ago
jctanner 253fe7be50 Merge pull request #5662 from RSpiertz/update_playbook_error
PlayBook: better error message
11 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.
11 years ago
James Tanner 5fafc61008 Fixes 5870 Template delegate hostname earlier in the process 11 years ago
James Tanner d355d3c698 Fixes #5818 Default to all known connection information for the delegate host 11 years ago
Timur Batyrshin 658c15930e reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 (#5852) 11 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.
11 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
11 years ago
James Cammarata 9ff99acaff Merge branch 'issue5739_3' of https://github.com/risaacson/ansible into risaacson-issue5739_3 11 years ago
Brian Coca ff024b65b2 now with_items also accepts sets
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
11 years ago
Richard C Isaacson b20dc4f578 Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks. 11 years ago
James Cammarata 75e3b59bbd Adding no_log: capability for tasks
Fixes #4088
11 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.
11 years ago
James Cammarata 9574f89471 Detect remote_user change in accelerate daemon and allow a restart
Fixes #5812
11 years ago
jctanner 6c25ea1b91 Merge pull request #5527 from sergevanginderachter/basedirdwim
path_dwim: fix when basedir not set
11 years ago
James Cammarata f955d9db6a Handle implicit localhost when using '-i host,' syntax
Fixes #5820
11 years ago
jctanner 360f06b41d Merge pull request #5806 from sivel/rax-mod-utils-improvements
Rax mod utils improvements
11 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
11 years ago
Michael DeHaan d07a3b5e9b AnsibleWorks -> Ansible 11 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.
11 years ago
Matt Martz ac666e63e0 Support providing a tenant_name also 11 years ago
Matt Martz aa709012ba Make sure to also include the region when using keyring_auth 11 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 11 years ago
Matt Martz 1ac7dffd55 Support using ~/.pyrax.cfg and multi environments 11 years ago
Matt Martz 139e905e98 identity_type is set dynamically above 11 years ago
Matt Martz bc473c5be3 Support additional attributes that would allow the rax modules to work with other OpenStack clouds 11 years ago
Matt Martz d7597414b8 Support keyring for the api_key 11 years ago
James Tanner fe091ec00d Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh 11 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.
11 years ago
James Tanner 3ec043ec17 Fixes #5750 Fail on missing ~/.ssh and ignore accept_hostkey if stricthoskeychecking is off 11 years ago
James Cammarata 88e2595a90 Fixing bug relating to su without an su_pass 11 years ago
Adam Heath fac7c6d3fe Allow su_user to be templated, same as sudo_user. 11 years ago
James Cammarata 3fddd78ec5 Fixing traceback caused by incorrect argument passing to json.dumps
Fixes #5756
11 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>
11 years ago
jctanner b2d594d24e Merge pull request #5724 from angstwad/su-tasks-fix
Fix bug where playbook tasks do not escalate privs with 'su'
11 years ago
jctanner 19e8742005 Merge pull request #5713 from angstwad/su-fix
Disallow su and sudo params in same play/task
11 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.
11 years ago
Paul Durivage e875089eba Fix bug where self.su was being set by the sudo param in play tasks 11 years ago
Paul Durivage 01d1bd61e7 Disallow su and sudo params in same play/task 11 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
11 years ago
jeromew ef69d23715 Bug: chmod should be called only if the tmp dir was created in the first place 11 years ago
jeromew 3f23483022 Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean 11 years ago
Thomas Omans 9343db69b4 Fixing whitespace 11 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.
11 years ago
Matt Martz 5ba6739603 Use realpath for plugin directories instead of abspath 11 years ago
James Tanner 61d283e2ad Fix merge conflicts from #5519 11 years ago
jctanner da136dbe7c Merge pull request #5694 from angstwad/add-su-support-revert
Add su support
11 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.
11 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. 11 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
11 years ago
Paul Durivage 4c84ba74b0 Resolve su bug in paramiko libs 11 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.
11 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.
11 years ago
James Tanner 94f3b9bfab Fixes #3129 Do not require localhost to be in inventory 11 years ago