Commit Graph

3431 Commits (b250e138d3d144a58439a51d68e0e0d2b2349553)

Author SHA1 Message Date
Toshio Kuratomi cef2a8795f Make dynamic inventory return byte str, not unicode 2014-10-02 20:27:06 -04:00
James Cammarata d99e4f15c8 Merge pull request #9220 from jlaska/devel
Resolve issue where repo_path contains multiple '.git' strings
2014-10-01 14:23:23 -05:00
James Cammarata 313f26f866 Fix issue with vars precedence from roles
Fixes #9219
2014-09-30 15:50:46 -05:00
Toshio Kuratomi 0af750e3e5 Merge pull request #9182 from bbasleeper/feature_sudo_exe_from_inventory
Add a new inventory parameter (ansible_sudo_exe) to specify sudo command...
2014-09-30 14:55:46 -04:00
James Cammarata 05994cd900 Don't clear paths when adding a new directory path in PluginLoader 2014-09-30 09:43:40 -05:00
James Laska 684352926b Resolve issue where repo_path contains multiple '.git' strings
If the repo_path contained multiple '.git' strings, the _git_repo_info()
call resulted in a traceback.  This change removes the trailing '.git'
and resolves the traceback.
2014-09-30 10:33:42 -04:00
Toshio Kuratomi cf548baeab Fix missing strip() in a1809a371a 2014-09-29 18:07:55 -04:00
Toshio Kuratomi a1809a371a Target unnecessary templating warning at lines consisting of a single variable
Fixes #6407
2014-09-29 17:56:44 -04:00
Michael DeHaan 459722899d Update core link 2014-09-29 09:12:50 -04:00
Michael DeHaan c02e8d8c80 Don't search powershell modules unless using the winrm connection. 2014-09-28 12:17:03 -04:00
Michael DeHaan 3908d50b03 Tolerate no module search path. 2014-09-28 12:10:36 -04:00
Michael DeHaan 1d17881960 Add module search path to --version output. 2014-09-28 11:39:04 -04:00
Michael DeHaan 91c5890247 Add some helpful detection if core modules are not found for those running on the development branch. 2014-09-28 11:31:51 -04:00
Michael DeHaan 21c3784a43 If submodules are not found, don't error out. 2014-09-28 11:25:04 -04:00
Will Thames 952a36920c Cater for uninitialized submodules
Output a useful message if `git submodule update --init --recursive` not
yet performed

```
$ ansible --version
ansible 1.8 (submodule_ansible_version 59ae596484) last updated 2014/09/28 13:20:51 (GMT +1000)
  lib/ansible/modules/core: (detached HEAD 617a52b20d) last updated 2014/09/28 13:15:25 (GMT +1000)
  lib/ansible/modules/extras:  not found - use git submodule update --init lib/ansible/modules/extras
```
2014-09-28 11:25:04 -04:00
Will Thames d1476aeb01 Updated version info to include submodule information
`ansible --version` etc. now include information about submodules

```
ansible 1.8 (submodule_ansible_version ffee9a8fe0) last updated 2014/09/28 11:03:14 (GMT +1000)
  lib/ansible/modules/core: (ec2_snapshot_remove 3a77c31ecb) last updated 2014/09/27 18:23:31 (GMT +1000)
  lib/ansible/modules/extras: (detached HEAD 110250d344) last updated 2014/09/27 14:33:42 (GMT +1000)
```

Also improved handling of detached HEAD when printing out version
information.
2014-09-28 11:25:04 -04:00
Bruno BAILLUET a25da4af05 Add a new inventory parameter (ansible_sudo_exe) to specify sudo command path. 2014-09-27 17:39:49 +02:00
Michael DeHaan bceb0026a5 Updating the module formatter to deal with the new repo structure. 2014-09-26 17:10:13 -04:00
Michael DeHaan e5116d2f9b changes for package loading of modules 2014-09-26 11:25:56 -04:00
Michael DeHaan 25cc79e2db Modules is a package. 2014-09-26 10:55:00 -04:00
Michael DeHaan 9249d1db28 Add submodules for new core and extras subdirectories of modules, not yet live. 2014-09-26 10:17:25 -04:00
James Cammarata 6af5455edc Default 'smart' connection to paramiko for OSX platforms
Due to the long-standing bug in sshpass, which can crash OSX.

Fixes #5007
2014-09-25 19:22:35 -05:00
James Cammarata 128c10b311 Don't template 'vars' dictionary during templating
Fixes #9132
2014-09-25 14:46:16 -05:00
James Cammarata 19703617b8 Fix action_plugins for modules not respecting check mode
Fixes #9140
2014-09-25 11:11:52 -05:00
James Cammarata c4f1785217 Use split_args instead of shlex to split include params
Fixes #8947
2014-09-23 16:12:01 -05:00
James Cammarata 4e9c061b35 Also make sure the dest param is expanded locally before recalculating 2014-09-23 15:36:24 -05:00
James Cammarata e47f6137e5 Push the expanduser call on the source down to slurp rather than fetch
Also moves the calculation of the destination file name until after
the slurp of the file contents, since the source as returned by slurp
may now be different, so we want to use that expanded path locally.

Fixes #8942
2014-09-23 15:32:07 -05:00
James Cammarata 889dfc4374 Merge pull request #8959 from willthames/galaxy_ssh_clone
Allow fairly common ssh repo clone path to work
2014-09-23 14:58:29 -05:00
Jakub Roztocil 0073d2dd92 Remove unreachable code. 2014-09-23 07:13:59 +02:00
Toshio Kuratomi f16e107b72 Merge pull request #9014 from willthames/paramiko_sudo_no_prompt
Allow _remote_md5 to work with passwordless sudo even if password is supplied
2014-09-22 16:02:00 -04:00
James Cammarata 9d45f3a65e Before decrypting check if vault password is set or error early
Fixes #8926
2014-09-19 15:10:30 -05:00
James Cammarata da5de725d7 Allow with_first_files to search relative to templates and vars in roles
Fixes #8879
2014-09-18 16:05:30 -05:00
James Cammarata c3612e08f9 Move delegate_to out of runner module_vars to prevent bleeding across runs
Previously, the delegate_to value was stored in the module_vars of runner,
which could lead to bleeding that value across runs and incorrect hosts
being delegated to. This patch moves the value to a local variable in
the Runner class with some related refactoring of _compute_delegate() in
Runner (since the value is no longer required to be a parameter).

Fixes #8705
2014-09-17 14:24:31 -05:00
James Cammarata ed3c9c40ca Redoing patch for hostvars fix, since the previous one broke other tests 2014-09-17 11:04:10 -05:00
James Cammarata 3180a37457 Revert "Revert to using just the combined_cache for HostVars"
This reverts commit e9229cfeaa.
2014-09-17 11:04:10 -05:00
James Cammarata e9229cfeaa Revert to using just the combined_cache for HostVars 2014-09-17 02:32:09 -05:00
James Cammarata 4a9cf3f3f2 Allow hostvars variables to be templated
Fixes #7844
2014-09-16 14:25:55 -05:00
James Cammarata b376e208c7 Adding "follow" param for file/copy options
Also modifies the template action plugin to use this new param
when executing the file/copy modules for templating so that links
are preserved correctly.

Fixes #8998
2014-09-16 12:05:55 -05:00
Will Thames 2303044ffc Applied fix for sudo with no prompt to paramiko
Effectively reproduces @sivel's work from #8900 but for
the paramiko connection. Fixes #8418 when using paramiko

This allows `_remote_md5` to work if a sudo password is
passed in when no sudo password is required.
2014-09-16 10:25:21 +10:00
Matt Martz de77f33796 Don't throw away useful stdout and stderr. Fixes #8418
When supplying a sudo password to a server that uses passwordless sudo,
we should not throw away useful stdout and stderr. This is particularly
important for modules that perform md5 checks as part of the pre module
execution.
2014-09-16 10:25:21 +10:00
James Cammarata cdf938f2c2 Ensure remote files are chmod'd properly for su/su_user too
Fixes #8594
2014-09-15 13:15:46 -05:00
James Cammarata 0c4a7492bf Ensure checkmode is honored for templates that haven't changed
Fixes #8998
2014-09-15 11:37:53 -05:00
Michael DeHaan fb13e2bf2e Merge pull request #8853 from kvar/devel
zypper: handle lists of packages efficiently
2014-09-11 17:30:21 -04:00
James Cammarata 503f7afbd8 Merge branch 'hfinucane-gh-7432' into devel 2014-09-11 12:53:46 -05:00
James Cammarata 61c76245da Don't printout async callbacks when the task is skipped 2014-09-11 12:50:21 -05:00
James Cammarata 178075489b Merge branch 'gh-7432' of https://github.com/hfinucane/ansible into hfinucane-gh-7432 2014-09-11 12:42:52 -05:00
Michael DeHaan d6e6d2a6ca Remove regex related to baby-JSON parsing only. 2014-09-11 13:30:10 -04:00
Michael DeHaan d9e0a5ed22 Use correct keyword for this function. 2014-09-11 12:32:51 -04:00
Michael DeHaan 26cdddaebf Tracebacks are now catchable with ignore_errors and have streamlined output. Also removes 'baby-JSON' for bash modules. 2014-09-11 12:27:21 -04:00
James Cammarata e54178f904 Catch additional errors in fetch_url
Fixes #8971
2014-09-11 09:47:28 -05:00
James Cammarata dacb6b8561 Use utils.merge_hash() instead of update for cache merging
Fixes #8968
2014-09-10 16:39:02 -05:00
James Cammarata 317ab06bc6 Fixing multiline parsing to preserve newlines
Fixes #8813
2014-09-10 15:14:46 -05:00
James Cammarata a571fd4efe Convert boolean strings from set_fact to proper boolean values
Also adds integration tests for booleanification of strings

Fixes #8629
2014-09-10 09:56:39 -05:00
James Cammarata 8708a00cbd Fix typo in redis cache change from 10afaee1 2014-09-10 09:06:40 -05:00
Michael DeHaan 2064d26085 Add documentation about bin_ansible_callbacks setting. Standardization and cleanup. 2014-09-10 09:38:24 -04:00
Will Thames d6a725659e Allow github style ssh repo names 2014-09-10 21:55:27 +10:00
Will Thames 537472f42c Make ansible-galaxy work as expected
This change fixes hg galaxy roles
Roles also get installed if roles path is missing, which
the tests currently require (fixes #8950)
2014-09-10 09:16:30 +10:00
James Cammarata 10afaee108 Fixing new caching related issue with host vars
The vars_cache was not being properly merged with the setup_cache
for all hosts, which was previously not noticed when registered
variables were stored in the setup_cache.

Fixes #8944
2014-09-09 15:37:15 -05:00
James Cammarata dc1f233e8d Merge pull request #8923 from nfelger/devel
Fixing issue with symlinked vaults
2014-09-08 22:08:49 -05:00
James Cammarata c610783f90 Merge pull request #8911 from bbasleeper/devel
Adding a new 'load_callback_plugins' config option, defaults to False
2014-09-08 15:38:27 -05:00
Niko Felger fa74a5c806 Fixing issue with symlinked vaults 2014-09-08 16:10:18 +02:00
James Cammarata 1711df3b75 Allow complex_args to be None 2014-09-08 08:44:53 -05:00
Bruno BAILLUET 16108e4a99 Adding a new 'load_callback_plugins' config option, defaults to False
This option, when set to True, allows "ansible" command to load callback plugins
2014-09-06 16:41:16 +02:00
James Cammarata 8cc3543918 Re-allow templating of complex_args, but count params to prevent injection
Fixes #8810
2014-09-05 14:24:05 -05:00
James Cammarata 8bafc646cb Disable custom https handler for fetch_url on older pythons
Fixes #8898
2014-09-05 13:48:45 -05:00
Toshio Kuratomi 8233522a7a Reduce commenting as basic.py is copied to the remote host with every module transfer.
Move some comments to the unittest as we might look at that if we decide
to refactor the code.
2014-09-05 07:39:17 -07:00
Toshio Kuratomi 1afc8161a1 New password obfuscation in syslog messages that:
* makes speed acceptable for some datasets
* obfuscates multiple detected passwords
* obfuscates more characters to account for some corner cases when
  trying to detect passwords.

Fixes #8364
2014-09-04 17:57:52 -07:00
Toshio Kuratomi 4f55bcc298 Standardize on bytes internally to _log_invocation 2014-09-04 11:23:32 -07:00
Michael Scherer 53830123fd Make ssh debug easier to read and paste
Currently, ansible -vvvv show the following:

    hostname EXEC ['ssh', '-C', '-vvv', '-o', 'ControlMaster=auto',

This is not good if someone want to cut and paste it to see if something
is wrong with the command line, so join the dictionnary strings with spaces
to have 1 string in the output.
2014-09-03 21:04:14 +02:00
James Cammarata cd99821f8a Fix py26 difference in ssl socket connect call from 99ba9d6 2014-09-03 10:04:02 -05:00
James Cammarata 14b8e2cf01 Make sure set_fact variables go into VARS_CACHE
Fixes #8758
2014-09-03 09:39:50 -05:00
James Cammarata 893f15b30b Merge pull request #8856 from sivel/memcached-factcache-improvements
Memcached factcache improvements
2014-09-02 13:58:56 -05:00
Matt Martz 9bc9145abd Compress all data inserted into memcached to avoid memcached size limits 2014-09-02 13:19:37 -05:00
Matt Martz 2a4079eeb6 Update format fields to work with python2.6 2014-09-02 13:17:47 -05:00
James Cammarata b827f791e1 Merge pull request #8832 from sivel/rax-validate-regions
rax modules: Perform region validation early
2014-09-02 13:03:31 -05:00
James Cammarata f44957de5c Merge pull request #8818 from Erethon/devel
Handle exceptions during config file parsing
2014-09-02 11:24:10 -05:00
James Cammarata 35dfbff2e1 Merge pull request #8817 from meatballhat/support-sunos-certs-location
Supporting SSL cert location on SunOS (SmartOS, really)
2014-09-02 11:22:14 -05:00
Matt Martz 55ed4489e3 Perform region validation early to be more explicit about invalid region failures 2014-09-02 09:17:40 -05:00
Kristofor Varhus acd37c87a9 zypper: handle lists of packages efficiently 2014-09-02 09:38:30 -04:00
Henry Finucane 36632c9529 Ensure ansible_job_id exists even for not-started jobs 2014-09-01 16:31:37 -07:00
Dionysis Grigoropoulos f948b4f293 Handle exceptions during config file parsing
Handle uncaught exceptions during config file parsing
2014-08-29 17:55:42 +03:00
Dan Buch 290f2759e1 Supporting SSL cert location on SunOS (SmartOS, really) 2014-08-29 10:33:14 -04:00
Trond Hindenes 72760f5999 All changes referenced in PRs #8767 , #8768 , #8769 :
This changes the get-attr function slightly, and lets the module specify whether a param is needed and auto-fails if it is not present. A module can now verify params like so::
 $params = Parse-Args $args;
 $result = New-Object psobject;
 Set-Attr $result "changed" $false;
 $path = Get-Attr -obj $params -name path -failifempty $true -resultobj $result

or

$params = Parse-Args $args;
 $result = New-Object psobject;
 Set-Attr $result "changed" $false;
 $path = Get-Attr -obj $params -name path -failifempty $true -emptyattributefailmessage "Oh man. You forgot the main part!" -resultobj $result

slight tweak in how the powershell module converts to json in order to support nested objects (allows for more complex facts, among others)

This script gathers some extended facts on windows hosts in a json array attribute called "ansible_interfaces". This info is needed for some network-related modules I'm working on. Required the update to powershell.ps1 to return deeply nested json objects.
2014-08-29 10:39:42 +02:00
James Cammarata dbc980eaf4 Merge branch 'mischapeters-devel' into devel 2014-08-28 20:31:00 -05:00
Chris Church 2ddab7affc Merge pull request #8793 from cchurch/powershell3_compat
Replace Get-FileHash with MD5 code that works on PowerShell 3.
2014-08-28 21:25:06 -04:00
James Cammarata 70ff6d35aa A10 module improvements
* moved common code to an module_util snippet
* rewrote logic to make each module idempotent
* added new capabilities like the write_config option
2014-08-28 20:23:48 -05:00
Michael DeHaan b7082677de Merge pull request #8790 from sivel/issue/8784
Don't use ternary if statements. Fixes #8784
2014-08-28 10:48:32 -04:00
James Cammarata 7fbdbcdec7 Default fetch_url to use TLSv1 instead of SSLv2/3 2014-08-28 08:45:01 -05:00
James Cammarata ab495d1916 Set the shell variable on the ssh connection type for accelerated mode
Fixes #8799
2014-08-28 08:22:24 -05:00
James Cammarata 99ba9d6e24 Default fetch_url to use TLSv1 instead of SSLv2/3 2014-08-28 08:22:24 -05:00
Chris Church 0d1197a995 Replace Get-FileHash with MD5 code that works on PowerShell 3. 2014-08-28 01:42:22 -04:00
Matt Martz 2b307985bc Don't use ternary if statements. Fixes #8784 2014-08-27 19:16:48 -05:00
James Cammarata a6ad374668 Use split_args directly to check for omitted params 2014-08-27 11:51:03 -05:00
James Cammarata 04da466c7b Fixing up serialize_args utility function 2014-08-27 10:20:07 -05:00
James Cammarata e99db078b4 Additional fixes for the new omit parameter variable 2014-08-27 10:06:55 -05:00
Victor Lin fe88ba7c8d Undo changes to filter module 2014-08-27 10:04:47 -05:00
Victor Lin 559c04f324 Implement omit for module args, also add tests for it 2014-08-27 10:04:47 -05:00
Victor Lin bce6642ab6 Implement default omit correctly 2014-08-27 10:03:07 -05:00
Victor Lin 0b4d7f1574 Implement default omit filter 2014-08-27 10:03:07 -05:00
James Cammarata ed34cee36f Atomically move known hosts file into place for paramiko connections
Redo of original patch, which adds an additional check to ensure the
known_hosts file isn't trampled when host_key_checking is disabled.

Fixes #8169
2014-08-26 16:02:59 -05:00
James Cammarata 811ff49f78 Updating CHANGELOG for new symbolic mode feature and updating file docs 2014-08-25 23:47:41 -05:00
James Cammarata c21c66c740 Merge branch 'file_symbolic_mode' of https://github.com/pbitty/ansible into pbitty-file_symbolic_mode 2014-08-25 19:38:44 -05:00
y_nk affdadda25 handling case of space in path (given would start with single quote) 2014-08-25 21:26:47 +05:30
Chris Church 57dee4545b Make sure cmd is UTF8 encoded before splitting. Fixes regression introduced by 80df2135e9. 2014-08-24 21:06:21 -04:00
Michael DeHaan a419ffdf41 Make command warnings off by default to minimize surprises. 2014-08-22 16:12:48 -04:00
Michael DeHaan b44e22aa68 Merge pull request #8722 from cmbaughman/devel
Bugfix: #8720 winrm.py: protocol.send_message() crashes with https
2014-08-22 15:53:09 -04:00
Michael DeHaan fcb610dec4 Slightly trim down the warnings list based on some things being pretty common
for local usage.
2014-08-22 15:37:07 -04:00
Will Thames ab8490d003 Added warnings to command module
Generate warnings when users are shelling out to commands
rather than using modules

Can be turned off on a per-action line with the documented
warn=False flag. Can be turned off globally using
command_warnings = False in ansible config file.

Print out warnings using the standard playbook callbacks.

Created some additional tests in TestRunner.test_command
and also a demonstration playbook.
2014-08-22 15:37:07 -04:00
Chris Baughman 07f12539ee Bugfix: #8720 winrm.py: protocol.send_message() crashes with https 2014-08-22 15:09:48 -04:00
Michael DeHaan 8a0045baad Update tests for ansible-galaxy CLI additions. 2014-08-22 14:01:15 -04:00
Michael DeHaan d87830e1cc Merge branch 'galaxy_github_archive' of git://github.com/willthames/ansible into devel
Conflicts:
	lib/ansible/utils/__init__.py
2014-08-22 13:58:50 -04:00
James Cammarata d01188033f Checking for localized versions of the su password prompt
Fixes #8681
2014-08-22 09:59:40 -05:00
Michael DeHaan 0286c31e85 Assume master branch for downloads if not specified. 2014-08-22 10:01:13 -04:00
Michael DeHaan 0cd40fc372 Remove debug 2014-08-22 09:58:27 -04:00
Will Thames 850963790d Allow roles to be installed from archives on github
Ensure that the automated scm determination for github.com
repos still copes with .tar.gz archive files.

Handling .zip archives is left as an exercise for the interested reader
2014-08-22 10:06:21 +10:00
James Cammarata 3b19b83806 Add GovCloud region to list of regions for AWS
Fixes #8604
2014-08-21 16:12:51 -05:00
Michael DeHaan bcb44276fe Assume github.com URLs are git protocol if not specified. 2014-08-21 17:15:23 -04:00
Michael DeHaan 68e21aa4b0 Add comments about what these new functions do. 2014-08-21 17:15:23 -04:00
Will Thames 6e9abefc11 Corrected bug where role_path was wrong for roles in subdirectories
Fixed role name for
    - { role: 'lives/in/a/subdirectory' }
Should be 'lives/in/a/subdirectory', not just 'subdirectory'
2014-08-21 17:15:23 -04:00
Will Thames ada9074276 Allow installation of roles from yaml roles file
Added docs
Added more tests
Improved how roles are returned from the parsers
2014-08-21 17:15:23 -04:00
Will Thames 46b59b02ed Friendly Role Names and roles from URLs
* Roles can now be given a friendly name as third field in role spec csv
* Roles can be installed from URL (not just from archived SCMs)
* Integration tests to demonstrate this
* Unit tests to ensure that role spec parsing works as expected
2014-08-21 17:15:23 -04:00
Will Thames 4803e923ff Improved handling of role_version in repo_url_to_role_name 2014-08-21 17:15:23 -04:00
Will Thames 1803976a40 Ensured that role version can be specified in role dependencies 2014-08-21 17:15:23 -04:00
Will Thames c2fe33f9f4 Tidied up a little, added tests
Moved repo_url_to_role_name to common method in ansible.utils
Added unit test for repo_url_to_role_name
Added integration tests for galaxy
2014-08-21 17:15:23 -04:00
Will Thames b550cb9bc3 Need to take URLs into account when running playbooks too
Ensure that if meta/main.yml has dependencies containing URLs
these are correctly resolved at playbook runtime.

Update role_name during run time so that output of e.g. task names
look sensible
2014-08-21 17:15:23 -04:00
James Cammarata bae73e5793 Merge branch 'alozovskoy-alozovskoy-debug-ascii-patch' into devel 2014-08-21 15:57:43 -05:00
James Cammarata 4fafd3baa8 Add error checking around json.dumps when not forcing ascii mode 2014-08-21 15:52:36 -05:00
James Cammarata ea5db1818d Merge branch 'role_path_var' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-role_path_var 2014-08-21 14:14:32 -05:00
James Cammarata 24c4277479 Remove tabs added from 677de07 2014-08-21 14:07:18 -05:00
James Cammarata 5e240fec71 Merge branch 'devel' of https://github.com/l1k/ansible into l1k-devel
Conflicts:
	test/integration/roles/test_copy/tasks/main.yml
2014-08-21 13:56:26 -05:00
James Cammarata b81e77cfec Tweak error language in dict validation 2014-08-21 13:24:53 -05:00
Serge van Ginderachter 3a228b9d55 InventoryScript: better syntax checking for json stream 2014-08-21 18:06:07 +02:00
Serge van Ginderachter b8d057296a variable merging: detect if both vars are really dicts when combining/merging dicts 2014-08-21 18:06:02 +02:00
Serge van Ginderachter 7051cdeb57 roles: make role_path (path of current role) available as variable to the task 2014-08-21 11:56:27 +02:00
James Cammarata 8a1fbed5d6 Correct variable blending from vars_files with hostvars in them
Fixes #8638
2014-08-20 15:49:01 -05:00
Serge van Ginderachter a1f09bd89f Merge variables for hosts instead of updating in get_variables() 2014-08-20 01:54:46 -05:00
James Cammarata cecfede85f Merge remote-tracking branch 'svg/issue_8621_8664' into svg_issue_8621_8664 2014-08-19 11:37:59 -05:00
James Cammarata d4ff0d125a Make sure password files from lookups are created with restrictive permissions
Also adds checks for the lookup integration test for passwords.

Fixes #8652
2014-08-19 11:30:04 -05:00
James Cammarata 3a7aca6066 Fix no_log value for content in common file args settings
Also adds a test to ensure the content value is not logged.

Related to #8647
2014-08-19 10:47:18 -05:00
James Cammarata 8a5675ca9f Fixing no_log for the playbook level use
Fixes #8647
2014-08-19 10:35:01 -05:00
Serge van Ginderachter 0ab721d51e better logic for all-group variables for implicit localhost 2014-08-19 16:41:51 +02:00
Serge van Ginderachter 3c06833302 group_by: make sure new group has bigger priority than all group 2014-08-19 16:34:30 +02:00
Serge van Ginderachter a2cfe8770b Inventory: fix logic mistake in loading/retrieving variables for groups 2014-08-19 16:34:26 +02:00
James Cammarata ca6db40cb4 When serializing inventory, pop from the start of the hosts list
Fixes #8646
2014-08-19 09:04:47 -05:00
James Cammarata c8494cdc39 Set prompt encoding to a sane value when sys.stdout.encoding is None
Fixes #8644
2014-08-18 22:04:25 -05:00
James Cammarata 379e31883c Fix check mode issues with copy module
Fixes #8639
2014-08-18 16:02:45 -05:00
James Cammarata 542f07128e Correct check for role library/ existence
Fixes #8633
2014-08-18 13:33:23 -05:00
James Cammarata e3895840d1 Make sure group_vars/all is loaded for ungrouped hosts
Fixes #6563
2014-08-18 12:29:46 -05:00
Lukas Wunner 677de07f44 Try optimistic chown, do not error out if not permitted to chown
Add unit test
2014-08-17 22:08:45 +02:00
James Cammarata 8dafacd4e9 Make env param a dict type instead of list
Also modifies param type checking code to remove whitespace from
around params before splitting them into k=v pairs.

Fixes #8199
2014-08-15 11:04:27 -05:00
Michael DeHaan 3035f2dcc8 Merge pull request #8367 from msabramo/make_pip_install_editable_work
Make `pip install -e` work
2014-08-15 07:46:54 -04:00
James Cammarata 54cbe3dcf9 Disallow args: to be specified as a string 2014-08-14 16:05:20 -05:00
James Cammarata 600a4657b4 Catch error in atomic_move when creating temporary file
Fixes #8480
2014-08-14 13:26:24 -05:00
James Cammarata ee18c557ec Load group_vars for new groups loaded via add_host
Fixes #8605
2014-08-14 13:18:26 -05:00
James Cammarata b4476c238f Use match() instead of search() for pattern matching
Also related to f48fa3, fix for #8614
2014-08-14 12:26:52 -05:00
James Cammarata f48fa3759a Fix host pattern matching and enhance error detection
Fixes #8614
2014-08-14 12:13:40 -05:00
James Cammarata a01d97f12b Fixing variable name bug introduced in ac8950f
Fixes #8617
2014-08-14 10:55:26 -05:00
James Cammarata bea0845322 Fix vault_password positional args error 2014-08-14 10:28:08 -05:00
Lukas Wunner f4053fcf3a Only chown on atomic move if invoked as root
Linux and BSD derivatives do not allow unprivileged users to
"give away" files to others for security reasons. (System V
derivatives allow that but they're rare nowadays.)
2014-08-14 16:56:11 +02:00
Cristian Ciupitu b6261d05b0 Fix typo: & -> and
`and` is the boolean operator for AND in [Python][1].
`&` is the bitwise operator for AND in [Python][2].

[1]: https://docs.python.org/2/reference/expressions.html#boolean-operations
[2]: https://docs.python.org/2/reference/expressions.html#binary-bitwise-operations
2014-08-14 16:52:59 +03:00
Michael DeHaan 99c39b1ff3 By popular request, make the no_log attribute also censor tasks from callbacks. 2014-08-12 13:36:05 -04:00
James Cammarata fc7859f445 Make sure playbook_dir variable is an absolute path
Fixes #8317
2014-08-12 09:51:44 -05:00
James Cammarata 4940a7ad77 Merge pull request #8458 from Jmainguy/runner_8404
Fixes 8362, returns stderr if No space left on device
2014-08-11 23:16:57 -05:00
James Cammarata ac8950fd36 Set special vars in play.vars rather than load_vars
Also refactors playbook loading code relating to vars in playbooks
to a sub-function.

Fixes #8534
2014-08-11 19:23:54 -05:00
Jakub Paweł Głazik 99a339fa7b Fix comments and error message 2014-08-11 16:02:10 -04:00
Jakub Paweł Głazik 58feee0f45 ansible-vault view - new command 2014-08-11 16:02:10 -04:00
James Cammarata 783a1e3dfc Fixing broken patch 20957a1
Also adds integration tests for nested includes with conditionals
2014-08-11 14:58:48 -05:00
Michael DeHaan 02b0e102e6 Rename some INI keys for fact caching defaults 2014-08-11 15:16:51 -04:00
James Cammarata 20957a1b85 Remove duplicate compiling of task when: statements
Fixes #8538
2014-08-11 13:23:07 -05:00
James Cammarata 83fa9a8cde Make sure we only use unquote on quoted lines in lineinfile when needed 2014-08-11 11:23:52 -05:00
Michael DeHaan 542aaa6ffe Use JSON instead of pickles for compatibility. 2014-08-11 12:23:05 -04:00
Michael DeHaan 2629cd3fce Fix some copyrights, fix a misc test. 2014-08-11 12:23:05 -04:00
Michael DeHaan 533fb21586 Add copyright header, let me know if corrections are needed. 2014-08-11 12:23:05 -04:00
Michael DeHaan bdee1ff24e Standardize exception handling 2014-08-11 12:23:05 -04:00
Josh Drake a620ef414e Implement connection pooling for memcached cache plugin. 2014-08-11 12:23:05 -04:00
Josh Drake 3031247492 Use cPickle in redis fact caching backend. 2014-08-11 12:23:05 -04:00
Josh Drake 917e868f65 Implement fact cache flushing alongside a command-line argument to invoke it. 2014-08-11 12:23:05 -04:00
Josh Drake aa419044c4 WIP on the re-implementation of fact caching and various backends. 2014-08-11 12:23:05 -04:00
Michael DeHaan fb5a1403dd Merge 2014-08-11 12:22:55 -04:00
Michael DeHaan 56f9328f93 Merge 2014-08-11 12:22:47 -04:00
James Cammarata 25e9d1197e Merge branch 'optimise_utils_clean_data' of https://github.com/leth/ansible into leth-optimise_utils_clean_data 2014-08-11 10:21:02 -05:00
James Cammarata a650421e39 Catch task parameter splitting errors nicely
Fixes #8481
2014-08-11 10:16:58 -05:00
James Cammarata 9f34ea54f5 Correct parser to ignore escaped quotes when not in quotes already
Related to #8481
2014-08-11 10:16:58 -05:00
Marcus Cobden c47d1f5265 Pre-load whole string and use seek to alter tags 2014-08-11 09:10:06 +01:00
Marcus Cobden c8bfd157f8 Switch cStringIO to StringIO for unicode support
The performance difference isn't too bad
2014-08-11 08:48:37 +01:00
Marcus Cobden 84114e5c0b Fix copy/paste error 2014-08-11 08:43:40 +01:00
Marcus Cobden ef65d3dbf6 Optimise string handling in ansible.utils._clean_data 2014-08-09 23:47:08 +01:00
Michael DeHaan e01d5f9d84 Revert "Added cross-platform uptime fact" since causing failures on Ubuntu.
This reverts commit 14a9966984.

Conflicts:

	lib/ansible/module_utils/facts.py
2014-08-08 14:58:09 -04:00
Michael DeHaan ea53576759 Merge pull request #6777 from GuiGui2/devel
Setup module: Additional facts when using ansible with Linux on System z
2014-08-08 14:30:49 -04:00
Michael DeHaan 5d05049ee1 Merge pull request #7670 from dagwieers/patch-3
Added cross-platform uptime fact
2014-08-08 14:23:53 -04:00
Michael DeHaan c56ce4c913 Merge pull request #8334 from veeti/cfg-vars
Expand variables in configuration files, take two
2014-08-08 14:23:11 -04:00
Michael DeHaan a48328fa12 Merge pull request #7725 from slapers/network-secondaries-issue
fix incorrect secondary ip handling, fixes #7724
2014-08-08 13:50:52 -04:00
hoettle 4243ce61b3 Correct placement of right parenthesis.
(serial_pct)/100.0 is a typo - the parentheses should be around the entire percentage calculation, which makes much more sense when multiplying by the number of hosts (luckily BODMAS prevailed).
2014-08-08 13:46:57 -04:00
Howard Oettle cbf0bd6baf playbook: permit the serial attribute to be a pecentage string as well as well as a straight integer 2014-08-08 13:46:57 -04:00
James Cammarata 63bf2f6d9a Preserve all line breaks in literal blocks
Fixes #8512
2014-08-08 12:11:15 -05:00
Michael DeHaan d0205b2878 Merge pull request #8500 from sivel/rax-de-dupe
rax: Move additional shared code into module utils
2014-08-08 12:33:35 -04:00
Michael DeHaan 03d150de35 Merge pull request #8020 from msabramo/error_when_private_key_file_permissions_incorrect
Error if private_key_file is group/world readable
2014-08-08 12:33:07 -04:00
Michael DeHaan 8c4161d4a1 Merge branch 'retf_py' of git://github.com/berendt/ansible into devel
Conflicts:
	lib/ansible/inventory/vars_plugins/group_vars.py
	plugins/callbacks/mail.py
2014-08-08 12:17:37 -04:00
Michael Peters 3ba516ac25 adding min() and max() filters for use in Jinja templates 2014-08-08 11:28:48 -04:00
Michael DeHaan 48a0236ec6 Merge pull request #6619 from sergevanginderachter/ansible_version_var
Introduce an ansible_version dict as runner variable
2014-08-08 11:20:17 -04:00
Michael DeHaan 66eddfd491 Merge branch 'nova-compute-enhancements' of git://github.com/emonty/ansible into devel
Conflicts:
	lib/ansible/module_utils/openstack.py
	library/cloud/nova_compute
2014-08-08 11:05:13 -04:00
Michael DeHaan b413a7d7f3 Merge pull request #8449 from emonty/feature/openstack-auth-handling
Handle auth arguments across openstack modules consistently
2014-08-08 10:56:21 -04:00
Michael DeHaan 2f7d405fd9 Merge pull request #8510 from sergevanginderachter/inventorydir_yacc
InventoryDir: fixing yet another corner case
2014-08-08 10:34:03 -04:00
Serge van Ginderachter 7c96f1d803 InventoryDir: fixing yet another corner case 2014-08-08 08:54:11 +02:00
James Cammarata d4cedfc7f1 Fix missing variable initialization for async jid
Fixes #8491
2014-08-07 23:51:28 -05:00
Michael DeHaan fc40e6be81 Merge pull request #8488 from bekimb/docstring_basic_module
Keep docstring up to date with the code in basic module
2014-08-07 17:48:57 -04:00
James Cammarata e19ed3424d Make sure default vars are used in template calls for tasks
Fixes #8499
2014-08-07 13:28:09 -05:00
James Cammarata 4a157a72a0 Catch auth errors in winrm and properly raise errors
Fixes #7875
2014-08-07 09:00:24 -05:00
Bekim Berisha 5272e1099d Keep docstring up to date with the code in basic module 2014-08-07 13:40:57 +02:00
Matt Martz 7d0eba19ab Dedupe PTR record related code in rax_dns_record 2014-08-06 16:47:33 -05:00
Matt Martz 88acb48753 Add ANSIBLE_VERSION to module_utils/basic.py and manipulate the pyrax user-agent 2014-08-06 16:28:42 -05:00
Matt Martz 585fd5a138 Move additional rackspace common code into module_utils/rax.py 2014-08-06 16:26:48 -05:00
James Cammarata ba4693051b Removing leftover import of atomic_move 2014-08-06 15:38:08 -05:00
James Cammarata efbad90ef8 Revert "Atomically move known hosts file into place when edited by paramiko connections"
This reverts commit bd49a835b4.
2014-08-06 15:31:54 -05:00
James Cammarata a45c3b84f3 Avoid templating raw lookup strings 2014-08-06 13:25:14 -05:00
James Cammarata d134b8a83c Version bump for 1.8 2014-08-06 13:17:28 -05:00
Alexander Lozovskoy 5165dfa2df Issue with printing unicode non-english characters #8425 patch 2014-08-06 12:38:14 +04:00
Michael DeHaan 1c6398dd3b Resolve option conflict differently. 2014-08-05 20:45:16 -04:00
Michael DeHaan b4b115cd13 File common arguments should not be used in all docs pages. 2014-08-05 20:45:16 -04:00
Michael DeHaan 4312391e0a (A) Fix a bug in the doc generator that was clobbering the force parameter for the copy module.
(B) This is a work in progress but the idea is to have text snippets where we can respond to tickets with a bit more helpful info.
Not active just yet.
2014-08-05 20:10:15 -04:00
James Cammarata dc69510bff Merge branch 'callback_template_delegate' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-callback_template_delegate 2014-08-05 15:15:03 -05:00
James Cammarata eeec459f8a Merge branch 'sets_v2' of https://github.com/bcoca/ansible into bcoca-sets_v2 2014-08-05 14:58:01 -05:00
Jonathan Mainguy 535ebc4c56 Fixes 8362, returns stderr if No space left on device 2014-08-05 15:18:49 -04:00
Serge van Ginderachter 8f39c114d8 template Runner.module_vars['delegate_to'] to accommodate callbacks 2014-08-05 15:16:43 +02:00
Monty Taylor 4012272fa2 Add common auth handling across openstack modules
Taking a page out of the ec2 config, make sure that all of the
OpenStack modules handle the inbound auth config in the same way.
The one outlier is keystone wrt auth_url.
2014-08-04 20:55:30 -07:00
James Cammarata 5d0bb33ede Make run_command process communication smarter
The run_command module function will now poll stdout/stderr for
data rather than using the builtin command communicate(), which can
hang under certain circumstances.

Fixes #7452
Fixes #7748
Fixes #8163
2014-08-04 15:32:41 -05:00
James Cammarata 74cbeb1292 Default interface type to ipv4 when checking flags for Solaris
Fixes #8330
2014-08-04 13:36:37 -05:00
James Cammarata bd49a835b4 Atomically move known hosts file into place when edited by paramiko connections
Fixes #8169
2014-08-04 13:08:40 -05:00
Michael DeHaan 7ff63ab754 Revert "Use atomic move function on known host file in paramiko to prevent rare occurance of Control-C"
This reverts commit 642b183fb6.
2014-08-04 13:11:40 -04:00
James Cammarata af0d8cda7b Fix literal block multiline parsing
Fixes #8394
2014-08-04 11:10:07 -05:00
James Cammarata 6d94ae64ec Remove unnecessary unicode conversions from parse_kv
Fixes #8425
2014-08-04 09:59:08 -05:00
Michael DeHaan 642b183fb6 Use atomic move function on known host file in paramiko to prevent rare occurance of Control-C
during file operations.
2014-08-04 10:50:14 -04:00
Michael DeHaan a7d2e729f8 Add some whitespace to make paramiko_ssh more browseable 2014-08-04 10:38:16 -04:00
Michael DeHaan 24f6f656cc Merge branch 'bug8392' of git://github.com/gnosek/ansible into devel 2014-08-04 10:22:29 -04:00
Monty Taylor a05804bf8d Update the nova inventory plugin with new ip code
The provisioning module knows more about how nova deals with IP
addresses now. Ensure that the inventory module is similarly as smart
by separating out the logic into the openstack/module_utils.
2014-08-02 22:31:27 -07:00
Monty Taylor d17a1b5c19 Add common auth handling across openstack modules
Taking a page out of the ec2 config, make sure that all of the
OpenStack modules handle the inbound auth config in the same way.
The one outlier is keystone wrt auth_url.
2014-08-02 17:39:19 -07:00
Luke Sneeringer a4fce4818e Add support for environment variables in GCE module. 2014-08-01 11:44:58 -05:00
Grzegorz Nosek 7f33580eba Fix exponential regex performance issue
filter_leading_non_json_lines effectively does

re.match(".*\w+=\w+.*", line)

for every line of output. This has abysmal performance in case of large
Base64-encoded data (which ultimately does not match the regex but does
match the .*\w+= part) as returned e.g. by the template module (diffs).

Replacing the match with

re.search("\w=\w", line)

drops the complexity back to linear, and actually usable with large
diffs from the template module (a 150 KB Base64 diff kept Ansible
spinning at 100% cpu for minutes).

Also, check the easy cases (line.startswith) first while we're here.

Closes: #8932
2014-08-01 14:46:00 +02:00
James Cammarata 9c1a89ff4e Merge branch 'patch-1' of https://github.com/debfx/ansible into debfx-patch-1 2014-07-31 11:41:21 -05:00
Marc Abramowitz 44b9f5e752 Make `pip install -e` work
This allows `pip install -e` and `python setup.py develop` to work
without having to do the stuff in
http://docs.ansible.com/intro_installation.html#running-from-source so
it's a tad nicer for Python programmers who are accustomed to installing
packages as editable/in development mode.

Fixes GH-8355 (https://github.com/ansible/ansible/issues/8355)
2014-07-30 13:35:11 -07:00
James Cammarata 7a5076c8b8 Catching shlex splitting error in fact gathering get_cmdline call
Fixes #8352
2014-07-30 14:47:50 -05:00
James Cammarata 80df2135e9 Fix parsing of tasks with variable module names
Also adding an integration test for same.
2014-07-30 14:18:06 -05:00
James Cammarata 189824dd76 Remove whitespace around args
Fixes #8343
2014-07-30 08:51:27 -05:00
James Cammarata e6fa50a306 Move splitter to module_utils so modules can use it and fix command arg splitting
Fixes #8338
2014-07-29 14:55:16 -05:00
Veeti Paananen 5780f3a8b4 Expand variables in configuration files, take two
e.g. $HOME.
2014-07-29 15:20:59 +03:00
Veeti Paananen e6bd049892 Don't expand remote_tmp path locally 2014-07-29 15:19:54 +03:00
James Cammarata a9f0f8e975 Revert "template.py: Handle purposely raised exceptions in lookup()"
This reverts commit 2fda9bc743.
2014-07-28 23:25:37 -05:00
James Cammarata aee940aaca Reworking _clean_data() to be smarter about replaces
Fixes #8228
2014-07-28 16:50:18 -05:00
James Cammarata 6e814566de Unquote params passed to an include statement
Fixes #8315
2014-07-28 16:35:52 -05:00
Michael DeHaan 106f4ccc01 Revert "Expand variables in configuration files" - I feel I've been here before.
Breaks some test runs.

This reverts commit a9eef029b6.
2014-07-28 17:10:42 -04:00