Skip to content

Commit 6b7ebc8

Browse files
author
Per Goncalves da Silva
committed
Add OLM resource to relatedObjects
Signed-off-by: Per Goncalves da Silva <pegoncal@redhat.com>
1 parent 7120e60 commit 6b7ebc8

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

cmd/cluster-olm-operator/main.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import (
44
"context"
55
goflag "flag"
66
"fmt"
7+
configv1 "github.com/openshift/api/config/v1"
8+
operatorv1alpha1 "github.com/openshift/api/operator/v1alpha1"
79
"os"
810
"time"
911

@@ -149,6 +151,14 @@ func runOperator(ctx context.Context, cc *controllercmd.ControllerContext) error
149151
versionGetter := status.NewVersionGetter()
150152
versionGetter.SetVersion("operator", status.VersionForOperatorFromEnv())
151153

154+
// Add OLM resource and openshift-cluster-olm-operator namespace to relatedObjects
155+
// to ensure that must-gather picks them up.
156+
// Note: These two resources are also hard-coded in the ClusterOperator manifest. This way,
157+
// must-gather will pick them up in case of catastrophic failure before we cluster-olm-operator
158+
// gets a chance to dynamically update the relatedObjects. Thus, making the pod logs accessible
159+
// for troubleshooting in the must-gather.
160+
relatedObjects = append(relatedObjects, newOLMObjectReference(), newNamespaceObjectReference())
161+
152162
clusterOperatorController := status.NewClusterOperatorStatusController(
153163
"olm",
154164
relatedObjects,
@@ -189,3 +199,23 @@ func runOperator(ctx context.Context, cc *controllercmd.ControllerContext) error
189199
<-ctx.Done()
190200
return nil
191201
}
202+
203+
// newOLMObjectReference creates a configv1.ObjectReference for
204+
// the cluster scoped OLM resources
205+
func newOLMObjectReference() configv1.ObjectReference {
206+
return configv1.ObjectReference{
207+
Group: operatorv1alpha1.GroupName,
208+
Resource: "OLM",
209+
Name: "cluster",
210+
}
211+
}
212+
213+
// newNamespaceObjectReferences creates a configv1.ObjectReference for
214+
// the OCP namespaces where this operator is installed: openshift-cluster-olm-operator
215+
func newNamespaceObjectReference() configv1.ObjectReference {
216+
return configv1.ObjectReference{
217+
Group: "",
218+
Resource: "namespaces",
219+
Name: "openshift-cluster-olm-operator",
220+
}
221+
}

manifests/0000_51_olm_07_cluster_operator.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,10 @@ status:
1010
versions:
1111
- name: operator
1212
version: "0.0.1-snapshot"
13+
relatedObjects:
14+
- group: ""
15+
name: openshift-cluster-olm-operator
16+
resource: namespaces
17+
- group: operator.openshift.io
18+
name: cluster
19+
resource: OLM

0 commit comments

Comments
 (0)