Commit graph

4281 commits

Author SHA1 Message Date
James Cammarata
72d4b40a26 Don't allow empty (none) loop values
Fixes #8593
2015-06-23 10:42:33 -04:00
James Cammarata
24d2202591 Make sure role parsing can handle a few more types in includes/defs 2015-06-23 10:20:09 -04:00
James Cammarata
aa53212a9b Don't use all task params for vars, just the module args 2015-06-23 10:20:09 -04:00
Toshio Kuratomi
952166f48e Fix problem with chroot connection plugins and symlinks from within the chroot. 2015-06-22 20:08:08 -07:00
Toshio Kuratomi
61e367f549 Better error messages when the file to be transferred does not exist. 2015-06-22 20:08:08 -07:00
James Cammarata
7490044bbe Implement play_hosts magic variable (and ansible_current_hosts)
Fixes #8073
2015-06-22 21:03:55 -04:00
James Cammarata
cb5f630f33 Don't post_validate vars and vars_files on Play objects
Fixes #11343
2015-06-22 11:23:23 -04:00
James Cammarata
ff251a0dcc Catch runtime errors due to recursion when calculating group depth
Fixes #7708
2015-06-22 02:06:07 -04:00
James Cammarata
97954ff658 Minor tweak to potentially speed the linear strategy up
* Don't fetch vars for the task unless we're going to use them
2015-06-22 00:53:34 -04:00
Benno Joy
f17bdc4d61 Set the ansible_ssh_port variable instead of saving it internally for Host
Fixes #11330
2015-06-22 00:38:41 -04:00
Brian Coca
b34b606fcf fixed and/or grouping 2015-06-21 01:51:28 -04:00
Brian Coca
68325dbfe2 fixed remote tmp creation when becoem user is not root and '~/' instead of $HOME is the default 2015-06-21 01:43:35 -04:00
Brian Coca
102de96ebf avoid password handling when no password is supplied 2015-06-21 01:24:35 -04:00
Brian Coca
3bad03d57a cleaned up and optimized become handling paths 2015-06-21 01:13:22 -04:00
Benno Joy
be81b650e8 fixes issue 11286 where role handlers are not run 2015-06-21 00:36:37 -04:00
James Cammarata
fc5be30c2f Change the use of a mutable arg for a default value for locals 2015-06-19 23:04:35 -04:00
James Cammarata
0d92599d18 Make exception printing a bit smarter 2015-06-19 22:59:12 -04:00
Toshio Kuratomi
a77b58e351 Bumpt the BUFSIZE to 64k for better performance 2015-06-19 11:52:06 -07:00
Toshio Kuratomi
0777d02505 Fix problem with jail and zone connection plugins and symlinks from within the jail/zone. 2015-06-19 11:09:48 -07:00
Toshio Kuratomi
ca2f2c4ebd Fix problem with jail and zone connection plugins and symlinks from within the jail/zone. 2015-06-19 09:41:48 -07:00
Toshio Kuratomi
f0777d9c4e Update submodule refs 2015-06-19 09:08:57 -07:00
James Cammarata
18a9eff11f Properly use local variables from templates including other templates
Fixes #6653
2015-06-18 16:10:21 -04:00
James Cammarata
c0dfa8d512 Make sure task names are templated before callbacks are sent 2015-06-18 14:27:20 -04:00
James Cammarata
98fee172ee Fix bug in async action plugin 2015-06-18 13:49:34 -04:00
James Cammarata
270eb4274c Make sure we safe_eval booleans too
Fixes #5779
2015-06-18 11:12:46 -04:00
Brian Coca
4d5a98d8d9 Merge pull request #11307 from dagwieers/patch-6
Change syslog (priority) level from LOG_NOTICE to LOG_INFO
2015-06-18 10:29:16 -04:00
Brian Coca
7bb2a7aa87 actually no password to handle, this should return false 2015-06-18 10:23:37 -04:00
Brian Coca
87a0ccc354 fixed typo 2015-06-18 10:12:04 -04:00
Brian Coca
aede9f08db fixed case in which prompt was None 2015-06-18 10:05:23 -04:00
Dag Wieers
4ca4d36ae6 Change syslog (priority) level from LOG_NOTICE to LOG_INFO
If you look at the meaning of the different syslog levels, NOTICE means that the event may need someone to look at it. Whereas INFO is pure informational.

Since module invocations are in fact requested (deliberate) actions, they shouldn't need any additional post-processing, and therefore should not be logged as NOTICE.

This may seem like hairsplitting, but correctly categorizing system events helps weeding through the noise downhill.

According to Wikipedia: https://en.wikipedia.org/wiki/Syslog

5 	Notice 		notice 	Events that are unusual but not error conditions .
6 	Informational 	info 		Normal operational messages -no action required. Example an application has started, paused or ended successfully.
2015-06-18 11:00:10 +02:00
Brian Coca
7c65f3ddd7 partial become support for local connection plugin 2015-06-18 01:46:43 -04:00
Brian Coca
671118ba71 fixed become password handling with paramiko 2015-06-17 23:31:55 -04:00
Brian Coca
744ec2bbad put hostkey locking into function (still needs fixing)
implemneted become handling here, cannot generalize well enough in base class
2015-06-17 23:31:54 -04:00
Brian Coca
d6672ad285 removed unused import 2015-06-17 23:31:54 -04:00
Brian Coca
5cfd0f82a0 moved away from generic function for become 2015-06-17 23:31:54 -04:00
Brian Coca
3fab516d3d fixed detection of incorrect password 2015-06-17 23:31:54 -04:00
Brian Coca
faed1b2d05 better error reporting when doc parsing fails 2015-06-17 23:31:54 -04:00
James Cammarata
87ca475704 Exclude the all/ungrouped groups from pattern matching results
Fixes #5375
2015-06-17 16:25:58 -04:00
James Cammarata
90445ee67d Add ::1 where we see 127.0.0.1, for better ipv6 support
Fixes #5764
2015-06-17 16:03:19 -04:00
James Cammarata
c3c398cffe Cleaning up some task failure detection problems
* fixed a bug in which failures from a with_* loop were not being
  caught correctly, leading to tasks continuing when they should stop
* when ignore_errors is enabled, the failure will no longer count
  towards the number of failed tasks
2015-06-17 15:40:04 -04:00
Marc Abramowitz
a385744426 Add inventory file to "Unable to find" error msg
E.g.:

    $ ansible gabriel -m ping -i ssh_config.py
    ERROR! Unable to find an inventory file (ssh_config.py), specify one with -i ?
2015-06-17 11:00:13 -07:00
James Cammarata
daa319881f Make sure registered variable message is sent before other messages
Avoids a race condition where previously the registered variable message
was being sent after the 'host_task_ok' message, meaning the next task
may be started before the var is registered, leading to an undefined
variable error
2015-06-17 12:42:47 -04:00
Benno Joy
0d5b7ae669 fixes 11296 where the groups does not have all the groups 2015-06-17 19:18:19 +05:30
James Cammarata
ff998b6022 Make sure the templar is using the right vars when evaluating conditionals 2015-06-17 00:10:11 -04:00
Brian Coca
d7fcd9456a Merge pull request #11288 from kstrauser/aixfixes
Don't panic if AIX's uname doesn't support -W
2015-06-16 19:02:50 -04:00
Kirk Strauser
eb820837ac Don't panic if AIX's uname doesn't support -W
The current code expects "uname -W" on AIX to always succeed. The AIX 5
instance I have doesn't support the -W flag and facts gathering always
crashes on it.

This skips some WPAR handling code if "uname -W" doesn't work.
2015-06-16 15:26:02 -07:00
Kirk Strauser
935da01068 Fixes for FreeBSD get_memory_facts
- swapinfo on FreeBSD 6 (maybe 7 too?) doesn't support the "-m" flag for
  fetching amounts in megabytes. This patch fetches amounts in kilobytes
  and divides by 1024 (and also returns the result as an int instead of
  a string).

- When no swap is configured, swapinfo prints a header line and nothing
  else:

    $ swapinfo
    Device         1K-blocks     Used    Avail Capacity

  The old version unexpectedly parsed that header line and emitted
  nonsense values like:

    "ansible_swapfree_mb": "Avail"
    "ansible_swaptotal_mb": "1K-blocks"

  This version emits those items altogether.
2015-06-16 14:35:36 -07:00
Brian Coca
3b1b95b916 moved ipv6 handling to init
fixed become password handling
2015-06-16 15:48:10 -04:00
Brian Coca
bb7d33adbc moved become password handlingn to base class 2015-06-16 15:48:10 -04:00
James Cammarata
4b28a51f25 Don't fail outright when a play has an empty hosts list 2015-06-16 13:56:23 -04:00
James Cammarata
30c1a2d861 Have group/host var file loading check for YAML extensions too
Fixes #11132
2015-06-16 11:55:56 -04:00
Brian Coca
423f1233c8 removed typo file 2015-06-16 10:49:37 -04:00
Brian Coca
c87591f76f updated to new exec_command signature 2015-06-16 09:28:27 -04:00
Brian Coca
b76dbb01cc generalized prereqs check
added vaultfile class for action and lookup plugin usage
2015-06-16 09:20:15 -04:00
Brian Coca
9116ff1c28 replaced removed pager_print for print 2015-06-16 09:19:37 -04:00
Brian Coca
98f5534d9c adaptaed to new exec signature
should fix #11275
2015-06-16 09:12:42 -04:00
Brian Coca
6c884c9e39 Merge pull request #11271 from sivel/build-play-method
Allow AdHocCLI to be more flexible for overriding
2015-06-15 16:21:32 -04:00
Brian Coca
dcf81e3ffe removed useless comments 2015-06-15 15:04:19 -04:00
Matt Martz
1d55e193c1 Expose the TaskQueueManager to self 2015-06-15 13:50:40 -05:00
Matt Martz
670894e2bd Move building the play_ds into a method, that can be overridden 2015-06-15 10:35:26 -05:00
Brian Coca
8ae58f7ea3 fixed executable, correctly this time 2015-06-15 11:26:45 -04:00
Brian Coca
f576d29b6b allow for any non string iterable in listify 2015-06-15 11:02:51 -04:00
Brian Coca
1ce1c52f6f centralized bad password handling, fixed outputing of become method 2015-06-15 01:40:53 -04:00
Brian Coca
b89071e485 now detects incorrect password with sudo and su (at least in english) 2015-06-15 01:30:03 -04:00
Brian Coca
be8d797c23 fixed su prompt function reference 2015-06-15 01:07:02 -04:00
Brian Coca
872448e9e8 updated connection info update_vars to only update if data is not alreayd present
aslo added comment clarifying why we do this
2015-06-15 01:02:27 -04:00
Brian Coca
956937b110 made executable shell configurable again 2015-06-15 00:15:31 -04:00
Brian Coca
580993fef7 enabled initial support for password prompt on become
- moved check prompt/password functions to connection, make more senes there
- TODO: consider moving make_become to connection from connection_info
- removed executable param that was never overriden outside of connection info
2015-06-15 00:09:25 -04:00
Brian Coca
bac35ae773 set correct become mehotds for plugin
fixed mixup with remote password vs become_password
2015-06-14 23:49:10 -04:00
Brian Coca
ff443d4534 added note to figurte out correct var udpate on connection_info 2015-06-14 23:48:03 -04:00
Brian Coca
c3ccf26b70 added become check back to connections 2015-06-14 23:45:56 -04:00
Brian Coca
de82c953f2 added privilege escalation special var mapping 2015-06-14 23:19:49 -04:00
Brian Coca
a248678518 initial become support to ssh plugin
- password prompt detection and incorrect passwrod detection to connection info
- sudoable flag to avoid become on none pe'able commands
2015-06-14 23:03:23 -04:00
Brian Coca
a267f93c83 removed incorrect assumption on become user being set 2015-06-14 21:05:23 -04:00
Brian Coca
ff15f374ad fixed new become settings, rearranged constants to find PE related vars easier 2015-06-14 20:50:38 -04:00
Brian Coca
e7abe06440 added first_found to template 2015-06-13 00:34:15 -04:00
Brian Coca
8ee4c7266c corrected original_file code path to use actually use data from original file 2015-06-13 00:10:17 -04:00
Brian Coca
491761f880 added note to add faf deprecation 2015-06-12 23:54:09 -04:00
Brian Coca
a6ca133da8 got first_available working with copy 2015-06-12 23:54:09 -04:00
Brian Coca
aca125d03e Merge pull request #11252 from sivel/deprecated-warning
Display a warning when using a deprecated module
2015-06-12 16:30:45 -04:00
Matt Martz
9ed3e2ef48 Display a warning when using a deprecated module 2015-06-12 15:21:33 -05:00
Toshio Kuratomi
d315f6e22c Fix Etcd constructor 2015-06-12 12:59:29 -07:00
Toshio Kuratomi
77c76e632e Switch etcd and url lookup plugins to verify ssl certificates 2015-06-12 12:54:57 -07:00
Toshio Kuratomi
4161d78a94 Split the fetch_url() function into fetch_url and open_url().
open_url() is suitable for use outside of a module environment.  Will
let us use open_url to do SSL cert verification in other, non-module
code.
2015-06-12 12:54:56 -07:00
Brian Coca
e07dde1a3c Merge pull request #11251 from sivel/issue/11244
Require passlib over crypt in password_hash for Mac OS X/Darwin. Fixes #11244

i was almost done with my patch ... but I like yours better
2015-06-12 14:58:02 -04:00
Matt Martz
a4e2d1eb62 Require passlib over crypt in password_hash for Mac OS X/Darwin. Fixes #11244 2015-06-12 13:54:43 -05:00
Brian Coca
aaab69cae9 brought back terms testing as with_ is not only way to call and we cannot guarantee terms is a list otherwise. 2015-06-11 13:45:04 -04:00
Toshio Kuratomi
c346788194 Slight optimization of how we squash loops. Add dnf to the list of modules for which we squash.
Fixes #11235
2015-06-11 08:55:56 -07:00
Brian Coca
aed429554d better checks to ensure listify emits a non string iterable 2015-06-11 10:03:44 -04:00
Brian Coca
c8fde467b5 Merge pull request #11163 from sivel/ssh-private-key-fixme
Re-introduce ssh connection private key support
2015-06-11 09:16:27 -04:00
Brian Coca
f174682e19 facts should now not be overriten with NA option unless they are NA
this way we don't need a break per distro that matched already with
the python default functions
2015-06-11 00:48:40 -04:00
Brian Coca
4098e8283e several fixes to template
- now obeys global undefined var setting and allows override (mostly for with_ )
- moved environment instanciation to init instead of each template call
- removed hardcoded template token matching and now use actually configured tokens, now it won't break if someone changes default configs in ansible.cfg
- made reenetrant template calls now pass the same data it got, dictionary and lists were loosing existing and new params
- moved fail_on_undeinfed parameter to template call, as it should only realky be set to false on specific templates and not globally
- added overrides, which will allow template to implement jinja2 header override features
- added filter list to overrides to disallow possibly insecure ones, TODO: check if this is still needed as facts should not be templated anymore
- TODO: actually implement jinja2 header overrides
2015-06-11 00:21:53 -04:00
Brian Coca
7291f9e965 removed cruft
made sure it does not fail on undefined
2015-06-11 00:13:40 -04:00
Brian Coca
f29c1c7452 respect undefined config setting 2015-06-10 23:26:01 -04:00
Brian Coca
40336b50af removed redundant string check
added playbook path lookup
2015-06-10 22:58:08 -04:00
Brian Coca
7306a5397e simplified function, always attempt to template, always check if string before return, should avoid most cases of strings being passed to lookups 2015-06-10 22:55:50 -04:00
Brian Coca
aa6e204b6e Merge pull request #11115 from jhawkesworth/second_go_at_fixing_1404
Part fix for https://github.com/ansible/ansible-modules-core/issues/1404 (replaces #11086)
2015-06-10 20:43:32 -04:00
Brian Coca
f2934eeb0a Merge pull request #11226 from resmo/for-ansible
cloudstack: cleanup, remove unused parts
2015-06-10 14:44:49 -04:00
Brian Coca
d68111382d updated with nagios doc fix 2015-06-10 13:00:29 -04:00
Brian Coca
39764ed7d8 updated submodule refs 2015-06-10 13:00:29 -04:00
Rene Moser
0b074c449b cloudstack: methods renaming 2015-06-10 17:31:46 +02:00
Rene Moser
7b3dd55c3d cloudstack: remove unused methods used for backward compatibility 2015-06-10 17:28:45 +02:00
Dionysis Grigoropoulos
6f11896303
ansible-pull: Add option to verify gpg signature of a commit
Add option '--verify-commit' to verify a GPG signature of the checked
out commit. As noted in the git module documentantion, this requires
git version >= 2.1.0
2015-06-10 17:29:04 +03:00
Brian Coca
757fb39a2e now uses new module_loader 2015-06-09 21:35:44 -04:00
Brian Coca
24b7c353cc readjusted limit opts, makes no sense in adhoc when you already specify selection
changed pull to reflect this
2015-06-09 17:35:19 -04:00
Brian Coca
845d564d89 removed debug, moved limit to runtask instead section 2015-06-09 17:32:34 -04:00
Brian Coca
fdeca37257 switched to argv[0] from __file__ as it is what we actually wanted 2015-06-09 17:29:46 -04:00
Brian Coca
5aec5e5eb0 fixed ansible pull, reorged validate function for cli to be function specific like parser
added missing cmd_functions with run_cmd, mostly for ansible pull
2015-06-09 17:24:43 -04:00
Brian Coca
19161dfd72 fixed typo in placeholder check 2015-06-09 11:46:08 -04:00
Rene Moser
fc3020c57a cloudstack: prevent getting the wrong project.
Since we use domain and account data to filter the project, listall is not needed and can return the wrong identical named project of another account if root admin permissions are used.

Fixed projects names are not case insensitive.
2015-06-09 16:16:58 +02:00
Brian Coca
8e3213a91e updated copyright as MPD does not deserve the blame for this one 2015-06-08 20:20:07 -04:00
Brian Coca
45f80328ae updated submodule refs 2015-06-08 20:14:47 -04:00
Brian Coca
70b5c28694 initial implementation of the generic OS package module 2015-06-08 20:12:42 -04:00
Toshio Kuratomi
e88a9e943c Use to_bytes to avoid tracebacks when passed a byte str instead of a unicode string
Fixes #11198
2015-06-08 11:15:11 -07:00
Brian Coca
97bc92d2df minor cleanup, pushed ipv6 fixing to init
pushed up using host short var
made close conditional, started implementing close for controlmaster
2015-06-08 10:52:08 -04:00
Matt Martz
6a1c175991 Raise AnsibleParserError instead of AssertionError 2015-06-06 09:16:38 -05:00
Brian Coca
bdba807fd1 minor fixes to ssh error reporting
shoudl fix #11041
2015-06-06 00:16:35 -04:00
Edward J Kim
6a5a930c5a Add missing import in vault.py 2015-06-05 23:04:21 -04:00
Toshio Kuratomi
65d982b186 Merge pull request #11186 from sivel/winrm-syntax-error
Fix syntax error in winrm
2015-06-05 15:47:21 -07:00
Brian Coca
d67c9858a9 removed become_pass as it should not be used 2015-06-05 18:43:42 -04:00
Brian Coca
46673cd620 Merge pull request #11183 from sivel/issue/11169-become-pass
Don't empty out become_pass. See #11169
2015-06-05 18:21:29 -04:00
Matt Martz
6f5ebb4489 Fix syntax error in winrm 2015-06-05 16:02:29 -05:00
Matt Martz
45b4ee9cfe Don't allow setting become_pass in a play 2015-06-05 14:10:00 -05:00
Toshio Kuratomi
f9b56a5d7c Fix raising AnsibleError 2015-06-05 11:41:23 -07:00
Matt Martz
6bc2ea1f2b Don't empty out become_pass. See #11169 2015-06-05 12:02:35 -05:00
Brian Coca
04f4f77d91 Merge pull request #11124 from sivel/jit-connect
Use a decorator to perform just in time connection
2015-06-05 11:38:17 -04:00
James Cammarata
73c956366e Correctly determine failed task state when checking results
Fixes #11172
2015-06-05 07:16:19 -04:00
James Cammarata
a4ebee4b16 Merge pull request #11170 from dguerri/devel
Fix lookup() plugin
2015-06-04 16:05:06 -04:00
James Cammarata
ee5e166563 Fixing ansible_*_interpreter use
Fixes ansible/ansible-modules-core#1459
2015-06-04 15:43:07 -04:00
Davide Guerri
ee06eebea3 Fix lookup() plugin
lookup() plugin is currently broken because _get_file_contents() now
returns a tuple: (contents, show_data).

This patch fix that issue.
2015-06-04 19:46:09 +01:00
Matt Martz
bce281014c Decorate the ConnectionBase methods, switch to calling super from individual connection classes 2015-06-04 13:27:18 -05:00
Matt Martz
9754c67138 Use a decorator to ensure jit connection, instead of an explicit call to _connect 2015-06-04 13:14:28 -05:00
James Cammarata
f3f3fb7c49 Fixing vars_prompt 2015-06-04 13:54:51 -04:00
Matt Martz
6a97e49a06 Re-introduce ssh connection private key support 2015-06-04 08:15:25 -05:00
Toshio Kuratomi
7dd3ef7b60 Older python-six from early RHEL and ubuntu do not have add_metaclass but do have with_metaclass 2015-06-03 13:29:24 -07:00
Brian Coca
f3ccff42e5 Merge pull request #11142 from Etienne-Carriere/factor_f5
Add common fonctions for F5 modules (FQ Name functions)
2015-06-03 16:27:57 -04:00
Etienne CARRIERE
94fa5e8794 Simplify Fully Qualified function 2015-06-03 21:19:11 +02:00
Brian Coca
9856a8f674 added missing imports to doc module 2015-06-03 15:00:41 -04:00
Toshio Kuratomi
96836412aa Make error messages tell which inventory script the error came from 2015-06-03 11:51:33 -07:00
Brian Coca
a87687dccb Merge pull request #11147 from sivel/module-docs-import-mutablemapping
Import missing MutableMapping class for module_docs
2015-06-03 14:50:17 -04:00
Toshio Kuratomi
1c8527044b Fix error handling when pasing output from dynamic inventory 2015-06-03 11:29:20 -07:00
Toshio Kuratomi
c3caff5eeb Fix for six version 1.1.0 (rhel6). 2015-06-03 10:25:07 -07:00
Brian Coca
6b642afc7b Merge pull request #11146 from sivel/issue/11136
Don't set a default on the _become FieldAttribute
2015-06-03 12:38:20 -04:00
Toshio Kuratomi
d8c8ca11cf Add compatibility for old version of six (present on rhel7) 2015-06-03 08:45:36 -07:00
Matt Martz
89dceb503a Import missing MutableMapping class 2015-06-03 10:02:27 -05:00
Matt Martz
f983557e7e Don't set a default on the _become FieldAttribute. Fixes #11136 2015-06-03 09:54:00 -05:00
Etienne CARRIERE
5204d7ca88 Add common fonctions for F5 modules (FQ Name functions) 2015-06-03 08:20:26 +02:00
Patrick McConnell
a899f8f016 Fix for task_executor on OS X
I get this exception during the setup task:

AttributeError: 'ConnectionInformation' object has no attribute 'remote_pass'

I believe it is supposed to be looking at the password attribute. Either that
or we should create a remote_pass attribute in ConnectionInformation.
2015-06-03 07:26:18 +02:00
Brian Coca
3e2e81d896 missing path in import path for making paths 2015-06-02 23:42:00 -04:00
Brian Coca
65b82f69e4 avoid failing when mode is none 2015-06-02 23:39:57 -04:00