* fixed ipcut to support ipv4
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* add changelog
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ruchi Pakhle <72685035+Ruchip16@users.noreply.github.com>
Co-authored-by: Ruchi Pakhle <ruchipakhle@gmail.com>
* removed the in between json conversion, now function returns python
dict, changed unit tests to check against the dict.
* remove the json import
* changelog added
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* changed changelog to minor
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ruchi Pakhle <72685035+Ruchip16@users.noreply.github.com>
Co-authored-by: Nilashish Chakraborty <nilashishchakraborty8@gmail.com>
* remove compat files and mock imports
* updates
* updates
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Enhance fact_diff to show common lines
* Add integration and unit tests
* Fix sanity
---------
Co-authored-by: Ashwini Mhatre <amhatre@amhatre-thinkpadt14sgen2i.pnq.csb>
* Update jsonschema validator
Update jsonschema validator to support newer drafts. It now supports
drafts 2019-09 and 2020-12.
The logic for choosing the jsonschema validator class has changed so
that the following enhancements are available:
- When no draft is explicitly specified we now use use the validator
draft that is specified in the "$schema" field of the criteria. This
is done by the jsonschema module by default and should support
possible future drafts without any changes to this code.
- Optionally allow to disable format checks in the code. As format
checks are not required by the spec there might be situations where
people want to disable them.
* Update requirements.txt
* Skip all tests which dependas on jsonschema 4.5
* jsonschema: Refactor code to support python 3.6
* Fix jsonschema requirements for python<3.7
* jsonschema: Update code for compatibility
* Better documentation and error handling for missing schema specifications
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ashwini Mhatre <amhatre@redhat.com>
Co-authored-by: ashwini-mhatre <mashu97@gmail.com>
* fix typo. Add example for IPV6
* add unit tests for IPv6
Co-authored-by: serosset <serosset@cisco.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Welcome to support for indentation with spaces in to_xml plugin
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Changelog fragment
* Unit tests for:
* Indent with spaces and explicit indent_width (4)
* Invalid indent
I also slightly modified VALID_DATA to produce output with indentation,
so existing test_valid_data and OUTPUT has been updated accordingly.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix changelog section name to minor_changes
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add Unit Tests To Capture Failures From 'subnet' Generator
The netaddr library returns a generator for the 'subnet' call. This works great until you use larger networks. While it is uncommon to encounter it in IPv4 usage it is trivial to hit it in IPv6.
* Switch To Calculating Networking Information Directly For Performance
This replaces the inefficient generator for 'subnet' and uses math to determine the result directly. Since a list is not returned directly to the client in the implemented cases this works great and is fast.
A further optimization at least on the logic of this might be to break the different cases implemented by the filter out into unique functions. I did not do this yet because I wanted to get feedback on this direction.
* Changelog Fragment For PR / Bugfix
Adding changelog fragment that references source issue.
* Dropping Python 3.7 Bypass Removes Need For 'sys' Module
A test for ipsubnet was bypassed under 3.7 because of an inconsistent return value w/3.6 and 2.7. I removed the bypass and changed the behavior of the filter to raise an AnsibleFilterError in all versions of Python.
* Add A Pair of Integration Tests
These demonstrate the issue with the current implementation and would normally stall out while building the list of possible subnets from the generator.
* Address Changelog Feedback
I kept the performance item as a bugfix but bumped the typing to a minor change.
* Add 'netaddr' To Integration Test 'requirements.txt'
* The `ansible-test integration --docker` requires this line in requirements.txt to pass the 'netaddr' related tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Replace str -> to_text
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Kate Case <this.is@katherineca.se>
Improve ut coverage
SUMMARY
Add more testcases for ipaddr filter
ISSUE TYPE
COMPONENT NAME
ipaddr.py
ADDITIONAL INFORMATION
Reviewed-by: Nilashish Chakraborty <nilashishchakraborty8@gmail.com>
Reviewed-by: Ashwini Mhatre <mashu97@gmail.com>
Reviewed-by: Sagar Paul <sagpaul@redhat.com>
Add 'netaddr' To 'requirements.txt' For Unit Tests
This enables 'ansible-test --docker' and 'ansible-test --venv' to be able to leverage 'netaddr' and pass tests
SUMMARY
This adds the 'netaddr' python module to the requirements specific to unit tests. This allows 'ansible-test' to work for '--docker' and '--venv' without manual intervention.
I also re-ordered the current list to be alphabetical.
Fixes#142
ISSUE TYPE
Bugfix Pull Request
COMPONENT NAME
Unit tests in ansible.utils for ipsubnet
ADDITIONAL INFORMATION
git clone https://github.com/ansible-collections/ansible.utils.git
cd ansible.utils
ansible-galaxy collection build .
ansible-galaxy collection install -p . ansible-utils-\*.tar.gz
ansible-test units --docker base tests/unit/plugins/filter/test_ipsubnet.py --requirements --verbose
Reviewed-by: Ashwini Mhatre <mashu97@gmail.com>
Add plugin Reduce_on_network
SUMMARY
ISSUE TYPE
New Module Pull Request
COMPONENT NAME
ADDITIONAL INFORMATION
Reviewed-by: Nathaniel Case <this.is@nathanielca.se>
Reviewed-by: Nilashish Chakraborty <nilashishchakraborty8@gmail.com>
Reviewed-by: None <None>
Add next nth usable filter plugin
SUMMARY
ISSUE TYPE
New Module Pull Request
COMPONENT NAME
ADDITIONAL INFORMATION
Reviewed-by: Rohit Thakur <rohitthakur2590@outlook.com>
Reviewed-by: None <None>
Reviewed-by: Nathaniel Case <this.is@nathanielca.se>
Add ipsubnet filter plugin
SUMMARY
ISSUE TYPE
New Module Pull Request
COMPONENT NAME
ADDITIONAL INFORMATION
Reviewed-by: Nathaniel Case <this.is@nathanielca.se>
Reviewed-by: None <None>
Add IPV6 filter plugin
SUMMARY
ISSUE TYPE
New Module Pull Request
COMPONENT NAME
ADDITIONAL INFORMATION
Reviewed-by: Nathaniel Case <this.is@nathanielca.se>
Reviewed-by: None <None>