def eject_vmedia(self, task, **kwargs): """Eject a virtual media device. :param task: A TaskManager object. :param kwargs: The arguments sent with vendor passthru. The optional kwargs are:: 'boot_device': the boot device to eject """ # If boot_device not provided all vmedia devices will be ejected boot_device = kwargs.get('boot_device') redfish_boot.eject_vmedia(task, boot_device)
def test_eject_vmedia_unknown(self, mock_redfish_utils): with task_manager.acquire(self.context, self.node.uuid, shared=True) as task: mock_vmedia_cd = mock.MagicMock( inserted=False, media_types=[sushy.VIRTUAL_MEDIA_CD]) mock_manager = mock.MagicMock() mock_manager.virtual_media.get_members.return_value = [ mock_vmedia_cd] mock_redfish_utils.get_system.return_value.managers = [ mock_manager] redfish_boot.eject_vmedia(task) self.assertFalse(mock_vmedia_cd.eject_media.call_count)
def test_eject_vmedia_specific(self, mock_redfish_utils): with task_manager.acquire(self.context, self.node.uuid, shared=True) as task: mock_vmedia_cd = mock.MagicMock( inserted=True, media_types=[sushy.VIRTUAL_MEDIA_CD]) mock_vmedia_floppy = mock.MagicMock( inserted=True, media_types=[sushy.VIRTUAL_MEDIA_FLOPPY]) mock_manager = mock.MagicMock() mock_manager.virtual_media.get_members.return_value = [ mock_vmedia_cd, mock_vmedia_floppy ] mock_redfish_utils.get_system.return_value.managers = [ mock_manager ] redfish_boot.eject_vmedia(task, sushy.VIRTUAL_MEDIA_CD) mock_vmedia_cd.eject_media.assert_called_once_with() self.assertFalse(mock_vmedia_floppy.eject_media.call_count)