Brian Coca
68f5d69365
added ability to override jinja enviornment from first line of template Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2012-11-26 10:41:13 -05:00
Daniel Hokka Zakrisson
0c70abfaa9
Make sure any existing groups gets reused
2012-11-25 12:42:30 +01:00
Daniel Hokka Zakrisson
5504f13c68
Create groups in the first run through the file
...
Fixes #1208 .
2012-11-25 01:00:14 +01:00
Daniel Hokka Zakrisson
2bfb7deec0
Set all in the returned dict
...
Otherwise the group is lost, and group_vars/all isn't used.
2012-11-25 00:15:22 +01:00
Michael DeHaan
33196ec131
Merge pull request #1669 from dagwieers/ssh-tcgetattr2
...
Use proper pseudo-tty's instead of pipes when using subprocess
2012-11-24 08:30:26 -08:00
Dag Wieers
7192eb3047
Use proper pseudo-tty's instead of pipes when using subprocess
...
This change avoids the "tcgetattr: Invalid argument" error by making sure the ssh we start does have a proper pseudo-tty.
We could also check whether our current terminal is a proper terminal (by doing a tcgetattr ourselves) but I don't think this adds anything.
This closes #1662 (if all use-cases have been tested: sudo, passwd)
2012-11-23 22:39:30 +01:00
Daniel Hokka Zakrisson
db1a65342a
Set -c local cwd to . if basedir is empty
2012-11-23 13:36:09 +01:00
Daniel Hokka Zakrisson
715d875dcb
Group should only return its own variables
...
Otherwise, a host in two groups, A and B, using a variable defined
in group A and all will get the value of all, as B's variables will
include the all variable.
Partially fixes #1647 .
2012-11-23 00:54:07 +01:00
Daniel Hokka Zakrisson
e44b85daba
Remove special-casing for all group
...
global_vars has higher precedence than inventory. Putting the all
group's variables into it overrides all other groups and hosts.
Partially fixes #1647 .
2012-11-23 00:54:02 +01:00
Daniel Hokka Zakrisson
bd7e02d629
Get all groups' variables in order of depth
...
Fixes all not being processed, as well as the order of the variable
precedence
2012-11-23 00:20:52 +01:00
Daniel Hokka Zakrisson
d5dd89a8f7
Allow specifying when: ...
2012-11-22 23:11:42 +01:00
Daniel Hokka Zakrisson
fd732f8d3b
Add when_boolean
...
Fixes #1567 .
2012-11-22 23:10:11 +01:00
Daniel Hokka Zakrisson
ddef608c94
Wrap all remote commands in sh
2012-11-22 20:06:30 +01:00
Daniel Hokka Zakrisson
047d089cea
Restore git output on --version
...
Broken by the move from utils.py to utils/__init__.py
2012-11-21 23:54:42 +01:00
Daniel Hokka Zakrisson
ef357ed1f2
Use the play's vars for the setup step
...
Allows using -e ansible_ssh_port=foo and have it apply to all actions.
2012-11-21 23:42:24 +01:00
Daniel Hokka Zakrisson
d1c285b70b
Port may be an integer when parsed from the play
2012-11-21 17:20:03 +01:00
Michael DeHaan
82f4aef959
Merge pull request #1648 from dhozac/local-cwd-basedir
...
Use runner's basedir as cwd for -c local
2012-11-21 06:40:01 -08:00
Michael DeHaan
41af2fce64
Merge pull request #1650 from dagwieers/port-not-integer-exception
...
Provide a proper error when the remote_port is not an integer
2012-11-21 06:39:24 -08:00
Daniel Hokka Zakrisson
3ce63d845e
remote_port is None by default
2012-11-21 14:10:10 +01:00
Daniel Hokka Zakrisson
6b69b37eb0
Merge pull request #1649 from dagwieers/template-port
...
Allow the remote port to be templated per play
2012-11-20 13:16:34 -08:00
Dag Wieers
85bba04a1c
Provide a proper error when the provided port is not an integer
...
As reported on the mailinglist, the user received a ValueError when the port number was not templated (fixed in #1649 ) and therefore it was not an integer. This change will catch the exception and provide a proper error so it is more clear.
2012-11-20 19:06:27 +01:00
Dag Wieers
8458f53014
Allow the remote port to be templated
...
This was requested on the mailinglist and seems useful.
2012-11-20 18:53:40 +01:00
Daniel Hokka Zakrisson
48898993b9
Fix removing of temporary files
2012-11-20 16:51:19 +01:00
Daniel Hokka Zakrisson
0ebf4b2d5a
Add destination path to fetch result
2012-11-20 15:39:48 +01:00
Daniel Hokka Zakrisson
bdf05ec9a0
Use runner's basedir as cwd for -c local
2012-11-20 15:36:43 +01:00
Daniel Hokka Zakrisson
f89f07871d
Fix typo in first_available_file error path
2012-11-19 23:02:26 +01:00
Daniel Hokka Zakrisson
f95fefd8c5
Use plugin system to find modules
2012-11-18 19:09:21 +01:00
Daniel Hokka Zakrisson
5dd2ec2cae
Add a way to add directories to just one type of loader
2012-11-18 19:08:59 +01:00
Daniel Hokka Zakrisson
d2abfb9ff8
Ensure runner adds its basedir, so ansible can benefit from plugins
2012-11-18 18:37:20 +01:00
Daniel Hokka Zakrisson
5183417de8
Reinstate ANSIBLE_KEEP_REMOTE_FILES
...
Fixes #1395 .
2012-11-18 18:32:45 +01:00
Daniel Hokka Zakrisson
11175781b8
Use slurp for fetch is sudo is enabled and needed
...
Fixes #1020 .
2012-11-18 17:54:00 +01:00
Daniel Hokka Zakrisson
11afd84d32
Drop dwim prefix from returned items in fileglob
...
Fixes #1618 .
2012-11-18 00:25:38 +01:00
Michael DeHaan
1b78dabcd4
Merge pull request #1632 from dhozac/use-ssh-conn-section-for-scp
...
Use the ssh_connection section for scp_if_ssh
2012-11-17 07:41:35 -08:00
Michael DeHaan
3bc0adacbf
Merge pull request #1634 from dhozac/ssh-password
...
Add password support to -c ssh via sshpass
2012-11-17 07:37:51 -08:00
Daniel Hokka Zakrisson
e6fed9f216
Add password support to -c ssh via sshpass
2012-11-16 23:46:49 +01:00
Daniel Hokka Zakrisson
021172f78d
Use the configured remote_tmp even for root
2012-11-16 23:46:17 +01:00
Daniel Hokka Zakrisson
c906f44d90
Use the ssh_connection section for scp_if_ssh
2012-11-16 23:45:47 +01:00
Michael DeHaan
ab5c0dfe7e
__new__ does not take arguments, remove deprecation warning
2012-11-14 19:58:44 -05:00
Michael DeHaan
096607eea4
Allow fireball to transfer binary files, fixup fireball docs, make fetch work with fireball.
2012-11-14 18:37:17 -05:00
Michael DeHaan
d500398e76
Merge pull request #1616 from dagwieers/skip-register
...
Do not register variable if host has been skipped
2012-11-14 06:33:30 -08:00
Michael DeHaan
52e2654faf
Merge pull request #1621 from dhozac/lookup-with-vars
...
Lookup plugin arguments need to be templated
2012-11-14 06:32:39 -08:00
Daniel Hokka Zakrisson
17e4ce97a4
Create a set of all the hosts in a group to prevent duplicates
...
Fixes #1516 .
2012-11-14 13:35:21 +01:00
Daniel Hokka Zakrisson
e74ffd6764
Lookup plugin arguments need to be templated
2012-11-14 11:17:30 +01:00
Dag Wieers
302eeae65d
Do not register variable if host has been skipped
...
Executive summary: skipping a host corrupts a variable (when it is registered)
We have a play existing out of multiple tasks that check a condition, if one of these tasks fails we want to skip all next tasks in the playbook. I noticed that if we skip a task because a certain condition is met, and this task has a register-attribute, I loose the value in the variable. Which means we cannot use that variable in subsequent tasks to evaluate because it was skipped:
```
- action: command test -d /some/directory
register: task
- action: command test -f /some/directory/file
register: task
only_if: '${task.rc} == 0'
- action: do something else
only_if: '${task.rc} == 0'
```
In the above example, if the second task is skipped (because the first failed), the third action will end with a "SyntaxError: invalid syntax" complaining about the unsubstituted ${task.rc} (even though it was set by the first task and used for skipping the second).
The following play demonstrates the problem:
```
- name: Test register on ignored tasks
hosts: all
gather_facts: no
vars:
skip: true
task: { 'rc': 666 }
tasks:
- action: debug msg='skip = ${skip}, task.rc = ${task.rc}'
- name: Skip this task, just to test if task has changed
action: command ls
register: task
only_if: '${skip} != True'
- action: debug msg='skip = ${skip}, task.rc = ${task.rc}'
- name: Now use task value
action: command echo 'Works !'
only_if: '${task.rc} == 0'
```
And the enclosed fix, fixes the above problem.
2012-11-13 16:57:10 +01:00
Michael DeHaan
44af1408ee
Merge pull request #1611 from dhozac/no-hostvars-templating
...
Keep hostvars from being templated
2012-11-13 05:20:48 -08:00
Michael DeHaan
6793bcbe4d
Merge pull request #1613 from dhozac/use-all-vars-for-hosts-template
...
Use all available vars for hosts:, user: and sudo_user:
2012-11-13 04:47:03 -08:00
Michael DeHaan
2303f65a1a
Merge pull request #1614 from dagwieers/missing-action-error
...
Print the task name (if any) when complaining
2012-11-13 04:46:41 -08:00
Dag Wieers
b96877e5aa
Print the task name (if any) when complaining
...
After spending 10 minutes to find which playbook had an action/local_action missing, I changed the error to include the task name (if set). The error eventually was caused because I added a name to a task, but the dash before the existing action was not removed.
2012-11-13 12:53:42 +01:00
Daniel Hokka Zakrisson
0be1f11ed5
Use all available vars for hosts:, user: and sudo_user:
2012-11-13 12:20:07 +01:00
Daniel Hokka Zakrisson
eebbbd3f0e
Make parameterized playbook includes work with vars as a list
...
Fixes #1610 .
2012-11-13 12:12:18 +01:00
Daniel Hokka Zakrisson
c200c26ced
Keep hostvars from being templated
2012-11-13 11:34:34 +01:00
Michael DeHaan
e3f7f86ac4
Merge pull request #1608 from dhozac/when_set-non-string
...
Try to ensure the entire value is quoted
2012-11-12 17:45:47 -08:00
Michael DeHaan
d5be13c3f0
Merge pull request #1605 from romeotheriault/add-md5-support-to-fetch-module
...
add bsd md5 support to fetch module
2012-11-12 17:45:07 -08:00
Daniel Hokka Zakrisson
0ca1775bda
Try to ensure the entire value is quoted
2012-11-13 02:40:29 +01:00
Daniel Hokka Zakrisson
25a8787e95
Template all variables before returning them to Jinja2
2012-11-13 02:39:33 +01:00
Daniel Hokka Zakrisson
d2dce1d63f
Make lookup plugin replacements part of the main variable logic
2012-11-13 02:18:05 +01:00
Daniel Hokka Zakrisson
a2bb3a09d2
Completely ignore stray $ in input
...
Previously, "a $ string $var" would not have gotten replaced at all.
2012-11-13 02:13:10 +01:00
Daniel Hokka Zakrisson
24b536d7ed
Add some comments to templating system
2012-11-13 02:13:04 +01:00
Romeo Theriault
4cd133ed8f
add bsd md5 support to fetch module
2012-11-12 10:37:00 -10:00
Daniel Hokka Zakrisson
233a36b9e8
Template using module_vars early
...
Since no basedir is available at that time, avoid invoking
lookup plugins since they assume it is present.
2012-11-12 16:53:24 +01:00
Michael DeHaan
c890ae18e7
Merge pull request #1575 from dhozac/parameterized-playbook-include
...
Add parameterized playbook includes
2012-11-12 05:17:38 -08:00
Michael DeHaan
3e855a5fcd
Merge pull request #1593 from dhozac/lookup_generic
...
Add support for generic $XXX() to call $LOOKUP()
2012-11-12 05:07:52 -08:00
Michael DeHaan
451f05fa3d
Merge pull request #1594 from sfromm/issue1342
...
Add ability to specify syslog facility for modules
2012-11-12 05:06:47 -08:00
Romeo Theriault
54b7f59416
remove verbose option on digest call
2012-11-11 19:43:40 -10:00
Stephen Fromm
06e54c0b97
Add ability to specify syslog facility for modules
...
Update constants.py so that one can specify environmental variable
ANSIBLE_SYSLOG_FACILITY or syslog_facility in ansible.cfg to define
the syslog facility to use. Alternatively, you can specify
ansible_syslog_facility in inventory. Runner now replaces
the syslog facility in the openlog() call with the default or
the injected variables ansible_syslog_facility.
This also updates hacking/test-module to behave similarly.
2012-11-11 00:14:08 -08:00
Daniel Hokka Zakrisson
9924555623
Add support for generic $XXX() to call $LOOKUP()
2012-11-10 23:46:37 +01:00
Michael DeHaan
40e49b6a5a
Merge pull request #1592 from jpmens/lookup_dnstxt3
...
$LOOKUP(dnstxt): handle exceptions
2012-11-10 08:52:30 -08:00
Jan-Piet Mens
bd55899a60
$LOOKUP(dnstxt): handle exceptions
...
de-spaced
2012-11-10 17:50:21 +01:00
Michael DeHaan
db3e8c0803
Merge pull request #1579 from jpmens/lookup_env
...
Add environment $LOOKUP plugin
2012-11-10 06:30:37 -08:00
Michael DeHaan
35679e0093
Merge pull request #1578 from jpmens/lookup_redis
...
Add Redis GET $LOOKUP plugin
2012-11-10 06:30:10 -08:00
Jan-Piet Mens
6efc98e8a3
Add environment $LOOKUP plugin
...
remove support for multiple vars
2012-11-10 08:26:09 +01:00
Jan-Piet Mens
e3e545418d
Add Redis GET $LOOKUP plugin
...
renamed
2012-11-10 08:21:48 +01:00
Jan-Piet Mens
e32f4a0564
Move get_docstring from module_formatter into ansible/utils
2012-11-09 17:15:41 +01:00
Daniel Hokka Zakrisson
9c095b72b9
Add parameterized playbook includes
...
Also makes with_* work with them.
Fixes #1162 .
2012-11-09 15:43:49 +01:00
Daniel Hokka Zakrisson
383dc30560
Rename varReplaceWithItems to template_ds
2012-11-09 15:43:29 +01:00
Michael DeHaan
325025a5b6
Merge pull request #1574 from dhozac/ssh-moar-data
...
Make sure we get all data
2012-11-09 05:08:27 -08:00
Michael DeHaan
fa17540a06
Merge pull request #1570 from skvidal/addhost
...
Addhost module
2012-11-09 04:51:15 -08:00
Daniel Hokka Zakrisson
e97a22603f
Make sure we get all data
2012-11-09 11:24:57 +01:00
Jan-Piet Mens
38d9dc8bff
Add DNS TXT record LOOKUP plugin
2012-11-09 11:06:49 +01:00
Seth Vidal
70d61fe7e8
need to use the variabled results
2012-11-09 00:16:17 -05:00
Seth Vidal
e147ad4213
add add_host action plugin - add hosts to inventory during a playbook
...
run - lets act on those hosts in the next play
2012-11-09 00:16:17 -05:00
Michael DeHaan
03591e0fc8
Merge pull request #1551 from dagwieers/local_action-fail
...
Turn 'fail' and 'debug' modules into action_plugins
2012-11-08 16:47:24 -08:00
Michael DeHaan
a31ca213a5
Merge pull request #1562 from dagwieers/oneline-fix
...
Make --oneline return one line (except with multiline output)
2012-11-08 16:45:33 -08:00
Michael DeHaan
03f4b0f923
Merge pull request #1560 from dagwieers/module-output-consistency
...
Make module output more consistent wrt. changed/failed
2012-11-08 16:45:05 -08:00
Michael DeHaan
3dc31a049f
Merge pull request #1527 from fdavis/devel
...
Support scp in an ssh connection
2012-11-08 16:42:37 -08:00
Dag Wieers
d42eb2563b
Make --oneline return one line (except with multiline output)
...
Currently the message prepared for --oneline mode adds a newline to the msg-string, which is then printed (adding another newline). This change removes the added newline so that successes and failures do not differ in output (except if the output is multiline).
2012-11-08 14:49:40 +01:00
Dag Wieers
fe0c70fe9d
Make module output more consistent wrt. changed/failed
...
- Make sure exit_json() always returns a changed= value
- Modify the yum module to not return failed=False
- Modify install() and latest() similar to remove() in yum module
- Changed exit_json(failed=True, **res) into a fail_json(**res)
- Make sure yum rc= value reflects loop (similar to how we fixed remove())
2012-11-08 12:28:18 +01:00
Dag Wieers
dd07011a65
Only print 'Invoked with' if there are arguments to the module
...
This closes #1519
2012-11-07 23:51:44 +01:00
Dag Wieers
d8459425a0
Turn 'fail' and 'debug' modules into action_plugins
...
This makes more sense as there is no purpose in running these remotely.
2012-11-07 23:34:53 +01:00
Daniel Hokka Zakrisson
47082a9171
Add $LOOKUP(<lookup plugin>,<data>) as a templating option
...
Also moves file and pipe to lookup_plugins.
2012-11-07 23:17:29 +01:00
Michael DeHaan
a1f7334634
Merge pull request #1525 from jhoekx/custom-filter-plugins
...
Support custom jinja2 filters.
2012-11-07 13:55:21 -08:00
Michael DeHaan
c9ae19c44c
Merge pull request #1547 from dagwieers/action-boolean
...
Bail out if an action is not a string
2012-11-07 13:52:07 -08:00
Dag Wieers
c9e62d7061
Fix for an exception when for whatever reason the inventory script fails
...
This avoids a traceback that gave no clue as to what was happening.
This is in line with the change from #1535
2012-11-07 15:16:00 +01:00
Dag Wieers
dfa1e8b0dc
Bail out if an action is not a string
...
Since YAML allows anything, we should enforce that actions are strings.
This closes #1419 .
2012-11-07 15:04:04 +01:00
Michael DeHaan
75d3b77454
Merge pull request #1535 from dagwieers/inventory-exception
...
Fix for an exception when for whatever reason the inventory script fails
2012-11-07 04:06:33 -08:00
Daniel Hokka Zakrisson
00aa584c57
Don't double dwim first_available_file in template
2012-11-06 20:34:05 +01:00
Dag Wieers
89206a6b68
Fix for an exception when for whatever reason the inventory script fails
...
This avoids a traceback that gave no clue as to what was happening.
2012-11-06 16:39:10 +01:00
fdavis
b1dbeec66c
Allows use of scp instead of sftp in
...
Added a boolean constant scp_if_ssh to the config
Added scp support for the ssh connection plugin
Refers to #1279
2012-11-05 14:25:40 -08:00
Jeroen Hoekx
8ffed6df75
Support custom jinja2 filters.
...
This uses the plugin framework to add filter plugins.
The previously hardcoded core filters are defined using the plugin
framework now.
2012-11-05 15:11:34 +01:00
Michael DeHaan
6f938c9f4c
Merge branch 'playbook_ssh_ask_pass' of git://github.com/clatour/ansible into devel
...
Conflicts:
examples/ansible.cfg
+ doc tweak
2012-11-03 19:23:38 -04:00