You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When deleting a port_protocol from an ACL ACE the no <sequence number> command is missing and an error-message will be provided as the to be changed/configured sequence number already exists.
-> Both ACEs have been merged, but WHY? Merging and also overriding ACEs is not possible at all. An existing ACE needs to be deleted with a no <sequence number> first before a new one gets added.
The only call of get_updated_ace(w, h) happens here:
And to be clear: If there are multiple remark entries in an ACL every element following after a remark entry will be rewritten as a remark. That could render an ACL to garbage leading the last remaining entry in an ACL to be the default deny ip any any entry hidden in the system. This could cause a serious production outage.
SUMMARY
When deleting a
port_protocol
from an ACL ACE theno <sequence number>
command is missing and an error-message will be provided as the to be changed/configured sequence number already exists.ISSUE TYPE
COMPONENT NAME
eos_acls
ANSIBLE VERSION
COLLECTION VERSION
CONFIGURATION
OS / ENVIRONMENT
Arista EOS 4.28.4M
STEPS TO REPRODUCE
Before
task.yml
:After
task.yml
:-> Sequence 10 will be deleted and 20 will be the new 10
EXPECTED RESULTS
On the second run the sequence number 10 will be deleted before a new 10 will be configured.
To be generated
commands
:ACTUAL RESULTS
On the second run on the configuration will fail on the device:
Generated
commands
:ROOT CAUSE
get_updated_ace(w, h)
will be called:arista.eos/plugins/module_utils/network/eos/config/acls/acls.py
Lines 456 to 466 in 2342353
In this example the content of the variables are:
w
:h
:w_updated
(return value):-> Both ACEs have been merged, but WHY? Merging and also overriding ACEs is not possible at all. An existing ACE needs to be deleted with a
no <sequence number>
first before a new one gets added.The only call of
get_updated_ace(w, h)
happens here:arista.eos/plugins/module_utils/network/eos/config/acls/acls.py
Lines 441 to 450 in 2342353
My suggestion:
And also the deletion of
get_updated_ace(w, h)
The text was updated successfully, but these errors were encountered: