def get_firmware_update_progress(self):
        """Get the progress of the firmware update.

        :returns: firmware update state, one of the following values:
                  "Idle","Uploading","Verifying","Writing",
                  "Updating","Complete","Error".
                  If the update resource is not found, then "Unknown".
        :returns: firmware update progress percent
        """
        # perform refresh
        try:
            self.refresh()
        except sushy.exceptions.SushyError as e:
            msg = (('Progress of firmware update not known. '
                    'Error %(error)s') %
                   {'error': str(e)})
            LOG.debug(msg)
            return "Unknown", "Unknown"

        # NOTE: Percentage is returned None after firmware flash is completed.
        return (self.firmware_state, self.firmware_percentage)