| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| harvester-images-list-amd64.txt | 2026-09-16 | 5.9 kB | |
| harvester-v1.9.0-vmlinuz-amd64 | 2026-09-16 | 15.2 MB | |
| harvester-v1.9.0-initrd-amd64 | 2026-09-16 | 110.3 MB | |
| harvester-images-list-arm64.txt | 2026-09-16 | 5.9 kB | |
| harvester-v1.9.0-vmlinuz-arm64 | 2026-09-16 | 49.8 MB | |
| harvester-v1.9.0-initrd-arm64 | 2026-09-16 | 85.8 MB | |
| README.md | 2026-09-16 | 49.1 kB | |
| v1.9.0 source code.tar.gz | 2026-09-16 | 80.2 MB | |
| v1.9.0 source code.zip | 2026-09-16 | 93.2 MB | |
| Totals: 9 Items | 434.6 MB | 1 | |
Harvester v1.9.0 Release Notes
This release introduces several features, enhancements, and bug fixes that improve system quality and the overall user experience. The documentation is available at https://docs.harvesterhci.io/v1.9.
The Harvester team appreciates your contributions and looks forward to receiving feedback regarding this release.
Downloads
AMD64
Full ISO
:cd: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-amd64.iso
:file_folder: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-vmlinuz-amd64
:file_folder: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-initrd-amd64
:file_folder: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-rootfs-amd64.squashfs
:white_check_mark: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-amd64.sha512
:memo: https://releases.rancher.com/harvester/v1.9.0/version.yaml
Net Install ISO
:cd: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-amd64-net-install.iso
:memo: https://docs.harvesterhci.io/v1.9/install/net-install/
ARM64
:cd: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-arm64.iso
:file_folder: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-vmlinuz-arm64
:file_folder: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-initrd-arm64
:file_folder: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-rootfs-arm64.squashfs
:white_check_mark: https://releases.rancher.com/harvester/v1.9.0/harvester-v1.9.0-arm64.sha512
:memo: https://releases.rancher.com/harvester/v1.9.0/version-arm64.yaml
Installation
Harvester can be installed using the ISO image, a bootable USB drive, and PXE boot. For more information, see the Installation section of the documentation.
Upgrade
Harvester only allows upgrades from supported versions. For more information about upgrade paths and procedures, see Upgrading Harvester.
[!WARNING] Upgrading to v1.9.0 is currently not recommended because of known issues that force virtual machines to shut down, resulting in brief workload downtime (see issues #11356 and #11615). Permanent fixes are planned for v1.9.1.
If you must upgrade to v1.9.0 now, you can mitigate issue [#11356] by setting a common CPU model across your cluster (for example,
IvyBridge) before starting the upgrade.
kubectl patch kubevirt kubevirt -n harvester-system \ --type merge \ -p '{"spec":{"configuration":{"cpuModel":"IvyBridge"}}}'Alternatively, update the CPU model on each virtual machine individually.
A CPU model change requires restarting running virtual machines. Applying this change beforehand puts you in control of the restart schedule, so you can perform maintenance during a planned window instead of allowing the upgrade to trigger unexpected shutdowns.
In addition, automatic live migration fails for virtual machines with a CPU topology where
cores * threads > 1(see issue [#11615]). The migration fails with the errorguest CPU doesn't match specification: extra features: ht, and the upgrade shuts down the affected virtual machines instead. Setting a common CPU model does not mitigate this issue. Before starting the upgrade, gracefully shut down virtual machines with such CPU topologies, and then start them manually after the upgrade completes.
Highlights
Guest Cluster Provisioning on Kube-OVN Overlay Networks
Harvester v1.9.0 adds support for provisioning Rancher guest clusters on virtual machines attached to Kube-OVN overlay networks. This setup enables tenant-isolated VPCs and Kubernetes-native networking independent of the physical infrastructure. When provisioning virtual machines via the Harvester Node Driver, you can assign them directly to overlay networks, using a VPC NAT gateway (DNAT/SNAT) for external connectivity.
Demos: Pure Underlay Networking, VPC NAT Gateway for Overlay Networks, Rancher Guest Clusters on Kube-OVN Networks | Documentation | GitHub issue
Longhorn V2 Data Engine Enhancements (Technical Preview)
Harvester v1.9.0 advances the Longhorn V2 Data Engine to "Technical Preview" (formerly "Experimental"), delivering key performance and configuration improvements. This release removes previous AIO driver block size (4096-byte) and unmap restrictions, allowing full 512-byte block size support and better storage space reclamation. To support resource-constrained deployments, new cluster settings allow you to customize SPDK target daemon memory allocation (longhorn-v2-data-engine-memory-size) and optionally disable hugepages when using the default AIO bdev driver (longhorn-v2-data-engine-hugepage-enabled), providing greater flexibility when managing node memory pressure.
Option to Cordon Newly Joined Non-Witness Nodes
Starting with Harvester v1.9.0, you can configure newly joined non-witness nodes to initialize in a cordoned state, preventing workloads from immediately scheduling onto them after deployment. This allows you to perform post-installation configuration, validation, or maintenance before opening new host capacity to the cluster. To enable this behavior, set install.cordoned: true in your Harvester configuration file. When specified, nodes are automatically marked as unschedulable upon joining the cluster. Once post-deployment tasks are complete, you can make the node available for workloads using the Uncordon option on the Harvester UI.
Demo | Documentation | GitHub issue
Parallel Live Migrations
Harvester v1.9.0 introduces support for concurrent multi-virtual machine live migration. The Virtual Machines screen on the UI allows you to select multiple virtual machines and initiate a migration for the entire group. On the migration dialog, selected virtual machines are grouped by their current node, allowing you to identify a target destination. Once initiated, Harvester processes a batch of migrations concurrently and automatically starts migrating the remaining virtual machines as active migrations complete. This simplifies host maintenance and workload rebalancing across your cluster.
Containerized GPU Workloads on Harvester Nodes
Starting with v1.9.0, you can run containerized GPU workloads directly on Harvester nodes alongside virtual machine-based GPU workloads. To separate these nodes, you must apply designated labels and deploy the NVIDIA GPU Operator to the Harvester cluster. The operator automatically targets only the nodes designated for bare-metal workloads, enabling native container access to GPU resources while leaving the remaining nodes available for vGPU-enabled virtual machines.
Support for Custom Windows Sysprep Files
Harvester v1.9.0 allows you to automate Windows operating system deployments using custom Sysprep answer files (autounattend.xml for fresh ISO installations or unattend.xml for generalized images) instead of relying on standard cloud-init configurations. On the Advanced Options tab of the virtual machine creation screen, you can select or create a Kubernetes Secret containing your answer file script. Harvester leverages KubeVirt's native Sysprep support to mount the Secret as a virtual SATA CD-ROM drive, which Windows automatically detects during boot to handle disk partitioning, user creation, or domain joins.
Note: Built-in XML validation is provided on the UI when creating secrets. In v1.9.0, Sysprep configurations must be applied directly during individual virtual machine creation. Virtual machine template support will be added in a future release.
Optimized Default Settings for Windows Virtual Machines and Templates
When creating Windows virtual machines or templates in Harvester, default values optimized for performance are now automatically applied to ensure consistent guest operation. The default disk bus for root disks on the base Windows templates is now SCSI (virtio-scsi) instead of VirtIO (virtio-blk), providing multi-queue support and faster DISCARD operations during sustained writes. Additionally, Hyper-V TLFS enlightenments are now enabled by default to streamline timer and interrupt handling, eliminating periodic I/O latency spikes and throughput degradation during heavy storage workloads. Harvester also enables the cloud-config editor for Windows images, allowing you to pass cloud-init user data during initial setup to automate first-boot tasks such as user creation, SSH key deployment, and custom PowerShell execution.
Load Balancers on Non-Management Interfaces for Guest Clusters
Starting with Harvester v1.9.0, you can route guest cluster load balancer traffic through secondary VM networks instead of binding virtual IPs exclusively to the primary management interface. This provides dedicated traffic segregation, security segmentation, and performance isolation. When configuring a LoadBalancer service in DHCP or Pool mode, select a target VM network that is symmetrically assigned across all nodes. Ensure matching VM networks and IP pools are configured prior to deployment.
Note: UI configuration requires Rancher v2.15.1 or later, while earlier supported versions rely on API annotations. Additionally, external traffic using source IP retention may need custom host routing rules to prevent asymmetric routing.
Demo | Documentation | GitHub issue
Direct Kubernetes Service Account Mounting via virtiofs
Harvester v1.9.0 allows you to mount Kubernetes ServiceAccounts, Secrets, and ConfigMaps directly into virtual machines as live virtiofs filesystems. This provides workloads a secure, native Kubernetes identity to query the cluster API without hardcoded credentials. Because virtiofs maintains a live projected filesystem, token rotations and RBAC permission changes are updated within the guest operating system in real time without a reboot. When configuring disks on the UI, select Filesystem to choose a resource from the virtual machine's namespace, then add the appropriate mount command to your cloud-init script to map the virtiofs device to a guest directory (for example, /mnt).
CPU Model Selection for Guest Clusters
Starting with Harvester v1.9.0, you can select custom CPU models when provisioning guest clusters using the Harvester Node Driver. When creating a cluster, the new CPU Model dropdown list allows you to choose Default, host-model, host-passthrough, or a specific CPU model. For named CPU models, the UI displays node availability next to each entry (for example, Ready nodes: 1), helping you select a compatible configuration and ensure consistent CPU capabilities across guest nodes.
Option to Keep Restored or Cloned Virtual Machines Powered Off
Starting with Harvester v1.9.0, virtual machines created from a snapshot, clone, or backup no longer power on automatically. To keep a virtual machine stopped after creation, select the Remain halted option on the UI or set spec.haltAfterRestore: true in your VirtualMachineRestore CRD or virtual machine manifest. This provides GitOps workflows time to complete post-restore validation before bringing workloads online.
UI-based Configuration of Pod Security Standards
Harvester v1.9.0 simplifies cluster-wide governance by allowing you to apply Kubernetes Pod Security Standards (PSS) directly from the UI using the new cluster-pod-security-standard setting. Once enabled, you can enforce specific security profiles across their environment by configuring the Whitelisted Namespaces, Privileged Namespaces, and Restricted Namespaces fields. To protect core system operations and guarantee the stability of Harvester, system namespaces are automatically locked and exempted from custom PSS modifications.
Visibility of Management Interface Details
Starting with Harvester v1.9.0, the Cluster Network Configuration screen provides enhanced visibility into management network interfaces for all non-witness nodes. You can now view essential configuration details for mgmt-bo directly on the UI (such as member interfaces, MTU size, and active bond mode), which are automatically synced from the live host state. To protect host connectivity, management network settings are strictly view-only, with a webhook actively blocking any manual modification attempts via the UI or API.
Demo | Documentation | GitHub issue
Editable Virtual Machine Display Names
On the Harvester v1.9.0 UI, the virtual machine creation screen includes a Display Name field, which allows flexible labeling without strict character type or length restrictions. It is distinct from the Name field, which defines the custom resource name and must adhere to standard Kubernetes naming conventions. It also differs from the Hostname field, which defines the virtual machine's hostname inside the guest operating system and can be used to create unique DNS records. You can update the display name at any point in the virtual machine's lifecycle without affecting its configuration.
Custom Package and Kernel Module Installation
Harvester v1.9.0 introduces standardized workflows for extending its immutable operating system with third-party software, kernel modules, and system packages without compromising security or upgrade paths. Through the new rancher/harvester-kernel-module-devel image and Elemental chroot hooks, you can can build and sign kernel modules, load runtime or boot-time drivers, and persistently install SUSE Linux Enterprise 16.0-compatible packages across system upgrades.
Demo | Documentation | Github issues: #11263, #11264
Deprecations and Removals
ssl-parameters Setting
The ssl-parameters setting for the Ingress NGINX Controller (ingress-nginx) is deprecated in Harvester v1.9.0 and replaced with the traefik-default-tls-options setting, which applies default TLS options for the Traefik Ingress Controller.
striped Volume Type
The striped volume type is deprecated and excluded from the LVM CSI general availability (GA) support scope. You must use a dm-thin StorageClass for all LVM storage. Because existing striped volumes cannot be converted to dm-thin in place, you must migrate data from existing striped volumes before upgrading to a Harvester version that removes support for this volume type.
Features
- [FEATURE] add harvester-kernel-module-devel image #11263
- [FEATURE] Grey out upgrade button in UI #11159
- [FEATURE] Windows VM defaults: virtio-scsi bus, cloud-init enabled, Hyper-V enlightenments #11124
- [FEATURE] fine tune node promotion logic #11074
- [FEATURE] [GUI] Show mgmt NICs in the UI, MTU and Interfaces #10718
- [FEATURE] API to fetch VM list from vsphere #10606
- [FEATURE] bump kubeovn operator to support kubeovn 1.16.x #10476
- [FEATURE] Provide identity to running VMs via Kubernetes Service accounts #10426
- [FEATURE] UX/UI for new VM Import/migration tool #10417
- [FEATURE] [GUI] PSA support for harvester #10350
- [FEATURE] Enforce Rancher RBAC In The UI #10241
- [FEATURE] Support directly routable VM IPs on the physical network vlan using KubeOVN #10154
- [FEATURE] [GUI] Support filesystem disk for VM #9896
- [FEATURE] add extraArgs for harvester-cloud-provider #9852
- [FEATURE] [GUI] Guest cluster needs cpu model configuration setting #9745
- [FEATURE] Guest cluster needs cpu model configuration setting in Rancher #9744
- [FEATURE] Rancher Manager Addon Migration to k3k or Optional k3k base #9818
- [FEATURE] [GUI] Support for external connectivity and inbound access for VMs attached to subnets from custom VPCs using kubeovn as Secondary CNI #9695
- [FEATURE] Support cloud config from secrets for harvester-cloud-provider #9503
- [FEATURE] Support for external connectivity and inbound access for VMs attached to subnets from custom VPCs using kubeovn as Secondary CNI #9455
- [FEATURE] Hugepage support for Longhorn V2 #9390
- [FEATURE] Expose Disk Cache Mode #9383
- [FEATURE] Support vTPM / EFI state cloning #9182
- [FEATURE] Implement a unified backup and restore interface framework #9135
- [FEATURE] block registration of new nodes while upgrade is in progress #7601
- [FEATURE] Ability to support pcidevice passthrough of targeted individual devices #6724
- [FEATURE] Terraform provider: PCI passthrough #6423
- [FEATURE] Show mgmt NICs in the UI, MTU and Interfaces #6110
- [FEATURE] [GUI] Statically bind the IP address for VMs during creation #6087
- [FEATURE] Allow particular ports access as default security policy #5681
- [FEATURE] Support load balancers on non-management interfaces for guest clusters #5486
- [FEATURE] Support vGPU's with container workloads #5321
- [FEATURE] Statically bind the IP address for VMs during creation #5052
- [FEATURE] Harvester install in maintenance mode #4424
- [FEATURE] Unattend.xml support for Windows #1836
- [FEATURE] harvester-cloud-provider supports to mark network type #10381
- [FEATURE] add validation for YAML in /oem directory #9164
- [EPIC] Longhorn v2 data engine integration - Preview #9960
Enhancements
- [ENHANCEMENT] Completely Prevent Remote VM Backup for LH v2 Volumes #11151
- [ENHANCEMENT] Enhance cloudconfig generate api endpoint #10870
- [ENHANCEMENT] [GUI] Clear selected VM after bulk actions #10869
- [ENHANCEMENT] Detect paused fleet-local/local CAPI cluster before upgrade #10713
- [ENHANCEMENT] GUI Does Not Apply Node Expansion Secret for Encrypted StorageClass #10635
- [ENHANCEMENT] [GUI] Ensure or Support to configure the exclusive VID for storage-network #10581
- [ENHANCEMENT] Relax LB webhook with more backward compatibility #10527
- [ENHANCEMENT] [GUI] Intuitive way to recognize USB devices when using USB passthrough to transfer data to VMs #10438
- [ENHANCEMENT] Block parent vGPU device enable/disable actions #10428
- [ENHANCEMENT] Enable concurrent Live Migrations #10425
- [ENHANCEMENT] Allow changing the VM's name #10423
- [ENHANCEMENT] Prevent started VM after cloning or snapshotting #10422
- [ENHANCEMENT] Show driver location dialog when enabling nvidia-driver-toolkit addon #10378
- [ENHANCEMENT] Support Storage Migration for VMs Restored from Snapshot or Backup #10343
- [ENHANCEMENT] [GUI] allow users to disable autoAttachPodInterface to a VM #10328
- [ENHANCEMENT] Add the new label for e2e request with PR #10293
- [ENHANCEMENT] Ensure the Kubevirt volume operation call works with v1.8.0 #10243
- [ENHANCEMENT] Extend VlanConfig protection to cover RWX network NAD #10235
- [ENHANCEMENT] Add IP availability checks to upgrade preflight for storage/RWX networks #10231
- [ENHANCEMENT] Bump monitoring, logging addon charts and check the used images #10210
- [ENHANCEMENT] Switch from nginx ingress to traefik #10067
- [ENHANCEMENT] [GUI] Apply CDI Settings To Non-Root Volumes #10028
- [ENHANCEMENT] Allow users to disable autoAttachPodInterface to a VM #10021
- [ENHANCEMENT] Make the harvester-cloud-provider container args configurable via helm chart #9807
- [ENHANCEMENT] Enhance the resource-quota processing when overhead-ratio is adjusted #9753
- [ENHANCEMENT] Support provisioning of guest clusters on Harvester VMs attached to overlay networks #9682
- [ENHANCEMENT] [GUI] Add
shareablefield when we create the volume #9650 - [ENHANCEMENT] Add
shareablefield when we create the volume #9649 - [ENHANCEMENT] Ensure or Support to configure the exclusive VID for storage-network #9622
- [ENHANCEMENT] [GUI] Show RKE2 certificates status on dashboard #9606
- [ENHANCEMENT] Essential checks upon upgradeLog #9573
- [ENHANCEMENT] Should show status reason when vGPU MIG Configuration is out-of-sync #9529
- [ENHANCEMENT] Provide a way to setup host mapping to /etc/hosts #9496
- [ENHANCEMENT] Enable Live Migration for VMs attached to Overlay Networks #9463
- [ENHANCEMENT] Deprecate and eventually remove legacy BIOS support #9382
- [ENHANCEMENT] Investigate why lhv2 csi-clone is much slower than copy mode #9344
- [ENHANCEMENT] [GUI] Enhance Route-connectivity field Info of VM Network #9028
- [ENHANCEMENT] Should filter the disks that have been added in longhorn dashboard when configuring storage in harvester dashboard #8990
- [ENHANCEMENT] Static IP assignment broken using OverlayNetwork in 1.6.0-RC5 #8844
- [ENHANCEMENT] Enhance the
harv-purge-images.shscript #8667 - [ENHANCEMENT] Set default value for LHv2 clone strategy to csi-clone in CDI annotations #8451
- [ENHANCEMENT] Intuitive way to recognize USB devices when using USB passthrough to transfer data to VMs #8330
- [ENHANCEMENT] [GUI] Ability to support pcidevice passthrough of targeted individual devices #7201
- [ENHANCEMENT] Support Local externalTrafficPolicy for workloads in guest clusters #6944
- [ENHANCEMENT] Enable automatic local ISO installation for virtualized Harvester deployments #5385
- [ENHANCEMENT] Allow user to customize snapshot/backup deadline #4098
- [ENHANCEMENT] [GUI] Allow user to add empty volume when creating a VM #10584
- [ENHANCEMENT] [GUI] Possibility to assign IP addresses to the Hosts in the Virtual Machine Networks #8651
- [TASK] Clarify the upgrade sequences involving a witness-node #8061
- [TASK] add a default traefik helmchart config #11285
- [REFACTOR] [GUI] Extract access mode string to static variables #11212
Bug Fixes
- [BUG] unable to start VM on ARM cluster with EFI OVMF roms missing error #11596
- [BUG] change in lb behaviour with bump to kubevip v1.2.x #11590
- [BUG] After upgrade to v1.9.0-rc6, addon deployment job failed for nvidia-driver-toolkit and pcidevices-controller #11469
- [BUG] upgrade from v1.9.0-rc6 stuck downloading image - scratch PVC not created #11466
- [BUG] [GUI] vGPU on RKE2 VM created by Rancher does not show on UI #11456
- [BUG] Harvester VIP lost after upgrade complete to v1.9.0-rc5 #11440
- [BUG] refresh install ARM cluster stuck on setting up node #11395
- [BUG] Live migration using the non-existing metrics #11390
- [BUG] pcidevices are not created with harvester v1.9.0-rc4 #11360
- [BUG] Fail to migrate VM in v1.9.0-rc4 due to "CPU doesn't match specification: missing features: pdcm" #11358
- [BUG] Terraform provider v1.8.1 does not wait for VM DHCP lease #11357
- [BUG] TLS certificate flapping while bumping embedded Rancher to v2.15.0 #11338
- [BUG] node join failure once we bump Rancher v2.15.0 #11336
- [BUG] VMs, Images, not visible in rancher UI #11289
- [BUG] ipxe boot of Harvester v1.8.x onwards fails on some broadcom nics #11266
- [BUG] Can't add static-ip.harvesterhci.io annotation to VM via UI form #11252
- [BUG] Creating a VM with no cloud init user data but network data only fails #11213
- [BUG] Upgrade stuck on configmap "chart-content-rke2-traefik-crd" not found #11206
- [BUG] [GUI] Valid VM name after an invalid try still regarded as invalid but the VM is actually created #11174
- [GUI] [BUG] 1.8.1 - vGPU partition types not found, enabling not possible #11169
- [BUG] spec.template.spec.domain.devices.disks is invalid in some cases; item is specified for two types #11154
- [BUG] restoring a VM backup to a different cluster is not working as described or intended #11145
- [BUG] [GUI] Support Enable/Disable of NAT on custom subnets #8700
- [BUG] 1.8.1 - vGPU partition types not found, enabling not possible #11133
- [BUG] LH V2 Volume Cannot Be Attached When the Storage Network Is Enabled #11123
- [BUG] Upgrade stuck in node
Waiting Rebootafter complete first node upgrade when upgrade from v1.8.1 to v1.9.0-dev-20260705 #11096 - [BUG] harvester-webhook SA token expiration with RKE2 CIS profile enabled. #11084
- [BUG] V2 Disk Provisioning Fails Due to Conflicting IOMMU Group #11041
- [BUG] VM Template UserData editor remains editable in view mode #11033
- [BUG] Kubelet enters NotReady state after RKE2 upgrade due to failed node registration #11011
- [BUG] Duplicated
app: whereaboutslabel in whereabouts.labels helm template #11008 - [BUG][GUI] Harvester UI doesn't honor selected namespace when first entering the pages #10942
- [BUG] Cloud Configuration Template cloud-init field should not be editable when not editing #10941
- [BUG] Harvester api http server framework has below warning when app writes return directly #10878
- [BUG] Encrypted V2 volume size is 16MB short of the claimed size #10814
- [BUG] hostnetworkconfig does not work with vlan 1 DHCP mode #10802
- [BUG]
ifname=kernel args don't always work to rename network interfaces #10783 - [BUG] Upgrade V2: missing /lib bind mount for aarch64 in upgrade_node.sh #10765
- [BUG] V2 volume I/O can get stuck on ARM64 when SPDK uses 2+ CPU cores and node disks use the NVMe driver #10710
- [BUG] 502 Bad Gateway Error During Node Join is Misleading and it Should Indicate Token Mismatch #10685
- [BUG] NDM always uses BDF paths when adding LHv2 nvme and virto disks, regardless of DiskDriver setting #10666
- [BUG] VM migration causes MAC address to move between hosts more than once #10653
- [BUG] install.wipe_disks_list should not error out if the disk doesn't exist #10591
- [BUG] [GUI] cmd(alt) button is not work when restart / softreboot VM #10575
- [BUG] [GUI] PersistentVolumeClaim is overridden by Volume in Rancher local cluster #10574
- [BUG] f29abc8d airgapped Harvester master build fails to render harvester dashboard #10540
- [BUG] Upgrade from v1.7.x to v1.8.0 stuck in Post-draining when storage-network is configured with RWX volumes #10532
- [BUG] Upgrade could fail without retrying when entering the node upgrade phase #10529
- [BUG] Cloud provider functionality doesn't work on custom cluster created in Rancher #10399
- [BUG] vGPU VMs is not regarded as Non-Migratable when triggering upgrade. #10388
- [BUG] Stop using
rancher/kubectlimage #10374 - [BUG] Template rendering fails on Grafana Dashboard JSON containing
{{name}}#10367 - [BUG] UI shows incorrect info when deleting storage #10310
- [BUG] Insufficient harvester-csi-driver permissions for k3s guest cluster #10298
- [BUG] Harvester 1.7.1 Upgrade (aarch64/arm64) post-drain-* Pods Fail #10286
- [BUG] Mutating webhook rejects multi-socket VMs when CPU hotplug is disabled #10265
- [BUG] seeder based provisioning fails in lab due to multiple dhcp servers #10258
- [BUG] network-controller LOGLEVEL env does not work as expected #10250
- [BUG] Harvester Cloud Provider cannot run with SELinux enforcing on guest cluster #10225
- [BUG] A corner case on vm volumeClaimTemplates annotation protection and check #10165
- [BUG] Failed image cannot be deleted due to finalizer lock when a successful upload exists #10109
- [BUG]
resourceName()generates invalid Kubernetes resource names when PCI device description contains trailing spaces #10108 - [BUG] Host VM view does not show all states #10092
- [BUG] Containerd-registry setting in the terraform provider is always "changed" #10081
- [BUG] The v171 to v180 upgrade is blocked by CDI ISO image downloading #10056
- [BUG] pcidevice passthorugh is broken on VM with hot plugged volume #10029
- [BUG] The permittedHostDevices.pciHostDevices has duplicated records #10008
- [BUG] Harvester csi volume fails to mount #9998
- [BUG] RancherD should retry on bootstrap failure #9886
- [BUG] Online Expansion fails for Encrypted Longhorn Volumes #9775
- [BUG] harvester-cloud-provider pods on downstream rancher cluster restarting when any VM is created in the same harvester setup #9502
- [BUG] Storage network optimizations #9375
- [BUG] storage network configuration failure on vlanconfig with empty matched nodes #9332
- [BUG] cdi-importer pods don't appear to be using the system trust-store during download #9055
- [BUG] [GUI] Support Enable/Disable of NAT on custom subnets #8700
- [BUG] show generic error message when creating API key failed #8553
- [BUG] Admission webhook errors are not displayed in
Edit as YAML#8120 - [BUG] Admission webhook errors are displayed at top AND bottom of the YAML editor #7617
- [BUG] Node Scheduling tab of VMs does not work #7583
- [BUG] Unable to provision dual stack RKE2 cluster via rancher on harvester when cloud provider is enabled #7275
- [BUG] Should remove value of deviceAllocationDetails annotation while removing hostDevices #6957
- [BUG] The images action menu does not show
Edit YAML#6536 - [BUG] PCI Device Controller Go Routine Leakage #5179
- [BUG] Dual-Stack IPv4-First Support for harvester (core) #10879
- [BUG] Dual-Stack IPv4-First Support for harvester-installer #10795
- [BUG] /v1/harvester/kubeconfig rejects external Rancher global admins #11129
- [BUG] [GUI] Cannot setup project resource quota in Rancher 2.14.1 / 2.15.0 #10556
- [BUG] Create an image which name length over the limitaion via YAML, the image still can be created #9515
Others
- [RELEASE] Release v1.9.0 #11310
- [TASK] Improve smoke test stability #8266
- [DOC] Add details about mgmt network displaying the interface properties #11275
- [DOC] expand the after-install-chroot/after-upgrade-chroot docs #11264
- [DOC] Document per-node VM/VMI volume limit for Harvester CSI Driver #11259
- [DOC] Compare Planned VM Shutdown and Live Migration during a Harvester upgrade #11248
- [DOC] Document VM image upload timeout behavior with third-party storage #11168
- [DOC] Update Harvester kubeovn networking docs to include UI configuration details #11071
- [DOC] Document Longhorn V2 CPU configuration when using CPU-pinned VMs #11056
- [DOC] Longhorn V2 Data Engine Kernel Workqueue Lockup #11054
- [DOC] Guide for migrating diskDriver from NVMe to AIO and unprovisioning block devices #11052
- [DOC] Update lvm-local-storage addon yaml URL with version and remove the redundant '#' symbol #10754
- [DOC] Documentation referring to Longhorn V2 volume expansion may be incorrect #10597
- [DOC] Customer guidance on which Adv Networking features are GA #10415
- [DOC] server_url while cluster installation #10325
- [DOC] https://harvesterhci.io/intro lists link for PXE/iPXE support but link target does not exist #10324
- [DOC] Edit links in https://harvesterhci.io have wrong target. #10323
- [DOC] Rancher-Manager Experimental Plugin #9796
- [DOC] Add how to enable CSI Snapshot Support in the guest cluster #9391
- [DOC] Need to clarify the user scenario of the Managed DHCP add-on due to the introduction of Kube-OVN #8919
- [DOC] Find a better home for "Related CPU Pinning Concepts" and "Related Networking Concepts" sections #8860
- [DOC] Improve image management doc following 3rd party storage introduction #8479
- [CI] Ensure the installation works with specific changes #9227
- [TASK] Improve smoke test stability #8266
- [TASK] Bump K8s Descheduler to v0.36.0 #10952
- [TASK] Update Longhorn CSI Sidecars Version In Harvester CSI Driver #10897
- [TASK] Create new release for docker-machine-driver #10875
- [TASK] Bump Harvester CSI Driver v0.1.30 to Rancher/RKE2 #10780
- [TASK] Component updates for Harvester v1.9.0 #10732
- [TASK] Remove non-orgs users when creating backport issue #10448
- [TASK] Drop
kubevirt.io/client-go/kubeclifrom import #10111 - [TASK] Release new harvester-cloud-provider version v0.2.12 #10068
- [TASK] Automate artifact dependency version management aligned with release maintenance #10031
- [TASK] Make experimental-addons version aligned with Harvester minor release #9797
- [TASK] Use CODEOWNERS to efficient the review progress #9607
- [TASK] Move Endpoints to EndpointSlice #9381
Known Issues
This section includes only issues identified before the release date. For information about all issues associated with v1.9.0, see this page.
- [BUG] arm upgrade from v1.8.2 to v1.9-head fails #11648
- [BUG] lost VIP and UI accessibility during upgrade (ARM cluster) #11634
- [BUG] VM Live migration failed when upgrading from 1.8.2 to 1.9.0-rc7 due to CPU extra features: ht #11615
- [BUG] Upgrade from v1.8.2 to v1.9-head stuck on Images preloaded #11543
- [BUG] logout feature isn't working properly #11386
- [BUG] VM does not LiveMigrate but Off during v1.8.1 to v1.9.0-rc4 upgrade #11356
- [BUG] After upgraded to three Nodes Harvester with witness role to v1.8.0-rc6, vm failed to migrate with error "Kubevirt not ready" #10447
- [BUG] Failed to migrate VM after eject the windows image from CDROM device #10221
- [BUG] Guest Cluster to Harvester Longhorn Storage via RWX / NFS connectivty loss during upgrade from 1.7.0 to 1.7.1 [#1004
Component Versions
| Component | Version |
|---|---|
| Longhorn | v1.12.1 |
| KubeVirt | v1.8.4 |
| CDI | v1.65.0 |
| Kube-OVN | v1.16.2 |
| Embedded Rancher | v2.15.0 |
| RKE2 | v1.36.3+rke2r1 |
| SL Micro | 6.2 |
Contributors
Thank you to all the contributors that made this release possible.
@a110605 @abonillabeeche @adamacosta @adonskoy @albinsun @allexistence @amartin120 @andrew-morris-rgs @asc5543 @asettle @bcdurden @bk201 @brandboat @CDA0 @connorkuehl @Copilot @cybit @derhornspieler @DillonN @eleasar-b @fluktuid @focusnetmf @forbesguthrie @Hero2633 @ibrokethecloud @ihcsim @innobead @irishgordo @jbrockmeyer @jillian-maroket @johnwc @khushboo-rancher @lanfon72 @m-ildefons @mallardduck @marcelofukumoto @marnixbouhuis @martindekov @michalcukierman @mingshuoqiu @noahgildersleeve @ParadoxGuitarist @phillipsj @pohanhuang @rebeccazzzz @RichMe1ste12 @roncterry @rrajendran17 @skanakal @slickwarren @starbops @TachunLin @tahvane1 @tserong @Vicente-Cheng @vladfreeze @votdev @W0n9 @w13915984028 @WebberHuang1118 @wheatdog @wstutt @Yu-Jack