Till Maas
b07113f358
ssh: Properly check for wrong su password
2014-03-31 15:51:12 +02:00
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.
2014-03-31 15:30:12 +02:00
James Cammarata
b698f7a44b
Add option to create host_key directory if it doesn't exist
...
Fixes #6731
2014-03-30 01:34:33 -05:00
Matt Martz
7e3dd1066c
Allow raw and script to support su
2014-03-28 16:46:31 -05:00
Michael DeHaan
a6b25e8657
Allow type=list module arguments to accept integers and floats.
2014-03-28 11:19:49 -04:00
Michael DeHaan
9921f804f9
Merge pull request #6643 from herbygillot/fact-full-hostname
...
Add a fact providing the full hostname, without the domain portion
2014-03-27 17:09:34 -04:00
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.
2014-03-27 20:35:20 +02:00
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.
2014-03-27 20:35:20 +02:00
Paul Oyston
1942a69ed2
Added template call to _executor_internal to allow the passing of arbitrary data to modules.
2014-03-27 17:06:20 +00:00
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.
2014-03-26 16:40:50 -07:00
James Cammarata
78bdb078fe
Fix for bug related to async jid polling change plus a new test
2014-03-26 15:49:15 -05:00
James Tanner
88462729aa
Addresses #6708 fill in missing keywords for ssh.py _communicate
2014-03-26 15:55:54 -04:00
jctanner
7dc3dc5279
Merge pull request #6708 from sivel/put-file-control-master
...
Share p.communicate alternative logic between exec_command and put_file
2014-03-26 15:02:14 -04:00
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
2014-03-26 13:48:47 -05:00
James Tanner
38de8cc87e
Addresses #6705 Only set the role_uuid inside the role vars
2014-03-26 14:43:07 -04:00
Matt Martz
b8cb23d309
Share p.communicate alternative logic between exec_command and put_file
2014-03-26 13:41:33 -05:00
James Tanner
8991e403e8
Fixes #6705 Give each role a unique uuid and apply tags only to tasks matching the uuid
2014-03-26 13:29:41 -04:00
James Cammarata
9ede6f7f49
Convert gather_facts to a boolean value if it is not None
...
Fixes #5618
2014-03-26 12:04:06 -05:00
James Tanner
2a976ac313
Fixes #5059 Ignore lookup failures when templating a task name
2014-03-26 11:28:43 -04:00
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)
2014-03-26 11:37:31 +01:00
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
2014-03-26 11:37:26 +01:00
James Cammarata
7a3fa63db5
Fix for unicode environment variable handling
...
Fixes #5395
2014-03-25 20:45:04 -05:00
Serge van Ginderachter
f8ea93c732
Move inventory.set_playbook_basedir from ansible-playbook to playbook constructor
2014-03-25 22:12:01 +01:00
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
2014-03-25 22:12:01 +01:00
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
2014-03-25 22:12:01 +01:00
James Tanner
3194fbd365
Fixes #6655 catch unicode encoding errors before sending to syslog
2014-03-25 16:07:12 -04:00
jctanner
7b8d1c0ffd
Merge pull request #6580 from ramondelafuente/fix-vault-editor-call
...
Changed call to EDITOR to allow for parameters
2014-03-25 15:48:59 -04:00
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.
2014-03-25 20:29:03 +01:00
James Cammarata
c9bf7eb9bb
Don't run {failed|changed}_when checks until async_status is done
...
Fixes #5117
2014-03-25 14:18:47 -05:00
James Cammarata
4ea12c1b86
Make sure stat of dest is available in atomic_move
...
Fixes #6682
2014-03-25 14:03:21 -05:00
James Tanner
f9018a6f1d
Ensure handlers run when meta tasks are defined and add handler integration tests
...
Fixes #6678
Fixes #6670
2014-03-25 13:33:52 -04:00
Michael DeHaan
3eecc039b9
Merge pull request #6656 from Jmainguy/setup
...
Added ansible_date_time.weekday as a fact. This returns Monday,Tuesday,W...
2014-03-25 13:32:57 -04:00
James Cammarata
8c7828d469
Tweaking error message resulting from undefined template variables
...
Fixes #5114
2014-03-25 11:56:55 -05:00
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
2014-03-25 11:41:00 -05:00
Michael DeHaan
a062912a1f
Merge pull request #6658 from pilou-/fix_fix
...
'changed' key is not defined when task fails
2014-03-25 11:49:18 -04:00
Michael DeHaan
9be732d8f2
Merge pull request #6679 from renard/fix-simplejson-module
...
Fix TypeError when using old simplejson lib.
2014-03-25 11:28:10 -04:00
Herby Gillot
94297950a0
Name platform.node() fact as "nodename"
2014-03-25 11:20:19 -04:00
James Tanner
ebd1f70c5d
Typo in setting task_errors variable
2014-03-25 10:35:05 -04:00
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.
2014-03-25 14:50:29 +01:00
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
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
188375171e
Inventory: raise error when adding a group that already exists.
...
The parsers check if a group already exists.
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
be58808fe4
inventory script parser: do not add all the groups to *all* group
2014-03-25 12:45:00 +01:00
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
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
cc8efb4aab
inventory groups: make sure group.depth is updated on all grandchildren
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
1c86909875
inventory group: add groups to parent_groups only once
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
36f55d3549
inventory directory parser: add host to group only once
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
8b215149d4
inventory directory parser: add groups to parent_groups non-recursively
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
262ba0460a
inventory directory parser: add hosts to group non-recursively
2014-03-25 12:45:00 +01:00
James Tanner
605156c904
Fixes premature handler execution after adding force-handlers
2014-03-25 00:20:11 -04:00
James Cammarata
bc93732b1d
Catch permissions errors related to opening a known_hosts file in modules
...
Fixes #6644
2014-03-24 16:32:31 -05:00
James Cammarata
dc658eaa1c
Check to make sure the host is in the inventory vars cache before clearing it
...
Fixes #6660
2014-03-24 15:59:43 -05:00
James Cammarata
db345391e3
Fixing ownership when atomic_move is creating a file while sudo'ing
...
Fixes #6647
2014-03-24 15:10:43 -05:00
Pierre-Louis Bonicoli
c76501b8a3
'changed' key is not defined when task fails
...
fix KeyError introduced by fix of #6591 .
2014-03-24 19:31:52 +01:00
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
2014-03-24 13:43:00 -04:00
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
2014-03-24 09:34:51 -05:00
James Tanner
9169a11088
Fixes #4777 add --force-handlers option to run handlers even if tasks fail
2014-03-24 10:28:48 -04:00
Herby Gillot
c0886a5f3a
Add a fact providing the full hostname, without the domain portion
...
truncated.
2014-03-23 21:59:47 -04:00
Michael DeHaan
fba2f1f9a9
Merge pull request #6639 from fvieira/devel
...
Add missing sha1 import on known_hosts.py
2014-03-23 16:23:55 -04:00
Michael DeHaan
a24d3f78d9
Merge pull request #6634 from pilou-/fix
...
Remove print statements
2014-03-23 16:12:04 -04:00
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.
2014-03-23 14:45:49 -05:00
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
2014-03-23 14:45:49 -05:00
Francisco José Marques Vieira
e9d7476c28
Add missing sha1 import on known_hosts.py
2014-03-23 17:19:23 +00:00
Pierre-Louis Bonicoli
d3a470db0c
Remove print statements
...
"print item" raises an exception when type of item is
jinja2.runtime.StrictUndefined
2014-03-23 03:58:44 +01:00
James Tanner
5b3b9ba267
Addresses #4407 Caculate failed percentage based on serial and number of hosts in play
2014-03-21 13:31:47 -04:00
Michael DeHaan
d0cbb51170
Merge pull request #6615 from 8191/devel
...
Addresses #6591 Hide diff for lineinfile if file did not change.
2014-03-21 10:46:29 -04:00
Manuel Faux
b8158f5f6a
Addresses #6591 Hide diff for lineinfile if file did not change.
2014-03-21 08:40:38 +01:00
Joshua Conner
1c504eff68
etcd lookup: use $ANSIBLE_ETCD_URL if it exists in the env
2014-03-20 15:16:28 -07:00
James Tanner
14499e8bf3
Fixes #4325 allow async and poll parameters to be templated vars
2014-03-20 16:09:58 -04:00
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.
2014-03-20 13:56:07 -04:00
James Tanner
95c79ad483
Fixes #4239 merge injects with new vars loaded from files
2014-03-20 13:12:33 -04:00
James Tanner
d327e3d11a
Fixes #5622 included tasks in roles now inherit tags from the role
2014-03-20 11:56:13 -04:00
Till Maas
898a38b074
module_utils/atomic_move(): Use tempfile module
...
Fix a potential race condition by using the tempfile module.
2014-03-20 12:34:19 +01:00
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.
2014-03-20 12:34:19 +01:00
Michael DeHaan
e639b5382b
Change default gathering policy, add to docs.
2014-03-19 18:03:03 -04:00
Brian Coca
18adf07fc6
changed setting values and updated docs
2014-03-19 18:03:03 -04:00
Brian Coca
4dfa40f18e
added gathering control to ansible, defaults to 'smart'
2014-03-19 18:03:03 -04:00
Michael DeHaan
c42dbf80a2
Merge pull request #6586 from sivel/probline-logic-fix
...
Fix logic in process_common_errors for unbalanced quotes
2014-03-19 17:45:49 -04:00
James Tanner
b8f627d1d5
Prevent rewriting the encrypted file if decryption fails
2014-03-19 16:31:03 -04:00
James Tanner
e71857fbdf
Addresses #6579 Only strip vault passwords if given
2014-03-19 16:08:35 -04:00
James Tanner
8c2e1e2baa
Addresses #6579 Disallow vault passwords with newline characters by stripping them in utils
2014-03-19 15:56:14 -04:00
James Cammarata
a9000e7f3a
Making the error messages for bad key/dir permissions more understandable
...
Fixes #6254
2014-03-19 14:09:03 -05:00
Matt Martz
2aaecc5afa
Fix logic in process_common_errors for unbalanced quotes
2014-03-19 13:49:31 -05:00
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
2014-03-19 13:45:45 -05:00
James Tanner
67517e96d3
Fixes #6567 put the git wrapper script in the module temp dir
2014-03-19 10:30:10 -04:00
Matt Martz
1d3d73a0b6
Only write the DUMMY_CA_CERT on OS X
2014-03-19 09:01:13 -05:00
Matt Martz
3b5aa8bd30
Provide a dummy ca to allow OS X to do it's OpenSSL keychain magic
2014-03-18 17:16:44 -05:00
James Cammarata
eb7717aa02
Make sure all tags are in a list before merging for role deps
...
Fixes #6557
2014-03-18 12:32:22 -05:00
James Cammarata
c9fcbf7bdd
Change print message to vvv for missing known hosts in ssh.py
2014-03-18 12:26:10 -05:00
James Tanner
49807877fa
Fixes #6550 Use shell for pipe lookup subprocess.popen calls
2014-03-18 12:21:26 -04:00
James Cammarata
3f5440f7df
Make modules set a valid working directory
...
Fixes #6546
2014-03-18 10:37:52 -05:00
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
2014-03-17 23:03:16 -05:00
Michael DeHaan
9da26da335
Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel
2014-03-17 17:37:57 -04:00
Michael DeHaan
13f69dad05
Merge pull request #6527 from patrickheeney/hosts-bug
...
Fix for hostkey directory
2014-03-17 17:35:27 -04:00
Michael DeHaan
94e3350b38
Catch a unquoted line error. Fixes #6532
2014-03-17 17:15:42 -04:00
jctanner
b8d5ba42f5
Merge pull request #6523 from sergevanginderachter/vault-in-subdirs
...
Pass through vault_password when parsing host/group vars as directories.
2014-03-17 17:06:41 -04:00
James Cammarata
c4f1c3c6b0
Merge branch 'bcoca-file_fixes_clean' into devel
2014-03-17 16:02:33 -05:00
James Tanner
ad70e9bcd6
Fixes #6227 skip non-unicode strings and catch decode errors silently in template_from_string
2014-03-17 16:54:25 -04:00
James Tanner
20262b6c15
Remove unused variable in _executor_internal
2014-03-17 15:53:48 -04:00
James Cammarata
5d8c9d3f0f
Merge branch 'file_fixes_clean' of https://github.com/bcoca/ansible into bcoca-file_fixes_clean
2014-03-17 14:03:26 -05:00
James Cammarata
7edee91aba
Fixing a bug in role tag handling where only the first tag was used
...
Fixes #6517
2014-03-17 11:28:54 -05:00
James Tanner
ebb6b8442b
Catch unicode unescape failures in copy action plugin
2014-03-17 12:14:29 -04:00
patrickheeney
a9aab23f11
Fix for hostkey directory
2014-03-17 09:00:08 -07:00
James Tanner
b14c658532
Fix concatenation for with_file
2014-03-17 10:38:22 -04:00
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
2014-03-17 10:51:04 +01:00
Greg Dallavalle
77229553a3
fetch_url: Avoid credential stripping for FTP-scheme URLs
2014-03-16 20:41:03 -05:00
Michael DeHaan
fe696e4720
Merge commit.
2014-03-16 17:08:26 -04:00
Michael DeHaan
b41541c62a
Merge conflict.
2014-03-16 16:48:03 -04:00
Michael DeHaan
fd0ff6f174
Merge pull request #5711 from sivel/plugin-realpath
...
Use realpath for plugin directories instead of abspath
2014-03-16 15:42:47 -05:00
Michael DeHaan
6144c5e1e2
Merge pull request #5714 from eggsby/patch-2
...
Allow templates in ansible_sudo_pass inventory var
2014-03-16 15:42:12 -05:00
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.
2014-03-16 16:12:02 -04:00
Michael DeHaan
b8f1e4f765
Merge pull request #6134 from veeti/include_with_items_path
...
Show the offending file name with the include + with_items error
2014-03-16 15:10:31 -05:00
Michael DeHaan
4a06954a13
Merge pull request #6390 from sergevanginderachter/group-varsdirs-svn
...
group_vars plugin: do not parse hidden files in subfolders
2014-03-16 14:44:17 -05:00
Michael DeHaan
9cdbc53741
Merge pull request #6420 from bcoca/role_names
...
added new role_names variable that exposes current roles list
2014-03-16 14:42:40 -05:00
Michael DeHaan
26efc7ace8
Revert "Populate module_setup from the setup module rather than special code elsewhere"
...
This reverts commit 58eec2e4c2
.
2014-03-16 14:11:43 -04:00
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>
2014-03-16 21:47:26 +04:00
Michael DeHaan
a9896afc66
Merge pull request #6418 from bcoca/template_itnore_errors
...
templates ignore_errors
2014-03-16 12:44:51 -05:00
Michael DeHaan
d5856bd475
Merge pull request #6391 from sergevanginderachter/hashmerge_inventoryscripts
...
Allow hash_behaviour=merge to be respected in core inventory
2014-03-16 12:42:35 -05:00
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.
2014-03-16 13:37:07 -04:00
Michael DeHaan
3d44f7cd51
Merge pull request #6217 from ashokrajar/patch-1
...
pause plugin doesn't flush raw_input prompt
2014-03-16 12:32:58 -05:00
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.
2014-03-16 13:10:28 -04:00
Cristian Ciupitu
a7da5d8702
Micro-optimization of inventory.expand_hosts.detect_range
2014-03-16 13:10:28 -04:00
brdo
3963a64a4f
Set keepalive to 5 seconds in paramiko_ssh.py
...
This update resolves https://github.com/ansible/ansible/issues/6476 .
2014-03-15 11:18:47 -07:00
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)
2014-03-15 13:54:24 -04:00
James Cammarata
a0cb974575
Be sure to return to the old directory if cwd is set in run_command
2014-03-13 16:24:29 -05:00
James Tanner
a348f67238
Reset the current directory after running subprocess.Popen
2014-03-13 17:15:23 -04:00
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.
2014-03-13 14:31:32 -05:00
James Cammarata
5233d4bc31
Fix typo in run_command when sending data that is not binary
2014-03-13 14:28:51 -05:00
James Cammarata
b1a37dcc08
Revert "Rejoin args list into a string for run_command when using an unsafe shell"
...
This reverts commit 4273cb2d8e
.
2014-03-13 14:04:51 -05:00
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.
2014-03-13 13:51:59 -05:00
Michael DeHaan
d1753046e0
Revert "Correctly catch template errors without returning invalid data"
...
This reverts commit 3cd7d47b7e
.
2014-03-13 07:46:19 -04:00
James Cammarata
303e085f8b
Only use cwd in run_command kwargs if the directory exists
2014-03-12 15:59:55 -05:00
James Cammarata
60a7f57300
Make sure the cwd exists in run_command before trying to use it
2014-03-12 14:33:31 -05:00
Dan Koch
bbf320fd22
Work around for cwd stat problems with run_command and sudo
...
This fixes issue #6443
2014-03-12 14:59:50 -04:00
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.
2014-03-12 13:45:16 -05:00
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.
2014-03-12 14:11:45 -04:00
Michael DeHaan
6d841d120e
Don't process shell commands as arrays.
2014-03-12 11:57:28 -04:00
James Cammarata
86d2ee4b97
Don't append tags from roles to the plays tags list
...
Fixes #6393
2014-03-12 10:41:18 -05:00
James Cammarata
a9017af2bb
Adding validate_certs to all modules that use fetch_url
2014-03-12 10:19:54 -05:00
Michael DeHaan
cfabc2e28a
module.run_command is intended to bypass the shell here, so can't do ">>"
2014-03-12 10:57:49 -04:00
James Cammarata
7f38cff989
Remove unused code from get_ca_certs() function
2014-03-12 09:33:19 -05:00
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
2014-03-12 09:21:19 -05:00
Michael DeHaan
0b0ca95731
Expand environment variables and tildes passed to commands generically across the board.
2014-03-12 10:11:09 -04:00
James Tanner
0e38f5dfdc
Check for hash availability during vault operations
2014-03-12 09:38:29 -04:00
Brian Coca
906e59d8a8
added new role_names variable that exposes current roles list
2014-03-11 22:13:29 -04:00
Brian Coca
7778aca966
templates ignore_errors
2014-03-11 21:30:58 -04:00
James Cammarata
6c25e78299
Merge branch 'devel' of https://github.com/dparalen/ansible into dparalen-devel
2014-03-11 15:34:15 -05:00
James Tanner
e4e64a9699
Rename lxc to libvirt_lxc
2014-03-11 16:16:24 -04:00
James Cammarata
bca6adc812
Merge pull request #4064 from mscherer/lxc
...
Add a plugin that permit to use ansible for lxc system, using libvirt
2014-03-11 15:12:51 -05:00
James Cammarata
430cce9df3
Merge branch 'ec2_security_token' of https://github.com/willthames/ansible into willthames-ec2_security_token
2014-03-11 10:45:38 -05:00
Serge van Ginderachter
6b1cb22fc3
Allow hash_behaviour=merge to be respected in core inventory
...
(For now, this means, enable it also for inventory scripts)
2014-03-11 12:49:54 +01:00
Serge van Ginderachter
29c60bdaff
group_vars plugin: do not parse hidden files in subfolders, e.g. avoid .svn/
2014-03-11 12:20:58 +01:00
James Tanner
6740a1f342
Wrap crypto.hash imports with try/except
2014-03-10 19:44:08 -04:00
Michael DeHaan
411bcb7161
Merge remote branch 'real/devel' into devel
2014-03-10 19:11:21 -04:00
Michael DeHaan
2fa6110961
Update the message about pycrypto to include that python-devel must be installed.
2014-03-10 17:23:37 -04:00
James Tanner
0d6f6ad282
Implement new default cipher class AES256
2014-03-10 16:15:44 -05:00
Michael DeHaan
20f0157152
Merge pull request #6378 from franckcuny/headers-gce-utils
...
Add BSD license to module_utils/gce.py
2014-03-10 16:14:51 -05:00
James Tanner
ba0fec4f42
Force command action to not be executed by the shell unless specifically enabled
2014-03-10 16:13:30 -05:00
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
2014-03-10 16:06:52 -05:00
James Cammarata
6577ff5f85
Add tags from handlers to tag availability calculation
2014-03-10 16:06:13 -05:00
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.
2014-03-10 14:38:56 -05:00
Franck Cuny
82f99bfa3d
Add BSD license to module_utils/gce.py
2014-03-10 12:02:45 -07:00
Matt Martz
4b400ca5e9
Only used stripped data for testing if the file is json, but used unstripped when actually parsing. Fixes #6348
2014-03-10 13:43:34 -05:00
Seth Woodworth
1d5db30067
Updates loop warning, removes unnecessary c
2014-03-09 00:19:28 -05:00
James Cammarata
04a6dc6d12
Check for skipped tags in passed role variables before adding to them
...
Fixes #6330
2014-03-08 18:55:42 -06:00
Michael DeHaan
d2cb35f898
Merge pull request #6320 from angstwad/instance-redo
...
Use isinstance() rather than a check using type()
2014-03-07 20:41:33 -06:00
James Cammarata
4753804ab4
Merge pull request #6332 from jimi-c/issue_6329_space_in_var
...
Correctly catch template errors without returning invalid data
2014-03-07 17:38:47 -05:00
James Cammarata
e3b887f770
Fix range issue in inventory and add additional error checking
...
Fixes #6331
2014-03-07 16:34:04 -06:00
James Cammarata
3cd7d47b7e
Correctly catch template errors without returning invalid data
...
Fixes #6329
2014-03-07 14:36:54 -06:00
James Cammarata
f80d02d841
Properly wrap logical elements together for su/sudo detection
2014-03-07 00:07:10 -06:00
James Cammarata
b6056044b7
Partial revert of 73c883c
due to issues with handlers in roles
...
Fixes #6322
2014-03-06 21:13:40 -06:00
Michael DeHaan
e486dbab04
Use the loaded variable since we have it assigned, not just for error detection.
2014-03-06 22:15:21 -05:00
Michael DeHaan
3f07ec3d73
Fixup JSON error reporting in previous commits.
2014-03-06 22:07:35 -05:00
Michael DeHaan
a4d01b0891
Also search .json filenames
2014-03-06 21:47:49 -05:00
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.
2014-03-06 21:42:51 -05:00
James Cammarata
a0f939581d
Merge branch 'aresch-devel' into devel
2014-03-06 16:47:06 -06:00
Paul Durivage
3cce3650e5
Use isinstance() rather than a check using type()
2014-03-06 16:16:25 -06:00
Richard Isaacson
119434d079
Merge pull request #6319 from risaacson/fix_test_dir_inventory
...
Fix TestInventory Unit Tests
Tested clean.
2014-03-06 15:43:45 -06:00
James Cammarata
9b79591f23
Merge branch 'devel' of https://github.com/aresch/ansible into aresch-devel
2014-03-06 15:17:55 -06:00
James Cammarata
2a0028e687
Sanitize run_command argument output
...
Fixes #6316
2014-03-06 13:34:22 -06:00
Andrew Resch
4d80019ac8
Fix logic checking for both sudo and su, and their respective users
2014-03-06 10:24:16 -08:00
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.
2014-03-06 12:09:53 -06:00
James Cammarata
9f2999df79
Un-escape newlines in delimiters for assemble module
2014-03-06 09:44:56 -06:00
Brian Coca
79809b67dc
fixed another line with same issues
...
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2014-03-06 08:43:24 -05:00
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>
2014-03-06 08:28:36 -05:00
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
2014-03-06 16:28:30 +10:00
James Cammarata
0e98496e12
Merge pull request #6299 from jimi-c/issue_4656_role_deps_across_plays
...
Keep track of role dependencies across plays
2014-03-05 19:46:46 -06:00
Michael DeHaan
94a7fb60fe
Allow escaped comments in inventory files.
2014-03-05 20:10:25 -05:00
aresch
23a0468a4b
Fix respecting remote_tmp when sudo is used
2014-03-05 16:25:42 -08:00
James Tanner
4e8ed92130
Fixes #6077 decode escaped newline characters in content for the copy module
2014-03-05 18:49:54 -05:00
Richard C Isaacson
b41d8106ff
Revert "Merge pull request #6287 from risaacson/fix_hash_in_var"
...
This reverts commit a808287451
, reversing
changes made to 6129ea7566
.
2014-03-05 14:49:30 -06:00
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
2014-03-05 14:37:37 -06:00
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.
2014-03-05 14:20:27 -06:00
James Tanner
6129ea7566
Fixes #6298 and adds a sudo unit test for synchronize
2014-03-05 14:51:40 -05:00
Richard C Isaacson
38abd5e20e
Break this out into a reusable function and document regex shortcomings.
2014-03-05 10:50:58 -06:00
Luca Berruti
7cf363910a
fixes #6244
2014-03-05 09:18:01 +01:00
jctanner
40ee030790
Merge pull request #6265 from franckcuny/gce-fixes
...
Add credential parameters to the GCE modules.
2014-03-05 00:11:52 -05:00
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 .
2014-03-04 19:27:49 -08:00
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.
2014-03-04 18:31:49 -06:00
Aaron Bassett
5c589af191
fix missing stdin in _parallel_runner
2014-03-04 16:00:26 -05:00
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.
2014-03-03 23:51:51 -06:00
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.
2014-03-03 23:10:09 -06:00
Michael DeHaan
435104065e
Merge pull request #6248 from hkariti/fix_list_copy
...
Fix incorrect use of copy() on list, causing a traceback
2014-03-03 17:11:30 -05:00
Jesse Keating
0c2c37a47a
Avoid range selection on empty groups
...
This prevents a traceback when the group is empty.
Fixes #6258
2014-03-03 13:23:27 -08:00
James Tanner
623cd9ac50
Revert "Merge pull request #6250 from dagwieers/gather_facts-once"
...
This reverts commit b769b4181a
, reversing
changes made to 1e01fb856d
.
2014-03-03 10:20:42 -05:00
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.
2014-03-03 16:15:19 +01:00
Hagai
0e4b38ed5a
Fix incorrect use of copy on list
2014-03-03 14:47:57 +02:00
Tefnet
c652802d29
missing import in assert module
...
Fixed missing ansible.errors import in assert module
2014-03-02 00:59:17 +01:00
Michael DeHaan
16d3be03af
Remove a few extra legacy variable feature references.
2014-02-28 18:51:15 -05:00
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.
2014-02-28 18:38:45 -05:00
Michael DeHaan
9d01d88a57
Bump versions on the devel branch (devel branch version is 1.6)
2014-02-28 18:27:16 -05:00
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.
2014-02-28 13:50:39 -05:00
James Cammarata
79645535c0
Handle empty results from failed connections in _remote_md5()
...
Fixes #5800
2014-02-28 12:50:03 -06:00
Gilles Cornu
04f6367172
Fully clean 'ssh_old' and 'paramiko_alt' options
...
These transports have been removed in 33857855ad
2014-02-28 18:28:04 +01:00
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]
```
2014-02-28 11:28:38 +05:30
James Cammarata
df9de6ea71
Expand the source path in the action plugin when not using a remote source
...
Fixes #6209
2014-02-27 12:50:35 -06:00
Serge van Ginderachter
9833263417
Fixes templating of ansible_ssh_host for delegates
2014-02-27 18:06:34 +01:00
James Cammarata
c11e2100e0
Save the original transport in runner after detecting the smart transport
...
Fixes #6192
2014-02-27 10:30:50 -06:00
Michael DeHaan
cd7d7eb1bc
Merge pull request #6202 from muffl0n/unarchive_destdir
...
unarchive: output dest in error-message
2014-02-27 10:36:10 -05:00
muffl0n
17946b23d5
output dest in error-message
2014-02-27 13:29:26 +01:00
Richard C Isaacson
9c8bbe2904
column must always be less than len(probline)
...
Fixes related to GH-5773.
2014-02-26 16:28:34 -06:00
James Cammarata
14ba10393b
Minor tweak to region config in boto configuration file
2014-02-26 15:40:33 -06:00
James Cammarata
88acb48e61
Merge branch 'ec2_boto_config_region' of https://github.com/willthames/ansible into willthames-ec2_boto_config_region
2014-02-26 15:32:05 -06:00
James Cammarata
2a383786dd
And remove the expanduser calls from the action_plugin
2014-02-26 15:29:00 -06:00
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.
2014-02-26 14:25:56 -06:00
James Cammarata
b758ed9417
Merge pull request #6150 from hkariti/fix_join_bug
...
Fix incorrect use of .join on list causing a traceback
2014-02-26 12:50:07 -06:00
James Cammarata
96f1c3ce2e
Move where the expanduser call is made, to avoid issues with None
2014-02-26 12:33:17 -06:00
James Cammarata
e659d55d62
Merge branch 'devel' of https://github.com/muffl0n/ansible into muffl0n-devel
2014-02-26 12:28:26 -06:00
James Cammarata
5ff20c1ae7
Merge branch 'scottanderson42-ec2-params' into devel
2014-02-26 11:38:36 -06:00
James Tanner
baed7a0ed9
Fixes #6187 Add unit tests for VaultLib
2014-02-26 12:10:09 -05:00
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.
2014-02-26 11:26:52 -05:00
James Tanner
35def422a3
Addresses #6188 Add --vault-password-file to bin/ansible and bin/ansible-playbook
2014-02-26 11:01:03 -05:00
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
2014-02-26 09:37:26 -06:00
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.
2014-02-25 14:59:06 -06:00
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>
2014-02-25 11:20:15 -06:00
James Tanner
876035c0b1
Fixes #6161 Get the delegate host info properly from the hostvars object
2014-02-25 11:18:06 -05:00
James Tanner
9209581565
Fixes #6155 Inject checkmode into synchronize module args
2014-02-25 08:58:58 -05:00
James Cammarata
a18f811b2d
Merge branch 'jimi-c-issue_4620' into devel
2014-02-24 21:38:55 -06:00
James Cammarata
f23ccebbdc
Merge branch 'issue_4620' of https://github.com/jimi-c/ansible into jimi-c-issue_4620
2014-02-24 20:30:25 -06:00
James Tanner
0f95a905d9
Fixes #5965 Ensure the inject for each item in a loop is un-altered
2014-02-24 20:54:26 -05:00
Iordan Iordanov
a1854bb762
Add support for checking host against global known host files.
2014-02-24 16:05:03 -05:00
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
2014-02-24 14:27:23 -06:00
jctanner
8a253bf576
Merge pull request #6151 from jctanner/vault_rewrite
...
Vault rewrite, pass 1
2014-02-24 14:54:01 -05:00
jctanner
93c746db9c
Merge pull request #5651 from nikut/sshfix
...
allow ansible_ssh_private_key_file to be templated (thanks to benno)
2014-02-24 14:26:48 -05:00
James Tanner
9c9f15acb7
Fix decryption error
2014-02-24 13:20:27 -05:00
James Tanner
52a8efefba
Vault rewrite, pass 1
2014-02-24 13:09:36 -05:00
Hagai
ae9c0d87a9
Fix incorrect use of .join on list
2014-02-24 19:48:55 +02:00
Richard C Isaacson
8be8dbc9ed
Formatting cleanup.
2014-02-24 11:11:47 -06:00
Richard C Isaacson
aaf0a182e1
Merge remote-tracking branch 'jeromew/ansible_script_creates' into issues_4986
2014-02-24 10:16:39 -06:00
Veeti Paananen
dd6f2e6bfa
Show the offending file name with the include + with_items error
2014-02-23 20:51:57 +02:00
Michael DeHaan
9686695170
Assume empty files are unencrypted.
2014-02-21 21:06:04 -05:00
James Tanner
4af1d6098b
Fixes #5939 Allow for delegate hosts that are not in inventory
2014-02-21 15:54:09 -05:00
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.
2014-02-20 15:25:52 -05:00
Michael DeHaan
bc65956798
Add tests that leverage most of our custom filters. A few more to add.
2014-02-20 15:24:03 -05:00
James Cammarata
f5505425f9
Adding 'expanduser' filter to the core filters list
...
Example usage: {{ my_path | expanduser }} # my_path: "~/path/to/file"
2014-02-20 13:48:07 -05:00
James Cammarata
ef2df8157a
Fixup result dictionary when copy module calls file module
2014-02-19 18:05:59 -05:00
muffl0n
b0f00cc097
already call expanduser in action_plugin
2014-02-19 21:41:57 +01:00
muffl0n
5f0e882d01
call expanduser for src and dest
2014-02-19 21:30:53 +01:00
root
0df166e7c0
Copy tests WIP, fix bug in assert module upgrades where the wrong value was being checked.
2014-02-19 14:36:54 -05:00
James Cammarata
54117ab28f
Modified assert module to take tests as an array
2014-02-19 14:05:03 -05:00
James Tanner
bee089d5e1
Remove entropy comment
2014-02-19 13:36:20 -05:00
James Tanner
86b9f84fb9
Change entropy message for vault
2014-02-19 13:31:01 -05:00
Richard Isaacson
dc403eb21e
Merge pull request #6058 from jctanner/vault_squashed_2
...
Ansible vault: a framework for encrypting any playbook or var file.
2014-02-19 11:39:55 -05:00
James Tanner
3a965a1392
Remove intermediate string on decrypt
2014-02-19 11:35:00 -05:00
James Tanner
286ca505bd
Remove breakpoint
2014-02-19 11:08:02 -05:00
James Tanner
84467a8f12
Change retype to confirm
2014-02-19 11:06:53 -05:00
James Tanner
aa46ab1d86
Fix function name
2014-02-19 11:05:08 -05:00
James Tanner
3fc87e011b
Fix all other calls to yaml
2014-02-19 11:01:21 -05:00
James Cammarata
b6222abee6
Fix unicode decode error in syslog for modules
...
Fixes #6056
2014-02-19 09:42:01 -05:00
James Tanner
427b8dc78d
Ansible vault: a framework for encrypting any playbook or var file.
2014-02-18 15:35:12 -05:00
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.
2014-02-18 13:23:44 -06:00
James Cammarata
f29ce80d12
Default port to 22 for paramiko when it is unset
2014-02-18 09:53:24 -06:00
James Cammarata
92cbfff904
Merge branch 'sshdefault' of https://github.com/craigtracey/ansible into craigtracey-sshdefault
2014-02-18 09:44:19 -06:00
jeromew
7a14cb61c4
Add creates= and removes= to the script: action
2014-02-18 12:52:09 +00:00
Niku Toivola
6cc9b16f06
allow templating of ansible_ssh_private_key_file also in the synchronize module
2014-02-18 11:32:33 +02:00
Niku Toivola
2faaff78ee
removed comment
2014-02-18 11:32:06 +02:00
Niku Toivola
68a3e8163e
allow ansible_ssh_private_key_file to be templated (thanks to benno)
2014-02-18 11:32:05 +02:00
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.
2014-02-17 23:56:08 +01:00
James Cammarata
0cfaabf9cb
Make sure unicode params don't break logging in modules
2014-02-17 13:37:48 -06:00
James Cammarata
788ac51185
Sanitize sudo success_key from stdout for raw/script modules
...
Fixes #5533
Closes #5605
Closes #5606
Closes #5607
2014-02-17 12:47:47 -06:00
Richard C Isaacson
80ddd1ca75
Config resoution order correction and documentation.
2014-02-14 14:34:58 -06:00
James Cammarata
4012f4bb95
Merge branch 'allow-equals-in-ini-vars' of https://github.com/worklez/ansible into worklez-allow-equals-in-ini-vars
2014-02-14 10:39:14 -06:00
James Cammarata
faa645c834
Merge pull request #6001 from jimi-c/issue_4087_sanitize_output
...
Filter out messages that match the pattern username:password@host
2014-02-14 09:54:05 -06:00
Ilya Kuznetsov
0658847ea6
Allow equal sign in single-line ini variables
2014-02-14 20:04:23 +07:00
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.
2014-02-13 18:28:29 -05:00
Chris Hoffman
affed67ebd
Small fix for ec2 validate_certs option
2014-02-13 16:30:31 -05:00
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
2014-02-13 14:23:49 -06:00
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
2014-02-13 12:32:49 -06:00
Brian Coca
31b5728618
directory detection should now work on BSDs, added AIX alternate path
2014-02-13 08:23:56 -05:00
James Cammarata
254f87e7dd
Fix log handling of unicode output to syslog in modules
2014-02-12 11:27:52 -06:00
Richard Isaacson
eb4a730933
Merge pull request #5969 from risaacson/pull_5136
...
Updates for the unarchive module and action_plugin.
2014-02-12 10:10:25 -06:00
Richard C Isaacson
598b9c6b7c
Cleanup per notes.
...
Some small changes to per notes from @mpdehann.
2014-02-12 10:01:10 -06:00
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.
2014-02-12 01:57:00 -06:00
Jacob Weber
35742fe008
Add regex_replace jinja2 filter
2014-02-11 22:02:53 -08:00
Richard C Isaacson
e6c9705058
Merge remote-tracking branch 'pib/unarchive_remote' into pull_5136
2014-02-11 22:55:34 -06:00
James Cammarata
a023cbce14
When using jsonify in modules, try several unicode encoding for dumps()
...
Fixes #4821
2014-02-11 14:19:40 -06:00
James Tanner
9ce46e5f41
Refactor the synchronize action plugin and add unit tests
2014-02-10 23:39:17 -05:00
James Cammarata
3f90020d62
Open LOG_LOCK file with FD_CLOEXEC to prevent file descriptor leakage
...
Fixes #5399
2014-02-10 15:51:52 -06:00
James Cammarata
bbda98a3ee
Merge branch 'issue_4812' into devel
2014-02-10 13:35:53 -06:00
James Cammarata
bb79b16d59
Specify mode in the makedirs call for fireball/accelerate keys
2014-02-10 13:27:43 -06:00
James Cammarata
65cb79a5c1
Merge branch 'devel' of https://github.com/xyrix/ansible into xyrix-devel
2014-02-10 13:18:59 -06:00
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.
2014-02-08 18:35:26 -05:00
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.
2014-02-08 02:25:42 -06:00
Michael DeHaan
1609dfbca4
Revert "Revert "Revert "Add the fork manager code (related to previous patch)."""
...
This reverts commit 60d3611b70
.
2014-02-07 20:38:24 -05:00
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
.
2014-02-07 20:38:20 -05:00
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
.
2014-02-07 20:38:18 -05:00
Michael DeHaan
caab52aee2
While the previous work on the foon class can't be quite recycled, it's still a nice abstraction.
2014-02-07 19:32:19 -05:00
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
.
2014-02-07 18:14:27 -05:00
Michael DeHaan
60d3611b70
Revert "Revert "Add the fork manager code (related to previous patch).""
...
This reverts commit c53538dc77
.
2014-02-07 18:14:13 -05:00
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
.
2014-02-07 18:10:38 -05:00
Michael DeHaan
c53538dc77
Revert "Add the fork manager code (related to previous patch)."
...
This reverts commit adb1719fe8
.
2014-02-07 18:10:29 -05:00
Michael DeHaan
adb1719fe8
Add the fork manager code (related to previous patch).
2014-02-07 16:53:35 -05:00
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.
2014-02-07 16:53:35 -05:00
Richard Isaacson
2d88246c9d
Merge pull request #5885 from risaacson/issue5739_4
...
Addresses #5739 and cleans up copy.py
2014-02-07 13:49:06 -06:00
James Tanner
b3ab7e7885
Check mutually_exclusive parameters before applying defaults
2014-02-07 13:42:08 -05:00
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.
2014-02-07 22:30:16 +10:00
jctanner
0bc0315171
Merge pull request #5880 from willthames/ec2_modules_refactor
...
Create a common EC2 connection argument spec for EC2 modules
2014-02-06 11:08:09 -05:00
xyrix
20d97416e5
fixed thinkoes
2014-02-06 13:02:11 +00:00
xyrix
0af40374ed
fixed file perms checking
2014-02-06 12:48:34 +00:00
xyrix
1de45bf687
made accelerate keys directory configurable, and permissions for the file and dir configurable, and gave them a safe default
2014-02-06 08:53:43 +00:00
James Cammarata
a72dc2ec34
Use finalize method in jinja2 to convert None values to empty strings
...
Fixes #4812
2014-02-06 00:43:31 -06:00
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)
2014-02-06 15:27:41 +10:00
jctanner
28933de84d
Merge pull request #5771 from bcoca/play_hosts2
...
added new play_hosts var
2014-02-05 23:52:20 -05:00
James Cammarata
959a156195
Properly count newlines appearing at the end of templates after rendering
...
Fixes #4633
2014-02-05 15:14:19 -06:00
James Cammarata
ca0ec800d8
Revising method for parsing ranges from --limit subsets
...
Also added a new test (test_subset_range) for future validation.
Fixes #4620
2014-02-05 13:58:03 -06:00
Richard C Isaacson
ac0a5c8ad5
Dug into the remaining FIXME and replaced with comments to document the expected behavior.
2014-02-05 11:39:22 -06:00
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.
2014-02-05 09:45:03 +01:00
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...
2014-02-04 11:39:54 -08:00
jctanner
253fe7be50
Merge pull request #5662 from RSpiertz/update_playbook_error
...
PlayBook: better error message
2014-02-04 11:16:44 -08:00
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.
2014-02-04 12:44:10 -06:00
James Tanner
5fafc61008
Fixes 5870 Template delegate hostname earlier in the process
2014-02-04 13:31:22 -05:00
James Tanner
d355d3c698
Fixes #5818 Default to all known connection information for the delegate host
2014-02-03 16:59:30 -05:00
Timur Batyrshin
658c15930e
reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 ( #5852 )
2014-02-03 13:00:40 -06:00
James Cammarata
2d0e9cd75d
Revert "Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks."
...
This reverts commit b20dc4f578
.
2014-02-03 12:54:52 -06:00
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
2014-02-03 10:10:45 -06:00
James Cammarata
9ff99acaff
Merge branch 'issue5739_3' of https://github.com/risaacson/ansible into risaacson-issue5739_3
2014-02-03 09:52:50 -06:00
Brian Coca
ff024b65b2
now with_items also accepts sets
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2014-02-01 17:55:38 -05:00
Richard C Isaacson
b20dc4f578
Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks.
2014-01-31 17:19:44 -06:00
James Cammarata
75e3b59bbd
Adding no_log: capability for tasks
...
Fixes #4088
2014-01-31 16:58:46 -06:00
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
.
2014-01-30 16:02:05 -05:00
James Cammarata
9574f89471
Detect remote_user change in accelerate daemon and allow a restart
...
Fixes #5812
2014-01-30 14:40:41 -06:00
jctanner
6c25ea1b91
Merge pull request #5527 from sergevanginderachter/basedirdwim
...
path_dwim: fix when basedir not set
2014-01-30 10:54:19 -08:00
James Cammarata
f955d9db6a
Handle implicit localhost when using '-i host,' syntax
...
Fixes #5820
2014-01-30 12:46:02 -06:00
jctanner
360f06b41d
Merge pull request #5806 from sivel/rax-mod-utils-improvements
...
Rax mod utils improvements
2014-01-29 16:17:06 -08:00
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
2014-01-29 12:31:12 -06:00
Michael DeHaan
d07a3b5e9b
AnsibleWorks -> Ansible
2014-01-28 20:29:42 -05:00
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.
2014-01-28 15:11:44 -06:00
Matt Martz
ac666e63e0
Support providing a tenant_name also
2014-01-28 13:58:41 -06:00
Matt Martz
aa709012ba
Make sure to also include the region when using keyring_auth
2014-01-28 13:58:41 -06:00
Matt Martz
021b926235
Only specify to USE_KEYRING as the api_key/password when we actually got a keyring_username from ~/.pyrax.cfg
2014-01-28 13:58:41 -06:00
Matt Martz
1ac7dffd55
Support using ~/.pyrax.cfg and multi environments
2014-01-28 13:58:41 -06:00
Matt Martz
139e905e98
identity_type is set dynamically above
2014-01-28 13:58:41 -06:00
Matt Martz
bc473c5be3
Support additional attributes that would allow the rax modules to work with other OpenStack clouds
2014-01-28 13:58:41 -06:00
Matt Martz
d7597414b8
Support keyring for the api_key
2014-01-28 13:58:40 -06:00
James Tanner
fe091ec00d
Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh
2014-01-28 13:06:07 -05:00
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.
2014-01-28 11:04:24 -06:00
James Tanner
3ec043ec17
Fixes #5750 Fail on missing ~/.ssh and ignore accept_hostkey if stricthoskeychecking is off
2014-01-28 11:49:35 -05:00
James Cammarata
88e2595a90
Fixing bug relating to su without an su_pass
2014-01-27 16:27:02 -06:00
Adam Heath
fac7c6d3fe
Allow su_user to be templated, same as sudo_user.
2014-01-27 16:27:02 -06:00
James Cammarata
3fddd78ec5
Fixing traceback caused by incorrect argument passing to json.dumps
...
Fixes #5756
2014-01-27 11:28:07 -06:00
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>
2014-01-25 18:43:15 -05:00
jctanner
b2d594d24e
Merge pull request #5724 from angstwad/su-tasks-fix
...
Fix bug where playbook tasks do not escalate privs with 'su'
2014-01-23 14:05:14 -08:00
jctanner
19e8742005
Merge pull request #5713 from angstwad/su-fix
...
Disallow su and sudo params in same play/task
2014-01-23 13:55:43 -08:00
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.
2014-01-23 12:49:07 -05:00
Paul Durivage
e875089eba
Fix bug where self.su was being set by the sudo param in play tasks
2014-01-22 11:04:19 -06:00
Paul Durivage
01d1bd61e7
Disallow su and sudo params in same play/task
2014-01-22 10:55:45 -06:00
James Cammarata
ff8eb5f454
Merge pull request #5722 from jeromew/pipelining_default
...
Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean
2014-01-22 07:34:02 -08:00
jeromew
ef69d23715
Bug: chmod should be called only if the tmp dir was created in the first place
2014-01-22 14:04:39 +00:00
jeromew
3f23483022
Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean
2014-01-22 13:54:28 +00:00
Thomas Omans
9343db69b4
Fixing whitespace
2014-01-21 12:44:36 -08:00
Thomas Omans
ce0b5d16b3
Allow templates in ansible_sudo_pass inventory var
...
Template ansible_sudo_pass the same way we template ansible_ssh_pass.
2014-01-21 12:37:04 -08:00
Matt Martz
5ba6739603
Use realpath for plugin directories instead of abspath
2014-01-21 12:41:58 -06:00
James Tanner
61d283e2ad
Fix merge conflicts from #5519
2014-01-21 13:35:06 -05:00
jctanner
da136dbe7c
Merge pull request #5694 from angstwad/add-su-support-revert
...
Add su support
2014-01-21 09:57:00 -08:00
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.
2014-01-20 20:10:47 -08:00
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.
2014-01-20 18:56:39 -08:00
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
2014-01-20 19:19:03 -06:00
Paul Durivage
4c84ba74b0
Resolve su bug in paramiko libs
2014-01-20 19:16:37 -06:00
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.
2014-01-20 16:22:28 -08:00
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.
2014-01-20 16:22:28 -08:00
James Tanner
94f3b9bfab
Fixes #3129 Do not require localhost to be in inventory
2014-01-20 18:26:14 -05:00
James Tanner
c17d0e0357
Revert "Merge pull request #5325 from angstwad/add-su-support"
...
This reverts commit 6f4bfa2cff
, reversing
changes made to c91ba3a7c7
.
2014-01-20 16:10:11 -05:00
Paul Durivage
8cf071f697
Hostvars support for su
2014-01-20 12:01:28 -06:00
Paul Durivage
dec9131735
Ensure playbook support for su params
2014-01-20 11:46:56 -06:00
Paul Durivage
d21281ff43
Resolve rebase conflicts
2014-01-20 11:46:05 -06:00
Paul Durivage
ab6ee1a282
Enable su support in paramkio; disable su support in fireball, local, accelerate, chroot, jail, funcd connection plugins
2014-01-20 11:25:10 -06:00
Paul Durivage
4088243deb
Proposing fix for Issue #4324 ; adding support for su in connection plugins ssh, ssh_alt
...
Fixes for ssh_alt support, adding in references to in_data where appropriate
2014-01-20 11:25:10 -06:00
Michael Scherer
5c5c8fd7ce
Make synchronize module work better with local transport, fix #5668
2014-01-17 17:32:36 +01:00
Rutger Spiertz
dec6345fe6
PlayBook: better error message
...
When a PlayBook has missing arguments the error message now shows which ones are missing.
2014-01-17 10:30:57 +01:00
James Tanner
559e89036b
Fixes #5631 Return a unique list of hosts when joining groups
2014-01-16 14:24:11 -05:00
James Cammarata
02ce5af6df
Added ANSIBLE_SSH_PIPELINING option to enable/disable pipelining support
...
Pipelining will be disabled by default, since it requires users remove
the 'requiretty' option from the servers sudoers configuration.
2014-01-16 12:41:33 -06:00
James Cammarata
233aae5861
Reverting paramiko_ssh/alt changes from yesterday
2014-01-16 09:45:28 -06:00
Matt Martz
d46037d64c
Do not log the rax api_key argument in module invocation
2014-01-15 16:38:03 -06:00
James Cammarata
36e6709771
Don't use pipelining when ANSIBLE_KEEP_REMOTE_FILES is enabled
2014-01-15 16:03:18 -06:00
James Cammarata
df13b19fe1
Moving {ssh,paramiko}_alt connection types to be the defaults
...
The previous implementations will be kept for now as _old
2014-01-15 16:03:18 -06:00
James Cammarata
c27db84e41
Adding paramiko_alt - pipelining support for paramiko connections
2014-01-15 16:03:17 -06:00
jctanner
91c5c9da08
Merge pull request #5465 from deonbredenhann/false_mandatory_variable
...
Treat a False mandatory variable as defined.
2014-01-14 14:15:52 -08:00
jctanner
59d99c17b3
Merge pull request #5337 from bob-smith/bugfixFQDNParsing
...
Fix inventory parsing so that FQDN can be parsed without throwing ssh port error
2014-01-14 08:28:38 -08:00
jctanner
a6bc63512e
Merge pull request #5308 from zecrazytux/fix/hash_merge_dynamic_inventory
...
Let merge hash_bahaviour work with dynamic inventory
2014-01-14 07:58:25 -08:00
jctanner
671b0454c6
Merge pull request #4987 from jpmens/lookup-csvfile
...
New lookup plugin csvreader
2014-01-14 07:17:52 -08:00
willthames
31f5ecea60
Allow float as an argument type in AnsibleModule
2014-01-13 14:15:23 +10:00
Rob Smith
c15cffabdd
This fixes bugs added as a part of 8665b0638a
...
1. if accept_hostkey is false, no matter if the host key is known or not, it will fail.
2. We don't check for the host key in /etc/ssh/ssh_known_hosts
This fixes both of those issues.
2014-01-12 02:12:44 -08:00
James Tanner
3719f3f496
Do not fetch or add keys for http based git urls
2014-01-11 15:15:23 -05:00
James Tanner
eeee1e1c5a
Set accept_hostkey to False by default in the git module and fail
...
early if the key is unknown
2014-01-11 11:02:01 -05:00
James Tanner
8665b0638a
Add an "accept_hostkey" parameter to the git module to help automatically
...
accept hostkeys for git repos and prevent task hangs when the key is unknown
2014-01-11 10:36:45 -05:00
James Tanner
09e0d052ca
Ensure sys.stdout has an istty method
2014-01-10 17:42:43 -05:00
James Tanner
d7c8cf6ca7
Fixes #4958 Truncate printed stdout if it contains non-printable characters
2014-01-10 15:08:45 -05:00
jay
e1f5b801cf
fixed bug causing symlinks to fail in the host_vars, group_vars etc directories
2014-01-10 16:32:41 +00:00
James Tanner
78ec7c736f
Fixes #3973 Second Revision of live ansible-pull output
2014-01-10 11:18:02 -05:00
Luca Berruti
ae543eecab
Simplified p.poll handling
2014-01-10 11:34:21 +01:00
James Tanner
c408bcea31
Update sshpass hostkey error message
2014-01-08 17:25:50 -05:00
James Tanner
0b64408f5a
Fixes #5531 Give the user a better error message when sshpass does not know the remote hostkey
2014-01-08 16:50:40 -05:00
Matt Martz
f99500d65c
Expose the playbook to callback plugins
2014-01-08 14:40:37 -06:00
jeromew
69febcefde
remove useless create/delete remote tmp dir roundtrip in copy module
2014-01-08 15:22:12 +00:00
Serge van Ginderachter
836fb4143c
path_dwim: fix when basedir not set
2014-01-08 02:21:10 +01:00
jeromew
c9b01febb3
Make sure 'tmp' is in the remote tmp dirname to ensure correct cleanup
2014-01-07 20:56:12 +00:00
jctanner
21b4212ff5
Merge pull request #5517 from lichesser/fix_set_depreciation_warning
...
Fixes #5513 . set is built-in since 2.4 and deprecated since 2.6
2014-01-07 15:48:27 -05:00
jctanner
83dec044ab
Merge pull request #5504 from smoothify/synchronize-sudo
...
Synchronize Module: Improved sudo override behaviour.
2014-01-06 14:52:59 -08:00
jctanner
9a69b1b0ec
Merge pull request #5311 from willthames/ec2_refactor
...
ec2 modules: Move more responsibility to common EC2 module
2014-01-06 14:09:38 -08:00
James Tanner
d6b78e9dd6
Fixes #5238 Improve error messaging about unquoted variable references in playbooks
2014-01-06 16:47:19 -05:00
James Tanner
ab51bd23a2
Fixes #5196 return a unique list of hostnames for a single host pattern
2014-01-06 14:19:20 -05:00
smoothify
93a55e8dff
Don't override sudo if transport is set to local.
...
https://github.com/ansible/ansible/pull/5251
2014-01-04 23:32:25 +00:00
Michael DeHaan
c039e276a2
Fact gathering on a second play against the same hosts should not be implicitly off since this is an undocumented beheavior and potentially
...
rather unwanted when a play could change a fact.
gather_facts: True/False can still be explicitly used per play.
Reverts 564a212b3c
2014-01-04 14:03:58 -05:00
Michael DeHaan
87258f6d42
Resolve merge commit
2014-01-04 14:03:42 -05:00
Michael DeHaan
1c632af2c9
Merge pull request #5468 from jeromew/ansible_ssh_alt
...
fix issue #5372 on ssh_alt: accept -K option for a user with NOPASSWD
2014-01-04 10:55:58 -08:00
Michael DeHaan
a3d90e8a87
Merge pull request #5498 from j2sol/exit_setup_early
...
Return early from setup step when possible
2014-01-04 10:47:35 -08:00
Michael DeHaan
227e8e31c9
Merge branch 'use_comps' of git://github.com/j2sol/ansible into devel
2014-01-04 13:36:40 -05:00
Michael DeHaan
10350d1639
Update various copyrights. Not complete, but sufficient.
2014-01-04 13:32:04 -05:00
Jesse Keating
23720ff19d
Use list comprehensions for efficiency
...
For loops can be inefficient, particularly when doing a dot command with
them. https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Loops and
https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Avoiding_dots ...
This patch makes use of list comprehensions to be as efficient as
possible while still retaining order. Efficiency was lost a bit when
switching away from sets() but this gains some of it back.
2014-01-03 18:07:00 -08:00
Jesse Keating
35328ed503
Return early from setup step when possible
...
The _list_available_hosts call can be lengthy, and in the case where
gather_facts is disabled the call is pointless. So re-arrange the logic
to return early from _do_setup_step when gather_facts is false.
2014-01-03 16:39:13 -08:00
Michael DeHaan
c41a23a35a
Complete removal/refactoring of conditional deprecations.
2014-01-03 19:23:19 -05:00
Michael DeHaan
8e5b7d3095
Remove code underlying when_* and only_if, which are deprecated features slated for removal in the 1.5 release.
2014-01-03 19:13:21 -05:00
Michael DeHaan
28b9fd4e30
We have had only_if, when_foo, etc, deprecated for a while and said they would be removed in 1.5. Now they are, with friendly error messages still.
...
Users of these features should use "when:" as documented at docs.ansible.com.
Similarly, include + with_items has been removed. The solution is to loop
inside the task files, see with_nested / with_together, etc.
2014-01-03 13:47:54 -05:00
James Tanner
21fdb2bbc7
Fixes #5200 Handle template contents with unicode strings better
2014-01-03 11:18:20 -05:00
James Tanner
fc473b3246
Fixes #5146 Handle missing stdin when running under celery with rabbitmq or redis
2014-01-03 09:46:16 -05:00
Michael DeHaan
de2ffc1276
Don't need to document these guys.
2014-01-02 17:55:59 -05:00
James Tanner
cb2214d6f8
Fixes #4935 Synchronize module: set destination to an fqdn if connection is not local, and abide by ansible_remote_user
2014-01-02 14:58:12 -05:00
jctanner
99560e3902
Merge pull request #5047 from sergevanginderachter/synch_template_ansiblesshhost
...
synchronize: allow ansible_ssh_host to be templated
2014-01-02 09:05:14 -08:00
jeromew
b2cd4a62de
fix issue #5372 on ssh_alt: accept -K option even for a user with NOPASSWD
2013-12-31 14:29:46 -05:00
Deon Bredenhann
c85aac8b17
Treat a False mandatory variable as defined.
2013-12-31 13:41:40 +02:00
Deon Bredenhann
4f1f13b100
Remove trailing space
2013-12-31 13:40:21 +02:00
Levi Gross
dc6a26123b
Fixed syntax error and removed unused imports
2013-12-25 11:04:47 -05:00
Michael DeHaan
643690ffec
Remove depedency of lookup plugin on setting in ansible.cfg
2013-12-21 08:49:08 -05:00
Michael DeHaan
5b3c796641
Update constants.py
...
Lookup plugins for optional web services do not warrant advertising in ansible.cfg.
2013-12-21 08:46:11 -05:00
Stephen Fromm
833e1f6e2a
Make sure action plugin copy cleans up tmp dir
...
The copy action plugin creates its own tmp dir for each file that it
copies to the target machine. However, it does not clean up the
original tmp path it was given when run() is called. This cleans up the
tmp path before it begins looping on source files.
2013-12-20 14:58:34 -08:00
dparalen
6bf5d664dc
allow per-host sudo operation
2013-12-20 15:49:25 +01:00
James Tanner
993e0f057e
Allow for no role dependencies in role metadata
2013-12-19 14:19:14 -05:00
James Tanner
1ef9930b80
Addresses #5341 Expand home directories when searching for roles in ansible-playbook
2013-12-18 23:31:03 -05:00
James Tanner
5d022182fe
Fixes #5341 Use constants.py to set the roles directory
2013-12-18 22:40:58 -05:00
John Barker
4bf9f714d0
Fix inventory parsing so that FQDN can be parsed without throwing ssh
...
port parsing errors
Fixes problesm introduced by 948d019fef
Adds testcases to defend
2013-12-18 21:33:05 +00:00
jctanner
ea8cd62b19
Merge pull request #5259 from mvo5/bugfix/improve-error-on-invalid-vars-file
...
improve error on invalid vars file (if its a list instead of a dict)
2013-12-17 11:12:53 -08:00
jeromew
e4a3f49fa2
ssh_alt - only trigger 'fatal' when returncode == 255 (interpreted as 'could no connect')
2013-12-17 11:42:00 -05:00
willthames
12005a1cd0
Move more responsibility to common EC2 module
...
Moved `AWS_REGIONS` into `ec2` module
Created `ec2_connect` method in `ec2` module
Updated modules able to use `ec2_connect` and `AWS_REGIONS`
2013-12-17 14:07:24 +10:00
jctanner
cd3144af5d
Merge pull request #5178 from cavassin/devel
...
Prevents UnicodeEncodeError
2013-12-16 13:23:16 -08:00
James Tanner
f3a4705a9c
Revert "Merge pull request #4874 from leth/editable_install"
...
This reverts commit 15b89b45e1
, reversing
changes made to 3d836a1ab7
.
2013-12-16 15:57:03 -05:00
jctanner
15b89b45e1
Merge pull request #4874 from leth/editable_install
...
Fix setup.py to work with 'pip install -e .'
2013-12-16 11:22:45 -08:00
Sébastien Bocahu
c8d5846ab9
Let merge hash_bahaviour work with dynamic inventory
2013-12-16 19:55:20 +01:00
jctanner
3d836a1ab7
Merge pull request #5247 from jeromew/ansible_ssh_alt
...
ssh_alt.py / decrease # of ssh roundtrips
2013-12-16 07:08:35 -08:00
jeromew
5c965a75f0
ssh_alt.py / decrease # of ssh roundtrips
2013-12-13 14:23:40 -05:00
jctanner
1679d83637
Merge pull request #5131 from janeznemanic/devel
...
Fix for issue #4730 - stacktrace when deferenencing a non-existent group
2013-12-13 11:00:41 -08:00
jctanner
301a1189dd
Merge pull request #5122 from willthames/openlog_str
...
Make first argument to syslog.openlog be a string
2013-12-13 08:51:48 -08:00
Ferenc Grecu
56642f9b04
Remove unused parameter from _get_config
2013-12-12 18:48:02 +02:00
Michael Vogt
bef5ee2c3b
improve error on invalid vars file (if its a list instead of a dict)
2013-12-12 09:56:30 +01:00
Jesse Keating
8cef210aea
Make sure ssh pipes are empty before moving on
...
Resolves issue #5082
Code as it was would hit a scenario where one of the FDs was not ready for
reading the first time through -- but p.poll() would show the process as
complete. This would cause ansible to continue on, while leaving some content
left in a pipe.
The other scenario -- the one that causes the unclosed quote, is if we go
through select.select() and we do get stdout in the ready for reading -- we
read from it (9000 bytes), but that's not all that is there. Again we'd get to
the p.poll() check and it would be indeed not none, but we would have left some
of stdout on the FD and thus the json blob would be malformed.
Tested with and without full ssh debugging.
Tested with and without ControlPersist
Tested with and without ControlPersist sockets already created
2013-12-11 21:32:37 -08:00
Michael DeHaan
929f8a5c93
Had to revert commits due to async.
2013-12-10 19:24:08 -05:00
Michael DeHaan
74e4ccb59b
Revert "ssh_alt.py / decrease # of ssh roundtrips"
...
This reverts commit 7f8863f96d
.
2013-12-10 19:23:52 -05:00
jeromew
7f8863f96d
ssh_alt.py / decrease # of ssh roundtrips
2013-12-10 06:00:21 -05:00
jeromew
db182ba498
copy ssh.py to ssh_alt.py
2013-12-09 14:11:29 -05:00
Paulo Bittencourt
fc3597af5d
files/file: add support for symbolic permission modes
2013-12-09 04:32:36 +00:00
Steve Smith
5b81f88c8f
Cast the retrieved retries
var to an int before incrementing as it may be in string form.
...
For example, the following method of calculating the value will result in a type error:
appstatus_waitfor: 4 # Minutes
appstatus_delay: 5 # seconds
appstatus_retries: "{{ mins * 60 / delay }}"
2013-12-07 10:35:14 +01:00
Wanderlei Antonio Cavassin
6ba93817a9
Avoid UnicodeDecodeError exception when passing module args
2013-12-06 12:59:43 -02:00
James Tanner
bf78d8cf73
Addresses #5090 setup module was using path.is_file instead of path.isfile
2013-12-05 11:36:54 -05:00
cavassin
10f5af82f9
Prevent UnicodeEncodeError
...
Prevents UnicodeEncodeError: 'ascii' codec can't encode character, while printing shell commands output
2013-12-05 13:17:57 -02:00
jctanner
7aa35d64c2
Merge pull request #5091 from EspadaV8/5089_assemble_fix
...
#5089 hack-fix assemble module
2013-12-04 10:13:16 -08:00
Paul Bonser
58acd8cce1
If there is no tmp_src, don't modify the args
2013-12-03 18:59:50 -06:00
Paul Bonser
4afcd50487
properly convert arg into boolean
2013-12-03 18:46:37 -06:00
Michael DeHaan
801ca96a8b
Merge pull request #5152 from sivel/too-many-ps
...
The word skipped only has 2 p's not 3
2013-12-03 16:21:11 -08:00
Matt Martz
5f0f3566a6
Skipped only has 2 p's not 3
2013-12-03 15:42:34 -06:00
Matt Martz
8873c3675b
Ensure we are looking for the right import to determine if the module_style is new. Fixes #5148
2013-12-03 15:36:33 -06:00
jctanner
2670529671
Merge pull request #5090 from dragon3/hostname_support_amazon_linux
...
hostname module: add support for Amazon Linux
2013-12-03 12:34:55 -08:00
James Tanner
d227614529
Fixes #5109 synchronize module ssh port
...
Added a parameter for dest_port and also check ansible_ssh_port inventory variable.
2013-12-03 14:48:20 -05:00
Paul Bonser
5626efba7e
Optionally unarchive a file already on the remote machine
2013-12-02 19:51:10 -06:00
jctanner
93159cb9cd
Merge pull request #4996 from sivel/rax-module-utils
...
Implement ansible.module_utils.rax
2013-12-02 11:55:59 -08:00
Janez Nemanic
8752ae6909
Fix for issue #4730 - stacktrace when deferenencing a non-existent group
2013-12-02 18:25:43 +01:00
Will Thames
76aca4d547
Make first argument to syslog.openlog be a string
...
syslog.openlog expects its first argument to be a string.
Without this change running under ipython fails.
2013-12-02 19:11:27 +10:00
James Cammarata
9101c2af98
Fix traceback in template error detection code
...
Fixes #5081
2013-11-29 08:47:54 -06:00
Andrew Smith
eed32ea70c
dest_contents isn’t always defined, so don’t pass it around
...
I think this is also a bit of a hack since it should probably be set
before being used, I’m just not sure what it should be set to.
2013-11-28 10:59:51 +10:00
Andrew Smith
e2d03173d2
The file module doesn’t have it’s module_args reset
...
I believe that this should be reset in the same way that the copy module
does
2013-11-28 10:58:14 +10:00
Andrew Smith
7b01c83159
Passing in complex_args throws ‘unsupported parameter for module’ errors
...
When using assemble only params (e.g. remote_src) the copy (and I’m
guessing file) modules throw an error that the param isn’t supported.
Simply removing the complex_args param fixes it for me, but I’m not sure
that’s the correct thing to do
2013-11-28 10:55:35 +10:00
Andrew Smith
da44a7f0cb
I think that resultant is meant to be the contents of the combined file
...
It is used for the transfer and as a diff param but isn’t actually
defined anywhere before it’s used. This seemed like the least bad place
to set it.
2013-11-28 10:53:00 +10:00
Andrew Smith
4503413baa
ReturnData is used throughout but not actually imported
2013-11-28 10:51:04 +10:00
dragon3
d39e6fda92
hostname module: add support for Amazon Linux
2013-11-28 09:31:25 +09:00
Andrew Smith
7d007cac16
Correct the invocation of ‘_assemble_from_fragments’
2013-11-28 09:44:14 +10:00
jctanner
920bc6e75b
Merge pull request #5086 from j2sol/fix-accelerate_inventory
...
Avoid a traceback when using accelerate
2013-11-27 14:46:12 -08:00
James Tanner
b6879ca2bd
Fixes #5030 compare connection user and sudo user and disable sudo if identical
2013-11-27 17:01:53 -05:00
Jesse Keating
5522d489e3
Avoid a traceback when using accelerate
...
This bit of code is attempting to access accelerate_inventory_host,
which may not have been set/created. This will cause a traceback.
Instead use getattr with a fallback to False.
2013-11-27 13:58:11 -08:00
James Tanner
12ed39ef7b
Fixes #5056 Append new hosts to the groups cache
2013-11-27 13:04:31 -05:00
James Cammarata
1f80aa768a
Fix bug in error detection code, where a zero-length string was causing a traceback
...
Fixes #5064
2013-11-27 11:57:15 -06:00
Brian Coca
65885feeeb
fixed typo for assemble function
2013-11-26 08:30:28 -05:00
James Tanner
b8146e3bc7
Fixes #4979 Check for the correct context when inside the inventory_hostnames plugin
2013-11-25 10:57:10 -05:00
James Tanner
903c4cae7b
Fixes #5031 Template the delay value and cast to float for loops
2013-11-25 10:13:55 -05:00
Serge van Ginderachter
2f9470ec1d
synchronize: allow ansible_ssh_host to be templated
...
This is already enabled in the runner also.
2013-11-25 15:33:04 +01:00
Antonio Zanardo
8dbd91b5ad
fix typo in deprecation warning
2013-11-23 19:15:51 -02:00
James Tanner
bca2634d54
Fix missing eval for string search in ssh controlpersist
2013-11-22 12:22:53 -05:00
James Tanner
a16fe923ed
Addresses #5011 check for proper string in smartos ssh error output
2013-11-22 12:13:24 -05:00
jctanner
5c84d7e445
Merge pull request #5002 from ovcharenko/devel
...
Allow to specify ansible_ssh_private_key_file location related to user home directory
2013-11-22 06:39:07 -08:00
James Tanner
512ebdb971
Revert "Merge pull request #5001 from ovcharenko/devel"
...
This reverts commit d6c3103a00
, reversing
changes made to b11f96eaa4
.
2013-11-22 00:09:37 -05:00
Aleksey Ovcharenko
9af44b1b42
Update to 4 space indent
2013-11-22 04:20:14 +02:00
Aleksey Ovcharenko
30678e04ac
Make tests happy
2013-11-22 04:06:10 +02:00
Aleksey Ovcharenko
2222f6df58
Allow to specify ansible_ssh_private_key_file location related to user home directory
2013-11-22 01:47:03 +02:00
Matt Martz
3f2cbb7583
Add ansible.module_utils.rax
2013-11-21 15:46:25 -06:00
James Tanner
9b991b9154
Version bump for 1.5
2013-11-21 16:33:23 -05:00
Jan-Piet Mens
252a51be91
New lookup plugin csvreader
2013-11-21 09:39:52 +01:00
James Tanner
b815a09529
Fix pep8 error in password lookup
2013-11-19 16:36:18 -05:00
James Tanner
e81c976636
Fix pep8 errors in unarchive module
2013-11-19 16:35:06 -05:00
jctanner
68afd9da9f
Merge pull request #4866 from sergevanginderachter/known_hosts_sudo
...
Check real user's known_hosts when sudo ansible...
2013-11-19 12:13:24 -08:00
Brian Coca
34c33f7ea1
now correctly spell symmetric
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-11-19 14:48:11 -05:00
Brian Coca
460bbfaec1
added union filter
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-11-19 14:40:55 -05:00
Brian Coca
afe30a6633
added difference and symetric difference filters
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-11-19 00:06:38 -05:00
Michael DeHaan
fc909b453f
Make the legacy template detection system not hit a false positive when
...
replacing a \$ with $.
2013-11-18 17:51:57 -05:00
jctanner
93223510af
Merge pull request #4936 from stoned/group-get_hosts-perf2
...
Improve Group.get_hosts() performance.
2013-11-18 14:13:08 -08:00
Matt Haggard
389602b8dd
Merge pull request #4920 from iffy/ansible
...
Collect all stdout over ssh transport before returning data
2013-11-18 15:09:21 -05:00
Michael DeHaan
f18acee779
Merge pull request #4937 from skyl/synchronize-keyerror
...
KeyError: 'delegate_to' lookup in sync module needs to be checked to see if defined for ad hoc
2013-11-18 11:40:27 -08:00
James Tanner
e8b54dd073
Fixes #4852 properly evaluate log_path writability
2013-11-18 10:40:49 -05:00
Skylar Saveland
7bc64581d7
KeyError: 'delegate_to' no more
2013-11-17 21:26:17 -08:00
Stoned Elipot
b00bf02129
Improve Group.get_hosts() performance.
...
- reduce hosts group list to unique elements faster
- add a cache of already computed hosts group list
2013-11-18 03:48:55 +01:00
jctanner
009fdbf96a
Merge pull request #4896 from mjschultz/aws-access-keys
...
Check for AWS keys using boto names
2013-11-14 12:59:07 -08:00
jctanner
04847191b4
Merge pull request #4879 from bcoca/unique_intersect
...
added unique and intersect filters for dealing with lists
2013-11-14 12:46:50 -08:00
jctanner
0f0a89b34e
Merge pull request #4758 from alanfairless/group-host-var-dirs
...
Support organizing group and host variables across multiple files in a directory
2013-11-14 11:57:11 -08:00
jctanner
77affdefbc
Merge pull request #4585 from mscherer/connec_func
...
connection plugin to reuse the func/certmaster interface instead of ssh
2013-11-14 08:15:17 -08:00
jctanner
be67a6f815
Merge pull request #4625 from pileofrogs/devel
...
unarchive module & action plugin
2013-11-14 07:57:57 -08:00
jctanner
e4494be8c6
Merge pull request #4803 from dragon3/devel
...
Don't fail if ec2_access_key/ec2_secret_key not specified to use IAM rol...
2013-11-14 05:55:48 -08:00
Michael J. Schultz
5f9485499c
Check for AWS keys using boto names
...
- see https://github.com/boto/boto#getting-started-with-boto
2013-11-13 16:01:39 -06:00
James Tanner
33242cacf3
Merge pull request #4375 from pfalcon/ansible
...
copy: Implement recursive copying if src is a directory.
2013-11-13 15:52:40 -05:00
jctanner
9a7765daf7
Merge pull request #4351 from 2m/leading-range-fix
...
Allow leading ranges in the inventory host entries.
2013-11-13 10:48:57 -08:00
jctanner
6dd81f25d9
Merge pull request #4856 from akuznecov/devel
...
Resolves #4855 issue with synchronize module failing on multiple items
2013-11-12 15:37:26 -08:00
James Tanner
f31cb7c6e8
Merge pull request #4664 from jpmens/ansible
...
Lookup plugin for etcd
with support for configurable etcd URL in ansible.cfg (and environment)
2013-11-12 15:29:05 -05:00
James Tanner
dc41bb8085
Merge pull request #4207 from ashorin/ansible
...
Fail playbook when serial is set and hadlers fail on set.
2013-11-12 14:37:07 -05:00
jctanner
2cf335969f
Merge pull request #4738 from bcoca/assemble_action_plugin
...
assemble can now use src from master/origin
2013-11-12 08:23:39 -08:00
Brian Coca
efd87534eb
added unique and intersect filters for dealing with lists
...
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2013-11-12 10:34:57 -05:00
James Tanner
6e49ee6cfc
Remove commented code block
2013-11-11 14:44:13 -05:00
James Tanner
288c33e286
Merge pull request #4078 from mkaluza/ansible
...
add 'chars' parameter to password plugin to allow custom character set
2013-11-11 14:30:49 -05:00
jctanner
0c29807ba3
Merge pull request #3993 from stoned/inventory-script-all-group-fix
...
Avoid duplicates of the 'all' group when using inventory script.
2013-11-11 10:42:00 -08:00
Marcus Cobden
8d98a55df1
Fix setup.py to work with 'pip install -e .'
2013-11-11 14:00:38 +00:00
Serge van Ginderachter
80fd22dce6
Check real user's known_hosts when sudo ansible...
...
closes #4834
2013-11-09 13:29:39 +01:00
James Tanner
74e7eba528
Fixes #4506 test length of context before checking invalid indexes
2013-11-08 13:17:02 -05:00
Alexander Kuznecov
9d2f9bf93c
resolves #4855
2013-11-09 00:14:55 +07:00
jctanner
8e8c8efc8f
Merge pull request #4769 from alanfairless/more-password-entropy-revised
...
Revised patch for more password entropy
2013-11-07 13:39:05 -08:00
jctanner
f51b8ffde9
Merge pull request #4836 from dekked/devel
...
Bug fix: support running handlers parametrized by name
2013-11-07 13:18:33 -08:00
James Tanner
898de833b0
Merge pull request #4413 from jerm/ansible
...
Add capability to pass in a PATH prefix to run_command and allow pip module
to utilize that to make virtualenv bin/ available in pip installs
2013-11-07 15:51:27 -05:00
Alan Descoins
bb6f02d0e8
Support running handler parametrized by name.
2013-11-07 16:54:06 -02:00
jctanner
8d9b53b445
Merge pull request #4733 from sivel/4323-sudo-pass
...
Add ansible_sudo_pass hostvar support. Fixes #4323
2013-11-05 15:01:19 -08:00
James Tanner
d93780bc8a
Addresses #4635 add list instead of join
2013-11-05 14:44:27 -05:00
James Tanner
2b5005687a
Fixes #4635 pass role conditionals to dependent roles
2013-11-05 14:38:21 -05:00
James Tanner
91aa7b51df
Remove invalid ipv6 parameter from setup execution
2013-11-04 17:23:32 -05:00
James Tanner
c1ed47933b
Fixes #4485 add an ipv6 parameter to accelerate so that the daemon will bind to an ipv6 port instead of ipv4
2013-11-04 17:20:03 -05:00
dragon3
ff5bd7fe06
Don't fail if ec2_access_key/ec2_secret_key not specified to use IAM role.
2013-11-04 23:41:44 +09:00
willthames
76c810afe3
AWS_ACCESS_KEY misspelt in shared EC2 connection library
2013-11-04 15:24:53 +10:00
Michael DeHaan
eab6737209
Clarify a warning message.
2013-11-03 12:47:07 -05:00
Michael DeHaan
70c9028e1e
include_vars plugin should look in vars/ path for a role.
2013-11-02 09:34:44 -04:00
Michael DeHaan
99687749a3
Merge pull request #4775 from steverweber/fix-4640
...
dont sudo if sudo_user is the same as the connection user
2013-11-01 15:27:55 -07:00
Steve Weber
5bd52796ec
dont sudo if sudo_user is the same as the active user
2013-11-01 14:19:33 -04:00
James Tanner
afa5988391
Fixes #4540 Use shared module snippet to evaluate ec2 credentials
2013-11-01 11:59:24 -04:00
Alan Fairless
0824f004d9
Revised patch for more password entropy
2013-11-01 09:51:35 -05:00
James Tanner
dc4d589ce0
Fixes #4767 detect hard links and set state in add_file_info
2013-11-01 09:41:22 -04:00
Michael DeHaan
b1b5280075
Reapply pep8 changes from previous revert.
2013-10-31 19:47:44 -04:00
Michael DeHaan
51fbc6d20a
Further simplify the debug: var=foo action plugin code.
2013-10-31 19:39:32 -04:00
Michael DeHaan
bbf212a268
Simplify the way the debug: var=varname plugin works.
2013-10-31 19:35:50 -04:00
Michael DeHaan
7f125567cb
Some simplification of include_vars and renamed include_files to include_vars.
2013-10-31 19:24:35 -04:00
Michael DeHaan
b69ab89eb1
Merge branch 'include_files' of git://github.com/bennojoy/ansible into devel
2013-10-31 19:14:27 -04:00
Michael DeHaan
465f3b1c91
This allows type=dict in a module to allow passing in a real dict or JSON.
2013-10-31 18:46:13 -04:00
Michael DeHaan
8b2cd6413b
When inside an apt or yum task account for multiple conditionals. Fixes 4745.
2013-10-31 17:19:58 -04:00
Michael DeHaan
d34a26e307
Undo an inadvertant revert from template changes so we still allow pythonic imports in module land.
2013-10-31 16:53:05 -04:00
Alan Fairless
65e5331079
Allow organizing host/group vars in a directory
...
So instead of having:
group_vars/production.yml
A user could chose to reorganize to:
group_vars/production/staff.yml
group_vars/production/networks.yml
group_vars/production/dns.yml
(Backwards compatible.)
2013-10-31 12:22:46 -05:00
Alan Fairless
babde9a84c
refactor to catch edge cases, remove repeated code
...
- Move all the supported YAML file extensions into a constant
- Use helper functions to avoid duplicate code for group/host vars
- Catch and disallow some confusing situations, such as the presence of
multiple group/host vars files for the same group/host, but with
different extensions. For example having both group_vars/all.yml and
group_vars/all.yaml.
- Catch and report file system permission issues, symlink errors,
unexpected file system objects
- Trivial performance improvement from making fewer stat system calls
- Restructuring that makes it easy for a following patch to support
directory recursion
2013-10-31 12:18:17 -05:00
Brian Coca
ac40d15120
now assemble module is also action plugin and can use local source for
...
files
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-10-30 21:40:42 -04:00
Michael DeHaan
7b331ef6ed
Fix code typo. I'll blame jet lag for now :)
2013-10-30 21:28:47 -04:00
Michael DeHaan
90cce35919
This allows variable references in playbooks in a different way.
2013-10-30 21:26:16 -04:00
Michael DeHaan
b5c9d5a59b
Inventory directory should always be absolute. Fixes #4535 .
2013-10-30 20:48:53 -04:00
Michael DeHaan
7201a6ffad
Evaluate the conditional for each item for modules that normally try to group with_items results
...
like yum and apt.
2013-10-30 20:35:33 -04:00
James Tanner
078aaa95a2
Revert 1f6edf7d76
and re-enable passing lists to yum and apt
2013-10-30 20:17:17 -04:00
Matt Martz
ea2ec6237a
Add ansible_sudo_pass hostvar support
2013-10-30 13:18:35 -05:00
James Tanner
d154bf8781
Revert templating enhancements from 73dbab70
e6c28658
d409352c
9858b1f2
4587528b
9b1fe455
214b0b05
8d3db803
7f9504d1
5031104c
35cb9dc2
2bd8cb57
1e85c754
2013-10-30 10:50:16 -04:00
James Tanner
0faecdf7d1
Fixes #4653 Set dest on results for copy module even if using file module
2013-10-28 22:50:55 -04:00
James Tanner
9249cf578d
Fixes #4572 Run until loop if until is set, ignoring result failures
2013-10-28 12:56:46 -04:00
Michael DeHaan
73dbab702f
Don't run lookup plugins while trying to simplify the input datastructure.
2013-10-28 09:08:53 -04:00
Michael DeHaan
6d0da41a55
No need to template modules with Jinja2 as this can confuse some docstring comments.
2013-10-28 08:18:24 -04:00
bennojoy
b53e7353f9
include files
2013-10-28 17:40:09 +05:30
Michael DeHaan
603db60828
Merge pull request #4288 from sivel/3725-regex
...
Add regex (search, match, regex) jinja2 filters. Fixes #3725
2013-10-27 08:48:12 -07:00
Michael DeHaan
4587528b99
Fix typo in comment.
2013-10-26 19:32:07 -04:00
Michael DeHaan
d409352c85
Remove some interior imports in the code. Not really needed but nice to have them gone.
2013-10-26 19:26:43 -04:00
Michael DeHaan
e6c28658b4
Add in some code to pre-template datastructures prior to template usage. This prevents a certain class of error
...
where filter evaluations can happen too early due to the template engine recursion being a bit limited.
Addresses #4662
2013-10-26 19:11:13 -04:00
Michael DeHaan
f05a3a81f9
Add missing file.
2013-10-26 11:39:22 -04:00
Michael DeHaan
54c902f102
Identation + misc PEP8 fixes.
2013-10-26 11:18:11 -04:00
Michael DeHaan
bbb359870e
Add package file.
2013-10-26 11:10:54 -04:00
Michael DeHaan
9858b1f2f3
Enable imports to work on a snippet based system, allowing for instance a library of common EC2 functions
...
to be reused between modules. See library/system/service and library/system/ping for initial examples. Can
work the old way to just import 'basic', or can import the new way to import multiple pieces of code from
module_utils/.
2013-10-26 11:09:30 -04:00
jctanner
43f48a2e02
Merge pull request #4167 from tima/rsync3
...
synchronization module take 3
2013-10-25 14:43:08 -07:00
James Tanner
40886c42b5
Fixes #4561 Compare task name without role prefix for start-at-task
2013-10-25 16:09:43 -04:00
James Tanner
1f6edf7d76
Fixes #4665 and #4666 If task is conditional do not flatten items list for packaging modules
2013-10-25 13:46:41 -04:00
James Tanner
9b1fe455c6
Fixes #4549 Do not call lookup plugins when templating a task's name
2013-10-25 10:27:38 -04:00
Serge van Ginderachter
6277e770a1
include basedir as 'playbook_dir' variable
...
closes #4246
2013-10-25 07:53:52 +02:00
Jan-Piet Mens
bd5cd8e652
Lookup plugin for etcd
...
with support for configurable etcd URL in ansible.cfg (and environment)
2013-10-24 21:28:48 +02:00
James Tanner
b803aac6ec
Fixes #4500 change ec2 module params to type=bool
...
Revert 4833c2fdf0
2013-10-24 09:19:25 -04:00
James Cammarata
b9dd514713
Minor fix for putting 0-length files over accelerated connections
...
Fixes #4652
2013-10-23 13:09:25 -07:00
James Tanner
4833c2fdf0
Fixes #4500 python bools return uppercase True and False, so allow those for BOOLEANS in module common
2013-10-23 15:54:36 -04:00
James Tanner
214b0b052c
Fixes #4608 add lookup to template globals to make plugins work again
2013-10-22 12:00:54 -04:00
Dylan Martin
2c28e1daea
unarchive module & action_plugin added
2013-10-21 15:22:42 -05:00
James Tanner
4f13967386
Fixes #4536 Get the remote_user from multiple sources in a preferred order
2013-10-21 12:07:51 -04:00
Timothy Appnel
cbae9c913e
synchronize module src and dest handles template markers.
2013-10-19 22:39:25 -04:00
Michael DeHaan
60944b81f0
Provide warning about "with_items: '{{ loop }}'" being redundant only when {{ starts the expression value. Fixes #4582 .
2013-10-19 14:24:12 -04:00
Michael DeHaan
2bd8cb5790
Make the deprecation detector in templates more accurate. Fixes #4514 .
2013-10-19 14:14:16 -04:00
Michael DeHaan
4125b05bf3
Allow a defaults file to solely define a role. Some typo fixes.
2013-10-19 14:01:20 -04:00
Michael DeHaan
64bbeb9d24
Suggest fixing unbalanced quotes in a bit less cases. Fixes #4501
2013-10-19 13:57:28 -04:00
Michael DeHaan
7f9504d14d
Fix a typo.
2013-10-19 13:52:48 -04:00
Michael DeHaan
8d3db80370
Some misc cleanup and removal of unused imports.
2013-10-19 13:50:14 -04:00
Michael DeHaan
21d4400c96
Misc pep8 fixes
2013-10-19 13:03:15 -04:00
Michael DeHaan
c933a4c59a
Fix indentation depth.
2013-10-19 13:03:14 -04:00
Michael DeHaan
5031104c3a
Finishing touches on template cleanup.
2013-10-19 11:40:48 -04:00
Michael DeHaan
1e85c7544b
Further WIP on template cleanup.
2013-10-19 11:39:52 -04:00
Michael DeHaan
35cb9dc22f
Work in progress about cleaning up template code.
2013-10-19 11:39:52 -04:00
Michael Scherer
af796d6556
connection plugin to reuse the func/certmaster interface instead of ssh
...
This plugin permit to use func to run playbook and ansible command instead
of ssh. It can be used for a smooth transition from func/taboot to ansible by
letting people use ansible without having to change their network architecture.
2013-10-19 00:32:59 +02:00
Brian Coca
c476ed93ca
now correctly changes script permission in all cases
...
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2013-10-18 16:52:15 -04:00
James Tanner
8478e82647
Fixes #4583 enforce that vars_files is a list
2013-10-18 11:19:16 -04:00
Michael DeHaan
b0f6e77f66
Merge pull request #4571 from tgerla/whitespace
...
add_group module: strip trailing/leading whitespace from comma-separated group names
2013-10-17 16:09:09 -07:00
Tim Gerla
51a1709253
add_group module: strip trailing/leading whitespace from comma-separated group names
2013-10-17 14:13:55 -07:00
James Tanner
242f20c297
Fixes #4402 wrong order for isinstance parameters in dnstxt.py
2013-10-17 15:43:39 -04:00
Martynas Mickevicius
7ecb5fbc9c
Handle comment on inventory group line.
2013-10-17 13:16:35 +03:00
Martynas Mickevicius
44279ce34f
Allow leading ranges in the inventory host entries.
2013-10-17 13:16:35 +03:00
jctanner
6480945184
Merge pull request #4541 from Kami/improve_template_render_error_messages
...
Make errors which get thrown during template rendering more user-friendly
2013-10-16 17:52:07 -07:00
Stoned Elipot
4430d0f5a6
when searching for a plugin only look for a regular file
2013-10-16 21:23:37 +02:00
Tomaz Muraus
922f61899e
Throw a more user-friendly exception during template rendering process.
2013-10-16 16:48:17 +02:00
Gabe Mulley
84a57b7545
ensure non-root users can read arguments file when using sudo_user
...
Non-standard modules must read in the arguments file in order to access their arguments, however, when this file is transfered to the remote host it may only have the permissions 600. This means that using sudo and sudo_user will result in permission denied errors when attempting to read the arguments file.
This patch fixes #4438 by explicitly forcing the arguments file to be world readable before executing the module.
2013-10-16 08:18:11 -04:00
Brian Coca
bd9acedb57
fixed name colision between warnings dict and module
...
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2013-10-15 14:58:15 -04:00
Paul Sokolovsky
2e668f14f7
copy: Handle "no copy/propagate attrs only" for recursive mode well.
...
For this, add internal "original_basename" param to file module,
similar to copy module. (Param name is a bit misnormer now, should
be treated as "original basepath").
2013-10-15 18:40:40 +03:00
Paul Sokolovsky
ce88df3cf4
copy: Handle dest path variations for recursive mode.
2013-10-15 18:40:39 +03:00
Paul Sokolovsky
6cf3975e2e
copy: Set suitable default result for check mode.
2013-10-15 18:40:39 +03:00
Paul Sokolovsky
612b446856
copy: Don't modify input module_args in a recursive file handling loop.
2013-10-15 18:40:39 +03:00
Paul Sokolovsky
b3b4f9885f
copy: Implement recursive copying if src is a directory.
...
If src param to copy is a directory, all files under it are collected
and pushed one by one to target. Source dir path handled in a way
simalar to rsync: if it ends with slash, only inside contents of
directory are copied to destination, otherwise the dir itself is
copied (with all contents of course). Original idea and implementation
by https://github.com/ansible/ansible/pull/1809 . Rewritten to address
review comments and simplify/correct logic.
2013-10-15 18:40:39 +03:00
jctanner
69fa5954fd
Merge pull request #3932 from jocelynj/devel
...
Add option remote_user to task level, to specify the ssh login user
2013-10-15 06:34:57 -07:00
Michael DeHaan
e131de4de0
Added "debug: var=variableName" capability.
2013-10-14 21:01:38 -04:00
egghead
ca7e2d283c
Adding os realpath filter.
...
This is particularly useful when wanting to get the absolute path of filepaths found by the 'fileglob' filter.
This also lets you provide absolute paths to roles, which search for files in different areas unless absolutely pathed.
2013-10-14 23:41:16 +00:00
Michael DeHaan
c90a82fd52
Handle possible scenario where conditional might be an integer (whoa!) down the error path. Super rare but fixes #4483 .
2013-10-13 09:19:41 -04:00
Michael DeHaan
9ea54fcaaf
Fixes a dev branch glitch where a conditional could be applied to multiple tasks. Also improves the errors on parsing bad conditionals to make them less confusing to users.
2013-10-12 17:39:28 -04:00
Thomas Omans
632232259a
Adding config flag role_path for common/global roles
...
Using ANSIBLE_ROLE_PATH environment variable or role_path in ansible.cfg
can configure paths where roles will be searched for
extra paths will only be used as a backup once regular locations are exhausted
2013-10-12 10:15:30 -04:00
Michael DeHaan
43df00550d
Merge pull request #3827 from mscherer/disable_callbacks
...
add a way for callback to disable itself
2013-10-12 07:03:06 -07:00
Michael DeHaan
1b2d4c328c
Cache patterns a bit higher up to make things a little more efficient. See #4469 .
2013-10-11 22:24:37 -04:00
Michael DeHaan
d168c709d5
Fix an issue where the ordering of an include statement is processed ahead of the conditional in the included statement,
...
which required a redundant check to see if a variable was defined rather than short circuiting.
Fixes #4469
2013-10-11 20:43:58 -04:00
Michael DeHaan
add45d2ca9
Fixup legacy var detector.
2013-10-11 19:16:36 -04:00
Michael DeHaan
709ffda3d1
Tweak only_if deprecation detector.
2013-10-11 19:12:25 -04:00
Michael DeHaan
a45494a896
Add warnings feature.
2013-10-11 19:04:26 -04:00
Michael DeHaan
9637f620d7
Deprecation warnings of several flavors, nice and purple and can be disabled
...
in ansible.cfg.
2013-10-11 18:37:39 -04:00
Michael DeHaan
a017a69bb3
Have the parser explain another type of YAML gotcha to reduce the need for users to ask how to resolve it.
2013-10-11 17:34:26 -04:00
Michael DeHaan
861f076df5
Tweak the syntax-detector-warning-suggester-message (SDWSM) a little.
2013-10-11 17:34:26 -04:00
Michael DeHaan
41aaad69aa
Make add_host clear the inventory pattern cache, add some more aliases. Fixes #4442 .
2013-10-11 16:37:10 -04:00
jctanner
65ef6a62dc
Merge pull request #4425 from jeromew/ansible_sudo_user_with_items
...
Template sudo_user via with_items
2013-10-11 10:18:46 -07:00
James Cammarata
d73a5da9e5
Merge pull request #4453 from pschwartz/fix_cfg_load_order_to_match_docs
...
GH-4452 Corrected config load order to match docs
2013-10-11 07:25:05 -07:00
Philip Schwartz
65c8c691f7
GH-4452 Corrected config load order to match docs with
...
cwd > ~ > /etc
Signed-off-by: Philip Schwartz <philip.schwartz@rackspace.com>
2013-10-11 08:33:54 -05:00
Matt Martz
61525a97df
Add regex (search, match, regex) jinja2 filters. Fixes #3725
2013-10-11 08:03:04 -05:00
Serge van Ginderachter
c4d20094b4
make changed filter understand results lists
2013-10-10 22:08:38 +02:00
Serge van Ginderachter
e5d45311f9
Implement a |changed filter plugin
2013-10-10 21:34:37 +02:00
Serge van Ginderachter
c2e5f783da
Add caching to pattern enumeration
...
Inventory._hosts_in_unenumerated_pattern()
Was TODO: cache this logic so if called a second time the result is not
recalculated
2013-10-10 15:41:48 +02:00
jeromew
dec364ae80
Template sudo_user via with_items
2013-10-10 09:22:26 +00:00
Michael DeHaan
3f968ff46a
Check one more skipped scenario in with_subelements.
2013-10-09 17:14:42 -04:00
James Cammarata
9124ebb4f1
Clear out complex_args before running async_status
...
When using complex args with an async task, the subsequent runs of
async_status would inherit them, causing a module error (invalid params).
Fixes #3150
2013-10-09 15:08:47 -05:00
Michael DeHaan
2078518735
Allow subelements to work right with skipped results.
2013-10-09 15:55:47 -04:00
Jeremy Price
9da5043f18
Adding path_prefix to run_command so that one can pass in a path to the run environment if you nees something in a non-default path.
2013-10-09 12:50:29 -04:00
James Cammarata
948d019fef
Detect IPv6 addresses in INI inventory
...
Prevents parts of the IPv6 address from being interpreted as a port
(for example, :80).
Fixes #3888
2013-10-09 11:11:09 -05:00
Michael DeHaan
6febc97104
Add a warning about include + with_items so nobody uses it.
2013-10-08 18:12:18 -04:00
James Cammarata
98f6bc1f63
Apply tags to dependent roles correctly
...
Fixes #4339
2013-10-08 15:13:02 -05:00
Michael DeHaan
c69e19c6a6
Enhance references to logging functionality. Fixes #3431 .
2013-10-08 08:26:40 -04:00
Michael DeHaan
f081c68a65
Prevent duplicately loaded handlers from running more than once.
...
Fixes #3863
2013-10-07 17:15:19 -04:00
Michael DeHaan
5ed28efe45
Script module should return changed attribute so handlers always fire, unless "changed_when" is specified.
...
Fixes #4053
2013-10-07 17:06:25 -04:00
Michael DeHaan
a7adc8ef4d
Allow doing things like "groups.groupname" in with_nested.
...
Fixes #3858
2013-10-07 16:58:29 -04:00
Michael DeHaan
5e30cd999c
Make it possible to say:
...
tags: 42
And have the tag be a string, not an int, so --tags matches.
Fixes #4110
2013-10-07 15:19:30 -04:00
Michael DeHaan
8fc46a3a5a
Return inventory objects in the order they are presented. Additionally, fix host slicing such that it works on Python terms with
...
zero indexed lists and a non-inclusive final element.
2013-10-07 15:06:15 -04:00
Michael DeHaan
19386c43a7
Merge
2013-10-07 10:02:21 -04:00
James Cammarata
d10582225b
Merge branch 'issue_4215_fetch_expanduser' into devel
2013-10-07 08:27:52 -05:00
Andrey Shorin
35457b67f5
Pass host to runner_on_file_diff callback
2013-10-07 08:55:01 -04:00
Stoned Elipot
e7957b6d58
Fix group_by: do not group a host for which a condition is false
2013-10-07 08:44:42 -04:00
Michael DeHaan
44e391fd8b
Merge pull request #4255 from mcodd/legacy_vars_fix
...
Fix for legacy_playbook_variables (should fix issue #4254 )
2013-10-07 05:44:06 -07:00
Michael DeHaan
65178290e7
Merge branch 'devel' of git://github.com/nextus/ansible into devel
...
Conflicts:
lib/ansible/constants.py
2013-10-07 08:39:23 -04:00
Michael DeHaan
ea73151757
Add automatic advice when folks hit one of two common but minor YAML gotchas, so they can be more easily correct them on their own.
2013-10-06 10:23:44 -04:00
Michael DeHaan
4987c73bb6
Proper check for raw as module options versus raw being in the string.
2013-10-06 09:54:28 -04:00
James Tanner
52aea868df
Allow for updating host vars in add_host
2013-10-04 16:15:17 -04:00
James Cammarata
d21714a37f
Fix for network byte order issues in accelerate
2013-10-02 15:37:15 -05:00
James Cammarata
912e3a7b0b
Merge branch 'accelerate_improvements' into devel
...
Conflicts:
library/utilities/accelerate
2013-10-01 21:22:17 -05:00
James Cammarata
fa80a17aa3
Make recv_data less greedy so it doesn't eat other packets
2013-10-01 16:50:32 -05:00
James Cammarata
8923a5b0d9
Drop default config value for accelerate timeout to 30 seconds
2013-10-01 16:10:48 -05:00
James Cammarata
12f6957596
Cleaning up some vvvv log messages in accelerate
2013-10-01 15:34:58 -05:00
James Cammarata
8c17711247
Removing accelerate_timeout as a playbook option
...
This will remain in ansible.cfg only.
2013-10-01 15:33:18 -05:00
James Cammarata
d317103371
Added in an accelerate connection timeout setting
2013-10-01 15:28:59 -05:00
James Cammarata
59a5ce23d9
Adding an accelerate_timeout parameter for plays
...
This setting makes the timeout for each play configurable, rather than
hard-coding it at 300 seconds (now the default if left unspecified)
Fixes #4162
2013-10-01 15:26:50 -05:00
James Cammarata
f9c87868ac
Added keepalive packets to accelerate mode
...
Commands will now be started up in a separate task from the main
handler thread, so that it can be monitored for completeness while
sending a keepalive packet back to the controller to avoid a socket
receive timeout.
2013-10-01 15:19:21 -05:00
James Cammarata
8a3f8b757b
Make sure yaml data loaded for role is valid before using it
...
Fixes #4322
2013-10-01 10:52:39 -05:00
James Cammarata
bff47df5ff
Fix issue with ast evaluation of strings
2013-10-01 09:20:48 -05:00
James Cammarata
5b205ae8bd
Merge branch 'fixes/subprocess' of https://github.com/ferringb/ansible into ferringb-fixes/subprocess
2013-09-30 23:30:43 -05:00
James Cammarata
d89ce6ac61
Merge branch 'patch-1' of https://github.com/ustun/ansible into ustun-patch-1
2013-09-30 23:20:44 -05:00
James Cammarata
12a21d94b7
Merge branch 'allow_types_in_ini' of https://github.com/bcoca/ansible into bcoca-allow_types_in_ini
2013-09-30 22:56:07 -05:00
jctanner
32a1dd422c
Merge pull request #4269 from jphalip/issue-4256
...
In the script action: Get around a Python bug.
2013-09-30 20:24:49 -07:00
James Cammarata
7aad576f5f
Minor change to add a space around role name/task delimiter
2013-09-30 21:51:39 -05:00
James Cammarata
1cc1e7058b
Merge branch 'role_report_fix1' of https://github.com/bennojoy/ansible into bennojoy-role_report_fix1
2013-09-30 21:25:11 -05:00
James Cammarata
8ed343cc36
Merge branch 'jsmartin-hide_skipped_hosts' into devel
2013-09-30 21:07:33 -05:00
James Cammarata
6cd8aacc81
Merge branch 'hide_skipped_hosts' of https://github.com/jsmartin/ansible into jsmartin-hide_skipped_hosts
2013-09-30 20:22:53 -05:00
James Cammarata
52a42bf607
Add more verbose debugging options for accelerate
2013-09-30 14:08:07 -05:00
Michael DeHaan
ac0a7d965a
Merge pull request #4306 from sivel/3563-glob
...
Add fileglob Jinja2 filter. Fixes #3563
2013-09-30 11:17:31 -07:00
Matt Martz
535ce97067
Add fileglob Jinja2 filter. Fixes #3563
2013-09-30 12:55:13 -05:00
Brian Harring
d0ad6c581b
For defaults that are integers, enforce it for config supplied values.
...
If a user supplies a string in the config (rather than an int), the code
should fix that- or blow up immediately- rather than allowing that value to
work it's way down and break w/in the connection object; when that happens,
the actual error is opaque and requires pdb.set_trace() to run down.
2013-09-29 23:56:41 -04:00
Brian Harring
2174230315
USE subprocess.Popen API correctly.
...
When collecting stdout/stderr *and* feeding data into a Popen instance,
communicate() must be used to avoid a known deadlocking scenario
when data sizes cross PIPE_BUF (which can be as small as 512, although should
be much larger in practice on linux).
2013-09-29 23:22:09 -04:00
Ustun Ozgur
977b31249a
Update cache check in find_plugin
...
I am not familiar with the internals, but this line looked suspicious.
2013-09-29 14:03:10 +03:00
Julien Phalip
44aeea7afc
In the script action: Get around a bug in that's been fixed in Python 2.7 but not Python 2.6.
...
See: http://bugs.python.org/issue6988
Fixes #4256 .
2013-09-27 08:57:07 -07:00
James Cammarata
039d4c95d9
Merge pull request #4221 from ashorin/unicode-md5
...
Prevent UnicodeEncodeError: 'ascii' codec can't encode characters in pos...
2013-09-27 08:50:44 -07:00
Brian Coca
771435deb4
now ini vars are typed
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-09-26 18:29:17 -04:00
James Martin
d5f20e6b21
Optionally display Skipping [host] messages.
2013-09-26 10:03:23 -04:00
bennojoy
482cb72128
role report fix
2013-09-26 19:20:14 +05:30
Matt Coddington
7f7116de3b
commit 9db4f7a
made a change that also needed to include this to retain correct legacy_playbook_variables behavior
2013-09-25 23:22:09 -04:00
Preston Marshall
3ee7b177e8
Allow storing input from user in a pause prompt
2013-09-25 17:28:25 -05:00
James Cammarata
1c97831288
Merge branch 'empty_inventory' of https://github.com/spil-jasper/ansible into spil-jasper-empty_inventory
2013-09-25 15:54:05 -05:00
James Cammarata
994dfb84fc
Minor pep8 cleanup and CHANGELOG update for do-until
2013-09-25 15:51:49 -05:00
James Cammarata
202c4f5294
Merge branch 'do_until_14' of https://github.com/bennojoy/ansible into bennojoy-do_until_14
2013-09-25 15:49:14 -05:00
James Cammarata
478c400817
Minor pep8 cleanup in the new jail connection plugin
2013-09-25 14:48:30 -05:00
James Cammarata
0e0595bdb2
Merge branch 'jail' of https://github.com/mscherer/ansible into mscherer-jail
2013-09-25 14:47:24 -05:00
bennojoy
70a9a797fa
Fix for accelerate when ansible_ssh_user is specified
2013-09-25 19:24:54 +05:30
Jasper Capel
d4dec5f577
Allow creating empty inventory
...
Instantiating the Inventory class with host_list=None now results in an
empty inventory instead of an error.
2013-09-25 15:00:35 +02:00
nextus
ca96d74572
#4227 in upstream repo
2013-09-25 16:15:49 +04:00
Andrey Shorin
fd101dd2d6
Encode to utf-8 only when needed
2013-09-25 09:29:57 +04:00
Andrey Shorin
21f5bc4242
Prevent UnicodeEncodeError: 'ascii' codec can't encode characters in position ...: ordinal not in range(128)
2013-09-25 09:29:56 +04:00
bennojoy
0e749611ac
doc update and add attempts
2013-09-25 09:56:14 +05:30
bennojoy
21529de82e
dountil feature commit 2
2013-09-24 15:23:01 +05:30
bennojoy
53e48b63a9
dountil feature commit 1
2013-09-24 13:59:38 +05:30
James Cammarata
2f39d37a97
Expand destination path in the fetch action
...
Fixes #4215
2013-09-23 20:23:48 -05:00
Michael DeHaan
319a0f9523
Merge pull request #4154 from mplonka/AIX_MD5
...
using AIX 'csum' command for generating MD5 checksums
2013-09-23 08:27:12 -07:00
Michael DeHaan
7f8126a6c9
Merge pull request #4168 from nigelm/md5_filter
...
Added md5 as a jinja filter - returns hex digest of input
2013-09-23 08:21:11 -07:00
Andrey Shorin
cb4b964070
Allow for dynamic accelerate_port: and port: in plays
2013-09-23 13:33:36 +04:00
James Cammarata
1f674c4a50
Merge branch 'fix_selinux_debian' of https://github.com/mscherer/ansible into mscherer-fix_selinux_debian
2013-09-21 00:32:40 -05:00
Alek Storm
3569a2ffee
Handle AnsibleUndefinedVariable's raised from lookup plugins like jinja2 UndefinedError's
2013-09-20 19:56:12 -05:00
James Cammarata
47b9cc6311
Merge branch 'meta-roles' of https://github.com/eggsby/ansible into eggsby-meta-roles
...
Conflicts:
lib/ansible/playbook/play.py
2013-09-20 16:17:40 -05:00
James Cammarata
27e8675277
Make the role_name in the task its own field for use in the callback
2013-09-20 15:46:34 -05:00
James Cammarata
98cfcec5e2
Correct role name detection
2013-09-20 12:10:24 -05:00
James Cammarata
8dcf386def
Don't set the role name on handlers as this breaks notifications
2013-09-20 09:34:14 -05:00
James Cammarata
a5ee6ff1e5
Display parent role name of tasks in the name line
...
Fixes #4076
2013-09-19 20:44:52 -05:00
James Cammarata
c840cbaad9
Merge branch 'fork_fixes' of https://github.com/akerl/ansible into akerl-fork_fixes
2013-09-19 10:37:45 -05:00
James Cammarata
69cfcf7ed0
Minor change to -vvvv mode to only show debugging info for ssh conns
...
Also added this feature to the CHANGELOG
2013-09-19 08:12:43 -05:00
James Cammarata
d5b96abd80
Added support for -vvvv to enable ssh connection debugging
...
This patch also checks specifically for a return code of 255, which
indicates an unknown SSH error of some kind. When that happens, ansible
will now recommend running with -vvvv (if not enabled) or show the
output from 'ssh -vvv' (when it is enabled)
2013-09-19 05:58:54 -05:00
Nigel Metheringham
f0cc2d6efe
Added md5 as a jinja filter - returns hex digest of input
2013-09-19 09:38:22 +01:00
Timothy Appnel
d8cd3d603e
Straightened out the logic for delegate handling in synchronize action module
2013-09-19 03:17:44 -04:00
Timothy Appnel
61e726fe82
Fix to local delegate_to override and proper sudo handling from @smoothify
2013-09-19 03:17:44 -04:00
Timothy Appnel
32ae6fdd43
Return of sychronize module code for take 3
2013-09-19 03:17:43 -04:00
Thomas Omans
91a4ba2248
allowing a roles to do be made out of dependencies alone
2013-09-18 21:29:37 -07:00
James Cammarata
503f062521
Merge branch 'ferringb-fixes/configurable-ControlPath' into devel
2013-09-18 21:12:15 -05:00
Michael DeHaan
20708e31b1
Merge pull request #4133 from skyl/DIST_MODULE_PATH
...
DEFAULT_MODULE_PATH in setup.py
2013-09-18 18:15:18 -07:00
Marcin Płonka
d0c78bdc83
using AIX 'csum' command for generating MD5 checksums
2013-09-18 21:07:25 +02:00
Brian Harring
5b1b831cc7
Make ssh's ControlPath configurable via ansible.cfg
...
This shouldn't generally be needed unless you're working in an environment
that uses rediculously long FQDNs; if the name is too long, you wind up
hitting unix domain socket filepath limits enforced by ssh.
2013-09-18 15:07:07 -04:00
Stephen Fromm
27b5c2e28c
Fix how module_common handles selevel (issue #4142 )
...
Two fixes:
* parameter name is selevel, not serange.
* Fix split on selinux context to limit to max of 4 since the selevel
may contain ':' characters. This was fixed in
selinux_default_context() and selinux_context().
2013-09-17 14:47:00 -07:00
Skylar Saveland
50bd14faa9
use DEFAULT_MODULE_PATH in setup.py so that there is a chance to override with ANSIBLE_LIBRARY env variable
2013-09-16 19:08:22 -07:00
Les Aker
98bf473cb2
fixes for PTY handling
2013-09-16 17:44:32 -04:00
James Cammarata
458f71b53c
Merge branch 'issue_4129_role_defaults_empty_yaml' into devel
...
Conflicts:
lib/ansible/playbook/play.py
2013-09-16 16:21:06 -05:00
James Cammarata
091a90ee8b
Allow includes to follow the standard format
...
Previously, includes had to receive variables via a special 'vars'
field. With this patch, the include syntax becomes a more natural
datastructure without special fields and is more akin to the way
role includes/dependencies work.
Tested with the following playbook:
---
- hosts: localhost
connection: local
tasks:
- { include: inc1.yml, a: 1 }
- include: inc2.yml
b: 2
- include: inc3.yml
with_items:
- x
- y
- z
Fixes #3481
2013-09-16 16:12:36 -05:00
Skylar Saveland
8dc31f3093
ANSIBLE_DIST_MODULE_PATH environment variable
2013-09-16 13:43:20 -07:00
James Cammarata
c5bb1394b9
Check to make sure default_vars in the datastructure isn't empty
...
Fixes #4129
2013-09-16 13:16:06 -05:00
James Cammarata
5b15010099
Merge branch 'issue_3312_role_links' into devel
2013-09-16 09:29:25 -05:00
James Cammarata
3b801dec72
Merge branch 'failed_when' of https://github.com/hnakamur/ansible into hnakamur-failed_when
2013-09-16 07:35:34 -05:00
James Cammarata
fcc18fa105
Merge branch 'subelements' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-subelements
2013-09-16 06:14:42 -05:00
James Cammarata
aac3090909
Merge branch 'play_remote_user' of https://github.com/bcoca/ansible into bcoca-play_remote_user
2013-09-16 05:55:14 -05:00
James Cammarata
3848e02959
Merge branch 'issue4022' of https://github.com/sfromm/ansible into sfromm-issue4022
...
Conflicts:
lib/ansible/runner/connection_plugins/accelerate.py
2013-09-16 05:50:35 -05:00
James Cammarata
d9cf1dfefb
Merge branch 'fetch' of https://github.com/bpennypacker/ansible into bpennypacker-fetch
2013-09-16 05:39:48 -05:00
James Cammarata
f4b3defcbf
Set sudo in accelerate commands correctly
...
Fixes #4111
2013-09-15 20:20:22 -05:00
Michael DeHaan
5c0dd958e5
Merge pull request #4028 from willthames/lineinfile_userdir
...
Expand tilde in paths in file module
2013-09-15 09:33:49 -07:00
Michael Scherer
5e1828a524
add jail module, based on lxc and chroot connexion plugin
2013-09-15 17:26:48 +02:00
Michael DeHaan
1f0eb32846
Update 1.4 specfile -- no need for node fireball package, release dates
2013-09-13 17:31:34 -04:00
James Cammarata
35d138a0d6
When checking conditionals, don't dereference when the variable contains dashes
...
Fixes #4104
2013-09-13 13:52:58 -05:00
James Cammarata
d0236f6ada
Check for link in path in utils.path_dwim_relative()
...
This allows an included path to be relative to a directory, if the
basedir of the original path is a symlink. In that case, the path
is normalized and the file is searched for in the normalized path.
Fixes #3312
2013-09-12 20:44:10 -05:00
Marcin Kałuża
6786773797
filter out qoutes since they cause random errors
2013-09-10 15:00:29 +02:00
Marcin Kałuża
aab445a28f
add 'chars' parameter to password plugin to allow custom character set
...
It accepts comma separated list of names that are
either string module attributes (ascii_letters,digits, etc)
or are used literally
To enter comma use two commas ',,' somewhere - preferably at the end
Qoutes and double qoutes are not supported
2013-09-10 11:59:16 +02:00
Hiroaki Nakamura
2357194b39
Add failed_when module variable.
...
Implementation note: Ternery operator trick for python prior to 2.5 is used.
(test and [when_true_value] or [when_false_value])[0]
http://stackoverflow.com/questions/394809/ternary-conditional-operator-in-python#comment1466794_394887
2013-09-10 08:34:01 +09:00
Serge van Ginderachter
4f9af7efad
subelements lookup plugin
2013-09-09 23:45:55 +02:00
James Cammarata
75a9357e5e
Fixing role variable precedence for top-level roles
...
Fixes #4026
Fixes #3989
2013-09-09 15:14:03 -05:00
James Cammarata
294451d002
Correctly handle variable issues when evaluating jinja2 when statements
...
Fixes #4025
2013-09-09 14:50:21 -05:00
James Cammarata
bcc2a4b513
Minor fix so the any_errors_fatal value is checked properly
2013-09-09 10:20:41 -05:00
James Cammarata
4025695c00
Merge branch 'devel' of https://github.com/kavink/ansible into kavink-devel
2013-09-09 10:00:29 -05:00
Michael Scherer
dfb9d8c2fb
Add a plugin that permit to use ansible for lxc system, using libvirt
...
Using -c lxc and the domain name as hostname, this permit to manage a whole
range of container, provided they are managed and created by libvirtd.
2013-09-08 18:47:09 +01:00
Brian Coca
d47c48e30a
Added remote_user to plays
...
Still compatible with user: but deprecating it so we can have
a matching remote_user: in tasks, cannot be user: because of the
module of the same name. #3932
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-09-07 16:34:22 -04:00
Kavin Kankeshwar
c24f6f438b
Avoid ugly formatting due to a long if statement
2013-09-06 22:37:17 -07:00
James Cammarata
6e9fa5019f
Reverting HostVars change from a mapping back to a dictionary
2013-09-06 20:24:16 -05:00
James Laska
546788a1b6
The required package for selinux is libselinux-python
2013-09-06 16:26:48 -04:00
James Cammarata
4e9dee6093
Use StringIO to feed md5 calculation to prevent unicode issues
...
Fixes #4014
2013-09-06 09:11:47 -05:00
James Cammarata
2a47f72139
Merge pull request #4049 from mscherer/fix_no_kerberos
...
Fix no kerberos
2013-09-06 07:10:10 -07:00
Michael Scherer
f489702973
Also add back gssapi-keyex
...
While this is not currently implemented in openssh as far as I know,
there is patch floating around on the web and this may land one day
upstream.
2013-09-06 10:40:34 +02:00
Keiichi Mori
17c39b94a3
support GSSAPIAuth back
...
GSSAPIAuthentication has not been supported
due to PreferredAuthentications trick ( 2bdba17a85
)
2013-09-06 10:40:25 +02:00
James Cammarata
ae9e38daf8
Change hostvars to a mutable mapping to more closely resemble a dict
...
Fixes #4030
2013-09-05 23:04:16 -05:00
James Cammarata
2cbf28385a
Move check for accelerate mode deeper to account for ansible_connection
...
Fixes #4045
2013-09-05 20:20:25 -05:00
James Cammarata
20b0dc4abd
Check for an empty executable passed into the accelerate plugin
...
This was breaking at least the script module, so it would seem best
to check for it and set it to the default executable value
2013-09-05 15:11:26 -05:00
James Cammarata
4bf506f683
Always run the accelerate module as the user specified in the play
...
Currently, the accelerate daemon will be run as the sudo_user if
specified, which is incorrect.
2013-09-05 12:04:48 -05:00
Scott Sturdivant
68bffb1233
Don't force accelerate connection for local actions.
2013-09-05 09:37:47 -06:00
James Cammarata
f6e1bdabea
Ensure ports are set correctly in accelerate module
2013-09-05 09:52:10 -05:00
willthames
fe70ed94e3
Expand tilde in paths in file module
2013-09-05 16:28:26 +10:00
guersam
64db327411
Fix: raise correct error in accelerate mode
2013-09-05 15:10:45 +09:00
kavink
a075ec9831
Bug fix for a crash, when any_errors_fatal is true
...
Reported by Rumen:
TASK: [fail FAIL] *************************************************************
skipping: [hostname.com]
failed: [hostname.com] => {"failed": true}
msg: Failed as requested from task
Traceback (most recent call last):
File "/usr/local/bin/ansible-playbook", line 268, in <module>
sys.exit(main(sys.argv[1:]))
File "/usr/local/bin/ansible-playbook", line 208, in main
pb.run()
File "/Library/Python/2.7/site-packages/ansible/playbook/__init__.py", line 262, in run
if not self._run_play(play):
File "/Library/Python/2.7/site-packages/ansible/playbook/__init__.py", line 580, in _run_play
if (hosts_count - len(host_list)) > int((play.max_fail_pct)/100.0 * hosts_count):
TypeError: object of type 'NoneType' has no len()
2013-09-04 18:30:33 -07:00
Stephen Fromm
d704b55860
Support using paramiko to set up accelerate connection
...
Adds original_transport attribute to Runner to track what the original
transport was before it is changed to 'accelerate'.
If using paramiko in original_transport, uses ParamikoConnection. If
not, falls back to SSHConnection like before.
2013-09-04 13:57:03 -07:00
James Cammarata
fff497a1ae
Make sure the accelerated port is set to a sane value
2013-09-04 15:52:39 -05:00
James Cammarata
cc21e5c90c
Adding hostvars to injected variables in accelerate ssh runner
...
Also some minor cleanup of some fb* variables and functions, which
were remnants of the old fireball2 name
Fixes #4021
2013-09-04 15:29:46 -05:00
James Cammarata
7b13b1e03e
Minor fix to dependency dupe patch
2013-09-04 11:26:49 -05:00
James Cammarata
16258edd7a
Merge branch 'devel-duplicates2' of https://github.com/smoothify/ansible into smoothify-devel-duplicates2
2013-09-04 10:13:06 -05:00
James Cammarata
a202adcae1
Merge branch 'doublecallback' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-doublecallback
2013-09-04 09:58:06 -05:00
smoothify
5337397abd
Second Attempt: Ensure duplicate roles are not loaded in the case of a missing meta/main.yml file.
2013-09-04 15:50:39 +01:00
James Cammarata
c0fecf87d1
Increase default socket timeout to 5 minutes
2013-09-04 09:47:40 -05:00
smoothify
0411ea2867
Ensure duplicate roles are not loaded in the case of a missing meta/main.yml file.
2013-09-04 12:38:42 +01:00
James Cammarata
2e49d2003d
Fix bug where accelerate keyword was not checked for boolean value
...
The play was just checking for the presence of the keyword in the
YAML datastructure, and not the value of the field, so doing something
like variable substitution was always causing the play to be accelerated
2013-09-03 14:20:56 -05:00
James Cammarata
2696135b3b
Display error during launch of accelerated daemon
...
* also minor tweak to the # of retries in the connection attempt
Fixes #4012
2013-09-03 12:28:32 -05:00
James Cammarata
7c1c9b3d10
Fix message in utils related to python-keyczar and fireball/acc mode
2013-09-03 11:16:50 -05:00
James Cammarata
53c2f4c1bb
Fix race condition on creating the temp directory for ControlPersist
...
Fixes #3943
2013-09-03 11:00:33 -05:00
James Cammarata
d05c61d1f0
Merge branch 'devel' into fireball2
...
Conflicts:
lib/ansible/playbook/__init__.py
lib/ansible/playbook/play.py
2013-09-02 21:54:02 -05:00
James Cammarata
50f54f6bda
Making variable names more descriptive for the default variables work
2013-09-02 21:37:50 -05:00
James Cammarata
02b7b79d7e
Re-adding capability of tasks to see a unique view of their own defaults
2013-09-02 21:37:50 -05:00
Stoned Elipot
6cbd94dfae
Avoid duplicates of the 'all' group when using inventory script.
...
Do not recreate an 'all' group when it is in the inventory script's
output, but use the one created upfront.
2013-09-02 12:26:02 +02:00
James Cammarata
266d2008d8
Reverting the role default variables change
...
Loading the default variables in _build_role_dependencies() lead to
a side-effect where those variables were over-riding inventory variables.
2013-09-01 08:53:59 -05:00
James Cammarata
47a89a57fa
Fixing bug in playbook use of default variables in roles
2013-09-01 08:49:41 -05:00
James Cammarata
e0df5b5888
A couple more tweaks to role default variables/dependencies
...
* Default variables are now fed directly into roles, just like the
other variables, so that roles see their unique values rather
than those set at the global level.
* Role dependency duplicates are now determined by checking the params used
when specifying them as dependencies rather than just on the name of the
role. For example, the following would be included twice without having
to specify "allow_duplicates: true":
dependencies:
- { role: foo, x: 1 }
- { role: foo, x: 2 }
2013-09-01 00:43:16 -05:00
James Cammarata
d69d5c294f
Renaming fireball2 as 'accelerate' and removing old references
2013-08-30 13:26:27 -05:00
James Cammarata
736c8b19d3
Added ability to limit role dependencies to just one inclusion
2013-08-30 12:42:27 -05:00
James Cammarata
6f6efa268b
Merge branch 'smoothify-defaults' into devel
2013-08-30 08:40:47 -05:00
James Cammarata
25e3eed519
Fixing a bug in variable precedence for roles and dependencies
2013-08-30 01:20:45 -05:00
James Cammarata
637d3070dc
Allow default variables to be overridden by inventory variables
2013-08-29 17:21:28 -05:00
James Cammarata
9806f89a04
Revert "Construct the multiprocessing manager only once."
...
This reverts commit 1d13ec2da3
.
2013-08-29 11:00:25 -05:00
James Cammarata
7d3ae9fc75
Fixing a few bugs related to fireball2
...
* ssh port not being picked up, always uses default of 22
* forgot to 'import time' in the fireball2 connection plugin
2013-08-28 19:27:18 -05:00
James Cammarata
f66683863e
Merge branch 'defaults' of https://github.com/smoothify/ansible into smoothify-defaults
2013-08-28 16:24:37 -05:00
James Cammarata
faf82bf841
Fix bug with fetch when using sudo: true
...
Fixes #3111
2013-08-28 13:24:16 -05:00
James Cammarata
af1dd7075f
Adding chunked file transfers to fireball2
2013-08-28 11:14:58 -05:00
James Cammarata
959138d00d
Added accelerate_port to plays, and made it configurable
2013-08-28 11:14:58 -05:00
James Cammarata
167f185092
Initial support for running gather_facts through fireball2
2013-08-28 11:14:58 -05:00
James Cammarata
b45342923c
Initial support for sudoable commands over fireball2
...
Caveats:
* requiretty must be disabled in the sudoers config
* asking for a password doesn't work yet, so any sudoers users must
be configured with NOPASSWD
* if not starting the daemon as root, the user running the daemon
must have sudoers entries to allow them to run the command as the
target sudo_user
2013-08-28 11:14:58 -05:00
James Cammarata
4b552457e7
Bail out correctly if socket.recv gets nothing (indicating a closed socket)
2013-08-28 11:14:58 -05:00
James Cammarata
86f01965cd
Fireball2 module will now launch in a proper tmp path
2013-08-28 11:14:58 -05:00
James Cammarata
521e14a3ad
Fireball2 mode working!
2013-08-28 11:14:58 -05:00
James Cammarata
acc5d09351
Initial commit for the "fireball2" connection plugin
...
Still needs:
* chunked file transfer/receive
* should probably move all send/recv operations to separate
functions to reduce code duplication
* initial connection setup over ssh? or do we handle that in runner?
2013-08-28 11:14:58 -05:00
James Cammarata
fd2aabaa27
Initial work for the AES cipher class
...
This is based somewhat loosely on how Keyczar does things. Their
implementation does things in a much more generic way to allow for more
variance in how the cipher is created, but since we're only using one
key type most of our values are hard-coded. They also add a header to
their messages, which I am not doing (don't see the need for it
currently).
2013-08-28 11:14:58 -05:00
Bruce Pennypacker
cf6a76c814
changed ignore_md5_mismatch to validate_md5
2013-08-28 14:41:00 +00:00
Bruce Pennypacker
41c474d129
added optional ignore_md5_mismatch parameter
2013-08-28 14:16:57 +00:00
Michael DeHaan
cce7f485b8
Merge pull request #3946 from wincent/spelling-fix
...
Fix minor typo in playbook error message
2013-08-25 17:23:30 -07:00
Wincent Colaiuta
fc4307a9c4
Fix minor typo in playbook error message
2013-08-25 11:29:07 -07:00
James Cammarata
88966e6558
Use AnsibleError instead of exit for errors in utils
2013-08-25 11:46:45 -05:00
Jocelyn Jaubert
4cee6a5435
Add option remote_user to task level, to specify the ssh login user
2013-08-23 23:20:13 +02:00
James Cammarata
8262f7bfac
Merge branch 'with_items_and_complex_args' of https://github.com/lberruti/ansible into lberruti-with_items_and_complex_args
2013-08-22 23:01:11 -05:00
James Cammarata
e11bb0cad4
Merge branch 'plugins-work' of https://github.com/ferringb/ansible into ferringb-plugins-work
2013-08-22 14:23:25 -05:00
James Cammarata
462cd4f728
Merge branch 'pulls/fix-hostvars-inconsistancy' of https://github.com/ferringb/ansible into ferringb-pulls/fix-hostvars-inconsistancy
2013-08-22 13:56:34 -05:00
James Cammarata
e6ad3b7792
Merge pull request #3895 from mscherer/fix_option_new_ssh
...
make sure ssh do not ask password
2013-08-22 10:26:54 -07:00
James Cammarata
157b697a83
Merge branch 'always_run-6' of https://github.com/stoned/ansible into stoned-always_run-6
2013-08-22 12:10:28 -05:00
James Cammarata
af4f0bd008
Fix for "argument must be an int, or have a fileno() method" error
...
The issue was that, when forks == 1, the _executor() function was
being called with None for the value of new_stdin.
Fixes #3841 , #3902
2013-08-21 22:45:34 -05:00
James Cammarata
978af89175
Disallow running async tasks with lookup plugins
...
Fixes #2897
2013-08-21 16:44:10 -05:00
James Cammarata
ed3e4aff84
Place retry file in the user's home dir instead of /var/lib/tmp
...
Addresses CVE-2013-4260: predictable filename used for failed results
in world writable directory.
2013-08-21 11:40:46 -05:00
James Cammarata
6bf5d19506
SSH connection plugin creates ControlPersist socket files in a secure directory
...
Files were being created in /tmp, but will now be created in $HOME/.ansible/cp/
Addresses CVE-2013-4259: ansible uses a socket with predictable filename in /tmp
2013-08-21 11:40:46 -05:00
Stoned Elipot
f0743fc32a
Introduce the 'always_run' task clause.
...
The 'always_run' task clause allows one to execute a task even in
check mode.
While here implement Runner.noop_on_check() to check if a runner
really should execute its task, with respect to check mode option
and 'always_run' clause.
Also add the optional 'jinja2' argument to check_conditional() :
it allows to give this function a jinja2 expression without exposing
the 'jinja2_compare' implementation mechanism.
2013-08-20 23:09:44 +02:00
Michael Scherer
2bdba17a85
make sure ssh do not ask password
...
For some reason, ssh seems to ask for password even when
PasswordAuthentication is set to no, adding PreferredAuthentications
with the 2 options removed do the trick.
2013-08-20 22:02:37 +02:00
Kavin Kankeshwar
7ac3bbc198
resolved #3609 Change max_fail_pct to max_fail_percentage as recommended
2013-08-20 13:55:34 -05:00
Kavin Kankeshwar
3f247fcbe3
fixes ansible/ansible#3609 Add max_fail_pct to playbook parameter, to complement serial option, So if total number of failures execeed max_fail_pct * total number of hosts, do not go to the next serial batch
2013-08-20 13:55:22 -05:00
smoothify
494043947d
Add support for role defaults. These are variables on a per role basis with lowest precedence.
2013-08-20 10:11:39 +01:00
Petr Svoboda
e3adfbf5f8
Add tests for undefined variable detection
...
Tests `test_playbook_undefined_varsX_fail` check if ansible detects
undefined variables when `error_on_undefined_vars` is enabled. These
tests fail without "Improve behavior with error_on_undefined_vars
enabled" patch.
Tests `test_playbook_undefined_varsX_ignore` check if ansible ignores
undefined variables when `error_on_undefined_vars` is disabled.
Also modify PlayBook._run_task_internal() so error_on_undefined_vars is
testable.
2013-08-20 00:40:49 -05:00
Petr Svoboda
fff4f1da33
Improve behavior with error_on_undefined_vars enabled
...
Pass fail_on_undefined flag to recursive calls to `template` function,
so more undefined variables are detected.
Works only for Jinja style variables. Undefined legacy variables are
never detected.
2013-08-20 00:40:49 -05:00
Brian Harring
31061213fa
Fix inconsistency in hostvars access.
...
Previously, hostvars would only expose a keys() list of hosts that had
been seen yet- however you could explicitly access the host if you knew
the name, and get the content that way. This precludes template code
from being able to safely access information about other hosts if any
limiters/tags were in use.
Additionally, the object was inconsistent for hostvars['myhost'] access
and [x[1] for x in hostvars.items() if x[0] == 'myhost'] access; this is
due to the original derivation from the dict object. .items() would be
handled by dict.items(), using the passed in setup_cache values without
using the actual lookup content.
This patch rebases the class implementation to a py2.6 dictmixin, fixing
those issues and restoring behaviour to match what the docs claim.
2013-08-19 23:57:08 -04:00
Brian Harring
902183ac0e
Enforce alphanumeric ordering for plugins grabbed via glob.
...
If this isn't done, it's left to directory ordering which can result
in indeterminent behaviour.
2013-08-19 19:48:17 -04:00
James Cammarata
39628d012d
Minor fix to ipv6 detection for inventory with -i
...
For link-local addresses, it is sometimes necessary to append the
interface to use for the ipv6 address. This patch extends the ipv6
regex to allow for '%ifnameX' at the end.
See https://bugzilla.redhat.com/show_bug.cgi?id=136852 for more info
2013-08-19 15:27:21 -05:00
Michael Scherer
3aac187387
fix ssh connection plugin to work with ipv6 address
...
Due to various inconsistencies of ssh and sftp regarding ipv6 and
ipv4 handling, some special arguments must be passed, and the
ipv6 must be passed in a specific format.
2013-08-19 15:27:20 -05:00
Michael Scherer
c9d28e10ad
add support for using a ipv6 in -i
...
testing with a ipv6 :
ansible -u misc -i '[2002::c23e]:22,' '*' -m ping
fail due to parsing of ':' as a separator of port/ip with ipv4.
This commit add support for properly parsing 2002::c23 and the
bracket notation [2002::ce]:2222
2013-08-19 15:27:20 -05:00
Matt Saunders
9fd1b174f5
Fixed tiny bug with _meta handling in external inventory scripts
2013-08-19 18:54:30 +01:00
James Cammarata
5847720746
Fixing a small bug with the new role dependency feature
...
The block that added the original list of roles was indented too far,
and was only being reached if a role had dependencies. This resulted
in roles without dependencies from being added to the list of roles.
Credit goes to looped for reporting and diagnosing the issue.
2013-08-17 00:06:24 -05:00
Michael DeHaan
42648e2f0a
Merge branch 'role_dependencies' of git://github.com/jimi1283/ansible into jimi1283-role_dependencies
2013-08-16 21:42:57 -04:00
Michael DeHaan
dacd311474
Removing synchronize momentarily as it looks like this won't make 1.3 dates
2013-08-16 15:22:39 -04:00
James Cammarata
d8a7a2d1b2
Adding evaluation of role vars as the dep tree is built
...
This allows variables to be inserted into the role scope specifically
while also being inserted into the global scope.
2013-08-15 20:53:23 -05:00
James Cammarata
e12b99dba6
Small cleanup, no need to call _get_role_path a second time
2013-08-15 09:29:51 -05:00
James Cammarata
9a401e73a6
Adding support for role dependencies.
...
Fixes #3686
Dependencies are enabled by adding a new directory/file named
meta/main.yml to the role. The format of the dependencies are:
dependencies:
- { role: foo, x: 1, y: 2 }
- { role: bar, x: 3, y: 4 }
...
Dependencies inherit variables as they are seen at the time of the
dependency inclusion. For example, if foo(x=1, y=2) has a dependency
on bar(x=3,z=4), then bar will have variables (x=3,y=2,z=4).
Different roles can have dependencies on the same role, and this
variable inheritence allows for the reuse of generic roles quite easily.
For example:
Role 'car' has the following dependencies:
dependencies:
- { role: wheel, n: 1 }
- { role: wheel, n: 2 }
- { role: wheel, n: 3 }
- { role: wheel, n: 4 }
Role 'wheel' has the following dependencies:
dependencies:
- { role: tire }
- { role: brake }
The role 'car' is then used as follows:
- { role: car, type: honda }
And tasks/main.yml in each role simply contains the following:
- name: {{ type }} whatever {{ n }}
command: echo ''
TASK: [honda tire 1]
TASK: [honda brake 1]
TASK: [honda wheel 1]
TASK: [honda tire 2]
TASK: [honda brake 2]
TASK: [honda wheel 2]
TASK: [honda tire 3]
TASK: [honda brake 3]
TASK: [honda wheel 3]
TASK: [honda tire 4]
TASK: [honda brake 4]
TASK: [honda wheel 4]
TASK: [I'm a honda] <- (this is in roles/car/tasks/main.yml)
2013-08-15 09:29:51 -05:00
James Cammarata
ad595eadea
Enable error_on_undefined_vars by default
2013-08-15 09:28:34 -05:00
Michael Scherer
12bf9a8b69
add a way for callback to disable itself
...
The idea is that some plugin would not be called in some
specific case, and the callback should decide by itself.
Having a way to globally disable it is much cleaner than
disabling every method one by one on the plugin side.
My use case is for fedora-infrastructure that cannot be run
from git checkout since it try to connect to the message bus,
but another case would be to bootstrap infrastructure, or to
run the code on a test servers without having all the callback
infrastructure setup.
2013-08-14 22:32:28 +02:00
Luca Berruti
eee278e02b
fix
2013-08-14 13:26:14 +02:00
Luca Berruti
5048218ab5
Fix: with_items and complex_args
2013-08-14 11:49:46 +02:00
Serge van Ginderachter
173586b871
Ensure plugin_loader.all() only loads one instance
...
by ensuring all basedirs, plugin paths and extra
paths are handled as absolute paths and are checked
to not add any doubles.
This fixes the corner case where e.g. the user has
an additional plugin path configured to a dir
relative to his playbooks or inventory location,
which also matches the _plugin subdir relative to
one of the basedirs in the play.
For most plugins this doesn't show as an obvious issue
except for callback_plugins, which might fire more
than once. Other plugins (inventory and template
plugins) might unnecessarily be ran twice.
e.g. ansible.cfg has
callback_plugins = ./plays/callback_plugins
and plays/ contains a playbook file:
.
├── ansible.cfg
├── inventory
└── plays
├── callback_plugins
│ └── timestamp.py
└── site.yml
modified: lib/ansible/utils/plugins.py
2013-08-12 22:17:53 +02:00
Michael DeHaan
bc02e20503
Merge branch 'rsynctake2' into devel
...
Conflicts:
CHANGELOG.md
2013-08-11 16:22:36 -04:00
Michael DeHaan
17aa0d12de
Merge pull request #3814 from ftao/inventory_dir_abs
...
fix inventory.basedir is not absolute path when hostfile is startswith "./"
2013-08-11 08:46:08 -07:00
Abhijit Menon-Sen
1a90d01ba9
Fix some typos discovered during casual reading
2013-08-11 18:41:23 +05:30
ftao
51a180b150
fix inventory.basedir is not absolute path when hostfile is startswith "./"
2013-08-11 10:50:47 +08:00
Michael DeHaan
f8c97d6e79
Style/docs cleanup, and also improve an error message.
2013-08-10 18:58:45 -04:00
Michael DeHaan
aeb8649da5
Merge branch 'ansible-rsync-take2' of git://github.com/tima/ansible into rsynctake2
2013-08-10 18:31:45 -04:00
Michael DeHaan
4d1f447908
Merge pull request #3650 from bcoca/forking_optimizations
...
forking least possible
2013-08-10 15:29:19 -07:00
Michael DeHaan
baffa8df72
These fields are booleans.
2013-08-10 18:16:01 -04:00
Michael DeHaan
633abca916
Merge branch 'nocolor' of git://github.com/amenonsen/ansible into devel
2013-08-10 18:11:27 -04:00
Michael DeHaan
ee11d69697
Merge branch 'better_ini_errors2' of git://github.com/bcoca/ansible into devel
2013-08-10 18:01:17 -04:00
Michael Vogt
89bc43cab0
support i18n on sudo failure
2013-08-10 17:56:39 -04:00
Serge van Ginderachter
9991a530ab
fix an encoding bug in copy content = lookup plugin
...
closes #3518
2013-08-10 17:37:04 -04:00
Michael DeHaan
66b29b6813
Merge branch 'feature/gh-3789-inventory-file' of https://github.com/resmo/ansible into devel
2013-08-10 17:11:48 -04:00
Michael DeHaan
1d13ec2da3
Construct the multiprocessing manager only once.
2013-08-10 09:32:46 -04:00
René Moser
e8272e365d
implemented 'inventory_file' variable. Closes GH-3789.
2013-08-10 13:04:56 +02:00
Timothy Appnel
2288a11b6a
Implemented setup method in rsync action module.
2013-08-09 21:24:50 -04:00
Timothy Appnel
4a9635e04e
Straighten out local-remote-delegate logic in rsync action module. Force set delegate to local if one is not defined.
2013-08-09 21:24:49 -04:00
Timothy Appnel
adbca9d251
Fixed identity key logic.
2013-08-09 21:24:47 -04:00
Timothy Appnel
9f170f579a
Introduced ansible-rsync to core.
2013-08-09 21:24:46 -04:00
James Cammarata
ceff3b6ba3
Minor modification to set_fact with_items patch
...
Previous patch was reverted due to the fact that there was an issue
with the results not always being a dictionary (they're sometimes
a unicode string, ie. when the with_items is used with yum). This
minor change corrects that by checking for a dict object.
2013-08-09 07:52:14 -05:00
James Cammarata
8be2fc745b
Revert "Check for ansible_facts in results for with_ tasks"
...
This reverts commit 1a4e6e415e
.
2013-08-08 20:32:30 -05:00
Serge van Ginderachter
1a4e6e415e
Check for ansible_facts in results for with_ tasks
...
that loop over a lookup plugin. Fixes #3704 and #3735
2013-08-08 12:30:32 -05:00
Serge van Ginderachter
40e60c947d
Host specifiers should be sorted
...
to ensure consistent behavior, hosts should look like this:
hosts: webservers:&boston:!rack42
So when applying the host selectors, run those without the "&" first,
then the &s, then the !s.
Closes #3500
2013-08-08 18:32:24 +02:00
Abhijit Menon-Sen
0c96d8af6e
Add a nocolor setting to ansible.cfg
2013-08-08 21:37:33 +05:30
Brian Coca
a937a6a66d
now bad ini entries will throw friendlier error
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-08-07 12:49:12 -04:00
Michael DeHaan
4cbfe3be57
Merge pull request #3773 from cchurch/devel
...
Update callbacks used for async tasks
2013-08-06 13:32:53 -07:00
Michael DeHaan
ff44c981e9
Merge pull request #3770 from rishid/devel
...
Add support for INI comments that begin with '#' or ';'
2013-08-06 13:29:39 -07:00