James Cammarata
63c47fb271
Fixing up performance
2015-11-05 16:22:37 -05:00
Brian Coca
483c25a609
Revert "switched host patterns to use sets, simplified logic which now uses buitins"
...
need this to be lists, for order and other considerations
This reverts commit 8e2f0b3f2c
.
2015-11-05 15:41:17 -05:00
Brian Coca
88ba46aee0
Revert "fixed append to add"
...
good change on top of bad
This reverts commit 699f344e17
.
2015-11-05 15:40:52 -05:00
Brian Coca
699f344e17
fixed append to add
2015-11-05 15:24:20 -05:00
Brian Coca
8e2f0b3f2c
switched host patterns to use sets, simplified logic which now uses buitins
2015-11-05 15:02:06 -05:00
Yannig Perre
e0aa3ff232
Cache against hosts pattern (fix a part of problem describe in https://github.com/ansible/ansible/issues/13023 ).
2015-11-04 22:15:02 +01:00
Brian Coca
13bf62d0e6
remove deprecation for :, add ; functionality (its deprecated but it should work)
2015-10-31 16:35:40 -04:00
James Cammarata
86de1429e5
Cleaning up FIXMEs
2015-10-22 16:03:50 -04:00
Toshio Kuratomi
a17ae6f07e
Clean up pyflakes warnings in inventory
2015-10-19 11:13:56 -07:00
Brian Coca
6d87bd405d
Merge pull request #12765 from bcoca/lookup_inventory_hostname
...
implemented inventory_hostname lookup in v2
2015-10-16 15:05:23 -04:00
Toshio Kuratomi
baa309309d
Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version.
2015-10-16 08:21:28 -07:00
Brian Coca
9b088a1e40
implemented inventory_hostname lookup in v2
2015-10-15 13:11:42 -04:00
James Cammarata
91b0b4d40c
Check is_directory() before not is_file() in inventory basedir
...
Fixes #12742
2015-10-14 11:03:10 -04:00
James Cammarata
e6d3c6745f
Revert to using local file/dir tests in inventory instead of loader's
...
Fixes #12719
2015-10-13 12:04:01 -04:00
Brian Coca
c637d60a8d
fixed deprecation message
2015-10-13 11:40:21 -04:00
James Cammarata
5a0f5f1254
Load vars for localhost when created implicitly
...
Fixes #12666
2015-10-08 09:26:20 -04:00
James Cammarata
57372906aa
Pull host/group vars when adding hosts/groups
...
Fixes #12582
2015-10-02 02:47:09 -04:00
Marius Gedminas
95e655eb67
Python 3: there's no basestring
...
Fixes one failing test.
The long series of module_utils/basic.py fixes were all because
module_utils/basic is imported in ansible/inventory/script.py.
2015-09-23 10:04:26 +03:00
Victor Salgado
20bbd66e85
Use dict.get()
2015-09-20 22:54:02 -03:00
James Cammarata
65bf14cbb0
Merge pull request #12431 from hslee16/devel
...
Stops using _groups_list to check for host when using 'add_host'
2015-09-20 18:17:02 -04:00
Abhijit Menon-Sen
2fcdb37e7b
Support «hosts: groupname[1:]» notation (~= 'the rest of the group')
2015-09-18 22:28:34 +05:30
Alex Lee
cf289191e5
return None if group does not exist in inventory groups
2015-09-17 15:58:10 -07:00
James Cammarata
b386f0c64d
Merge pull request #12423 from amenonsen/split-fixup
...
Remove deprecation warning; now handled in _split_patterns
2015-09-17 14:02:22 -04:00
James Cammarata
a1fffff92c
Merge branch 'addresses' of https://github.com/amenonsen/ansible into amenonsen-addresses
2015-09-17 13:43:05 -04:00
Abhijit Menon-Sen
62ca6b5e35
Remove deprecation warning; now handled in _split_patterns
2015-09-17 23:09:56 +05:30
Abhijit Menon-Sen
575a8b8c77
Merge Host.ipv[46]_address into .address
...
The earlier distinction was never used; .ipv6_address was always a copy
of .ipv4_address, and the latter was always used to set the remote_addr
field in the PlayContext.
Also uses the canonical ansible_host/ansible_port names when setting the
address and port from variables.
2015-09-17 23:03:48 +05:30
Victor Salgado
14fefebaad
Modify _split_pattern to use map when working with list input
2015-09-17 13:52:54 -03:00
Abhijit Menon-Sen
2405861a9e
Use ',' instead of ':' or ';' to separate host patterns
...
The earlier-recommended "pat1:pat2:pat3[x:y]" notation doesn't work well
with IPv6 addresses, so we recommend ',' as a separator instead. We know
that commas can't occur within a pattern, so we can just split on it.
We still have to accept the "foo:bar" notation because it's so commonly
used, but we issue a deprecation warning for it.
Fixes #12296
Closes #12404
Closes #12329
2015-09-17 19:31:16 +05:30
James Cammarata
e97d448838
Cleanup one more missed inventory bug
2015-09-16 16:53:08 -04:00
James Cammarata
11c27078c0
Cleaning up inventory bugs from earlier group change
2015-09-16 16:36:27 -04:00
James Cammarata
c8f2483d6d
Cleaning up default group creation in inventory parsers
2015-09-16 12:54:54 -04:00
Thomas Quinot
c005f75469
Always create 'all' group
...
Create 'all' even if host_list is empty, as this group needs to exist
when creating the implicit 'localhost' host.
Fixes #12391
2015-09-16 12:24:06 +02:00
Abhijit Menon-Sen
065bb52109
Be systematic about parsing and validating hostnames and addresses
...
This adds a parse_address(pattern) utility function that returns
(host,port), and uses it wherever where we accept IPv4 and IPv6
addresses and hostnames (or host patterns): the inventory parser
the the add_host action plugin.
It also introduces a more extensive set of unit tests that supersedes
the old add_host unit tests (which didn't actually test add_host, but
only the parsing function).
2015-09-11 21:47:18 +05:30
James Cammarata
ff9f5d7dc8
Starting to add additional unit tests for VariableManager
...
Required some rewiring in inventory code to make sure we're using
the DataLoader class for some data file operations, which makes mocking
them much easier.
Also identified two corner cases not currently handled by the code, related
to inventory variable sources and which one "wins". Also noticed we weren't
properly merging variables from multiple group/host_var file locations
(inventory directory vs. playbook directory locations) so fixed as well.
2015-09-04 16:41:38 -04:00
Abhijit Menon-Sen
147b04b682
Remove duplicated function definition (fallout from earlier repeated merge)
2015-09-02 07:47:48 +05:30
Brian Coca
b525eedb8e
less misleading message for when someone looks up vars for a host not in inventory
2015-08-30 12:41:21 -04:00
James Cammarata
4c65306e73
Merge branch 'hostrange' of https://github.com/amenonsen/ansible into amenonsen-hostrange
2015-08-28 13:48:25 -04:00
Brian Coca
514fa73fcd
galaxy fixes
2015-08-28 12:32:50 -04:00
Marius Gedminas
0c6ce31f76
Use 'except ... as' syntax
...
This syntax works on Python 2.6 through 3.x. lib/ansible/module_utils
(and lib/ansible/modules) need to support Python 2.4, so I didn't touch
those.
2015-08-27 22:15:04 +03:00
Ilya Epifanov
81bf88b6e0
fixed hostvars access in conjunction with --limit usage
2015-08-27 00:15:26 +03:00
Brian Coca
b2ae6945c4
always load vars plugins
...
fixes #12104
2015-08-26 11:40:53 -04:00
Brian Coca
82603bb2a0
avoids running abspath on None
2015-08-26 09:28:23 -04:00
Abhijit Menon-Sen
8bf0dbb7a9
Use [x:y] host ranges instead of [x-y]
...
This commit deprecates the earlier groupname[x-y] syntax in favour of
the inclusive groupname[x:y] syntax. It also makes the subscripting
code simpler and adds explanatory comments.
One problem addressed by the cleanup is that _enumeration_info used to
be called twice, and its results discarded the first time because of the
convoluted control flow.
2015-08-25 21:17:24 +05:30
Abhijit Menon-Sen
73f10de386
Document the behaviour of _match_one_pattern in some detail
...
The possibilities are complicated enough that I didn't want to make
changes without having a complete description of what it actually
accepts/matches. Note that this text documents current behaviour, not
necessarily the behaviour we want. Some of this is undocumented and may
not be intended.
2015-08-25 21:17:24 +05:30
Abhijit Menon-Sen
fa6ffa1dbd
Remove & and ! pattern prefixes as early as possible
...
Now everything under _match_one_pattern can ignore them. This also means
that we can use the cache to return the same results for 'foo' and '!foo'.
2015-08-25 21:17:24 +05:30
Abhijit Menon-Sen
704c3815d3
Reorder functions into a logical sequence based on usage
...
There are no code changes; this is committed separately so as to make
the subsequent "real" diffs easier to read.
2015-08-25 21:17:24 +05:30
Brian Coca
f1b8323b62
fixed host/group var loading when inventory is a directory
2015-08-23 17:51:47 -04:00
James Cammarata
e282309f6d
Make sure the inventory restriction is not None
2015-08-21 16:08:21 -04:00
Brian Coca
961bee00d5
centralized the definition of 'localhost'
2015-08-19 15:49:37 -04:00
Abhijit Menon-Sen
2641f70e47
Reset self._groups_cache in refresh_inventory
2015-08-19 11:35:27 +05:30