in controllers/stage/chain/delete_environment_label_from_codebase_image_streams.go [89:118]
func (h DeleteEnvironmentLabelFromCodebaseImageStreams) setEnvLabelForVerifiedImageStream(ctx context.Context, stage *cdPipeApi.Stage, stream *codebaseApi.CodebaseImageStream, pipeName, dockerStreamName string) error {
log := ctrl.LoggerFrom(ctx)
previousStageName, err := util.FindPreviousStageName(ctx, h.client, stage)
if err != nil {
return fmt.Errorf("failed to previous stage name: %w", err)
}
cisName := createCisName(pipeName, previousStageName, stream.Spec.Codebase)
stream, err = cluster.GetCodebaseImageStream(h.client, cisName, stage.Namespace)
if err != nil {
if k8sErrors.IsNotFound(err) {
return edpErr.CISNotFoundError(fmt.Sprintf("codebase image stream %s is not found", cisName))
}
return fmt.Errorf("failed to get codebase image stream %s: %w", stream.Name, err)
}
env := createLabelName(pipeName, stage.Spec.Name)
deleteLabel(&stream.ObjectMeta, env)
if err = h.client.Update(ctx, stream); err != nil {
return fmt.Errorf("failed to update %v codebase image stream: %w", stream, err)
}
log.Info("Label has been deleted from CodebaseImageStream", "label", env, "dockerStream", dockerStreamName, "codebaseImageStream", stream.Name)
return nil
}