Skip to content

Commit

Permalink
Release notes for v1.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
JkhatriInfobox committed Jan 29, 2025
1 parent 12c0334 commit a8e805a
Show file tree
Hide file tree
Showing 11 changed files with 168 additions and 46 deletions.
56 changes: 23 additions & 33 deletions .github/workflows/ansible-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ansible-version: [stable-2.15]
ansible-version: [stable-2.16]
steps:
- name: Check out code
uses: actions/checkout@v4
Expand Down Expand Up @@ -48,21 +48,17 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
ansible-version: [stable-2.15, stable-2.16, stable-2.17, devel]
python-version: ['3.10', '3.11', '3.12', '3.13']
ansible-version: [stable-2.16, stable-2.17, stable-2.18, devel]
exclude:
- ansible-version: devel
python-version: '3.11'
- ansible-version: stable-2.16
python-version: '3.13'
- ansible-version: stable-2.17
python-version: '3.13'
- ansible-version: devel
python-version: '3.10'
- ansible-version: devel
python-version: '3.9'
- ansible-version: stable-2.17
python-version: '3.9'
- ansible-version: stable-2.16
python-version: '3.9'
- ansible-version: stable-2.15
python-version: '3.12'
- ansible-version: stable-2.18
python-version: '3.10'

steps:
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -83,7 +79,7 @@ jobs:
run: |
ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz
git clone https://github.com/ansible/ansible.git -b ${{ matrix.ansible-version }}
if [ "${{ matrix.ansible-version }}" != "devel" ] && [ "${{ matrix.ansible-version }}" != "stable-2.17" ]; then cp -rf ansible/test/units/compat /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/; fi
if [ "${{ matrix.ansible-version }}" == "stable-2.16" ]; 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 @@ -93,10 +89,8 @@ jobs:

- name: Generate coverage report
run: |
if [ "${{ matrix.ansible-version }}" == "devel" ]; then
pip install coverage==7.6.1;
elif [ "${{ matrix.ansible-version }}" == "stable-2.15" ]; then
pip install coverage==6.5.0;
if [ "${{ matrix.ansible-version }}" == "stable-2.16" ] || [ "${{ matrix.ansible-version }}" == "stable-2.17" ]; then
pip install coverage==7.3.2;
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 @@ -114,21 +108,17 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
ansible-version: [stable-2.15, stable-2.16, stable-2.17, devel]
python-version: ['3.10', '3.11', '3.12', '3.13']
ansible-version: [stable-2.16, stable-2.17, stable-2.18, devel]
exclude:
- ansible-version: devel
python-version: '3.11'
- ansible-version: stable-2.16
python-version: '3.13'
- ansible-version: stable-2.17
python-version: '3.13'
- ansible-version: devel
python-version: '3.10'
- ansible-version: devel
python-version: '3.9'
- ansible-version: stable-2.17
python-version: '3.9'
- ansible-version: stable-2.16
python-version: '3.9'
- ansible-version: stable-2.15
python-version: '3.12'
- ansible-version: stable-2.18
python-version: '3.10'
steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
Expand Down Expand Up @@ -187,7 +177,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ansible-version: [stable-2.15, stable-2.16, stable-2.17, devel]
ansible-version: [stable-2.16, stable-2.17, stable-2.18, devel]

steps:
- name: Set up Python 3.11
Expand All @@ -209,9 +199,9 @@ jobs:
- name: Setup Sanity test Pre-requisites
run: ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz

# run ansible-test sanity inside of Docker.
# Run ansible-test sanity inside Docker.
# The docker container has all the pinned dependencies that are required
# and all python versions ansible supports.
# and all python versions ansible support.
- name: Run sanity tests
run: ansible-test sanity --docker -v --color
working-directory: /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules
31 changes: 31 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,37 @@ Infoblox.Nios_Modules Release Notes

.. contents:: Topics

v1.8.0
======

Release Summary
---------------
This release includes new modules for managing NIOS VLANs and Admin Users, as well as new lookup plugins for nios_next_vlan_id.
Additionally, it features various enhancements, new features, and bug fixes aimed at improving the system's overall functionality and performance.

New Modules
-----------
- infoblox.nios_modules.nios_vlan - Configure Infoblox NIOS VLANs
- infoblox.nios_modules.nios_adminuser - Configure Infoblox NIOS Admin Users

Lookup
------
- infoblox.nios_modules.nios_next_vlan_id - Return the next available VLAN ID for a network container

major Changes
-------------
- Drop support for Ansible Core 2.15 and Python 3.9.

minor Changes
-------------
- Set `ipv4addr` parameter in the `nios_inventory` module. `#271 <https://github.com/infobloxopen/infoblox-ansible/pull/271>`_
- Added support for the `vlans` parameter in the `nios_network` module. `#171 <https://github.com/infobloxopen/infoblox-ansible/pull/171>`_

Bugfixes
--------
- Fixed the issue where the `nios_host_record` module was failing with `aliases` parameter. `#285 <https://github.com/infobloxopen/infoblox-ansible/pull/285>`_


v1.7.1
======

Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,19 @@ The `infoblox.nios_modules` collection has the following content:
- `nios_next_ip`: Return the next available IP address for a network
- `nios_next_network`: Return the next available network addresses
for a given network CIDR
- `nios_next_vlan_id`: Return the next available VLAN IDs for a given VLAN View/Range.

## Requirements

- Python version 3.10 or later
- Ansible Core version 2.15 or later
- NIOS 8.6.x and 9.0.x
- Infoblox WAPI version 2.12.3 or later
- Python module infoblox-client version 0.6.0
- Python module infoblox-client version 0.6.2

Install the infoblox-client WAPI package. To install, run the following command:
```shell
pip install infoblox-client==0.6.0
pip install infoblox-client==0.6.2
```

## Installation
Expand Down Expand Up @@ -233,17 +234,18 @@ The collection has been tested in the following environments:
- Mac

- **Ansible Versions:**
- Ansible Core 2.15
- Ansible Core 2.16
- Ansible Core 2.17
- Ansible Core 2.18

- **NIOS Versions:**
- NIOS 8.6.x
- NIOS 9.0.x

### Known Exceptions and Workarounds

For detailed information on testing and performance, refer to the `tests` directory in the `infoblox-ansible` repository.
- For detailed information on testing and performance, refer to the `tests` directory in the `infoblox-ansible` repository.
- The `use_dns_ea_inheritance` option for Host Records is compatible only with WAPI versions 2.12.3 or 2.13.4 and later.

## Contributing

Expand All @@ -255,7 +257,7 @@ We welcome your contributions to Infoblox Nios Modules. See [CONTRIBUTING.md](ht

Infoblox NIOS Modules for Ansible Collections supports the following versions:
- **NIOS Versions:** 8.6.x and 9.0.x
- **Ansible Core Versions:** 2.15 and later
- **Ansible Core Versions:** 2.16 and later
- **Python Versions:** 3.10 and later

### How to Get Support
Expand Down
16 changes: 15 additions & 1 deletion changelogs/.plugin-cache.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ plugins:
description: Return the next available network range for a network-container
name: nios_next_network
version_added: 1.0.0
nios_next_vlan_id:
description: Return the next available VLAN ID for a VLAN View/Range.
name: nios_next_vlan_id
version_added: 1.8.0
module:
nios_a_record:
description: Configure Infoblox NIOS A records
Expand All @@ -35,6 +39,11 @@ plugins:
name: nios_aaaa_record
namespace: ""
version_added: 1.0.0
nios_adminuser:
description: Configure Infoblox NIOS admin user
name: nios_adminuser
namespace: ""
version_added: 1.8.0
nios_cname_record:
description: Configure Infoblox NIOS CNAME records
name: nios_cname_record
Expand Down Expand Up @@ -185,6 +194,11 @@ plugins:
name: nios_txt_record
namespace: ""
version_added: 1.0.0
nios_vlan:
description: Configure Infoblox NIOS VLAN object
name: nios_vlan
namespace: ""
version_added: 1.8.0
nios_zone:
description: Configure Infoblox NIOS DNS zones
name: nios_zone
Expand All @@ -194,4 +208,4 @@ plugins:
shell: {}
strategy: {}
vars: {}
version: 1.7.1
version: 1.8.0
26 changes: 24 additions & 2 deletions changelogs/changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -250,9 +250,9 @@ releases:
1.7.0:
changes:
bugfixes:
- Omits DNS view from filter critera when renaming a host object and DNS is
- Omits DNS view from filter criteria when renaming a host object and DNS is
bypassed. (https://github.com/infobloxopen/infoblox-ansible/issues/230)
- nios_host_record - rename logic included DNS view in filter critera, even
- nios_host_record - rename logic included DNS view in filter criteria, even
when DNS had been bypassed.
- Fixed an issue in the `nios_host_record` module where the `mac` parameter was not handled correctly.
- Fixed the update operation in the `nios_network` module where the `network` parameter was not handled correctly.
Expand Down Expand Up @@ -294,3 +294,25 @@ releases:
- For Host IPv6, the mac parameter has been renamed to duid.
release_summary: "This update focuses on specific improvements and bug fixes for Host records to enhance system functionality and performance."
release_date: "2024-11-18"
1.8.0:
changes:
release_summary: "This release includes new modules for managing NIOS VLANs and Admin Users, as well as new lookup plugins for nios_next_vlan_id.
Additionally, it features various enhancements, new features, and bug fixes aimed at improving the system's overall functionality and performance."
major_changes:
- Drop support for Ansible Core 2.15 and Python 3.9.
minor_changes:
- Added support for the `ipv4addr` parameter in the `nios_inventory` plugin to return the IP address of the specified host.
- Added support for the `vlans` parameter in the `nios_network` module.
modules:
- description: Configure Infoblox NIOS VLANs
name: nios_vlan
namespace: ""
- description: Configure Infoblox NIOS Admin Users
name: nios_adminuser
namespace: ""
plugins:
lookup:
- description: Return the next available VLAN ID
name: nios_next_vlan_id
namespace:
release_date: "2025-01-29"
2 changes: 1 addition & 1 deletion galaxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace: infoblox
name: nios_modules

# The version of the collection. Must be compatible with semantic versioning
version: 1.7.1
version: 1.8.0

# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md
Expand Down
2 changes: 1 addition & 1 deletion meta/runtime.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
requires_ansible: ">=2.15.0"
requires_ansible: ">=2.16.0"
63 changes: 63 additions & 0 deletions playbooks/create_adminuser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
- hosts: localhost
vars:
nios_provider:
host: 10.1.1.1
username: admin
password: infoblox
wapi_version: "2.12.3"
connection: local
tasks:
- name: Create a new adminuser
infoblox.nios_modules.nios_adminuser:
name: new_user
admin_groups: admin-group
comment: "Created by Ansible"
auth_method: KEYPAIR_PASSWORD
auth_type: LOCAL # works
use_ssh_keys: true
ssh_keys:
- key_name: "ansiblekey1"
key_type: "RSA"
key_value: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
- key_name: "ansiblekey3"
key_type: "ECDSA"
key_value: "{{ lookup('file', '~/.ssh/id_ecdsa.pub') }}"
password: "ABCd@1235"
ca_certificate_issuer: 'CN="ib-root-ca"'
client_certificate_serial_number: "1366fbb5e12130a95240f56572083ef65ff341fd" ##hexadecimal or decimal format
email: "[email protected]"
enable_certificate_authentication: true #if true provide issuer and serial
time_zone: 'US/Hawaii'
use_time_zone: true
extattrs:
Site: "USA"
state: present
provider: "{{ nios_provider }}"

- name: Update the username
infoblox.nios_modules.nios_adminuser:
name: {new_name: ansible_user, old_name: new_user}
admin_groups: admin-group
comment: "Created by Ansible"
auth_method: KEYPAIR_PASSWORD
auth_type: LOCAL # works
use_ssh_keys: true
ssh_keys:
- key_name: "ansiblekey1"
key_type: "RSA"
key_value: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
- key_name: "ansiblekey3"
key_type: "ECDSA"
key_value: "{{ lookup('file', '~/.ssh/id_ecdsa.pub') }}"
password: "ABCd@1235"
ca_certificate_issuer: 'CN="ib-root-ca"'
client_certificate_serial_number: "1366fbb5e12130a95240f56572083ef65ff341fd" ##hexadecimal or decimal format
email: "[email protected]"
enable_certificate_authentication: true #if true provide issuer and serial
time_zone: 'US/Hawaii'
use_time_zone: true
extattrs:
Site: "USA"
state: present
provider: "{{ nios_provider }}"
2 changes: 1 addition & 1 deletion plugins/modules/nios_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@
vlans:
- name: ansiblevlan
parent: ansiblevlanview
- id: 10
id: 10
state: present
provider:
host: "{{ inventory_hostname_short }}"
Expand Down
2 changes: 1 addition & 1 deletion tests/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ pytest-xdist
mock
pytest-mock
pytest-cov==2.8.0
coverage==7.3.2
coverage==7.6.1
pygobject
launchpadlib
2 changes: 1 addition & 1 deletion tests/unit/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ pytest-xdist
mock
pytest-mock
pytest-cov
coverage==7.3.2
coverage==7.6.1

0 comments on commit a8e805a

Please sign in to comment.