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