Commit Graph

17805 Commits (fb797a9e7786a3fde70e7de34ccf9ac3946501b3)
 

Author SHA1 Message Date
James Cammarata fb797a9e77 Fixing role dependency chain creation
The dep chain for roles created during the compile step had bugs, in
which the dep chain was overwriten and the original tasks in the role
were not assigned a dep chain. This lead to problems in determining
whether roles had already run when in a "diamond" structure, and in
some cases roles were not correctly getting variables from parents.

Fixes #14046
9 years ago
Matt Martz abecb520ad Merge pull request #14054 from gregdek/devel
Add Python 2.4 requirement to module checklist
9 years ago
James Cammarata 4651155942 Fix bug with any_errors_fatal where task was not available 9 years ago
James Cammarata d02dee37a1 Disallow setting state on template tasks
Fixes #14056
9 years ago
Toshio Kuratomi ecf867af6f Update submodule refs 9 years ago
Greg DeKoenigsberg f3336fba44 Tweaking Python 2.4 requirement 9 years ago
Greg DeKoenigsberg 981e9c44ba Put Python 2.4 in checklist
It's in the travis check, but we don't spell it out explicitly in the guidelines.
9 years ago
Greg DeKoenigsberg 134873bada Merge pull request #1 from ansible/devel
sync to head
9 years ago
Toshio Kuratomi f594cc0a5b Merge pull request #13993 from towolf/avoid_json_to_unicode
Avoid recursively checking JSON inventory for Unicode
9 years ago
Tobias Wolf d6ae9e2c29 Avoid recursively checking JSON inventory for Unicode
by moving to en-bloc unicode conversion to act on scripts stdout

Both python-json and simplejson always return unicode strings when using
their loads() method on unicode strings. This is true at least since
2009. This makes checking each substring unnecessary, because we do not
need to recursively check the strings contained in the inventory dict
later one-by-one

This commit makes parsing of large dynamic inventory at least 2 seconds
faster.

cf: https://github.com/towolf/ansible-large-inventory-testcase
9 years ago
Brian Coca f26adcc7da avoid shredding empty files, also x/0
also cleaned up unused import and exception var
9 years ago
James Cammarata 627dec716b Template the run_once value in the linear strategy as we use it there
This is pre-post_validation, so we have to template it on the fly
as we use it to determine if we bypass the host loop.

Fixes #11876
9 years ago
James Cammarata 365c5b23ce Re-add cache clearing call to Inventory init
This prevents a bug where the existing cache outside of the class
is not cleared when creating a new Inventory object. This only really
affects people using the API directly right now, but wanted to fix it
to prevent weird errors from popping up.
9 years ago
Brian Coca c2ac1507ea corrected host/group match in inventory_hostnames
now the lookup works when using ! and & operators
fixes #13997
9 years ago
James Cammarata 9b05a670c7 Merge pull request #14031 from selivan/devel
plugins/strategy: added significant details to parser error message.
9 years ago
Matt Martz 3bda79ca96 Merge pull request #14030 from matburt/add_rax_inventory_custom_cache_timeout
Add a config option for rackspace inventory cache
9 years ago
James Cammarata 54cde0d082 Standardize removal of BECOME-SUCCESS method and use it for async too
Fixes #13965
Fixes #13971
9 years ago
Matthew Jones a1318e1664 Add rax cache age ini documentation 9 years ago
Toshio Kuratomi 61009604e3 Update submodules to bring in yum fix 9 years ago
Toshio Kuratomi d97d28ecb0 Merge pull request #14025 from ansible/run_command-env-rework
rework run_command's env setting to not change os.environ for the res…
9 years ago
Selivanov Pavel 3201f5d90e plugins/strategy: added significant details to parser error message.
See discussion at
https://github.com/ansible/ansible/issues/13753
9 years ago
Matthew Jones a106382786 Add a config option for rackspace inventory cache
Adding a config and environment variable option for tuning the cache age
check in the rackspace inventory module
9 years ago
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.
9 years ago
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 9 years ago
James Cammarata 1894a83772 Merge pull request #14021 from gregdek/devel
Adding docs help for testing modules
9 years ago
Brian Coca cc4506b451 Merge pull request #14006 from bcoca/always_shell_again
go back to always wrapping commands in shell
9 years ago
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
9 years ago
Greg DeKoenigsberg a10e15c765 Update developing_test_pr.rst 9 years ago
Greg DeKoenigsberg a4f91c2c53 format fix for github markup 9 years ago
Greg DeKoenigsberg b900c104b9 Adding submodule help 9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
Brian Coca 3750af45d4 clarified with_file 9 years ago
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
9 years ago
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
9 years ago
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.
9 years ago
James Cammarata d07d974ad8 Revert "Properly look for parent become attribute"
This reverts commit 1b46a422aa.
9 years ago
Toshio Kuratomi ca8261ed31 Don't tracback trying to retore settings
Can occur if we exit the timeout before the settings were changed
9 years ago
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.
9 years ago
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
9 years ago
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
9 years ago
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.
9 years ago
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
9 years ago
James Cammarata b1223746cd Relocate use of ERROR to display class, to avoid doubling up 9 years ago
James Cammarata a7dd425620 Catch INI section parsing misses and raise an appropriate error
Fixes #13917
9 years ago
James Cammarata 1af473548b Fix role hashing failure/traceback when params contain lists
Fixes #13857
9 years ago
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.
9 years ago
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
9 years ago
Brian Coca 742bd2c554 clarify role include paths 9 years ago