Commit graph

18039 commits

Author SHA1 Message Date
Toshio Kuratomi
a68d90a71a rework run_command's env setting to not change os.environ for the rest of the module.
New param to run_command to modify the environment for just this invocation.
Documentation and comment adjustments.
2016-01-20 12:03:32 -08:00
Matt Martz
d49b11e996 Only use os.path.basename if get_file_content returned a value, and ensure that service_mgr has line endings stripped. Fixes #14026 2016-01-20 13:08:16 -06:00
James Cammarata
1894a83772 Merge pull request #14021 from gregdek/devel
Adding docs help for testing modules
2016-01-20 14:02:06 -05:00
Brian Coca
cc4506b451 Merge pull request #14006 from bcoca/always_shell_again
go back to always wrapping commands in shell
2016-01-20 13:17:34 -05:00
James Cammarata
ac89b0de7a Fix incorrect handling of any_errors_fatal in the linear strategy
Instead of bombing out of the strategy, we now properly mark hosts failed
so that the play iterator can handle block rescue/always properly.

Fixes #14024
2016-01-20 12:16:27 -05:00
Greg DeKoenigsberg
a10e15c765 Update developing_test_pr.rst 2016-01-20 10:29:25 -05:00
Greg DeKoenigsberg
a4f91c2c53 format fix for github markup 2016-01-20 10:27:37 -05:00
Greg DeKoenigsberg
b900c104b9 Adding submodule help 2016-01-20 10:25:49 -05:00
James Cammarata
e3a6accc1d Forward conditionals onto included plays when conditional eval errors
When using a playbook-level include, we now catch any errors raised during
the conditional evaluation step and set a flag to indicate we need to pass
those conditionals on to the included play (most likely because they contain
inventory variables for evaluation).

Fixes #14003
2016-01-20 01:32:45 -05:00
James Cammarata
c8bbdd6b39 Don't assign both parent blocks and task includes to blocks
This causes problems when fetching parent attributes, as the include
was being skipped because the parent block would fetch the attribute
from the parent play first.

Fixes #13872
2016-01-19 22:47:07 -05:00
Brian Coca
c09c01a1f5 go back to defaulting wrapping commands in shell
this was taken out in an effort to default to the user's shell but creates issues as this is not known ahead of time
and its painful to set executable and shell_type for all servers, it should only be needed for those that restrict the user
to specific shells and when /bin/sh is not available. raw and command may still bypass this by explicitly passing None.
fixes #13882

still conditional
2016-01-19 22:09:17 -05:00
Brian Coca
3750af45d4 clarified with_file 2016-01-19 21:20:24 -05:00
Peter Sprygada
981265ac84 adds provider argument to nxos shared module
The provider argument accepts the set of device common arguments as a
dict object.  Individual connection arguments can still be included and
take priority over the provider argument.  This update includes additions
to the nxos doc fragment
2016-01-19 19:02:41 -05:00
Peter Sprygada
9cba1a7c69 adds provider argument to ios shared module
New argument `provider` added to the ios shared module that provides
the ability to pass all of the common ios arguments as a dict.  This commit
includes some minor bugfixes and refactoring of names.   It also includes
udpates to the ios documentation fragment for the new argument
2016-01-19 19:00:52 -05:00
Peter Sprygada
e2ff26a5cf add provider argument to eos shared module
Adds a new argument `provider` to the eos shared module and updates the
eos doc fragment.  This commit includes some additional minor fixes and
code refactors for naming conventions.  The `provider` argument allows the
shared module arguments to be passed as a dict object instead of having
to pass each argument invididually.
2016-01-19 18:57:26 -05:00
James Cammarata
d07d974ad8 Revert "Properly look for parent become attribute"
This reverts commit 1b46a422aa.
2016-01-19 18:17:42 -05:00
Toshio Kuratomi
ca8261ed31 Don't tracback trying to retore settings
Can occur if we exit the timeout before the settings were changed
2016-01-19 14:09:22 -08:00
Peter Sprygada
0f2917fde3 add provider to iosxr shared module
This commit adds a new argument `provider` to the iosxr shared module that
allows common connection parameters to be passed as a dict object.  The
constraints on the args still applies.  This commit also updates the iosxr
doc fragment.
2016-01-19 14:51:06 -05:00
Peter Sprygada
7640eca368 adds provider argument to openswitch shared module
Adds new argument `provider` to the openswitch shared module.  The provider
argument can pass all openswitch connection arguments as a dict object.  This
update includes adding the provider argument to the openswitch doc fragment
2016-01-19 14:50:39 -05:00
Peter Sprygada
33d390fb58 adds provider argument to junos shared module
This commit adds a new argument `provider` to the junos shared module.  The
argument allows the set of common connection args to be passed to the
junos shared module.  This commit also updates the junos doc fragment
2016-01-19 14:50:01 -05:00
Peter Sprygada
5144ee226e adds private key file support to shell shared module
This commit provides an argument to provide a path to the private key
file.  This will allow paramiko to use the key file as opposed to only
username / password combinations for CLI connections.
2016-01-19 14:26:23 -05:00
James Cammarata
1b46a422aa Properly look for parent become attribute
Corrects inheritence of the boolean value, which needs some special
consideration from other (string/int) values.

Fixes #13872
2016-01-19 14:12:27 -05:00
James Cammarata
b1223746cd Relocate use of ERROR to display class, to avoid doubling up 2016-01-19 12:10:39 -05:00
James Cammarata
a7dd425620 Catch INI section parsing misses and raise an appropriate error
Fixes #13917
2016-01-19 12:07:45 -05:00
James Cammarata
1af473548b Fix role hashing failure/traceback when params contain lists
Fixes #13857
2016-01-19 11:02:15 -05:00
Toshio Kuratomi
94a9ed0ee1 Set decoding of path to unicode to raise an exception if non-utf8
Letting it pass would just cause an error later on (no such file found)
so it's better to catch it here and know that we have users dealing with
non-utf8 pathnames than to have to track it down from later on.
2016-01-19 05:48:12 -08:00
Toshio Kuratomi
40373dea4d Make all parts of messages and pathnames into unicode so that we don't get UnicodeError tracebacks.
Note that the fix for display normalizing to unicode is correct but the
fix for pathnames is probably not.  Changing pathnames to unicode type
means that we will handle utf8 pathnames fine but pathnames can be any
sequence of bytes that do not contain null.  We do not handle sequences
of bytes that are not valid utf8 here.  To do that we need to revamp the
handling of basedir and paths to transform to bytes instead of unicode.
Didn't want to do that in 2.0.x as it will potentially introduce other
bugs as we find all the places that we combine basedir with other path
elements.  Since no one has raised that as an issue thus far so it's not
something we need to handle yet.  But it's something to keep in mind for
the future.

To test utf8 handling, create a utf8 directory and run a playbook from
within there.

To test non-utf8 handling (currently doesn't work as stated above), create
a directory with non-utf8 chars an run a playbook from there.  In bash,
create that directory like this: mkdir $'\377'

Fixes #13937
2016-01-19 05:45:21 -08:00
Brian Coca
742bd2c554 clarify role include paths 2016-01-19 08:49:16 -05:00
Brian Coca
a773486432 fixed exception handling to be 2.4 compatible
previous 'fix' broke on 2.4
2016-01-19 08:31:53 -05:00
James Cammarata
1f7492171e Don't clear start at task flag until all hosts are advanced
Clearing the flag after the first host was advanced caused all other
hosts to not advance at all.

Fixes #13864
2016-01-18 22:56:10 -05:00
Brian Coca
d09c9f526b added missed ec2_vpc_net_facts 2016-01-18 22:06:29 -05:00
Brian Coca
9f05ce3e2b be consistent about conversion to_str 2016-01-18 21:55:56 -05:00
Brian Coca
54435261e8 updated submodule refs 2016-01-18 21:55:56 -05:00
Brian Coca
5dd2aad535 ignore exceptions in get_file_contents
it should be common enough to not be able to read files in some jailed/container environments
even though permissions tell us otherwise
2016-01-18 21:55:56 -05:00
Toshio Kuratomi
5e18bc5955 Turn results that come from traceback messages into unicode, not str.
Fixes #13964
Fixes #13967
2016-01-18 14:43:55 -08:00
Brian Coca
11ca4e6282 Merge pull request #13934 from dlangille/dlangille-patch-2
Specify the correct default options for sudo_flags
2016-01-18 17:42:39 -05:00
James Cammarata
1733d434d1 Fix with loop + delegate issues
* Don't re-use the existing connection if the remote_addr field of
  the play context has changed
* When overriding variables in PlayContext (from task/variables),
  don't set the same attribute based on a different variable name
  if we had already previously set it from another variable name

Fixes #13880
2016-01-18 17:35:00 -05:00
Brian Coca
1c9774785f Merge pull request #13923 from slimandslam/patch-1
Added example of running commands on a remote Windows Server
2016-01-18 17:26:50 -05:00
Brian Coca
1c06294d24 Merge pull request #13922 from rgroten/patch-2
minor wording fixes
2016-01-18 17:26:30 -05:00
Toshio Kuratomi
2c512e5a63 Update submodule refs 2016-01-18 13:59:57 -08:00
Toshio Kuratomi
ded02b4968 Fix proposed by @Yannig to fix become success detection when the output is multiline
See the Bug report for a specific error case with local connection,
sudo, and the raw module

Fixes #13728
2016-01-18 13:48:37 -08:00
Brian Coca
27f4730c29 correctly deals with non serializable type
combine_vars shoudl really be data types, but some just get in
in test, add dict to mock and avoid combine_vars using object
2016-01-18 15:17:43 -05:00
Brian Coca
83069a38d5 better init detection 2016-01-18 15:17:43 -05:00
James Cammarata
b5058736ce Fix set_fact + run_once to assign variables to all hosts in the list
Fixes #13921
2016-01-18 14:50:20 -05:00
James Cammarata
46e515131e Allow module args as k=v pairs when using the module: option with local_action
This task format is valid in 1.x, but was broken in 2.x:
  - local_action:
     module: shell echo "hello world"
2016-01-18 14:32:44 -05:00
James Cammarata
b769426c8f Merge branch 'ktaragorn-patch-1' into devel 2016-01-18 13:48:01 -05:00
James Cammarata
c42484a029 Minor cleanup when reassigning play context to reused connections
* Relocate the assignment of the host address to the remote_addr field
  in the play context, which was only done when the connection was created
  (it's now done after the post_validate() is called on the play context)
* Make the assignment of the play context to the connection an else, since
  it's not required if the connection is not reused
2016-01-18 13:36:40 -05:00
James Cammarata
bc1bcc3419 Merge branch 'patch-1' of https://github.com/ktaragorn/ansible into ktaragorn-patch-1 2016-01-18 13:12:01 -05:00
Dan Langille
2765708450 Specify the correct default values for sudo_flags
The correct default options for sudo_flags can be found at: https://github.com/ansible/ansible/blob/devel/lib/ansible/constants.py#L181

Slightly alter explanation of '-H' so as not to confuse it with -E, --preserve-env (which preserves existing environment variables).

When adding the two other options, include short explanations of those options.

Add note about '-n', which did not appear in 1.x I believe, and which bit me.
2016-01-16 15:28:41 -05:00
Dan Langille
2cde16a06c Add correct default options for sudo_flags
see https://github.com/ansible/ansible/blob/devel/lib/ansible/constants.py#L181
2016-01-16 14:37:04 -05:00