Jonathan Palley
faed650bb1
allow vars in delegate_to
2012-09-26 03:47:17 +08:00
Jonathan Palley
620accf117
make delegate_to localhost act like local_action
2012-09-26 02:57:00 +08:00
Dag Wieers
6b6e3c64c8
Fix a typo in the prompt code
...
This is unfortunately related to not being able to reuse the same code that was tested.
2012-09-25 11:51:33 +02:00
Michael DeHaan
734db4ffe9
Merge pull request #1080 from dagwieers/prompt-only_if
...
Add an only_if option to vars_prompt to make prompts conditional
2012-09-24 17:42:17 -07:00
Dag Wieers
4e9a970616
Add an only_if option to vars_prompt to make prompts conditional
...
Sometimes you may want to allow variables through host_vars or inventory, but prompt for a value if it is not set or if the value does not conform to something specific. This option allows you to specify when you want to offer a prompt.
This patch also moves check_conditional to utils, and adds an is_unset() function which is nicer to read:
only_if: "not is_set('${var}')"
vs
only_if: "is_unset('${var}')"
2012-09-24 23:55:54 +02:00
Dag Wieers
069feb5d9c
Template the variable prompt to customize the message
...
We have a password-prompt for a configurable login name. Since we require to ask the password for this specific login, it is important to indicate what password needs to be prov ided on the prompt. So the prompt needs to be templated. That's what this patch does.
2012-09-24 22:37:51 +02:00
Daniel Hokka Zakrisson
cc948f339c
Allow including files through variables
...
$FILE{file} will be replaced with the contents of "file"
$PIPE{cat file} will be replaced with the output of "cat file"
2012-09-19 17:57:17 +02:00
Michael DeHaan
b8c4bb9e6e
Revert "Allow including files through variables"
...
This reverts commit bf47bb4753
.
Conflicts:
lib/ansible/utils.py
test/TestUtils.py
2012-09-19 10:31:23 -04:00
Michael DeHaan
b25b9fd840
Merge pull request #1058 from jkleint/devel
...
Support iteration over command output in with_items.
2012-09-18 17:55:40 -07:00
Michael DeHaan
544a8e44d7
Merge pull request #1053 from dhozac/varreplace-include
...
Allow including files through variables
2012-09-18 17:53:02 -07:00
John Kleint
2a002f5c0b
Support iteration over command output in with_items.
...
When the output of a command is stored in a register, this will create a
stdout_lines field in the result object that contains stdout split into a list
of lines. This list can then be iterated over using with_items.
2012-09-17 16:57:33 -04:00
Daniel Hokka Zakrisson
dd11b01350
Keep delegate_to so all auxiliary logic based on that works
2012-09-17 20:28:14 +02:00
Daniel Hokka Zakrisson
5bb0f6908b
Allow transport on tasks, and use it for local_action
2012-09-17 18:28:37 +02:00
Daniel Hokka Zakrisson
bf47bb4753
Allow including files through variables
...
$FILE{file} will be replaced with the contents of "file"
$PIPE{cat file} will be replaced with the output of "cat file"
2012-09-17 16:03:59 +02:00
Lorin Hochstein
b9e100a506
Support import of playbooks in other directories
...
Previously, importing a playbook in a different directory didn't
work because all of the relative paths were resolved relative to
the top-level playbook.
This patch resolves relative paths on a per-play level instead of
relative to the directory of the top-level playbook.
Also removes the dirname argument from the Play._get_vars method
since this argument wasn't used in the metho dbody.
2012-09-09 22:59:56 -04:00
Daniel Hokka Zakrisson
7a201dbb2e
Keep result pristine for ignore_errors
2012-09-04 22:40:07 +02:00
Michael DeHaan
00c4c5c4a1
If tags "all" is used, don't choke.
2012-08-28 20:33:36 -04:00
Michael DeHaan
4002cfbdcd
Minor string tweak.
2012-08-27 21:31:20 -04:00
Mark Theunissen
2755602dcb
Check to make sure that tags passed as parameters actually exist
2012-08-27 21:27:07 -04:00
Michael DeHaan
2833f48ed3
Make a particular error about an invalid include statement a bit clearer.
2012-08-21 22:08:08 -04:00
Dave Peticolas
4b4bcdedc1
Fix off-by-one serial count (causing infinite loop for serial == 1).
2012-08-21 13:43:05 -07:00
Tim Bielawa
4121109665
Local actions, they're like aliases for actions with localhost
...
delegates.
Closes #905
2012-08-20 18:26:21 -04:00
Michael DeHaan
898d7676f7
Adds the 'serial' keyword to a playbook which controls how many hosts can be running through a playbook at a single time.
...
The default is 0, which means all hosts. If set to 1, each host would run a playbook all the way through before moving
on the next host. Fact gathering is still parallel, regardless of the serial setting.
2012-08-18 09:52:13 -04:00
Michael DeHaan
f07e55c568
Adds 'delegate_to' as a task option which can be used to signal load balancers and outage windows.
2012-08-18 08:46:51 -04:00
Michael DeHaan
de221e6b4b
Add vars to host_vars to prevent some suprises
2012-08-14 20:35:01 -04:00
Michael DeHaan
6de8c27085
Load parent groups when processing group_vars
2012-08-14 19:48:33 -04:00
Dave Peticolas
b42e835aab
Always load group_vars and host_vars.
2012-08-13 21:08:05 -07:00
Michael DeHaan
72faf8eb0a
fix indents
2012-08-11 12:20:16 -04:00
Michael DeHaan
1c81ddf8d4
add the limit option, which can be used to further confine the patterns selected by "hosts:" in ansible-playbooks
...
to an additional pattern (a subset) specified on the command line. For instance, a playbook could be reusable
and target "webservers" and "dbservers", but you want to test only in the stage environment, or a few boxes at a time.
2012-08-10 02:45:29 -04:00
Michael DeHaan
05a128c2be
Add ability to store and access module results later on in the play. See examples/playbooks/register_logic for details.
2012-08-10 01:13:37 -04:00
Michael DeHaan
6c5761a79e
Store the ${last_result} for each host to make it usable in only_if conditionals and such.
2012-08-10 00:58:53 -04:00
Michael DeHaan
05d6e74cce
Merge branch 'vars_prompt_encrypt' of https://github.com/cocoy/ansible into devel
2012-08-09 21:41:12 -04:00
Michael DeHaan
07f459f3b2
Allow user to be passed in via --extra-vars
2012-08-09 21:14:30 -04:00
Michael DeHaan
98a5565106
Fixing up parameterized task includes such that variables can be easily handed to them.
2012-08-09 21:09:12 -04:00
Rodney Quillo
d1f821361d
vars_prompt encrypt from mgw
2012-08-09 22:56:40 +08:00
Michael DeHaan
846186e2fc
Add -vvv support for debugging activity
2012-08-08 21:09:14 -04:00
Michael DeHaan
faed4b5a33
whitespace + remove deprecated YAML parser (migration script lives in examples/scripts and warning was added
...
in 0.6 release)
2012-08-06 20:07:02 -04:00
Michael DeHaan
b76efa39be
Fix some templating issues, needs testing with anti-unicode safeguard around shlex.split
2012-08-02 20:21:59 -04:00
Michael DeHaan
c192d8a2b2
Revert "Apply templating to module arguments in playbook"
...
Breaks copy module by introducing unicodeness, among other things
This reverts commit 4fedb17e38
.
2012-08-01 23:07:15 -04:00
Michael DeHaan
38ed7ca7df
Merge pull request #759 from lorin/error-feedback
...
If task action is invalid, output the name in error message
2012-08-02 05:39:53 -07:00
Lorin Hochstein
aed6ee7f74
Report only name in task error, all on one line
2012-08-02 08:37:43 -04:00
Lorin Hochstein
fa9fe9d246
If task action is invalid, output the name and action.
2012-08-01 23:51:25 -04:00
Will Thames
4fedb17e38
Apply templating to module arguments in playbook
...
Module arguments should have variable substitution applied
Also, replacing task.action with the templated task.name seems wrong
2012-08-01 22:22:46 -04:00
Michael DeHaan
86ec639176
add error handling if you try to load files in the wrong data format
2012-08-01 19:51:52 -04:00
Michael DeHaan
08c5fe875b
yell if input data for host or group vars are not hashes
2012-08-01 19:46:33 -04:00
Petros Moisiadis
5f4bf813b1
added an 'ignore_errors' option to tasks
...
Failed tasks with ignore_errors=True, allow the remaining tasks in the
play to be executed as if no failure happened. A failure notice is still
written to the output as well as an '...ignoring' message.
2012-08-01 19:13:07 +03:00
Michael DeHaan
ee5f12cd40
Slight tweaks on vars_prompt upgrades
2012-07-27 19:00:48 -04:00
Petros Moisiadis
c717934b7e
Improved 'vars_prompt' syntax to support prompt text and (non-)private input
...
An example of the new syntax:
vars_prompt:
- name: 'secret_variable_name"
prompt: "Enter secret value: "
private: "yes"
- name: "nonsecret_variable_name"
prompt: "Enter non-secret value: "
private: "no"
2012-07-27 19:00:48 -04:00
Michael DeHaan
19fc8eea80
Things that happen inside multiprocessing shouldn't make side effects, ergo append ansible_facts only
...
in playbook code.
This technically means with_items calls can't continuously add facts I guess, but I can't see anyone
ever trying that.
2012-07-25 21:30:49 -04:00
Michael DeHaan
da4562f495
changes to not clear the setup cache between runs, and also decide to run plays with no tasks
...
in them if it looks like they are not tagged, because if that is the case, then we may just
be gathering facts about them.
2012-07-25 20:45:51 -04:00
Michael DeHaan
617f9dc942
Added some caching logic to improve external inventory scripts, removed some debug statements.
2012-07-22 11:53:19 -04:00
Michael DeHaan
396b81b647
Remove this check as it wasn't really needed and in recent refinements keeps the group_vars stuff from working
...
as desired.
2012-07-22 10:06:10 -04:00
Michael DeHaan
b574c70006
host and group vars should update the setup cache
2012-07-20 10:00:51 -04:00
Michael DeHaan
ba3466af95
The following paths are now implict and optional in vars_files:
...
./group_vars/groupname.yml (for all groups the host is in)
./host_vars/hostname.yml (for the hostname given in the inventory)
This requires an actual inventory file, not script and the paths are relative
to the directory of the inventory file.
2012-07-20 09:43:45 -04:00
Peter Sankauskas
4b66d98332
Adding missing colon... can't believe I missed that... sorry
2012-07-18 17:48:13 -07:00
Michael DeHaan
b38f8bfa80
Merge pull request #620 from pas256/patch-1
...
Conditional Imports should only import the first vars_file found in list
2012-07-18 16:31:45 -07:00
Peter Sankauskas
413fb15e0a
Conditional Imports should only import the first file in the list, not all of them. This change stops looping through the vars_files list as soon as a file is found.
2012-07-18 15:31:04 -07:00
Jeroen Hoekx
f1b1611956
Fix typo while handling custom facts.
...
This fixes #611 .
2012-07-18 11:50:34 +02:00
Michael DeHaan
8bb8314d10
Inject vars need to pushed further up to make with_items work as desired.
2012-07-17 20:09:18 -04:00
Michael DeHaan
3c2cbae68e
Plays and tasks now yell when they see parameters they do not understand, so that typos like 'var' for 'vars'
...
don't result in people having to ask questions about what is wrong with their playbook
2012-07-17 19:09:36 -04:00
Michael DeHaan
e4a546e8bb
Make it possible to use variables from 'vars' in the paths to task level include statements.
2012-07-17 18:57:02 -04:00
Michael DeHaan
5f69c557b9
Fix for the way host variables were being swallowed, plus some overall simplification. Deciding what
...
dictionary to use for templating now happens in exactly one place (executor_internal) and the "inject"
dictionary is passed to what needs it.
2012-07-15 14:19:11 -04:00
Michael DeHaan
1754de3335
Misc code cleanup, mostly whitespace preferences, removing unused imports, plus a few fixes here and there.
2012-07-15 12:29:53 -04:00
Michael DeHaan
6341e75e33
misc code cleanup
2012-07-15 11:20:59 -04:00
Michael DeHaan
1d8bb17785
misc code cleanup
2012-07-15 10:57:22 -04:00
Michael DeHaan
68a9adc1be
Indentation cleanup (partial)
2012-07-15 09:32:47 -04:00
Michael DeHaan
61d8e2e7c7
with_items should be processed inside the task class, also make first_available_file
...
and with_items incompatible. Most cases that would need this could be solved
with vars_files.
2012-07-15 09:17:04 -04:00
Michael DeHaan
706cfd9ade
Misc cleanup -- moved function out of utils, removed debug statement.
2012-07-15 08:50:23 -04:00
Michael DeHaan
60d64251f8
Allow gather_facts: False in a playbook as a way of disabling the fact step if you know
...
you aren't going to need it.
2012-07-14 19:49:42 -04:00
Michael DeHaan
64c51ade1e
Change the way we do with_items to make them happen next to each other in runner, which eliminates the problem of with_items and vars_files sometimes not playing nice with each other.
...
(Also a fix for the user module error handling when the user
is not present at the time of the return. This can only really be caused by multiple ansible executions).
2012-07-14 19:18:33 -04:00
Michael DeHaan
028f216689
Error handling and magic around with_items, to let you know when variables are usable inside it and when not.
2012-07-14 13:23:14 -04:00
Michael DeHaan
102b22be1f
Make the logic behind vars_files smarter, so host specific vars go into the setup cache, but other variables
...
are usable top level. This allows vars_files data to be used, most of the time, just fine in with_items,
(error handling pending) but is mostly a memory and efficiency thing.
2012-07-14 13:12:19 -04:00
Michael DeHaan
15b2b3a020
Warn if something loaded by vars_files is not a dictionary
2012-07-14 12:39:06 -04:00
Michael DeHaan
279b5965b8
Much streamlining around setup steps in playbooks, now only run setup once per play.
2012-07-14 12:24:19 -04:00
Michael DeHaan
611e5b0c90
Make adding tags to a playbook work as shorthand to tagging all tasks in the play.
2012-07-12 00:58:48 -04:00
Michael DeHaan
a765deccce
Allow top level playbook files to import other playbook files, added some basic
...
playbook structure checking.
2012-07-12 00:19:44 -04:00
Michael DeHaan
969c3feb13
Allow include statements from plays to specify tags (see tags.yml example file).
...
Also be smart and don't run a play at all if no tasks in the play match any of the tags specified. This includes not running the setup actions!
2012-07-11 20:33:46 -04:00
Michael DeHaan
83f23ef861
Basic support for tagging tasks and selecting a subset of tasks to run with --tags.
2012-07-11 19:51:26 -04:00
Michael DeHaan
efac68b636
Remove the -D module debug flag, which no longer is functional due to sudo pty requirements, and replace with -v/--verbose.
...
This flag will show playbook output from non-failing commands. -v is also added to /usr/bin/ansible, but not yet used.
I also gutted some internals code dealing with 'invocations' which allowed the callback to know what module invoked
it. This is not something 0.5 does or needed, so callbacks have been simplified.
2012-06-19 21:57:43 -04:00
Jeroen Hoekx
879ddddf6f
Add ./library to module search path.
...
It allows for custom modules in the best practices directory structure.
Bundling custom modules along with playbooks in packages is useful.
2012-06-25 21:08:43 +02:00
Daniel Hokka Zakrisson
a05da2d312
Allow with_items to specify a variable
2012-06-09 21:59:22 +02:00
Daniel Hokka Zakrisson
933b5e8631
Reduce code duplication
2012-06-09 21:50:46 +02:00
Michael DeHaan
e8e6c98016
Merge pull request #455 from dhozac/vars_files-non-list
...
Expand vars_files identically for lists and non-lists
2012-06-08 12:19:47 -07:00
Daniel Hokka Zakrisson
ad7b744764
Allow variables in notify list
2012-06-08 01:35:23 +02:00
Daniel Hokka Zakrisson
dff8d7be04
Expand vars_files identically for lists and non-lists
2012-06-08 01:32:56 +02:00
Michael DeHaan
1ee7ff2f7b
To allow plays using different user accounts in the same playbook to function, clear the setup cache
...
between plays.
2012-05-31 22:08:00 -04:00
John Kleint
70837469c6
Properly template list of hosts in playbooks.
...
In playbooks, hosts can be a YAML list. We templated the list before
converting it to a semicolon-separated string, which actually templated its
repr. This converts to a string first. A basic unit test is included.
2012-05-31 16:06:21 -04:00
Brad Olson
c34921fe7b
Removed legacy comment.
2012-05-30 15:37:14 -04:00
Michael DeHaan
af9651f015
Merge pull request #420 from bradobro/fix_no_varfiles
...
Test for play.vars_files == None, avoiding nasty traceback.
2012-05-29 08:32:47 -07:00
Brad Olson
7ea4a0e895
Avoid traceback when vars file has no vars items. Could warn or fail instead.
2012-05-29 10:23:09 -04:00
Brad Olson
32b9ea689a
Test for play.vars_files == None, avoiding nasty traceback. Ignores for now. Could warn.
...
Playbook test for no vars_files with len(), but that excepts if play.vars_files==None, as can happen when there's a vars_files section with no vars files listed. What is the ansible way: ignore, warn, or fail with message (instead of traceback)?
2012-05-29 10:09:38 -04:00
Cosmin Luță
74bfd7eb81
Removed line that caused stacktrace
2012-05-27 14:15:30 +03:00
Michael DeHaan
4664e354c3
Get with_items to work with new play/task architecture.
2012-05-26 01:49:23 -04:00
Michael DeHaan
ecb944892d
Tweaks on previous refactoring of playbook, version bump a 0.4 reference, remove some debug, etc
2012-05-26 01:20:53 -04:00
Michael DeHaan
b9b53d1941
Playbook refactoring -- work in progress.
2012-05-26 00:37:34 -04:00
Michael DeHaan
cf9ddf3a30
Reorganizing file structure. Not done.
2012-05-25 19:34:13 -04:00