Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -197,9 +197,9 @@ jobs:
- ansible_version: "stable-2.20"
python_version: "3.12"
- ansible_version: "milestone"
python_version: "3.12"
python_version: "3.13"
- ansible_version: "devel"
python_version: "3.12"
python_version: "3.13"
steps:
- uses: actions/checkout@v4
- name: Set up Python
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
bugfixes:
- Renamed ``juniper.device`` action plugins to carry the ``junos_`` prefix matching
their corresponding module names, fixing the ``action-plugin-docs`` sanity test
failures. Added ``plugin_routing.action`` and ``plugin_routing.modules`` redirects
in ``juniper.device`` and ``junipernetworks.junos`` ``meta/runtime.yml`` so
playbooks using short aliases or deprecated ``junipernetworks.junos.*`` FQCNs
continue to resolve correctly, including ``l2_interfaces`` and ``lag_interfaces``.
- Fixed ``RETURN`` documentation in ``junos_banner``, ``junos_system``, ``junos_user``,
and ``junos_vrf`` to use nested ``diff`` keys instead of invalid dotted
``diff.prepared`` keys.
69 changes: 69 additions & 0 deletions ansible_collections/juniper/device/meta/runtime.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,71 @@
---
requires_ansible: ">=2.16.0"
plugin_routing:
action:
hostname:
redirect: juniper.device.junos_hostname
interfaces:
redirect: juniper.device.junos_interfaces
acls:
redirect: juniper.device.junos_acls
acl_interfaces:
redirect: juniper.device.junos_acl_interfaces
banner:
redirect: juniper.device.junos_banner
bgp_address_family:
redirect: juniper.device.junos_bgp_address_family
bgp_global:
redirect: juniper.device.junos_bgp_global
lacp:
redirect: juniper.device.junos_lacp
lacp_interfaces:
redirect: juniper.device.junos_lacp_interfaces
l2_interfaces:
redirect: juniper.device.junos_l2_interfaces
lag_interfaces:
redirect: juniper.device.junos_lag_interfaces
l3_intefaces:
redirect: juniper.device.junos_l3_interfaces
lacp_intefaces:
redirect: juniper.device.junos_lacp_interfaces
lldp_global:
redirect: juniper.device.junos_lldp_global
lldp_interfaces:
redirect: juniper.device.junos_lldp_interfaces
logging_global:
redirect: juniper.device.junos_logging_global
netconf:
redirect: juniper.device.junos_netconf
ntp_global:
redirect: juniper.device.junos_ntp_global
ospf_interfaces:
redirect: juniper.device.junos_ospf_interfaces
ospfv2:
redirect: juniper.device.junos_ospfv2
ospfv3:
redirect: juniper.device.junos_ospfv3
package:
redirect: juniper.device.junos_package
prefix_lists:
redirect: juniper.device.junos_prefix_lists
routing_instances:
redirect: juniper.device.junos_routing_instances
routing_options:
redirect: juniper.device.junos_routing_options
security_policies:
redirect: juniper.device.junos_security_policies
security_policies_global:
redirect: juniper.device.junos_security_policies_global
security_zones:
redirect: juniper.device.junos_security_zones
snmp_server:
redirect: juniper.device.junos_snmp_server
static_routes:
redirect: juniper.device.junos_static_routes
user:
redirect: juniper.device.junos_user
vlans:
redirect: juniper.device.junos_vlans
modules:
hostname:
redirect: juniper.device.junos_hostname
Expand All @@ -20,6 +85,10 @@ plugin_routing:
redirect: juniper.device.junos_lacp
lacp_interfaces:
redirect: juniper.device.junos_lacp_interfaces
l2_interfaces:
redirect: juniper.device.junos_l2_interfaces
lag_interfaces:
redirect: juniper.device.junos_lag_interfaces
lldp_global:
redirect: juniper.device.junos_lldp_global
lldp_interfaces:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,17 @@
"""

RETURN = """
diff.prepared:
diff:
description: Configuration difference before and after applying change.
returned: when configuration is changed and diff option is enabled.
type: str
sample: >
[edit system login]
+ message \"this is my login banner\";
type: dict
contains:
prepared:
description: Prepared configuration diff.
type: str
sample: >
[edit system login]
+ message \"this is my login banner\";
"""
import collections

Expand Down
24 changes: 14 additions & 10 deletions ansible_collections/juniper/device/plugins/modules/junos_system.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,18 +92,22 @@
"""

RETURN = """
diff.prepared:
diff:
description: Configuration difference before and after applying change.
returned: when configuration is changed and diff option is enabled.
type: str
sample: >
[edit system]
+ host-name test;
+ domain-name ansible.com;
+ domain-search redhat.com;
[edit system name-server]
172.26.1.1 { ... }
+ 8.8.8.8;
type: dict
contains:
prepared:
description: Prepared configuration diff.
type: str
sample: >
[edit system]
+ host-name test;
+ domain-name ansible.com;
+ domain-search redhat.com;
[edit system name-server]
172.26.1.1 { ... }
+ 8.8.8.8;
"""
import collections

Expand Down
20 changes: 12 additions & 8 deletions ansible_collections/juniper/device/plugins/modules/junos_user.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,16 +190,20 @@
- {name: test_user2, full_name: test_user2, role: read-only, state: absent}
"""
RETURN = """
diff.prepared:
diff:
description: Configuration difference before and after applying change.
returned: when configuration is changed and diff option is enabled.
type: str
sample: >
[edit system login]
+ user test-user {
+ uid 2005;
+ class read-only;
+ }
type: dict
contains:
prepared:
description: Prepared configuration diff.
type: str
sample: >
[edit system login]
+ user test-user {
+ uid 2005;
+ class read-only;
+ }
"""
from copy import deepcopy
from functools import partial
Expand Down
28 changes: 16 additions & 12 deletions ansible_collections/juniper/device/plugins/modules/junos_vrf.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,20 +210,24 @@
"""

RETURN = """
diff.prepared:
diff:
description: Configuration difference before and after applying change.
returned: when configuration is changed and diff option is enabled.
type: str
sample: >
[edit routing-instances]
+ test-1 {
+ description test-vrf-1;
+ instance-type vrf;
+ interface ge-0/0/2.0;
+ interface ge-0/0/3.0;
+ route-distinguisher 192.0.2.1:10;
+ vrf-target target:65514:113;
+ }
type: dict
contains:
prepared:
description: Prepared configuration diff.
type: str
sample: >
[edit routing-instances]
+ test-1 {
+ description test-vrf-1;
+ instance-type vrf;
+ interface ge-0/0/2.0;
+ interface ge-0/0/3.0;
+ route-distinguisher 192.0.2.1:10;
+ vrf-target target:65514:113;
+ }
"""
import collections

Expand Down
17 changes: 17 additions & 0 deletions ansible_collections/juniper/device/tests/sanity/ignore-2.21.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
plugins/callback/jsnapy.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/command.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/config.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/facts.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/file_copy.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/jsnapy.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/ping.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/table.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/system.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/srx_cluster.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/software.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/rpc.py validate-modules!skip # waiting for issue 729 fix
plugins/modules/pmtud.py validate-modules!skip # waiting for issue 729 fix
plugins/connection/pyez.py validate-modules!skip # waiting for issue 729 fix
plugins/action/extract_data.py action-plugin-docs
plugins/action/juniper_junos_common_action.py action-plugin-docs
plugins/callback/jsnapy.py ansible-doc!skip
Loading
Loading