Skip to content

Commit

Permalink
Merge branch 'master' into additional_nsgroup_commands
Browse files Browse the repository at this point in the history
  • Loading branch information
badnetmask authored Apr 2, 2024
2 parents ec1cf4f + 8bf75a1 commit 72f729e
Show file tree
Hide file tree
Showing 125 changed files with 4,797 additions and 166 deletions.
83 changes: 55 additions & 28 deletions .github/workflows/ansible-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ jobs:
strategy:
fail-fast: false
matrix:
ansible-version: [stable-2.10]
ansible-version: [stable-2.14]
steps:
- name: Check out code
uses: actions/checkout@v2

- name: Set up Python 3.8
- name: Set up Python 3.10
uses: actions/setup-python@v1
with:
python-version: 3.8
python-version: '3.10'

- name: Install ansible (${{ matrix.ansible-version }})
run: pip install pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check
Expand All @@ -34,7 +34,7 @@ jobs:
with:
name: collection
path: .cache/collection-tarballs


###
# Unit tests
Expand All @@ -48,15 +48,21 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [2.7, 3.8, 3.9]
ansible-version: [stable-2.9, stable-2.10, stable-2.11, stable-2.12, devel]
python-version: ['3.8', '3.9', '3.10', '3.11']
ansible-version: [stable-2.14, stable-2.15, stable-2.16, devel]
exclude:
- ansible-version: devel
python-version: 2.7
- ansible-version: stable-2.12
python-version: 2.7
- ansible-version: stable-2.9
python-version: 3.9
python-version: '3.8'
- ansible-version: devel
python-version: '3.9'
- ansible-version: stable-2.16
python-version: '3.8'
- ansible-version: stable-2.16
python-version: '3.9'
- ansible-version: stable-2.15
python-version: '3.8'
- ansible-version: stable-2.14
python-version: '3.8'

steps:
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -76,8 +82,8 @@ jobs:
- name: Setup Unit test Pre-requisites
run: |
ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz
git clone https://github.com/ansible/ansible.git
cp -rf ansible/test/units/compat /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/
git clone https://github.com/ansible/ansible.git -b ${{ matrix.ansible-version }}
if [ "${{ matrix.ansible-version }}" != "devel" ]; then cp -rf ansible/test/units/compat /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/; fi
cp -rf ansible/test/units/modules/utils.py /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/
sed -i 's/units/ansible_collections.infoblox.nios_modules.tests.unit/' /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/utils.py
if [ -f /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt ]; then pip install -r /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt; fi
Expand All @@ -87,7 +93,11 @@ jobs:

- name: Generate coverage report
run: |
if [ "${{ matrix.ansible-version }}" == "devel" ]; then pip install coverage==6.3.2; fi
if [ "${{ matrix.ansible-version }}" == "stable-2.14" ]; then
pip install coverage==6.5.0;
elif [ "${{ matrix.ansible-version }}" == "stable-2.15" ]; then
pip install coverage==6.5.0;
fi
ansible-test coverage xml -v --group-by command --group-by version
working-directory: /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/

Expand All @@ -104,37 +114,54 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [2.7, 3.8, 3.9]
ansible-version: [stable-2.9, stable-2.10, stable-2.11, stable-2.12, devel]
python-version: ['3.8', '3.9', '3.10', '3.11']
ansible-version: [stable-2.14, stable-2.15, stable-2.16, devel]
exclude:
- ansible-version: stable-2.9
python-version: 3.9
- ansible-version: devel
python-version: '3.8'
- ansible-version: devel
python-version: '3.9'
- ansible-version: stable-2.16
python-version: '3.8'
- ansible-version: stable-2.16
python-version: '3.9'
- ansible-version: stable-2.15
python-version: '3.8'
- ansible-version: stable-2.14
python-version: '3.8'
steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}

- name: Check out code
uses: actions/checkout@v2

- name: Install ansible-base (${{ matrix.ansible }})
- name: Install ansible-base (${{ matrix.ansible-version }})
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check

- name: Download migrated collection artifacts
uses: actions/download-artifact@v1
with:
name: collection
path: .cache/collection-tarball

- name: Install the collection tarball
run: ansible-galaxy collection install .cache/collection-tarball/*.tar.gz

- name: Setup Integration test Pre-requisites
run: pip install -r /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/requirements.txt
run: |
sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0
pip install -r /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/requirements.txt
# Run the integration tests
- name: Run integration test
run: |
echo $ANSIBLE_NIOSSIM_CONTAINER
ansible-test integration -v --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python-version }} --docker --coverage
env:
ANSIBLE_NIOSSIM_CONTAINER: quay.io/ansible/nios-test-container:1.4.0
ANSIBLE_NIOSSIM_CONTAINER: quay.io/ansible/nios-test-container:3.0.0
working-directory: /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/

# ansible-test support producing code coverage date
Expand All @@ -145,8 +172,8 @@ jobs:
- uses: codecov/codecov-action@v1
with:
fail_ci_if_error: false


###
# Sanity tests (REQUIRED)
#
Expand All @@ -159,15 +186,15 @@ jobs:
strategy:
fail-fast: false
matrix:
ansible-version: [stable-2.9, stable-2.10, stable-2.11, stable-2.12, devel]
ansible-version: [stable-2.14, stable-2.15, stable-2.16, devel]

steps:
- name: Set up Python 3.8
- name: Set up Python 3.10
uses: actions/setup-python@v1
with:
# it is just required to run that once as "ansible-test sanity" in the docker image
# will run on all python versions it supports.
python-version: 3.8
python-version: '3.10'

- name: Install ansible (${{ matrix.ansible-version }}) version
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ __pycache__/
# Distribution / packaging
.Python
env/
.direnv/
build/
develop-eggs/
dist/
Expand Down Expand Up @@ -99,3 +100,10 @@ ENV/

# mypy
.mypy_cache/
infoblox-ansible.code-workspace

# Ansible sanity test ouput
**/ansible-test-sanity-*.json

# Dev tools
.vscode/
138 changes: 138 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,144 @@ Infoblox.Nios_Modules Release Notes
===================================

.. contents:: Topics
v1.6.1
======

Release Summary
---------------
This release includes the updates of plug-in version 1.6.0 and the following documentation changes:
Ansible core version in the dependencies updated to 2.14 or later.

Minor Changes
-------------
Ansible core version in the dependencies updated to 2.14 or later.

v1.6.0
======

Release Summary
---------------
Added new modules with CRUD features to manage NIOS DTC health check monitors: DTC HTTP Monitor,
DTC ICMP Monitor, DTC PDP Monitor, DTC SIP Monitor, DTC SNMP Monitor, DTC TCP Monitor.
Added a new module with CRUD features to manage topology rulesets in NIOS.
Added a new field to define topology ruleset for the DTC Pool and DTC LBDN modules.

Major Changes
-------------
- Upgrade Ansible version support from 2.13 to 2.16.
- Upgrade Python version support from 3.8 to 3.10.

New Modules
-----------
- infoblox.nios_modules.nios_dtc_monitor_http - Configures the Infoblox NIOS DTC HTTP monitor
- infoblox.nios_modules.nios_dtc_monitor_icmp - Configures the Infoblox NIOS DTC ICMP monitor
- infoblox.nios_modules.nios_dtc_monitor_pdp - Configures the Infoblox NIOS DTC PDP monitor
- infoblox.nios_modules.nios_dtc_monitor_sip - Configures the Infoblox NIOS DTC SIP monitor
- infoblox.nios_modules.nios_dtc_monitor_snmp - Configures the Infoblox NIOS DTC SNMP monitor
- infoblox.nios_modules.nios_dtc_monitor_tcp - Configures the Infoblox NIOS DTC TCP monitor
- infoblox.nios_modules.nios_dtc_topology - Configures the Infoblox NIOS DTC Topology

Bugfixes
---------
- Fixes typo for environment variable INFOBLOX_WAPI_VERSION `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_
- Fixes environment variable max_results using INFOBLOX_MAX_RESULTS `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_
- Fixes index error for transform fields in DTC LBDN (auth_zone and Pool) and DTC POOL (servers and monitors) `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_

v1.5.0
======

Release Summary
---------------
- Added new module - NIOS Range with Create, Update and Delete features
- Added new feature - Member Assignment to Networks with add and remove functionality
- Fixes Unable to Update/Delete EAs using Ansible plugin
- Fixes Static Allocation of IPV4 address of A Record
- Updates default WAPI version to 2.9
- Added Grid Master Candidate feature

Major Changes
-------------
- Added NIOS Range module with Create, Update and Delete features `#152 <https://github.com/infobloxopen/infoblox-ansible/pull/152>`_
- Added Member Assignment to network and ranges `#152 <https://github.com/infobloxopen/infoblox-ansible/pull/152>`_
- Added Grid Master Candidate feature `#152 <https://github.com/infobloxopen/infoblox-ansible/pull/152>`_
- Fixes issue unable to update/delete EAs using Ansible plugin `#180 <https://github.com/infobloxopen/infoblox-ansible/pull/180>`_
- Fixes static and dynamic allocation of IPV4 address of A Record `#182 <https://github.com/infobloxopen/infoblox-ansible/pull/182>`_
- Fixes to Update host name of NIOS member `#176 <https://github.com/infobloxopen/infoblox-ansible/pull/176>`_
- Updates default WAPI version to 2.9 `#176 <https://github.com/infobloxopen/infoblox-ansible/pull/176>`_

Bugfixes
---------
- Fixes Update A Record having multiple records with same name and different IP `#182 <https://github.com/infobloxopen/infoblox-ansible/pull/182>`_


v1.4.1
======

Release Summary
---------------
- Ansible Lookup modules can specify network_view to which a network/ip belongs
- Fixes camelCase issue while updating 'nios_network_view' with 'new_name'
- Fixes issue to allocate ip to a_record dynamically
- Updates 'nios_a_record' name with multiple ips having same name

Minor Changes
-------------
- Fix to specify network_view in lookup modules to return absolute network/ip `#157 <https://github.com/infobloxopen/infoblox-ansible/pull/157>`_
- Fix to camelcase issue for updating 'nios_network_view' name `#163 <https://github.com/infobloxopen/infoblox-ansible/pull/163>`_
- Fix to allocate ip to a_record dynamically `#163 <https://github.com/infobloxopen/infoblox-ansible/pull/163>`_
- Fix to update 'nios_a_record' name with multiple ips having same name `#164 <https://github.com/infobloxopen/infoblox-ansible/pull/164>`_
- Fix to changelog yaml file with linting issues `#161 <https://github.com/infobloxopen/infoblox-ansible/pull/161>`_


v1.4.0
======

Release Summary
---------------
- For ansible module, added certificate authentication feature
- Few bug fixes in ansible module nios network

Major Changes
-------------
- Feature for extra layer security, with `cert` and `key` parameters in playbooks for authenticating using certificate and key .pem file absolute path `#154 <https://github.com/infobloxopen/infoblox-ansible/pull/154>`
- Fix to remove issue causing due to template attr in deleting network using Ansible module nios network `#147 <https://github.com/infobloxopen/infoblox-ansible/pull/147>`_


v1.3.0
======

Release Summary
---------------
- Issue fixes to create TXT record with equals sign
- For nonexistent record, update operation creates the new record
- For nonexistent IPv4Address, update operation creates a new A record with new_ipv4addr

Major Changes
-------------
- Update operation using `old_name` and `new_name` for the object with dummy name in `old_name` (which does not exist in system) will not create a new object in the system. An error will be thrown stating the object does not exist in the system `#129 <https://github.com/infobloxopen/infoblox-ansible/pull/129>`_
- Update `text` field of TXT Record `#128 <https://github.com/infobloxopen/infoblox-ansible/pull/128>`_

Bugfixes
---------
- Fix to create TXT record with equals sign `#128 <https://github.com/infobloxopen/infoblox-ansible/pull/128>`_


v1.2.2
======

Release Summary
---------------
- Issue fixes to create PTR record in different network views
- Support extended to determine whether the DTC server is disabled or not

Minor Changes
-------------
- Fix to create PTR record in different network views `#103 <https://github.com/infobloxopen/infoblox-ansible/pull/103>`_
- Remove use_option for DHCP option 60 `#104 <https://github.com/infobloxopen/infoblox-ansible/pull/104>`_
- Allow specifying a template when creating a network `#105 <https://github.com/infobloxopen/infoblox-ansible/pull/105>`_
- Fix unit and sanity test issues `#117 <https://github.com/infobloxopen/infoblox-ansible/pull/117>`_
- Expanding for disable value `#119 <https://github.com/infobloxopen/infoblox-ansible/pull/119>`_


v1.2.1
======
Expand Down
Loading

0 comments on commit 72f729e

Please sign in to comment.