diff --git a/bundle/manifests/cluster-logging_scheduling.k8s.io_v1_priorityclass.yaml b/bundle/manifests/cluster-logging_scheduling.k8s.io_v1_priorityclass.yaml deleted file mode 100644 index d3f3a4eda5..0000000000 --- a/bundle/manifests/cluster-logging_scheduling.k8s.io_v1_priorityclass.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: scheduling.k8s.io/v1 -description: This priority class is for the Cluster-Logging Collector -globalDefault: false -kind: PriorityClass -metadata: - name: cluster-logging -preemptionPolicy: PreemptLowerPriority -value: 1000000 diff --git a/config/default/kustomization.yaml b/config/default/kustomization.yaml index 618b442ac6..1b769a093b 100644 --- a/config/default/kustomization.yaml +++ b/config/default/kustomization.yaml @@ -16,7 +16,7 @@ bases: - ../crd - ../rbac - ../manager -- ../scheduling +#- ../scheduling # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix including the one in # crd/kustomization.yaml #- ../webhook diff --git a/config/scheduling/cluster-logging_scheduling.k8s.io_v1_priorityclass.yaml b/config/scheduling/cluster-logging_scheduling.k8s.io_v1_priorityclass.yaml deleted file mode 100644 index d3f3a4eda5..0000000000 --- a/config/scheduling/cluster-logging_scheduling.k8s.io_v1_priorityclass.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: scheduling.k8s.io/v1 -description: This priority class is for the Cluster-Logging Collector -globalDefault: false -kind: PriorityClass -metadata: - name: cluster-logging -preemptionPolicy: PreemptLowerPriority -value: 1000000 diff --git a/config/scheduling/kustomization.yaml b/config/scheduling/kustomization.yaml deleted file mode 100644 index 2e0655dbdd..0000000000 --- a/config/scheduling/kustomization.yaml +++ /dev/null @@ -1,2 +0,0 @@ -resources: -- cluster-logging_scheduling.k8s.io_v1_priorityclass.yaml diff --git a/internal/collector/collector.go b/internal/collector/collector.go index 1039db722f..bc1492c540 100644 --- a/internal/collector/collector.go +++ b/internal/collector/collector.go @@ -18,7 +18,7 @@ import ( ) const ( - clusterLoggingPriorityClassName = "cluster-logging" + clusterLoggingPriorityClassName = "system-node-critical" exporterPort = int32(2112) exporterPortName = "logfile-metrics" metricsPort = int32(24231) diff --git a/internal/runtime/priorityclass.go b/internal/runtime/priorityclass.go new file mode 100644 index 0000000000..275eeb2500 --- /dev/null +++ b/internal/runtime/priorityclass.go @@ -0,0 +1,16 @@ +package runtime + +import ( + scheduling "k8s.io/api/scheduling/v1" +) + +//NewPriorityClass is a constructor to create a PriorityClass +func NewPriorityClass(name string, priorityValue int32, globalDefault bool, description string) *scheduling.PriorityClass { + pc := &scheduling.PriorityClass{ + Value: priorityValue, + GlobalDefault: globalDefault, + Description: description, + } + Initialize(pc, "", name) + return pc +} diff --git a/main.go b/main.go index f7cecf08c6..8a346d965b 100644 --- a/main.go +++ b/main.go @@ -1,10 +1,13 @@ package main import ( + "context" "flag" "fmt" + "k8s.io/apimachinery/pkg/api/errors" "os" "runtime" + "sigs.k8s.io/controller-runtime/pkg/client" loggingv1 "github.com/openshift/cluster-logging-operator/apis/logging/v1" ctrl "sigs.k8s.io/controller-runtime" @@ -31,6 +34,7 @@ import ( securityv1 "github.com/openshift/api/security/v1" "github.com/openshift/cluster-logging-operator/controllers/clusterlogging" "github.com/openshift/cluster-logging-operator/controllers/forwarding" + loggingruntime "github.com/openshift/cluster-logging-operator/internal/runtime" "github.com/openshift/cluster-logging-operator/internal/telemetry" elasticsearch "github.com/openshift/elasticsearch-operator/apis/logging/v1" ) @@ -103,6 +107,8 @@ func main() { os.Exit(1) } + migrateManifestResources(mgr.GetClient()) + log.Info("Registering Components.") if err = (&clusterlogging.ReconcileClusterLogging{ @@ -157,6 +163,13 @@ func main() { } +func migrateManifestResources(k8sClient client.Client) { + log.Info("migrating resources provided by the manifest") + if err := k8sClient.Delete(context.TODO(), loggingruntime.NewPriorityClass("cluster-logging", 0, false, "")); err != nil && !errors.IsNotFound(err) { + log.V(1).Error(err, "There was an error trying to remove the old collector PriorityClass named 'cluster-logging'") + } +} + // getWatchNamespace get the namespace name of the scoped operator // - https://sdk.operatorframework.io/docs/building-operators/golang/operator-scope/#configuring-namespace-scoped-operators func getWatchNamespace() (string, error) {