def _plug_os_vif(self, instance, vif, raw_vif): instance_info = os_vif_util.nova_to_osvif_instance(instance) try: os_vif.plug(vif, instance_info) except osv_exception.ExceptionBase as ex: msg = (_("Failure running os_vif plugin plug method: %(ex)s") % {'ex': ex}) raise exception.NovaException(msg) # TODO(johngarbutt) remove this hack once 1623876 is fixed in os-vif network = raw_vif.get('network') mtu = network.get_meta('mtu') if network else None if mtu is not None: linux_net._set_device_mtu(network["bridge"], mtu) if (type(vif) == os_vif.objects.vif.VIFBridge and hasattr(vif, "port_profile") and isinstance(vif.port_profile, os_vif.objects.vif.VIFPortProfileOpenVSwitch)): veths = [ ("qvb%s" % vif.id)[:network_model.NIC_NAME_LEN], ("qvo%s" % vif.id)[:network_model.NIC_NAME_LEN]] for veth in veths: linux_net._set_device_mtu(veth, mtu)
def _unplug_os_vif(self, instance, vif): instance_info = os_vif_util.nova_to_osvif_instance(instance) try: os_vif.unplug(vif, instance_info) except osv_exception.ExceptionBase as ex: msg = (_("Failure running os_vif plugin unplug method: %(ex)s") % {'ex': ex}) raise exception.InternalError(msg)
def _plug_os_vif(self, instance, vif): instance_info = os_vif_util.nova_to_osvif_instance(instance) try: os_vif.plug(vif, instance_info) except osv_exception.ExceptionBase as ex: msg = (_("Failure running os_vif plugin plug method: %(ex)s") % {'ex': ex}) raise exception.InternalError(msg)
def test_nova_to_osvif_instance_minimal(self): inst = objects.Instance(id="1242", uuid="d5b1090c-9e00-4fa4-9504-4b1494857970") actual = os_vif_util.nova_to_osvif_instance(inst) expect = osv_objects.instance_info.InstanceInfo(uuid=inst.uuid, name=inst.name) self.assertObjEqual(expect, actual)
def unplug(self, instance, vif): vif_type = vif['type'] if vif_type == model.VIF_TYPE_HYPERV: self._vif_plugin.unplug(instance, vif) elif vif_type == model.VIF_TYPE_OVS: vif = os_vif_util.nova_to_osvif_vif(vif) instance = os_vif_util.nova_to_osvif_instance(instance) os_vif.unplug(vif, instance) else: reason = _("unexpected vif_type=%s") % vif_type raise exception.VirtualInterfaceUnplugException(reason=reason)
def unplug(self, instance, vif): vif_type = vif['type'] if vif_type == model.VIF_TYPE_HYPERV: self._vif_plugin.unplug(instance, vif) elif vif_type == model.VIF_TYPE_OVS: vif = os_vif_util.nova_to_osvif_vif(vif) instance = os_vif_util.nova_to_osvif_instance(instance) os_vif.unplug(vif, instance) else: reason = _("unexpected vif_type=%s") % vif_type raise exception.VirtualInterfaceUnplugException(reason=reason)
def test_nova_to_osvif_instance_minimal(self): inst = objects.Instance( id="1242", uuid="d5b1090c-9e00-4fa4-9504-4b1494857970") actual = os_vif_util.nova_to_osvif_instance(inst) expect = osv_objects.instance_info.InstanceInfo( uuid=inst.uuid, name=inst.name) self.assertObjEqual(expect, actual)
def test_nova_to_osvif_instance(self): inst = objects.Instance( id="1242", uuid="d5b1090c-9e00-4fa4-9504-4b1494857970", project_id="2f37d7f6-e51a-4a1f-8b6e-b0917ffc8390") info = os_vif_util.nova_to_osvif_instance(inst) expect = osv_objects.instance_info.InstanceInfo( uuid="d5b1090c-9e00-4fa4-9504-4b1494857970", name="instance-000004da", project_id="2f37d7f6-e51a-4a1f-8b6e-b0917ffc8390") self.assertObjEqual(info, expect)
def test_nova_to_osvif_instance(self): inst = objects.Instance( id="1242", uuid="d5b1090c-9e00-4fa4-9504-4b1494857970", project_id="2f37d7f6-e51a-4a1f-8b6e-b0917ffc8390") info = os_vif_util.nova_to_osvif_instance(inst) expect = osv_objects.instance_info.InstanceInfo( uuid="d5b1090c-9e00-4fa4-9504-4b1494857970", name="instance-000004da", project_id="2f37d7f6-e51a-4a1f-8b6e-b0917ffc8390") self.assertObjEqual(info, expect)
def unplug(self, instance, vif): vif_type = vif['type'] instance_info = os_vif_util.nova_to_osvif_instance(instance) # Try os-vif codepath first vif_obj = os_vif_util.nova_to_osvif_vif(vif) if vif_obj is not None: os_vif.unplug(vif_obj, instance_info) return # Legacy non-os-vif codepath func = getattr(self, 'unplug_%s' % vif_type, None) if not func: raise exception.InternalError("Unexpected vif_type=%s" % vif_type) func(instance, vif)
def plug(self, instance, vif): vif_type = vif['type'] if vif_type == model.VIF_TYPE_HYPERV: self._vif_plugin.plug(instance, vif) elif vif_type == model.VIF_TYPE_OVS: vif = os_vif_util.nova_to_osvif_vif(vif) instance = os_vif_util.nova_to_osvif_instance(instance) # NOTE(claudiub): the vNIC has to be connected to a vSwitch # before the ovs port is created. self._netutils.connect_vnic_to_vswitch(CONF.hyperv.vswitch_name, vif.id) os_vif.plug(vif, instance) else: reason = _("Failed to plug virtual interface: " "unexpected vif_type=%s") % vif_type raise exception.VirtualInterfacePlugException(reason)
def plug(self, instance, vif): vif_type = vif['type'] if vif_type == model.VIF_TYPE_HYPERV: self._vif_plugin.plug(instance, vif) elif vif_type == model.VIF_TYPE_OVS: vif = os_vif_util.nova_to_osvif_vif(vif) instance = os_vif_util.nova_to_osvif_instance(instance) # NOTE(claudiub): the vNIC has to be connected to a vSwitch # before the ovs port is created. self._netutils.connect_vnic_to_vswitch(CONF.hyperv.vswitch_name, vif.id) os_vif.plug(vif, instance) else: reason = _("Failed to plug virtual interface: " "unexpected vif_type=%s") % vif_type raise exception.VirtualInterfacePlugException(reason)
def unplug(self, instance, vif): vif_type = vif['type'] instance_info = os_vif_util.nova_to_osvif_instance(instance) # Try os-vif codepath first vif_obj = os_vif_util.nova_to_osvif_vif(vif) if vif_obj is not None: os_vif.unplug(vif_obj, instance_info) else: # Legacy non-os-vif codepath func = getattr(self, 'unplug_%s' % vif_type, None) if not func: raise exception.InternalError( "Unexpected vif_type=%s" % vif_type ) func(instance, vif) _post_unplug_wiring(instance, vif)
def unplug(self, instance, vif): instance_info = os_vif_util.nova_to_osvif_instance(instance) vif_obj = os_vif_util.nova_to_osvif_vif(vif) os_vif.unplug(vif_obj, instance_info)