Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
 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)
Beispiel #6
0
 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))
Beispiel #8
0
 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)
Beispiel #9
0
 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)
Beispiel #10
0
 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
Beispiel #11
0
 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