def test_get_segment_by_id(self): segment = {api.NETWORK_TYPE: "vlan", api.PHYSICAL_NETWORK: "physnet1", api.SEGMENTATION_ID: 1} net_segment = self._create_segments([segment])[0] segment_uuid = net_segment[api.ID] net_segment = ml2_db.get_segment_by_id(self.ctx.session, segment_uuid) self.assertEqual(segment, net_segment)
def test_get_segment_by_id(self): segment = {api.NETWORK_TYPE: 'vlan', api.PHYSICAL_NETWORK: 'physnet1', api.SEGMENTATION_ID: 1} net_segment = self._create_segments([segment])[0] segment_uuid = net_segment[api.ID] net_segment = ml2_db.get_segment_by_id(self.ctx.session, segment_uuid) self.assertEqual(segment, net_segment)
def test_delete_network_segment(self): segment = {api.NETWORK_TYPE: "vlan", api.PHYSICAL_NETWORK: "physnet1", api.SEGMENTATION_ID: 1} net_segment = self._create_segments([segment])[0] segment_uuid = net_segment[api.ID] ml2_db.delete_network_segment(self.ctx.session, segment_uuid) # Get segment and verify its empty net_segment = ml2_db.get_segment_by_id(self.ctx.session, segment_uuid) self.assertIsNone(net_segment)
def test_delete_network_segment(self): segment = {api.NETWORK_TYPE: 'vlan', api.PHYSICAL_NETWORK: 'physnet1', api.SEGMENTATION_ID: 1} net_segment = self._create_segments([segment])[0] segment_uuid = net_segment[api.ID] ml2_db.delete_network_segment(self.ctx.session, segment_uuid) # Get segment and verify its empty net_segment = ml2_db.get_segment_by_id(self.ctx.session, segment_uuid) self.assertIsNone(net_segment)
def release_dynamic_segment(self, session, segment_id): """Delete a dynamic segment.""" segment = db.get_segment_by_id(session, segment_id) if segment: driver = self.drivers.get(segment.get(api.NETWORK_TYPE)) if driver: driver.obj.release_segment(session, segment) db.delete_network_segment(session, segment_id) else: LOG.error(_LE("Failed to release segment '%s' because " "network type is not supported."), segment) else: LOG.debug("No segment found with id %(segment_id)s", segment_id)
def release_dynamic_segment(self, session, segment_id): """Delete a dynamic segment.""" segment = db.get_segment_by_id(session, segment_id) if segment: driver = self.drivers.get(segment.get(api.NETWORK_TYPE)) if driver: driver.obj.release_segment(session, segment) db.delete_network_segment(session, segment_id) else: LOG.error(_("Failed to release segment '%s' because " "network type is not supported."), segment) else: LOG.debug("No segment found with id %(segment_id)s", segment_id)
def get_segment_id(self, context, port_id, agent_hosts): try: segment = None if agent_hosts: for host_id in agent_hosts: levels = db.get_binding_levels(context.session, port_id, host_id) if levels: LOG.debug('XXXX levels: %s binding host_id: %s' % (levels, host_id)) for level in levels: segment = db.get_segment_by_id( context.session, level.segment_id) LOG.debug( 'XXXX vlanx to vlan segment id %s: segment %s' % (level.segment_id, segment)) if segment: break return segment except Exception as exc: LOG.error("could not get segment id by port %s and host %s, %s" % (port_id, agent_hosts, exc.message))
def test_get_segment_by_id_result_not_found(self): segment_uuid = uuidutils.generate_uuid() net_segment = ml2_db.get_segment_by_id(self.ctx.session, segment_uuid) self.assertIsNone(net_segment)
def _expand_segment(self, segment_id): segment = db.get_segment_by_id(self._plugin_context.session, segment_id) if not segment: LOG.warning(_LW("Could not expand segment %s"), segment_id) return segment