Hello community,

here is the log from the commit of package ansible for openSUSE:Factory checked 
in at 2015-10-12 10:03:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansible (Old)
 and      /work/SRC/openSUSE:Factory/.ansible.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ansible"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ansible/ansible.changes  2015-09-19 
06:55:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ansible.new/ansible.changes     2015-10-12 
10:03:35.000000000 +0200
@@ -1,0 +2,16 @@
+Sat Oct 10 12:10:59 UTC 2015 - [email protected]
+
+- update to 1.9.4
+  This release addresses several bugs, most notably those related to
+  the yum module (introduced in 1.9.3):
+  + Fixes a bug where yum state=latest would error if there were no
+    updates to install.
+  + Fixes a bug where yum state=latest did not work with wildcard
+    package names.
+  + Fixes a bug in lineinfile relating to escape sequences.
+  + Fixes a bug where vars_prompt was not keeping passwords private
+    by default.
+  + Fix ansible-galaxy and the hipchat callback plugin to check that
+    the host it is contacting matches its TLS Certificate.
+
+-------------------------------------------------------------------

Old:
----
  ansible-1.9.3.tar.gz

New:
----
  ansible-1.9.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ansible.spec ++++++
--- /var/tmp/diff_new_pack.01fmIm/_old  2015-10-12 10:03:35.000000000 +0200
+++ /var/tmp/diff_new_pack.01fmIm/_new  2015-10-12 10:03:35.000000000 +0200
@@ -19,7 +19,7 @@
 
 
 Name:           ansible
-Version:        1.9.3
+Version:        1.9.4
 Release:        0
 Summary:        Radically simple IT automation
 License:        GPL-3.0

++++++ ansible-1.9.3.tar.gz -> ansible-1.9.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/PKG-INFO new/ansible-1.9.4/PKG-INFO
--- old/ansible-1.9.3/PKG-INFO  2015-09-04 01:03:14.000000000 +0200
+++ new/ansible-1.9.4/PKG-INFO  2015-10-10 04:08:25.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: ansible
-Version: 1.9.3
+Version: 1.9.4
 Summary: Radically simple IT automation
 Home-page: http://ansible.com/
 Author: Ansible, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/VERSION new/ansible-1.9.4/VERSION
--- old/ansible-1.9.3/VERSION   2015-09-04 01:03:08.000000000 +0200
+++ new/ansible-1.9.4/VERSION   2015-10-10 04:08:19.000000000 +0200
@@ -1 +1 @@
-1.9.3 1
+1.9.4 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/bin/ansible-galaxy 
new/ansible-1.9.4/bin/ansible-galaxy
--- old/ansible-1.9.3/bin/ansible-galaxy        2015-09-04 01:03:08.000000000 
+0200
+++ new/ansible-1.9.4/bin/ansible-galaxy        2015-10-10 04:08:19.000000000 
+0200
@@ -31,7 +31,6 @@
 import tarfile
 import tempfile
 import urllib
-import urllib2
 import yaml
 
 from collections import defaultdict
@@ -42,6 +41,7 @@
 import ansible.constants as C
 import ansible.utils
 from ansible.errors import AnsibleError
+from ansible.module_utils.urls import open_url
 
 default_meta_template = """---
 galaxy_info:
@@ -253,7 +253,7 @@
 
     try:
         url = 'https://%s/api/' % api_server
-        data = json.load(urllib2.urlopen(url))
+        data = json.load(open_url(url))
         if not data.get("current_version",None):
             return None
         else:
@@ -261,7 +261,7 @@
     except:
         return None
 
-def api_lookup_role_by_name(api_server, role_name, notify=True):
+def api_lookup_role_by_name(api_server, role_name, parser, notify=True):
     """
     Uses the Galaxy API to do a lookup on the role owner/name.
     """
@@ -281,7 +281,7 @@
 
     url = 'https://%s/api/v1/roles/?owner__username=%s&name=%s' % 
(api_server,user_name,role_name)
     try:
-        data = json.load(urllib2.urlopen(url))
+        data = json.load(open_url(url))
         if len(data["results"]) == 0:
             return None
         else:
@@ -298,13 +298,13 @@
 
     try:
         url = 'https://%s/api/v1/roles/%d/%s/?page_size=50' % (api_server, 
int(role_id), related)
-        data = json.load(urllib2.urlopen(url))
+        data = json.load(open_url(url))
         results = data['results']
         done = (data.get('next', None) == None)
         while not done:
             url = 'https://%s%s' % (api_server, data['next'])
             print url
-            data = json.load(urllib2.urlopen(url))
+            data = json.load(open_url(url))
             results += data['results']
             done = (data.get('next', None) == None)
         return results
@@ -318,7 +318,7 @@
 
     try:
         url = 'https://%s/api/v1/%s/?page_size' % (api_server, what)
-        data = json.load(urllib2.urlopen(url))
+        data = json.load(open_url(url))
         if "results" in data:
             results = data['results']
         else:
@@ -329,7 +329,7 @@
         while not done:
             url = 'https://%s%s' % (api_server, data['next'])
             print url
-            data = json.load(urllib2.urlopen(url))
+            data = json.load(open_url(url))
             results += data['results']
             done = (data.get('next', None) == None)
         return results
@@ -484,7 +484,7 @@
     print "- downloading role from %s" % archive_url
 
     try:
-        url_file = urllib2.urlopen(archive_url)
+        url_file = open_url(archive_url)
         temp_file = tempfile.NamedTemporaryFile(delete=False)
         data = url_file.read()
         while data:
@@ -703,7 +703,7 @@
                 del install_info['version']
             role_info.update(install_info)
 
-        remote_data = api_lookup_role_by_name(api_server, role, False)
+        remote_data = api_lookup_role_by_name(api_server, role, parser, False)
         if remote_data:
             role_info.update(remote_data)
 
@@ -804,7 +804,7 @@
                     print "- the API server (%s) is not responding, please try 
again later." % api_server
                     sys.exit(1)
 
-                role_data = api_lookup_role_by_name(api_server, role_src)
+                role_data = api_lookup_role_by_name(api_server, role_src, 
parser)
                 if not role_data:
                     print "- sorry, %s was not found on %s." % (role_src, 
api_server)
                     exit_without_ignore(options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/bin/ansible-pull 
new/ansible-1.9.4/bin/ansible-pull
--- old/ansible-1.9.3/bin/ansible-pull  2015-09-04 01:03:08.000000000 +0200
+++ new/ansible-1.9.4/bin/ansible-pull  2015-10-10 04:08:19.000000000 +0200
@@ -140,6 +140,11 @@
                       help='adds the hostkey for the repo url if not already 
added')
     parser.add_option('--key-file', dest='key_file',
                       help="Pass '-i <key_file>' to the SSH arguments used by 
git.")
+    parser.add_option('--git-force', dest='gitforce', default=False, 
action='store_true',
+                      help='modified files in the working git repository will 
be discarded')
+    parser.add_option('--track-submodules', dest='tracksubmodules', 
default=False, action='store_true',
+                      help='submodules will track the latest commit on their 
master branch (or other branch specified in .gitmodules).'
+                      ' This is equivalent to specifying the --remote flag to 
git submodule update')
     options, args = parser.parse_args(args)
 
     hostname = socket.getfqdn()
@@ -182,6 +187,12 @@
         if options.key_file:
             repo_opts += ' key_file=%s' % options.key_file
 
+        if options.gitforce:
+            repo_opts += ' force=yes'
+
+        if options.tracksubmodules:
+            repo_opts += ' track_submodules=yes'
+
     path = utils.plugins.module_finder.find_plugin(options.module_name)
     if path is None:
         sys.stderr.write("module '%s' not found.\n" % options.module_name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/lib/ansible/__init__.py 
new/ansible-1.9.4/lib/ansible/__init__.py
--- old/ansible-1.9.3/lib/ansible/__init__.py   2015-09-04 01:03:08.000000000 
+0200
+++ new/ansible-1.9.4/lib/ansible/__init__.py   2015-10-10 04:08:19.000000000 
+0200
@@ -14,5 +14,5 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
-__version__ = '1.9.3'
+__version__ = '1.9.4'
 __author__ = 'Ansible, Inc.'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/lib/ansible/modules/core/VERSION 
new/ansible-1.9.4/lib/ansible/modules/core/VERSION
--- old/ansible-1.9.3/lib/ansible/modules/core/VERSION  2015-09-04 
01:03:12.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/core/VERSION  2015-10-10 
04:08:22.000000000 +0200
@@ -1 +1 @@
-1.9.3-1
+1.9.4-1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ansible-1.9.3/lib/ansible/modules/core/files/lineinfile.py 
new/ansible-1.9.4/lib/ansible/modules/core/files/lineinfile.py
--- old/ansible-1.9.3/lib/ansible/modules/core/files/lineinfile.py      
2015-09-04 01:03:12.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/core/files/lineinfile.py      
2015-10-10 04:08:22.000000000 +0200
@@ -370,25 +370,13 @@
 
         line = params['line']
 
-        # The safe_eval call will remove some quoting, but not others,
-        # so we need to know if we should specifically unquote it.
-        should_unquote = not is_quoted(line)
-
-        # always add one layer of quotes
-        line = "'%s'" % line
-
         # Replace escape sequences like '\n' while being sure 
         # not to replace octal escape sequences (\ooo) since they
         # match the backref syntax.
         if backrefs:
             line = re.sub(r'(\\[0-9]{1,3})', r'\\\1', line)
-        line = module.safe_eval(line)
 
-        # Now remove quotes around the string, if needed after
-        # removing the layer we added above
-        line = unquote(line)
-        if should_unquote:
-            line = unquote(line)
+        line = line.decode("string_escape")
 
         present(module, dest, params['regexp'], line,
                 ins_aft, ins_bef, create, backup, backrefs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ansible-1.9.3/lib/ansible/modules/core/packaging/os/yum.py 
new/ansible-1.9.4/lib/ansible/modules/core/packaging/os/yum.py
--- old/ansible-1.9.3/lib/ansible/modules/core/packaging/os/yum.py      
2015-09-04 01:03:12.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/core/packaging/os/yum.py      
2015-10-10 04:08:22.000000000 +0200
@@ -733,7 +733,7 @@
     rc, out, err = module.run_command(yum_basecmd + ['check-update'])
     if rc == 0 and update_all:
         res['results'].append('Nothing to do here, all packages are up to 
date')
-        return res
+        module.exit_json(**res)
     elif rc == 100:
         available_updates = out.split('\n')
         # build update dictionary
@@ -754,7 +754,11 @@
 
     if update_all:
         cmd = yum_basecmd + ['update']
+        will_update = set(updates.keys())
+        will_update_from_other_package = dict()
     else:
+        will_update = set()
+        will_update_from_other_package = dict()
         for spec in items:
             # some guess work involved with groups. update @<group> will 
install the group if missing
             if spec.startswith('@'):
@@ -778,8 +782,19 @@
                     nothing_to_do = False
                     break
 
-            if spec in pkgs['update'] and spec in updates.keys():
-                nothing_to_do = False
+                # this contains the full NVR and spec could contain wildcards
+                # or virtual provides (like "python-*" or "smtp-daemon") while
+                # updates contains name only.
+                this_name_only = '-'.join(this.split('-')[:-2])
+                if spec in pkgs['update'] and this_name_only in updates.keys():
+                    nothing_to_do = False
+                    will_update.add(spec)
+                    # Massage the updates list
+                    if spec != this_name_only:
+                        # For reporting what packages would be updated more
+                        # succinctly
+                        will_update_from_other_package[spec] = this_name_only
+                    break
 
             if nothing_to_do:
                 res['results'].append("All packages providing %s are up to 
date" % spec)
@@ -792,12 +807,6 @@
                 res['msg'] += "The following packages have pending 
transactions: %s" % ", ".join(conflicts)
                 module.fail_json(**res)
 
-    # list of package updates
-    if update_all:
-        will_update = updates.keys()
-    else:
-        will_update = [u for u in pkgs['update'] if u in updates.keys() or 
u.startswith('@')]
-
     # check_mode output
     if module.check_mode:
         to_update = []
@@ -805,6 +814,9 @@
             if w.startswith('@'):
                 to_update.append((w, None))
                 msg = '%s will be updated' % w
+            elif w not in updates:
+                other_pkg = will_update_from_other_package[w]
+                to_update.append((w, 'because of (at least) %s-%s.%s from %s' 
% (other_pkg, updates[other_pkg]['version'], updates[other_pkg]['dist'], 
updates[other_pkg]['repo'])))
             else:
                 to_update.append((w, '%s.%s from %s' % (updates[w]['version'], 
updates[w]['dist'], updates[w]['repo'])))
 
@@ -813,7 +825,7 @@
         if len(will_update) > 0 or len(pkgs['install']) > 0:
             res['changed'] = True
 
-        return res
+        module.exit_json(**res)
 
     # run commands
     if cmd:     # update all
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ansible-1.9.3/lib/ansible/modules/core/system/authorized_key.py 
new/ansible-1.9.4/lib/ansible/modules/core/system/authorized_key.py
--- old/ansible-1.9.3/lib/ansible/modules/core/system/authorized_key.py 
2015-09-04 01:03:12.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/core/system/authorized_key.py 
2015-10-10 04:08:22.000000000 +0200
@@ -111,7 +111,7 @@
                   key_options='no-port-forwarding,host="10.0.1.1"'
 
 # Set up authorized_keys exclusively with one key
-- authorized_key: user=root key=public_keys/doe-jane state=present
+- authorized_key: user=root key="{{ lookup('file', 'public_keys/doe-jane') }}" 
state=present
                    exclusive=yes
 '''
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/lib/ansible/modules/extras/VERSION 
new/ansible-1.9.4/lib/ansible/modules/extras/VERSION
--- old/ansible-1.9.3/lib/ansible/modules/extras/VERSION        2015-09-04 
01:03:13.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/extras/VERSION        2015-10-10 
04:08:24.000000000 +0200
@@ -1 +1 @@
-1.9.3-1
+1.9.4-1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ansible-1.9.3/lib/ansible/modules/extras/network/f5/bigip_facts.py 
new/ansible-1.9.4/lib/ansible/modules/extras/network/f5/bigip_facts.py
--- old/ansible-1.9.3/lib/ansible/modules/extras/network/f5/bigip_facts.py      
2015-09-04 01:03:13.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/extras/network/f5/bigip_facts.py      
2015-10-10 04:08:24.000000000 +0200
@@ -1576,7 +1576,8 @@
             session = dict(type='bool', default=False),
             include = dict(type='list', required=True),
             filter = dict(type='str', required=False),
-        )
+        ),
+        supports_check_mode = True
     )
 
     if not bigsuds_found:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ansible-1.9.3/lib/ansible/modules/extras/packaging/os/pacman.py 
new/ansible-1.9.4/lib/ansible/modules/extras/packaging/os/pacman.py
--- old/ansible-1.9.3/lib/ansible/modules/extras/packaging/os/pacman.py 
2015-09-04 01:03:13.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/extras/packaging/os/pacman.py 
2015-10-10 04:08:24.000000000 +0200
@@ -202,7 +202,7 @@
         module.exit_json(changed=True, msg="%s package(s) would be %s" % (
             len(would_be_changed), state))
     else:
-        module.exit_json(change=False, msg="package(s) already %s" % state)
+        module.exit_json(changed=False, msg="package(s) already %s" % state)
 
 
 def main():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ansible-1.9.3/lib/ansible/modules/extras/packaging/os/swdepot.py 
new/ansible-1.9.4/lib/ansible/modules/extras/packaging/os/swdepot.py
--- old/ansible-1.9.3/lib/ansible/modules/extras/packaging/os/swdepot.py        
2015-09-04 01:03:13.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/extras/packaging/os/swdepot.py        
2015-10-10 04:08:24.000000000 +0200
@@ -147,7 +147,7 @@
 
         if not rc:
             changed = True
-            msg = "Packaged installed"
+            msg = "Package installed"
 
         else:
             module.fail_json(name=name, msg=output, rc=rc)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ansible-1.9.3/lib/ansible/modules/extras/system/firewalld.py 
new/ansible-1.9.4/lib/ansible/modules/extras/system/firewalld.py
--- old/ansible-1.9.3/lib/ansible/modules/extras/system/firewalld.py    
2015-09-04 01:03:13.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/modules/extras/system/firewalld.py    
2015-10-10 04:08:24.000000000 +0200
@@ -233,8 +233,9 @@
     rich_rule = module.params['rich_rule']
 
     if module.params['port'] != None:
-        port, protocol = module.params['port'].split('/')
-        if protocol == None:
+        try:
+            port, protocol = module.params['port'].split('/')
+        except ValueError:
             module.fail_json(msg='improper port format (missing protocol?)')
     else:
         port = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/lib/ansible/playbook/play.py 
new/ansible-1.9.4/lib/ansible/playbook/play.py
--- old/ansible-1.9.3/lib/ansible/playbook/play.py      2015-09-04 
01:03:08.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/playbook/play.py      2015-10-10 
04:08:19.000000000 +0200
@@ -750,7 +750,7 @@
                 prompt_msg = "%s: " % prompt
                 if vname not in self.playbook.extra_vars:
                     vars[vname] = self.playbook.callbacks.on_vars_prompt(
-                                     varname=vname, private=False, 
prompt=prompt_msg, default=None
+                                     varname=vname, private=True, 
prompt=prompt_msg, default=None
                                   )
 
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ansible-1.9.3/lib/ansible/runner/connection_plugins/winrm.py 
new/ansible-1.9.4/lib/ansible/runner/connection_plugins/winrm.py
--- old/ansible-1.9.3/lib/ansible/runner/connection_plugins/winrm.py    
2015-09-04 01:03:08.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/runner/connection_plugins/winrm.py    
2015-10-10 04:08:19.000000000 +0200
@@ -185,7 +185,7 @@
             # windows command length), divide by 2.67 (UTF16LE base64 command
             # encoding), then by 1.35 again (data base64 encoding).
             buffer_size = int(((8190 - len(cmd)) / 2.67) / 1.35)
-            for offset in xrange(0, in_size, buffer_size):
+            for offset in xrange(0, in_size or 1, buffer_size):
                 try:
                     out_data = in_file.read(buffer_size)
                     if offset == 0:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/lib/ansible/utils/__init__.py 
new/ansible-1.9.4/lib/ansible/utils/__init__.py
--- old/ansible-1.9.3/lib/ansible/utils/__init__.py     2015-09-04 
01:03:08.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/utils/__init__.py     2015-10-10 
04:08:19.000000000 +0200
@@ -229,9 +229,9 @@
     # TODO: might be nice to append playbook runs per host in a similar way
     # in which case, we'd want append mode.
     path = os.path.join(tree, hostname)
-    fd = open(path, "w+")
-    fd.write(buf)
-    fd.close()
+    buf = to_bytes(buf)
+    with open(path, 'wb+') as fd:
+        fd.write(buf)
 
 def is_failed(result):
     ''' is a given JSON result a failed result? '''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/lib/ansible/utils/template.py 
new/ansible-1.9.4/lib/ansible/utils/template.py
--- old/ansible-1.9.3/lib/ansible/utils/template.py     2015-09-04 
01:03:08.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible/utils/template.py     2015-10-10 
04:08:19.000000000 +0200
@@ -15,12 +15,14 @@
 # You should have received a copy of the GNU General Public License
 # along with Ansible.  If not, see <http://www.gnu.org/licenses/>.
 
+import sys
 import os
 import re
 import codecs
 import jinja2
 from jinja2.runtime import StrictUndefined
 from jinja2.exceptions import TemplateSyntaxError
+from jinja2.utils import missing
 import yaml
 import json
 from ansible import errors
@@ -157,16 +159,23 @@
     extras is a list of locals to also search for variables.
     '''
 
-    def __init__(self, basedir, vars, globals, fail_on_undefined, *extras):
+    def __init__(self, basedir, vars, globals, fail_on_undefined, locals=None, 
*extras):
         self.basedir = basedir
         self.vars = vars
         self.globals = globals
         self.fail_on_undefined = fail_on_undefined
         self.extras = extras
+        self.locals = dict()
+        if isinstance(locals, dict):
+            for key, val in locals.iteritems():
+                if key[:2] == 'l_' and val is not missing:
+                    self.locals[key[2:]] = val
 
     def __contains__(self, k):
         if k in self.vars:
             return True
+        if k in self.locals:
+            return True
         for i in self.extras:
             if k in i:
                 return True
@@ -177,6 +186,8 @@
     def __getitem__(self, varname):
         from ansible.runner import HostVars
         if varname not in self.vars:
+            if varname in self.locals:
+                return self.locals[varname]
             for i in self.extras:
                 if varname in i:
                     return i[varname]
@@ -200,7 +211,7 @@
         '''
         if locals is None:
             return self
-        return _jinja2_vars(self.basedir, self.vars, self.globals, 
self.fail_on_undefined, locals, *self.extras)
+        return _jinja2_vars(self.basedir, self.vars, self.globals, 
self.fail_on_undefined, locals=locals, *self.extras)
 
 class J2Template(jinja2.environment.Template):
     '''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/lib/ansible.egg-info/PKG-INFO 
new/ansible-1.9.4/lib/ansible.egg-info/PKG-INFO
--- old/ansible-1.9.3/lib/ansible.egg-info/PKG-INFO     2015-09-04 
01:03:14.000000000 +0200
+++ new/ansible-1.9.4/lib/ansible.egg-info/PKG-INFO     2015-10-10 
04:08:25.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: ansible
-Version: 1.9.3
+Version: 1.9.4
 Summary: Radically simple IT automation
 Home-page: http://ansible.com/
 Author: Ansible, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/packaging/rpm/ansible.spec 
new/ansible-1.9.4/packaging/rpm/ansible.spec
--- old/ansible-1.9.3/packaging/rpm/ansible.spec        2015-09-04 
01:03:08.000000000 +0200
+++ new/ansible-1.9.4/packaging/rpm/ansible.spec        2015-10-10 
04:08:19.000000000 +0200
@@ -111,6 +111,9 @@
 
 %changelog
 
+* Fri Oct 09 2015 Ansible, Inc. <[email protected]> - 1.9.4
+- Release 1.9.4
+
 * Thu Sep 03 2015 Ansible, Inc. <[email protected]> - 1.9.3
 - Release 1.9.3
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ansible-1.9.3/plugins/callbacks/hipchat.py 
new/ansible-1.9.4/plugins/callbacks/hipchat.py
--- old/ansible-1.9.3/plugins/callbacks/hipchat.py      2015-09-04 
01:03:08.000000000 +0200
+++ new/ansible-1.9.4/plugins/callbacks/hipchat.py      2015-10-10 
04:08:19.000000000 +0200
@@ -17,9 +17,9 @@
 
 import os
 import urllib
-import urllib2
 
 from ansible import utils
+from ansible.module_utils.urls import open_url
 
 try:
     import prettytable
@@ -77,7 +77,7 @@
 
         url = ('%s?auth_token=%s' % (self.msg_uri, self.token))
         try:
-            response = urllib2.urlopen(url, urllib.urlencode(params))
+            response = open_url(url, data=urllib.urlencode(params))
             return response.read()
         except:
             utils.warning('Could not submit message to hipchat')


Reply via email to