Skip to content

Commit 6bf64d0

Browse files
Merge pull request #863 from tkashem/csv-monitoring
Package API server monitoring
2 parents 012dca7 + 9c82147 commit 6bf64d0

28 files changed

+1477
-3
lines changed

cmd/olm/main.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ import (
2525
)
2626

2727
const (
28-
defaultWakeupInterval = 5 * time.Minute
29-
defaultOperatorName = ""
28+
defaultWakeupInterval = 5 * time.Minute
29+
defaultOperatorName = ""
30+
defaultPackageServerStatusName = ""
3031
)
3132

3233
// config flags defined globally so that they appear on the test binary as well
@@ -45,6 +46,9 @@ var (
4546
writeStatusName = flag.String(
4647
"writeStatusName", defaultOperatorName, "ClusterOperator name in which to write status, set to \"\" to disable.")
4748

49+
writePackageServerStatusName = flag.String(
50+
"writePackageServerStatusName", defaultPackageServerStatusName, "ClusterOperator name in which to write status for package API server, set to \"\" to disable.")
51+
4852
debug = flag.Bool(
4953
"debug", false, "use debug log level")
5054

@@ -170,5 +174,18 @@ func main() {
170174
operatorstatus.MonitorClusterStatus(*writeStatusName, op.AtLevel(), ctx.Done(), opClient, configClient)
171175
}
172176

177+
if *writePackageServerStatusName != "" {
178+
logger.Info("Initializing cluster operator monitor for package server")
179+
180+
names := *writePackageServerStatusName
181+
discovery := opClient.KubernetesInterface().Discovery()
182+
monitor, sender := operatorstatus.NewMonitor(names, logger, discovery, configClient)
183+
184+
handler := operatorstatus.NewCSVWatchNotificationHandler(logger, op.GetCSVSetGenerator(), op.GetReplaceFinder(), sender)
185+
op.RegisterCSVWatchNotification(handler)
186+
187+
go monitor.Run(op.Done())
188+
}
189+
173190
<-op.Done()
174191
}

deploy/chart/templates/0000_50_olm_07-olm-operator.deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ spec:
4040
- -writeStatusName
4141
- {{ .Values.writeStatusName }}
4242
{{- end }}
43+
{{- if .Values.writePackageServerStatusName }}
44+
- -writePackageServerStatusName
45+
- {{ .Values.writePackageServerStatusName }}
46+
{{- end }}
4347
{{- if .Values.olm.tlsCertPath }}
4448
- -tls-cert
4549
- {{ .Values.olm.tlsCertPath }}

deploy/chart/templates/0000_50_olm_15-operatorstatus.yaml renamed to deploy/chart/templates/0000_50_olm_99-operatorstatus.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,15 @@ status:
1616
versions:
1717
- name: operator
1818
version: "0.0.1-snapshot"
19+
{{- if .Values.writePackageServerStatusName }}
20+
---
21+
apiVersion: config.openshift.io/v1
22+
kind: ClusterOperator
23+
metadata:
24+
name: {{ .Values.writePackageServerStatusName }}
25+
status:
26+
versions:
27+
- name: operator
28+
version: "0.0.1-snapshot"
29+
{{- end }}
1930
{{- end }}

deploy/chart/templates/_packageserver.clusterserviceversion.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ kind: ClusterServiceVersion
44
metadata:
55
name: packageserver.v{{ .Chart.Version }}
66
namespace: {{ .Values.namespace }}
7+
labels:
8+
{{- if .Values.writePackageServerStatusName }}
9+
olm.clusteroperator.name: {{ .Values.writePackageServerStatusName }}
10+
{{- end }}
711
spec:
812
displayName: Package Server
913
description: Represents an Operator package that is available from a given CatalogSource which will resolve to a ClusterServiceVersion.

deploy/ocp/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ operator_namespace: openshift-operators
66
imagestream: true
77
writeStatusName: operator-lifecycle-manager
88
writeStatusNameCatalog: operator-lifecycle-manager-catalog
9+
writePackageServerStatusName: operator-lifecycle-manager-packageserver
910
olm:
1011
replicaCount: 1
1112
image:

deploy/upstream/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ catalog_namespace: olm
55
operator_namespace: operators
66
imagestream: false
77
writeStatusName: '""'
8+
writePackageServerStatusName: ""
89
olm:
910
replicaCount: 1
1011
image:

0 commit comments

Comments
 (0)