Skip to content

Commit a73ca38

Browse files
authored
Merge pull request #458 from CiscoDevNet/3.8.1
Release 3.8.1
2 parents 5847b08 + a7cc47d commit a73ca38

File tree

101 files changed

+5572
-4030
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+5572
-4030
lines changed

.github/workflows/main.yml

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ jobs:
2121
runs-on: ubuntu-latest
2222
strategy:
2323
matrix:
24-
ansible: [2.15.12, 2.16.7]
24+
ansible: [2.15.13, 2.16.14, 2.17.12, 2.18.6]
2525
steps:
2626
- name: Check out code
2727
uses: actions/checkout@v2
2828

29-
- name: Set up Python "3.10"
29+
- name: Set up Python "3.11"
3030
uses: actions/setup-python@v1
3131
with:
32-
python-version: "3.10"
32+
python-version: "3.11"
3333

3434
- name: Install ansible-base (v${{ matrix.ansible }})
3535
run: pip install https://github.com/ansible/ansible/archive/v${{ matrix.ansible }}.tar.gz --disable-pip-version-check
@@ -52,11 +52,17 @@ jobs:
5252
runs-on: ubuntu-latest
5353
strategy:
5454
matrix:
55-
ansible: [2.15.12, 2.16.7]
55+
ansible: [2.15.13, 2.16.14, 2.17.12, 2.18.6]
5656
python: ["3.9", "3.10", "3.11"]
5757
exclude:
58-
- ansible: 2.16.7
58+
- ansible: 2.16.14
5959
python: "3.9"
60+
- ansible: 2.17.12
61+
python: "3.9"
62+
- ansible: 2.18.6
63+
python: "3.9"
64+
- ansible: 2.18.6
65+
python: "3.10"
6066
steps:
6167
- name: Set up Python (v${{ matrix.python }})
6268
uses: actions/setup-python@v1
@@ -87,15 +93,21 @@ jobs:
8793
runs-on: ubuntu-latest
8894
strategy:
8995
matrix:
90-
ansible: [2.15.12, 2.16.7]
96+
ansible: [2.15.13, 2.16.14, 2.17.12, 2.18.6]
9197
steps:
92-
- name: Set up Python "3.10"
98+
- name: Set up Python "3.11"
9399
uses: actions/setup-python@v1
94100
with:
95-
python-version: "3.10"
101+
python-version: "3.11"
96102

97103
- name: Install ansible-base (v${{ matrix.ansible }})
98104
run: pip install https://github.com/ansible/ansible/archive/v${{ matrix.ansible }}.tar.gz --disable-pip-version-check
105+
106+
- name: Install Pydantic (v2)
107+
run: pip install pydantic==2.11.4
108+
109+
- name: Install DeepDiff (v8.5.0)
110+
run: pip install deepdiff==8.5.0
99111

100112
- name: Install coverage (v7.3.4)
101113
run: pip install coverage==7.3.4
@@ -120,4 +132,4 @@ jobs:
120132

121133
- name: Generate coverage report
122134
run: coverage report
123-
working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/dcnm
135+
working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/dcnm

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,5 @@ venv.bak/
7979
.mypy_cache/
8080

8181
# Ignore Integration Tests Files Directories
82-
tests/integration/targets/ndfc_interface/files
82+
tests/integration/targets/ndfc_interface/files
83+
tests/integration/targets/dcnm_network/files

CHANGELOG.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,29 @@ This project adheres to `Semantic Versioning <http://semver.org/>`_.
88

99
.. contents:: ``Release Versions``
1010

11+
`3.8.1`_
12+
=====================
13+
14+
**Release Date:** ``2025-07-02``
15+
16+
Added
17+
-----
18+
19+
- Enhanced integration tests for the `dcnm_network` and `dcnm_interface` modules
20+
- Refactored support for breakout interfaces to fix workflow issues in the dcnm_interface module
21+
22+
Fixed
23+
-----
24+
25+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/80
26+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/149
27+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/216
28+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/239
29+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/279
30+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/407
31+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/428
32+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/436
33+
1134
`3.8.0`_
1235
=====================
1336

@@ -563,6 +586,7 @@ The Ansible Cisco Data Center Network Manager (DCNM) collection includes modules
563586
- cisco.dcnm.dcnm_network - Add and remove Networks from a DCNM managed VXLAN fabric.
564587
- cisco.dcnm.dcnm_interface - DCNM Ansible Module for managing interfaces.
565588

589+
.. _3.8.1: https://github.com/CiscoDevNet/ansible-dcnm/compare/3.8.0...3.8.1
566590
.. _3.8.0: https://github.com/CiscoDevNet/ansible-dcnm/compare/3.7.0...3.8.0
567591
.. _3.7.0: https://github.com/CiscoDevNet/ansible-dcnm/compare/3.6.0...3.7.0
568592
.. _3.6.0: https://github.com/CiscoDevNet/ansible-dcnm/compare/3.5.1...3.6.0

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ You can also include it in a `requirements.yml` file and install it with `ansibl
7171
---
7272
collections:
7373
- name: cisco.dcnm
74-
version: 3.8.0
74+
version: 3.8.1
7575
```
7676
## Using this collection
7777

docs/cisco.dcnm.dcnm_interface_module.rst

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,28 @@ Parameters
540540
<div>Description of the interface</div>
541541
</td>
542542
</tr>
543+
<tr>
544+
<td class="elbow-placeholder"></td>
545+
<td class="elbow-placeholder"></td>
546+
<td colspan="1">
547+
<div class="ansibleOptionAnchor" id="parameter-"></div>
548+
<b>duplex</b>
549+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
550+
<div style="font-size: small">
551+
<span style="color: purple">string</span>
552+
</div>
553+
</td>
554+
<td>
555+
<ul style="margin: 0; padding: 0"><b>Choices:</b>
556+
<li><div style="color: blue"><b>auto</b>&nbsp;&larr;</div></li>
557+
<li>full</li>
558+
<li>half</li>
559+
</ul>
560+
</td>
561+
<td>
562+
<div>Duplex of the interface. Speed must be set to use duplex.</div>
563+
</td>
564+
</tr>
543565
<tr>
544566
<td class="elbow-placeholder"></td>
545567
<td class="elbow-placeholder"></td>
@@ -696,6 +718,27 @@ Parameters
696718
<div>Vlan used as native vlan. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;trunk&#x27;.</div>
697719
</td>
698720
</tr>
721+
<tr>
722+
<td class="elbow-placeholder"></td>
723+
<td class="elbow-placeholder"></td>
724+
<td colspan="1">
725+
<div class="ansibleOptionAnchor" id="parameter-"></div>
726+
<b>orphan_port</b>
727+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
728+
<div style="font-size: small">
729+
<span style="color: purple">boolean</span>
730+
</div>
731+
</td>
732+
<td>
733+
<ul style="margin: 0; padding: 0"><b>Choices:</b>
734+
<li><div style="color: blue"><b>no</b>&nbsp;&larr;</div></li>
735+
<li>yes</li>
736+
</ul>
737+
</td>
738+
<td>
739+
<div>interface orphan port behavior when switch is in vPC</div>
740+
</td>
741+
</tr>
699742
<tr>
700743
<td class="elbow-placeholder"></td>
701744
<td class="elbow-placeholder"></td>
@@ -1040,6 +1083,28 @@ Parameters
10401083
<div>Description of the interface</div>
10411084
</td>
10421085
</tr>
1086+
<tr>
1087+
<td class="elbow-placeholder"></td>
1088+
<td class="elbow-placeholder"></td>
1089+
<td colspan="1">
1090+
<div class="ansibleOptionAnchor" id="parameter-"></div>
1091+
<b>duplex</b>
1092+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1093+
<div style="font-size: small">
1094+
<span style="color: purple">string</span>
1095+
</div>
1096+
</td>
1097+
<td>
1098+
<ul style="margin: 0; padding: 0"><b>Choices:</b>
1099+
<li><div style="color: blue"><b>auto</b>&nbsp;&larr;</div></li>
1100+
<li>full</li>
1101+
<li>half</li>
1102+
</ul>
1103+
</td>
1104+
<td>
1105+
<div>Duplex of the interface. Speed must be set to use duplex.</div>
1106+
</td>
1107+
</tr>
10431108
<tr>
10441109
<td class="elbow-placeholder"></td>
10451110
<td class="elbow-placeholder"></td>
@@ -1157,6 +1222,27 @@ Parameters
11571222
<div>Vlan used as native vlan. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;trunk&#x27;.</div>
11581223
</td>
11591224
</tr>
1225+
<tr>
1226+
<td class="elbow-placeholder"></td>
1227+
<td class="elbow-placeholder"></td>
1228+
<td colspan="1">
1229+
<div class="ansibleOptionAnchor" id="parameter-"></div>
1230+
<b>orphan_port</b>
1231+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1232+
<div style="font-size: small">
1233+
<span style="color: purple">boolean</span>
1234+
</div>
1235+
</td>
1236+
<td>
1237+
<ul style="margin: 0; padding: 0"><b>Choices:</b>
1238+
<li><div style="color: blue"><b>no</b>&nbsp;&larr;</div></li>
1239+
<li>yes</li>
1240+
</ul>
1241+
</td>
1242+
<td>
1243+
<div>interface orphan port behavior when switch is in vPC</div>
1244+
</td>
1245+
</tr>
11601246
<tr>
11611247
<td class="elbow-placeholder"></td>
11621248
<td class="elbow-placeholder"></td>
@@ -1577,6 +1663,24 @@ Parameters
15771663
<div>Minimum Value (567), Maximum Value (9216)</div>
15781664
</td>
15791665
</tr>
1666+
<tr>
1667+
<td class="elbow-placeholder"></td>
1668+
<td class="elbow-placeholder"></td>
1669+
<td colspan="1">
1670+
<div class="ansibleOptionAnchor" id="parameter-"></div>
1671+
<b>route_tag</b>
1672+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1673+
<div style="font-size: small">
1674+
<span style="color: purple">string</span>
1675+
</div>
1676+
</td>
1677+
<td>
1678+
<b>Default:</b><br/><div style="color: blue">""</div>
1679+
</td>
1680+
<td>
1681+
<div>Route tag associated with the interface IP.</div>
1682+
</td>
1683+
</tr>
15801684
<tr>
15811685
<td class="elbow-placeholder"></td>
15821686
<td class="elbow-placeholder"></td>

galaxy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
namespace: cisco
33
name: dcnm
4-
version: 3.8.0
4+
version: 3.8.1
55
readme: README.md
66
authors:
77
- Shrishail Kariyappanavar <nkshrishail>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[defaults]
2+
# This ansible.cfg file is only used for testing purposes in this directory.
3+
roles_path = <path to targets>/collections/ansible_collections/cisco/dcnm/tests/integration/targetslh

playbooks/roles/dcnm_interface/dcnm_tests.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
ansible_eth_intf22: Ethernet1/22
4040
ansible_eth_intf23: Ethernet1/23
4141
ansible_eth_intf24: Ethernet1/24
42+
ansible_parent_intf1: Ethernet1/25
43+
ansible_sub_intf1: Ethernet1/25.100
4244

4345
roles:
4446
- dcnm_interface

playbooks/roles/dcnm_network/dcnm_tests.yaml

Lines changed: 58 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,71 @@
77
# Modify the vars section with details for your testing setup.
88
#
99
# NOTES:
10-
# 1. Ensure that the switches defined by ansible_switch1 and ansible_switch2 are
10+
# 1. Ensure that the switches defined by switch1 and switch2 are
1111
# not vPC Pairs.
1212
- hosts: dcnm
1313
gather_facts: no
1414
connection: ansible.netcommon.httpapi
1515

1616
vars:
17+
18+
#----------------------------------
1719
# Uncomment testcase to run a specific test
1820
# testcase: replaced_net_all
19-
test_fabric: nac-ndfc1
20-
ansible_switch1: 192.168.1.1
21-
ansible_switch2: 192.168.1.2
22-
ansible_sw1_int1: Ethernet1/15
23-
ansible_sw1_int2: Ethernet1/16
24-
ansible_sw1_int3: Ethernet1/17
25-
ansible_sw1_int4: Ethernet1/18
26-
#---
27-
ansible_sw2_int1: Ethernet1/15
28-
ansible_sw2_int2: Ethernet1/16
29-
ansible_sw2_int3: Ethernet1/17
30-
ansible_sw2_int4: Ethernet1/18
31-
ansible_sw2_int5: Ethernet1/19
32-
ansible_sw2_int6: Ethernet1/20
33-
21+
test_data_common:
22+
#---
23+
fabric: fabric-stage
24+
deploy: false
25+
#---
26+
# Resources
27+
#---
28+
sw1: 192.168.1.1
29+
sw2: 192.168.1.2
30+
#---
31+
# Common VRF setup
32+
#---
33+
vrf_1: ansible-vrf-int1
34+
vrf_1_id: 9008011
35+
vrf_1_vlan_id: 500
36+
#---
37+
vrf_2: Tenant-1
38+
vrf_2_id: 9008012
39+
vrf_2_vlan_id: 501
40+
#---
41+
vrf_3: Tenant-2
42+
vrf_3_id: 9008013
43+
vrf_3_vlan_id: 502
44+
#---
45+
# Interfaces
46+
#---
47+
sw1_int1: Ethernet1/15
48+
sw1_int2: Ethernet1/16
49+
sw1_int3: Ethernet1/17
50+
sw1_int4: Ethernet1/18
51+
#---
52+
sw2_int1: Ethernet1/15
53+
sw2_int2: Ethernet1/16
54+
sw2_int3: Ethernet1/17
55+
sw2_int4: Ethernet1/18
56+
sw2_int5: Ethernet1/19
57+
sw2_int6: Ethernet1/20
58+
#---
59+
net1: ansible-net13
60+
net1_net_id: 7005
61+
net1_default_net_template: Default_Network_Universal
62+
net1_net_extension_template: Default_Network_Extension_Universal
63+
net1_vlan_id: 1500
64+
net1_gw_ip_subnet: '192.168.30.1/24'
65+
#---
66+
net2: ansible-net12
67+
net2_net_id: 7002
68+
net2_default_net_template: Default_Network_Universal
69+
net2_net_extension_template: Default_Network_Extension_Universal
70+
net2_vlan_id: 151
71+
net2_gw_ip_subnet: '192.168.40.1/24'
72+
#---
73+
net1_vrf: Tenant-1
74+
net2_vrf: Tenant-2
75+
3476
roles:
3577
- dcnm_network

playbooks/roles/ndfc_interface/ndfc_tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
port_channel_1: port-channel801
4040
port_channel_2: port-channel802
4141
port_channel_3: port-channel803
42+
port_channel_4: port-channel804
4243

4344
roles:
4445
- ndfc_interface

0 commit comments

Comments
 (0)