Beispiel #1
0
 def test_unknown_port_group(self, mock_get_host_ref):
     session = mock.Mock()
     session._call_method.return_value = self._fake_port_groups()
     vlanid, vswitch = network_util.get_vlanid_and_vswitch_for_portgroup(
         session, 'unknown_port_group', 'fake_cluster')
     self.assertIsNone(vlanid)
     self.assertIsNone(vswitch)
Beispiel #2
0
 def test_valid_port_group(self, mock_get_host_ref):
     session = mock.Mock()
     session._call_method.return_value = self._fake_port_groups()
     vlanid, vswitch = network_util.get_vlanid_and_vswitch_for_portgroup(
         session, 'port_group_name', 'fake_cluster')
     self.assertEqual(vlanid, 100)
     self.assertEqual(vswitch, 'vswitch_name')
Beispiel #3
0
    def destroy(self, instance, network_info, block_device_info=None,
                destroy_disks=True, context=None):
        session = self._session
        vlan_id = None
        vswitch = ""

        if network_info:
            for vif in network_info:
                self.VifInfo.unplug(instance, vif)

        super(ContrailESXDriver, self).destroy(instance, network_info,
                block_device_info, destroy_disks, context)

        if not network_info:
            return

        for vif in network_info:
            port_group = vif['network']['label'] + \
                          '-' + str(instance['hostname']) + \
                          '-' + str(vif['id'])

            try:
                vlan_id, vswitch = \
                    network_util.get_vlanid_and_vswitch_for_portgroup(session,
                                                                      port_group)
            except TypeError:
                pass
            if not vlan_id:
                return

            self.remove_port_group(port_group)
            self.Vlan.free_vlan(vlan_id)
Beispiel #4
0
 def test_unknown_port_group(self, mock_get_host_ref):
     session = mock.Mock()
     session._call_method.return_value = self._fake_port_groups()
     vlanid, vswitch = network_util.get_vlanid_and_vswitch_for_portgroup(
         session, "unknown_port_group", "fake_cluster"
     )
     self.assertIsNone(vlanid)
     self.assertIsNone(vswitch)
Beispiel #5
0
 def test_valid_port_group(self, mock_get_host_ref):
     session = mock.Mock()
     session._call_method.return_value = self._fake_port_groups()
     vlanid, vswitch = network_util.get_vlanid_and_vswitch_for_portgroup(
         session,
         'port_group_name',
         'fake_cluster'
     )
     self.assertEqual(vlanid, 100)
     self.assertEqual(vswitch, 'vswitch_name')
Beispiel #6
0
    def plug_vifs(self, instance, network_info):
        """Plug VIFs into networks."""

        session = self._session
        for vif in network_info:
            vlan_id = None
            vswitch = ""
            port_group = vif['network']['label'] + \
                          '-' + str(instance['hostname']) + \
                          '-' + str(vif['id'])
            try:
                vlan_id, vswitch = \
                    network_util.get_vlanid_and_vswitch_for_portgroup(session,
                                                                      port_group)
            except TypeError:
                pass
            if not vlan_id:
                continue
            vif['network']['bridge'] = vif['network']['label'] + \
                                            '-' + str(instance['hostname']) + \
                                            '-' + str(vif['id'])
            self.VifInfo.plug(instance, vif, vlan_id)