- 20 Aug, 2015 13 commits
-
-
Rewrite inventory/ini.py
Toshio Kuratomi committed -
Now we accept IPv6 addresses _with port numbers_ only in the standard [xxx]:NN notation (though bare IPv6 addresses may be given, as before, and non-IPv6 addresses may also be placed in square brackets), and any other host identifiers (IPv4/hostname/host pattern) as before, with an optional :NN suffix.
Abhijit Menon-Sen committed -
Based on a patch by @Richard2ndQuadrant.
Abhijit Menon-Sen committed -
(There's no compelling reason to do this right now, but should be parser need to be called multiple times in future, this makes it easier.)
Abhijit Menon-Sen committed -
Abhijit Menon-Sen committed
-
The new code parses INI-format inventory files in a single pass using a well-documented state machine that reports precise errors and eliminates the duplications and inconsistencies and outright errors in the earlier three-phase parsing code (e.g. three ways to skip comments). It is also much easier now to follow what decisions are being taken on the basis of the parsed data. The comments point out various potential improvements, particularly in the area of consistent IPv6 handling. On the ornate marble tombstone of the old code, the following inscription is one last baffling memento from a bygone age: - def _before_comment(self, msg): - ''' what's the part of a string before a comment? ''' - msg = msg.replace("\#","**NOT_A_COMMENT**") - msg = msg.split("#")[0] - msg = msg.replace("**NOT_A_COMMENT**","#") - return msg
Abhijit Menon-Sen committed -
Add win_splitdrive filter for windows users
Brian Coca committed -
Update faq
Brian Coca committed -
Guru is not a thing any more.
Bill Nottingham committed -
Jon Hawkesworth committed
-
Don't convert nulls to strings.
Toshio Kuratomi committed -
Update dependencies for pywinrm
Brian Coca committed -
Brian Coca committed
-
- 19 Aug, 2015 17 commits
-
-
Brian Coca committed
-
This change is similar to https://github.com/ansible/ansible/pull/10465 It extends the logic there to also support none types. Right now if you have a '!!null' in yaml, and that var gets passed around, it will get converted to a string. eg. defaults/main.yml ``` ENABLE_AWESOME_FEATURE: !!null # Yaml Null OTHER_CONFIG: secret1: "so_secret" secret2: "even_more_secret" CONFIG: hostname: "some_hostname" features: awesame_feature: "{{ ENABLE_AWESOME_FEATURE}}" secrets: "{{ OTHER_CONFIG }}" ``` If you output `CONFIG` to json or yaml, the feature flag would get represented in the output as a string instead of as a null, but secrets would get represented as a dictionary. This is a mis-match in behaviour where some "types" are retained and others are not. This change should fix the issue. I also updated the template test to test for this and made the changes to v2. Added a changelog entry specifically for the change from empty string to null as the default. Made the null representation configurable. It still defaults to the python NoneType but can be overriden to be an emptystring by updating the DEFAULT_NULL_REPRESENTATION config.
Feanil Patel committed -
Brian Coca committed
-
Brian Coca committed
-
Brian Coca committed
-
Brian Coca committed
-
cloudstack: fixes and consistency change
Brian Coca committed -
Rene Moser committed
-
Rene Moser committed
-
Rene Moser committed
-
Make get_group run in O(n*log(n)) instead of O(n^2) by using a cache (#9437 rebase)
Brian Coca committed -
Abhijit Menon-Sen committed
-
Harald Laabs committed
-
changed local_action to alias to connection=local vs delegate_to=locahost
Brian Coca committed -
Brian Coca committed
-
double the speed of loading a 10k host inventory file (#10034 rebase)
Brian Coca committed -
first off, we add an oddly slow basic test of 10k item inventory Before: ``` Ran 229 tests in 13.214s OK real 0m13.403s user 0m12.106s sys 0m1.155s ``` After: ``` Ran 230 tests in 21.328s OK real 0m21.516s user 0m20.099s sys 0m1.275s ``` since that seems like a bit long for the test to add to runtime, lets profile `python -m cProfile -s time ./bin/ansible all -i test/units/inventory_test_data/huge_range --list-hosts` Before: ``` 1272607 function calls (1259689 primitive calls) in 8.497 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 10000 4.393 0.000 4.396 0.000 __init__.py:395(_get_host) 20000 2.695 0.000 2.697 0.000 __init__.py:341(__append_host_to_results) 40369 0.113 0.000 0.113 0.000 {posix.lstat} 50006 0.102 0.000 0.153 0.000 __init__.py:1490(combine_vars) 40008 0.089 0.000 0.202 0.000 __init__.py:1546(_load_vars_from_path) 20195 0.088 0.000 0.088 0.000 {posix.stat} 10011 0.087 0.000 0.087 0.000 {posix.getcwd} ``` The top two lines are promising optimization targets - populate Inventory's host cache more in _get_host, as we are looping over all the groups anyways. - eliminate duplicate check of whether we've already included a host in the construction around __append_host_to_results we can infer presence of a host in the results list implies the presence of its name in the hostnames set, allowing us to only to the less expensive of the two checks After: ``` 1252610 function calls (1239692 primitive calls) in 1.320 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 40369 0.105 0.000 0.105 0.000 {posix.lstat} 50006 0.094 0.000 0.141 0.000 __init__.py:1490(combine_vars) 40008 0.081 0.000 0.184 0.000 __init__.py:1546(_load_vars_from_path) 10011 0.080 0.000 0.080 0.000 {posix.getcwd} 20195 0.074 0.000 0.074 0.000 {posix.stat} 10002 0.069 0.000 0.261 0.000 __init__.py:1517(load_vars) ```
Will West committed
-
- 18 Aug, 2015 10 commits
-
-
fixes #11998, but still leaves issue of delegate_to: localhost not working
Brian Coca committed -
Updates to Windows Azure inventory from Tower.
Brian Coca committed -
Brian Coca committed
-
changed check to avoid OS X broken sem_getvalue()
Brian Coca committed -
Brian Coca committed
-
fixes #11988
Brian Coca committed -
Brian Coca committed
-
fixes #11907
Brian Coca committed -
refactored the options a bit, new inventory_opts made sense to always group fixes #7917
Brian Coca committed -
fixes #11979
Brian Coca committed
-