Releases: kubevirt/containerized-data-importer
v1.60.1
This release follows v1.59.0 and consists of 120 changes, contributed by
28 people, leading to 3579 files changed, 609903 insertions(+), 176669 deletions(-).
The source code and selected binaries are available for download at:
https://github.com/kubevirt/containerized-data-importer/releases/tag/v1.60.1.
Pre-built CDI containers are published on Quay.io and can be viewed at:
https://quay.io/repository/kubevirt/cdi-controller/
https://quay.io/repository/kubevirt/cdi-importer/
https://quay.io/repository/kubevirt/cdi-cloner/
https://quay.io/repository/kubevirt/cdi-uploadproxy/
https://quay.io/repository/kubevirt/cdi-apiserver/
https://quay.io/repository/kubevirt/cdi-uploadserver/
https://quay.io/repository/kubevirt/cdi-operator/
Notable changes
Enhancement: Suppress alerts to reduce noise of dependent ones
Enhancement: Remove API dependency on openshift/api
Enhancement: Reject volumes with storage smaller than 1MiB
Enhancement: Mesh annotations now copied from the DV/PVCs to worker pods
Enhancement: Add a DataVolume Running condition, with Reason field of "ImagePullFailed"
Enhancement: Introduce a controller to handle forklift's volume populators (ovirt, openstack)
Enhancement: Provide RPM support for s390x platform
Enhancement: Onboard Infinibox CSI driver
Enhancement: Make upload client/server certs configurable and rotate uploadserver pods
Enhancement: Improve error reporting in upload-proxy
Enhancement: Set LVM based provisioners clone strategy to host assisted by default
Enhancement: Add storagecapabilities to vSphere provisioner
Enhancement: Delete and recreate pending DataImportCron PVCs on default storage class update
Enhancement: Expose the upload-proxy's certificate in the CDI config status
Enhancement: Added KubeSAN CSI plugin storage capabilities so the CDI StorageProfile is automatically populated
Enhancement: Remove datavolume clone source validation from webhook
Enhancement: VDDK datasource: Increase number of nbdkit lines logged
Enhancement: Inject cdi-uploadproxy CA cert into user created routes
Enhancement: Adding storagecapabilities to the longhorn provisioner
Enhancement: Default instance type labels are now added from registry imported PVCs/cloned VolumeSnapshots to DataVolumes
Enhancement: add s390x support for builder image
Enhancement: Properly handle DataVolume preallocation setting for all host assisted (copy) clones
Enhancement: Copy labels from the source of a DataSource (DV/PVC/VolumeSnapshot)
BugFix: Fix resources configuration missing from the configuration of the cdi-containerimage-server initcontainer
BugFix: Clone from snapshot - fix volume/access mode inferring for temp host assisted source PVC
BugFix: Support IPv6 for controller metrics URL
BugFix: Stop handling error phase as "unknown" in clone-populator
BugFix: Improve metrics reporting behavior for upstream rook-ceph deployments, identifying RGW bucket provisioners
BugFix: Use scratch space (and thus qemu-img convert flow) when importing non-archived images to avoid losing sparseness of images
BugFix: Set default clone strategy for trident ONTAP to "snapshot"
BugFix: CDIStorageProfilesIncomplete should not impact operator health
BugFix: Fix VDDK failure with "No new block status data at offset" messages
BugFix: On deletion of the last import DV of DataImportCron with Snapshot source format, re-create an import DV
BugFix: Fix progress metric registration and parsing
BugFix: Use direct io (cache=none) with qemu-img convert if target supports it in case of OOMKilled
BugFix: Properly transfer instancetype labels during containerdisk imports
BugFix: Suppress CDIDefaultStorageClassDegraded alert on SNO
BugFix: Fix wrong storagecapabilities for DELL provisioners
BugFix: Fix progress reporting for http imports
BugFix: Fix race condition when updating warm import checkpoints
BugFix: GKE fix: cdi-apiserver: unencode authorization extra headers
BugFix: Allow dataimportcron snap->pvc automatic source switch
Cleanup: Enable misspell linter and fix spelling errors in comments and strings
Cleanup: Enable unconvert linter and remove all redundant type conversions
Cleanup: Add linters for error handling and fix detected issues
Cleanup: Enable durationcheck linter and fix detected issues
Cleanup: Enable nakedret linter and populate all naked returns
Cleanup: Enable autoformatting linters and format the project
Cleanup: Enable linter dupword to avoid stuttering comments and strings
Cleanup: Parameterize hard coded environment variables in bazel-build-builder.sh
Cleanup: Golang 1.22.3 builder is now used
Cleanup: Align progress metrics names with kubevirt and Prometheus metrics naming conventions
Cleanup: k8s 1.30 libs and controller-runtime 0.18.4
Cleanup: Bump CI to test 1.30/1.29
Cleanup: generate-apidocs: remove gradle dependency
Contributors
28 people contributed to this release:
27 Edu Gómez Escandell <[email protected]>
24 Alex Kalenyuk <[email protected]>
10 Michael Henriksen <[email protected]>
8 Arnon Gilboa <[email protected]>
7 alromeros <[email protected]>
6 kubevirt-bot <[email protected]>
4 Ido Aharon <[email protected]>
3 Benny Zlotnik <[email protected]>
3 Felix Matouschek <[email protected]>
3 Thomas-David Griedel <[email protected]>
3 cfillekes <[email protected]>
3 rwmjones <[email protected]>
2 Alexander Wels <[email protected]>
2 Assaf Admi <[email protected]>
2 Shelly Kagan <[email protected]>
1 Ben Coxford <[email protected]>
1 Edu Gómez Escandell <[email protected]>
1 Ian Bishop <[email protected]>
1 James Harmison <[email protected]>
1 Lion <[email protected]>
1 Mark D <[email protected]>
1 Matthew Arnold <[email protected]>
1 Nahshon Unna Tsameret <[email protected]>
1 Stefan Hajnoczi <[email protected]>
1 Vasiliy Ulyanov <[email protected]>
1 cccsss01 <[email protected]>
1 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 halfcrazy <[email protected]>
Additional Resources
v1.59.0
This release follows v1.58.3 and consists of 90 changes, contributed by
25 people, leading to 2425 files changed, 184387 insertions(+), 101396 deletions(-).
The source code and selected binaries are available for download at:
https://github.com/kubevirt/containerized-data-importer/releases/tag/v1.59.0.
Pre-built CDI containers are published on Quay.io and can be viewed at:
https://quay.io/repository/kubevirt/cdi-controller/
https://quay.io/repository/kubevirt/cdi-importer/
https://quay.io/repository/kubevirt/cdi-cloner/
https://quay.io/repository/kubevirt/cdi-uploadproxy/
https://quay.io/repository/kubevirt/cdi-apiserver/
https://quay.io/repository/kubevirt/cdi-uploadserver/
https://quay.io/repository/kubevirt/cdi-operator/
Notable changes
Enhancement: Run a subset of functional tests in parallel
Enhancement: Added ability to specify replicas for infra structure pods
Enhancement: Add Prometheus alerts CDINoDefaultStorageClass and CDIDefaultStorageClassDegraded; add informative labels to existing alerts
Enhancement: cdi.kubevirt.io/garbageCollected added to PVCs when DataVolumes are garbage collected
Enhancement: DataVolume supports PVC adoption via DataVolumeClaimAdoption feature gate and cdi.kubevirt.io/allowClaimAdoption annotation on PVC
Enhancement: k8s 1.28 dependencies bump
Enhancement: Added option customizeComponents
Enhancement: ReadWriteOncePod is now allowed to use with CDI DataVolumes
Enhancement: Add PVC spec mutating webhook rendering based on StorageProfiles
Enhancement: Check for cdi.kubevirt.io/allowClaimAdoption on DataVolume rather than PVC
Enhancement: Get all no-provisioner storage capabilities from PVs
Enhancement: Make importer datasource communication explicit
Enhancement: Registry imports can now set PVC labels derived from env vars on containerdisks
Enhancement: add forklift populators apps to cdi-importer image
BugFix: Fix Trident provisioner key for using csi-clone
BugFix: Cephfs to Block cloning is creating empty block device
BugFix: Add Trident RWO Filesystem capability
BugFix: Fix DataImportCron PVC timestamping for garbage collection
BugFix: Fix DataImportCron import DataVolume creation when last import is not found
BugFix: StorageProfile ClaimPropertySets validation
BugFix: Change CDI webhook failure policy to Ignore
BugFix: Allow Deployed CDI to get out of Error Phase
BugFix: Added the k8s.io/minikube-hostpath storage provider to the list of known storage providers
BugFix: Watch DataImportCron-orphan cronjobs and cleanup them
BugFix: Avoid race condition during importer termination
BugFix: ns admin cannot create multiple user-facing CDI resources
BugFix: Avoid XSS vulnerability in Upload proxy
BugFix: cdi.kubevirt.io/allowClaimAdoption annotation broken
BugFix: Add HPE RWX/Block capability
Cleanup: When building CDI builder, use of podman fails to report image digest
Cleanup: Refactor monitoring code
Cleanup: Remove deprecated insecure registries config map from a CDI install
Cleanup: Refactor recording-rules and alerts code
Cleanup: Replace cron expression golang library
Cleanup: Improve handling of unpopulated capacity field in clone populator
Cleanup: Switch to using maintained non-archived go-jose
Contributors
25 people contributed to this release:
22 Alex Kalenyuk <[email protected]>
15 Arnon Gilboa <[email protected]>
9 alromeros <[email protected]>
7 Michael Henriksen <[email protected]>
7 kubevirt-bot <[email protected]>
4 akalenyu <[email protected]>
3 Felix Matouschek <[email protected]>
2 Aviv Litman <[email protected]>
2 Benny Zlotnik <[email protected]>
2 Denis Ollier <[email protected]>
2 Shelly Kagan <[email protected]>
2 cfillekes <[email protected]>
1 Alexander Wels <[email protected]>
1 Ben Coxford <[email protected]>
1 Felix Matouschek <[email protected]>
1 Ivan Mikheykin <[email protected]>
1 Karel Simon <[email protected]>
1 Longchuanzheng <[email protected]>
1 Pris Nasrat <[email protected]>
1 Shirly Radco <[email protected]>
1 Stefan Hajnoczi <[email protected]>
1 Yaroslav Borbat <[email protected]>
1 caohuilong <[email protected]>
1 dalia-frank <[email protected]>
1 kgoldbla <[email protected]>
Additional Resources
v1.58.3
This release follows v1.58.2 and consists of 2 changes, contributed by
2 people, leading to 9 files changed, 135 insertions(+), 11 deletions(-).
The source code and selected binaries are available for download at:
https://github.com/kubevirt/containerized-data-importer/releases/tag/v1.58.3.
Pre-built CDI containers are published on Quay.io and can be viewed at:
https://quay.io/repository/kubevirt/cdi-controller/
https://quay.io/repository/kubevirt/cdi-importer/
https://quay.io/repository/kubevirt/cdi-cloner/
https://quay.io/repository/kubevirt/cdi-uploadproxy/
https://quay.io/repository/kubevirt/cdi-apiserver/
https://quay.io/repository/kubevirt/cdi-uploadserver/
https://quay.io/repository/kubevirt/cdi-operator/
Notable changes
BugFix: CNV-39618 - cdi.kubevirt.io/allowClaimAdoption annotation broken
Contributors
2 people contributed to this release:
1 Alex Kalenyuk <[email protected]>
1 Michael Henriksen <[email protected]>
Additional Resources
v1.58.2
This release follows v1.58.1 and consists of 9 changes, contributed by
4 people, leading to 48 files changed, 1169 insertions(+), 155 deletions(-).
The source code and selected binaries are available for download at:
https://github.com/kubevirt/containerized-data-importer/releases/tag/v1.58.2.
Pre-built CDI containers are published on Quay.io and can be viewed at:
https://quay.io/repository/kubevirt/cdi-controller/
https://quay.io/repository/kubevirt/cdi-importer/
https://quay.io/repository/kubevirt/cdi-cloner/
https://quay.io/repository/kubevirt/cdi-uploadproxy/
https://quay.io/repository/kubevirt/cdi-apiserver/
https://quay.io/repository/kubevirt/cdi-uploadserver/
https://quay.io/repository/kubevirt/cdi-operator/
Notable changes
Cleanup: Adapt test suite for Filesystem only advanced storage
BugFix: StorageProfile ClaimPropertySets validation
BugFix: Fix DataImportCron import DataVolume creation when last import is not found
BugFix: Watch DataImportCron-orphan cronjobs and cleanup them
Enhancement: cdi.kubevirt.io/garbageCollected added to PVCs when DataVolumes are garbage collected
Enhancement: DataVolume supports PVC adoption via DataVolumeClaimAdoption feature gate and cdi.kubevirt.io/allowClaimAdoption annotation on PVC
BugFix: Change CDI webhook failure policy to Ignore
BugFix: Allow Deployed CDI to get out of Error Phase
Contributors
4 people contributed to this release:
3 Arnon Gilboa <[email protected]>
3 kubevirt-bot <[email protected]>
2 Michael Henriksen <[email protected]>
1 Alex Kalenyuk <[email protected]>
Additional Resources
v1.58.1
This release follows v1.58.0 and consists of 12 changes, contributed by
3 people, leading to 35 files changed, 1656 insertions(+), 209 deletions(-).
The source code and selected binaries are available for download at:
https://github.com/kubevirt/containerized-data-importer/releases/tag/v1.58.1.
Pre-built CDI containers are published on Quay.io and can be viewed at:
https://quay.io/repository/kubevirt/cdi-controller/
https://quay.io/repository/kubevirt/cdi-importer/
https://quay.io/repository/kubevirt/cdi-cloner/
https://quay.io/repository/kubevirt/cdi-uploadproxy/
https://quay.io/repository/kubevirt/cdi-apiserver/
https://quay.io/repository/kubevirt/cdi-uploadserver/
https://quay.io/repository/kubevirt/cdi-operator/
Notable changes
BugFix: Fix populators not repopulating pvc after it was deleted (#3071)
BugFix: Fix DataImportCron PVC GC race and test flakiness (#3063)
BugFix: Add Trident RWO Filesystem capability (#3051)
BugFix: Extract regular files as well during clone from filesystem (#3046)
Enhancement: Add new Prometheus alerts and label existing alerts (#3040)
BugFix: Grant ns admin missing create RBAC for various CDI resources (#3031)
BugFix: Update CDIMultipleDefaultVirtStorageClasses alert health impact labels to "none" (#3025)
Enhancement: add .snyk file (#3016)
BugFix: Add version field to the OpenAPI definition (#3014)
BugFix: Fix Trident provisioner key for using csi-clone (#3008)
Cleanup: Work around common snapshot controller issue in tests (#2996)
Contributors
3 people contributed to this release:
9 kubevirt-bot <[email protected]>
2 Arnon Gilboa <[email protected]>
1 Alex Kalenyuk <[email protected]>
Additional Resources
v1.58.0
This release follows v1.57.0 and consists of 90 changes, contributed by
16 people, leading to 2042 files changed, 133728 insertions(+), 65474 deletions(-).
The source code and selected binaries are available for download at:
https://github.com/kubevirt/containerized-data-importer/releases/tag/v1.58.0.
Pre-built CDI containers are published on Quay.io and can be viewed at:
https://quay.io/repository/kubevirt/cdi-controller/
https://quay.io/repository/kubevirt/cdi-importer/
https://quay.io/repository/kubevirt/cdi-cloner/
https://quay.io/repository/kubevirt/cdi-uploadproxy/
https://quay.io/repository/kubevirt/cdi-apiserver/
https://quay.io/repository/kubevirt/cdi-uploadserver/
https://quay.io/repository/kubevirt/cdi-operator/
Notable changes
Enhancement: Default virtualization storage class that takes precedence over k8s default storage class (#2913)
Enhancement: Increase deployment cpu requests to 100m. Configure controllers to handle concurrent requests (#2862)
Enhancement: Allow modifying log verbosity in CDI (#2882)
Enhancement: Allow StorageProfile to use a specific VolumeSnapshotClass (#2898)
Enhancement: Check content-type to warn against unexpected imports (#2909)
BugFix: Avoid crash of cdi-operator when CDI CR is deleted (#2856)
BugFix: panic in /go/pkg/mod/k8s.io/[email protected]/discovery/aggregated_discovery.go:88 (#2855)
BugFix: Remove DataVolume reconcile error when storage class is not found yet (#2860)
BugFix: Fix not passing priority class to populator pod (#2864)
BugFix: Bump github.com/containers/image/v5 for resuming layer pulls after "unexpected EOF" and "connection reset by peer" errors (#2874)
BugFix: Avoid creating snapshot of old storage class DataImportCron PVCs (#2837)
BugFix: Global permissions [*] seen across CDI components (#2866)
BugFix: Trident ontap-san supports RWX not just RWO (#2868)
BugFix: Delete old version DV's with DIC garbage collector (#2749)
BugFix: Add preferred ReadWriteMany, Filesystem capability to the pxd.portworx.com provisioner (#2789)
BugFix: nil ptr in snapshot clone controller (#2900)
BugFix: Allow the usage of AnnPodRetainAfterCompletion with populators (#2873)
BugFix: wffc override not respected for blank block disks (#2917)
BugFix: Avoid DataVolumeError status during VM provisioning when scratch space is required (#2945)
BugFix: Improve DataVolume status reporting with populators (#2928)
BugFix: Some provisioners don't allow mounting block PVC to (#2944)
BugFix: Advise Trident provisioner to use csi-clone (#2955)
BugFix: If a CRD wasn't available during controller startup, our client would keep failing to get the objects,
mistakenly returning NoMatchError even if the CRD was installed since (#2896)
Cleanup: "clone_progress" metric has been removed from the project documentation. exclude this metric from the documentation as it is intended for internal use only. (#2929)
Cleanup: Updated to bazel 5.4.0 and golang 1.20.10 (#2934)
Cleanup: Build with golang 1.20.10 (#2942)
Contributors
16 people contributed to this release:
21 akalenyu <[email protected]>
17 kubevirt-bot <[email protected]>
11 Alexander Wels <[email protected]>
8 alromeros <[email protected]>
7 Arnon Gilboa <[email protected]>
7 Michael Henriksen <[email protected]>
3 Aviv Litman <[email protected]>
3 Ido Aharon <[email protected]>
3 Maya Rashish <[email protected]>
3 Shelly Kagan <[email protected]>
2 Lee Yarwood <[email protected]>
1 Alex Kalenyuk <[email protected]>
1 Andrej Krejcir <[email protected]>
1 Assaf Admi <[email protected]>
1 Nahshon Unna Tsameret <[email protected]>
1 guangwu <[email protected]>
Additional Resources
v1.58.0-rc1
v1.58.0-rc1
v1.57.0
This release follows v1.56.1 and consists of 92 changes, contributed by
21 people, leading to 3512 files changed, 392208 insertions(+), 83157 deletions(-).
The source code and selected binaries are available for download at:
https://github.com/kubevirt/containerized-data-importer/releases/tag/v1.57.0.
Pre-built CDI containers are published on Quay.io and can be viewed at:
https://quay.io/repository/kubevirt/cdi-controller/
https://quay.io/repository/kubevirt/cdi-importer/
https://quay.io/repository/kubevirt/cdi-cloner/
https://quay.io/repository/kubevirt/cdi-uploadproxy/
https://quay.io/repository/kubevirt/cdi-apiserver/
https://quay.io/repository/kubevirt/cdi-uploadserver/
https://quay.io/repository/kubevirt/cdi-operator/
Notable changes
Enhancement: Set clone strategy for ceph to CSI clone (#2817)
Enhancement: Annotate PVC with host-assisted clone fallback reason; add missing events (#2824)
Enhancement: Added support for imagePullSecrets to the CDI custom resource and the cdi-operator resource. Updates to the imagePullSecrets value in the custom resource are automatically propagated to cdi-apiserver, cdi-deployment, and cdi-uploadproxy. The cdi-operator resource should be manually updated (#2589)
Enhancement: Support for zstd added (#2593)
Enhancement: Enable DataVolume status subresource (#2611)
Enhancement: support for Google Cloud Storage as a source for DataVolumes (#2615)
Enhancement: Move clone auth helpers to CDI API library (#2636)
Enhancement: Set pod affinity for host assisted clone source pods, in order to schedule them on the same K8S node (#2647)
Enhancement: Add ovirt csi to known provisioners (#2661)
Enhancement: Created upload populator controller (#2678)
Enhancement: k8s 1.26.1 libs (#2687)
Enhancement: Include a new controller "import-populator" to populate PVCs with the standard CDI Import flow using a volume populator (#2690)
Enhancement: Allow snapshots as a format for DataImportCron created sources (#2700)
Enhancement: Add readahead filter when importing files over HTTP (#2701)
Enhancement: Implement webhooks for upload and import populator CRs (#2707)
Enhancement: VolumeCloneSource Populator (#2709)
Enhancement: Add Dell EMC PowerFlex/Scale/Max/Store and HPE to known provisioners (#2710)
Enhancement: Add Hitachi to known provisioners (#2717)
Enhancement: Integration of Data volume using CDI populators with CSI storage (#2722)
Enhancement: Update base image RPMs (#2741)
Enhancement: DataVolume Controller uses VolumeCloneSource Populator (#2750)
Enhancement: Disable DataVolume garbage collection by default (#2754)
Enhancement: Add IBM CSI to known provisioners (#2762)
Enhancement: Allow ImmediateBinding annotation when using populators (#2765)
Enhancement: Support multi-stage imports in import populator (#2767)
Enhancement: Add AWS EFS CSI to known provisioners (#2771)
BugFix: Fix DIC returned reconcile.Result for ImageStream (#2826)
BugFix: Fix race condition in populators so we clean PVC' after population in all cases (#2833)
BugFix: Always use scratchspace when importing and converting (#2832) (#2841)
BugFix: Fix broken local -> rook-ceph-block clone (#2842)
BugFix: Don't use scratch space for registry node pull imports (#2846)
BugFix: Pass all the DataVolume labels to its created PVC (#2547)
BugFix: Annotate DataImportCron-created DataVolumes for immediate binding, so they will not get stuck in WaitForFirstConsumer phase (#2650)
BugFix: More targeted cleanup of target/scratch pvcs (only delete what we may have created) (#2676)
BugFix: Fixed failing snapshot clone if CSI driver set 0 to restoreSize of volumeSnapshot (#2680)
BugFix: Create PVC if possible even if the StorageClass is missing; Update DV condition fire and event on PVC rendering error (#2683)
BugFix: Enable external trigger import in DataImportCron. When the schedule
property is an empty string (""), import the latest update (#2711)
BugFix: Propagate CDI workload NodePlacement to DataImportCron CronJob and initial Job (#2712)
BugFix: Fixes smart clone hanging while waiting for initial source import to complete (#2721)
BugFix: sizeless clones cause panic for sourceRef data volumes (#2759)
Cleanup: Remove obsoleted insecure registries ConfigMap (#2723)
Cleanup: Update CDI to allow the use of a non-CSI testing lane (#2730)
CLeanup: Add a metrics name linter. In order to monitor metrics naming and make sure they aligned with the Prometheus metrics naming best practices (#2774)
Documentation: Add documentation for cdi populators (#2776)
Contributors
21 people contributed to this release:
17 akalenyu <[email protected]>
17 kubevirt-bot <[email protected]>
11 Arnon Gilboa <[email protected]>
10 Alexander Wels <[email protected]>
8 Michael Henriksen <[email protected]>
5 alromeros <[email protected]>
4 Nahshon Unna Tsameret <[email protected]>
3 akalenyu <[email protected]>
2 Ido Aharon <[email protected]>
2 Maya Rashish <[email protected]>
2 Yan Du <[email protected]>
2 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 Assaf Admi <[email protected]>
1 Avinash Jois <[email protected]>
1 David Vossel <[email protected]>
1 João Vilaça <[email protected]>
1 Marcelo Feitoza Parisi <[email protected]>
1 Shelly Kagan <[email protected]>
1 garonsky <[email protected]>
1 huangzynn <[email protected]>
1 tmf <[email protected]>
Additional Resources
v1.56.1
v1.56.1
v1.57.0-rc1
v1.57.0-rc1