Commit graph

14420 commits

Author SHA1 Message Date
Toshio Kuratomi
cd2516bf8d Revert "Revert "Add --installroot to YUM and DNF modules, issue #11310""
This reverts commit b73ddd5212.
2017-01-05 00:24:20 -08:00
Matt Clay
b73ddd5212 Revert "Add --installroot to YUM and DNF modules, issue #11310" 2017-01-05 00:14:33 -08:00
Peter Sprygada
1c16c1db2b adds new module ios_vrf (#19915)
adds new module ios_vrf
2017-01-04 23:34:51 -05:00
Peter Sprygada
d182b271db updates netcfg and refactors Config class (#19920)
* refactors Config into network module
* fixes minor bugs with netcfg
2017-01-04 23:23:08 -05:00
Peter Sprygada
f842bc0b91 adds network_common shared module (#19919)
* support for ComplexList and ComplexDict
2017-01-04 23:17:41 -05:00
Peter Sprygada
6b7742fd75 Revert "cleans up the netcfg implementation" (#19917) 2017-01-04 22:55:16 -05:00
berenddeschouwer
1fdcda0996 Add --installroot to YUM and DNF modules, issue #11310 (#19861)
* Add --installroot to YUM and DNF modules, issue #11310

This continues ansible-modules-core#1558, and
ansible-modules-core#1669

Allow specifying installroot for the yum and dnf modules
to install and remove packages in a location other than /.

* Remove empty aliases

* Simpler installroot set default logic
2017-01-04 19:20:00 -08:00
Peter Sprygada
d424a0468a refactors ios shared module (#19850)
This allows the ios_* modules to take advantage of the new network_cli
connection plugin by refactoring the ios shared module.  Individual modules
need to be udpated as well
2017-01-04 21:52:56 -05:00
Peter Sprygada
630d10a27a updates action plugins for network_cli connection (#19849)
* net_config now subclasses action plugin network
* net_template now subclasses action plugin network

This will break existing modules until those modules have been refactored.
2017-01-04 21:52:46 -05:00
Peter Sprygada
fdb24bb5d7 cleans up the netcfg implementation (#19847)
* moves parse() into the instance
* removes old Config instance and supporting code
* adds net_common shared module
* minor tweaks to NetworkConfig class for parsing config files
2017-01-04 21:52:25 -05:00
Patrik Lundin
ee5364f983 openbsd_pkg: make "name" take a list.
This commit also adds the module to DEFAULT_SQUASH_ACTIONS which is
possible with this change.

The module still calls the pkg_* tools once per name internally, so the only
difference is less invocations of the module itself when using with_items.
2017-01-04 18:45:31 -08:00
Jiri Tyr
579b6a0f9d Changing author's e-mail for ldap_* modules (#19900) 2017-01-04 21:30:43 -05:00
Toshio Kuratomi
a33e34894b Move some modules into proper categories 2017-01-04 18:09:45 -08:00
Toshio Kuratomi
8469ea93d9 Remove unnecessary use of iteritems so that this compiles under python3 2017-01-04 17:39:34 -08:00
THEBAULT Julien
ee1dee08b6 Check the command result status in easy_install plugin (#16519) 2017-01-04 17:17:30 -08:00
Joe Adams
337ea4d65c Add pulp_repo module for interacting with repositories on a pulp server. 2017-01-04 17:12:49 -08:00
Ondra Machacek
8a3e80eb09 cloud: ovirt: add kernel boot parameters to vms module 2017-01-04 17:11:07 -08:00
Fabrizio Colonna
b6f9b0be1f Added arbiter support to gluster_volume module. 2017-01-04 17:09:24 -08:00
Andy Freeland
778a189a59 Fix letsencrypt remaining_days docs 2017-01-04 16:53:23 -08:00
Enis Ozgen
d4d9a48205 Fix typo in ec2_vpc_peer.py documentation 2017-01-04 16:51:26 -08:00
Paulo Matias
d51064a05e os_user: fix typo (self is not defined) 2017-01-04 16:47:43 -08:00
Sergio Millan
08b671990d Fixing Issue#18995 2017-01-04 15:24:32 -08:00
Toshio Kuratomi
f129977e2b Fix 4d355f8bf2
default values can contain nonstrings and those should not be converted
via to_text.
2017-01-04 14:35:05 -08:00
Toshio Kuratomi
91242b8cc3 Leave a comment that .format() can lead to security risks
Couldn't find any code that does this now but left a comment so that we
don't change something in the future without seeing that it could be
a problem.
2017-01-04 14:33:15 -08:00
Dag Wieers
ecaa0202b9 vmware_guest: assorted fixes and improvements (#19842)
A small collection of fixes and improvements:
- Simplify should_deploy_from_template()
- Bugfix for x.config that can be None
- Bugfix for mandatory guest_id (not when using templates)
- Simplify key testing and defaults
- Fix an incorrect reference to the last network
- Duplicate alias 'folder' removed
2017-01-04 17:25:09 -05:00
Toshio Kuratomi
02e3f4b526 Fix for atomic_move on RHEL5
When becoming an unprivileged user using non-sudo on a platform where
getlogin() failed in our situation we were not able to detect that the
user had switched.  This meant that all of our logic to use move vs copy
if the user had switched was attempting the wrong thing.  This change
tries the to do the right thing but then falls back to an acceptable
second choice if it doesn't work.

The bug wasn't easily detected because:
* sudo was not affected because sudo records that the user's have been
  switched so we were able to detect that.
* getlogin() works on most platforms.  RHEL5 with python-2.4 seems to be
  the only platform we still care about where getlogin() fails for this
  case.
* It had to be becoming an unprivileged user.  When becoming
  a privileged user, the user would be able to successfully perform the
  best case tasks.
2017-01-04 14:08:19 -08:00
Toshio Kuratomi
4d355f8bf2 Transform config values to text immediately when they enter ansible
Convert configuration values from ENV VARS, config files, and defaults
in constants.py.
2017-01-04 14:06:18 -08:00
Corwin Brown
9b7c9931db Issue #19575: Adding Dest Param to win_uri (#19577)
* Issue #19575: Adding Dest Param to win_uri

Added `dest` param to win_uri. Outputs the response body to a specified
file.

Addresses Issue #19575

* Was setting the wrong attribute
2017-01-04 13:33:47 -08:00
James Cammarata
a0b4d37dea Removing unused files in playbook/ directory 2017-01-04 15:17:15 -06:00
Brian Coca
92e8c53879 fixed id queries, should rely on effective 2017-01-04 14:23:26 -05:00
Jiri Tyr
1ff9b74e3d Adding ldap_attr module (#19286) 2017-01-04 14:11:02 -05:00
Toshio Kuratomi
e98c0a3009 Fix locale_gen to compare native strings rather than mixing byte and text strings
Fixes #19426
2017-01-04 10:11:33 -08:00
Adrian Likins
c771ab34c7 Add a encode() to AnsibleVaultEncryptedUnicode (#19840)
* Add a encode() to AnsibleVaultEncryptedUnicode

Without it, calling encode() on it results in a bytestring
of the encrypted !vault-encrypted string.

ssh connection plugin triggers this if ansible_password
is from a var using !vault-encrypted. That path ends up
calling .encode() instead of using the __str__.

Fixes #19795

* Fix str.encode() errors on py2.6

py2.6 str.encode() does not take keyword arguments.
2017-01-04 12:17:19 -05:00
James Cammarata
ac00c8a660 Fixing an iteration bug introduced by fed079e4 2017-01-04 10:34:06 -06:00
Ryan S. Brown
8772e4387b Update ec2_facts with new ap-south region 2017-01-04 10:27:48 -05:00
Kevin Houdebert
2ffb705049 Fix win_robocopy flags argument (#19603) 2017-01-04 14:27:24 +00:00
Matthew
45c57618b3 Have AnsibleModule raise a failure of git is missing in git_config module (#19676) 2017-01-04 14:23:21 +00:00
Rob
927218d99d Fix backward compat change - create custom required_together statement (#19642) 2017-01-04 14:11:56 +00:00
Kash
dceace6bb2 ecs_taskdefinition: Fix missing import camel_dict_to_snake_dict (#19560)
ecs_taskdefinition: Fix missing import camel_dict_to_snake_dict
2017-01-04 13:50:13 +00:00
Dag Wieers
fbec2ecaa8 vmware_guest: Do not match simply by folder (#19823)
This fixes #19077
2017-01-04 09:26:29 +00:00
Dag Wieers
0d9392a3bc vmware_guest: import iteritems (#19821)
Without this change you get this on Python 2.7.5:

    NameError: global name 'iteritems' is not defined
2017-01-04 09:12:29 +00:00
Toshio Kuratomi
0ca3800ae1 Fix traceback on Darwin with Python3
os.write() needs bytes objects on python3 while python2 can work with
either a byte or unicode string.  Mark the DUMMY_CA_CERT string as
a byte string so it will work.

Fixes #19265
Fixes #19266
2017-01-04 00:33:12 -08:00
Serhiy Martynenko
c7637992fe Fix #19189 django_manage bug with python3 filter() returning iterator insted of list 2017-01-03 22:41:43 -08:00
tedder
15e12d2cf2 git ssh wrapper: py3-compatability with strings
Wrap the fh.write(str) in b() to ensure the string is of the proper type in py2/py3. Otherwise, the following error occurs when using its ssh_wrapper:

    An exception occurred during task execution. The full traceback is:
    Traceback (most recent call last):
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 1049, in <module>
        main()
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 928, in main
        ssh_wrapper = write_ssh_wrapper()
      File "/tmp/ansible_8r299r6t/ansible_module_git.py", line 330, in write_ssh_wrapper
        fh.write(template)
    TypeError: 'str' does not support the buffer interface
2017-01-03 22:09:12 -08:00
Peter Sprygada
4937dd67e4 adds new feature to network_cli (#19848)
In some cases it is desirable to have a send only function that doesn't
wait for the response from the CLI (such as reloading a device).  This
adds a new key to the command json string sendonly that will
achieve this behavior.
2017-01-03 22:33:02 -05:00
Jacky Gao
08e2a5d4fb Contributing new module to manage HUAWEI data center CloudEngine switch. (#19793)
* HUAWEI data center CloudEngine switch module

* HUAWEI data center CloudEngine switch module

* HUAWEI data center CloudEngine switch module

* Update __init__.py

* Update __init__.py

* HUAWEI data center CloudEngine switch module

* HUAWEI data center CloudEngine switch module

* Update __init__.py

* Delete __init__.py

* HUAWEI data center CloudEngine switch module

* HUAWEI data center CloudEngine switch module

* modify init file

* Update cloudengine.py

* Update cloudengine.py
2017-01-03 22:30:59 -05:00
Ted
fd3ae0bf80 Add bigswitch big mon inline chain module (#18631)
* Add bigswitch util

* Add big switch big mon inline chain module

* Add required to access_token doc

* Add controller to doc

* Add validate_certs to doc

* Add author & metadata

* Add BSD license header
2017-01-03 22:26:34 -05:00
James Cammarata
fed079e4cb Fix role completion detection problem
When the same role is listed consecutively in a play, the previous role
completion detection failed to mark it as complete as it only checked to
see if the role changed.

This patch addresses that by also keeping track of which task in the role
we are on, so that even if the same role is encountered during later passes
the task number will be less than or equal to the last noted task position.

Related to #15409
2017-01-03 14:32:44 -06:00
Martin Bektchiev
1c13ddf7c8 Add @ to valid package name characters (#18862)
NodeJS formulae are now named node@<major_version>

E.g. https://github.com/Homebrew/homebrew-core/blob/master/Formula/node@6.rb
2017-01-03 21:05:37 +01:00
Arne Demmers
bd7466d56c Fix key lookup in gather facts flag. 2017-01-03 13:53:07 -05:00
Toshio Kuratomi
70e42f917d Add traceback information to fail_json in atomic move 2017-01-03 10:39:28 -08:00
Eric Lavarde
a601f2c6a3 Add warning to raw and script modules that there is no actual free_form parameter (like for command etc). 2017-01-03 11:46:50 -05:00
Marcos Diez
024e40d5f4 new lookup module: mongodb (#15057)
* new lookup module: mongodb lookup

* fix versionadded for MongoDB Lookup

* tests should run again

* removed use of basestring

* we don't use iteritems anymore

* run tests again

* run tests again2

* run tests again3

* run tests again4
2017-01-03 11:40:02 -05:00
Joseph Price
1ea86bc66a Clarify state=reloaded will start service 2017-01-03 11:34:07 -05:00
Dag Wieers
ffb80926ce Performance improvement using in-operator on dicts
Just a small cleanup for the existing occurances.

Using the in-operator for hash lookups is faster than using .keys()
http://stackoverflow.com/questions/29314269/why-do-key-in-dict-and-key-in-dict-keys-have-the-same-output
2017-01-03 11:31:38 -05:00
tmshn
6a6113e951 [timezone module] Return tzfile from _verify_timezone (fix #19745)
Modification picked from https://github.com/ansible/ansible-modules-extras/pull/3337
2017-01-03 11:20:38 -05:00
Tomáš Karásek
3ebbcbadcf 2 modules for Packet host: packet_device and packet_sshkey (#19005)
* Added 2 modules for Packet Host: packet_device and packet_sshkey

* Fixed comments from @mmlb

* Fixed comments from @gundalow

* Fix typos pointed by @gundalow

* Mention new Packet modules in the CHANGELOG.md
2017-01-03 16:10:17 +00:00
Alexander Gubin
fce9f4f679 shuffle filter: added optional 'seed' parameter 2017-01-03 11:08:36 -05:00
Ivan Bojer
f9385cb972 new module to change admin pwd through ssh (#19247)
* new module

* new ansible 2.3 requirements
2017-01-03 11:02:35 -05:00
Ivan Bojer
addb68f5ca panos_commit (#19244)
* new module

* added METADATA globe

* changed METADATA format from yaml to json
2017-01-03 11:01:31 -05:00
Ivan Bojer
660fab6bea panos_restart (#19245)
* new module

* support latest METADATA requirements
2017-01-03 11:00:15 -05:00
Leandro Lisboa Penz
0296f70f07 Don't use netconf's discard_changes when the device has no candidate cap (#19626)
The discard_changes netconf RPC requires the candidate capability.
We were getting an exception when configuring that kind of device.

Fixes #19529
2017-01-03 10:52:22 -05:00
Gabriele
c58278b1c2 Fixing nxos_ntp when no config exists (#19678) 2017-01-03 10:50:31 -05:00
mathieu bultel
962a592628 Add pacemaker cluster module for being managable with ansible (#19594)
* Add pacemaker cluster module for being managable with ansible

* fix yaml syntax in documentation

* Remove useless dependency

* Import AnsibleModule instead of import *
2017-01-03 15:50:00 +00:00
Ner'zhul
2c17f9becd vmware_guest: module rewrite to add many features & fixes (#19228)
* vmware_guest: various fixes, improvements & additions

* Add template_flag attribute to define if the destination machine is a
template
* Add helper class to create:
  * SCSI controller
  * Disks
  * Network devices
* New feature: create VM without using templates
* New feature: multiple NIC
* New feature: multiple disks
* New feature: custom SCSI controller types (default: paravirtual)
* New feature: NIC can now be E1000 or VMXNet3 (default)
* New feature: customize NIC mac address
* New feature: new disk option autoselect_datastore permit to select the less used datastore. If datastore field is provided, filter the datastore list before selection
* New feature: Implement disk resizing + addition when state=present and VM exists
* New feature: when state=present and vm exists, modify the current CPU, Memory and disk space
* New feature: add guest_id support permitting to customize & change current VM guest ID in VMWare
* New feature: resource pool support
* New feature: change VM configuration without recreating it (CPU, memory, disks, network, guest ID, resource pool)
* Add 'gatherfacts' state to gather facts on a VM instead of previous 'present' state ('present' ensure the VM configuration)
* Add PyVmomiCache class to cache read only object
* Various python code fixes
* Various documentation fixes
* esxi_hostname & cluster are now exclusive
* Drop ips attribute & set ip directly into networks
* Little performance fixes by removing some duplicate calls to VMWare API
* Python 3 portability fixes
* Create many functions to make the code maintainable
* Cleanup some useless attributes

* Add 'suspended' as desired state for VM

* Make guest_id, memory & CPU number optional in reconfiguration mode

* Note: guest_id is now mandatory to create a VM from scratch (not templating)

* Bux fixes + Do network IP optinal + Add network vlan option
2017-01-03 09:48:07 -05:00
Marius Gedminas
b0b7a636d8 authorized_key: support --diff (#19277)
* Refactoring: split readkeys() into readfile() and parsekeys()

* Refactoring: split writekeys() into writefile() and serialize()

* authorized_key: support --diff

* Refactoring: remove no-longer used readkeys()/writekeys()

* Integration test for authorized_key in check mode
2017-01-03 09:32:32 -05:00
Alexander Trost
5c36bd6714 Added set feature for OpenVSwitch bridges (#19692)
See old PR https://github.com/ansible/ansible-modules-extras/pull/2711
2017-01-03 10:01:09 +00:00
Brian Coca
425ab5598e fix wait_for example 2017-01-02 17:16:23 -05:00
Jasper Lievisse Adriaanse
0c0defb63d Recognize pkgin when installed in the global zone on SmartOS 2017-01-02 17:02:22 -05:00
Jonathan Juares Beber
0bf7a7321a fix mongodb_parameter
This is broken the module when using str parameters.

Value is already converted to int, if necessary at line 193
2017-01-02 07:46:21 -08:00
Ner'zhul
9f2d8c2409 Add omapi_host module (#19602)
This module managed DHCPd hosts using OMAPI protocol

Features:
* Add a host
* Remove a host
* Modify host IP (it's impossible to modify only mac or only hostname, this doesn't have any effect)
* Add custom DHCP attributes (at creation only)
2016-12-31 19:09:24 +00:00
Kash
8e0119b24c ecs_taskdefinition: more accurate description in doc (#19204) 2016-12-30 12:30:04 -05:00
Ondra Machacek
9a2b220005 ovirt: get default auth/connection params from environment vars (#19385)
* cloud: ovirt: add possibility specify auth params in env vars

* module_utils: ovirt: fix pep8 issues
2016-12-30 12:24:05 -05:00
Rob
36213e8b21 Fix to fail when task_definition or desired_count not defined and state=present, define that role is required with load_balancers parameter and a few pep8 fixes (#19490) 2016-12-30 10:50:09 -05:00
Ryan S. Brown
0228f741c3 Undo format changes 2016-12-30 10:42:33 -05:00
Rob White
62dfa2ad11 Add helper function so that IAM policies can be compared for equality and update s3_bucket to take advantage of helper function 2016-12-30 10:41:22 -05:00
Tom Paine
e66501b0b7 [docs] update ec2_ami_copy docs to clarify encrypted snapshots (#19641)
Docs formatting.
2016-12-30 10:37:25 -05:00
Tom Paine
7ba746dc1e Update ec2_ami.py (#19636)
- Consistent capitalisation in the descriptions
- Removed redundant 'optional' notes when this is covered by the Boolean `optional` column
- Clarified `instance_id` description
2016-12-30 10:36:29 -05:00
Ondra Machacek
ba9f6326f4 Documentation improvments of oVirt modules (#19668) 2016-12-30 10:35:26 -05:00
Lujeni
427cfd6162 Fix the certificates bodies compare into iam_cert module (#19684) 2016-12-30 10:34:18 -05:00
joernheissler
a5145a41a8 Add 3 new Amazon AWS regions (#19687) 2016-12-30 10:32:21 -05:00
Laurent Goujon
e2c50baf3f Fix broken ec2 volume creation breaks with older boto versions (#1773) (#19723)
Fix issue which prevents creating ec2 instance with extra volumes when
using a older version of boto not supporting volume encryption.

Fix issue #1173
2016-12-30 10:31:35 -05:00
Sean Summers
f8fa772a55 ec2_ami_find: set is_public to 'true' or 'false' (#19250)
* set is_public 'true' or 'false'

Despite being a boolean property, https://github.com/melta/boto/blob/master/boto/ec2/image.py:63 sets is_public = True only if the argument is passed in as the string 'true'. Likewise for False/'false'.

This is a workaround for that bug in boto2, to allow the documented parameter to work with valid yaml values.

fixes #5600

* only set is_public if true
2016-12-30 10:28:13 -05:00
Ivan Nikolov
fcb1a2b6cc Fixed ec2_eip.py when assigning a standard elastic IP. (#19238) 2016-12-30 10:27:04 -05:00
Chris Soyars
e0d4050612 ec2_facts: Add support for ca-central-1 (#19260) 2016-12-30 10:26:09 -05:00
René Moser
f101a9bd73 icinga2_feature: Set LANG since we rely on the output by using regex (#19742)
- remove common return
- add ANSIBLE_METADATA
2016-12-30 09:06:49 +01:00
kuboj
5e17eb3053 added os_aggregate module (#19374)
* added os_aggregate module

* various fixed to os_aggregate module

based on comments by @emonty (https://github.com/ansible/ansible-modules-extras/pull/2873)

* updated shade version requirement
2016-12-29 12:51:34 -05:00
Tom Melendez
7e88df7ebc Adding auth support for google-api-python-client and gcloud-python (#19090)
Support for the Google API and GCloud-Python Clients have been added.

The three libraries:
* GCloud-Python: A new function, get_google_cloud_credentials, should be used.  The credentials-object returned can be passed to any gcloud-python client.  Using this client library requires in the installation of gcloud-python.  This is preferred library for new modules.

* Google API: A new function, gcp_api_auth, should be used to take advantage of services requiring this client.  This client library should be used if the desired functionality is not available in GCloud-Python.  Using this library requires the installation of google-api-python-client.

* libcloud: Existing function, gcp_connect, should be used.  The interface and return values have not changed and existing modules (such as gce, gce_pd and gce_net) should work without modification.  Note that the credentials-fetching code has been refactored out of gcp_connect so that can be reused by all connection functions. To use this function, apache-libcloud must be installed.

Import guards have been added and will only be trigger if a user tries to use a function that is missing dependencies.

Credential-specifying mechanisms (i.e, ansible module params, env vars and libcloud secrets.py) have not changed.  They have been refactored and unit tests have been added to allow for changes going forward. We are deprecating (and removing in a subsequent release) the ability to specify credentials via the libcloud secrets file.  Also, we have deprecated (and also plan to remove in a subsequent release) the ability to use a p12 pem file for a key - the JSON format is strongly preferred.  Deprecation warnings have been added for both of these issues (see the Ansible docs on how to disable deprecation warnings).
2016-12-29 12:33:52 -05:00
Ner'zhul
65f0155d8a Add icinga2_feature module (#19732)
This module permits to tell icinga to enable or disable features
2016-12-29 14:05:22 +00:00
Gaël Lambert
647bf4eceb doc: fix indentation in amazon/rds.py example docs (#19734)
Actual doc give this error

```
fatal: [localhost]: FAILED! => {
    "changed": false,
    "failed": true,
    "invocation": {
        "module_args": {
            "command": "facts",
            "register": "new_database_facts"
        },
        "module_name": "rds"
    },
    "msg": "unsupported parameter for module: register"
}
```

Register should be at the module `rds` level and not at args level in this example :

```
 - rds:
     command: facts
     instance_name: new-database
-    register: new_database_facts
+  register: new_database_facts
```
2016-12-29 08:46:40 -05:00
Tom Melendez
d09ad82e71 Add regex support to gce_tag module, add unit tests and update integration test. (#19087)
The gce_tag module can support updating tags on multiple instances via an instance_pattern field.  Full Python regex is supported in the instance_pattern field.

'instance_pattern' and 'instance_name' are mutually exclusive and one must be specified.

The integration test for the gce_tag module has been updated to support the instance_pattern parameter.  Unit tests have been added to test the list-manipulation functionality.

Run the integration test with:

TEST_FLAGS='--tags "test_gce_tag"' make gce

Run the unit tests with:

python test/units/modules/cloud/google/test_gce_tag.py
2016-12-29 08:45:20 -05:00
George Brighton
a10209cbe9 iptables: Fixes invalid ip6tables option (#19657)
fixes #19656
2016-12-27 08:27:22 +01:00
Jun Guo
31526595c5 docker_image: docs: won't be pushed to private registry without push parameter. (#19691) 2016-12-27 08:15:12 +01:00
Jasper Lievisse Adriaanse
2eb8f4cc70 Add new 'clean' and 'quick' parameters, correspondig to -c and -q in pkg tools (#19680) 2016-12-26 20:57:37 +01:00
Monty Taylor
0bb7149e17 Merge pull request #19653 from Thingee/verify_openstack_images
Verify image exists when passed for open stack server creation
2016-12-26 13:15:20 -06:00
ABond
47c0c71002 Minor grammar change in Digital_Ocean Module doc (#19674) 2016-12-25 00:24:54 +01:00
Matt Davis
f96ac8bff0 fix multiple handler notifications (#19655)
Fixes #19647
Adds integration test to catch multiple handler notifications
2016-12-22 21:33:24 -08:00
James Cammarata
78d4f6bbc1 Removing print debug statements 2016-12-22 19:14:20 -06:00
Tom Booth
a37bc3788b runner_on_async_failed missing arg
missing and argument from CallbackModule
2016-12-22 16:55:46 -08:00
Michael Scherer
dc71f28642 Handle color on multiple line in a cleaner way
When using ansible deployment on git push, git insert "remote:"
at the start of ansible output. If you force the color on ansible,
the "remote:" also get colored if the string to display is on
more than 1 line.

This change make sure that each end of line reset the color, instead
of reseting only at the end of the string.
2016-12-22 16:01:29 -08:00