Commit Graph

18015 Commits

Author SHA1 Message Date
Olivier Floch
b82d641783 test(web): provide the V2V mapping connection beside the other connection provides
The resumed VM and VM actions tests read it without mounting a mapping. The actions test only needs a
connection to open the drawer under: it gets a plain one.
2026-11-09 18:39:29 +01:00
Olivier Floch
3a41fba148 fix(web): open the V2V VM settings drawer outside the wizard context
- The drawer is an overlay rendered at the app root, out of the migration page: reading the V2V connection there
  threw, so Edit settings opened nothing
- useV2vVmTargets: the targets and options the drawer edits, read from an inventory handed in; useV2vVmMapping adds
  the pool name, host and checks of the side panel on top
- useV2vVmSettingsEdit hands the drawer the inventory of the connected source
- Tests: the drawer is mounted without the wizard connection; v2vMappingConnectionProvide shared by the mapping tests
2026-11-09 18:39:29 +01:00
Olivier Floch
1667ed2a16 test(web): seed every V2V list pool and list VMs through the shared helpers
- seedV2vListPool takes partial offers and the other pool, and sets the collections itself: seedChoices is gone
- the wizard, pool name and source-and-destination tests seed the list pool through it
- createV2vMigrationListVmsOf builds the list VMs of given ids, replacing the hand-written ones; V2vMappingStep reads the stored VM through readV2vStoredListVm
2026-11-09 12:43:34 +01:00
Olivier Floch
55cf10d8bf test(web): seed the pool of the V2V list through one helper
- `seedV2vListPool` seeds the pool of the list and its offers, in place of
  the same two lines in the VMs step, selected VMs and mapping step tests
- the resumed VM is imported to the pool of the list: `V2V_RESUMED_VM_POOL`
  is gone
- the network and template of the other pool get their own ids, apart from
  the list defaults
2026-11-09 12:22:53 +01:00
Olivier Floch
7ec1e941a5 test(web): use the shared list pool in the V2V pool name test 2026-11-09 11:57:47 +01:00
Olivier Floch
f8dc85855b test(web): use the shared list pool in the V2V VM mapping mount 2026-11-09 11:56:46 +01:00
Olivier Floch
8ae1f4e811 test(web): use the shared id of another pool in the V2V VM mapping mount 2026-11-09 11:02:57 +01:00
Olivier Floch
1c1960a09c fix(web-core): add the zero form of the French V2V snapshot check 2026-11-09 11:02:57 +01:00
Olivier Floch
892fff90ab refactor(web): read the V2V connection from the wizard context in the mapping step 2026-11-09 11:02:57 +01:00
Olivier Floch
d4c8b7aef4 test(web): share the useOverlay mock
- mock-overlay.ts records each useOverlay call, in order, as its options and the open spy it returned
- used by the backup repository, plugin drawer job and V2V settings tests, in place of 7 hand-written mocks
2026-11-09 11:02:57 +01:00
Olivier Floch
11b3302b62 test(web): share the V2V mapping test fixtures
- createV2vOfferedTarget: a resolved target among the pool offers
- V2V_LIST_VM_OVERRIDES, V2V_FULLY_OVERRIDDEN_LIST_VM, V2V_OTHER_LIST_VM: the list VMs the mapping tests start from
- V2V_NEW_STEP_VM, V2V_RESUMED_STEP_VM, V2V_NOT_FOUND_STEP_VM: one mapping step VM of each kind
- describeV2vMappingCardLayout, countDividers: the layout the side panel mapping cards share
- mountV2vVmKindActions, findV2vRouteQuery
- the drawer cancel cases, the table menu order and the panel kind switch no longer re-test what another test covers
2026-11-09 11:02:57 +01:00
Olivier Floch
587d273e67 fix(web): type the pool connection success server id as FrontXoServer
XoServer['id'] is branded: Vue resolves it to a runtime Object check and warns on the string id.
2026-11-09 11:02:56 +01:00
Olivier Floch
3dd6126425 fix(web): give the V2V VM heading card id a string prop type
XoV2vVm['id'] is branded: Vue resolves it to a runtime Object check and warns on every panel render.
2026-11-09 11:02:56 +01:00
Olivier Floch
92496e7a19 refactor(web-core): remove the unused selected state of UiPanelCard
The V2V mapping step no longer selects a panel card since it shows its VMs as a table.
2026-11-09 11:02:56 +01:00
Olivier Floch
d6e7324892 feat(web): show the V2V mapping step as a table 2026-11-09 11:02:56 +01:00
Olivier Floch
13986f2828 feat(web): add the V2V VM side panel 2026-11-09 11:02:41 +01:00
Olivier Floch
f7cad58fa3 feat(web): add the V2V VM settings drawer
Edit settings opens a drawer holding the per-VM settings of a new VM on a
draft: SR per disk, network per NIC, keep MAC, template and tags. Save
replaces the stored overrides of the VM once, Cancel writes nothing.
The options card becomes V2vVmOptionsFields, so the drawer reuses them.
2026-11-09 11:02:41 +01:00
Olivier Floch
d1e023bdd4 refactor(web): add an edit draft to the V2V VM mapping
The VM mapping reads its overrides from an injectable source, so that
useV2vVmMappingDraft edits a copy of them and hands back the changed
overrides, without writing the stored list.
2026-11-09 11:02:41 +01:00
Olivier Floch
710cc1915e docs(changelog): add the V2V migration wizard mapping step 2026-11-09 11:02:41 +01:00
Olivier Floch
873644d9e0 fix(web): let the V2V source step cards shrink on a small screen 2026-11-09 11:02:41 +01:00
Olivier Floch
35082b5d9e feat(web): add the mapping step of the V2V migration wizard 2026-11-09 11:02:41 +01:00
Olivier Floch
a8ab6a1f99 feat(web): add the V2V resumed VM mapping 2026-11-09 10:59:59 +01:00
Olivier Floch
fb1da9305e refactor(web): extract the VM delete flow into useVmDelete 2026-11-09 10:59:55 +01:00
Olivier Floch
04d86aca15 test(web): share the useXoRoutes mock 2026-11-09 10:59:49 +01:00
Olivier Floch
73207050a0 feat(web): add the V2V new VM mapping 2026-11-09 10:59:49 +01:00
Olivier Floch
a61182a466 feat(web): store the per-VM overrides of the V2V migration list 2026-11-09 10:59:36 +01:00
Olivier Floch
6866393ba8 feat(web): add V2V mapping, checks and active mapping utils
- per-VM overrides in the migration list (disks, NICs, template, keep MAC,
  tags), parsed with their shape
- one mapping resolver: each target from its override or the list default,
  offered or not, and the mapping complete or incomplete
- `mapping-incomplete` check of a new VM, after `partial-on-other-pool`
- mapping summary from the resolved mapping, with distinct target names
- source VM checks (unsupported disks, snapshots), next transfer (delta or
  full), datacenter of the VM
- active mapping of a resumed VM: disk to VDI by its `esxi_diskPath` in the
  disk chain, NIC to VIF by device, MAC kept or not
2026-11-09 10:59:16 +01:00
Olivier Floch
d1358444e7 feat(web-core): add a selected state to UiPanelCard 2026-11-09 10:57:55 +01:00
Olivier Floch
75e990343a feat(web-core): add VtsTagsInput component 2026-11-09 10:57:55 +01:00
Olivier Floch
8d25cb6b94 feat(types): add the vmdk chain paths of a V2V source disk 2026-11-09 10:57:55 +01:00
Olivier Floch
c099fabb2b test(web): read the first two V2V list VMs from the stored list fixture 2026-11-09 10:51:50 +01:00
Olivier Floch
b20630c512 test(web): read the V2V listed VM, empty and stored lists from the shared fixtures 2026-11-09 10:27:15 +01:00
Olivier Floch
e63e6a3810 test(web): read the V2V other pool and empty list from the shared fixtures 2026-11-09 10:15:03 +01:00
Olivier Floch
8d69b4095e test(web): read the V2V list pool and pair from the shared fixtures 2026-11-09 09:57:02 +01:00
Olivier Floch
43eefcf01f fix(web): drop the unstyled root class of the inline parts 2026-11-09 09:57:02 +01:00
Olivier Floch
67ea6b5a53 test(web): use the shared id of another pool in the V2V VMs step tests 2026-11-09 09:57:02 +01:00
Olivier Floch
c1c2673441 refactor(web): name the V2V selected VMs test pool id after the id it holds 2026-11-09 09:57:02 +01:00
Olivier Floch
23ffab2373 refactor(web): name the V2V list summary after its source and pool pair, not a lock 2026-11-09 09:57:02 +01:00
Olivier Floch
2a4c19d281 fix(web-core): drop the V2V empty list translation no screen uses any more 2026-11-09 09:57:02 +01:00
Olivier Floch
ba7059af89 docs(web): drop the removed mountComposable render option from the testing guide 2026-11-09 09:57:02 +01:00
Olivier Floch
a51c206614 fix(web): say that another V2V source or pool opens its own list
The selected VMs panel claimed the source and destination were locked
until the list was cleared, while each (source, pool) pair has its own
list and choosing another one just opens it.
2026-11-09 09:57:02 +01:00
Olivier Floch
3532de374d test(web): keep the fetch stub of the test setup under its comment 2026-11-09 09:57:02 +01:00
Olivier Floch
f27fdb5c96 style(web): drop the V2V comments that only say what the code does 2026-11-09 09:57:02 +01:00
Olivier Floch
79d303db55 fix(web): open and close the V2V selected VMs panel like the other side panels
Its VMs act as the selection of the side panel: it opens with them and
closes when the list is emptied, without forcing it closed on small screens.
2026-11-09 09:57:02 +01:00
Olivier Floch
e70963dc74 fix(web-core): show the persistent side panel close button wherever closing collapses it
On a large screen with the panel unpinned, a persistent panel could not be
closed: closing collapses it there as on small screens.
2026-11-09 09:57:02 +01:00
Olivier Floch
a654570dd1 test(web): share the V2V datastore filters and the VMs step query 2026-11-09 09:57:02 +01:00
Olivier Floch
38522688ca fix(web): name the root of the V2V selected VMs panel and item after the component 2026-11-09 09:57:02 +01:00
Olivier Floch
b5a6a0f2b2 fix(web-core): add the zero form of the French V2V VM step counts 2026-11-09 09:57:02 +01:00
Olivier Floch
9f10b3f942 refactor(web): read the V2V connection from the wizard context in the VMs step 2026-11-09 09:57:02 +01:00
Olivier Floch
8c14ebbb0c fix(web): leave a V2V VM not found in the source without a kind tag
A VM gone from the source is neither new nor resumed: its check alone tells it.
2026-11-09 09:57:02 +01:00