예제 #1
0
    def check_ping_from_mx(self):
        internal_vip = self.inputs.internal_vip
        devices = list(self.inputs.physical_routers_data.keys())
        for device in self.inputs.physical_routers_data.items():
            router_params = device[1]
            if router_params['role'] == 'spine':
                phy_router_fixture = self.useFixture(
                    PhysicalRouterFixture(
                        router_params['name'],
                        router_params['control_ip'],
                        model="mx",
                        vendor=router_params['vendor'],
                        asn=router_params['asn'],
                        ssh_username=router_params['ssh_username'],
                        ssh_password=router_params['ssh_password'],
                        mgmt_ip=router_params['control_ip'],
                        do_cleanup=False,
                        connections=self.connections))

                mx_handle = phy_router_fixture.get_connection_obj(
                    'juniper',
                    host=router_params['control_ip'],
                    username=router_params['ssh_username'],
                    password=router_params['ssh_password'],
                    logger=[self.logger])
                cmd = "ping %s wait 1" % internal_vip
                output = mx_handle.handle.cli(cmd)
                self.logger.debug(output)
                cmd = "run show bgp summary | display xml rpc"
                output = mx_handle.handle.cli(cmd)
                self.logger.debug(output)
예제 #2
0
파일: base.py 프로젝트: vvelpula/tf-test
 def setup_routers(self, count=1):
     ''' Returns a list of physical router fixtures
     '''
     router_objs = []
     routers_info_list = self.get_available_devices('router')
     assert len(routers_info_list) >= count, (
         'Not enough devices available! Expected %s, Got %s' %
         (count, len(routers_info_list)))
     for i in range(0, count):
         router_params = routers_info_list[i]
         phy_router_fixture = self.useFixture(
             PhysicalRouterFixture(
                 router_params['name'],
                 router_params['mgmt_ip'],
                 model=router_params['model'],
                 vendor=router_params['vendor'],
                 asn=router_params['asn'],
                 ssh_username=router_params['ssh_username'],
                 ssh_password=router_params['ssh_password'],
                 mgmt_ip=router_params['mgmt_ip'],
                 tunnel_ip=router_params['tunnel_ip'],
                 ports=router_params['ports'],
                 connections=self.connections,
                 logger=self.logger))
         router_objs.append(phy_router_fixture)
     return router_objs
예제 #3
0
    def create_physical_dev(self):

        #mx config using device manager
        self.phy_router_fixture = {}
        if self.inputs.ext_routers:
            if self.inputs.use_devicemanager_for_md5:
                j = 0
                self.mx_handle = {}
                for i in range(len(
                        self.inputs.physical_routers_data.values())):
                    router_params = self.inputs.physical_routers_data.values(
                    )[i]
                    if router_params['model'] == 'mx':
                        self.phy_router_fixture[j] = self.useFixture(
                            PhysicalRouterFixture(
                                router_params['name'],
                                router_params['mgmt_ip'],
                                model=router_params['model'],
                                vendor=router_params['vendor'],
                                asn=router_params['asn'],
                                ssh_username=router_params['ssh_username'],
                                ssh_password=router_params['ssh_password'],
                                mgmt_ip=router_params['mgmt_ip'],
                                connections=self.connections))
                        self.mx_handle[j] = self.phy_router_fixture[
                            j].get_connection_obj(
                                'juniper',
                                host=router_params['mgmt_ip'],
                                username=router_params['ssh_username'],
                                password=router_params['ssh_password'],
                                logger=[self.logger])

                        j += 1
예제 #4
0
    def create_physical_dev(self):

        #mx config using device manager
        self.phy_router_fixture = {}
        if self.inputs.ext_routers:
            if self.inputs.use_devicemanager_for_md5:
                j = 0
                self.mx_handle = {}
                for i in range(len(self.inputs.dm_mx.values())):
                    router_params = self.inputs.dm_mx.values()[i]
                    if router_params['model'] == 'mx':
                        self.phy_router_fixture[j] = self.useFixture(PhysicalRouterFixture(
                            router_params['name'], router_params['control_ip'],
                            model=router_params['model'],
                            vendor=router_params['vendor'],
                            asn=router_params['asn'],
                            ssh_username=router_params['ssh_username'],
                            ssh_password=router_params['ssh_password'],
                            mgmt_ip=router_params['control_ip'],
                            connections=self.connections,
                            dm_managed=True))
                        physical_dev = self.vnc_lib.physical_router_read(id = self.phy_router_fixture[j].phy_device.uuid)
                        physical_dev.set_physical_router_management_ip(router_params['mgmt_ip'])
                        physical_dev.set_physical_router_dataplane_ip(router_params['mgmt_ip'])
                        physical_dev._pending_field_updates
                        self.vnc_lib.physical_router_update(physical_dev)
                        self.mx_handle[j] = self.phy_router_fixture[j].get_connection_obj('juniper',
                            host=router_params['control_ip'],
                            username=router_params['ssh_username'],
                            password=router_params['ssh_password'],
                            logger=[self.logger])

                        j += 1
예제 #5
0
    def test_create_v6(self):
        """
        Description: Verify v6 config is pushed to mx
        """
        router_params = list(self.inputs.dm_mx.values())[0]
        self.phy_router_fixture = self.useFixture(
            PhysicalRouterFixture(router_params['name'],
                                  router_params['control_ip'],
                                  model=router_params['model'],
                                  vendor=router_params['vendor'],
                                  asn=router_params['asn'],
                                  ssh_username=router_params['ssh_username'],
                                  ssh_password=router_params['ssh_password'],
                                  mgmt_ip=router_params['control_ip'],
                                  connections=self.connections,
                                  dm_managed=True))
        physical_dev = self.vnc_lib.physical_router_read(
            id=self.phy_router_fixture.phy_device.uuid)
        physical_dev.set_physical_router_management_ip(
            router_params['mgmt_ip'])
        physical_dev._pending_field_updates
        self.vnc_lib.physical_router_update(physical_dev)

        vn1_name = "test_vnv6sr"
        vn1_net = ['2001::101:0/120']
        #vn1_fixture = self.config_vn(vn1_name, vn1_net)
        vn1_fixture = self.useFixture(
            VNFixture(project_name=self.inputs.project_name,
                      connections=self.connections,
                      vn_name=vn1_name,
                      inputs=self.inputs,
                      subnets=vn1_net))
        assert vn1_fixture.verify_on_setup()
        self.extend_vn_to_physical_router(vn1_fixture, self.phy_router_fixture)
        sleep(20)
        mx_handle = self.phy_router_fixture.get_connection_obj(
            'juniper',
            host=router_params['mgmt_ip'],
            username=router_params['ssh_username'],
            password=router_params['ssh_password'],
            logger=[self.logger])
        cmd = 'show configuration groups __contrail__ routing-instances _contrail_%s-l3-%s' % (
            vn1_name, vn1_fixture.vn_network_id)
        cli_output = self.get_output_from_node(mx_handle, cmd)
        assert (not ('invalid command' in cli_output)
                ), "Bug 1553316 present. v6 CIDR config not pushed to mx"

        return True
예제 #6
0
def createBGPRouter(self):
    self.bgp_router_fixture = {}
    if not hasattr(self.topo, 'pr_params'):
        return self
    for bgp_router in self.topo.pr_list:
        self.bgp_router_fixture[bgp_router] = self.useFixture(
            PhysicalRouterFixture(
                bgp_router,
                self.topo.pr_params[bgp_router]['tunnel_ip'],
                connections=self.project_connections,
                inputs=self.project_inputs,
                vendor=self.topo.pr_params[bgp_router]['vendor'],
                router_type=self.topo.pr_params[bgp_router]['router_type'],
                source_port=self.topo.pr_params[bgp_router]['source_port'],
                auth_type=self.topo.pr_params[bgp_router]['auth_type'],
                auth_key=self.topo.pr_params[bgp_router]['auth_key'],
                hold_time=self.topo.pr_params[bgp_router]['hold_time']))
    return self
예제 #7
0
    def test_create_v6(self):
        """
        Description: Verify v6 config is pushed to mx 
        """
        router_params = self.inputs.physical_routers_data.values()[0]
        self.phy_router_fixture = self.useFixture(
            PhysicalRouterFixture(router_params['name'],
                                  router_params['mgmt_ip'],
                                  model=router_params['model'],
                                  vendor=router_params['vendor'],
                                  asn=router_params['asn'],
                                  ssh_username=router_params['ssh_username'],
                                  ssh_password=router_params['ssh_password'],
                                  mgmt_ip=router_params['mgmt_ip'],
                                  connections=self.connections))

        vn1_name = "test_vnv6sr"
        vn1_net = ['2001::101:0/120']
        #vn1_fixture = self.config_vn(vn1_name, vn1_net)
        vn1_fixture = self.useFixture(
            VNFixture(project_name=self.inputs.project_name,
                      connections=self.connections,
                      vn_name=vn1_name,
                      inputs=self.inputs,
                      subnets=vn1_net))
        assert vn1_fixture.verify_on_setup()
        self.extend_vn_to_physical_router(vn1_fixture, self.phy_router_fixture)
        sleep(20)
        mx_handle = self.phy_router_fixture.get_connection_obj(
            'juniper',
            host=router_params['mgmt_ip'],
            username=router_params['ssh_username'],
            password=router_params['ssh_password'],
            logger=[self.logger])

        cmd = 'show configuration groups __contrail__ routing-instances _contrail_l3_5_%s' % vn1_name
        cli_output = self.get_output_from_node(mx_handle, cmd)
        assert (not ('invalid command' in cli_output)
                ), "Bug 1553316 present. v6 CIDR config not pushed to mx"

        return True
예제 #8
0
파일: base.py 프로젝트: vvelpula/tf-test
 def setup_tors(self, count=1):
     tor_objs = []
     tors_info_list = self.get_available_devices('tor')
     assert len(tors_info_list) >= count, (
         'Not enough devices available! Expected %s, Got %s' %
         (count, len(tors_info_list)))
     for i in range(0, count):
         tor_params = tors_info_list[i]
         tor_fixture = self.useFixture(
             PhysicalRouterFixture(tor_params['name'],
                                   tor_params['mgmt_ip'],
                                   vendor=tor_params['vendor'],
                                   model=tor_params['model'],
                                   role=tor_params['role'],
                                   tsn=tor_params['tsn'],
                                   ssh_username=tor_params['ssh_username'],
                                   ssh_password=tor_params['ssh_password'],
                                   tunnel_ip=tor_params['tunnel_ip'],
                                   ports=tor_params['ports'],
                                   dm_managed=tor_params['dm_managed'],
                                   connections=self.connections,
                                   logger=self.logger))
         tor_objs.append(tor_fixture)
     return tor_objs
예제 #9
0
    def config_basic(self, check_dm):
        #mx config using device manager
        #both dm_mx and use_device_manager knobs are required for DM
        #this check is present in is_test_applicable
        if check_dm:
            if self.inputs.use_devicemanager_for_md5:
                for i in range(len(self.inputs.dm_mx.values())):
                    router_params = self.inputs.dm_mx.values()[i]
                    if router_params['model'] == 'mx':
                        self.phy_router_fixture = self.useFixture(
                            PhysicalRouterFixture(
                                router_params['name'],
                                router_params['control_ip'],
                                model=router_params['model'],
                                vendor=router_params['vendor'],
                                asn=router_params['asn'],
                                ssh_username=router_params['ssh_username'],
                                ssh_password=router_params['ssh_password'],
                                mgmt_ip=router_params['control_ip'],
                                connections=self.connections,
                                dm_managed=True))
                        physical_dev = self.vnc_lib.physical_router_read(
                            id=self.phy_router_fixture.phy_device.uuid)
                        physical_dev.set_physical_router_management_ip(
                            router_params['mgmt_ip'])
                        physical_dev._pending_field_updates
                        self.vnc_lib.physical_router_update(physical_dev)
        else:
            if self.inputs.ext_routers:
                for i in range(len(
                        self.inputs.physical_routers_data.values())):
                    router_params = self.inputs.physical_routers_data.values(
                    )[i]
                    if router_params['model'] == 'mx':
                        cmd = []
                        cmd.append(
                            'set groups md5_tests routing-options router-id %s'
                            % router_params['mgmt_ip'])
                        cmd.append(
                            'set groups md5_tests routing-options route-distinguisher-id %s'
                            % router_params['mgmt_ip'])
                        cmd.append(
                            'set groups md5_tests routing-options autonomous-system %s'
                            % router_params['asn'])
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests type internal'
                        )
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests multihop'
                        )
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests local-address %s'
                            % router_params['mgmt_ip'])
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests hold-time 90'
                        )
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests keep all'
                        )
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests family inet-vpn unicast'
                        )
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests family inet6-vpn unicast'
                        )
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests family evpn signaling'
                        )
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests family route-target'
                        )
                        cmd.append(
                            'set groups md5_tests protocols bgp group md5_tests local-as %s'
                            % router_params['asn'])
                        for node in self.inputs.bgp_control_ips:
                            cmd.append(
                                'set groups md5_tests protocols bgp group md5_tests neighbor %s peer-as %s'
                                % (node, router_params['asn']))
                        cmd.append('set apply-groups md5_tests')
                        mx_handle = NetconfConnection(
                            host=router_params['mgmt_ip'])
                        mx_handle.connect()
                        cli_output = mx_handle.config(stmts=cmd, timeout=120)

        #ipv6 not supported for vcenter so skipping config
        if self.inputs.orchestrator != 'vcenter':
            vn61_name = "test_vnv6sr"
            vn61_net = ['2001::101:0/120']
            #vn1_fixture = self.config_vn(vn1_name, vn1_net)
            vn61_fixture = self.useFixture(
                VNFixture(project_name=self.inputs.project_name,
                          connections=self.connections,
                          vn_name=vn61_name,
                          inputs=self.inputs,
                          subnets=vn61_net))
            vn62_name = "test_vnv6dn"
            vn62_net = ['2001::201:0/120']
            #vn2_fixture = self.config_vn(vn2_name, vn2_net)
            vn62_fixture = self.useFixture(
                VNFixture(project_name=self.inputs.project_name,
                          connections=self.connections,
                          vn_name=vn62_name,
                          inputs=self.inputs,
                          subnets=vn62_net))
            vm61_name = 'source_vm'
            vm62_name = 'dest_vm'
            #vm1_fixture = self.config_vm(vn1_fixture, vm1_name)
            #vm2_fixture = self.config_vm(vn2_fixture, vm2_name)
            vm61_fixture = self.useFixture(
                VMFixture(project_name=self.inputs.project_name,
                          connections=self.connections,
                          vn_obj=vn61_fixture.obj,
                          vm_name=vm61_name,
                          node_name=None,
                          image_name='cirros',
                          flavor='m1.tiny'))

            vm62_fixture = self.useFixture(
                VMFixture(project_name=self.inputs.project_name,
                          connections=self.connections,
                          vn_obj=vn62_fixture.obj,
                          vm_name=vm62_name,
                          node_name=None,
                          image_name='cirros',
                          flavor='m1.tiny'))
            vm61_fixture.wait_till_vm_is_up()
            vm62_fixture.wait_till_vm_is_up()

            rule = [
                {
                    'direction': '<>',
                    'protocol': 'any',
                    'source_network': vn61_name,
                    'src_ports': [0, -1],
                    'dest_network': vn62_name,
                    'dst_ports': [0, -1],
                    'simple_action': 'pass',
                },
            ]
            policy_name = 'allow_all'
            policy_fixture = self.config_policy(policy_name, rule)

            vn61_policy_fix = self.attach_policy_to_vn(policy_fixture,
                                                       vn61_fixture)
            vn62_policy_fix = self.attach_policy_to_vn(policy_fixture,
                                                       vn62_fixture)

        vn1 = "vn1"
        vn2 = "vn2"
        vn_s = {'vn1': '10.1.1.0/24', 'vn2': ['20.1.1.0/24']}
        rules = [
            {
                'direction': '<>',
                'protocol': 'any',
                'source_network': vn1,
                'src_ports': [0, -1],
                'dest_network': vn2,
                'dst_ports': [0, -1],
                'simple_action': 'pass',
            },
        ]

        self.logger.info("Configure the policy with allow any")
        self.multi_vn_fixture = self.useFixture(
            MultipleVNFixture(connections=self.connections,
                              inputs=self.inputs,
                              subnet_count=2,
                              vn_name_net=vn_s,
                              project_name=self.inputs.project_name))
        vns = self.multi_vn_fixture.get_all_fixture_obj()
        (self.vn1_name, self.vn1_fix) = self.multi_vn_fixture._vn_fixtures[0]
        (self.vn2_name, self.vn2_fix) = self.multi_vn_fixture._vn_fixtures[1]
        self.config_policy_and_attach_to_vn(rules)

        self.multi_vm_fixture = self.useFixture(
            MultipleVMFixture(project_name=self.inputs.project_name,
                              connections=self.connections,
                              vm_count_per_vn=1,
                              vn_objs=vns,
                              image_name='cirros',
                              flavor='m1.tiny'))
        vms = self.multi_vm_fixture.get_all_fixture()
        (self.vm1_name, self.vm1_fix) = vms[0]
        (self.vm2_name, self.vm2_fix) = vms[1]
예제 #10
0
         ports=device_dict['ports'],
         tor_ovs_port=device_dict['tor_ovs_port'],
         tor_ovs_protocol=device_dict['tor_ovs_protocol'],
         controller_ip=device_dict['controller_ip'],
         cfgm_ip=init_obj.cfgm_ip,
         auth_server_ip=init_obj.auth_ip,
         bringup=True)
     tor_obj.setUp()
 if device_dict['type'] == 'router':
     phy_router_obj = PhysicalRouterFixture(
         device_dict['name'],
         device_dict['mgmt_ip'],
         model=device_dict['model'],
         vendor=device_dict['vendor'],
         asn=device_dict['asn'],
         ssh_username=device_dict['ssh_username'],
         ssh_password=device_dict['ssh_password'],
         mgmt_ip=device_dict['mgmt_ip'],
         tunnel_ip=device_dict['tunnel_ip'],
         ports=device_dict['ports'],
         cfgm_ip=init_obj.cfgm_ip,
         auth_server_ip=init_obj.auth_ip,
     )
     phy_router_obj.setUp()
 if device_dict['type'] == 'vcenter_gateway':
     vrouter_obj = VirtualRouterFixture(
         device_dict['name'],
         'embedded',
         cfgm_ip=init_obj.cfgm_ip,
         auth_server_ip=init_obj.auth_ip,
     )
     vrouter_obj.setUp()
예제 #11
0
if __name__ == "__main__":
    init_obj = ContrailTestInit(sys.argv[1])
    for (device, device_dict) in init_obj.physical_routers_data.iteritems():
        if device_dict.get('role') in ['leaf', 'spine']:
            continue
        phy_router_obj = PhysicalRouterFixture(
            device_dict['name'],
            device_dict['mgmt_ip'],
            asn=device_dict['asn'],
            model=device_dict.get('model', 'mx'),
            vendor=device_dict.get('vendor', 'juniper'),
            ssh_username=device_dict.get('ssh_username'),
            ssh_password=device_dict.get('ssh_password'),
            tunnel_ip=device_dict.get('tunnel_ip'),
            ports=device_dict.get('ports'),
            dm_managed=device_dict.get('dm_managed'),
            tsn=device_dict.get('tsn'),
            role=device_dict.get('role'),
            cfgm_ip=init_obj.cfgm_ip,
            auth_server_ip=init_obj.auth_ip,
            inputs=init_obj,
            username=init_obj.admin_username,
            password=init_obj.admin_password,
            project_name=init_obj.admin_tenant,
            domain=init_obj.admin_domain,
            orchestrator=init_obj.orchestrator)
        phy_router_obj.setUp()
        assert phy_router_obj.verify_bgp_peer(), 'BGP peering is not up.'

        if device_dict['type'] == 'vcenter_gateway':
            vrouter_obj = VirtualRouterFixture(
예제 #12
0
    def config_basic(self, is_mx_present):
        #mx config using device manager
        if is_mx_present:
            if self.inputs.ext_routers:
                if self.inputs.use_devicemanager_for_md5:
                    router_params = self.inputs.physical_routers_data.values(
                    )[0]
                    self.phy_router_fixture = self.useFixture(
                        PhysicalRouterFixture(
                            router_params['name'],
                            router_params['mgmt_ip'],
                            model=router_params['model'],
                            vendor=router_params['vendor'],
                            asn=router_params['asn'],
                            ssh_username=router_params['ssh_username'],
                            ssh_password=router_params['ssh_password'],
                            mgmt_ip=router_params['mgmt_ip'],
                            connections=self.connections))
        else:
            if self.inputs.ext_routers:
                router_params = self.inputs.physical_routers_data.values()[0]
                cmd = []
                cmd.append(
                    'set groups md5_tests routing-options router-id %s' %
                    router_params['mgmt_ip'])
                cmd.append(
                    'set groups md5_tests routing-options route-distinguisher-id %s'
                    % router_params['mgmt_ip'])
                cmd.append(
                    'set groups md5_tests routing-options autonomous-system %s'
                    % router_params['asn'])
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests type internal'
                )
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests multihop'
                )
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests local-address %s'
                    % router_params['mgmt_ip'])
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests hold-time 90'
                )
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests keep all'
                )
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests family inet-vpn unicast'
                )
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests family inet6-vpn unicast'
                )
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests family evpn signaling'
                )
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests family route-target'
                )
                cmd.append(
                    'set groups md5_tests protocols bgp group md5_tests local-as %s'
                    % router_params['asn'])
                for node in self.inputs.bgp_control_ips:
                    cmd.append(
                        'set groups md5_tests protocols bgp group md5_tests neighbor %s peer-as %s'
                        % (node, router_params['asn']))
                cmd.append('set apply-groups md5_tests')
                mx_handle = NetconfConnection(host=router_params['mgmt_ip'])
                mx_handle.connect()
                cli_output = mx_handle.config(stmts=cmd, timeout=120)
        vn61_name = "test_vnv6sr"
        vn61_net = ['2001::101:0/120']
        #vn1_fixture = self.config_vn(vn1_name, vn1_net)
        vn61_fixture = self.useFixture(
            VNFixture(project_name=self.inputs.project_name,
                      connections=self.connections,
                      vn_name=vn61_name,
                      inputs=self.inputs,
                      subnets=vn61_net))
        vn62_name = "test_vnv6dn"
        vn62_net = ['2001::201:0/120']
        #vn2_fixture = self.config_vn(vn2_name, vn2_net)
        vn62_fixture = self.useFixture(
            VNFixture(project_name=self.inputs.project_name,
                      connections=self.connections,
                      vn_name=vn62_name,
                      inputs=self.inputs,
                      subnets=vn62_net))
        vm61_name = 'source_vm'
        vm62_name = 'dest_vm'
        #vm1_fixture = self.config_vm(vn1_fixture, vm1_name)
        #vm2_fixture = self.config_vm(vn2_fixture, vm2_name)
        vm61_fixture = self.useFixture(
            VMFixture(project_name=self.inputs.project_name,
                      connections=self.connections,
                      vn_obj=vn61_fixture.obj,
                      vm_name=vm61_name,
                      node_name=None,
                      image_name='cirros-0.3.0-x86_64-uec',
                      flavor='m1.tiny'))

        vm62_fixture = self.useFixture(
            VMFixture(project_name=self.inputs.project_name,
                      connections=self.connections,
                      vn_obj=vn62_fixture.obj,
                      vm_name=vm62_name,
                      node_name=None,
                      image_name='cirros-0.3.0-x86_64-uec',
                      flavor='m1.tiny'))
        vm61_fixture.wait_till_vm_is_up()
        vm62_fixture.wait_till_vm_is_up()

        rule = [
            {
                'direction': '<>',
                'protocol': 'any',
                'source_network': vn61_name,
                'src_ports': [0, -1],
                'dest_network': vn62_name,
                'dst_ports': [0, -1],
                'simple_action': 'pass',
            },
        ]
        policy_name = 'allow_all'
        policy_fixture = self.config_policy(policy_name, rule)

        vn61_policy_fix = self.attach_policy_to_vn(policy_fixture,
                                                   vn61_fixture)
        vn62_policy_fix = self.attach_policy_to_vn(policy_fixture,
                                                   vn62_fixture)

        vn1 = "vn1"
        vn2 = "vn2"
        vn_s = {'vn1': '10.1.1.0/24', 'vn2': ['20.1.1.0/24']}
        rules = [
            {
                'direction': '<>',
                'protocol': 'any',
                'source_network': vn1,
                'src_ports': [0, -1],
                'dest_network': vn2,
                'dst_ports': [0, -1],
                'simple_action': 'pass',
            },
        ]

        self.logger.info("Configure the policy with allow any")
        self.multi_vn_fixture = self.useFixture(
            MultipleVNFixture(connections=self.connections,
                              inputs=self.inputs,
                              subnet_count=2,
                              vn_name_net=vn_s,
                              project_name=self.inputs.project_name))
        vns = self.multi_vn_fixture.get_all_fixture_obj()
        (self.vn1_name, self.vn1_fix) = self.multi_vn_fixture._vn_fixtures[0]
        (self.vn2_name, self.vn2_fix) = self.multi_vn_fixture._vn_fixtures[1]
        self.config_policy_and_attach_to_vn(rules)

        self.multi_vm_fixture = self.useFixture(
            MultipleVMFixture(project_name=self.inputs.project_name,
                              connections=self.connections,
                              vm_count_per_vn=1,
                              vn_objs=vns,
                              image_name='cirros-0.3.0-x86_64-uec',
                              flavor='m1.tiny'))
        vms = self.multi_vm_fixture.get_all_fixture()
        (self.vm1_name, self.vm1_fix) = vms[0]
        (self.vm2_name, self.vm2_fix) = vms[1]