mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 21:32:49 +00:00
Adding Support For EVPN in BGP Module (#55503)
* Adding Support For EVPN in BGP Module Signed-off-by: Anas Badaha <anasb@mellanox.com> * Fix Pep8 Failures in onyx_bgp.py Signed-off-by: Anas Badaha <anasb@mellanox.com> * Fix Pep8 Failures in onyx_bgp.py Phase 2 Signed-off-by: Anas Badaha <anasb@mellanox.com> * Fix Samer's Comments Signed-off-by: Anas Badaha <anasb@mellanox.com> * Remove file Variable Signed-off-by: Anas Badaha <anasb@mellanox.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
##
|
||||
## Running database "initial"
|
||||
## Generated at 2018/01/10 23:13:17 +0000
|
||||
## Hostname: r-neo-sw12
|
||||
## Generated at 2009/01/14 12:53:06 +0000
|
||||
## Hostname: r-ufm-sw102
|
||||
##
|
||||
|
||||
##
|
||||
@@ -15,8 +15,19 @@ no cli default prefix-modes enable
|
||||
protocol bgp
|
||||
router bgp 172 vrf default
|
||||
router bgp 172 vrf default router-id 1.2.3.4 force
|
||||
router bgp 172 vrf default bgp fast-external-fallover
|
||||
router bgp 172 vrf default maximum-paths 31
|
||||
router bgp 172 vrf default bestpath as-path multipath-relax force
|
||||
router bgp 172 vrf default neighbor evpn peer-group
|
||||
router bgp 172 vrf default neighbor evpn send-community extended
|
||||
router bgp 172 vrf default neighbor 10.2.3.4 remote-as 173
|
||||
router bgp 172 vrf default neighbor 10.2.3.5 remote-as 322
|
||||
router bgp 172 vrf default neighbor 10.2.3.5 peer-group evpn
|
||||
router bgp 172 vrf default neighbor 10.2.3.5 ebgp-multihop 255
|
||||
router bgp 172 vrf default address-family l2vpn-evpn neighbor evpn next-hop-unchanged
|
||||
router bgp 172 vrf default address-family l2vpn-evpn neighbor evpn activate
|
||||
router bgp 172 vrf default network 172.16.1.0 /24
|
||||
router bgp 172 vrf default address-family l2vpn-evpn auto-create
|
||||
##
|
||||
## Persistent prefix mode setting
|
||||
##
|
||||
|
||||
@@ -37,10 +37,13 @@ class TestOnyxBgpModule(TestOnyxModule):
|
||||
self.load_config.return_value = None
|
||||
|
||||
def test_bgp_no_change(self):
|
||||
neighbor = dict(remote_as=173, neighbor='10.2.3.4')
|
||||
neighbor = dict(remote_as=322, neighbor='10.2.3.5', multihop=255)
|
||||
set_module_args(dict(as_number=172, router_id='1.2.3.4',
|
||||
neighbors=[neighbor],
|
||||
networks=['172.16.1.0/24']))
|
||||
networks=['172.16.1.0/24'],
|
||||
evpn=True, fast_external_fallover=True,
|
||||
max_paths=31, ecmp_bestpath=True,
|
||||
))
|
||||
self.execute_module(changed=False)
|
||||
|
||||
def test_bgp_remove(self):
|
||||
@@ -48,29 +51,49 @@ class TestOnyxBgpModule(TestOnyxModule):
|
||||
commands = ['no router bgp 172']
|
||||
self.execute_module(changed=True, commands=commands)
|
||||
|
||||
def test_bgp_with_vrf_changed(self):
|
||||
set_module_args(dict(as_number=173, vrf='new_vrf'))
|
||||
commands = ['no router bgp 172 vrf default', 'router bgp 173 vrf new_vrf', 'exit']
|
||||
self.execute_module(changed=True, commands=commands)
|
||||
|
||||
def test_bgp_change(self):
|
||||
neighbor = dict(remote_as=173, neighbor='10.2.3.4')
|
||||
set_module_args(dict(as_number=174, router_id='1.2.3.4',
|
||||
neighbors=[neighbor]))
|
||||
commands = ['no router bgp 172', 'router bgp 174', 'exit',
|
||||
'router bgp 174 router-id 1.2.3.4 force',
|
||||
'router bgp 174 neighbor 10.2.3.4 remote-as 173']
|
||||
neighbors=[neighbor],
|
||||
evpn=False, fast_external_fallover=False,
|
||||
max_paths=32, ecmp_bestpath=False,
|
||||
))
|
||||
commands = ['no router bgp 172 vrf default', 'router bgp 174 vrf default', 'exit',
|
||||
'router bgp 174 vrf default router-id 1.2.3.4 force',
|
||||
'router bgp 174 vrf default neighbor 10.2.3.4 remote-as 173',
|
||||
'no router bgp 174 vrf default neighbor evpn peer-group',
|
||||
'no router bgp 174 vrf default address-family l2vpn-evpn auto-create',
|
||||
'router bgp 174 vrf default no bgp fast-external-fallover',
|
||||
'router bgp 174 vrf default maximum-paths 32',
|
||||
'router bgp 174 vrf default no bestpath as-path multipath-relax force']
|
||||
self.execute_module(changed=True, commands=commands)
|
||||
|
||||
def test_bgp_add_neighbor(self):
|
||||
neighbors = [dict(remote_as=173, neighbor='10.2.3.4'),
|
||||
dict(remote_as=175, neighbor='10.2.3.5')]
|
||||
dict(remote_as=175, neighbor='10.2.3.5'),
|
||||
dict(remote_as=175, neighbor='10.2.3.6', multihop=250)]
|
||||
set_module_args(dict(as_number=172, router_id='1.2.3.4',
|
||||
neighbors=neighbors,
|
||||
networks=['172.16.1.0/24']))
|
||||
commands = ['router bgp 172 neighbor 10.2.3.5 remote-as 175']
|
||||
networks=['172.16.1.0/24'],
|
||||
evpn=True))
|
||||
commands = ['router bgp 172 vrf default neighbor 10.2.3.5 remote-as 175',
|
||||
'router bgp 172 vrf default neighbor 10.2.3.6 remote-as 175',
|
||||
'router bgp 172 vrf default neighbor 10.2.3.6 ebgp-multihop 250',
|
||||
'router bgp 172 vrf default neighbor 10.2.3.6 peer-group evpn',
|
||||
'router bgp 172 vrf default neighbor 10.2.3.4 peer-group evpn']
|
||||
self.execute_module(changed=True, commands=commands)
|
||||
|
||||
def test_bgp_del_neighbor(self):
|
||||
set_module_args(dict(as_number=172,
|
||||
networks=['172.16.1.0/24'],
|
||||
purge=True))
|
||||
commands = ['router bgp 172 no neighbor 10.2.3.4 remote-as 173']
|
||||
commands = ['router bgp 172 vrf default no neighbor 10.2.3.4 remote-as 173',
|
||||
'router bgp 172 vrf default no neighbor 10.2.3.5 remote-as 322']
|
||||
self.execute_module(changed=True, commands=commands)
|
||||
|
||||
def test_bgp_add_network(self):
|
||||
@@ -78,7 +101,7 @@ class TestOnyxBgpModule(TestOnyxModule):
|
||||
set_module_args(dict(as_number=172, router_id='1.2.3.4',
|
||||
neighbors=neighbors,
|
||||
networks=['172.16.1.0/24', '172.16.2.0/24']))
|
||||
commands = ['router bgp 172 network 172.16.2.0 /24']
|
||||
commands = ['router bgp 172 vrf default network 172.16.2.0 /24']
|
||||
self.execute_module(changed=True, commands=commands)
|
||||
|
||||
def test_bgp_del_network(self):
|
||||
|
||||
Reference in New Issue
Block a user