github kubeflow/spark-operator v2.6.0

one hour ago

Breaking Changes

  • feat!: Add webhook namespace-selector for multi-tenant deployments (#3217 by @RobuRishabh)
    • spark.jobNamespaceSelector no longer accepts a string; it must be a label selector object. The webhook now uses the same namespace matcher as the controller.

Deprecations

  • feat(api): deprecate client deploy mode for SparkApplication (#3270 by @vikas-saxena02)
    • spec.mode: client still works but is deprecated; the webhook returns a warning and the controller logs one on submission.

Features

Bug Fixes

  • fix(controller): resolve {{SPARK_VERSION}} in images with the application's Spark version (#3292 by @vara-bonthu)
  • fix(kustomize): remove stale OPERATOR_VERSION from controller deployment (#3291 by @tariq-hasan)
  • fix(sparkconnect): use server.cores as server pod CPU request (#3252 by @vikas-saxena02)
  • fix(scheduledsparkapplication): don't panic on negative history limits (#3229 by @rautaditya2606)
  • fix(controller): mark missing executors completed when the driver succeeds (#3244 by @rishabhsai)
  • fix(controller): authorize events.k8s.io for SparkApplication events (#3227 by @RobuRishabh)
  • fix(scheduledsparkapplication): recover from FailedValidation state when spec is corrected (#3175 by @rautaditya2606)
  • fix: name the actual flag in TLS setup errors (#3204 by @pratik-naik003)
  • fix: default the retry interval when the webhook has not set it (#3209 by @pratik-naik003)
  • fix(sparkconnect): update GPU specs for per-argument container args (#3212 by @vikas-saxena02)
  • fix(controller): always clean up pod template files (#3178 by @Aakcht)
  • fix(sparkconnect): pass server options as individual container arguments (#3188 by @vikas-saxena02)
  • fix: stop adding SparkApplication owner reference to executor pods (#3152 by @KR-Ravindra)
  • fix(webhook): validate ConfigMap mount-path uniqueness (#3140 by @pujitha24)
  • fix(webhook): validate ConfigMap references in SparkApplication specs (#3117 by @rjgoyln)
  • fix(webhook): generate valid volume name for Prometheus ConfigMap (#3111 by @rjgoyln)
  • fix(sparkconnect): resolve images from selected template containers (#3103 by @immanuwell)
  • fix(webhook): generate valid volume names for ConfigMaps (#3099 by @immanuwell)
  • fix: preserve shell-sensitive Spark Connect configuration values (#3051 by @jayanth86)
  • fix: harden controller-runtime cache against OOMKill vulnerabilities (#3032 by @RobuRishabh)
  • fix: always set NextProtos regardless of enableHTTP2 flag (#2990 by @ugiordan)
  • fix(kustomize): Add webhook subPath and expand Helm/Kustomize drift checks (#2982 by @RobuRishabh)
  • Use driverIngressOptions annotations and TLS instead of sparkUIOptions (#2973 by @shruthis4)
  • fix: handle uppercase units in ConvertJavaMemoryStringToK8sMemoryString (#2937 by @tariq-hasan)

Refactor

Tests

Documentation

CI and Release

Dependencies

Misc

Full Changelog

Installation

helm install spark-operator oci://ghcr.io/kubeflow/helm-charts/spark-operator \
  --version 2.6.0 --namespace spark-operator --create-namespace

Images: ghcr.io/kubeflow/spark-operator/controller:2.6.0, ghcr.io/kubeflow/spark-operator/kubectl:2.6.0

Python API: pip install kubeflow-spark-api==2.6.0

Don't miss a new spark-operator release

NewReleases is sending notifications on new releases.