Serge van Ginderachter
3a228b9d55
InventoryScript: better syntax checking for json stream
2014-08-21 18:06:07 +02:00
Serge van Ginderachter
a1f09bd89f
Merge variables for hosts instead of updating in get_variables()
2014-08-20 01:54:46 -05:00
Serge van Ginderachter
0ab721d51e
better logic for all-group variables for implicit localhost
2014-08-19 16:41:51 +02:00
Serge van Ginderachter
a2cfe8770b
Inventory: fix logic mistake in loading/retrieving variables for groups
2014-08-19 16:34:26 +02:00
James Cammarata
e3895840d1
Make sure group_vars/all is loaded for ungrouped hosts
...
Fixes #6563
2014-08-18 12:29:46 -05:00
James Cammarata
b4476c238f
Use match() instead of search() for pattern matching
...
Also related to f48fa3, fix for #8614
2014-08-14 12:26:52 -05:00
James Cammarata
f48fa3759a
Fix host pattern matching and enhance error detection
...
Fixes #8614
2014-08-14 12:13:40 -05:00
James Cammarata
bea0845322
Fix vault_password positional args error
2014-08-14 10:28:08 -05:00
Michael DeHaan
8c4161d4a1
Merge branch 'retf_py' of git://github.com/berendt/ansible into devel
...
Conflicts:
lib/ansible/inventory/vars_plugins/group_vars.py
plugins/callbacks/mail.py
2014-08-08 12:17:37 -04:00
Serge van Ginderachter
7c96f1d803
InventoryDir: fixing yet another corner case
2014-08-08 08:54:11 +02:00
Serge van Ginderachter
e8b45a9ef7
Invalidate host/group variables cache when loading
...
extra varsiables based on playbook basedir.
2014-07-14 15:21:33 +02:00
Serge van Ginderachter
d39ff55688
Fix logic bug when loading vars for a new playbook basedir.
2014-07-14 15:12:53 +02:00
James Cammarata
4e5eb7559e
Merge branch 'svg_and_inventory_refactor' into devel
2014-07-10 14:43:07 -05:00
Dan Slimmon
307a3e8a9c
Fixed regex square-bracket bug.
...
Regexes were being parsed like ordinary ansible host patterns, so
square-bracket groups were getting interpolated wrongly.
2014-07-10 00:08:12 +00:00
James Cammarata
aa261bdd14
Optimizing groups_for_host() lookup in inventory
2014-07-07 21:08:39 -05:00
James Cammarata
fe892fccb1
Merge remote-tracking branch 'svg/varsplugins_refactor' into svg_and_inventory_refactor
2014-07-07 14:16:37 -05:00
James Cammarata
11a5fc85f4
Merge branch 'inventory_refactoring' into svg_and_inventory_refactor
2014-07-07 13:11:58 -05:00
James Cammarata
bcf83cbc24
Merge branch 'sergevanginderachter-inventorytree' into svg_and_inventory_refactor
2014-07-07 13:11:52 -05:00
Serge van Ginderachter
ff4119adc0
Performance optimization in resolving host patterns
...
Avoid resolving a pattern that is a plain host. When matching a hostname in the
hosts_cache, just use the host object from there.
When running a task on say 750 hosts, this yields a huge improvement.
2014-07-07 12:50:50 -05:00
James Cammarata
ff04b2b532
Allow empty yaml vars files
...
Fixes #7843
2014-07-04 23:10:32 -05:00
Michael DeHaan
c2ac8fda1e
Data from inventory scripts should be able to use nested Jinja2 expressions.
2014-07-03 16:11:14 -04:00
James Cammarata
8ed6350e65
When parsing json from untrusted sources, remove templating tags
2014-07-01 14:14:14 -05:00
James Cammarata
539426f612
Performance tuning inventory functions for large inventories
2014-06-26 23:15:39 -05:00
James Cammarata
d8a7b49b59
Merge branch 'inventorytree' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-inventorytree
2014-06-24 15:21:08 -05:00
Kevin Bell
92bd755b47
Fixed extension filtering in InventoryDirectory
2014-05-14 23:43:14 -07:00
James Cammarata
393124e462
Add pyc/pyo to ignore list for inventory directories
...
Fixes #7308
2014-05-07 09:59:13 -05:00
Christian Berendt
6676720ce5
fixed typos found by RETF rules in PY files
...
rules are avaialble at https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos
2014-05-03 18:40:05 +02:00
Serge van Ginderachter
e36e2d38fe
InventoryDir: another fix for the host.groups list
...
In some cases, where a host is mentioned in multiple groups, and those
groups are referenced in multiple ini files, a group could still contain
multiple instances of a group in its host,groups list, where only one of them
is the right group, that exists in the inventory.
2014-04-04 09:27:44 +02:00
Cristian Ciupitu
96ff1444f0
Micro-optimization: replace s.find(x)==0 with s.startswith(x)
...
timeit shows a speedup of ~1.4x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-27 20:35:20 +02:00
Serge van Ginderachter
d4634983f0
Move group/host_vars parsing into core inventory
...
modified: lib/ansible/inventory/__init__.py
deleted: lib/ansible/inventory/vars_plugins/group_vars.py
modified: lib/ansible/utils/__init__.py
2014-03-26 11:37:26 +01:00
Serge van Ginderachter
f8ea93c732
Move inventory.set_playbook_basedir from ansible-playbook to playbook constructor
2014-03-25 22:12:01 +01:00
Serge van Ginderachter
cc28fd891b
Introduce noop vars plugin.
...
In preparation to move the group_vars plugin code into core.
new file: lib/ansible/inventory/vars_plugins/noop.py
2014-03-25 22:12:01 +01:00
Serge van Ginderachter
f6a55a3552
Refactor vars_plugins (host/group_vars)
...
Split out parsing of vars files to per host and per group
parsing, instead of reparsing all groups for each host. This enhances
performance.
Extend vars_plugins' API with two new methods:
* get host variables: only parses host_vars
* get group variables: only parses group_vars for specific group
The initial run method is still used for backward compatibility.
Parse all vars_plugins at inventory initialisation, instead of
per host when touched first by runner. Here we can also loop through
all groups once easily, then parse them.
This also centralizes all parsing in the inventory constructor.
modified: bin/ansible
modified: bin/ansible-playbook
modified: lib/ansible/inventory/__init__.py
modified: lib/ansible/inventory/vars_plugins/group_vars.py
2014-03-25 22:12:01 +01:00
James Cammarata
846933dd53
Make inventory parsing error detection smarter
...
If something is executable but doesn't look like it should be, or if
something is NOT executable and DOES looks like it should, show a
more apropos error with a hint on correcting the problem
Fixes #5113
2014-03-25 11:41:00 -05:00
Serge van Ginderachter
d3eaa1b79e
InventoryDir: refactor logic
...
Make sure all hosts and groups are unique objects
and that those are referenced uniquely everywhere.
Also fixes test_dir_inventory unit tests which were broken after previous
patches.
modified: lib/ansible/inventory/dir.py
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
188375171e
Inventory: raise error when adding a group that already exists.
...
The parsers check if a group already exists.
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
be58808fe4
inventory script parser: do not add all the groups to *all* group
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
0ceefbbf29
inventory ini parser: do not add all the groups to *all* group
...
but only those with lowest depth, so we keep a proper tree structure
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
cc8efb4aab
inventory groups: make sure group.depth is updated on all grandchildren
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
1c86909875
inventory group: add groups to parent_groups only once
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
36f55d3549
inventory directory parser: add host to group only once
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
8b215149d4
inventory directory parser: add groups to parent_groups non-recursively
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
262ba0460a
inventory directory parser: add hosts to group non-recursively
2014-03-25 12:45:00 +01:00
Michael DeHaan
9da26da335
Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel
2014-03-17 17:37:57 -04:00
Serge van Ginderachter
280498a7e5
Pass through vault_password when parsing host/group vars as directories.
...
Fixes a bug where vault_password parameter was not passed through in
_load_vars_from_folder()
modified: lib/ansible/inventory/vars_plugins/group_vars.py
2014-03-17 10:51:04 +01:00
Michael DeHaan
b41541c62a
Merge conflict.
2014-03-16 16:48:03 -04:00
Michael DeHaan
4a06954a13
Merge pull request #6390 from sergevanginderachter/group-varsdirs-svn
...
group_vars plugin: do not parse hidden files in subfolders
2014-03-16 14:44:17 -05:00
Oleg Bulatov
f6a4c20cc0
Make parsing variables for hosts and groups more consistent
...
This commit allows to specify arrays in [group:vars] block.
Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
2014-03-16 21:47:26 +04:00
Michael DeHaan
d5856bd475
Merge pull request #6391 from sergevanginderachter/hashmerge_inventoryscripts
...
Allow hash_behaviour=merge to be respected in core inventory
2014-03-16 12:42:35 -05:00
Cristian Ciupitu
0749112286
Micro-optimization: replace s.find(x)!=-1 with x in s
...
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-16 13:10:28 -04:00