Release Notes: v1.0.0-ocp4.20¶
Overview¶
Initial release of the Jupyter Notebook Validator Operator for OpenShift 4.20. This release brings full compatibility with OpenShift 4.20 (Kubernetes 1.33) and includes upgraded Tekton Pipeline support for OpenShift Pipelines 1.20.
Supported Platforms¶
- OpenShift: 4.20.x (tested on 4.20.3)
- Kubernetes: 1.33.x
- OpenShift Pipelines: 1.20.x (Tekton Pipelines v0.68.0)
- Architectures: amd64, arm64
What's New¶
OpenShift 4.20 Compatibility¶
- Full support for OpenShift 4.20 with Kubernetes 1.33
- Validated with cert-manager on 4.20
- Upgraded Tekton Pipeline support to v0.68.0 for OpenShift Pipelines 1.20
Tekton Pipeline v0.68.0 Upgrade¶
- Updated Tekton Pipeline integration for compatibility with OpenShift Pipelines 1.20
- Improved build strategy performance and reliability
- Support for latest Tekton Pipeline API features
Volume and PVC Support (ADR-045) - NEW¶
This release introduces full Kubernetes volume support for validation pods, enabling MLOps training-to-serving workflows:
- PersistentVolumeClaim (PVC) Support: Mount PVCs to save trained models for model serving platforms
- ConfigMap Volumes: Mount configuration files as volumes
- Secret Volumes: Mount certificates and sensitive files securely
- EmptyDir Volumes: Temporary scratch space for intermediate files
Use Cases:
- Train models in notebooks and save to PVC for KServe (pvc:// storageUri)
- Share datasets across multiple validation jobs using ReadWriteMany PVCs
- Mount configuration files for parameterized notebook execution
- Air-gapped deployments without cloud storage dependencies
Example:
spec:
podConfig:
volumes:
- name: model-output
persistentVolumeClaim:
claimName: trained-models-pvc
- name: training-data
persistentVolumeClaim:
claimName: datasets-pvc
readOnly: true
volumeMounts:
- name: model-output
mountPath: /models
- name: training-data
mountPath: /data
readOnly: true
See ADR-045 for complete documentation.
Inherited Features from 4.19¶
- Jupyter notebook validation with Papermill
- Git repository integration (HTTPS and SSH)
- Configurable pod resources and environment variables
- Golden notebook comparison with tolerance settings
- Tekton build integration for dependency management
- S2I (Source-to-Image) build support
- KServe model inference validation
- Multi-platform model serving support (KServe, OpenShift AI, vLLM, TorchServe, TensorFlow Serving, Triton, Ray Serve, Seldon, BentoML)
- Credential injection with user-friendly syntax
- External Secrets Operator (ESO) integration
- Comprehensive error handling and status tracking
- Optional admission webhooks (can be disabled via ENABLE_WEBHOOKS=false)
Installation¶
Using Helm (Recommended)¶
helm repo add jupyter-notebook-validator https://tosin2013.github.io/jupyter-notebook-validator-operator
helm install jupyter-notebook-validator jupyter-notebook-validator/jupyter-notebook-validator-operator \
--namespace jupyter-notebook-validator-system \
--create-namespace
Using Kustomize¶
kubectl apply -k https://github.com/tosin2013/jupyter-notebook-validator-operator/config/default?ref=v1.0.0-ocp4.20
Using Container Image¶
Container Images¶
quay.io/takinosh/jupyter-notebook-validator-operator:v1.0.0-ocp4.20
Documentation¶
- Installation Guide
- Architecture Decision Records
- API Reference
- Credentials Guide
- Model Discovery Guide
Breaking Changes¶
None. This release adds new optional fields but is fully backward compatible with v1.0.x-ocp4.19.
New API Fields¶
The following new optional fields were added to PodConfigSpec (ADR-045):
- volumes: Define volumes to mount in the validation pod
- volumeMounts: Define where to mount volumes in the container
These fields are optional and existing NotebookValidationJob resources will continue to work without modification.
Known Issues¶
None at this time.
Upgrade Path¶
If upgrading from v1.0.x-ocp4.19:
1. Ensure your cluster is running OpenShift 4.20
2. Update the operator image to v1.0.0-ocp4.20
3. Apply updated CRDs: kubectl apply -f config/crd/bases/ (new volume fields added)
4. Existing NotebookValidationJobs will continue to work
If upgrading from v1.0.x-ocp4.18:
1. Ensure your cluster is running OpenShift 4.20
2. Update the operator image to v1.0.0-ocp4.20
3. Apply updated CRDs: kubectl apply -f config/crd/bases/ (new volume fields added)
4. Existing NotebookValidationJobs will continue to work
Platform Requirements¶
| Component | Minimum Version | Tested Version |
|---|---|---|
| OpenShift | 4.20.0 | 4.20.3 |
| Kubernetes | 1.33.0 | 1.33.5 |
| OpenShift Pipelines | 1.20.0 | 1.20.1 |
| Tekton Pipelines | v0.68.0 | v0.68.0 |
Contributors¶
Thanks to all contributors who helped validate and test this release on OpenShift 4.20.