def setUpClass(cls): gobgp_ctn_image_name = parser_option.gobgp_image base.TEST_PREFIX = parser_option.test_prefix # preparing the container for ipv4 g1_v4 = GoBGPContainer(name='g1_v4', asn=65000, router_id='192.168.0.1', ctn_image_name=gobgp_ctn_image_name, log_level=parser_option.gobgp_log_level, zebra=True) q1_v4 = QuaggaBGPContainer(name='q1_v4', asn=65001, router_id='192.168.0.2', zebra=True) o1_v4 = QuaggaBGPContainer(name='o1_v4', asn=65002, router_id='192.168.0.3') o2_v4 = QuaggaBGPContainer(name='o2_v4', asn=65002, router_id='192.168.0.4') # preparing the container for ipv6 g1_v6 = GoBGPContainer(name='g1_v6', asn=65000, router_id='192.168.0.1', ctn_image_name=gobgp_ctn_image_name, log_level=parser_option.gobgp_log_level, zebra=True) q1_v6 = QuaggaBGPContainer(name='q1_v6', asn=65001, router_id='192.168.0.2', zebra=True) o1_v6 = QuaggaBGPContainer(name='o1_v6', asn=65002, router_id='192.168.0.3') o2_v6 = QuaggaBGPContainer(name='o2_v6', asn=65002, router_id='192.168.0.4') # preparing the bridge for ipv4 br01_v4 = Bridge(name='br01_v4', subnet='192.168.10.0/24') br02_v4 = Bridge(name='br02_v4', subnet='192.168.20.0/24') br03_v4 = Bridge(name='br03_v4', subnet='192.168.30.0/24') # preparing the bridge for ipv6 br01_v6 = Bridge(name='br01_v6', subnet='2001:10::/32') br02_v6 = Bridge(name='br02_v6', subnet='2001:20::/32') br03_v6 = Bridge(name='br03_v6', subnet='2001:30::/32') cls.ctns = { 'ipv4': [g1_v4, q1_v4, o1_v4, o2_v4], 'ipv6': [g1_v6, q1_v6, o1_v6, o2_v6], } cls.gobgps = { 'ipv4': g1_v4, 'ipv6': g1_v6, } cls.quaggas = { 'ipv4': q1_v4, 'ipv6': q1_v6, } cls.others = { 'ipv4': [o1_v4, o2_v4], 'ipv6': [o1_v6, o2_v6], } cls.bridges = { 'br01_v4': br01_v4, 'br02_v4': br02_v4, 'br03_v4': br03_v4, 'br01_v6': br01_v6, 'br02_v6': br02_v6, 'br03_v6': br03_v6, }
def setUpClass(cls): gobgp_ctn_image_name = parser_option.gobgp_image base.TEST_PREFIX = parser_option.test_prefix local("echo 'start %s'" % cls.__name__, capture=True) cls.r1 = GoBGPContainer(name='r1', asn=65000, router_id='192.168.0.1', ctn_image_name=gobgp_ctn_image_name, log_level=parser_option.gobgp_log_level, zebra=False) cls.r2 = GoBGPContainer(name='r2', asn=65000, router_id='192.168.0.2', ctn_image_name=gobgp_ctn_image_name, log_level=parser_option.gobgp_log_level, zebra=True, zapi_version=3, ospfd_config={ 'networks': { '192.168.23.0/24': '0.0.0.0', '192.168.24.0/24': '0.0.0.0', }, }) cls.r3 = QuaggaOSPFContainer(name='r3', zebra_config={ 'interfaces': { 'lo': [ 'ip address 10.3.1.1/32', ], }, }, ospfd_config={ 'networks': { '10.3.1.1/32': '0.0.0.0', '192.168.23.0/24': '0.0.0.0', '192.168.34.0/24': '0.0.0.0', }, }) cls.r4 = QuaggaOSPFContainer(name='r4', ospfd_config={ 'networks': { '192.168.34.0/24': '0.0.0.0', '192.168.24.0/24': '0.0.0.0', }, }) wait_time = max(ctn.run() for ctn in [cls.r1, cls.r2, cls.r3, cls.r4]) time.sleep(wait_time) cls.br_r1_r2 = Bridge(name='br_r1_r2', subnet='192.168.12.0/24') [cls.br_r1_r2.addif(ctn) for ctn in (cls.r1, cls.r2)] cls.br_r2_r3 = Bridge(name='br_r2_r3', subnet='192.168.23.0/24') [cls.br_r2_r3.addif(ctn) for ctn in (cls.r2, cls.r3)] cls.br_r2_r4 = Bridge(name='br_r2_r4', subnet='192.168.24.0/24') [cls.br_r2_r4.addif(ctn) for ctn in (cls.r2, cls.r4)] cls.br_r3_r4 = Bridge(name='br_r3_r4', subnet='192.168.34.0/24') [cls.br_r3_r4.addif(ctn) for ctn in (cls.r3, cls.r4)]