Skip to content

doc: add new section for EFI/vTPM cloning, fix the out of date page in 1.8#1061

Merged
pohanhuang merged 2 commits into
harvester:mainfrom
pohanhuang:HARV-9182
Jul 1, 2026
Merged

doc: add new section for EFI/vTPM cloning, fix the out of date page in 1.8#1061
pohanhuang merged 2 commits into
harvester:mainfrom
pohanhuang:HARV-9182

Conversation

@pohanhuang

@pohanhuang pohanhuang commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Problem:

  • vm clone page is out of date in v1.8
  • miss the EFI/vTPM cloning feature

Solution:

  • fix vm clone page is out of date in v1.8
  • add the EFI/vTPM cloning feature

Related Issue(s):

harvester/harvester#9182

Test plan:

Additional documentation or context

v1.8

v1 8

v1.9

v1 9 efi-cloning

Copilot AI review requested due to automatic review settings June 17, 2026 04:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the VM cloning documentation to reflect current UI behavior and documents EFI/vTPM persistent-state cloning behavior for the dev (v1.9) docs, while refreshing the v1.8 versioned page to remove outdated steps/screenshots.

Changes:

  • Refresh cloning steps to include run strategy selection and updated screenshots/wording.
  • Update v1.8 versioned clone doc screenshots from older /img/v1.2/... assets to /img/v1.8/....
  • Add a new “EFI and vTPM Persistent State” section to the current (v1.9 Dev) clone documentation.

Reviewed changes

Copilot reviewed 2 out of 5 changed files in this pull request and generated 5 comments.

File Description
versioned_docs/version-v1.8/vm/clone-vm.md Updates v1.8 clone steps and screenshots to match current v1.8 UI.
docs/vm/clone-vm.md Updates current (v1.9 Dev) clone steps and adds EFI/vTPM persistent-state cloning guidance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/vm/clone-vm.md Outdated
Comment thread docs/vm/clone-vm.md Outdated
Comment thread docs/vm/clone-vm.md Outdated

:::note

EFI and vTPM persistent state is stored separately from the volumes listed in `vm.Spec.Template.Spec.Volumes`. Harvester creates this storage only after the source VM has been started at least once. If the source VM has never been started, cloning a VM with EFI or vTPM persistent state can fail because the required source storage does not exist.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pohanhuang Please address this comment.

Comment thread versioned_docs/version-v1.8/vm/clone-vm.md Outdated
Comment thread versioned_docs/version-v1.8/vm/clone-vm.md Outdated
@github-actions

github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown
Name Link
🔨 Latest commit 50e597f
😎 Deploy Preview https://6a44d3173c9816cd12f27318--harvester-preview.netlify.app

@jillian-maroket jillian-maroket left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review done. Please also apply the suggested changes to the v1.8 doc.

Comment thread docs/vm/clone-vm.md Outdated

VM can be cloned with/without data. This function doesn't need to take a VM snapshot or set up a backup target first.

The cloned VM inherits the source VM's basic configuration. Before cloning, you can update settings such as the VM name, volume data cloning, and [run strategy](./create-vm.md#run-strategy).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The cloned VM inherits the source VM's basic configuration. Before cloning, you can update settings such as the VM name, volume data cloning, and [run strategy](./create-vm.md#run-strategy).
The cloned virtual machine inherits the source's basic configuration. You can choose whether to include the source's volume data, as well as customize the clone's name and [run strategy](./create-vm.md#run-strategy).

Comment thread docs/vm/clone-vm.md Outdated

The cloned VM inherits the source VM's basic configuration. Before cloning, you can update settings such as the VM name, volume data cloning, and [run strategy](./create-vm.md#run-strategy).

## Clone VM with volume data

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Clone VM with volume data
## Clone a Virtual Machine with Volume Data

Comment thread docs/vm/clone-vm.md Outdated

## Clone VM with volume data

1. On the `Virtual Machines` page, click `Clone` of the VM actions.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. On the `Virtual Machines` page, click `Clone` of the VM actions.
1. On the **Virtual Machines** screen, locate the target virtual machine and select **⋮ > Clone**.
![clone-vm-with-data.png](/img/v1.8/vm/clone-vm-with-data.png)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The image is more relevant to this step.

Comment thread docs/vm/clone-vm.md Outdated
1. On the `Virtual Machines` page, click `Clone` of the VM actions.
1. Set a new VM name and click `Create` to create a new VM.
![clone-vm-with-data.png](/img/v1.2/vm/clone-vm-with-data.png)
2. Select a [run strategy](./create-vm.md#run-strategy). The cloned VM uses the source VM's run strategy by default.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Select a [run strategy](./create-vm.md#run-strategy). The cloned VM uses the source VM's run strategy by default.
1. Specify a unique name for the cloned virtual machine.
1. Select a [run strategy](./create-vm.md#run-strategy).
The cloned virtual machine uses the source's run strategy by default.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The suggested steps reflect how New Virtual Machine Name appears before Run Strategy.

Comment thread docs/vm/clone-vm.md Outdated
Comment on lines +28 to +29
3. Set a new VM name and click `Create` to create a new VM.
![clone-vm-with-data.png](/img/v1.8/vm/clone-vm-with-data.png)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. Set a new VM name and click `Create` to create a new VM.
![clone-vm-with-data.png](/img/v1.8/vm/clone-vm-with-data.png)
1. Click **Create**.

Comment thread docs/vm/clone-vm.md Outdated
Comment on lines +48 to +50
- If both EFI and vTPM are enabled, Harvester preserves both persistent states.
- If only EFI or only vTPM is enabled, Harvester preserves only the selected persistent state.
- If neither EFI nor vTPM is enabled, Harvester does not process the persistent state storage.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- If both EFI and vTPM are enabled, Harvester preserves both persistent states.
- If only EFI or only vTPM is enabled, Harvester preserves only the selected persistent state.
- If neither EFI nor vTPM is enabled, Harvester does not process the persistent state storage.
| EFI Status | vTPM Status | Harvester Behavior |
| --- | --- | --- |
| Enabled | Enabled | Preserves both persistent states |
| Enabled | Disabled | Preserves only the EFI state |
| Disabled | Enabled | Preserves only the vTPM state |
| Diasbled | Disabled | Skips processing of persistent state storage |

Comment thread docs/vm/clone-vm.md Outdated
- If only EFI or only vTPM is enabled, Harvester preserves only the selected persistent state.
- If neither EFI nor vTPM is enabled, Harvester does not process the persistent state storage.

The cloned VM may stay in the `Pending` state while Harvester copies and prepares the persistent state storage.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The cloned VM may stay in the `Pending` state while Harvester copies and prepares the persistent state storage.
The cloned virtual machine may remain in the `Pending` state while Harvester prepares the persistent state storage.

Comment thread docs/vm/clone-vm.md Outdated

![efi-tpm-clone.png](/img/v1.9/vm/efi-tpm-clone.png)

:::note

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:::note
:::caution

Comment thread docs/vm/clone-vm.md Outdated

:::note

EFI and vTPM persistent state is stored separately from the volumes listed in `vm.Spec.Template.Spec.Volumes`. Harvester creates this storage only after the source VM has been started at least once. If the source VM has never been started, cloning a VM with EFI or vTPM persistent state can fail because the required source storage does not exist.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pohanhuang Please address this comment.

Comment thread docs/vm/clone-vm.md Outdated
Comment on lines +60 to +64
:::

:::caution

Because the persistent state is copied from the source VM, guest-visible firmware identifiers such as the firmware UUID will be the same on the cloned VM. The cloned VM still has its own VM object identity in Harvester.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:::
:::caution
Because the persistent state is copied from the source VM, guest-visible firmware identifiers such as the firmware UUID will be the same on the cloned VM. The cloned VM still has its own VM object identity in Harvester.
Because the persistent state is copied directly from the source, the cloned virtual machine will inherit identical guest-visible firmware identifiers (including the firmware UUID). However, the clone retains its own virtual machine object identity within Harvester.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest that we combine the two notes.

…n 1.8

Signed-off-by: pohanhuang <pohan.huang@suse.com>

fix: add efi tpm screen shot
Signed-off-by: pohanhuang <pohan.huang@suse.com>
@pohanhuang

Copy link
Copy Markdown
Contributor Author

@jillian-maroket thanks for the review.
I've address the comments you mentioned, please help review when you are available.
Thanks

@mergify

mergify Bot commented Jul 1, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@pohanhuang pohanhuang merged commit 7b64608 into harvester:main Jul 1, 2026
4 checks passed
@jillian-maroket jillian-maroket added the product-doc/added Content added to SUSE Virtualization doc label Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

product-doc/added Content added to SUSE Virtualization doc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants