Commit Graph

230 Commits (a563ea134039a542cda6db9ff2106d874150c2ef)

Author SHA1 Message Date
Mike Grozak 171a01deac Cron module upgrades
- added cron_file attribute: if specified, the file with appropriate
job is created in /etc/cron.d directory. Also, you can store multiple
jobs in one file. state='absent' attribute is handled in the following
way in this case: if after the deletion of the job from the file specified
by cron_file variable the file is empty, the file is deleted, otherwise
not.
  - fixed the behaviour, when the backupfile is saved forever in /tmp
folder, even if the backup= atribute is not set (os.unlink() is called if
backup is not True).
  - added some comments to the unobvious places
12 years ago
Rune Kaagaard 7a8b27f716 Fixing bug with unicode templates.
The utils.md5s() function would break when calculating checksums
for non-ascii characters. Convert to utf-8 first.
12 years ago
Daniel Hokka Zakrisson a79373f6b2 Make template_ds the only templater
Instead of having to remember when to use which one, rename template_ds
to template and move the last bit of code from template to varReplace
(which gets used for all string replacements, in the end).

This means that you can template any data type without worrying about
whether it's a string or not, and the right thing will happen.
12 years ago
Juha Litola 2796603c92 Removed apt_key tests, as they didn't test the real functionality.
Tests used heavily mocked version of the apt_key code, which meant that
it didn't properly test real life scenario.
12 years ago
Jayson Vantuyl ad6373430b add apt_key module
Pretty straightforward.  Give it a URL with an exported GPG key for signing an
Apt repository.  It downloads it and will install it using apt-key.  It's even
smart enough to tell if it's already there (i.e. actually tells you if it
changed or not).
12 years ago
Jayson Vantuyl 13ddd39db9 add with_sequence lookup plugin
Plugin allows you to do easy counts for items.
12 years ago
Daniel Hokka Zakrisson 87b2378e22 Resolve variable references inside variables
Fixes the case where variable x is '$y' and y is a dict(foo='bar') and
an attempt to access ${x.foo} is made.
12 years ago
Michael DeHaan 04195e202d Merge pull request #1747 from njharman/alpharange
Alphabetic inventory hostname patterns.
12 years ago
Michael DeHaan 4bcdd24688 Merge pull request #1776 from junegunn/inventory-group-var-ws
Allows whitespaces around assignment operators when defining group variables
12 years ago
Michael DeHaan dede11750c Merge pull request #1775 from dagwieers/boolean-yes-no
Make use of yes/no booleans in playbooks
12 years ago
Junegunn Choi 7fbb7e079a Fix hostname expansion bug in inventory parser 12 years ago
Junegunn Choi daf797804b Allows whitespaces around assignment operators
when defining group variables
12 years ago
Dag Wieers 66fb7fd9de Make use of yes/no booleans in playbooks
At the moment Ansible prefers yes/no for module booleans, however booleans in playbooks are still using True/False, rather than yes/no. This changes modifies boolean uses in playbooks (and man pages) to favor yes/no rather than True/False.

This change includes:

- Adaptation of documentation and examples to favor yes/no
- Modification to manpage output to favor yes/no (the docsite output already favors yes/no)
12 years ago
Michael DeHaan 70bb7d1e54 Merge pull request #1696 from gregorg/enhance_limit
Allow regex to be used to select hosts in addition to fnmatch pattern
12 years ago
Daniel Hokka Zakrisson 54b45e9bd4 Allow intersecting host patterns by using &
This allows patterns such as webservers:!debian:&datacenter1 to target
hosts in the webservers group, that are not in the debian group, but are
in the datacenter1 group. It also parses patterns left to right.
12 years ago
Norman J. Harman Jr 6603737e4d Alphabetic inventory hostname patterns.
- Code, docs, tests.
  - Also added test of large range 000-142 to verify alpha range did not
    break this.
12 years ago
Gregory Duchatelet 8bc1b69c58 Add a unit test to subset limiting via a regex, and some doc in man
page.
12 years ago
Brian Coca 6a1e2aaff5 moved override matching string to variable changed test template to match Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Brian Coca d751d88b48 added test for template overrides Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Daniel Hokka Zakrisson 0c70abfaa9 Make sure any existing groups gets reused 12 years ago
Michael DeHaan 0c4b30a471 Aliased node test doesn't make sense locally, so remove it. 12 years ago
Michael DeHaan 9985995a9d Make tests use the local connection type, fix missing callback in tests. 12 years ago
Daniel Hokka Zakrisson e74ffd6764 Lookup plugin arguments need to be templated 12 years ago
Daniel Hokka Zakrisson eebbbd3f0e Make parameterized playbook includes work with vars as a list
Fixes #1610.
12 years ago
Daniel Hokka Zakrisson 5752d2a850 Fix lookup plugin test properly 12 years ago
Daniel Hokka Zakrisson d2dce1d63f Make lookup plugin replacements part of the main variable logic 12 years ago
Daniel Hokka Zakrisson f91fa9f765 Fix lookup plugin test 12 years ago
Daniel Hokka Zakrisson 9c095b72b9 Add parameterized playbook includes
Also makes with_* work with them.

Fixes #1162.
12 years ago
Daniel Hokka Zakrisson 383dc30560 Rename varReplaceWithItems to template_ds 12 years ago
Daniel Hokka Zakrisson 43419d7b20 Add tests for lookup plugins 12 years ago
Daniel Hokka Zakrisson 47082a9171 Add $LOOKUP(<lookup plugin>,<data>) as a templating option
Also moves file and pipe to lookup_plugins.
12 years ago
Daniel Hokka Zakrisson 40af8eff14 Add testcase for first_available_file 12 years ago
Daniel Hokka Zakrisson 56314f7225 Add test case for non-existing variable in varReplaceWithItems 12 years ago
Daniel Hokka Zakrisson fbda2d4628 Use default port if ansible_ssh_port is not set for the delegated node
Also add testcase for it.
12 years ago
Daniel Hokka Zakrisson efe83daf19 Fix ${var.$other_var} and add test cases for it 12 years ago
Michael DeHaan 6ba30170dd Make group_vars and host_vars available to usr/bin/ansible, and make vars_plugins exist 12 years ago
Michael DeHaan e04dab904a Use previous proven multiprocessing logic as the simplification didn't have the same Ctrl-C handling and may
be subject to race issues, though still don't pass Runner to each.  Still seems performant.
12 years ago
Michael DeHaan f8e946b71d Merge branch 'varfind-cleanups' of git://github.com/dhozac/ansible into devel 12 years ago
Daniel Hokka Zakrisson 1449c8ac67 Fix ansible_ssh_host again
This time with unit tests to ensure it keeps working.
12 years ago
Daniel Hokka Zakrisson c9c5fc1456 Merge varFind and varLookup 12 years ago
Michael DeHaan cbc12f0dba Various performance streamlining and making the file features usable in all modules without daisy chaining. 12 years ago
Michael DeHaan 6fa1a49037 Fix the basic templating system such that when the template ends in '$', life continues as normal. 12 years ago
willthames 5a769a5a4d Fixed tests to reflect desired configuration behaviour
Test for when environment variable and configuration file
variable both set now tests that the environment variable takes
precedence

Removed logic that would never be triggered from
lib/ansible/constants.py
12 years ago
Michael DeHaan 0837a29e51 Only expand lists in templating inside of module action lines, to avoid breaking usage with with_items and "in" statements, etc 12 years ago
Michael DeHaan 7583704144 "force=" code under the file module is problematic, remove it 12 years ago
Michael DeHaan c5d2f6b0d3 implement lookup plugins for arbitrary enumeration over arbitrary things. See the mailing list for some cool examples. 12 years ago
Jeroen Hoekx 23a62f5a78 Return multiple groups from inventory API. 12 years ago
Jeroen Hoekx 30c019447b Fix typo in inventory API test script. 12 years ago
Daniel Hokka Zakrisson 695b4bcb46 Allow non-string types in with_items variables 12 years ago
Daniel Hokka Zakrisson 6477bdc6fc Use a regexp to filter out arguments instead
pipes.quote is a bit overzealous for what we want to do, quoting ;
and other characters that you most likely want to use in your shell
invocations. The regexp is the best I could come up with to be able
to only replace the parts of the arguments that shouldn't be
executed.
12 years ago
Michael DeHaan 22f3aef4dc remove test for private function that is no longer present 12 years ago
Daniel Hokka Zakrisson dfee6e19ca Replace lists with a comma-separated join 12 years ago
Daniel Hokka Zakrisson 4b29c2cf74 Revert pull request #1091
Automatic quoting of variables in only_if breaks existing playbooks
where entire statements are put in a variable, and other cases. See
issue #1120 for details.
12 years ago
Michael DeHaan 06cfc52afd fix tests and change nosetests flags so asserts show what comparisons failed 12 years ago
Daniel Hokka Zakrisson 9e4fac5ebd Create a string parser for varReplace instead of using re
This fixes a few issues,
- ${foo}${bar} would be parsed as a variable named foo}${bar,
  which wouldn't be easily fixed without breaking ${foo.${bar}}
- allows escaping . in variable parts so e.g.
  ${hostvars.{test.example.com}.foo} works

This is slower than using re. 3 million templating calls take about
about twice as long to complete with this compared to the regexp,
from ~65 seconds to ~115 seconds on my laptop.
12 years ago
Daniel Hokka Zakrisson b55ef665ba Fix only_if statements referencing non-string types
This fixes e.g. only_if: ${task.changed} which would always
evaluate to true due to it having been replaced by a string for its
boolean value. Also adds a test case to ensure it doesn't get
missed again.
12 years ago
Daniel Hokka Zakrisson 51216dcfae Add tests for varReplace repr 12 years ago
Michael DeHaan 4ded8cb3b3 Change $FILE{} and $PIPE{} to $FILE() and $PIPE() 12 years ago
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"
12 years ago
Michael DeHaan b8c4bb9e6e Revert "Allow including files through variables"
This reverts commit bf47bb4753.

Conflicts:

	lib/ansible/utils.py
	test/TestUtils.py
12 years ago
Michael DeHaan b2af95e4a6 Change $FILE{} and $PIPE{} to $FILE() and $PIPE() 12 years ago
Michael DeHaan e1ecb95b3d Delete test that was coded against *local* resolv.conf -- obviously not going to be the same between people's computers 12 years ago
Michael DeHaan 08b70949c7 Fix a test and a typo in an example 12 years ago
Aleksej Romanov eefe66f1cc Squashed commit of the following:
commit 80a26a8175b779b707bc08e9d28c451c30ee4ada
Merge: b25b9fd 61e9b27
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Tue Sep 18 21:01:47 2012 -0400

    Merge branch 'devel' of git://github.com/alopropoz/ansible into file-force

commit 61e9b27df2
Merge: 3f6f329 16bf3e1
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:48:02 2012 +0700

    Merge remote branch 'upstream/devel' into devel

commit 3f6f3291df
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:41:31 2012 +0700

    'force' option for 'file' module.

commit 6223bba941
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:40:19 2012 +0700

    changed = True when changing symlink referent, #1008. Needed for tests.
12 years ago
Michael DeHaan b25b9fd840 Merge pull request #1058 from jkleint/devel
Support iteration over command output in with_items.
12 years ago
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.
12 years ago
Daniel Hokka Zakrisson 9e78b10ae3 Add test data file 12 years ago
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"
12 years ago
Michael DeHaan 04555f525e Fix a test from a previous pull request. 12 years ago
John Kleint 1f8696f5c1 Fix inventory.get_hosts when hosts is a list. 12 years ago
Brian Coca 83d1028a21 - Makefile now works with freebsd (date command options are diff)
date still issues warning and ignores TZ

- Updated tests to work inside bsd jails (127 addresses are an issue)
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Michael DeHaan 508c04b85b remove svn tests 12 years ago
Dane Summers eb49ee38ae full test case for subversion, minimal tests for git 12 years ago
Dave Peticolas b42e835aab Always load group_vars and host_vars. 12 years ago
Michael DeHaan 9041adddaa Add support for ranged patterns like webservers[0-49] for hitting the first 50 webservers. 12 years ago
Michael DeHaan de21cb27d8 Remove tests that involve network effects -- makes things faster and they are not really deep tests here either way. 12 years ago
Michael DeHaan 259f2dc4de Various retooling of the internal code behind inventory pattern matching in support of pending support
for host ranges.
12 years ago
Dave Peticolas 08272dc25d Remove unused imports. 12 years ago
Michael DeHaan 1c9b43df1b more whitespace 12 years ago
Petros Moisiadis 2ac4acbf97 fixes for tests 12 years ago
Will Thames 845a7ac5ae test_one not working as tests after skipped test failing, because
on_skipped callback being passed an extra item parameter that it wasn't
expecting.
Fixed it so that on_skipped in TestCallbacks accepts and ignores the
extra parameter
Extra parameter was added in 4b9b9a8a5b
but not really clear why from commit message
12 years ago
Michael DeHaan d79900b434 Merge pull request #732 from willthames/fix_git_fail_json
Fixes for git module when it fails.
12 years ago
u348095 e863ba0cec Fixes for git module when it fails.
* module.fail_json *must* have msg argument
Using http://github.com/ rather than git://github.com/ as it gets through more
firewalls
12 years ago
Michael DeHaan fe558f680a Fix some failing tests, script tests seem to indicate magic variables are not being provided
to scripted inventory so need to investigate this.
12 years ago
Michael DeHaan 47cead3603 Merge pull request #727 from sfromm/git
Git module ported to use module magic
12 years ago
willthames 1bcba4f4a2 test/TestRunner.py now executes false with no directory prefix
as it is /bin/false on many systems but /usr/bin/false on OS X
test/playbook1.yml now just does command true, rather than command /bin/true,
again so that it works on OS X

Changed from using which false to just using command false to
make it simpler and also match how playbook1.yml works
12 years ago
Stephen Fromm 90bf67cf56 Make test_git functional in TestRunner.py 12 years ago
Michael DeHaan 8fa4dc3920 Small change to previous patch, make ranges of hosts inclusive. 12 years ago
Chin Fang e3b2521f01 Added a host expansion feature to ansible's inventory parsing 13 years ago
Michael DeHaan dde11baa56 Remove YAML inventory tests since this is now deprecated. 13 years ago
Michael DeHaan 9e62fd42b5 update test utils code 13 years ago
Michael DeHaan 867b2437cc consolidate output code in callbacks.py, from utils, remove extra functions 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 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
Daniel Hokka Zakrisson 031c75e53a Update tests to reflect new API 13 years ago
Daniel Hokka Zakrisson 24d73b0fe6 Add tests of iterative templating 13 years ago
Daniel Hokka Zakrisson 05a7a3725b Add tests of host exclusions 13 years ago