def test_resolve_dpdk_ports(self): self.test_config.set('data-port', DPDK_DATA_PORTS) _pci_devices = Mock() _pci_devices.get_device_from_mac.side_effect = PCI_DEVICE_MAP.get self.PCINetDevices.return_value = _pci_devices self.assertEqual(context.resolve_dpdk_ports(), {'0000:00:1c.0': 'br-phynet1', '0000:00:1d.0': 'br-phynet3'})
def configure_ovs(): status_set('maintenance', 'Configuring ovs') if not service_running('openvswitch-switch'): full_restart() datapath_type = determine_datapath_type() add_bridge(INT_BRIDGE, datapath_type) add_bridge(EXT_BRIDGE, datapath_type) ext_port_ctx = None if use_dvr(): ext_port_ctx = ExternalPortContext()() if ext_port_ctx and ext_port_ctx['ext_port']: add_bridge_port(EXT_BRIDGE, ext_port_ctx['ext_port']) if not use_dpdk(): portmaps = DataPortContext()() bridgemaps = parse_bridge_mappings(config('bridge-mappings')) for br in bridgemaps.values(): add_bridge(br, datapath_type) if not portmaps: continue for port, _br in portmaps.items(): if _br == br: if not is_linuxbridge_interface(port): add_bridge_port(br, port, promisc=True) else: add_ovsbridge_linuxbridge(br, port) else: # NOTE: when in dpdk mode, add based on pci bus order # with type 'dpdk' dpdk_bridgemaps = neutron_ovs_context.resolve_dpdk_ports() device_index = 0 for br in dpdk_bridgemaps.values(): add_bridge(br, datapath_type) dpdk_add_bridge_port(br, 'dpdk{}'.format(device_index), port_type='dpdk') device_index += 1 target = config('ipfix-target') bridges = [INT_BRIDGE, EXT_BRIDGE] bridges.extend(bridgemaps.values()) if target: for bridge in bridges: disable_ipfix(bridge) enable_ipfix(bridge, target) else: # NOTE: removing ipfix setting from a bridge is idempotent and # will pass regardless of the existence of the setting for bridge in bridges: disable_ipfix(bridge) # Ensure this runs so that mtu is applied to data-port interfaces if # provided. # NOTE(ajkavanagh) for pause/resume we don't gate this as it's not a # running service, but rather running a few commands. service_restart('os-charm-phy-nic-mtu')
def configure_ovs(): status_set('maintenance', 'Configuring ovs') if not service_running('openvswitch-switch'): full_restart() datapath_type = determine_datapath_type() add_bridge(INT_BRIDGE, datapath_type) add_bridge(EXT_BRIDGE, datapath_type) ext_port_ctx = None if use_dvr(): ext_port_ctx = ExternalPortContext()() if ext_port_ctx and ext_port_ctx['ext_port']: add_bridge_port(EXT_BRIDGE, ext_port_ctx['ext_port']) if not use_dpdk(): portmaps = DataPortContext()() bridgemaps = parse_bridge_mappings(config('bridge-mappings')) for br in bridgemaps.itervalues(): add_bridge(br, datapath_type) if not portmaps: continue for port, _br in portmaps.iteritems(): if _br == br: add_bridge_port(br, port, promisc=True) else: # NOTE: when in dpdk mode, add based on pci bus order # with type 'dpdk' dpdk_bridgemaps = neutron_ovs_context.resolve_dpdk_ports() device_index = 0 for br in dpdk_bridgemaps.itervalues(): add_bridge(br, datapath_type) dpdk_add_bridge_port(br, 'dpdk{}'.format(device_index), port_type='dpdk') device_index += 1 # Ensure this runs so that mtu is applied to data-port interfaces if # provided. # NOTE(ajkavanagh) for pause/resume we don't gate this as it's not a # running service, but rather running a few commands. service_restart('os-charm-phy-nic-mtu')