Skip to content
Permalink
Browse files

Merge remote-tracking branch 'refs/remotes/ansible/devel' into devel

  • Loading branch information...
amuraleedhar committed Jan 25, 2019
2 parents 26afb8f + 7845373 commit 8efe5b0608cddd0833ff8f8d221c8da790560db9
Showing 1,882 changed files with 37,039 additions and 15,133 deletions.
@@ -31,6 +31,7 @@
# https://github.com/ansible/ansible/labels?q=support for full list
# labels - list of GitHub labels to apply. Path components of 'file' parent key
# which are valid GitHub labels are automatically added.
# supershipit - supershipiteers can turn a shipit into a supershipit
#

automerge: True
@@ -109,12 +110,13 @@ files:
maintainers: $team_docker
$modules/cloud/docker/docker_network.py: olsaki
$modules/cloud/google/:
maintainers: rambleraptor erjohnso
supershipit: $team_google
maintainers: $team_google
ignored: supertom
$modules/cloud/google/gc_storage.py: supertom
$modules/cloud/linode/: $team_linode
$modules/cloud/lxd/: hnakamur
$modules/cloud/memset/: analbeard
$modules/cloud/memset/: glitchcrab
$modules/cloud/misc/ovirt.py:
ignored: vincentvdk skvidal
maintainers: joshainglis karmab machacekondra mwperina
@@ -129,7 +131,7 @@ files:
ignored: sivel angstwad
$modules/cloud/scaleway/scaleway_volume.py:
ignored: hekonsek
$modules/cloud/univention/: 2-b
$modules/cloud/univention/: keachi
$modules/cloud/vmware/:
maintainers: $team_vmware
ignored: cigamit jcpowermac mtnbikenc
@@ -223,6 +225,7 @@ files:
$modules/network/dellos6/: abirami-n skg-net
$modules/network/dellos9/: Dhivyap skg-net
$modules/network/edgeos/: samdoran
$modules/network/edgeswitch/: f-bor
$modules/network/enos/: amuraleedhar
$modules/network/eos/: trishnaguha
$modules/network/exos/: rdvencioneck
@@ -478,6 +481,34 @@ files:
maintainers: resmo felixfontein
$module_utils/basic.py:
support: core
$module_utils/urls.py:
support: core
$module_utils/six:
support: core
$module_utils/common:
support: core
$module_utils/compat:
support: core
$module_utils/_text.py:
support: core
$module_utils/parsing:
support: core
$module_utils/splitter.py:
support: core
$module_utils/yumdnf.py:
support: core
$module_utils/ansible_release.py:
support: core
$module_utils/distro:
support: core
$module_utils/ismount.py:
support: core
$module_utils/json_utils.py:
support: core
$module_utils/pycompat24.py:
support: core
$module_utils/service.py:
support: core
$module_utils/cloudstack.py:
maintainers: $team_cloudstack
labels: cloudstack
@@ -498,6 +529,9 @@ files:
- cloud
$module_utils/facts:
support: core
$module_utils/gcp_utils.py:
maintainers: $team_google
supershipit: $team_google
$module_utils/ipa.py:
maintainers: $team_ipa
$module_utils/k8s:
@@ -549,6 +583,8 @@ files:
maintainers: skg-net
$module_utils/network/dellos10:
maintainers: skg-net
$module_utils/network/edgeswitch:
maintainers: f-bor
$module_utils/network/enos:
maintainers: amuraleedhar
$module_utils/network/eos:
@@ -645,7 +681,7 @@ files:
$module_utils/vmware:
maintainers: $team_vmware
$module_utils/memset.py:
maintainers: analbeard
maintainers: glitchcrab
labels: cloud
$module_utils/scaleway.py: &scaleway
maintainers: $team_scaleway
@@ -845,6 +881,8 @@ files:

$plugins/cliconf/:
labels: networking
$plugins/cliconf/edgeswitch.py:
maintainers: f-bor
$plugins/cliconf/eos.py:
support: network
maintainers: $team_networking
@@ -941,6 +979,9 @@ files:
# plugins/inventory
$plugins/inventory/__init__.py:
support: core
$plugins/inventory/gcp_compute.py:
maintainers: $team_google
supershipit: $team_google
$plugins/inventory/ini.py:
support: core
$plugins/inventory/k8s.py:
@@ -1036,6 +1077,8 @@ files:
maintainers: skg-net
$plugins/terminal/edgeos.py:
maintainers: samdoran
$plugins/terminal/edgeswitch.py:
maintainers: f-bor
$plugins/terminal/eos.py:
support: network
maintainers: $team_networking
@@ -1120,7 +1163,6 @@ files:
labels: networking
maintainers:
- samccann
- gundalow
docs/docsite/rst/scenario_guides/guide_aci.rst: *aci
docs/docsite/rst/dev_guide/developing_modules_general_aci.rst: *aci
###############################
@@ -1133,6 +1175,9 @@ files:
notified: mattclay
test/integration/targets/aci: *aci
test/integration/targets/docker: $team_docker
test/integration/targets/gcp:
maintainers: $team_google
supershipit: $team_google
test/integration/targets/meraki: *meraki
test/integration/targets/msc: *aci
test/integration/targets/nxos:
@@ -1181,6 +1226,7 @@ macros:
team_cyberark_conjur: jvanderhoof ryanprior
team_docker: akshay196 danihodovic dariko DBendit felixfontein jwitko kassiansun tbouvet
team_extreme: bigmstone LindsayHill
team_google: rambleraptor erjohnso
team_ipa: Nosmoht Akasurde fxfitz
team_jboss: jairojunior wbrefvem Wolfant
team_linode: InTheCloudDan lwm displague rmcintosh
@@ -90,7 +90,7 @@ Authors
=======

Ansible was created by `Michael DeHaan <https://github.com/mpdehaan>`_
(michael.dehaan/gmail/com) and has contributions from over 3700 users
(michael.dehaan/gmail/com) and has contributions from over 4000 users
(and growing). Thanks everyone!

`Ansible <https://www.ansible.com>`_ is sponsored by `Red Hat, Inc.
@@ -29,6 +29,7 @@ import shutil
import sys
import traceback

from ansible import context
from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError
from ansible.module_utils._text import to_text

@@ -106,7 +107,6 @@ if __name__ == '__main__':
exit_code = 6
else:
cli = mycli(args)
cli.parse()
exit_code = cli.run()

except AnsibleOptionsError as e:
@@ -134,9 +134,9 @@ if __name__ == '__main__':
# Show raw stacktraces in debug mode, It also allow pdb to
# enter post mortem mode.
raise
have_cli_options = cli is not None and cli.options is not None
have_cli_options = bool(context.CLIARGS)
display.error("Unexpected Exception, this is probably a bug: %s" % to_text(e), wrap_text=False)
if not have_cli_options or have_cli_options and cli.options.verbosity > 2:
if not have_cli_options or have_cli_options and context.CLIARGS['verbosity'] > 2:
log_only = False
if hasattr(e, 'orig_exc'):
display.vvv('\nexception type: %s' % to_text(type(e.orig_exc)))
@@ -90,7 +90,7 @@ class ConnectionProcess(object):
messages = list()
result = {}

messages.append('control socket path is %s' % self.socket_path)
messages.append(('vvvv', 'control socket path is %s' % self.socket_path))

# If this is a relative path (~ gets expanded later) then plug the
# key's path on to the directory we originally came from, so we can
@@ -100,18 +100,20 @@ class ConnectionProcess(object):
self.connection = connection_loader.get(self.play_context.connection, self.play_context, '/dev/null',
ansible_playbook_pid=self._ansible_playbook_pid)
self.connection.set_options(var_options=variables)

self.connection._connect()

self.connection._socket_path = self.socket_path
self.srv.register(self.connection)
messages.extend(sys.stdout.getvalue().splitlines())
messages.append('connection to remote device started successfully')
messages.extend([('vvvv', msg) for msg in sys.stdout.getvalue().splitlines()])
messages.append(('vvvv', 'connection to remote device started successfully'))

self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
self.sock.bind(self.socket_path)
self.sock.listen(1)
messages.append('local domain socket listeners started successfully')
messages.append(('vvvv', 'local domain socket listeners started successfully'))
except Exception as exc:
messages.extend(self.connection.pop_messages())
result['error'] = to_text(exc)
result['exception'] = traceback.format_exc()
finally:
@@ -129,17 +131,18 @@ class ConnectionProcess(object):
self.exception = None
(s, addr) = self.sock.accept()
signal.alarm(0)

signal.signal(signal.SIGALRM, self.command_timeout)
while True:
data = recv_data(s)
if not data:
break
self.connection._log_messages("jsonrpc request: %s" % data)

signal.alarm(self.connection.get_option('persistent_command_timeout'))
resp = self.srv.handle_request(data)
signal.alarm(0)

self.connection._log_messages("jsonrpc response: %s" % resp)
send_data(s, to_bytes(resp))

s.close()
@@ -179,19 +182,24 @@ class ConnectionProcess(object):
def shutdown(self):
""" Shuts down the local domain socket
"""
lock_path = unfrackpath("%s/.ansible_pc_lock_%s" % os.path.split(self.socket_path))
if os.path.exists(self.socket_path):
try:
if self.sock:
self.sock.close()
if self.connection:
self.connection.close()
except:
except Exception:
pass
finally:
if os.path.exists(self.socket_path):
os.remove(self.socket_path)
setattr(self.connection, '_socket_path', None)
setattr(self.connection, '_connected', False)

if os.path.exists(lock_path):
os.remove(lock_path)

display.display('shutdown complete', log_only=True)


@@ -246,12 +254,12 @@ def main():
tmp_path = unfrackpath(C.PERSISTENT_CONTROL_PATH_DIR)
makedirs_safe(tmp_path)

lock_path = unfrackpath("%s/.ansible_pc_lock_%s" % (tmp_path, play_context.remote_addr))
socket_path = unfrackpath(cp % dict(directory=tmp_path))
lock_path = unfrackpath("%s/.ansible_pc_lock_%s" % os.path.split(socket_path))

with file_lock(lock_path):
if not os.path.exists(socket_path):
messages.append('local domain socket does not exist, starting it')
messages.append(('vvvv', 'local domain socket does not exist, starting it'))
original_path = os.getcwd()
r, w = os.pipe()
pid = fork_process()
@@ -263,7 +271,7 @@ def main():
process = ConnectionProcess(wfd, play_context, socket_path, original_path, ansible_playbook_pid)
process.start(variables)
except Exception:
messages.append(traceback.format_exc())
messages.append(('error', traceback.format_exc()))
rc = 1

if rc == 0:
@@ -281,12 +289,12 @@ def main():
result.update(data)

else:
messages.append('found existing local domain socket, using it!')
messages.append(('vvvv', 'found existing local domain socket, using it!'))
conn = Connection(socket_path)
conn.set_options(var_options=variables)
pc_data = to_text(init_data)
try:
messages.extend(conn.update_play_context(pc_data))
conn.update_play_context(pc_data)
except Exception as exc:
# Only network_cli has update_play context, so missing this is
# not fatal e.g. netconf
@@ -298,7 +306,9 @@ def main():
'exception': traceback.format_exc()
})

messages.append(sys.stdout.getvalue())
if os.path.exists(socket_path):
messages.extend(Connection(socket_path).pop_messages())
messages.append(('vvvv', sys.stdout.getvalue()))
result.update({
'messages': messages,
'socket_path': socket_path
@@ -0,0 +1,2 @@
minor_changes:
- Fix documentation of match test. Match requires zero or more characters at beginning of the string.
@@ -0,0 +1,2 @@
minor_changes:
- Allow for vaulted templates in template lookup (https://github.com/ansible/ansible/issues/34209)
@@ -0,0 +1,3 @@
---
bugfixes:
- "modprobe - The modprobe module now detects builtin kernel modules. If a kernel module is builtin the modprobe module will now: succeed (without incorrectly reporting changed) if ``state`` is ``present``; and fail if ``state`` is ``absent`` (with an error message like ``modprobe: ERROR: Module nfs is builtin.``). (https://github.com/ansible/ansible/pull/37150)"
@@ -0,0 +1,3 @@
---
minor_changes:
- conn_limit type is set to 'int' in postgresql_user module. This will allow module to compare conn_limit with record value without type casting.
@@ -0,0 +1,3 @@
---
minor_changes:
- "docker_volume - option minimal versions now checked. (https://github.com/ansible/ansible/issues/38833)"
@@ -0,0 +1,4 @@
---
bugfixes:
- Use custom JSON encoder in conneciton.py so that ansible objects (AnsibleVaultEncryptedUnicode, for example)
can be sent to the persistent connection process
@@ -0,0 +1,2 @@
bugfixes:
- Detect FreeBSD KVM guests in facts (https://github.com/ansible/ansible/issues/49158)
@@ -0,0 +1,3 @@
---
bugfixes:
- "This reverts some changes from commit 723daf3. If a line is found in the file, exactly or via regexp matching, it must not be added again. `insertafter`/`insertbefore` options are used only when a line is to be inserted, to specify where it must be added."
@@ -0,0 +1,2 @@
bugfixes:
- Correctly detect multiple ipv6 addresses per device in facts (https://github.com/ansible/ansible/issues/49473)
@@ -0,0 +1,2 @@
bugfixes:
- Extend support for Devuan ascii distribution
@@ -0,0 +1,2 @@
bugfixes:
- replaced if condition requester_pays is None with True or False instead
@@ -0,0 +1,3 @@
minor_changes:
- "docker_secret - ``data`` can now accept Base64-encoded data via the new ``data_is_b64`` option.
This allows to pass binary data or JSON data in unmodified form. (https://github.com/ansible/ansible/issues/35119)"
@@ -0,0 +1,2 @@
bugfixes:
- "jenkins_plugin - ``version: latest`` should install new plugins with their dependencies"
@@ -0,0 +1,2 @@
minor_changes:
- "docker_image - Add ``cache_from`` option."
@@ -0,0 +1,3 @@
---
bugfixes:
- 'docker_container - fail when non-string env values are found, avoiding YAML parsing issues. (https://github.com/ansible/ansible/issues/49802)'
@@ -0,0 +1,2 @@
minor_changes:
- "tower_project - getting project credential falls back to project organization if there's more than one cred with the same name"
@@ -0,0 +1,4 @@
bugfixes:
- os_security_group_rule - os_security_group_rule doesn't exit properly when
secgroup doesn't exist and state=absent
(https://github.com/ansible/ansible/issues/50057)
@@ -0,0 +1,3 @@
---
bugfixes:
- influxdb_user - Fixed unhandled exception when using invalid login credentials (https://github.com/ansible/ansible/issues/50131)
@@ -0,0 +1,3 @@
---
bugfixes:
- win_firewall_rule - Remove invalid 'bypass' action
@@ -0,0 +1,3 @@
---
bugfixes:
- win_updates - Correctly report changes on success
@@ -0,0 +1,2 @@
bugfixes:
- "openssl_* - fix error when ``path`` contains a file name without path."
Oops, something went wrong.

0 comments on commit 8efe5b0

Please sign in to comment.
You can’t perform that action at this time.