Commit Graph

4387 Commits (9b3d52cb62f89ba9910654d4cbc5c6d683c161e5)

Author SHA1 Message Date
Michael DeHaan 5a8dff5bce Instantiate inventory plugins only once for efficiency reasons. 12 years ago
Michael DeHaan 817b0cdc80 Instantiate filter plugins only once to save some efficiency. 12 years ago
Michael DeHaan bac3449db7 Restructure hacking readme. 12 years ago
Michael DeHaan e2d9e1b5c2 Convert 'hacking' instructions to markdown, add more info. 12 years ago
Michael DeHaan cfe8af493f Since using platform.node, be sure to just return the hostname component. 12 years ago
Michael DeHaan 6e1514e975 Merge pull request #2727 from dsedivec/devel
Don't send unicode instances to the selinux module
12 years ago
Michael DeHaan 5b44c3d52c Merge commit '53ac0bb' into devel 12 years ago
Michael DeHaan 87788b1d17 Ignore inventory config files when using an inventory directory. 12 years ago
Michael DeHaan 58d72b28c5 Fixup authorized key documentation formatting 12 years ago
Michael DeHaan adac8f5312 Showcase the new-style lookup plugin access in the authorized_key docs rather than the old-style $FILE 12 years ago
Michael DeHaan 53ac0bbec2 Instantiate callback plugins only once so we can set play/task objects on them and they'll stick. 12 years ago
Dale Sedivec c8f4a56cad Don't send unicode instances to the selinux module
This fixes #2632.  Briefly: specifying things like paths using complex
args in a playbook will make the objects unicode instances.  The selinux
module does not accept unicode instances for its char * arguments; it
wants str instances.

Per mpdehaan's comment on #2632 I just went ahead and converted all
paths to UTF-8.  I don't know if it would be better to do something like
converting to locale.getpreferredencoding(), but I factored all the
conversions out into new method _to_filesystem_str, so there's only one
place that needs to be changed in the future.
12 years ago
Michael DeHaan df93d7dd97 Ignore inventory config files when using an inventory directory. 12 years ago
jtsoi 8c11624f14 Typo in example, extra space breaks playbook. 12 years ago
Michael DeHaan 8e7dc3c79c Remove an extra space in the module execution line if no environment was set. 12 years ago
Michael DeHaan 5656817776 Fixup authorized key documentation formatting 12 years ago
Michael DeHaan cd0602889d Showcase the new-style lookup plugin access in the authorized_key docs rather than the old-style $FILE 12 years ago
Nathan L. Walls e8f46822e5 Small spelling correction to authorized_key module docs 12 years ago
Dag Wieers b13beb3689 New module 'set_fact' to define host facts
This module allows you to set host facts (or export play variables to the playbook scope if you fancy that).

The module also accepts complex arguments.

```yaml
 - action: set_fact fact="something" global_fact="${local_var}"'
 - action: set_fact
   args:
      fact: something
      global_fact: ${local_var}
```
12 years ago
Seth Vidal 7b8cec3f59 clean up first_found to fix a few issues:
- add a skip option so it won't raise an exception if you don't match anything
 - make it work as a drop-in replacement for first_available_file
 - document in the module comments all of the above cases
12 years ago
Michael DeHaan 5f1e2afc34 Revert "make atomic_replace use shutil.copy2 instead of os.rename() so it will work across filesystems".
AR function was leaving some tmp files behind, want to revert, will have better implementation soon, this is the old way now.

This reverts commit f74a1fa4f0.
12 years ago
lwade a154a5ddd4 correct reference to module 12 years ago
Michael DeHaan d8bf87b008 (A) include errors in inventory scripts should they occur.
(B) allow registration with ignore_errors: True
12 years ago
Bernhard Weitzhofer fb0a99e5d8 Fix if-statement that always evaluates True 12 years ago
C. Morgan Hamill 88eb5516eb Fix 'sequence' plugin error.
If 'terms' is a string, replace it with a single item list.
12 years ago
C. Morgan Hamill 663d37b537 Fix errors in lookup plugins.
Lookup plugins 'sequence' and 'template' now import 'ansible.utils'
appropriately in order to use the 'listify_lookup_plugin_terms'
function.

Also, 'dnstxt' and 'env' now check to see if 'terms' is a string;
without this calls like '{{ lookup('env', 'HOME') }}' fail.
12 years ago
Michael DeHaan cce2cad8dc Fix with_sequence doc error 12 years ago
Michael DeHaan 500b9432a2 Merge pull request #2596 from blair/ec2_facts-provides-ec2-region
ec2_facts: add ansible_ec2_placement_region key/value pair for EC2 regio...
12 years ago
Dale Sedivec 515fd9e915 copy action plug-in check mode respects force=no
The copy action accepts force=no, which tells it not to replace an
existing file even if it differs from the source.  The copy action
plug-in wasn't respecting this option when operated in check mode, so it
would report that changes are necessary in check mode even though copy
would make no changes when run normally.

Runner._remote_md5 was changed to make the logic for setting rc perhaps
a little more clear, and to make sure that rc=0 when the file does not
exist.
12 years ago
Michael DeHaan 6cb6223deb Merge pull request #2608 from lwade/ec2zone
Add availability zone parameter
12 years ago
Michael DeHaan 22e3c389b3 Use platform.node() for the hostname, leave fqdn calculated the same way 12 years ago
Michael DeHaan 6a00513731 Add version added to module docs 12 years ago
Michael DeHaan 7c6341718e Merge branch 'combine_vars' of git://github.com/laggyluke/ansible into exp
Conflicts:
	lib/ansible/inventory/vars_plugins/group_vars.py
	lib/ansible/runner/__init__.py
	lib/ansible/utils/__init__.py
	test/TestPlayBook.py
12 years ago
C. Morgan Hamill 863cb50530 Allow '.yml'/'.yaml' extension on group_vars files.
Look for a file with the base name of the group/host, first without
a file extension, then with a '.yml' extension, and, finally, with
a '.yaml' extension, loading vars from only the first one found.
12 years ago
Michael DeHaan 454076590c Merge pull request #2580 from blair/ec2_vol-improvements
Ec2 vol improvements
12 years ago
Michael DeHaan 6d66b0e965 Merge pull request #2692 from j2sol/rax
Minor fixes to the rax module
12 years ago
Michael DeHaan b54e955595 Remove a debug statement. 12 years ago
Michael DeHaan 86d47bce5f Make more lookup plugins tolerant of new variable system, with a little better 'do what I mean' logic to resolving
what happens if you get a string back as a template result.
12 years ago
Michael DeHaan c0f8af5202 Make more lookup plugins happy with newstyle variables. Not quite done, but this fixes up with_items/with_nested/file/fileglob. 12 years ago
Seth Vidal f74a1fa4f0 make atomic_replace use shutil.copy2 instead of os.rename() so it will
work across filesystems
12 years ago
Seth Vidal 5df2dadcdb clean up how it puts the files in place - in f18 /tmp is tmpfs which
means ln and os.rename() won't work across fs.
12 years ago
Jesse Keating 59d0fb6c95 Only accept supported services for rax module
Even though others are possible, fail early on unsupported ones.
12 years ago
Jesse Keating 55ef1d6e47 Update documentation for rax module
Only list the services supported
Don't put in unncessary required: false
Use better formatting for the example
12 years ago
Michael DeHaan 84fb92dac6 Working on the FAQ. 12 years ago
Michael DeHaan d00f7cea14 Merge pull request #2676 from b6d/postgresql_privs-module-proposal2
Proposal for a module to manage PostgreSQL privileges (2)
12 years ago
Bernhard Weitzhofer 210d711553 Add module postgresql_privs
This Module allows to manage privileges on PostgreSQL database objects
(currently: tables, sequences, functions, databases, schemas, languages and
tablespaces) as well as group role memberships.

It is basically a wrapper around most of the functionality of PostgreSQL's
GRANT and REVOKE statements with additional detection of changes and support
for dry-runs (check-mode).

postgresql_privs should work with PostgreSQL 8.4 and above. Python Module
psycopg2 is required on the remote host.
12 years ago
Bernhard Weitzhofer c2a7314a5f user module: return public SSH key
Return public SSH key if the user module is called with generate_ssh_key=yes.
Since "user" doesn't overwrite files, this also allows querying of existing
public keys.

Used in playbooks together with the "register" keyword, the returned key can be
passed to the "authorized_key" module allowing easy setup of SSH public key
authentication between remote hosts.
12 years ago
Michael DeHaan 96d014581a Merge pull request #2605 from b6d/postgresql_user-quote-pwd
Use psycopg2's string handling to escape password string
12 years ago
James Martin 7609c5e0d0 Errors in documentation. 12 years ago
Michael DeHaan 0944e7d56a Make less template calls on playbook objects. 12 years ago
Michael DeHaan 728d81bf12 Add link to prior docs version. 12 years ago
Michael DeHaan be917e3e54 Merge pull request #2667 from jsmartin/devel
Added catch-all exception for riak stats collection.
12 years ago
Michael DeHaan 62fe4cc3af Explain conditionals as applied to roles. I could also explain with_items but the scope questions are complex
here, and it is better to include such loops inside the imported tasks.
12 years ago
Michael DeHaan 44a9352338 Also template handlers only at the end. 12 years ago
James Martin 93d0ccd1e1 Added catch-all exception for stats collection. 12 years ago
Michael DeHaan e7f5186dec Merge pull request #2623 from willthames/when_set_bug
Prevent premature variable substitution in tasks
12 years ago
Michael DeHaan 3ab0ed5fd4 Allow 'when' and 'with_items' to be applied to roles. 12 years ago
Michael DeHaan 7a2d493e67 Teach lookup plugins that if they can't evaluate something they can wait and do it later. 12 years ago
Michael DeHaan 3f3b2a9448 Smush Jinja2 braces in playbooks so unresolved variables get parsed nicely 12 years ago
Michael DeHaan 687a68091f Mention roles in best practices 12 years ago
Michael DeHaan ffb00d2071 Favor {{ foo }} rather than $foo in documentation. 12 years ago
Michael DeHaan 9ed246e432 Resolve merge conflict. 12 years ago
Michael DeHaan 26819d707d Reorganize docs structure to support snapshots. 12 years ago
Michael DeHaan e63dac15eb Moving some more files into snapshot directory 12 years ago
Michael DeHaan 148d8859ba Docs on parameterized roles, make document generation output less noisy 12 years ago
Michael DeHaan 7037023aa8 Make debug print things nicer if {{ foo }} didn't interpolate 12 years ago
Michael DeHaan 06b988e2d5 Create the .ssh dir if it does not already exist. 12 years ago
Michael DeHaan 793a3d3f76 More 1.2 templating development; for legacy when_string constructs don't quote the 'in' operator 12 years ago
Blair Zajac 5d0f78d571 ec2_facts: add ansible_ec2_placement_region key/value pair for EC2 region. 12 years ago
Michael DeHaan 85099be48f Merge pull request #2656 from dstoflet/first_available_file_fix
Quick fix for first_available_file and role support
12 years ago
Michael DeHaan b8c5a58b7f Avoid running through the legacy template code if no dollar signs are in strings. 12 years ago
Michael DeHaan 251f19263c Remove unneeded import. 12 years ago
Michael DeHaan 8457cf433d Update pause module to not use utils.template 12 years ago
Darryl Stoflet c63207bf75 Quick fix for first_available_file and roles 12 years ago
willthames 377bc31311 Prevent premature substitution of variables into tasks
As documented in #2623, early variable substitution causes when_
tests to fail and possibly other side effects.

I can see the reason for this early substitution, likely introduced
in 1dfe60a6, to allow many playbook parameters to be templated.
This is a valid goal, but the recursive nature of the utils.template
function means that it goes too far.

At this point removing tasks from the list of parameters to be
substituted seems sufficient to make my tests pass. It may be the
case that other parameters should be excluded, but I suspect not.

Adding a test case. I would prefer to analyse not just the aggregate
statistics but also whether the results are as expected - I can't
see an easy way to do that with the available callbacks at present.
12 years ago
Serge van Ginderachter 684cfecda9 package and upgrade are not mutually exclusive, but when both were set, upgrade didn't happen 12 years ago
Serge van Ginderachter d3dee7a8a2 add default=yes in upgrade argument spec 12 years ago
Michael DeHaan a05361f515 This is a fix on top of the 'airplane variable upgrade' commits that fixes legacy when_string so it evaluates correctly in the new eval construct. 12 years ago
Serge van Ginderachter 4a729ebf3a apt module: part rewrite of the upgrade logic, consistently checking
the executable paths, adding 'safe' as an alias to yes, and adding
'full' to allow aptitude full-upgrade as an alternative to apt-get
dist-upgrade
12 years ago
Michael DeHaan 3e58768344 Merge pull request #2646 from sevein/git-shallow-clone
Add support for shallow clones in the git module
12 years ago
Michael DeHaan 92ddab8a69 Merge pull request #2649 from sergevanginderachter/bin-ansible
make bin/ansible error output consistent for shell module as for the command module when no arguments are given
12 years ago
Michael DeHaan 3e736eaf00 Merge pull request #2622 from skvidal/playbook-start-at-task
implement --start-at-task option to hop to a specific task before starti...
12 years ago
Michael DeHaan 34bacc468c Merge pull request #2627 from jsmartin/riak
Adds a riak module
12 years ago
Serge van Ginderachter 94243e983f make bin/ansible error output consistent for shell module as for the command module when no arguments 12 years ago
Michael DeHaan 4e79bd0872 Remove unneccessary construction of Jinja2 environment object. 12 years ago
Michael DeHaan b869551a4c Merge pull request #2628 from victorcoder/devel
Typo in docs
12 years ago
Michael DeHaan 2f5c1d3788 Merge pull request #2629 from stoned/fix-jinja2-filters-init
Fix Jinja2 filter plugins initialization
12 years ago
Michael DeHaan 11a819cc4b Merge pull request #2631 from stoned/templates-filters-base64
Add base64 encode and decode filters to templates
12 years ago
Michael DeHaan a6777f7e7c Fix template call in group_by module. 12 years ago
Jesús García Crespo 62d7e6b006 Add --depth support in the git module 12 years ago
Michael DeHaan a0a2ef3d9d Merge pull request #2640 from trevor/devel
make json valid
12 years ago
Michael DeHaan 7931597a6a Fix template call. 12 years ago
Trevor Wennblom b779fa4fe9 make json valid 12 years ago
Michael DeHaan 0be04d2b57 Decided to not deprecate legacy template syntax for now. Backwards compat is important, though the docs will suggest the new way. 12 years ago
Michael DeHaan 695acc2de0 Make lookup plugins accessible in templates 12 years ago
Michael DeHaan 5b2035edd9 Changes for 'make pep8' 12 years ago
Michael DeHaan 81a926547c Some continued work on new-style templates and associated test code changes. Legacy template functions
are marked with "legacy_" for possible future removal.
12 years ago
Michael DeHaan f0b21dcc0f allow references to names of variables in with_items without needing to surround them with Jinja2 '{{' delimeters 12 years ago
Michael DeHaan 9ac25bb8f6 Minor formatting 12 years ago
Michael DeHaan d7206d84bb Allows Jinja2 that starts a YAML line to not cause a syntax error.
Technically this isn't quite valid YAML when this happens, so we make it valid.  This means that if a future commander
API allows save/load it should make sure it does similar processing.
12 years ago