Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce enhancement for mapping OVA disks #1213

Merged
merged 3 commits into from
Dec 19, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions docs/enhancements/multidisk-ova.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: multidisk-ova
authors:
- "@mansam"
reviewers:
- "@mnecas"
approvers:
- "@mnecas"
creation-date: 2024-11-26
last-updated: 2024-11-26
status: implementable
---

# Storage Mapping for multi-disk OVA Imports

## Release Signoff Checklist

- [ ] Enhancement is `implementable`
- [ ] Design details are appropriately documented from clear requirements
- [ ] Test plan is defined
- [ ] User-facing documentation is created

## Summary

In the current release of Forklift it is possible to import OVA appliances
that have been exported from a vSphere environment. However, all of
an appliance's disks are mapped to the same storage class, and it is
not possible for the end user to indicate that certain disks should be
mapped differently from others. In order to support more use cases, it
should be possible to select map a destination storage class for each
disk of an OVA appliance individually. Forklift does not normally allow
such fine-grained storage mapping because it becomes untenable with a
large number of VMs, but because an OVA plan is expected to involve only
a small number of VMs it should be acceptable.

### Goals

* Forklift will enable end users to individually map each disk of a
vSphere OVA appliance to a destination storage class of their choice.

### Non-Goals

* Forklift will not allow fine-grained storage mapping for any VM providers
other than OVA.

## Proposal

The OVA inventory adapter should be modified to surface each disk from each
OVA appliance as its own source storage class. The OVA VM builder would then
be modified to respect these mappings when building the DataVolumes rather
than assuming only a single mapping.
mnecas marked this conversation as resolved.
Show resolved Hide resolved

### Security, Risks, and Mitigations

No new security risks are introduced by permitting disks to be mapped individually.
mnecas marked this conversation as resolved.
Show resolved Hide resolved

## Design Details

### Test Plan

Existing tests for the OVA provider should be updated to include individual disk mappings. No additional
tests should be necessary.

### Upgrade / Downgrade Strategy

Permitting OVA disks to be mapped individually does not require
any changes to the update or downgrade path of Forklift itself, although Plans
created with this feature would not be compatible with a downgraded version of
Forklift.

### Open Questions

Should we continue, to support a default mapping or require each disk to be specifically mapped?
Allowing a default would preserve the current ease of use for simple cases, but may make it easier
to make mistakes since plan validation would not be able to ensure that each of the disks had been mapped as desired.
mnecas marked this conversation as resolved.
Show resolved Hide resolved

## Implementation History

* 11/26/2024 - Enhancement submitted.
Loading