// done marks the stream as being processed due to an error or failure condition. func (c *ImportController) done(stream *api.ImageStream, reason string) error { if len(reason) == 0 { reason = unversioned.Now().UTC().Format(time.RFC3339) } else if len(reason) > 300 { // cut down the reason up to 300 characters max. reason = reason[:300] } if stream.Annotations == nil { stream.Annotations = make(map[string]string) } stream.Annotations[api.DockerImageRepositoryCheckAnnotation] = reason if _, err := c.streams.ImageStreams(stream.Namespace).Update(stream); err != nil { return err } return nil }
// done marks the stream as being processed due to an error or failure condition func (c *ImportController) done(stream *api.ImageStream, reason string, retry int) error { if len(reason) == 0 { reason = util.Now().UTC().Format(time.RFC3339) } if stream.Annotations == nil { stream.Annotations = make(map[string]string) } stream.Annotations[api.DockerImageRepositoryCheckAnnotation] = reason if _, err := c.streams.ImageStreams(stream.Namespace).Update(stream); err != nil && !errors.IsNotFound(err) { if errors.IsConflict(err) && retry > 0 { if stream, err := c.streams.ImageStreams(stream.Namespace).Get(stream.Name); err == nil { return c.done(stream, reason, retry-1) } } return err } return nil }