def _do_update_firmware_sum(self, task, **kwargs): """Update the firmware using Smart Update Manager (SUM). :param task: a TaskManager object. :raises: NodeCleaningFailure or InstanceDeployFailure, on failure to execute of clean or deploy step respectively. :returns: states.CLEANWAIT or states.DEPLOYWAIT to signify the step will be completed async for clean or deploy step respectively. """ node = task.node if node.provision_state == states.DEPLOYING: step = node.deploy_step step_type = 'deploy' else: step = node.clean_step step_type = 'clean' # The arguments are validated and sent to the ProliantHardwareManager # to perform SUM based firmware update clean step. firmware_processor.get_and_validate_firmware_image_info(kwargs, 'sum') url = kwargs['url'] if urlparse.urlparse(url).scheme == 'swift': url = firmware_processor.get_swift_url(urlparse.urlparse(url)) step['args']['url'] = url # Insert SPP ISO into virtual media CDROM ilo_common.attach_vmedia(node, 'CDROM', url) return agent_base.execute_step(task, step, step_type)
def update_firmware_sum(self, task, **kwargs): """Updates the firmware using Smart Update Manager (SUM). :param task: a TaskManager object. :raises: NodeCleaningFailure, on failure to execute step. """ node = task.node # The arguments are validated and sent to the ProliantHardwareManager # to perform SUM based firmware update clean step. firmware_processor.get_and_validate_firmware_image_info(kwargs, 'sum') url = kwargs['url'] if urlparse.urlparse(url).scheme == 'swift': url = firmware_processor.get_swift_url(urlparse.urlparse(url)) node.clean_step['args']['url'] = url step = node.clean_step return deploy_utils.agent_execute_clean_step(task, step)
def update_firmware_sum(self, task, **kwargs): """Updates the firmware using Smart Update Manager (SUM). :param task: a TaskManager object. :raises: NodeCleaningFailure, on failure to execute of clean step. """ node = task.node # The arguments are validated and sent to the ProliantHardwareManager # to perform SUM based firmware update clean step. firmware_processor.get_and_validate_firmware_image_info(kwargs, 'sum') url = kwargs['url'] if urlparse.urlparse(url).scheme == 'swift': url = firmware_processor.get_swift_url(urlparse.urlparse(url)) node.clean_step['args']['url'] = url # Insert SPP ISO into virtual media CDROM ilo_common.attach_vmedia(node, 'CDROM', url) step = node.clean_step return agent_base.execute_clean_step(task, step)