Commit Graph

872 Commits (5bb8dcea08d0edb3aafcabc3af76f8832edfcfe2)

Author SHA1 Message Date
Michael DeHaan ce01c3f7e7 Allow unicode transfer by not base64 encoding. Also: faster 12 years ago
Michael DeHaan 227dfc17f3 fix tree output 12 years ago
Michael DeHaan 05df6464ef Make module args as unicode more or less not choke. 12 years ago
Michael DeHaan b76efa39be Fix some templating issues, needs testing with anti-unicode safeguard around shlex.split 12 years ago
Seth Vidal f924c96370 remove the tab I found
DIE TAB DIE
pep8
12 years ago
Michael DeHaan c192d8a2b2 Revert "Apply templating to module arguments in playbook"
Breaks copy module by introducing unicodeness, among other things

This reverts commit 4fedb17e38.
12 years ago
Michael DeHaan 38ed7ca7df Merge pull request #759 from lorin/error-feedback
If task action is invalid, output the name in error message
12 years ago
Lorin Hochstein aed6ee7f74 Report only name in task error, all on one line 12 years ago
Lorin Hochstein fa9fe9d246 If task action is invalid, output the name and action. 12 years ago
Michael DeHaan fe87a16a3e Make yum module use one-pass with with_items 12 years ago
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
12 years ago
Will Thames d43d81a9a4 Raise exception when sudo user does not exist
sudo can fail before getting to the password prompt if a user does not exist
<pre>
[will@tangerine ansible (sudo_missing_user)]$ sudo -u bobbins echo hello
sudo: unknown user: bobbins
sudo: unable to initialize policy plugin
</pre>
Fix raises a distinct exception when that occurs
12 years ago
Michael DeHaan 25acfa8170 Join with_items for the apt module, yum pending, and various fixes to the yum module to support aliases 12 years ago
Michael DeHaan 86ec639176 add error handling if you try to load files in the wrong data format 12 years ago
Michael DeHaan 08c5fe875b yell if input data for host or group vars are not hashes 12 years ago
Michael DeHaan ed14312ad6 reinstate invalid argument checks where possible, daisy chainee/chained modules turn it off 12 years ago
Petros Moisiadis 2ac4acbf97 fixes for tests 12 years ago
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.
12 years ago
Michael DeHaan f60517aa33 temporarily disable failing check on some things 12 years ago
Ahmad Khayyat 6728b6cdda Allow = symbols in variable values in host inventory 12 years ago
Michael DeHaan 8700de964c Teach the common module code to warn users about typo'd arguments and also set everything to None automatically such
that code doesn't have to do a lot of params.get('foo', None) everywhere.
12 years ago
Timothy Appnel b30f4688cd concatenating stdout and stderr in runner/__init__'s _low_level_exec_command. 12 years ago
u348095 7e279f972e Use sudo_user as an argument in the sudo command 12 years ago
Michael DeHaan 8e60ad986a Do not log login_password params to DB module 12 years ago
Michael DeHaan da44fb1e43 Fixes #731 by reinstating variables for inventory scripts 12 years ago
Michael DeHaan ff82f0a168 Further service module tweaks 12 years ago
Peter Sankauskas 0188889aea Making inventory pattern matching handle group names 12 years ago
Michael DeHaan d0f0315c9d Merge pull request #723 from skvidal/devel
fix trace-creating error in apt module - also make the default setting a...
12 years ago
Seth Vidal 21a35bde00 new patch - adds a 'boolean' function to the module_common class and cleans up
the apt module to use it
12 years ago
Derek Carter 547395a2be added inventory_hostname_short varible 12 years ago
willthames ad9b8e2312 Output version string when --version is passed using optparse's version argument 12 years ago
Michael DeHaan 17be5537d6 When sudoing to another user, the umask may be set such that the next user might not be able to read/execute
the file.  Deal with this.
12 years ago
Michael DeHaan fcdc281c28 If sudoing to a user other than root, the home directory of the original user is very unlikely to be readable by the
sudoed to user, so just use tmp.  Data will be readable by others (briefly before deletion) but never writeable.
12 years ago
Michael DeHaan aa40c5f3b3 remove commented out debug lines 12 years ago
Michael DeHaan ee5f12cd40 Slight tweaks on vars_prompt upgrades 12 years ago
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"
12 years ago
Michael DeHaan a65b4fef97 Fix up chain invocations of template 12 years ago
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.
12 years ago
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.
12 years ago
Michael DeHaan f371092845 rm stray comment 12 years ago
Michael DeHaan e035ce97ce blue on black, tears on a river, push on a shove, it don't mean much
(make colorized playbook runs not suck on black terminals)
12 years ago
Lorin Hochstein b63a3bd0c7 Save module name and args when processing list of items.
This is necessary because daisy-chained modules will overwrite
these values.
12 years ago
Michael DeHaan 8d7f526df6 importing/not-importing methods should be colorized 12 years ago
Michael DeHaan d3e8e8ff54 Fix output message 12 years ago
Michael DeHaan c16b691883 Copy module needs to use src as transfer path. 12 years ago
Michael DeHaan 263432daa1 Changed no hosts to red. Not sure this is the right color choice, but there is no orange :) 12 years ago
Michael DeHaan 82cca242e3 use AnsibleError so that if there is an error it does not print a traceback 12 years ago
Michael DeHaan 8fa4dc3920 Small change to previous patch, make ranges of hosts inclusive. 12 years ago
Michael DeHaan 416b8d59a9 Merge branch 'devel' of https://github.com/fangchin/ansible into devel 12 years ago
Michael DeHaan 15062b38e1 Fix typo 12 years ago
Michael DeHaan 12ff9b5b9a Move color coding bits to module, use over rest of playbook 12 years ago
Chin Fang 5315dd146d Added lib/ansible/inventory/expand_hosts.py 12 years ago
Chin Fang e3b2521f01 Added a host expansion feature to ansible's inventory parsing 12 years ago
Jan-Piet Mens 44a9226ece file mode now correctly set after chaining from copy 12 years ago
Michael DeHaan 3a2df329af Tweak the way chained callbacks work 12 years ago
Michael DeHaan dd6399b5ae Fixup args being passed into file from copy, tweak preservation of changed attribute. 12 years ago
Michael DeHaan 153f3932b5 reinstate delete_remote_files 12 years ago
Michael DeHaan 632a83c79e Remove unused function 12 years ago
Michael DeHaan 479f8b8c26 Templating neccessary here. 12 years ago
Michael DeHaan 9b8793e42e Fix a glitch with daisy chain logic 12 years ago
Michael DeHaan 183330a9fa Merge pull request #662 from tima/regex-cond-tasks
Importing re in runner for doing conditional tasks using pattern matching i.e. re.search(). Also conditionally outputting item when skipping.
12 years ago
Michael DeHaan cbea17e4c5 Fix up async 12 years ago
Michael DeHaan cac7afd700 async is under construction 12 years ago
Michael DeHaan 1f44c07ddf Fix assemble usage, some issues still with async. 12 years ago
Timothy Appnel 4b9b9a8a5b Importing re in runner for doing conditional tasks using pattern matching i.e. re.search(). Also conditionally outputting item when skipping. 12 years ago
Michael DeHaan ec12cc4154 Save the transfer of the module file for new style modules, because we can inject the arguments into the modules.
Module consumers using the API don't have to know how this works.  base64 stuff is only there
because escaping a docstring inside a docstring was a bit of a challenge :)
12 years ago
Michael DeHaan 617f9dc942 Added some caching logic to improve external inventory scripts, removed some debug statements. 12 years ago
Michael DeHaan 57f12ac9e3 Using __slots__ in more places, in particular, hosts and groups, where we are apt to create a fair amount of objects. 12 years ago
Michael DeHaan 0b891fc8fb Tweaking daisychain internals to allow get_url to modify the path destination when downloading to a directory.
Minor module refactoring.
12 years ago
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.
12 years ago
Michael DeHaan d0f4358730 Port the copy module over to the new "common module" logic. 12 years ago
Michael DeHaan d76c8c9c85 Various cleanup around runner's constructor and how daisy chaining is invoked. 12 years ago
Michael DeHaan 1682dd06c0 Avoid duplicate call to fetch inventory variables 12 years ago
Michael DeHaan 54c9c1e25c Some streamlining of first_available_file code 12 years ago
Michael DeHaan 2d06ee4c0d Fix some subtle things that were keeping 'hostvars' from being usable in templates. 12 years ago
Michael DeHaan 2b6d8a8be5 Fix some issues with the setup cache 12 years ago
Michael DeHaan 5a67a556cd Script to migrate YAML users to the INI format, so we can deprecate YAML inventory (which we are now doing). 12 years ago
Michael DeHaan dcca08b27b Don't let with_items erase 'hostvars' 12 years ago
Michael DeHaan b574c70006 host and group vars should update the setup cache 12 years ago
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.
12 years ago
Michael DeHaan db1a4d8fac Make 'assemble' use the new daisychain logic 12 years ago
Michael DeHaan 6fb74ae2f9 preserve 'changed' attributes in daisychain logic 12 years ago
Michael DeHaan d72c0c8898 replace module daisy-chaining logic 12 years ago
Michael DeHaan 6e84374c2a Make hostvars work post refactoring 12 years ago
Michael DeHaan b0eedfbf92 Merge pull request #639 from goozbach/issue-627
improved output in with_items fixes: #627
12 years ago
Michael DeHaan 85b9fa580c Merge pull request #644 from bradobro/common_fix
AnsibleModule now correctly reads param values with '"'.
12 years ago
bradobro a4a09fec82 AnsibleModule (in module_common.py) now correctly reads param values containing '='. 12 years ago
Stephen Fromm 8195375412 Sanitize possible password argument when logging invocation; taken from user module 12 years ago
Derek Carter 34e2584220 improved output in with_items fixes: #627 12 years ago
Rodney Quillo 5f068913ee Suppress Ubuntu ssh -tt error ioctl error. 12 years ago
Michael DeHaan a94ec130d2 Common module code upgrades 13 years ago
Michael DeHaan 9006d4557d Added code to allow insertion of boilerplate into modules to make them able to share lots of code, the result
should be a huge reduction of total ansible source, at a slight cost of difficulty in original module development.

We need to apply this now to all modules, but may need to have some exemptions to things like command, which should
subclass this module.
13 years ago
Peter Sankauskas 4b66d98332 Adding missing colon... can't believe I missed that... sorry 13 years ago
Michael DeHaan b38f8bfa80 Merge pull request #620 from pas256/patch-1
Conditional Imports should only import the first vars_file found in list
13 years ago
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. 13 years ago
Seth Vidal 5ad9bc8833 when using -i"hostname," on the cli - don't complain about the host named "" not being a host - just clip it from the list 13 years ago
Michael DeHaan bfed0f14ec Merge pull request #613 from ludovicc/devel
Allow local plays to execute when --ask-sudo-pass is used on the command line
13 years ago
Ludovic Claude 26dc607c5c Revert "Change previous fix to a one line change relative to upstream"
This reverts commit 0d53b1b097.
13 years ago
Ludovic Claude 0d53b1b097 Change previous fix to a one line change relative to upstream 13 years ago
Ludovic Claude c4303c8c04 Avoid spurious error when mixing a local play with remote plays depending on --ask-sudo-pass 13 years ago
Jeroen Hoekx f1b1611956 Fix typo while handling custom facts.
This fixes #611.
13 years ago
Michael DeHaan 8bb8314d10 Inject vars need to pushed further up to make with_items work as desired. 13 years ago
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
13 years ago
Michael DeHaan e4a546e8bb Make it possible to use variables from 'vars' in the paths to task level include statements. 13 years ago
Dave Hatton 72ca9e58e7 meaningful messages if the remote md5 fails 13 years ago
Michael DeHaan 0edd0d4736 Fixing template calls 13 years ago
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.
13 years ago
Dave Hatton c3205595b3 format fixes to make fetch more usable 13 years ago
Michael DeHaan b542dd8466 Fix import in ssh connection 13 years ago
Michael DeHaan 80edea2934 with_items handling code should apply to all modules, was screwed up in refactoring to only apply to 'normal'
modules.
13 years ago
Michael DeHaan 1754de3335 Misc code cleanup, mostly whitespace preferences, removing unused imports, plus a few fixes here and there. 13 years ago
Michael DeHaan 4b73931351 misc code cleanup, don't pass parameters to the connection object we can already get from Runner 13 years ago
Michael DeHaan 6341e75e33 misc code cleanup 13 years ago
Michael DeHaan 031ba43d22 minor code cleanup 13 years ago
Michael DeHaan 1d8bb17785 misc code cleanup 13 years ago
Michael DeHaan 5a63a48e6b No need to feed variables into the setup module for preservation since the file is no longer saved to disk. 13 years ago
Michael DeHaan 227c500ad7 Misc cleanup/formatting 13 years ago
Michael DeHaan 867b2437cc consolidate output code in callbacks.py, from utils, remove extra functions 13 years ago
Michael DeHaan bc71c6ddd7 add space between function 13 years ago
Michael DeHaan cb55cd6f8d removed unused function 13 years ago
Michael DeHaan 68a9adc1be Indentation cleanup (partial) 13 years ago
Michael DeHaan 244b923559 No longer need to calculate setup metadata location since we don't write
the setup file to disk.
13 years ago
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.
13 years ago
Michael DeHaan 706cfd9ade Misc cleanup -- moved function out of utils, removed debug statement. 13 years ago
Michael DeHaan 19a2fc00dc Clean up imports in utils, add nicer recursion depth limit check. 13 years ago
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.
13 years ago
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).
13 years ago
Michael DeHaan 028f216689 Error handling and magic around with_items, to let you know when variables are usable inside it and when not. 13 years ago
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.
13 years ago
Michael DeHaan 15b2b3a020 Warn if something loaded by vars_files is not a dictionary 13 years ago
Michael DeHaan 279b5965b8 Much streamlining around setup steps in playbooks, now only run setup once per play. 13 years ago
Michael DeHaan 931f9f1a61 Setup module no longer saves to disk, as templates are mostly useful in playbooks and this allows lots of simplifications
around file pathing and removes occasional permissions conflicts depending on how things are used.
13 years ago
Michael DeHaan 60f295f7a0 Squashed commit of the following:
commit 4430ce3eefcdff0b0ceffea0ef66ea8e876a807d
Merge: 631783b 649963c
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Thu Jul 12 01:28:43 2012 -0400

    Merge branch 'host-groups' of https://github.com/dagwieers/ansible into daggroups

commit 649963ca2c
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 23:01:00 2012 +0200

    Added comments in the example yaml file as requested

commit 7f9718f185
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 22:49:38 2012 +0200

    Add the default nose color too, to test specific overrides

commit eb63b9e899
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 22:44:35 2012 +0200

    Introduce comics and cartoons to test yaml groups defined on a per-node basis

commit aa13d23307
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 19:33:15 2012 +0200

    A small fix to revert to old state

commit 264ebaa77c
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 19:31:51 2012 +0200

    Combine both yaml unit tests into one example file

commit 7db49a8048
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 16:46:53 2012 +0200

    Might as well fix this too

commit f36c6c8c5b
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 16:42:00 2012 +0200

    Added unit tests for host-groups patch

    For the unit test I chose to keep the original yaml file in place as a reference.

    This patch also includes a fix.

commit a96f681352
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 12:30:43 2012 +0200

    Allow groups to be defined on a per-host basis

    This makes it possible to define on a per-host basis what groups a host is in.
    When managing a large set of systems it makes it easier to ensure each of the
    systems is defined in a set of groups (e.g. production/qa/development,
    linux/solaris/aix) rather than having to add systems to multiple disconnected
    groups.

    ----
      - host: system01

      - host: system02

      - host: system03

      - group: linux
        hosts:
        - system01
        - system02

      - group: solaris
        hosts:
        - system03

      - group: production
        hosts:
        - system01
        - system03

      - group: qa
        - system02

      - group: dbserver
        hosts:
        - system01

      - group: ntpserver
        hosts:
        - system02

      - group: webserver
        - system03
    ----

    Can be redefined as:

    ----
      - host: system01
        groups: [ linux, production, dbserver ]

      - host: system02
        groups: [ linux, qa, ntpserver ]

      - host: system03
        groups: [ solaris, production, webserver ]
    ----
13 years ago
Michael DeHaan 611e5b0c90 Make adding tags to a playbook work as shorthand to tagging all tasks in the play. 13 years ago
Michael DeHaan cf313cde96 Soft import of paramiko since we have the SSH and local connection types now. Packaging will still
require it.
13 years ago
Michael DeHaan a765deccce Allow top level playbook files to import other playbook files, added some basic
playbook structure checking.
13 years ago
Dag Wieërs cb40778b84 Wrong evaluation of a local file before fetching the remote file 13 years ago
Timothy Appnel 84fa9dcaee The default private key file was getting set incorrectly from environment variables. My bad. 13 years ago
Ingo Gottwald 26aa4e2469 Enabled cowsay support for Ubuntu 13 years ago
Michael DeHaan dc4ebab345 Merge pull request #576 from davehatton/adjust_playbook_output_formating
improve output formating for playbook
13 years ago
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!
13 years ago
Michael DeHaan 83f23ef861 Basic support for tagging tasks and selecting a subset of tasks to run with --tags. 13 years ago
Dave Hatton 7ecdb83800 improve output formating for playbook 13 years ago
John Kleint 375a1eaf43 Use iterative MD5 hashing. 13 years ago
Dave Hatton 55694db7c3 switch to hashlib.md5 or md5 instead of OS md5 commands 13 years ago
Michael DeHaan 0d28466b22 When sudo'ing to root, keep the setup file location as /etc/ansible/setup 13 years ago
Michael DeHaan c2b8fabf66 Take a remote md5sum before a file transfer to decide whether to transfer the file or not.
Allows for efficient transfer of large files.  Templates do not sample first because they are small.
13 years ago
Michael DeHaan 8220d57690 Clean up md5 functions + make the fetch module stay happy if the remote file does not exist. 13 years ago
Michael DeHaan b551eba6d4 Comment uncommented methods in utils 13 years ago
Michael DeHaan a490213d45 Release bump to start development on 0.6 13 years ago
Michael DeHaan e3aba7770f Merge pull request #518 from brainpage/devel
adds 'groups' variable, essentially making hosts file accessible as a var
13 years ago
Daniel Hokka Zakrisson 9882dd56f6 Allow variables in variables in templates 13 years ago
alex f72b1f4fd7 Fixed: pathname for tmp 13 years ago
alex bbf2939063 Fixed: executing templates outside playbooks 13 years ago
Jonathan Palley cedbcfcc0a adds 'groups' variable, essentially making hosts file accessible as a variable 13 years ago
Michael DeHaan a5dd280149 Fix up the output of the raw module when run within /usr/bin/ansible 13 years ago
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.
13 years ago
Jeroen Hoekx d592e15dcc Correctly add ungrouped hosts to 'ungrouped' in YAML inventory. 13 years ago
Michael DeHaan afb2e3e5ac Merge pull request #511 from dsummersl/devel
added ability to ovverride all ssh settings via ANSIBLE_SSH_ARGS
13 years ago
Dane Summers 37fce9c0f6 added ability to ovverride all ssh settings via ANSIBLE_SSH_ARGS 13 years ago
Michael DeHaan 8468e2255b Merge pull request #507 from jhoekx/convention-library-path
Add ./library to module search path.
13 years ago
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.
13 years ago
Jeroen Hoekx 6c92d2fa88 Import ansible errors in Poller. 13 years ago
Michael DeHaan 618924a24f Merge pull request #497 from davehatton/change_constants
shouldn't need a (slash) before /home/daveh
13 years ago
Dave Hatton d42df3a82e change to STDOUT from PIPE to get ssh connection module working 13 years ago
Dave Hatton d28bbe14ed shouldn't need a (slash) before /home/daveh 13 years ago
Dave Hatton 30d4f070a1 change STDOUT to PIPE to get ssh connection module working 13 years ago
Daniel Hokka Zakrisson fa887bc90f Merge stdout and stderr for non-sudo 13 years ago
Daniel Hokka Zakrisson 7884bc02ea Wait for process to finish and then parse output 13 years ago
Seth Vidal dca75033fe add -q to handle stdout/stderr being combined, add catch for ControlPersist not existing in ssh for rhel6, etc 13 years ago
Michael DeHaan 9662902c31 Merge pull request #492 from dhozac/unnecessary-parse_json
Remove unnecessary parse_json invocation
13 years ago
Michael DeHaan 071978a2e7 Merge pull request #493 from dhozac/ssh-merge-stdouterr
Merge stdout and stderr as that is what is expected
13 years ago
Daniel Hokka Zakrisson f5ecd075f7 Remove unnecessary parse_json invocation 13 years ago
Michael DeHaan bd653c8f3c Merge pull request #488 from dhozac/jinja2-env
Create a Jinja2 environment allowing includes
13 years ago
Michael DeHaan e0f12292d8 Merge pull request #489 from dhozac/ssh-args-default
Default to using a ControlMaster connection
13 years ago
Daniel Hokka Zakrisson 7f6359b143 Default to using a ControlMaster connection 13 years ago
Daniel Hokka Zakrisson d08ba12a42 Merge stdout and stderr as that is what is expected
Should also fix problems where something might output an error
before the sudo prompt.
13 years ago
Seth Vidal 1ec518543e make Runner options conflict errors raise AnsibleErrors not traceback in general
add catch if -c ssh and -k are passed at the same time since the ssh connection type doesn't
support passwords
13 years ago
Daniel Hokka Zakrisson 9f93839d13 Create a Jinja2 environment allowing includes 13 years ago
Daniel Hokka Zakrisson ab08fea1aa Add an ssh command wrapper transport 13 years ago
Daniel Hokka Zakrisson 13b814a33c Run templating function until the text doesn't change
This allows variables to contain other variables.
13 years ago
Michael DeHaan dad9695ac7 Merge pull request #478 from dhozac/not-host
Allow exclusion of hosts/groups
13 years ago
Jonte Norman 1b091a7e3e Fixed typo from results to result in _execute_raw method 13 years ago
Daniel Hokka Zakrisson 3d5c93bf44 Allow exclusion of hosts/groups 13 years ago
Fred Alger 834f6a216d Make shell outs to md5sum work on FreeBSD and OS X
Tested with OS X local connection and Linux remote. The paths to the
md5sum and md5 commands are hardcoded to the most common location. This
will definitely fail if the commands are elsewhere, or if the md5
command doesn't support the -q 'quiet' option.
13 years ago
Michael DeHaan c0a5d91592 Merge pull request #475 from nafeger/devel
Better error messaging in utils
13 years ago
Nathan A. Feger 9feb26ab28 Better error messaging in utils
When a command responds with json that is unparseable, dump that unpareseable response instead of swallowing it.
13 years ago
Michael DeHaan 2a8d1f07d4 Merge branch 'mktemp-vanish' of https://github.com/dagwieers/ansible into devel
Conflicts:
	lib/ansible/runner/__init__.py
13 years ago
Michael DeHaan 27c949ade9 Merge pull request #462 from tima/more-env-defaults
Most constants can be overriden with environment variables.
13 years ago
Michael DeHaan 2a49438c37 Merge pull request #461 from dhozac/only_if-early
Evaluate only_if early
13 years ago
Michael DeHaan bd893b765b Merge pull request #459 from dhozac/with_items-variable
Allow a variable in with_items
13 years ago
Stephen Fromm 9cf182c225 Add assemble module
This adds a module that concatenates (ie. assembles) a file from
fragments in a directory in alphabetical order.  It chains the file
module afterward to fix up ownership and permission.  This also adds
tests for the assemble module with fragments in assemble.d.
13 years ago
Timothy Appnel 5ea8ad2d94 Most constants can be overriden with environment variables. Reserved doing anything with the connection options for further review. 13 years ago
Daniel Hokka Zakrisson 7942570411 Fix on_unreachable invocation with non-existing variable 13 years ago
Daniel Hokka Zakrisson eba81ee36f Evaluate only_if early to do as little work as possible 13 years ago
Matt Goodall c1b38f62c8 Search multiple paths for modules.
Minimal change to allow a list of paths (separated by the typical path
separator) to be searched in sequence for the named module.
13 years ago
Daniel Hokka Zakrisson a05da2d312 Allow with_items to specify a variable 13 years ago
Daniel Hokka Zakrisson 933b5e8631 Reduce code duplication 13 years ago
Michael DeHaan e8e6c98016 Merge pull request #455 from dhozac/vars_files-non-list
Expand vars_files identically for lists and non-lists
13 years ago
Michael DeHaan 01387520e9 Merge pull request #451 from phred/fix-fetch-module
Make 'fetch' test for local directories before creating.  Fixes issue #450
13 years ago
Michael DeHaan e265cdfa1d Merge pull request #454 from jhoekx/configure-python-interpreter
Introduce ansible_python_interpreter variable.
13 years ago
Michael DeHaan b1c2820a32 Merge pull request #456 from dhozac/notify-variable
Allow variables in notify list
13 years ago
Daniel Hokka Zakrisson d0d036fd3f Expand $item for copy and fetch 13 years ago
Daniel Hokka Zakrisson ad7b744764 Allow variables in notify list 13 years ago
Daniel Hokka Zakrisson dff8d7be04 Expand vars_files identically for lists and non-lists 13 years ago
Jeroen Hoekx 1f63c47738 Introduce ansible_python_interpreter variable.
This allows configuration of the correct python interpreter on the managed system.
13 years ago
Dag Wieërs b3b22c41e9 Get rid of mktemp dependency to support AIX
The function call has been renamed to better reflect what it does, and we
reduced the number of calls from two to one in case the remote user is not
root.

This patch also fixes a string concatenation in _copy_module() that
should use os.path.join() instead.

This closes #436
13 years ago
Fred Alger bee04de26a Fix exception in fetch module when src or dest parameter omitted. 13 years ago
Fred Alger d0c4f4015c Fix remote md5 in fetch module, related to Issue #450 13 years ago
Fred Alger 51b460e8c6 Make 'fetch' test for local directories before creating. Fixes issue #450 13 years ago
John Kleint e9f770fa11 More helpful message when ssh fails. 13 years ago
Michael DeHaan 1ee7ff2f7b To allow plays using different user accounts in the same playbook to function, clear the setup cache
between plays.
13 years ago
Michael DeHaan 16f0d7b333 Revert "Get rid of mktemp dependency to support AIX"
This reverts commit 4ad1b57b52.
13 years ago
Michael DeHaan 99430fa0a3 Fix for older version of sudo + some changes to imports so tests are happy 13 years ago
Michael DeHaan 634cf9aaba Merge pull request #437 from dagwieers/mktemp-vanish
Get rid of mktemp dependency to support AIX
13 years ago
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.
13 years ago
Dag Wieers a8fd6ee9c3 Get rid of mktemp dependency to support AIX
The function call has been renamed to better reflect what it does, and we
reduced the number of calls from two to one in case the remote user is not
root.

This patch also fixes a string concatenation in _copy_module() that
should use os.path.join()

This closes #436
13 years ago
Michael DeHaan 6034b5b0f3 Split connection code into submodules. 13 years ago
Michael DeHaan 0972b761de Leverage cowsay if installed. 13 years ago
Brad Olson c34921fe7b Removed legacy comment. 13 years ago
Brad Olson 81591009ea Fixed Inventory.get_hosts() ignoring restriction when there are no hosts left.
get_hosts() was treating [] (meaning complete restriction, no hosts allowed)
the same as None (meaning no restriction, all hosts allowed). Fixed logic.
13 years ago
Michael DeHaan af9651f015 Merge pull request #420 from bradobro/fix_no_varfiles
Test for play.vars_files == None, avoiding nasty traceback.
13 years ago
Brad Olson 7ea4a0e895 Avoid traceback when vars file has no vars items. Could warn or fail instead. 13 years ago
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)?
13 years ago
Cosmin Luță 74bfd7eb81 Removed line that caused stacktrace 13 years ago
Michael DeHaan 4664e354c3 Get with_items to work with new play/task architecture. 13 years ago
Michael DeHaan ecb944892d Tweaks on previous refactoring of playbook, version bump a 0.4 reference, remove some debug, etc 13 years ago
Michael DeHaan b9b53d1941 Playbook refactoring -- work in progress. 13 years ago
Michael DeHaan cf9ddf3a30 Reorganizing file structure. Not done. 13 years ago
Michael DeHaan 6f114a2e2c Delete poller code from runner.py now that it is moved. 13 years ago
Michael DeHaan db1d5b154a Fix casing/underscore convention in method name, split polling logic away from runner. 13 years ago
Michael DeHaan 6d580aea02 As part of a precursor to other refactoring, make returns less list-like throughout runner. 13 years ago
Matt Goodall 639763c138 Allow "=" in k-v values. 13 years ago
Matthew Williams 7bbcf5d2d5 template path for handlers: include 13 years ago
Michael DeHaan 1125ca548a Merge pull request #411 from mgwilliams/bug-fetch-module
Fetch module: run dwim on dest after templating, not before
13 years ago
Matthew Williams effd931031 dim fetch dest after templating 13 years ago
Michael DeHaan 8e88667f82 Fix hosts being in multiple groups, and duplicate host references in the same inventory file. 13 years ago
Michael DeHaan 7302b7bbc4 Merge pull request #402 from denen99/devel
updated connection.py to have the same interface for exec_command on both LocalConnection and ParamikoConnection classes
13 years ago
Adam Denenberg 3dfd240b86 updated connection.py to have the same interface for exec_command on both LocalConnection and ParamikoConnection classes 13 years ago
Jeroen Hoekx 3eff44a2b0 Arguments to setup module should be json. 13 years ago
Seth Vidal d80fd74b64 make sure private_key_file is hooked up in playbooks, too 13 years ago
Seth Vidal 96ef6482c5 add --private-key option and related infrastructure to make paramiko work
with a private key file - not just an agent or pw
13 years ago
Daniel Néri e4991d1a61 In the template module, use utils.template_from_file instead of reimplementing it inline 13 years ago
Daniel Néri f8b17ef8d3 For utils.template_from_file, change 'no_engine' default to True
This now follows the other template functions, and implicitly also
fixes that playbook handler includes were still processed by Jinja2.
13 years ago
Daniel Néri 4b0480dd9d Set 'hostvars' before performing variable replacements 13 years ago
Michael DeHaan 60d44e1a01 Squashed commit of the following, plus some streamlining (MPD).
commit e00368e7c65c65bed11fcaaf83fe8b093dbf492e
Merge: 2ea7110 c039aa0
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Thu May 10 01:43:10 2012 -0400

    Merge branch 'devel' of https://github.com/weaselkeeper/ansible into weaselkeeper-devel

commit c039aa0915
Author: Jim Richardson <weaselkeeper@gmail.com>
Date:   Fri May 11 17:55:13 2012 -0700

    cleanup and simplification of ANSIBLE_REMOTE_TMP feature

commit d87f15b796
Merge: 5917aba 4c2fd25
Author: Jim Richardson <weaselkeeper@gmail.com>
Date:   Fri May 11 17:30:16 2012 -0700

    Merge branch 'devel' of github.com:weaselkeeper/ansible into devel

commit 5917aba761
Author: Jim Richardson <jrichardson@classmates.com>
Date:   Wed May 9 11:25:45 2012 -0700

     ANSIBLE_REMOTE_TMP environment variable sets where ansible will stuf tmp files on remote host.  Default is /var/tmp for root, and $HOME/.ansible/tmp for non-root

commit 4c2fd25777
Author: Jim Richardson <jrichardson@classmates.com>
Date:   Wed May 9 11:25:45 2012 -0700

     ANSIBLE_REMOTE_TMP environment variable sets where ansible will stuf tmp files on remote host.  Default is /var/tmp for root, and $HOME/.ansible/tmp for non-root
13 years ago
Michael DeHaan ccab8ac2c0 Reinstate raw module 13 years ago
Michael DeHaan b7bb0ab225 Do not read user's SSH config file because only reading it partially is confusing to everyone :) 13 years ago
Michael DeHaan e060b06081 Allow hosts not in inventory to override inventory with -i "host1,host2:port" etc, which is the original intent
of --override-hosts.
13 years ago
Michael DeHaan f8807da57b Merge pull request #363 from jhoekx/template-only-if
Fix correct variable expansion in includes only_if.
13 years ago
Jeroen Hoekx cd9f926b5f Fix correct variable expansion in includes only_if.
There's not need to run the complete include through the templating engine.
Several variables were not included before the conditional was evaluated.
13 years ago
Michael DeHaan dab50574e0 Merge pull request #356 from jkleint/singleton-notify
Support single handlers for notify.
13 years ago
John Kleint d9427db14b Support single handlers for notify. 13 years ago
John Kleint 4cf0c5550e Fix YAML hosts list. 13 years ago
Jeroen Hoekx 3cbc229990 Support list indexing in varReplace. 13 years ago
Michael DeHaan 4819ce4989 Merge pull request #349 from jhoekx/template-unicode-fixes
Fixup unicode varReplace templating.
13 years ago
cocoy c1fd1348b1 Fix for bug #264 13 years ago
Jeroen Hoekx 74e21e6154 Fixup unicode varReplace templating.
The original patches should have conflicted?
53bde0bf51 vs efde61e537
13 years ago
Stephen Fromm fa9bfbba13 Fix for sudo to another non-root user (issue #353)
mktemp creates the temp directory 700 only.  If the sudo-user is not
root, the other user will not be able to run the command (Permission
denied error).  This adds the executable bit for all on the temp
directory.
13 years ago
Michael DeHaan 36639186e0 Merge pull request #362 from jhoekx/uppercase-vars
Allow camelCase variables in varReplace.
13 years ago
John Kleint fba2bdcf0c Don't read from Paramiko's stderr since there isn't one. 13 years ago
Jeroen Hoekx dc60f2d844 Allow camelCase variables in varreplace. 13 years ago
Michael DeHaan 262b35e7d3 override-hosts is gone since we can't load inventory for hosts (so it's not an whitelist), but we can
still support hosts outside of inventory if you pass in an array of hosts.  Ports are supported,
but not much other info.
13 years ago
Michael DeHaan cb6f0f4284 Merge pull request #346 from jhoekx/improve-varreplace
Support nested variables in varReplace
13 years ago
Jeroen Hoekx 2bbc05185e Make no_engine the default templating action. 13 years ago
Jeroen Hoekx 82144fd543 Support nested variables in varReplace. 13 years ago
Jeroen Hoekx 98f93fcc07 Preserve trailing newline after templating.
Jinja seems to eat trailing whitespace. A lot of tools complain about this: iptables-restore, iscsid...
13 years ago
Matthew Williams e56023b8bb Template dest and src parameters 13 years ago
Michael DeHaan d149c1823a Merge pull request #339 from mgwilliams/feature-unicode
Allow unicode (utf8) in templates
13 years ago
Matthew Williams 43b1727f6a removed debug code 13 years ago
Matthew Williams 39a92f9cd6 allow unicode (utf8) characters in jinja templates 13 years ago
Michael DeHaan 0894206467 Be able to use --extra-vars to set the hosts variable 13 years ago
Michael DeHaan 07508ad535 Since host variables are becoming important, it did not make sense to sustain --override-hosts, with the ability
to create hosts that didn't have inventory information, but also existed, in various groups.
13 years ago
Michael DeHaan fc300723da Revert "fix indentation"
This reverts commit 42b55a07cd.
13 years ago
Michael DeHaan e1914a0e62 Revert "fix the get_hosts() error in get_groups returning a dict not a list of group objects"
This reverts commit f41fb90d78.
13 years ago
Michael DeHaan 121d7c4ece Merge pull request #329 from skvidal/devel
inventory and indentation
13 years ago
Jeroen Hoekx e09572a8e1 Inventory: undefined group -> ungrouped.
Also change test name collision.
13 years ago
Jeroen Hoekx d419a13ca7 Inventory: support list of vars in host. 13 years ago
John Kleint 710d085def Fix non-sudo execution, add --sudo-user to ansible-playbook. 13 years ago
Seth Vidal cd28d82639 fix indentation 13 years ago
Seth Vidal 279e5e4522 fix the get_hosts() error in get_groups returning a dict not a list of group objects 13 years ago
Michael DeHaan 05545e3735 Fixup the previous sudo_user support patch to work with playbooks. 13 years ago
Jim Richardson 5582e6a4f1 sudo -u works now. Needs testing and maybe a bit of cleanup 13 years ago
Jim Richardson 2cd8d7b5e4 first bit of getting sudo -u functionality 13 years ago
Jim Richardson 8d39ae709c sudo -u works now. Needs testing and maybe a bit of cleanup 13 years ago
Jim Richardson 93a20a33e9 first bit of getting sudo -u functionality 13 years ago
Michael DeHaan f718fc99b7 Add missing file 13 years ago
Michael DeHaan 157d21b1c3 Add tests for new advanced inventory features (groups of groups, group variables) in the default INI format file. 13 years ago
Michael DeHaan 1a00e2635e Further work on making the YAML inventory parser use the new inventory objects. 13 years ago
Michael DeHaan a8f0b5fd06 Fix playbooks such that they work with external inventory scripts. We really want to find out why the 'all'
group isn't available, but group vars don't make sense for external inventory anyway.
13 years ago
Michael DeHaan 256377166a Reinstate external inventory script support this time using the new more OO-ey inventory system.
Next up: YAML format.
13 years ago
Michael DeHaan 5730a29814 missing files 13 years ago
Michael DeHaan 0669ce858a Refactored inventory to make it object oriented, need to make YAML format and executable script
format compatible with this still, and add some tests for INI-style groups of groups
and variables.
13 years ago
Michael DeHaan b300aac551 Include files are no longer to be considered Jinja2 templates, but individual THINGS
in included files can still be templated just like top level playbooks.  Resolves
some issues about statements being evaluated before facts were available
13 years ago
Michael DeHaan 02efcdced6 Merge branch 'devel' of https://github.com/skvidal/ansible into skvidal-devel 13 years ago
Seth Vidal 38ea61054f if a playbook has no vars - still include the global vars 13 years ago
Seth Vidal dc35dd99c0 inventory group 'all' variables are global variables
applied to every host and available all over
they are read in so that ones defined first can be used to define
the later ones.
13 years ago
Jeroen Hoekx 03541baba7 Define 'inventory_hostname' variable for hosts. 13 years ago
John Kleint cbbaee8a9f Remove command timeout. 13 years ago
Jeroen Hoekx f14c1e3e91 Async: print one poll message per polling cycle.
Instead of one per host per polling cycle.
13 years ago