func reportStatus()

in vmextension/vmextension.go [273:290]


func reportStatus(ve *VMExtension, t status.StatusType, c cmd, msg string) error {
	if !c.shouldReportStatus {
		ve.ExtensionLogger.Info("status not reported for operation (by design)")
		return nil
	}

	requestedSequenceNumber, err := ve.GetRequestedSequenceNumber()
	if err != nil {
		return err
	}

	s := status.New(t, c.operation.ToStatusName(), ve.statusFormatter(c.operation.ToStatusName(), t, msg))
	if err := s.Save(ve.HandlerEnv.StatusFolder, requestedSequenceNumber); err != nil {
		ve.ExtensionLogger.Error("Failed to save handler status: %v", err)
		return errors.Wrap(err, "failed to save handler status")
	}
	return nil
}