def test_neutron_to_osvif_vif_ovs_native(self, m_mk_profile, m_mk_vif,
                                             m_make_vif_network,
                                             m_is_port_active, m_get_vif_name):
        vif_plugin = 'ovs'
        vif_details = {
            'ovs_hybrid_plug': False,
            'bridge_name': mock.sentinel.ovs_bridge
        }
        port = fake.get_port_obj(vif_details=vif_details)
        port.active = mock.sentinel.port_active
        port.profile = mock.sentinel.port_profile

        subnets = mock.sentinel.subnets
        network = mock.sentinel.network
        vif_name = "vhu01234567-89"
        vif = mock.sentinel.vif

        m_mk_profile.return_value = port.profile
        m_make_vif_network.return_value = network
        m_is_port_active.return_value = port.active
        m_get_vif_name.return_value = vif_name
        m_mk_vif.return_value = vif

        self.assertEqual(
            vif, ovu.neutron_to_osvif_vif_ovs(vif_plugin, port, subnets))
        m_mk_profile.assert_called_once_with(interface_id=port.id)
        m_make_vif_network.assert_called_once_with(port, subnets)
        m_is_port_active.assert_called_once_with(port)
        m_get_vif_name.assert_called_once_with(port)
        self.assertEqual(network.bridge,
                         port.binding_vif_details['bridge_name'])
Ejemplo n.º 2
0
    def test_neutron_to_osvif_vif_ovs_hybrid(self,
                                             m_mk_profile,
                                             m_mk_vif,
                                             m_make_vif_network,
                                             m_is_port_active,
                                             m_get_vif_name,
                                             m_get_ovs_hybrid_bridge_name):
        vif_plugin = 'ovs'
        port_id = mock.sentinel.port_id
        mac_address = mock.sentinel.mac_address
        ovs_bridge = mock.sentinel.ovs_bridge
        port_filter = mock.sentinel.port_filter
        subnets = mock.sentinel.subnets
        port_profile = mock.sentinel.port_profile
        network = mock.sentinel.network
        port_active = mock.sentinel.port_active
        vif_name = mock.sentinel.vif_name
        hybrid_bridge = mock.sentinel.hybrid_bridge
        vif = mock.sentinel.vif

        m_mk_profile.return_value = port_profile
        m_make_vif_network.return_value = network
        m_is_port_active.return_value = port_active
        m_get_vif_name.return_value = vif_name
        m_get_ovs_hybrid_bridge_name.return_value = hybrid_bridge
        m_mk_vif.return_value = vif

        port = {'id': port_id,
                'mac_address': mac_address,
                'binding:vif_details': {
                    'ovs_hybrid_plug': True,
                    'bridge_name': ovs_bridge,
                    'port_filter': port_filter},
                }

        self.assertEqual(vif, ovu.neutron_to_osvif_vif_ovs(vif_plugin, port,
                                                           subnets))

        m_mk_profile.assert_called_once_with(interface_id=port_id)
        m_make_vif_network.assert_called_once_with(port, subnets)
        m_is_port_active.assert_called_once_with(port)
        m_get_ovs_hybrid_bridge_name.assert_called_once_with(port)
        m_get_vif_name.assert_called_once_with(port)
        self.assertEqual(ovs_bridge, network.bridge)
        m_mk_vif.assert_called_once_with(
            id=port_id,
            address=mac_address,
            network=network,
            has_traffic_filtering=port_filter,
            preserve_on_delete=False,
            active=port_active,
            port_profile=port_profile,
            plugin=vif_plugin,
            vif_name=vif_name,
            bridge_name=hybrid_bridge)
    def test_neutron_to_osvif_vif_ovs_vu_server(self, m_mk_profile, m_mk_vif,
                                                m_make_vif_network,
                                                m_is_port_active,
                                                m_get_vif_name):
        vif_plugin = 'vhostuser'
        o_cfg.CONF.set_override('mount_point',
                                '/var/lib/cni/vhostuser',
                                group='vhostuser')
        port_id = mock.sentinel.port_id
        mac_address = mock.sentinel.mac_address
        ovs_bridge = mock.sentinel.ovs_bridge
        subnets = mock.sentinel.subnets
        port_profile = mock.sentinel.port_profile
        network = mock.sentinel.network
        port_active = mock.sentinel.port_active
        vif_name = "vhu01234567-89"
        vif = mock.sentinel.vif

        m_mk_profile.return_value = port_profile
        m_make_vif_network.return_value = network
        m_is_port_active.return_value = port_active
        m_get_vif_name.return_value = vif_name
        m_mk_vif.return_value = vif

        port = fake.get_port_obj(port_id=port_id,
                                 vif_details={
                                     'ovs_hybrid_plug': False,
                                     'bridge_name': ovs_bridge,
                                     'vhostuser_mode': 'server'
                                 })
        port.mac_address = mac_address

        self.assertEqual(
            vif, ovu.neutron_to_osvif_vif_ovs(vif_plugin, port, subnets))
        m_mk_profile.assert_called_once_with(interface_id=port_id)
        m_make_vif_network.assert_called_once_with(port, subnets)
        m_is_port_active.assert_called_once_with(port)
        m_get_vif_name.assert_called_once_with(port_id)
        self.assertEqual(ovs_bridge, network.bridge)
Ejemplo n.º 4
0
    def test_neutron_to_osvif_vif_ovs_native(self,
                                             m_mk_profile,
                                             m_mk_vif,
                                             m_make_vif_network,
                                             m_is_port_active,
                                             m_get_vif_name):
        vif_plugin = 'ovs'
        port_id = mock.sentinel.port_id
        mac_address = mock.sentinel.mac_address
        ovs_bridge = mock.sentinel.ovs_bridge
        subnets = mock.sentinel.subnets
        port_profile = mock.sentinel.port_profile
        network = mock.sentinel.network
        port_active = mock.sentinel.port_active
        vif_name = mock.sentinel.vif_name
        vif = mock.sentinel.vif

        m_mk_profile.return_value = port_profile
        m_make_vif_network.return_value = network
        m_is_port_active.return_value = port_active
        m_get_vif_name.return_value = vif_name
        m_mk_vif.return_value = vif

        port = {'id': port_id,
                'mac_address': mac_address,
                'binding:vif_details': {
                    'ovs_hybrid_plug': False,
                    'bridge_name': ovs_bridge},
                }

        self.assertEqual(vif, ovu.neutron_to_osvif_vif_ovs(vif_plugin, port,
                                                           subnets))
        m_mk_profile.assert_called_once_with(interface_id=port_id)
        m_make_vif_network.assert_called_once_with(port, subnets)
        m_is_port_active.assert_called_once_with(port)
        m_get_vif_name.assert_called_once_with(port)
        self.assertEqual(ovs_bridge, network.bridge)