Skip to content

Commit 5847b08

Browse files
authored
Merge pull request #423 from CiscoDevNet/3.8.0
Release 3.8.0
2 parents fc43621 + fb2c9fb commit 5847b08

File tree

63 files changed

+4490
-2205
lines changed

Some content is hidden

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

63 files changed

+4490
-2205
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,6 @@ venv.bak/
7777

7878
# mypy
7979
.mypy_cache/
80+
81+
# Ignore Integration Tests Files Directories
82+
tests/integration/targets/ndfc_interface/files

CHANGELOG.rst

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

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

11+
`3.8.0`_
12+
=====================
13+
14+
**Release Date:** ``2025-06-02``
15+
16+
Added
17+
-----
18+
19+
- Updated ``dcnm_interface`` module to support the following
20+
- Breakout Interfaces
21+
- New properties `native_vlan`, `orphan_port`, `duplex`, `peer1_native_vlan`, `peer2_native_vlan`, `route_tag`
22+
- Ability to manage `admin_state`, `description` and `cmds` properties for PortChannel and vPC member interfaces
23+
24+
25+
Fixed
26+
-----
27+
28+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/28
29+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/350
30+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/368
31+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/372
32+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/379
33+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/395
34+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/398
35+
- https://github.com/CiscoDevNet/ansible-dcnm/issues/412
36+
37+
1138
`3.7.0`_
1239
=====================
1340

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

566+
.. _3.8.0: https://github.com/CiscoDevNet/ansible-dcnm/compare/3.7.0...3.8.0
539567
.. _3.7.0: https://github.com/CiscoDevNet/ansible-dcnm/compare/3.6.0...3.7.0
540568
.. _3.6.0: https://github.com/CiscoDevNet/ansible-dcnm/compare/3.5.1...3.6.0
541569
.. _3.5.1: https://github.com/CiscoDevNet/ansible-dcnm/compare/3.5.0...3.5.1

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[![Actions Status](https://github.com/CiscoDevNet/ansible-dcnm/workflows/CI/badge.svg)](https://github.com/CiscoDevNet/ansible-dcnm/actions)
1+
[![Actions Status](https://github.com/CiscoDevNet/ansible-dcnm/workflows/CI/badge.svg)](https://github.com/CiscoDevNet/ansible-dcnm/actions?branch=develop)
22

33

44
# Cisco DCNM Collection
@@ -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.7.0
74+
version: 3.8.0
7575
```
7676
## Using this collection
7777

docs/cisco.dcnm.dcnm_interface_module.rst

Lines changed: 189 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,51 @@ Parameters
358358
</td>
359359
</tr>
360360

361+
<tr>
362+
<td class="elbow-placeholder"></td>
363+
<td colspan="2">
364+
<div class="ansibleOptionAnchor" id="parameter-"></div>
365+
<b>profile_breakout</b>
366+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
367+
<div style="font-size: small">
368+
<span style="color: purple">-</span>
369+
</div>
370+
</td>
371+
<td>
372+
</td>
373+
<td>
374+
<div>Though the key shown here is &#x27;profile_breakout&#x27; the actual key to be used in playbook is &#x27;profile&#x27;. The key &#x27;profile_breakout&#x27; is used here to logically segregate the interface objects applicable for this profile</div>
375+
<div>Interface must be parent interface. Ex: Ethernet1/49. Short name is not supported.</div>
376+
</td>
377+
</tr>
378+
<tr>
379+
<td class="elbow-placeholder"></td>
380+
<td class="elbow-placeholder"></td>
381+
<td colspan="1">
382+
<div class="ansibleOptionAnchor" id="parameter-"></div>
383+
<b>map</b>
384+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
385+
<div style="font-size: small">
386+
<span style="color: purple">string</span>
387+
/ <span style="color: red">required</span>
388+
</div>
389+
</td>
390+
<td>
391+
<ul style="margin: 0; padding: 0"><b>Choices:</b>
392+
<li>10g-4x</li>
393+
<li>25g-4x</li>
394+
<li>50g-2x</li>
395+
<li>50g-4x</li>
396+
<li>100g-2x</li>
397+
<li>100g-4x</li>
398+
<li>200g-2x</li>
399+
</ul>
400+
</td>
401+
<td>
402+
<div>type of breakout</div>
403+
</td>
404+
</tr>
405+
361406
<tr>
362407
<td class="elbow-placeholder"></td>
363408
<td colspan="2">
@@ -390,7 +435,7 @@ Parameters
390435
<b>Default:</b><br/><div style="color: blue">""</div>
391436
</td>
392437
<td>
393-
<div>Vlan for the interface. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;access&#x27;</div>
438+
<div>Vlan for the interface. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;access&#x27; or &#x27;dot1q&#x27;</div>
394439
</td>
395440
</tr>
396441
<tr>
@@ -606,10 +651,12 @@ Parameters
606651
<li>routed</li>
607652
<li>monitor</li>
608653
<li>epl_routed</li>
654+
<li>dot1q</li>
609655
</ul>
610656
</td>
611657
<td>
612658
<div>Interface mode</div>
659+
<div>When ethernet interface is a PortChannel or vPC member, mode is ignored. The only properties that can be managed for PortChannel or vPC member interfaces are &#x27;admin_state&#x27;, &#x27;description&#x27; and &#x27;cmds&#x27;. All other properties are ignored.</div>
613660
</td>
614661
</tr>
615662
<tr>
@@ -631,6 +678,24 @@ Parameters
631678
<div>Can be specified with any value within 576 and 9216 for routed interface types. If not specified, it defaults to 9216</div>
632679
</td>
633680
</tr>
681+
<tr>
682+
<td class="elbow-placeholder"></td>
683+
<td class="elbow-placeholder"></td>
684+
<td colspan="1">
685+
<div class="ansibleOptionAnchor" id="parameter-"></div>
686+
<b>native_vlan</b>
687+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
688+
<div style="font-size: small">
689+
<span style="color: purple">string</span>
690+
</div>
691+
</td>
692+
<td>
693+
<b>Default:</b><br/><div style="color: blue">""</div>
694+
</td>
695+
<td>
696+
<div>Vlan used as native vlan. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;trunk&#x27;.</div>
697+
</td>
698+
</tr>
634699
<tr>
635700
<td class="elbow-placeholder"></td>
636701
<td class="elbow-placeholder"></td>
@@ -914,7 +979,7 @@ Parameters
914979
<b>Default:</b><br/><div style="color: blue">""</div>
915980
</td>
916981
<td>
917-
<div>Vlan for the interface. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;access&#x27;</div>
982+
<div>Vlan for the interface. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;access&#x27; or &#x27;dot1q&#x27;</div>
918983
</td>
919984
</tr>
920985
<tr>
@@ -1066,13 +1131,32 @@ Parameters
10661131
<li>trunk</li>
10671132
<li>access</li>
10681133
<li>l3</li>
1134+
<li>dot1q</li>
10691135
<li>monitor</li>
10701136
</ul>
10711137
</td>
10721138
<td>
10731139
<div>Interface mode</div>
10741140
</td>
10751141
</tr>
1142+
<tr>
1143+
<td class="elbow-placeholder"></td>
1144+
<td class="elbow-placeholder"></td>
1145+
<td colspan="1">
1146+
<div class="ansibleOptionAnchor" id="parameter-"></div>
1147+
<b>native_vlan</b>
1148+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1149+
<div style="font-size: small">
1150+
<span style="color: purple">string</span>
1151+
</div>
1152+
</td>
1153+
<td>
1154+
<b>Default:</b><br/><div style="color: blue">""</div>
1155+
</td>
1156+
<td>
1157+
<div>Vlan used as native vlan. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;trunk&#x27;.</div>
1158+
</td>
1159+
</tr>
10761160
<tr>
10771161
<td class="elbow-placeholder"></td>
10781162
<td class="elbow-placeholder"></td>
@@ -2246,6 +2330,24 @@ Parameters
22462330
<div>Member interfaces that are part of this port channel on first peer</div>
22472331
</td>
22482332
</tr>
2333+
<tr>
2334+
<td class="elbow-placeholder"></td>
2335+
<td class="elbow-placeholder"></td>
2336+
<td colspan="1">
2337+
<div class="ansibleOptionAnchor" id="parameter-"></div>
2338+
<b>peer1_native_vlan</b>
2339+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
2340+
<div style="font-size: small">
2341+
<span style="color: purple">string</span>
2342+
</div>
2343+
</td>
2344+
<td>
2345+
<b>Default:</b><br/><div style="color: blue">""</div>
2346+
</td>
2347+
<td>
2348+
<div>Vlan used as native vlan of first peer. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;trunk&#x27;</div>
2349+
</td>
2350+
</tr>
22492351
<tr>
22502352
<td class="elbow-placeholder"></td>
22512353
<td class="elbow-placeholder"></td>
@@ -2361,6 +2463,24 @@ Parameters
23612463
<div>Member interfaces that are part of this port channel on second peer</div>
23622464
</td>
23632465
</tr>
2466+
<tr>
2467+
<td class="elbow-placeholder"></td>
2468+
<td class="elbow-placeholder"></td>
2469+
<td colspan="1">
2470+
<div class="ansibleOptionAnchor" id="parameter-"></div>
2471+
<b>peer2_native_vlan</b>
2472+
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
2473+
<div style="font-size: small">
2474+
<span style="color: purple">string</span>
2475+
</div>
2476+
</td>
2477+
<td>
2478+
<b>Default:</b><br/><div style="color: blue">""</div>
2479+
</td>
2480+
<td>
2481+
<div>Vlan used as native vlan of second peer. This option is applicable only for interfaces whose &#x27;mode&#x27; is &#x27;trunk&#x27;</div>
2482+
</td>
2483+
</tr>
23642484
<tr>
23652485
<td class="elbow-placeholder"></td>
23662486
<td class="elbow-placeholder"></td>
@@ -2441,6 +2561,7 @@ Parameters
24412561
<li>svi</li>
24422562
<li>st-fex</li>
24432563
<li>aa-fex</li>
2564+
<li>breakout</li>
24442565
</ul>
24452566
</td>
24462567
<td>
@@ -2506,6 +2627,7 @@ Parameters
25062627
<li>svi</li>
25072628
<li>st_fex</li>
25082629
<li>aa_fex</li>
2630+
<li>breakout</li>
25092631
</ul>
25102632
<b>Default:</b><br/><div style="color: blue">[]</div>
25112633
</td>
@@ -3340,6 +3462,71 @@ Examples
33403462
enable_netflow: false # optional, flag to enable netflow, default is false
33413463
mode: port_channel_st # choose from [port_channel_st], default is "port_channel_st"
33423464
3465+
# Dot1q Tunnel host
3466+
3467+
- name: Configure dot1q on interface E1/12
3468+
cisco.dcnm.dcnm_interface:
3469+
fabric: "{{ ansible_fabric }}"
3470+
state: merged
3471+
config:
3472+
- name: eth1/12
3473+
type: eth
3474+
switch:
3475+
- "{{ ansible_switch1 }}"
3476+
deploy: true
3477+
profile:
3478+
admin_state: true
3479+
mode: dot1q
3480+
access_vlan: 41
3481+
description: "ETH 1/12 Dot1q Tunnel"
3482+
3483+
# Breakout interfaces
3484+
3485+
- name: Configure breakout interface
3486+
cisco.dcnm.dcnm_interface:
3487+
fabric: "{{ ansible_svi_fabric }}"
3488+
state: merged
3489+
config:
3490+
- name: ethernet1/100
3491+
type: breakout
3492+
switch:
3493+
- "{{ ansible_switch1 }}"
3494+
deploy: true
3495+
profile:
3496+
map: 10g-4x
3497+
- name: ethernet1/101
3498+
type: breakout
3499+
switch:
3500+
- "{{ ansible_switch1 }}"
3501+
deploy: true
3502+
profile:
3503+
map: 10g-4x
3504+
- name: ethernet1/102
3505+
type: breakout
3506+
switch:
3507+
- "{{ ansible_switch1 }}"
3508+
deploy: true
3509+
profile:
3510+
map: 10g-4x
3511+
3512+
- name: Configure breakout interface
3513+
cisco.dcnm.dcnm_interface:
3514+
fabric: "{{ ansible_svi_fabric }}"
3515+
state: deleted
3516+
config:
3517+
- name: ethernet1/100
3518+
type: breakout
3519+
switch:
3520+
- "{{ ansible_switch1 }}"
3521+
- name: ethernet1/101
3522+
type: breakout
3523+
switch:
3524+
- "{{ ansible_switch1 }}"
3525+
- name: ethernet1/102
3526+
type: breakout
3527+
switch:
3528+
- "{{ ansible_switch1 }}"
3529+
33433530
# QUERY
33443531
33453532
- name: Query interface details

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.7.0
4+
version: 3.8.0
55
readme: README.md
66
authors:
77
- Shrishail Kariyappanavar <nkshrishail>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
all:
2+
vars:
3+
ansible_user: "admin"
4+
ansible_password: "password"
5+
ansible_python_interpreter: python
6+
ansible_httpapi_validate_certs: False
7+
ansible_httpapi_use_ssl: True
8+
children:
9+
ndfc:
10+
vars:
11+
ansible_connection: ansible.netcommon.httpapi
12+
ansible_network_os: cisco.dcnm.dcnm
13+
hosts:
14+
nac-ndfc1:
15+
ansible_host: 10.0.55.128

0 commit comments

Comments
 (0)