-
Notifications
You must be signed in to change notification settings - Fork 144
BGP global and AF context resource model discussion for Ansible Networking supported platforms #582
Comments
as written in the template of the bug report, this project is not for issue in code but for community management. |
@bmillemathias respective issue is not a code issue, I've opened this issue to take the networking BGP resource model up for discussion and getting feedback from the community. |
BGP Address Family:*_bgp_af module will have config as a dict , because the address family needs to be associated with an as number ( which will be one instance per device). Config will have address_family as a key whose value will be a list of dict. All the operations will be done at the address_family level. The bgp global configurations will remain untouched. Following are few examples for Arista EOS platform: Existing Device Config: Before State:
Replace Operation: Commands fired:
After State:
Overridden: Commands fired:
After State:
Deleted: Commands fired:
After State:
|
Detailed resource model for Cisco IOS, plz refer:
|
Are there plans to create resource modules for BGP neighbor config and BGP neighbor address-family configs? |
Do you have a list of global and address-family options that will be supported? |
During a discussion with @NilashishC today I want to make sure the following scenario would be handled correctly. Consider the following BGP configuration router bgp 55
router-id 10.2.0.5
neighbor 10.2.0.1
bfd
remote-as 55
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client
neighbor 10.2.0.2
bfd
remote-as 55
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client
neighbor 10.2.0.3
bfd
remote-as 55
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client In this example, there are 3 parent neighbors and each of them have child For example, let's say I want to remove From what I understand this is not the current behavior of the modules. |
@mikewiebe Thank you for bringing this up. We have decided to update the behaviour of the bgp_global module for every platform where the use case you mentioned is valid. The module now inspects the running-config to determine if there are address-family configurations in the following contexts:
The module throws an error if:
For NX-OS, the error messages are currently in the following format:
These will be updated when the nxos_bgp_address_family Resource Module is released (February'21). The integration test case in ansible-collections/cisco.nxos@615f4e0#diff-04f5e691d372b7935f3d01ec200eb2ebf8845660c35a2aef746e10883083067aR2 demonstrates this behaviour change. Thanks! |
Excellent! Thanks for the update @NilashishC |
Closing the issue as the modules were merged and released. |
BGP global and AF context resource model
dict
and coz of that it doesn't require overridden operation, so the module would support Merge, Replace, Delete, and Purged operations and not the Overridden operation.dict
, so the module would support all Merge, Replace, Overridden, and Delete operations.BGP Global:
Existing Device Config:
Replace Operation:
Before State:
Commands fired:
After State:
Delete Operation: It would delete only the global resource module configured params and if AF family configurations are present it won’t be affected which in turn means that delete operation will not fire the following command:
no router bgp 65000
which leads to deletion of the complete BGP configuration.Before State:
Commands fired:
After State:
Purge Operation: This operation would delete at parent level i.e. this operation would fire the command:
no router bgp 65000
and even if the BGP config has both global and AF context configuration set with Purge operation user gets the ability to delete at Parent level i.e. negating at the router BGP level:Before State:
Commands fired:
After State:
This repository is for the management of all Ansible community related initiatives, such as meetings.
Ansible Support
The text was updated successfully, but these errors were encountered: