James Cammarata
1e7fd2196d
Fixing synchronize + delegate_to user bug
...
Fixes #12464
2015-09-22 16:06:52 -04:00
James Cammarata
3ffc2783c4
Don't bomb out on handlers with undefined variables in their names
2015-09-22 12:42:02 -04:00
Toshio Kuratomi
4b0d52d2cb
Merge pull request #12420 from ansible/win_prefix_modules
...
Fix for user defined modules not overriding modules from core.
2015-09-22 09:16:38 -07:00
James Cammarata
1076155d8d
When failing because of vars_files templating, try and bubble up the file/line info
2015-09-22 12:13:55 -04:00
Toshio Kuratomi
18e2ee16ef
Fix for user defined modules not overriding modules from core.
...
This fix takes into account that powershell modules are somewhat
different than regular modules and have to be kept separate.
2015-09-22 09:07:37 -07:00
Toshio Kuratomi
f61fb9787d
Update submodule refs
2015-09-22 08:59:10 -07:00
Rene Moser
b43939dfd6
cloudstack: make tags handling idempotence
...
Credits to @jeffersongirao, who provided the patch.
2015-09-22 16:12:35 +02:00
James Cammarata
c30e464388
Additional tweaks to callback output for delegate_to
2015-09-22 09:25:38 -04:00
James Cammarata
513619867a
Show delegated-to host in callback message
...
Fixes #12465
2015-09-22 08:45:04 -04:00
Rene Moser
efd122c2f0
cloudstack: add returns_to_int return handling into utils
...
It is not uncommon that the API returns string for int values e.g. ports in listFirewallRules or listPortForwardings,
2015-09-22 14:44:08 +02:00
Rene Moser
c9a3801a25
cloudstack: common argument_spec and requried_together to utils
2015-09-22 14:36:43 +02:00
James Cammarata
f563b22446
Merge pull request #12461 from mgedmin/py3k
...
Python 3: there's no basestring
2015-09-22 03:11:43 -04:00
James Cammarata
d2949f5449
Merge pull request #12463 from mgedmin/fix-ansible-doc
...
Fix option descriptions in ansible-doc output
2015-09-22 03:10:59 -04:00
James Cammarata
0fb4a6a67b
Tweak to the way new host variables are created for delegated hosts
2015-09-22 03:03:21 -04:00
Marius Gedminas
339790adc4
Fix option descriptions in ansible-doc output
...
Fixes #12462 .
2015-09-22 10:00:33 +03:00
James Cammarata
18adfc6d1a
Set some default vars on hosts created for delegate_to connections
2015-09-22 02:35:01 -04:00
James Cammarata
a22f7b883d
Restrict role param vars to tasks within that role
...
Fixes #12460
2015-09-22 02:14:18 -04:00
Marius Gedminas
fc0dcc3947
Python 3: there's no basestring
...
Fixes one failing test.
Now technically a filename can be a bytestring, even on Python 3. I
hope this is unlikely for Ansible.
2015-09-22 08:42:33 +03:00
James Cammarata
ecf7d8c9ee
Fix relative path bug in copy action
...
Without rebreaking #12055
Fixes #ansible-modules-core/2098
2015-09-22 01:31:03 -04:00
James Cammarata
53794b692c
Merge pull request #12457 from ansible/warn-if-core-modules-not-present
...
Detect if core modules aren't installed and warn if that is the case
2015-09-21 21:15:54 -04:00
Toshio Kuratomi
627f9d73ba
Detect if core modules aren't installed and warn if that is the case
...
Fixes #11206
2015-09-21 12:31:51 -07:00
Brian Coca
d27b73e7b5
fixed case in which boto3 is present but module is not using it yet
2015-09-21 15:16:07 -04:00
James Cammarata
cb7060c9fe
Allow undefined var errors to bubble up when templating vars_files in certain conditions
...
Follow up to 8769f03c
, which allows the undefined var error to be raised
if we're getting vars with a full context (play/host/task) and the host
has already gathered facts. In this way, vars_files containing variables
that fail to be templated are not silently ignored.
2015-09-21 11:57:37 -04:00
Brian Coca
f96255f7fd
fixed typo
2015-09-21 10:10:21 -04:00
James Cammarata
86566e691a
Merge pull request #12447 from mgedmin/py3k
...
Python 3: there is no 'basestring'
2015-09-21 09:39:17 -04:00
James Cammarata
8769f03c16
Also catch AnsibleUndefinedVariable errors when templating vars_files names
...
Fixes #12449
2015-09-21 09:35:06 -04:00
Toshio Kuratomi
2a614c1c0f
Close module file once we're done reading from it
2015-09-21 01:46:29 -07:00
Marius Gedminas
9cdb6ebae3
Python 3: there is no 'basestring'
...
This fixes a failing unit test.
In actual use (which is still quite far), I'm not sure if bytes ->
unicode conversion should be done here (in which case the code will fail
with an AttributeError: 'bytes' object has no attribute 'readlines'), or
inside self._connection.exec_command() (in which case my change is
correct).
2015-09-21 08:48:59 +03:00
Victor Salgado
20bbd66e85
Use dict.get()
2015-09-20 22:54:02 -03:00
James Cammarata
65bf14cbb0
Merge pull request #12431 from hslee16/devel
...
Stops using _groups_list to check for host when using 'add_host'
2015-09-20 18:17:02 -04:00
James Cammarata
88e1aa94fa
Add play context vars to list of variables before post validation
...
Fixes #12437
2015-09-19 21:51:24 -04:00
James Cammarata
05f6e76407
Template handler names before checking to see if they need to run
...
Fixes #12427
2015-09-18 18:54:48 -04:00
James Cammarata
72769d1899
Merge pull request #12432 from mgedmin/py3k
...
Python 3: there's no xrange
2015-09-18 15:33:08 -04:00
James Cammarata
37f2cbc429
Merge pull request #12436 from amenonsen/ranges
...
Support «hosts: foo[1:]» and add tests for split/apply_subscript
2015-09-18 15:32:15 -04:00
James Cammarata
1f5584aa5b
Refactoring delegate_to code
...
Now, instead of relying on hostvars on the executor side, we compile
the vars for the delegated to host in a special internal variable and
have the PlayContext object look for things there when applying task/
var overrides, which is much cleaner and takes advantage of the code
already dealing with all of the magic variable variations.
Fixes #12127
Fixes #12079
2015-09-18 15:25:10 -04:00
James Cammarata
fa69e8ebb8
Fixing some bugs in _compute_delegate() in TaskExecutor
...
* Clearing interpreter settings from variables, so those set for the
original host aren't incorrectly applied to the delegated to host
* Fixed incorrect string for remote user in delegated hosts hostvars
* Properly looking for multiple possiblities in the delegated-to hosts
hostvars (ansible_ssh_host vs. ansible_host)
2015-09-18 15:25:10 -04:00
Peter Sprygada
e45b71d6cd
added new module object to vca
2015-09-18 13:45:37 -04:00
Abhijit Menon-Sen
2fcdb37e7b
Support «hosts: groupname[1:]» notation (~= 'the rest of the group')
2015-09-18 22:28:34 +05:30
Brian Coca
aca83b15e5
Merge pull request #12425 from privateip/devel
...
initial add of vca common module
2015-09-18 11:24:54 -04:00
Brian Coca
11707576a3
fix for AIX network facts
...
fixes #12434
2015-09-18 10:43:53 -04:00
Brian Coca
d7b61db6dc
made boto3 non mandatory
2015-09-18 08:05:33 -04:00
Toshio Kuratomi
fdb1c14004
Update the submodule pointers
2015-09-18 04:49:30 -07:00
Marius Gedminas
baf9320369
Python 3: there's no xrange
...
Use six.moves.range instead (aliased to xrange on Python 2, aliased to
range on Python 3).
Also I couldn't resist replacing the elaborate chr/ord/randrange dance
with the simpler random.choice(string.ascii_lowercase) that was already
used elsewhere in the Ansible codebase.
2015-09-18 08:52:26 +03:00
Alex Lee
cf289191e5
return None if group does not exist in inventory groups
2015-09-17 15:58:10 -07:00
James Cammarata
cc6627cdd6
Remove custom json encoder cleaner and strip proxy var stuff out before encoding
...
Fixes #12349
2015-09-17 16:04:47 -04:00
James Cammarata
c95d4ca05f
Properly assign search path to environment.loader in template lookup
...
Same fix as was applied in f162990c
to the action plugin
Fixes #12355
2015-09-17 14:47:20 -04:00
James Cammarata
bde5ed9672
Catch worker errors that may be subclassed on others that lead to incorrect exits
2015-09-17 14:46:53 -04:00
Peter Sprygada
8f43d222c0
initial add of vca common module
2015-09-17 14:41:53 -04:00
James Cammarata
053c41e79d
Fix typo in ansible module_utils import from galaxy code
2015-09-17 14:25:48 -04:00
Chrrrles Paul
7b778d8a4b
Merge pull request #12424 from amenonsen/ipv6-ranges
...
Tested. Thanks for spotting and then fixing this -- Allow hexadecimal ranges in IPv6 addresses, not only 0-9
2015-09-17 14:21:03 -04:00
Abhijit Menon-Sen
2d420a9bb7
Allow hexadecimal ranges in IPv6 addresses, not only 0-9
2015-09-17 23:32:58 +05:30
James Cammarata
b386f0c64d
Merge pull request #12423 from amenonsen/split-fixup
...
Remove deprecation warning; now handled in _split_patterns
2015-09-17 14:02:22 -04:00
James Cammarata
a1fffff92c
Merge branch 'addresses' of https://github.com/amenonsen/ansible into amenonsen-addresses
2015-09-17 13:43:05 -04:00
Abhijit Menon-Sen
62ca6b5e35
Remove deprecation warning; now handled in _split_patterns
2015-09-17 23:09:56 +05:30
Abhijit Menon-Sen
575a8b8c77
Merge Host.ipv[46]_address into .address
...
The earlier distinction was never used; .ipv6_address was always a copy
of .ipv4_address, and the latter was always used to set the remote_addr
field in the PlayContext.
Also uses the canonical ansible_host/ansible_port names when setting the
address and port from variables.
2015-09-17 23:03:48 +05:30
James Cammarata
951128d7a6
Merge branch 'hostpatterns' of https://github.com/amenonsen/ansible into amenonsen-hostpatterns
2015-09-17 13:31:51 -04:00
Victor Salgado
14fefebaad
Modify _split_pattern to use map when working with list input
2015-09-17 13:52:54 -03:00
James Cammarata
46baed864f
Submodule update after correcting doc bug
2015-09-17 11:30:38 -04:00
James Cammarata
0beb37a121
Submodule update
2015-09-17 11:26:54 -04:00
James Cammarata
ba82e57445
Merge branch 'sudo_on_if_needed' of https://github.com/apollo13/ansible into apollo13-sudo_on_if_needed
2015-09-17 11:03:27 -04:00
Toshio Kuratomi
8532ddd5ed
typo in formatting the warning message
2015-09-17 08:01:43 -07:00
Toshio Kuratomi
4ae5512fb0
Restore python3 compat fix and fix AnsibleError undefined before use
2015-09-17 07:45:21 -07:00
James Cammarata
c881b1acae
Merge pull request #12407 from mgedmin/py3k
...
Python 3: basestring in play_context.py
2015-09-17 10:40:57 -04:00
James Cammarata
8acbc00853
Fixing groups variable structure to match v1
...
Fixes #12418
2015-09-17 10:24:03 -04:00
Abhijit Menon-Sen
349eec7855
Fix missing colon (typo) in IPv6 pattern
2015-09-17 19:34:33 +05:30
Abhijit Menon-Sen
2405861a9e
Use ',' instead of ':' or ';' to separate host patterns
...
The earlier-recommended "pat1:pat2:pat3[x:y]" notation doesn't work well
with IPv6 addresses, so we recommend ',' as a separator instead. We know
that commas can't occur within a pattern, so we can just split on it.
We still have to accept the "foo:bar" notation because it's so commonly
used, but we issue a deprecation warning for it.
Fixes #12296
Closes #12404
Closes #12329
2015-09-17 19:31:16 +05:30
Florian Apolloner
d9f873495e
Ported over #7158 to support SELinux context switches.
2015-09-17 15:03:46 +02:00
Brian Coca
ee840f3029
fixed function signature
2015-09-17 07:47:51 -04:00
Florian Apolloner
decd9e8710
Only use become if the target user difers from the current remote user.
2015-09-17 12:24:16 +02:00
Marius Gedminas
8243954dcd
Python 3: basestring in play_context.py
2015-09-17 08:08:55 +03:00
Toshio Kuratomi
3db8070aa3
Fix urlopen usage to use open_url instead
...
Add a travis test for urlopen usage
2015-09-16 20:40:17 -07:00
James Cammarata
e97d448838
Cleanup one more missed inventory bug
2015-09-16 16:53:08 -04:00
James Cammarata
5db9e38377
Merge pull request #12345 from mgedmin/py3k
...
Python 3: two more instances of 'basestring'
2015-09-16 16:49:46 -04:00
Chris Church
43b15ab9a4
Merge pull request #12385 from cchurch/winrm_put_empty_file
...
Enable winrm put_file to upload an empty file.
2015-09-16 16:46:01 -04:00
Chris Church
93af0b327f
Merge pull request #12384 from cchurch/powershell_strict_mode
...
Add PowerShell exception handling and turn on strict mode.
2015-09-16 16:45:40 -04:00
Chris Church
0325f92b6a
Merge pull request #12054 from cchurch/winrm_options
...
Support additional options for WinRM connections via inventory variables
2015-09-16 16:39:18 -04:00
Chris Church
c5409ab493
Remove ansible_winrm_ host/port/user/pass options, update exception handling around establishing a winrm connection.
2015-09-16 16:38:19 -04:00
Chris Church
056c6b77d0
Support additional options for WinRM connections via inventory variables.
2015-09-16 16:38:18 -04:00
James Cammarata
11c27078c0
Cleaning up inventory bugs from earlier group change
2015-09-16 16:36:27 -04:00
Chris Church
1d15e8f37a
Pass windows command as-is without splitting/rejoining parameters.
...
* Fixes extra spaces added between parameters from https://github.com/ansible/ansible-modules-core/issues/1929
* Correctly decode PowerShell command encoded as UTF-16-LE so that it displays correctly in debug messages, fixes the other issue from https://github.com/ansible/ansible-modules-core/issues/1929
* Add test to verify that script parameters are passed as-is, so $true is interpreted as a boolean, fixes https://github.com/ansible/ansible/issues/10947
2015-09-16 16:30:10 -04:00
Victor Salgado
54f1560d3e
Fix mutable default argument
2015-09-16 16:49:45 -03:00
James Cammarata
33e79203ce
Merge branch 'quinot-topic/crash_empty_inventory' into devel
2015-09-16 13:15:40 -04:00
James Cammarata
c8f2483d6d
Cleaning up default group creation in inventory parsers
2015-09-16 12:54:54 -04:00
Toshio Kuratomi
30552cf7e9
Fix problems with undefined references to self.display and remove method that's no longer called
2015-09-16 09:27:28 -07:00
James Cammarata
3f8e12d1f7
Merge pull request #12359 from cchurch/fetch_no_fail_on_missing
...
Fix fetch to not fail for missing file when fail_if_missing=False
2015-09-16 11:05:39 -04:00
James Cammarata
4429e7611b
Merge pull request #12382 from AxelDelmas/env_async
...
Added env_string in async_cmd
2015-09-16 11:04:40 -04:00
James Cammarata
e899b8e70d
Merge branch 'topic/crash_empty_inventory' of https://github.com/quinot/ansible into quinot-topic/crash_empty_inventory
2015-09-16 10:08:43 -04:00
James Cammarata
b2848bd25f
Merge pull request #12389 from amenonsen/minus-t
...
Set PlayContext.timeout from the value specified by -T on the command-line
2015-09-16 09:49:39 -04:00
James Cammarata
d91ff0db74
Fixing parent block serialization for blocks
...
Fixes #12395
2015-09-16 09:29:16 -04:00
Thomas Quinot
c005f75469
Always create 'all' group
...
Create 'all' even if host_list is empty, as this group needs to exist
when creating the implicit 'localhost' host.
Fixes #12391
2015-09-16 12:24:06 +02:00
Abhijit Menon-Sen
85bb508f26
Set PlayContext.timeout from the value specified by -T on the command-line
...
Fixes #12372
2015-09-16 08:57:25 +05:30
James Cammarata
2a50957ad8
Fix galaxy install dep failure
...
Also fixes issue where force does not force reinstall of deps
Fixes #10425
2015-09-15 17:31:47 -04:00
Toshio Kuratomi
1a39e32a13
Update core modules ref
2015-09-15 14:26:09 -07:00
Chris Church
6ab4cff7db
Enable winrm put_file to upload an empty file.
2015-09-15 17:21:27 -04:00
Chris Church
5c65ee7f0c
Add PowerShell exception handling and turn on strict mode.
...
* Add exception handling when running PowerShell modules to provide exception message and stack trace.
* Enable strict mode for all PowerShell modules and internal commands.
* Update common PowerShell code to fix strict mode errors.
* Fix an issue with Set-Attr where it would not replace an existing property if already set.
* Add tests for exception handling using modified win_ping modules.
2015-09-15 16:32:35 -04:00
James Cammarata
a1948dd1c1
Merge branch 'bcoca-normalize_plugin_paths' into devel
2015-09-15 14:48:11 -04:00
James Cammarata
a7e1113b26
Removing FIXME comment which is no longer required
2015-09-15 14:47:49 -04:00
James Cammarata
d818a72375
Merge branch 'normalize_plugin_paths' of https://github.com/bcoca/ansible into bcoca-normalize_plugin_paths
2015-09-15 14:41:09 -04:00
Axel Delmas
4802641de7
Added env_string in async_cmd
2015-09-15 20:11:14 +02:00
James Cammarata
60c139e482
Fix logic for changed/failed_when + retry/until loops
...
Fixes #11809
2015-09-15 13:37:35 -04:00
James Cammarata
8e664ad226
Fix delegate_to localhost vs. 127.0.0.1 (and ::1)
2015-09-15 13:08:54 -04:00
James Cammarata
38573c55bf
Tweak failure condition for field attributes expected to be strings
2015-09-15 13:08:40 -04:00
James Cammarata
cfdaec0c22
Make sure string attributes are strings from YAML to avoid bad type conversions
...
Fixes #12367
2015-09-15 12:17:55 -04:00
Brian Coca
b6d6c2e4db
corrected all missing paths changes
2015-09-15 11:57:54 -04:00
Brian Coca
4aea1f6568
normalized plugin paths and names and configs
2015-09-15 11:44:09 -04:00
Brian Coca
02372e9761
Merge pull request #12371 from apollo13/patch-1
...
Remove duplicate SU_PROMPT_LOCALIZATIONS
2015-09-15 09:54:07 -04:00
Florian Apolloner
9334046189
Remove duplicate SU_PROMPT_LOCALIZATIONS
2015-09-15 10:40:25 +02:00
gptech
1c6be7b9ba
Replace 'degug' with 'debug'
...
Tiny typo fix.
2015-09-14 23:21:03 -04:00
Andriy Yurchuk
af213241ab
Fix typo
2015-09-14 21:11:40 +02:00
Brian Coca
e7807c4f2d
Merge pull request #12339 from emonty/feature/openstack-no-log
...
Add no-log parameter to common openstack args
2015-09-14 15:03:09 -04:00
James Cammarata
4f30db8ca5
Check if path is /dev/null when checking if a file is in fact a file
2015-09-14 14:41:22 -04:00
Chris Church
260b9f648c
Fix fetch action plugin to not fail if file is missing and fail_if_missing=False (the default). Add tests to test_fetch role to verify it works as expected.
2015-09-14 14:21:52 -04:00
James Cammarata
feee4613cd
Merge pull request #12357 from apollo13/become_fix
...
Fixed #12356 -- Restored ansible 1.9.x become behavior.
2015-09-14 12:27:45 -04:00
James Cammarata
49ca0eb797
Track local_action internally to prevent it from being overridden
...
Fixes #12053
2015-09-14 12:11:58 -04:00
Florian Apolloner
8182eb3787
Fixed #12356 -- Restored ansible 1.9.x become behavior.
2015-09-14 17:53:14 +02:00
Marius Gedminas
9877a5c415
Python 3: two more instances of 'basestring'
...
Fixes two failing tests on Python 3.4.
2015-09-14 08:27:39 +03:00
Monty Taylor
3bdd6793ca
Add no-log parameter to common openstack args
...
These bad boys can contain secret data, so should be marked no-log.
2015-09-13 19:48:37 +02:00
James Cammarata
aa762bb432
Don't split args out unless we're parsing module args using the new style
...
Fixes #12331
2015-09-12 17:50:05 -04:00
James Cammarata
1cb4e0be1c
Fix bug in implicit block squashing where block is not reassigned
...
Fixes #12333
2015-09-12 11:27:30 -04:00
James Cammarata
7deb8bbd1c
Reworking how includes within handlers are run
...
Fixes #12238
2015-09-12 08:46:29 -04:00
Brian Coca
03758151e4
Merge pull request #12330 from cchurch/revert_find_plugin_changes
...
Revert "Fix order of loading of modules."
2015-09-11 20:05:37 -04:00
Brian Coca
9d4d7bd74d
fixed porting bugs in profile_tasks to v2
2015-09-11 16:48:09 -04:00
Chrrrles Paul
ba7734b78b
Merge pull request #12165 from amenonsen/address-parsing
...
Hi @amenonsen - thanks for fixing up the hunting down the unicode bug and expanding test_addresses. The code looks good, merging!-- Be systematic about parsing and validating hostnames and addresses
2015-09-11 15:25:50 -05:00
James Cammarata
4156bcedf5
Fix typo in 049a48f
2015-09-11 15:54:24 -04:00
Chris Church
ed3a9795d4
Revert "Fix order of loading of modules."
...
This reverts commit 4b895f04e3
.
2015-09-11 14:16:30 -04:00
James Cammarata
1243686b90
Submodule update
2015-09-11 13:11:15 -04:00
Abhijit Menon-Sen
049a48f3d3
Test state.tasks_child_state before dereferencing
...
I hit a traceback in the FAILED_TASKS case, but it seemed prudent to add
guards in the other similar branches.
2015-09-11 21:59:08 +05:30
James Cammarata
df89f03627
Fixing precedence order for new nonpersistent vars (set_fact/register)
...
These used to go in vars_cache, so merging them in after that as they
are "live" variables and the user would most likely want to see these
above anything else.
2015-09-11 12:24:44 -04:00
Abhijit Menon-Sen
7479ab47e0
Be stricter about parsing hostname labels
...
Labels must start with an alphanumeric character, may contain
alphanumeric characters or hyphens, but must not end with a hyphen.
We enforce those rules, but allow underscores wherever hyphens are
accepted, and allow alphanumeric ranges anywhere.
We relax the definition of "alphanumeric" to include Unicode characters
even though such inventory hostnames cannot be used in practice unless
an ansible_ssh_host is set for each of them.
We still don't enforce length restrictions—the fact that we have to
accept ranges makes it more complex, and it doesn't seem especially
worthwhile.
2015-09-11 21:47:19 +05:30
Abhijit Menon-Sen
065bb52109
Be systematic about parsing and validating hostnames and addresses
...
This adds a parse_address(pattern) utility function that returns
(host,port), and uses it wherever where we accept IPv4 and IPv6
addresses and hostnames (or host patterns): the inventory parser
the the add_host action plugin.
It also introduces a more extensive set of unit tests that supersedes
the old add_host unit tests (which didn't actually test add_host, but
only the parsing function).
2015-09-11 21:47:18 +05:30
James Cammarata
49803509b4
Make sure include paths are templated before dwim in case they're absolute
...
Fixes #12327
2015-09-11 11:57:43 -04:00
James Cammarata
4cdd9b2a82
Merge pull request #12318 from mgedmin/py3k
...
Python 3: make ansible.template.safe_eval() work
2015-09-11 10:44:37 -04:00
Brian Coca
52f587cac3
Merge pull request #12325 from quinot/topic/wrong_interp_test
...
Test for Python must be against basename of interpreter
2015-09-11 09:47:49 -04:00
James Cammarata
c2115c3715
Re-adding part of 926f127
which was actually fixing #12277
2015-09-11 09:45:27 -04:00
James Cammarata
083aef65ad
Revert "set_fact should put facts in the fact_cache, not vars_cache"
...
This reverts commit 926f127245
.
2015-09-11 09:45:27 -04:00
Thomas Quinot
0bc9223826
Test for Python must be against basename of interpreter
...
Followup on issue #12076
2015-09-11 13:29:34 +02:00
James Cammarata
441a8af671
Merge pull request #12267 from h-hirokawa/add_replacer_jsonargs
...
Add the new module replacer <<INCLUDE_ANSIBLE_MODULE_JSON_ARGS>>.
2015-09-11 02:44:50 -04:00
Marius Gedminas
f91b28ef23
Fix safe_eval() of set literals
...
There was code to support set literals (on Python 2.7 and newer), but it
was buggy: SAFE_NODES.union() doesn't modify SAFE_NODES in place,
instead it returns a new set object that is then silently discarded.
I added a unit test and fixed the code. I also changed the version
check to use sys.version_tuple instead of a string comparison, for
consistency with the subsequent Python 3.4 version check that I added in
the previous commit.
2015-09-11 09:41:05 +03:00
Marius Gedminas
2b73002044
Python 3: make ansible.template.safe_eval() work
...
Two things changed in Python 3.4:
- 'basestring' is no longer defined, so use six.string_types
- True/False are now special AST node types (NamedConstant) rather than
just names
(Good thing we had tests, or I wouldn't have noticed the 2nd thing!)
I found only one place where safe_eval() is called inside the ansible
codebase: in lib/template/__init__.py. The call to safe_eval(result,
...) is protected by result.startswith('...'), which means result cannot
possibly be a byte string on Python 3 (or startswith() would raise, so
six.string_types (which excludes byte strings on Python 3) is fine here.
2015-09-11 09:37:44 +03:00
James Cammarata
0c5bbe3c32
Use the original (un-templated) args for include params
...
Fixes #12314
2015-09-11 00:53:27 -04:00
James Cammarata
292e2da4e1
Fix some bugs related to facts/nonpersistent-facts cache split
...
Fixes #12313
2015-09-10 17:36:39 -04:00
Brian Coca
91c9df2154
added verbosity to ansible-doc to make it easier to trace down issues
2015-09-10 16:50:14 -04:00
James Cammarata
b35529b09f
Submodule pointer update
2015-09-10 15:44:30 -04:00
James Cammarata
95a58d1178
Properly serialize UnsafeProxy objects
...
Required as part of fix for #12123
2015-09-10 14:01:02 -04:00
James Cammarata
a410bf26d3
Wrap registered variables in UnsafeProxy
...
Fixes #12123
2015-09-10 14:01:02 -04:00
Toshio Kuratomi
46bf3d1bc1
Remove plugin._basedirs as we now use different data structures to achieve that functionality.
2015-09-10 10:41:31 -07:00
Jiri tyr
174f805fb3
Resurrection of the comment filter
2015-09-10 14:37:42 +02:00
Marius Gedminas
b95e3d18a7
Python 3: use the right PyYAML SafeRepresenter for unicode
...
PyYAML has a SafeRepresenter in lib/... that defines
def represent_unicode(self, data):
return self.represent_scalar(u'tag:yaml.org,2002:str', data)
and a different SafeRepresenter in lib3/... that defines
def represent_str(self, data):
return self.represent_scalar('tag:yaml.org,2002:str', data)
so the right thing to do on Python 3 is to use represent_str.
(AnsibleUnicode is a subclass of six.text_type, i.e. 'str' on Python 3.)
2015-09-10 08:57:53 +03:00
Benno Joy
6de13c3062
Merge pull request #11818 from Java1Guy/module_utils_ec2_for_ecs
...
change ec2 util to create only requested objects
2015-09-10 11:06:19 +05:30
James Cammarata
ee7905c7e1
Compare include params against deprecated param names too
...
Fixes #12282
2015-09-09 22:15:50 -04:00