Skip to content

eos_acls | state: "replaced" breaks standard ACLs #608

@idculver27

Description

@idculver27
SUMMARY

When using state: "replaced", the standard option stops working. If I change it to state: "merged", it generates the commands as expected. I haven't tested other states.

ISSUE TYPE
  • Bug Report
COMPONENT NAME

arista.eos.eos_acls

ANSIBLE VERSION
ansible [core 2.18.5]
  config file = None
  configured module search path = ******
  ansible python module location = /usr/local/lib/python3.11/site-packages/ansible
  ansible collection location = /runner/requirements_collections:/runner/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.11.11 (main, Feb 10 2025, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-5)] (/usr/bin/python3.11)
  jinja version = 3.1.6
  libyaml = True

(some things removed for privacy)

COLLECTION VERSION
# /runner/requirements_collections/ansible_collections
Collection Version
---------- -------
arista.eos 12.0.0 

# /usr/share/ansible/collections/ansible_collections
Collection Version
---------- -------
arista.eos 10.0.1 
CONFIGURATION
ANSIBLE_FORCE_COLOR(env: ANSIBLE_FORCE_COLOR) = True
COLLECTIONS_PATHS(env: ANSIBLE_COLLECTIONS_PATH) = ['/runner/requirements_collections', '/runner/.ansible/collections', '/usr/share/ansible/collections']
CONFIG_FILE() = None
DEFAULT_CALLBACK_PLUGIN_PATH(env: ANSIBLE_CALLBACK_PLUGINS) = ['/runner/project/callback_plugins', '/usr/local/lib/python3.11/site-packages/ansible_runner/display_callback/callback']
DEFAULT_MODULE_PATH(env: ANSIBLE_LIBRARY) = ******
DEFAULT_ROLES_PATH(env: ANSIBLE_ROLES_PATH) = ['/runner/requirements_roles', '/runner/.ansible/roles', '/usr/share/ansible/roles', '/etc/ansible/roles']
DEFAULT_STDOUT_CALLBACK(env: ANSIBLE_STDOUT_CALLBACK) = awx_display
GALAXY_SERVER_LIST(env: ANSIBLE_GALAXY_SERVER_LIST) = ['remote', 'local']
HOST_KEY_CHECKING(env: ANSIBLE_HOST_KEY_CHECKING) = False
INVENTORY_UNPARSED_IS_FAILED(env: ANSIBLE_INVENTORY_UNPARSED_FAILED) = True
RETRY_FILES_ENABLED(env: ANSIBLE_RETRY_FILES_ENABLED) = False
USE_PERSISTENT_CONNECTIONS(env: ANSIBLE_USE_PERSISTENT_CONNECTIONS) = True

GALAXY_SERVERS:


remote
======
url(env: ANSIBLE_GALAXY_SERVER_REMOTE_URL) = ******

local
=====
url(env: ANSIBLE_GALAXY_SERVER_LOCAL_URL) = ******

(some things removed for privacy)

OS / ENVIRONMENT

Target device is an Arista DCS-7280CR3MK-32D4S-F on version 4.32.5.1M

STEPS TO REPRODUCE

Run the following task on an Arista device:

- name: "Deploy test ACL" 
  arista.eos.eos_acls:
    config:
      - afi: "ipv4"
        acls:
          - name: "test-acl"
            standard: true
            aces:
              - grant: "permit"
                sequence: 10
                source:
                  host: "192.168.1.1"
    state: "replaced"
EXPECTED RESULTS

The following commands should be generated:

ip access-list standard test-acl
10 permit host 192.168.1.1
ACTUAL RESULTS

The following commands are generated:

ip access-list test-acl
10 permit host 192.168.1.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    has_prThis issue has an associated PR.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions