Skip to content

Commit

Permalink
fix(operatorgroup): Add new CSV failure due to operatorgroup incorrect
Browse files Browse the repository at this point in the history
If no namespaces are matched selector in operator, CSV should have a failure
status to indicate OperatorGroup incorrect. Also, a warning message for
no-matched namespaces is added for visibility.

Signed-off-by: Vu Dinh <vdinh@redhat.com>
  • Loading branch information
dinhxuanvu committed May 9, 2019
1 parent fb76336 commit 693871f
Show file tree
Hide file tree
Showing 5 changed files with 2,996 additions and 1 deletion.
2 changes: 2 additions & 0 deletions pkg/api/apis/operators/v1alpha1/clusterserviceversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ var uncopiableReasons = map[ConditionReason]struct{}{
CSVReasonNoTargetNamespaces: {},
CSVReasonUnsupportedOperatorGroup: {},
CSVReasonNoOperatorGroup: {},
CSVReasonOperatorGroupIncorrect: {},
CSVReasonTooManyOperatorGroups: {},
CSVReasonInterOperatorGroupOwnerConflict: {},
CSVReasonCannotModifyStaticOperatorGroupProvidedAPIs: {},
Expand All @@ -44,6 +45,7 @@ var safeToAnnotateOperatorGroupReasons = map[ConditionReason]struct{}{
CSVReasonNoTargetNamespaces: {},
CSVReasonUnsupportedOperatorGroup: {},
CSVReasonNoOperatorGroup: {},
CSVReasonOperatorGroupIncorrect: {},
CSVReasonTooManyOperatorGroups: {},
CSVReasonInterOperatorGroupOwnerConflict: {},
CSVReasonCannotModifyStaticOperatorGroupProvidedAPIs: {},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,8 @@ const (
CSVReasonInvalidInstallModes ConditionReason = "InvalidInstallModes"
CSVReasonNoTargetNamespaces ConditionReason = "NoTargetNamespaces"
CSVReasonUnsupportedOperatorGroup ConditionReason = "UnsupportedOperatorGroup"
CSVReasonNoOperatorGroup ConditionReason = "NoOperatorGroup"
CSVReasonNoOperatorGroup ConditionReason = "OperatorGroupIncorrect"
CSVReasonOperatorGroupIncorrect ConditionReason = "NoOperatorGroup"
CSVReasonTooManyOperatorGroups ConditionReason = "TooManyOperatorGroups"
CSVReasonInterOperatorGroupOwnerConflict ConditionReason = "InterOperatorGroupOwnerConflict"
CSVReasonCannotModifyStaticOperatorGroupProvidedAPIs ConditionReason = "CannotModifyStaticOperatorGroupProvidedAPIs"
Expand Down
1 change: 1 addition & 0 deletions pkg/controller/operators/olm/operator.go
Original file line number Diff line number Diff line change
Expand Up @@ -719,6 +719,7 @@ func (a *Operator) operatorGroupForCSV(csv *v1alpha1.ClusterServiceVersion, logg
logger.WithError(err).Warn("error adding operatorgroup annotations")
return nil, err
}
csv.SetPhaseWithEventIfChanged(v1alpha1.CSVPhaseFailed, v1alpha1.CSVReasonOperatorGroupIncorrect, "operatorgroup incorrect", now, a.recorder)
return nil, nil
}
logger.Info("csv in operatorgroup")
Expand Down
2 changes: 2 additions & 0 deletions pkg/controller/operators/olm/operatorgroup.go
Original file line number Diff line number Diff line change
Expand Up @@ -715,6 +715,8 @@ func (a *Operator) getOperatorGroupTargets(op *v1.OperatorGroup) (map[string]str
matchedNamespaces, err := a.lister.CoreV1().NamespaceLister().List(selector)
if err != nil {
return nil, err
} else if len(matchedNamespaces) == 0 {
a.Log.Debugf("No namespaces are matched selector %#v\n", selector)
}

for _, ns := range matchedNamespaces {
Expand Down
Loading

0 comments on commit 693871f

Please sign in to comment.