Commit graph

3215 commits

Author SHA1 Message Date
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