pierky / arouteserver

A tool to automatically build (and test) feature-rich configurations for BGP route servers.
https://arouteserver.readthedocs.org/
GNU General Public License v3.0
284 stars 46 forks source link

Script returns same error with different ID despite the ignore-issues option #96

Closed stkonst closed 2 years ago

stkonst commented 2 years ago

Hi there,

Having the following error raised by the script:

`root@experimentix:~/arouteserver# arouteserver openbgpd ARouteServer 2022-01-20 16:10:08,578 ERROR Community 'announce_to_peer' and 'prefix_not_present_in_as_set' overlap: 6777:peer_as / 6777:65012. Inbound communities and outbound communities can't have overlapping values, otherwise they might be scrubbed. ARouteServer 2022-01-20 16:10:08,578 ERROR OpenBGPD doesn't allow to delete BGP communities using ranges of values, but only using the wildcard ('*'), so also outbound communities whose last part contain private ASNs collide with inbound communities that use the 'peer_as' macro. ARouteServer 2022-01-20 16:10:08,578 ERROR One or more compatibility issues have been found.

Please check the errors reported above for more details. To ignore those errors, use the '--ignore-issues' command line argument and list the IDs of the issues you want to ignore.`

By using the "--ignore-options" flag to skip it, the script ignores the flag and raises the same error again with a different ID:

`root@experimentix:~/arouteserver# arouteserver openbgpd --ignore-issues 578 ARouteServer 2022-01-20 16:10:22,523 ERROR Community 'announce_to_peer' and 'prefix_not_present_in_as_set' overlap: 6777:peer_as / 6777:65012. Inbound communities and outbound communities can't have overlapping values, otherwise they might be scrubbed. ARouteServer 2022-01-20 16:10:22,523 ERROR OpenBGPD doesn't allow to delete BGP communities using ranges of values, but only using the wildcard ('*'), so also outbound communities whose last part contain private ASNs collide with inbound communities that use the 'peer_as' macro. ARouteServer 2022-01-20 16:10:22,523 ERROR One or more compatibility issues have been found.

Please check the errors reported above for more details. To ignore those errors, use the '--ignore-issues' command line argument and list the IDs of the issues you want to ignore.`

Thus, the error is not skipped at all and keeps coming back regardless how many times the user ignores it.

pierky commented 2 years ago

Hello @stkonst,

those issues cannot be ignored, they are hard blocks. I see the error message is not clear enough and could lead to misunderstanding, setting the false expectation that using the --ignore-issues option could work. I've just made some changes that hopefully should make the error message clearer. The improvement is present in the pre-release that I've also mentioned in the other issue.

stkonst commented 2 years ago

Hi @pierky

If there are hard-blocks then indeed there should be some more clarification from the script on which case we can ignore errors (or not). I will repeat the experiment once the fix is released, thank's for the explanation.

pierky commented 2 years ago

Hi @pierky

If there are hard-blocks then indeed there should be some more clarification from the script on which case we can ignore errors (or not). I will repeat the experiment once the fix is released, thank's for the explanation.

Yeah indeed, I agree. I hope the new wording of those errors makes it more clear when the ignore option can be used and how. Please let me know what you think after testing the alpha1 of 1.13.1, assuming you'll have a chance to try it out.

pierky commented 2 years ago

v1.13.1 is out with this fix/improvement.