Steps to reproduce:
- ocp 4.18
- image: quay.io/redhat-user-workloads/cluster-observabilit-tenant/cluster-observability-operator/coo-fbc-v4-18@sha256:1cefdaed5b65794649a7f908e5067c4924a1be3b7b206f802fc679824990c408
0. oc login
- Prepare namespace:
oc apply -f - <<EOF apiVersion: v1 kind: Namespace metadata: labels: openshift.io/cluster-monitoring: "true" name: openshift-cluster-observability-operator EOF --- oc apply -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: namespace: openshift-cluster-observability-operator name: og-global labels: og_label: openshift-cluster-observability-operator spec: upgradeStrategy: Default EOF
2. FBC var
fbc_image=quay.io/redhat-user-workloads/cluster-observabilit-tenant/cluster-observability-operator/coo-fbc-v4-18@sha256:1cefdaed5b65794649a7f908e5067c4924a1be3b7b206f802fc679824990c408
3. Create CatalogSource pointing to this fbc_image
oc apply -f - <<EOF
---
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
annotations:
name: observability-operator
namespace: openshift-marketplace
spec:
displayName: coo-fbc
icon:
base64data: ""
mediatype: ""
image: ${fbc_image}
sourceType: grpc
grpcPodConfig:
securityContextConfig: restricted
updateStrategy:
registryPoll:
interval: 1m0s
EOF
4. Create Image Digest Mirror Set
oc apply -f - <<EOF apiVersion: config.openshift.io/v1 kind: ImageDigestMirrorSet metadata: name: idms-coo spec: imageDigestMirrors: - mirrors: - quay.io/redhat-user-workloads/cluster-observabilit-tenant/cluster-observability-operator source: registry.redhat.io/cluster-observability-operator EOF
5. Subscribe COO:
oc apply -f - <<EOF --- apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: labels: operators.coreos.com/observability-operator.openshift-operators: "" name: cluster-observability-operator namespace: openshift-cluster-observability-operator spec: channel: stable installPlanApproval: Automatic name: cluster-observability-operator source: observability-operator sourceNamespace: openshift-marketplace EOF
- Go back to Operators > Installed Operators
- Select Observability Operator
- On the header, scroll horizontally and click on PersesDashboards
- Create in all namespaces using this template https://github.com/perses/perses-operator/blob/main/config/samples/perses.dev_v1alpha1_persesdashboard.yaml
- Rename “namespace=perses-dev” to openshift-cluster-observability-operator
- Save it
- On the header, scroll horizontally and click on PersesDatasources
- Create in all namespaces using this template https://github.com/perses/perses-operator/blob/main/config/samples/perses.dev_v1alpha1_persesdatasource.yaml
- Rename “namespace=perses-dev” to openshift-cluster-observability-operator
- Save it
- On the header, scroll horizontally and click on UIPlugin
- Click on Create UIPlugin button
- Fill / Select:
- Name: monitoring
- Type: Monitoring
- Expand monitoring section
- Expand incidents
- Enabled = true
- Expand perses section
- Enabled = true
- Click on Create button
- Go to Workloads > Pods
- Verify monitoring pod
- Verify perses pod
time="2025-03-14T15:38:48Z" level=info msg="Creating a new Service: Service.Namespace openshift-cluster-observability-operator Service.Name perses" module=service_controllertime="2025-03-14T15:38:48Z" level=error msg="Failed to create new Service: Service.Namespace openshift-cluster-observability-operator Service.Name perses" error="Service \"perses\" is invalid: [metadata.labels: Invalid value: \"a1fcbd459a52ac54b731edc4ed54b3daa28fb6c94563ca0e41bc01891db159cb\": must be no more than 63 characters, spec.selector: Invalid value: \"a1fcbd459a52ac54b731edc4ed54b3daa28fb6c94563ca0e41bc01891db159cb\": must be no more than 63 characters]" module=service_controller2025-03-14T15:38:48Z INFO Warning: Reconciler returned both a non-zero result and a non-nil error. The result will always be ignored if the error is non-nil and the non-nil error causes requeuing with exponential backoff. For more details, see: https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/reconcile#Reconciler {"controller": "perses", "controllerGroup": "perses.dev", "controllerKind": "Perses", "Perses": {"name":"perses","namespace":"openshift-cluster-observability-operator"}, "namespace": "openshift-cluster-observability-operator", "name": "perses", "reconcileID": "76d4a4d6-a61c-42fc-8837-99339f218e4f"}2025-03-14T15:38:48Z ERROR Reconciler error {"controller": "perses", "controllerGroup": "perses.dev", "controllerKind": "Perses", "Perses": {"name":"perses","namespace":"openshift-cluster-observability-operator"}, "namespace": "openshift-cluster-observability-operator", "name": "perses", "reconcileID": "76d4a4d6-a61c-42fc-8837-99339f218e4f", "error": "Service \"perses\" is invalid: [metadata.labels: Invalid value: \"a1fcbd459a52ac54b731edc4ed54b3daa28fb6c94563ca0e41bc01891db159cb\": must be no more than 63 characters, spec.selector: Invalid value: \"a1fcbd459a52ac54b731edc4ed54b3daa28fb6c94563ca0e41bc01891db159cb\": must be no more than 63 characters]"}sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler /cachi2/output/deps/gomod/pkg/mod/sigs.k8s.io/controller-runtime@v0.20.2/pkg/internal/controller/controller.go:341sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem /cachi2/output/deps/gomod/pkg/mod/sigs.k8s.io/controller-runtime@v0.20.2/pkg/internal/controller/controller.go:288sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2 /cachi2/output/deps/gomod/pkg/mod/sigs.k8s.io/controller-runtime@v0.20.2/pkg/internal/controller/controller.go:249
Trying to access Observe > Dashboards (Perses):
projects request:
Request URL: https://console-openshift-console.apps.emurasak-418.qe.devcluster.openshift.com/api/proxy/plugin/monitoring-console-plugin/perses/api/v1/projects Request Method: GET Status Code: 502 Bad Gateway
dashboards request:
https://console-openshift-console.apps.emurasak-418.qe.devcluster.openshift.com/api/proxy/plugin/monitoring-console-plugin/perses/api/v1/dashboards Request Method: GET Status Code: 502 Bad Gateway