Move templating into a utils function. Reuse is our friend.
This commit is contained in:
parent
c1fe0dd719
commit
af9596307d
3 changed files with 17 additions and 11 deletions
|
@ -24,7 +24,6 @@ from ansible import errors
|
||||||
import yaml
|
import yaml
|
||||||
import shlex
|
import shlex
|
||||||
import os
|
import os
|
||||||
import jinja2
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
# used to transfer variables to Runner
|
# used to transfer variables to Runner
|
||||||
|
@ -111,19 +110,15 @@ class PlayBook(object):
|
||||||
if x.find("=") != -1:
|
if x.find("=") != -1:
|
||||||
(k,v) = x.split("=")
|
(k,v) = x.split("=")
|
||||||
inject_vars[k] = v
|
inject_vars[k] = v
|
||||||
included = file(path).read()
|
included = utils.template_from_file(path, inject_vars)
|
||||||
template = jinja2.Template(included)
|
|
||||||
included = template.render(inject_vars)
|
|
||||||
included = yaml.load(included)
|
included = yaml.load(included)
|
||||||
for x in included:
|
for x in included:
|
||||||
new_tasks.append(x)
|
new_tasks.append(x)
|
||||||
|
|
||||||
def _include_handlers(self, play, handler, dirname, new_handlers):
|
def _include_handlers(self, play, handler, dirname, new_handlers):
|
||||||
path = utils.path_dwim(dirname, handler['include'])
|
path = utils.path_dwim(dirname, handler['include'])
|
||||||
included = file(path).read()
|
|
||||||
inject_vars = self._get_vars(play, dirname)
|
inject_vars = self._get_vars(play, dirname)
|
||||||
template = jinja2.Template(included)
|
included = utils.template_from_file(path, inject_vars)
|
||||||
included = template.render(inject_vars)
|
|
||||||
included = yaml.load(included)
|
included = yaml.load(included)
|
||||||
for x in included:
|
for x in included:
|
||||||
new_handlers.append(x)
|
new_handlers.append(x)
|
||||||
|
|
|
@ -24,7 +24,6 @@ import signal
|
||||||
import os
|
import os
|
||||||
import Queue
|
import Queue
|
||||||
import random
|
import random
|
||||||
import jinja2
|
|
||||||
import traceback
|
import traceback
|
||||||
import tempfile
|
import tempfile
|
||||||
import subprocess
|
import subprocess
|
||||||
|
@ -326,8 +325,7 @@ class Runner(object):
|
||||||
else:
|
else:
|
||||||
args = "%s metadata=~/.ansible/setup" % args
|
args = "%s metadata=~/.ansible/setup" % args
|
||||||
|
|
||||||
template = jinja2.Template(args)
|
args = utils.template(args, inject_vars)
|
||||||
args = template.render(inject_vars)
|
|
||||||
|
|
||||||
argsfile = self._transfer_argsfile(conn, tmp, args)
|
argsfile = self._transfer_argsfile(conn, tmp, args)
|
||||||
if async_jid is None:
|
if async_jid is None:
|
||||||
|
|
|
@ -20,13 +20,15 @@
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import shlex
|
import shlex
|
||||||
from ansible import errors
|
import jinja2
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import json
|
import json
|
||||||
except ImportError:
|
except ImportError:
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
|
|
||||||
|
from ansible import errors
|
||||||
|
|
||||||
###############################################################
|
###############################################################
|
||||||
# UTILITY FUNCTIONS FOR COMMAND LINE TOOLS
|
# UTILITY FUNCTIONS FOR COMMAND LINE TOOLS
|
||||||
###############################################################
|
###############################################################
|
||||||
|
@ -222,4 +224,15 @@ def parse_json(data):
|
||||||
return { "failed" : True, "parsed" : False, "msg" : data }
|
return { "failed" : True, "parsed" : False, "msg" : data }
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
def template(text, vars):
|
||||||
|
''' run a text buffer through the templating engine '''
|
||||||
|
template = jinja2.Template(text)
|
||||||
|
return template.render(vars)
|
||||||
|
|
||||||
|
def template_from_file(path, vars):
|
||||||
|
''' run a file through the templating engine '''
|
||||||
|
data = file(path).read()
|
||||||
|
return template(data, vars)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue