Commit graph

4323 commits

Author SHA1 Message Date
Matt Martz
65fdcf8b9d Check for name or pkg when templating squashed items. Fixes #11430 2015-06-30 10:15:25 -05:00
James Cammarata
0cfebb8760 Fixes a bug whereby tags are expected to be a set
Fixes #11424
Fixes #11429
2015-06-30 07:18:41 -04:00
Brian Coca
d149ea5222 ported timer.py callback to v2 2015-06-29 20:45:50 -04:00
Brian Coca
7416e00541 fixed condition for loading whitelisted callbacks 2015-06-29 20:45:50 -04:00
James Cammarata
9785e5397e Fix typo in SharedObjectLoader field basedirs 2015-06-29 22:51:53 -04:00
James Cammarata
927072546b Fixing up some issues with plugin loading 2015-06-29 22:49:25 -04:00
James Cammarata
2a5fbd8570 Winrm fixes for devel
* Include fixes for winrm connection plugin from v1 code
* Fixing shell plugin use
2015-06-29 22:49:25 -04:00
Henry Finucane
2d1cb7f328 Treat generators like lists and tuples 2015-06-29 14:55:11 -07:00
Toshio Kuratomi
8a76371a1c Merge pull request #11394 from dlundquist/ipaddr-slaac-filter
IPv6 SLAAC address computation filter
2015-06-29 14:23:50 -07:00
Matt Martz
4059904a18 Add splitext filter 2015-06-29 15:39:57 -05:00
Toshio Kuratomi
be6db1a730 Refactor the argspec type checking and add path as a type 2015-06-29 08:05:58 -07:00
James Cammarata
21c14363fd Allow callback plugins to be whitelisted 2015-06-29 10:56:28 -04:00
James Cammarata
24226646fc When loading the play hosts list, enforce some consistency
Fixes #9580
2015-06-28 01:00:32 -04:00
James Cammarata
9d9cd0c42c Handle getting the ds for Conditionals which may not be mixed in 2015-06-28 00:30:27 -04:00
James Cammarata
f433e709f2 Fix templating of hostvars values
Also adds play information into the hostvars creation, to assure the
variable manager used there has access to vars and vars_files

Fixes #9501
Fixes #8213
Fixes #7844
2015-06-27 21:04:16 -04:00
James Cammarata
8ef28253e3 Properly catch and report conditional test failures 2015-06-27 15:37:10 -04:00
James Cammarata
0eb1c880dd Use itertools instead of set for tags, as the data may not hash well
The tags field may contain bad data before it is post_validated, however
some methods assumed it would be a simple list or string. Using itertools
gets us around the problem of the data potentially not being hashable

Fixes #9380
2015-06-27 15:19:44 -04:00
Brian Coca
af49944ab2 Merge pull request #11398 from resmo/for-ansible
cloudstack: fixes and updates
2015-06-27 13:28:37 -04:00
James Cammarata
bb8d87ceb6 Allow field attributes which are lists to validate the type of the list items
Starting to apply this for tags too, however it is not correcting things
as would be expected.
2015-06-27 01:01:51 -04:00
James Cammarata
f68223b9ed Don't add module args into variables at all
Getting recursive errors otherwise, so this is probably not something
we want to do. This most likely only worked in v1 due to the fact that
module args were templated earlier than the point in Runner() when
they were fed into the templating engine.
2015-06-27 01:01:51 -04:00
Brian Coca
e153f76c95 now validate that we do get a vault password 2015-06-27 00:02:24 -04:00
Uli Martens
25fc0c7e1b Fixing bug in failed_when results introduced by c3c398c 2015-06-26 16:55:06 -04:00
James Cammarata
b723f9a09a Allow squashed loop items to use name=foo-{{item}}
Fixes #9235
Fixes #11184
2015-06-26 13:56:45 -04:00
Rene Moser
7952723530 cloudstack: fix domain name is not unique, use full path 2015-06-26 09:25:26 +02:00
Rene Moser
b9b1e294d7 cloudstack: add get_or_failback() 2015-06-26 09:25:26 +02:00
Dustin Lundquist
cf7744f2f1 IPv6 SLAAC address computation filter
Jinja2 filter to compute SLAAC address.

Usage:
    {{ '2db8::/64' | slaac(ansible_eth0.macaddress) }}
2015-06-25 13:20:21 -07:00
Toshio Kuratomi
9911a947ed Vendorize match_hostname code so that ansible can push it out to clients along with the code that uses it. 2015-06-25 08:17:58 -07:00
Toshio Kuratomi
00aed57295 Update submodule refs 2015-06-25 07:13:46 -07:00
Toshio Kuratomi
160e71e2cf Some flake8 cleanup 2015-06-25 07:13:37 -07:00
James Cammarata
332ca927d9 Fix parent attribute lookup
Using 'value is None' instead of 'not value', in order to account
for boolean values which may be false

Fixes #11232
2015-06-24 20:57:53 -04:00
James Cammarata
256a323de5 Submodule update 2015-06-24 15:03:34 -04:00
Toshio Kuratomi
548a7288a9 Use BUFSIZE when putting file as well as fetching file. 2015-06-24 01:00:22 -07:00
Toshio Kuratomi
270be6a6f5 Fix exec_command to not use a shell 2015-06-23 22:27:45 -07:00
Toshio Kuratomi
a1a7d6c462 Fix forwarding the user-given params from fetch_url() to open_url() 2015-06-23 15:17:26 -07:00
Toshio Kuratomi
e461241d7b Fix fetch_file() method 2015-06-23 14:45:44 -07:00
James Cammarata
d0d9be30d5 Correctly compile handler blocks for dependent roles 2015-06-23 15:48:48 -04:00
James Cammarata
0b16580567 Add in playbook_dir magic variable 2015-06-23 14:29:39 -04:00
James Cammarata
4c6adcf143 Submodule pointer update 2015-06-23 13:32:50 -04:00
Hugh Saunders
4246777759 Re-implement the ssh connection retry, originally added in 2df690 2015-06-23 12:14:14 -04:00
James Cammarata
006391eb83 Add the improved exception reporting to the minimal callback plugin 2015-06-23 12:14:14 -04:00
Toshio Kuratomi
6aae500a2c Documentation fix 2015-06-23 08:58:26 -07:00
Toshio Kuratomi
125e6f49a1 Update submodule refs 2015-06-23 08:49:01 -07:00
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