70 Commits

Author SHA1 Message Date
Andy Lee
2db7ee7397
feat: show notification if there is VM pending restart (#700)
* feat: show notification if there is VM pending restart

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: update based on comments

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: calculate count from vm names

Signed-off-by: Andy Lee <andy.lee@suse.com>

---------

Signed-off-by: Andy Lee <andy.lee@suse.com>
2026-02-03 16:21:20 +08:00
Jack Yu
0781bde188
feat: add warning message when disabling a device that have not been detached in the backend (#675)
* feat: add wanring message when disabling a device that haven not been detached in the backend

Signed-off-by: Jack Yu <jack.yu@suse.com>

* fix: remove unused en-us key

Signed-off-by: Jack Yu <jack.yu@suse.com>

---------

Signed-off-by: Jack Yu <jack.yu@suse.com>
2026-01-26 14:07:28 +08:00
Dominik Wombacher
3dcc50980b
feat: Introduce VM Import UI flow pages (#642)
* feat(vmimport): First working side nav attempt

Add vmimport entries when the related resource actually exists aka addon was enabled

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): improved version that uses 'store.watch' instead of polling

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): further tuning of dynamic side navi load/unload

Code formatting and commits. Also safeguard if something is wrong with the store

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* refactor(vmimport): separate vmimport side nav entries from dynamic logic

function registerAddonSideNav introduced in utils/dynamic-nav.js

Decouples vmimport side nav entries from the hide/unhide based on addon status logic

Makes it reusable in the UI with other AddOns in the future

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): add custom headers for HCI.VMIMPORT

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): add custom headers for HCI.VMIMPORT_SOURCE_V

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): add custom headers for HCI.VMIMPORT_SOURCE_O

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): array instead string passed to configureType

Caused routing issues for CRUD operations

Labels moved to labelTypes section to follow standards

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): registerAddonSideNav improved and refactored

Clear comments, code refactoring, additional checks and validations

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): show correct status for virtualmachineimport

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): custom list components with ns grouping

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): 404 on refresh and missing menu entry

Restores virtualType definitions to register routes synchronously,
preventing 404 errors during page reload.

Updates dynamic-nav to force-fetch addon data if missing, fixing
hidden menu issues on direct page access.

Restores explicit label keys for virtualTypes to ensure correct
naming in the side navigation.

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): add edit form for VirtualMachineImport resource

Adds a UI form for VirtualMachineImport to replace manual YAML editing.
The form fetches VmwareSource and OpenstackSource objects for the
source selection dropdown.

It validates the VM name against RFC-1123 rules and filters out
internal storage classes. Users can also configure network mappings
via a dynamic list.

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): add edit form for VmwareSource

Adds a UI to configure VmwareSource resources including the endpoint
and datacenter fields.

For authentication, users can either select an existing Secret or
enter a username and password directly. The form handles creating
the required Kubernetes Secret in the background when new credentials
are provided.

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): add edit form for OpenstackSource

Custom edit form for OpenstackSource resource. Creates new secret
or lets users select existing secrets. Support all fields the CRD has.

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* chore(vmimport): vmware source default endpoint and datacenter renamed

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): add edit form for OvaSource

OvaSource (new in harvester / vm-import-controller v1.7.0).
Imports VMs from an OVA file using via HTTP or HTTPS.

The form supports URL configuration and optional Basic Auth using a
username and password. Users can also provide an optional CA Certificate
for HTTPS verification and configure advanced HTTP timeout settings.

VirtualMachineImport edit page to updated to include OvaSource in
the source dropdown.

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* chore(vmimport): align tab names on openstacksource

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): import { TextArea } from '@components/Form/TextArea' not found

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): 'Destination Network' don't list all networks

Online listed the 'mgmt' Network. Adjust to read all Virtual Machine Networks.

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): rename side-nav entry to 'Virtual Machine Imports'

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): OvaSource Auth tab throws error selecting existing secret

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): Add missing caCert input field to vmware source

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* refactor(vmimport): use 'LabeledInput' instead of 'TextAreaAutoGrow' for cacert fields

Changing the type allows labels to show up in the UI

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* refactor(vmimport): Move vars into types files and reference them

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* refactor(vmimport): Use 'currentProduct' value instead of hardcoded 'harvester' string

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* refactor(vmimport): shorten 'selectedOption.raw' usage

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* refactor(vmimport): Checks to make splice() usage more robust

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* refactor(vmimport): re-use existing rfc1123 val function

Move rfc1123 validation error message to l10n/en-us.yaml

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* fix(vmimport): var name typo in vmi edit rfc1123 check

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): vmi use 'FormValidation' and l10n for labels

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): oss use 'FormValidation' and l10n for labels

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): ovas use 'FormValidation' and l10n for labels

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* feat(vmimport): vms use 'FormValidation' and l10n for labels

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>

* refactor(vmimport): Display error message at the top of the page

Signed-off-by: Volker Theile <vtheile@suse.com>

---------

Signed-off-by: Dominik Wombacher <dominik.wombacher@suse.com>
Signed-off-by: Volker Theile <vtheile@suse.com>
Co-authored-by: Volker Theile <vtheile@suse.com>
2026-01-21 15:30:55 +08:00
Andy Lee
6f90cae482
feat: add vGPU MIG Configuration page (#576)
* feat: add vGPU MIGConfiguration page

Signed-off-by: Andy Lee <andy.lee@suse.com>

* feat: add detail page

Signed-off-by: Andy Lee <andy.lee@suse.com>

* feat: add banner

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: allow editConfig when status is empty

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: remove unneeded code

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: only show disable action if MIGConfig is enabled

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: some UI flow changes

Signed-off-by: Andy Lee <andy.lee@suse.com>

* feat: show configured profile in table

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: show configured profiles with requested count

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: based on review

Signed-off-by: Andy Lee <andy.lee@suse.com>

---------

Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-11-04 13:32:30 +08:00
Andy Lee
7dbd442519
fix: force fetch VM data (#535) 2025-09-25 18:55:47 +08:00
Andy Lee
4aabf0b7a3
fix: hide VM take backup action if backup target is not available (#512)
* fix: hide VM take backup action if backup target is not available

Signed-off-by: Andy Lee <andy.lee@suse.com>

* refactor: use extracted func

Signed-off-by: Andy Lee <andy.lee@suse.com>

---------

Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-09-09 14:36:23 +08:00
Andy Lee
be9311dc0c
feat: CPU / Memory hotplug support (#413)
* feat: add maxCPU and maxMemory

Signed-off-by: Andy Lee <andy.lee@suse.com>

* feat: add hotplug dialog

Signed-off-by: Andy Lee <andy.lee@suse.com>

* feat: add restart message

Signed-off-by: Andy Lee <andy.lee@suse.com>

* feat: let VM template support cpuMemoryHotplug

Signed-off-by: Andy Lee <andy.lee@suse.com>

* feat: add feature flag

Signed-off-by: Andy Lee <andy.lee@suse.com>

* feat: add max-hotplug-ratio setting

Signed-off-by: Andy Lee <andy.lee@suse.com>

---------

Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-07-23 14:08:59 +08:00
Nick Chung
b775ce5f50
chore: disable vmstate-persistence and longhorn-static StorageClasses (#377)
* chore: disable vmstate-persistence and longhorn-static StorageClasses

Signed-off-by: Nick Chung <nick.chung@suse.com>

* chore: allow internal storage class deletions in image and volumn

Signed-off-by: Nick Chung <nick.chung@suse.com>

* chore: remove deletion tooltips in image and volume pages

Signed-off-by: Nick Chung <nick.chung@suse.com>

* chore: rollback style changes of image and volume lists

Signed-off-by: Nick Chung <nick.chung@suse.com>

---------

Signed-off-by: Nick Chung <nick.chung@suse.com>
2025-07-16 18:21:06 +08:00
Andy Lee
9ca9fdb521
feat: support for subnets and VPCs from UI (#374)
Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-07-16 17:51:37 +08:00
Yiya Chen
85a06feb91
feat: disable vm images (#376)
Signed-off-by: Yi-Ya Chen <yiya.chen@suse.com>
2025-07-08 15:23:32 +08:00
Nick Chung
dc683a50a4
feat: [ENHANCEMENT] Add setting upgrade-config to UI(#8369) (#347)
Signed-off-by: Nick Chung <nick.chung@suse.com>
2025-07-01 11:14:56 +08:00
Andy Lee
d9c97de0fd
Add searchbox in settings page (#338)
* Add searchbox in setting page

Signed-off-by: Andy Lee <andy.lee@suse.com>

* update based on comment

Signed-off-by: Andy Lee <andy.lee@suse.com>

* PR feedback

Signed-off-by: Andy Lee <andy.lee@suse.com>

---------

Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-06-17 14:50:52 +08:00
Andy Lee
d4d3774c3b
filter golden image volume count in dashboard (#332)
Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-06-10 12:30:21 +08:00
Andy Lee
6d8f6579c7
Fix OS upgrade page (#306)
* fix OS upgrade page

Signed-off-by: Andy Lee <andy.lee@suse.com>

* move uploadFile action

Signed-off-by: Andy Lee <andy.lee@suse.com>

* change os upgrage ui to standard feature

Signed-off-by: a110605 <andy.lee@suse.com>

* Add uploadImage cancel

Signed-off-by: Andy Lee <andy.lee@suse.com>

---------

Signed-off-by: Andy Lee <andy.lee@suse.com>
Signed-off-by: a110605 <andy.lee@suse.com>
2025-05-21 16:51:16 +08:00
Andy Lee
78234b9e1e
filter golden image volume in hot plug volume modal (#239)
Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-04-10 13:17:30 +08:00
Andy Lee
38cf667830
use harvester translation key forhost page CPU and memory (#220)
Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-03-27 13:24:55 +08:00
Andy Lee
2940f25fe0
fix volume won't be dismiss after deleting (#216)
Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-03-24 15:31:14 +08:00
Andy Lee
8db4de1c4a
Extract variables to utils/unit
Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-03-03 16:57:25 +08:00
Andy Lee
8f76d5ad30
fix: align all memory / storage / quota units to Gi/Mi
Signed-off-by: Andy Lee <andy.lee@suse.com>
2025-02-28 22:57:54 +08:00
andy.lee
ca7eccd688
fix golden image error when creating LVM volume
Signed-off-by: andy.lee <andy.lee@suse.com>
2025-02-26 17:48:14 +08:00
andy.lee
4a303e514c
allow sorting storage class column in volume list page
Signed-off-by: andy.lee <andy.lee@suse.com>
2025-02-19 14:07:32 +08:00
andy.lee
40794d89a0
add third party storage UI change
Signed-off-by: andy.lee <andy.lee@suse.com>
2025-02-19 12:59:28 +08:00
andy.lee
426e15084e
upgrade @rancher/shell to v3.0.2-rc2
Signed-off-by: andy.lee <andy.lee@suse.com>
2025-01-24 16:16:14 +08:00
Francesco Torchia
fbd384d923
Remove Harvester Manager
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-12-01 17:36:58 +01:00
Andy Lee
b8a132c998
Merge pull request #44 from torchiaf/6883-empty-usb-list
Fix empty USB page
2024-11-27 08:57:37 +08:00
Francesco Torchia
ce2ead4426
Set inheritAttrs: false
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-26 12:24:52 +01:00
Francesco Torchia
4fe5c2e740
Set inheritAttrs: false
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-26 12:13:57 +01:00
Francesco Torchia
6f9c92f16a
Define Virtualization Management table headers; They will be used in prod build
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-12 13:19:30 +01:00
andy.lee
86461e1dbd
add getServerVersion in harvester-common store 2024-11-12 11:50:46 +01:00
andy.lee
5cc8a69052
add harvester verison column 2024-11-12 11:50:45 +01:00
Francesco Torchia
fa4ee3ea27
Fix isSupportedHarvester
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-12 11:50:44 +01:00
Francesco Torchia
021a64a5ec
Refactoring feature flags store functions
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-12 11:50:44 +01:00
andy.lee
8ba4dbd9e8
fetch harvester setting
Signed-off-by: andy.lee <andy.lee@suse.com>
2024-11-12 11:50:43 +01:00
andy.lee
4d2eef3b6c
show denied status if harvester version is not supported
Signed-off-by: andy.lee <andy.lee@suse.com>
2024-11-12 11:50:42 +01:00
andy.lee
b566caf2e1
disable cluster link if harvester version lower than v1.3.0
Signed-off-by: andy.lee <andy.lee@suse.com>
2024-11-12 11:50:42 +01:00
Francesco Torchia
780106f32a
Implement schedulingVMBackup feature flag
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-12 11:50:39 +01:00
andy.lee
ebc14751e7
get doc version from serverVersion
Signed-off-by: andy.lee <andy.lee@suse.com>
2024-11-12 11:50:36 +01:00
andy.lee
77d7f13836
add feature flag config 2024-11-12 11:50:31 +01:00
Francesco Torchia
4626d56acd
Lint fixes
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-12 11:50:20 +01:00
Francesco Torchia
dc74441d26
Latest changes from Harvester master - d7d9d4af8a88d677695d7aff47a81d52041dfcca
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-12 11:50:17 +01:00
Francesco Torchia
5f3e367aad
Fix cloudtemplates
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-11-12 11:50:15 +01:00
Francesco Torchia
77cedfd675
Add harvesterhci.io.management.cluster.vue edit & detail page + bug fixing
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-10-23 17:01:47 +02:00
Francesco Torchia
8bd9051739
Fix template scope syntax & resourceType prop inputs
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-10-23 17:01:46 +02:00
Francesco Torchia
aff5751c39
Fix AttachedVM field in Volumes page
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-10-23 17:01:44 +02:00
Francesco Torchia
4ba0cf92ee
Fix v-dropdown - template element
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-10-23 17:01:42 +02:00
Francesco Torchia
118aaf16b7
Latest changes from Harvester master - a537c1ae38eb7030542ac371f24ae3336cd9d422
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
2024-10-23 17:01:40 +02:00
Cody Jackson
8b6dbc1789
Fixing obvious problems with nlink and v-model
Putting in some vue3 fixes that are necessary after pulling in all of the latest changes from harvester/dashboard
2024-10-23 17:01:38 +02:00
andy.lee
db21093670
show volume encryption in vm detail volume tab
Signed-off-by: andy.lee <andy.lee@suse.com>
2024-10-23 17:01:31 +02:00
andy.lee
6ce99fad1f
add lock icon in VM list page 2024-10-23 17:01:29 +02:00
andy.lee
7f72fdf2c5
Add volume and image encryption feature
Signed-off-by: andy.lee <andy.lee@suse.com>
2024-10-23 17:01:27 +02:00