diff --git a/docs/404.html b/docs/404.html index e6a68ca..c02baae 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,4 +1,4 @@ - 404 | vJailbreak + Skip to content
Skip to content
+ Skip to content
Skip to content

Overview

Below is high level architecture of how vJailbreak works. vJailbreak runs +

Overview

Below is high level architecture of how vJailbreak works. vJailbreak runs in a virtual machine in the target OpenStack environment. vJailbreak connects with VMware environment via vSphere APIs, using the VDDK library for the Standard copy method only. vJailbreak Accelerated Copy and Storage-Accelerated Copy transfer disk data without requiring VDDK. It also uses the OpenStack SDK to interact with the OpenStack environment and perform the necessary provisioning operations including creation of volumes, VMs.

-

vJailbreak Architecture

\ No newline at end of file +

vJailbreak Architecture

\ No newline at end of file diff --git a/docs/architecture/components/index.html b/docs/architecture/components/index.html index 567d256..313146b 100644 --- a/docs/architecture/components/index.html +++ b/docs/architecture/components/index.html @@ -1,4 +1,4 @@ - Components | vJailbreak + Skip to content
Skip to content

Components

Below is an overview of each component and its role in the migration process.

+

Components

Below is an overview of each component and its role in the migration process.

v2v-helper

The v2v-helper is the main application responsible for executing the migration process. It is designed to run as a pod within the vJailbreak virtual machine (VM) in the target OpenStack environment.

UI

@@ -159,4 +159,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

The migration-controller is a Kubernetes controller that schedules and manages the migration tasks. It ensures that migrations are executed efficiently and in accordance with the defined policies.

v2v-cli

The v2v-cli is a command-line interface tool that can initiate the migration process. While it is available, it is not required in the current version of vJailbreak, as the primary interface is the UI.

-

By understanding these components, users can better appreciate the architecture and functionality of vJailbreak, enabling them to effectively manage and execute VM migrations.

\ No newline at end of file +

By understanding these components, users can better appreciate the architecture and functionality of vJailbreak, enabling them to effectively manage and execute VM migrations.

\ No newline at end of file diff --git a/docs/architecture/vjailbreak-vm/index.html b/docs/architecture/vjailbreak-vm/index.html index bad56a1..92760ef 100644 --- a/docs/architecture/vjailbreak-vm/index.html +++ b/docs/architecture/vjailbreak-vm/index.html @@ -1,4 +1,4 @@ - vJailbreak VM | vJailbreak + Skip to content
Skip to content

vJailbreak VM

As part of the deployment process, vJailbreak is shipped as a virtual machine (VM) that can be deployed in the target OpenStack environment. The VM is configured with the necessary resources, including sufficient memory and processing power, to handle the migration tasks efficiently.

+

vJailbreak VM

As part of the deployment process, vJailbreak is shipped as a virtual machine (VM) that can be deployed in the target OpenStack environment. The VM is configured with the necessary resources, including sufficient memory and processing power, to handle the migration tasks efficiently.

The vJailbreak VM comes with a k3s deployment that runs various components as pods. The components include the v2v-helper, UI, and migration-controller as described in the components.

The vJailbreak VM can be scaled out to handle multiple migration tasks concurrently. This is achieved by deploying additional vJailbreak VMs in the target OpenStack environment. For more information on scaling vJailbreak, see the scaling guide.

-

vJailbreak VM

\ No newline at end of file +

vJailbreak VM

\ No newline at end of file diff --git a/docs/archives/release_notes/index.html b/docs/archives/release_notes/index.html index e1088c8..838363b 100644 --- a/docs/archives/release_notes/index.html +++ b/docs/archives/release_notes/index.html @@ -1,4 +1,4 @@ - Archived Releases | vJailbreak + Skip to content
Skip to content

Archived Releases

Archived Releases

v0.1.2

What’s Changed

  • Upgrade min version to v0.1.1 by @tanaypf9 in https://github.com/platform9/vjailbreak/pull/71
  • @@ -943,7 +943,7 @@ description: Release Notes for v0.4.1

    Users upgrading from v0.4.0 to v0.4.1 need to follow the steps below:

    Step 1: Update v0.4.0 Container Images

    In your existing v0.4.0 setup, update the deployment images to pull the latest v0.4.0 containers and set imagePullPolicy to Always using the following command:

    -
    Terminal window
    kubectl patch deployment migration-controller-manager -n migration-system --type='json' \
    -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"Always"}]' && \
    kubectl patch deployment migration-vpwned-sdk -n migration-system --type='json' \
    -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"Always"}]' && \
    kubectl patch deployment vjailbreak-ui -n migration-system --type='json' \
    -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"Always"}]'
    +
    Terminal window
    kubectl patch deployment migration-controller-manager -n migration-system --type='json' \
    -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"Always"}]' && \
    kubectl patch deployment migration-vpwned-sdk -n migration-system --type='json' \
    -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"Always"}]' && \
    kubectl patch deployment vjailbreak-ui -n migration-system --type='json' \
    -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"Always"}]'
    Step 2: Restart Deployments

    Restart the deployments to ensure the updated images are pulled and running:

    Terminal window
    kubectl rollout restart deployment -n migration-system
    @@ -1096,4 +1096,4 @@ description: Release Notes for v0.4.1
  • Fixed migration issue for shared rdm disk by @geet-pf9 in https://github.com/platform9/vjailbreak/pull/1902
  • chore: Pre-release CRD generation for v0.4.5 by @github-actions[bot] in https://github.com/platform9/vjailbreak/pull/1904
-

Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.4…v0.4.5

\ No newline at end of file +

Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.4…v0.4.5

\ No newline at end of file diff --git a/docs/concepts/cluster-conversion/index.html b/docs/concepts/cluster-conversion/index.html index 9354eac..1e41c26 100644 --- a/docs/concepts/cluster-conversion/index.html +++ b/docs/concepts/cluster-conversion/index.html @@ -1,4 +1,4 @@ - Cluster Conversion | vJailbreak + Skip to content
Skip to content

Cluster Conversion

vJailbreak offers two primary migration options

+

Cluster Conversion

vJailbreak offers two primary migration options

VM Migration

The default option, where a user selects a set of VMs within VMware, across clusters and migrates them. This keeps the source VM intact and creates a new copy of them into OpenStack/PCD.

@@ -165,4 +165,4 @@ This is done through ‘evacuating’ the ESXi host and converting it into PCD h

The detailed configuration steps are described in cluster conversion guide.

See below the diagram of the cluster conversion setup.

Cluster conversion

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/concepts/credential-management/index.html b/docs/concepts/credential-management/index.html index a59ed07..869a854 100644 --- a/docs/concepts/credential-management/index.html +++ b/docs/concepts/credential-management/index.html @@ -1,4 +1,4 @@ - Credential Management | vJailbreak + Skip to content
Skip to content

Credential Management

Before you start using vJailbreak, you need to provide credentials for both the VMware vCenter and OpenStack/PCD environments.

+

Credential Management

Before you start using vJailbreak, you need to provide credentials for both the VMware vCenter and OpenStack/PCD environments.

VMware vCenter Credentials

VMware vCenter credentials are required to connect to the vCenter server and retrieve information about the virtual machines you want to migrate.

The credentials should have enough permissions to retrieve information about the virtual machines you want to migrate and if you are looking to the cluster conversion, the credentials should have enough permissions to retrieve information about the cluster, put host into maintenance mode, etc (see Cluster Conversion for more details).

@@ -254,7 +254,7 @@ The credentials also take the Datacenter name and the VMs, Hosts being worked on

The project specified in OS_PROJECT_NAME must exist and have sufficient quotas for the VMs being migrated.

Example Admin RC File (Password-Based)

-
Terminal window
export OS_USERNAME=<your-username>
export OS_PASSWORD=<your-password>
export OS_AUTH_URL=https://<fqdn of the openstack/pcd>/keystone/v3
export OS_AUTH_TYPE=password
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=region-1
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_PROJECT_NAME=service
export OS_INTERFACE=public
export OS_INSECURE=false
+
Terminal window
export OS_USERNAME=<your-username>
export OS_PASSWORD=<your-password>
export OS_AUTH_URL=https://<fqdn of the openstack/pcd>/keystone/v3
export OS_AUTH_TYPE=password
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=region-1
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_PROJECT_NAME=service
export OS_INTERFACE=public
export OS_INSECURE=false

Token-Based Authentication

In addition to password-based authentication, vJailbreak also supports token-based authentication for OpenStack/PCD environments.

@@ -340,8 +340,8 @@ The credentials also take the Datacenter name and the VMs, Hosts being worked on

Credential Revalidation

Revalidation re-runs the same flow that runs on credential creation. It is triggered automatically by the controller and can also be initiated manually from the UI.

-

img1 -img1

+

img1 +img1

What Revalidation Does

When a credential is revalidated, vJailbreak performs two steps:

    @@ -378,4 +378,4 @@ The credentials also take the Datacenter name and the VMs, Hosts being worked on

    Revalidating too early may result in missing IP information, which can prevent proper IP preservation on the destination and cause migration issues.

    Note: vJailbreak will show a warning for VMs where network interfaces are detected but IPs could not be discovered.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/concepts/migration-options/index.html b/docs/concepts/migration-options/index.html index df4b0c9..6a976a8 100644 --- a/docs/concepts/migration-options/index.html +++ b/docs/concepts/migration-options/index.html @@ -1,4 +1,4 @@ - Migration Options | vJailbreak + Skip to content
Skip to content

Migration Options

vJailbreak provides a number of options to optimize and control the migration process. These options are available in the migration wizard under “Migration Options”.

+

Migration Options

vJailbreak provides a number of options to optimize and control the migration process. These options are available in the migration wizard under “Migration Options”.

Copy options

There are several options available to control how data is copied during migration.

Data copy method

@@ -241,4 +241,4 @@ only method that requires VDDK.

When enabled, vJailbreak preserves the source VM’s network interface names on the destination VM (for example, eth0 or ens3). This prevents breaking guest configurations—such as firewall rules or legacy scripts—that depend on specific interface names.

For statically configured interfaces, vJailbreak also preserves routes defined in configuration files, ensuring the guest retains its original network behavior after migration.

To enable this behavior, check Persist source network interfaces under Migration Options in the migration form.

-

For more information, refer to the Network Persistence documentation.

\ No newline at end of file +

For more information, refer to the Network Persistence documentation.

\ No newline at end of file diff --git a/docs/concepts/network-persistence/index.html b/docs/concepts/network-persistence/index.html index be41cf1..002cd9d 100644 --- a/docs/concepts/network-persistence/index.html +++ b/docs/concepts/network-persistence/index.html @@ -1,4 +1,4 @@ - Network Persistence | vJailbreak + Skip to content
Skip to content

Network Persistence

Network Persistence Post-Migration

+

Network Persistence

Network Persistence Post-Migration

This document details the mechanism for ensuring network interface persistence following a virtual machine migration for both Linux and Windows operating systems.

Prerequisites

Network persistence is only applied when the “Persist source network interfaces” option is enabled in the migration form. This option must be selected during migration configuration to ensure that network interface names are preserved on the destination VM.

@@ -274,4 +274,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
\ No newline at end of file +Windows Dynamic Disk (LDM) Migration.

\ No newline at end of file diff --git a/docs/concepts/network-storage-mapping/index.html b/docs/concepts/network-storage-mapping/index.html index 85d0bc2..d48dfa2 100644 --- a/docs/concepts/network-storage-mapping/index.html +++ b/docs/concepts/network-storage-mapping/index.html @@ -1,4 +1,4 @@ - Network & Storage Mapping | vJailbreak + Skip to content
Skip to content

Network & Storage Mapping

A large scale VMWare migration may require a large number of VMs to be migrated. In such cases, it is recommended to use network and storage mapping to optimize the migration process and keep both the environments running at the same time while migration is progressing. Network and Storage mapping are part of the migration wizard and are required for the migration to proceed.

+

Network & Storage Mapping

A large scale VMWare migration may require a large number of VMs to be migrated. In such cases, it is recommended to use network and storage mapping to optimize the migration process and keep both the environments running at the same time while migration is progressing. Network and Storage mapping are part of the migration wizard and are required for the migration to proceed.

Network Mapping

vJailbreak recognizes the different types of networks in VMware and OpenStack/PCD environments. We recommend to create the OpenStack/PCD networks in advance such that some multi-VM applications can continue to run while the migration is in progress.

@@ -179,4 +179,4 @@ We recommend to create the OpenStack/PCD networks in advance such that some mult

For environments where both VMware and OpenStack share the same storage array (Pure Storage or NetApp), vJailbreak supports Storage-Accelerated Copy. This method leverages storage array-level XCOPY operations to dramatically improve migration performance by offloading the data copy to the storage array itself.

Instead of copying data over the network (limited to ~1 Gbps per VMDK), Storage-Accelerated Copy performs the copy directly on the storage array at array speeds, which can be considerably faster than normal copy.

See Storage-Accelerated Copy for detailed configuration and usage instructions.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/concepts/storage-accelerated-copy/index.html b/docs/concepts/storage-accelerated-copy/index.html index cd98973..fffb958 100644 --- a/docs/concepts/storage-accelerated-copy/index.html +++ b/docs/concepts/storage-accelerated-copy/index.html @@ -1,4 +1,4 @@ - Storage Accelerated Copy | vJailbreak + Skip to content
Skip to content

Storage Accelerated Copy

Storage Accelerated Copy is an advanced data copy method that leverages storage array level XCOPY operations to dramatically improve migration performance. Instead of copying data over the network via the traditional NBD/NFC protocol, this method offloads the data copy to the storage array itself, achieving significantly faster transfer speeds.

+

Storage Accelerated Copy

Storage Accelerated Copy is an advanced data copy method that leverages storage array level XCOPY operations to dramatically improve migration performance. Instead of copying data over the network via the traditional NBD/NFC protocol, this method offloads the data copy to the storage array itself, achieving significantly faster transfer speeds.

@@ -237,7 +237,7 @@ availability.

Step 2: Generate SSH Key Pair

On your workstation or the vJailbreak VM, generate an SSH key pair:

-
Terminal window
# Generate RSA key pair (recommended for ESXi compatibility)
ssh-keygen -t rsa -b 4096 -f ~/.ssh/esxi_migration_key -C "vjailbreak-migration"
+
Terminal window
# Generate RSA key pair (recommended for ESXi compatibility)
ssh-keygen -t rsa -b 4096 -f ~/.ssh/esxi_migration_key -C "vjailbreak-migration"
# When prompted:
# - Enter passphrase: Leave empty (press Enter) for passwordless authentication
# - Confirm passphrase: Press Enter again

This will create two files:

    @@ -402,10 +402,10 @@ availability.

ColumnDescription
NameAuto-generated name based on volume type and backend
VendorStorage array vendor (NetApp Storage, Pure Storage, N/A)
Volume TypeCinder volume type name
Backend NameCinder backend name from configuration
Source”Auto-discovered” for automatically detected backends
Credentials”Pending” until user provides array credentials
ActionsEdit (to add credentials) and Delete
-

Storage Management Page

+

Storage Management Page

Example: PCD with Multiple Storage Backends

In PCD, storage backends are configured in the Cluster Blueprint under Persistent Storage Connectivity. Each volume backend can have multiple configurations, and each configuration represents a connection to a storage array.

-

PCD Cluster Blueprint - Storage Configuration

+

PCD Cluster Blueprint - Storage Configuration

In the example above, PCD has three volume backends configured:

  1. nfs - NFS backend with driver “NFS”
  2. @@ -457,7 +457,7 @@ availability.

Click the Edit icon for a storage array entry

-

Storage Array Credentials Edit

+

Storage Array Credentials Edit

  1. Fill in the storage array credentials:
      @@ -488,7 +488,7 @@ availability.

  1. When creating a migration plan, select Storage-Accelerated Copy as the storage copy method
-

Storage Accelerated Copy

+

Storage Accelerated Copy

  1. The UI will automatically map datastores to ArrayCreds if everything is configured correctly
  2. Start the migration - it will use array-level XCOPY for data transfer
  3. @@ -752,4 +752,4 @@ availability.

  • Monitor array performance: Large migrations can impact array performance
  • Use for large VMs: The setup overhead makes this most beneficial for VMs with large disks
  • Batch similar VMs: Group VMs on the same datastore for efficient migrations
  • -
    \ No newline at end of file + \ No newline at end of file diff --git a/docs/concepts/user-management/index.html b/docs/concepts/user-management/index.html index 00c835f..3eeff01 100644 --- a/docs/concepts/user-management/index.html +++ b/docs/concepts/user-management/index.html @@ -1,4 +1,4 @@ - User Credential Management | vJailbreak + Skip to content
    Skip to content

    User Credential Management

    Overview

    +

    User Credential Management

    Overview

    Use vjbctl to manage user credentials: list users, delete users, change passwords, and refresh credentials.

    Assumptions

    Before you start, ensure the following prerequisites are fulfilled:

    @@ -159,7 +159,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    Command Reference

    The following commands are available for user credential management:

    -
    Terminal window
    # List users
    vjbctl user list
    +
    Terminal window
    # List users
    vjbctl user list
    # create a new user
    vjbctl user create <username>
    # Delete a user
    vjbctl user delete <username>
    # Change a user's password
    vjbctl user change-password <username>
    @@ -192,4 +192,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    Terminal window
    # Inspect existing users
    vjbctl user list
    # Create a new user
    vjbctl user create john.doe
    # For changes to be reflected, refresh
    vjbctl user refresh
    # Update password for a specific user
    vjbctl user change-password jane.doe
    # For changes to be reflected, refresh
    vjbctl user refresh
    -
    # Remove a deprovisioned user
    vjbctl user delete temp.user
    # For changes to be reflected, refresh
    vjbctl user refresh
    \ No newline at end of file +
    # Remove a deprovisioned user
    vjbctl user delete temp.user
    # For changes to be reflected, refresh
    vjbctl user refresh
    \ No newline at end of file diff --git a/docs/concepts/vjailbreak-accelerated-copy/index.html b/docs/concepts/vjailbreak-accelerated-copy/index.html index e9cee65..e5dc1e1 100644 --- a/docs/concepts/vjailbreak-accelerated-copy/index.html +++ b/docs/concepts/vjailbreak-accelerated-copy/index.html @@ -1,4 +1,4 @@ - vJailbreak Accelerated Copy | vJailbreak + Skip to content
    Skip to content

    vJailbreak Accelerated Copy

    vJailbreak Accelerated Copy is an advanced data copy method that attaches source VM disks directly to a dedicated Proxy VM and streams the data over NBD (Network Block Device) to the destination. Instead of copying data over the NFC protocol from ESXi, this method leverages vCenter’s disk-attach capability to transfer data at near-disk speeds without requiring shared storage arrays.

    +

    vJailbreak Accelerated Copy

    vJailbreak Accelerated Copy is an advanced data copy method that attaches source VM disks directly to a dedicated Proxy VM and streams the data over NBD (Network Block Device) to the destination. Instead of copying data over the NFC protocol from ESXi, this method leverages vCenter’s disk-attach capability to transfer data at near-disk speeds without requiring shared storage arrays.

    Underlying feature: vJailbreak Accelerated Copy is powered by VMware’s hot-add disk transport mechanism to attach source disks to the Proxy VM.

    @@ -233,7 +233,7 @@ recommended copy method when VMware’s VDDK download pages are unavailable.

    Option B: Register an Existing Linux VM

    Any Linux VM can serve as the Proxy VM provided it meets the requirements. Install the necessary utilities:

    Ubuntu / Debian:

    -
    Terminal window
    sudo apt update
    sudo apt install -y openssh-server qemu-utils
    +
    Terminal window
    sudo apt update
    sudo apt install -y openssh-server qemu-utils

    Alpine:

    Terminal window
    apk update
    apk add openssh qemu-nbd
    @@ -504,4 +504,4 @@ recommended copy method when VMware’s VDDK download pages are unavailable.

  • Monitor disk space: Snapshot delta files consume datastore space — ensure the source VM’s datastore has at least 20% free space
  • Use the recommended OVA: The pre-built OVA is tested and configured correctly; custom VMs require manual validation of all prerequisites
  • Rotate SSH keys: Use a dedicated key pair for vJailbreak and rotate it periodically
  • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/cli-api/migrating_rdm_disk_windows_cluster_machine_using_cli/index.html b/docs/guides/cli-api/migrating_rdm_disk_windows_cluster_machine_using_cli/index.html index 3291dad..331a3bd 100644 --- a/docs/guides/cli-api/migrating_rdm_disk_windows_cluster_machine_using_cli/index.html +++ b/docs/guides/cli-api/migrating_rdm_disk_windows_cluster_machine_using_cli/index.html @@ -1,4 +1,4 @@ - Migrating RDM Disk | vJailbreak + Skip to content
    Skip to content

    Migrating RDM Disk

    RDM disks are primarily used for clustered Windows machines.

    +

    Migrating RDM Disk

    RDM disks are primarily used for clustered Windows machines.

    This guide walks you through the steps required to migrate a VM with RDM (Raw Device Mapping) disks using the CLI.

    RDM disk migration is only supported for PCD version >= July 2025 (2025.7) and is not supported for OpenStack.


    @@ -172,7 +172,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    You can fetch cinderBackendPool and volumeType values using:

    By describing the OpenStack credentials in vjailbreak:

    -
    Terminal window
    kubectl describe openstackcreds <openstackcredsname> -n migration-system
    +
    Terminal window
    kubectl describe openstackcreds <openstackcredsname> -n migration-system

    After describing the OpenStack credentials, look for volumeTypes and volumeBackend. Gather the volumeTypes and volumeBackend values that need to be patched as mentioned in step 4 of Migration steps.

    Alternatively you can also gather details using openstack cli

    Terminal window
    openstack volume backend pool list
    openstack volume type list
    @@ -316,4 +316,4 @@ Deleting the volume will also remove the associated LUN reference from the stora

    Re-attach RDM disk on failure

    1. Power on all the VMs on VMware.
    2. -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/cli-api/migrating_using_cli_and_kubectl/index.html b/docs/guides/cli-api/migrating_using_cli_and_kubectl/index.html index 9861457..18f1d70 100644 --- a/docs/guides/cli-api/migrating_using_cli_and_kubectl/index.html +++ b/docs/guides/cli-api/migrating_using_cli_and_kubectl/index.html @@ -1,4 +1,4 @@ - Use CLI to Migrate | vJailbreak + Skip to content
    Skip to content

    Use CLI to Migrate

    vJailbreak comprises multiple Kubernetes Controllers which work on Custom Resources (CRs). When we perform the migrations through the UI, the UI itself takes care of creating these CRs for us, hence paving the way for migration to happen. In this tutorial, we will understand how we can migrate a VM using vJailbreak via CLI.

    +

    Use CLI to Migrate

    vJailbreak comprises multiple Kubernetes Controllers which work on Custom Resources (CRs). When we perform the migrations through the UI, the UI itself takes care of creating these CRs for us, hence paving the way for migration to happen. In this tutorial, we will understand how we can migrate a VM using vJailbreak via CLI.

    Flow of information and resource creation

    Before moving to the action, let’s understand the various resources that will be created to perform a migration, and how they are related to each other. -image

    +image

    Note: In the diagram above, the specification/configuration flows towards the arrow, and the status travels backwards (from v2v-helper Pod up till MigrationPlan).

    Glossary

    Let’s get familiar with the resources mentioned in the diagram above. These resources are used by vJailbreak to perform the migration.

    @@ -209,7 +209,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    For creating the resources, we will need some values to put into the YAML manifests. Let’s gather those values first.

    Gather the credentials to VMware vCenter and OpenStack

    Check the resource name for the VMware vCenter credentials using the following command:

    -
    kubectl get vmwarecreds -n <namespace>
    +
    kubectl get vmwarecreds -n <namespace>

    Note: The default namespace for vJailbreak ecosystem is migration-system.

    Copy the name of the VMwareCreds resource that refers to the vCenter hosting the VM you want to migrate. This will be used when creating the MigrationTemplate. For example, if following is the output of the above command:

    $ kubectl get vmwarecreds -n migration-system
    NAME STATUS
    vcenter-a Succeeded
    @@ -349,4 +349,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    • To tail the live logs, we can use the -f flag.
    -

    This way, we can automate the migration for n numbers of Virtual Machines, from VMware to OpenStack, using vJailbreak via kubectl.

    \ No newline at end of file +

    This way, we can automate the migration for n numbers of Virtual Machines, from VMware to OpenStack, using vJailbreak via kubectl.

    \ No newline at end of file diff --git a/docs/guides/cluster-conversion/cluster-conversion/index.html b/docs/guides/cluster-conversion/cluster-conversion/index.html index c533567..30ee403 100644 --- a/docs/guides/cluster-conversion/cluster-conversion/index.html +++ b/docs/guides/cluster-conversion/cluster-conversion/index.html @@ -1,4 +1,4 @@ - Cluster Conversion | vJailbreak + Skip to content
    Skip to content

    Cluster Conversion

    The following outlines the steps to use the vJailbreak RollingConversion feature, which is exclusively available and compatible with Platform9 Private Cloud Director (PCD).

    +

    Cluster Conversion

    The following outlines the steps to use the vJailbreak RollingConversion feature, which is exclusively available and compatible with Platform9 Private Cloud Director (PCD).

    Pre-migration checks

    Before starting the RollingConversion process, ensure the following checks are completed:

      @@ -260,4 +260,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    1. If at least one ESXi conversion is successful, vJailbreak will start to migrate VMs (from the list in “Rolling Conversion Form”) to PCD (to the specified target Cluster)
    2. RollingConversion is marked successful if all (selected) ESXi are converted and all (selected) VMs are moved to PCD.
    3. -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/cluster-conversion/maas-enablement/index.html b/docs/guides/cluster-conversion/maas-enablement/index.html index 44c4cc8..c4e9985 100644 --- a/docs/guides/cluster-conversion/maas-enablement/index.html +++ b/docs/guides/cluster-conversion/maas-enablement/index.html @@ -1,4 +1,4 @@ - Add ESXi to MAAS | vJailbreak + Skip to content
    Skip to content

    Add ESXi to MAAS

    vJailbreak uses MAAS to manage the ESXi hosts and boot them into PCD hypervisor. +

    Add ESXi to MAAS

    vJailbreak uses MAAS to manage the ESXi hosts and boot them into PCD hypervisor. MAAS has a state machine for each machine that it manages. The machines by default are assumed to be ‘empty’ and available for deployment. The machines are managed by MAAS by booting them with ephemeral image to discover the hardware.

    Prerequisites

    @@ -167,5 +167,5 @@ assumed to be ‘empty’ and available for deployment. The machines are managed inadvertently. The process in detail is described [here].

    This requires you to have a MAAS cli. The MAAS cli can be used to add any machine in the ‘deployed’ state.

    -
    $ maas $profile machines create deployed=true hostname=mymachine \
    architecture=amd64 mac_addresses=00:16:3e:df:35:bb power_type=ipmi \
    power_parameters_power_address=<IPMI_IP> \
    power_parameters_power_user=<IPMI_USER> \
    power_parameters_power_pass=<IPMI_PASSWORD>
    -

    Note: Replace power_type=manual with appropriate IPMI power type and include IPMI credentials as shown above.

    \ No newline at end of file +
    $ maas $profile machines create deployed=true hostname=mymachine \
    architecture=amd64 mac_addresses=00:16:3e:df:35:bb power_type=ipmi \
    power_parameters_power_address=<IPMI_IP> \
    power_parameters_power_user=<IPMI_USER> \
    power_parameters_power_pass=<IPMI_PASSWORD>
    +

    Note: Replace power_type=manual with appropriate IPMI power type and include IPMI credentials as shown above.

    \ No newline at end of file diff --git a/docs/guides/how-to/ai_analysis/index.html b/docs/guides/how-to/ai_analysis/index.html index 172ea32..0bc7ee9 100644 --- a/docs/guides/how-to/ai_analysis/index.html +++ b/docs/guides/how-to/ai_analysis/index.html @@ -1,4 +1,4 @@ - AI-Powered Migration Failure Analysis | vJailbreak + Skip to content
    Skip to content

    AI-Powered Migration Failure Analysis

    vJailbreak includes an AI analysis feature that inspects failed migration logs, Kubernetes resource conditions, and known failure patterns to identify root causes and suggest fix steps — without manual log triage.

    +

    AI-Powered Migration Failure Analysis

    vJailbreak includes an AI analysis feature that inspects failed migration logs, Kubernetes resource conditions, and known failure patterns to identify root causes and suggest fix steps — without manual log triage.

    Prerequisites

      @@ -167,7 +167,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

      The key is stored in a Kubernetes Secret in migration-system and never exposed after saving. The AI service restarts automatically to pick up the new key.

      2. Verify the AI service is running

      -
      Terminal window
      kubectl -n migration-system get pods -l app=vjailbreak-ai
      +
      Terminal window
      kubectl -n migration-system get pods -l app=vjailbreak-ai

      The pod should be in Running state. If not, check logs:

      Terminal window
      kubectl -n migration-system logs -l app=vjailbreak-ai

      Using AI Analysis

      @@ -321,4 +321,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    • Whether CBT is enabled on the source VM
    • VDDK library path: ls -la /home/ubuntu/vmware-vix-disklib-distrib/
    • vJailbreak version: kubectl -n migration-system get deployment migration-controller-manager -o jsonpath='{.spec.template.spec.containers[0].image}'
    • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/how-to/building/index.html b/docs/guides/how-to/building/index.html index 267caf7..3e1e27a 100644 --- a/docs/guides/how-to/building/index.html +++ b/docs/guides/how-to/building/index.html @@ -1,4 +1,4 @@ - Build vJailbreak | vJailbreak + Skip to content
    Skip to content

    Build vJailbreak

    vJailbreak is intended to be run in a Kubernetes environment (k3s) on the appliance VM. In order to build and deploy the Kubernetes components, follow the instructions in k8s/migration to build and deploy the custom resources in the cluster.

    +

    Build vJailbreak

    vJailbreak is intended to be run in a Kubernetes environment (k3s) on the appliance VM. In order to build and deploy the Kubernetes components, follow the instructions in k8s/migration to build and deploy the custom resources in the cluster.

    In order to build v2v-helper,

    -
    make v2v-helper
    +
    make v2v-helper

    In order to build migration-controller,

    make vjail-controller

    In order to build the UI,

    make ui
    -

    Change the image names in the makefile to push to another repository.

    \ No newline at end of file +

    Change the image names in the makefile to push to another repository.

    \ No newline at end of file diff --git a/docs/guides/how-to/enable_kvm_nested_virtualization/index.html b/docs/guides/how-to/enable_kvm_nested_virtualization/index.html index 24b492a..3d872d0 100644 --- a/docs/guides/how-to/enable_kvm_nested_virtualization/index.html +++ b/docs/guides/how-to/enable_kvm_nested_virtualization/index.html @@ -1,4 +1,4 @@ - Enable KVM for virt-v2v (Nested Virtualization) | vJailbreak + Skip to content
    Skip to content

    Enable KVM for virt-v2v (Nested Virtualization)

    Overview

    +

    Enable KVM for virt-v2v (Nested Virtualization)

    Overview

    vJailbreak runs virt-v2v inside a Kubernetes pod (v2v-helper) to convert VM disks and inject drivers. By default, virt-v2v uses QEMU as its conversion backend. QEMU can run in two modes:

    @@ -174,7 +174,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    ModeHow it worksPerformance
    KVM (hardware-accelerated)Uses /dev/kvm — the host kernel’s KVM moduleFast
    TCG (software emulation)Pure software fallback, no /dev/kvm required~10–20× slower

    When /dev/kvm is not visible inside the pod, QEMU falls back to TCG and logs:

    -
    qemu-kvm: Could not access KVM kernel module: No such file or directory
    qemu-kvm: falling back to tcg
    +
    qemu-kvm: Could not access KVM kernel module: No such file or directory
    qemu-kvm: falling back to tcg

    Conversions still succeed but take significantly longer.

    How vJailbreak exposes /dev/kvm

    The v2v-helper pod already mounts the host /dev directory into the pod at /dev via a hostPath volume. This means if /dev/kvm exists on the vJailbreak VM, it is automatically visible inside the pod — no additional configuration is required.

    @@ -242,4 +242,4 @@ be used.

    -
    SymptomLikely causeFix
    Could not access KVM kernel module in logs/dev/kvm missing on vJailbreak VMEnable nested virt on the outer hypervisor and load the KVM module
    kvm_intel/kvm_amd module fails to loadVirtualization extensions not exposed by hypervisorConfigure the outer hypervisor to pass through CPU virt flags
    /dev/kvm present on VM but not in podUnlikely — the hostPath mount covers all of /devConfirm the pod spec has the /dev hostPath volume (default in vJailbreak)
    \ No newline at end of file +
    SymptomLikely causeFix
    Could not access KVM kernel module in logs/dev/kvm missing on vJailbreak VMEnable nested virt on the outer hypervisor and load the KVM module
    kvm_intel/kvm_amd module fails to loadVirtualization extensions not exposed by hypervisorConfigure the outer hypervisor to pass through CPU virt flags
    /dev/kvm present on VM but not in podUnlikely — the hostPath mount covers all of /devConfirm the pod spec has the /dev hostPath volume (default in vJailbreak)
    \ No newline at end of file diff --git a/docs/guides/how-to/firstboot_script_doc/index.html b/docs/guides/how-to/firstboot_script_doc/index.html index 9ad8940..459b20e 100644 --- a/docs/guides/how-to/firstboot_script_doc/index.html +++ b/docs/guides/how-to/firstboot_script_doc/index.html @@ -1,4 +1,4 @@ - Firstboot Script | vJailbreak + Skip to content
    Skip to content

    Firstboot Script

    Overview

    +

    Firstboot Script

    Overview

    The Firstboot Script feature allows users to run custom scripts automatically on virtual machines (VMs) immediately after they are migrated to Platform9 Cloud Director (PCD) or OpenStack environments. This capability is essential for automating post-migration configurations, installations, and other setup tasks that need to be performed on the VM upon its first boot.

    Following are some use cases for Firstboot Scripts:

      @@ -171,7 +171,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

      Multiple Script Blocks

      You can include multiple script blocks in a single migration plan.
      Separate each script block using the delimiter:

      -
      ### NEXT SCRIPT ###
      +
      ### NEXT SCRIPT ###

      Example:

      // WINDOWS-SCRIPT:
      Write-Host "Running Windows script part 1"
      ### NEXT SCRIPT ###
      @@ -217,8 +217,8 @@ Separate each script block using the delimiter:

    1. Use OS tags if the migration plan includes different operating systems
    2. Start the migration
    -

    img1 -img1

    +

    img1 +img1

    Note:
    Untagged script blocks run on all selected VMs.

    @@ -365,4 +365,4 @@ It ensures scripts run safely and continue even if reboots occur.

    1. Windows VMware tools Removal Script - A script to remove VMware tools/Drivers from Windows VMs
    2. VMware Residual Artifacts Documentation - Scan-based record of leftover VMware artifacts after uninstallation in v0.4.1
    3. -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/how-to/gpo_migration/index.html b/docs/guides/how-to/gpo_migration/index.html index 7305923..f3c9ae4 100644 --- a/docs/guides/how-to/gpo_migration/index.html +++ b/docs/guides/how-to/gpo_migration/index.html @@ -1,4 +1,4 @@ - Group Policy Object (GPO) VM Migration | vJailbreak + Skip to content
    Skip to content

    Group Policy Object (GPO) VM Migration

    Overview

    +

    Group Policy Object (GPO) VM Migration

    Overview

    Some Group Policy Object (GPO) settings can interfere with driver injection, which is critical for a successful VM migration. GPO is a Windows-specific feature that manages system settings for Windows VMs. Temporarily disabling these policies ensures that driver injection can proceed reliably.

    What is Affected by GPO

    Driver installation cannot be done properly, leading to:

    @@ -168,7 +168,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
  • Navigate to Driver Policies

    Go to:

    -
    Computer Configuration
    → Administrative Templates
    → System
    → Device Installation
    +
    Computer Configuration
    → Administrative Templates
    → System
    → Device Installation
  • Disable ALL restrictive policies here

    @@ -187,4 +187,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    Option 2: Sure Shot Way - Remove GPO via PowerShell

    Terminal window
    Remove-Item -Recurse -Force "C:\Windows\System32\GroupPolicy" -ErrorAction SilentlyContinue
    Remove-Item -Recurse -Force "C:\Windows\System32\GroupPolicyUsers" -ErrorAction SilentlyContinue
    Remove-Item -Recurse -Force "HKLM:\Software\Policies" -ErrorAction SilentlyContinue
    Remove-Item -Recurse -Force "HKCU:\Software\Policies" -ErrorAction SilentlyContinue
    gpupdate /force
    -

    The PowerShell method completely removes all local Group Policy settings. Use this only when GUI methods fail or when you need to ensure complete GPO removal.

  • \ No newline at end of file +

    The PowerShell method completely removes all local Group Policy settings. Use this only when GUI methods fail or when you need to ensure complete GPO removal.

    \ No newline at end of file diff --git a/docs/guides/how-to/injecting_custom_env/index.html b/docs/guides/how-to/injecting_custom_env/index.html index be5d920..89a956f 100644 --- a/docs/guides/how-to/injecting_custom_env/index.html +++ b/docs/guides/how-to/injecting_custom_env/index.html @@ -1,4 +1,4 @@ - Inject Environment Variables | vJailbreak + Skip to content
    Skip to content

    Inject Environment Variables

    Injecting environment variables into the VJB pods is a feature that allows users to inject environment variables into the VJB pods using a Kubernetes ConfigMap.

    +

    Inject Environment Variables

    Injecting environment variables into the VJB pods is a feature that allows users to inject environment variables into the VJB pods using a Kubernetes ConfigMap.

    Injecting Environment Variables During vJailbreak VM Provisioning

    1. Cloud-init populates environment variables

      Users must provide environment variables in the /etc/pf9/env file during provisioning, typically using a cloud-init script.

      Example cloud-init configuration using write_files:

      -
      write_files:
      - path: /etc/pf9/env
      content: |
      http_proxy=http://<proxy-server>:<proxy-port>
      https_proxy=http://<proxy-server>:<proxy-port>
      no_proxy=localhost,127.0.0.1
      permissions: '0644'
      +
      write_files:
      - path: /etc/pf9/env
      content: |
      http_proxy=http://<proxy-server>:<proxy-port>
      https_proxy=http://<proxy-server>:<proxy-port>
      no_proxy=localhost,127.0.0.1
      permissions: '0644'
    2. ConfigMap creation from /etc/pf9/env

      @@ -192,4 +192,4 @@ This is done while the vjailbreak VM is being provisioned.

      Trigger a new migration for the envs to be reflected in the pod

      Trigger via UI or via api.

    3. -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/how-to/migration_templates/index.html b/docs/guides/how-to/migration_templates/index.html index 35a593b..b49bec2 100644 --- a/docs/guides/how-to/migration_templates/index.html +++ b/docs/guides/how-to/migration_templates/index.html @@ -1,4 +1,4 @@ - Migration Templates | vJailbreak + Skip to content
    Skip to content

    Migration Templates

    Operators who migrate many VMs usually reuse the same configuration: the same source vCenter, the same destination cluster, the same network and storage mappings, the same copy method and cutover policy. A Migration Template saves that configuration once so every later migration can start from it.

    +

    Migration Templates

    Operators who migrate many VMs usually reuse the same configuration: the same source vCenter, the same destination cluster, the same network and storage mappings, the same copy method and cutover policy. A Migration Template saves that configuration once so every later migration can start from it.

    A template stores everything the migration form asks for except which VMs to migrate. You pick the VMs fresh each time.

    Templates only pre-fill the form. They do not change how a migration runs — a migration started from a template behaves exactly like one configured by hand.

    Where templates live

    @@ -299,7 +299,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    Click the trash icon on the card or list row, or Delete in the detail drawer, then confirm. Deleting a template does not affect migrations already created from it — they hold their own copy of the configuration and continue to run and display normally.

    Templates from the command line

    Saved templates are MigrationBlueprint custom resources in the migration-system namespace:

    -
    Terminal window
    kubectl -n migration-system get migrationblueprints
    kubectl -n migration-system get migrationblueprint <name> -o yaml
    +
    Terminal window
    kubectl -n migration-system get migrationblueprints
    kubectl -n migration-system get migrationblueprint <name> -o yaml

    These are separate from the internal, per-session MigrationTemplate objects that the migration form creates and cleans up on its own. See vJailbreak CRDs for the field list.

    Troubleshooting

    @@ -347,4 +347,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr -
    SymptomCauseWhat to do
    Create New Template and Save as template are disabledNo VMware or no PCD credential existsAdd both credentials first
    Cluster dropdowns are empty after clicking UseThe saved source or target cluster no longer exists, or its name changedSelect the clusters manually.
    Saved mappings do not appear after UseExpected until VMs are selectedSelect VMs. Mappings apply as their source networks and datastores come into scope.
    A mapping never reappears after being removedMappings deleted by hand are not re-appliedAdd the mapping again manually
    Saving reports “A template named … already exists”Names are unique, ignoring casePick a different name
    Save Changes fails on an editThe template changed elsewhere since the form openedReopen the template and reapply the change
    Templates tab shows “No templates match”A search term or type filter is activeClear the search box, or choose Clear filter in the filter menu
    \ No newline at end of file +
    SymptomCauseWhat to do
    Create New Template and Save as template are disabledNo VMware or no PCD credential existsAdd both credentials first
    Cluster dropdowns are empty after clicking UseThe saved source or target cluster no longer exists, or its name changedSelect the clusters manually.
    Saved mappings do not appear after UseExpected until VMs are selectedSelect VMs. Mappings apply as their source networks and datastores come into scope.
    A mapping never reappears after being removedMappings deleted by hand are not re-appliedAdd the mapping again manually
    Saving reports “A template named … already exists”Names are unique, ignoring casePick a different name
    Save Changes fails on an editThe template changed elsewhere since the form openedReopen the template and reapply the change
    Templates tab shows “No templates match”A search term or type filter is activeClear the search box, or choose Clear filter in the filter menu
    \ No newline at end of file diff --git a/docs/guides/how-to/network-traffic-separation/index.html b/docs/guides/how-to/network-traffic-separation/index.html index 3bd3c37..b5b6b9c 100644 --- a/docs/guides/how-to/network-traffic-separation/index.html +++ b/docs/guides/how-to/network-traffic-separation/index.html @@ -1,4 +1,4 @@ - Configuring Dedicated Data Network for Migrations | vJailbreak + Skip to content
    Skip to content

    Configuring Dedicated Data Network for Migrations

    In environments where security requirements mandate separate networks for control-plane and storage traffic (e.g., a VMware underlay with a dedicated storage network that differs from the PCD host underlay), a single shared network path for both vCenter API calls and disk-copy data can cause congestion, dropped transfers, or asymmetric routing failures.

    +

    Configuring Dedicated Data Network for Migrations

    In environments where security requirements mandate separate networks for control-plane and storage traffic (e.g., a VMware underlay with a dedicated storage network that differs from the PCD host underlay), a single shared network path for both vCenter API calls and disk-copy data can cause congestion, dropped transfers, or asymmetric routing failures.

    This guide explains the traffic separation design and the routing configuration required on the vJailbreak VM.

    Architecture Overview

    -

    VMware to KVM migration dedicated data network diagram

    +

    VMware to KVM migration dedicated data network diagram

    The core design: keep vCenter’s control-plane traffic and vJailbreak’s disk-copy traffic on physically distinct paths rather than sharing one network.

    ESXi Side

    The ESXi host exposes two interfaces:

    @@ -212,7 +212,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    Required Routing Rule

    On the vJailbreak VM, add an explicit route so that any traffic destined for ESXi’s NFC/data-copy service (iface2’s IP subnet) is routed out through the storage interface:

    -
    Terminal window
    # Example: route ESXi storage subnet via the storage interface
    ip route add <esxi-nfc-subnet>/24 via <gateway> dev <bond1-or-bridge2-interface>
    +
    Terminal window
    # Example: route ESXi storage subnet via the storage interface
    ip route add <esxi-nfc-subnet>/24 via <gateway> dev <bond1-or-bridge2-interface>

    Replace:

    • <esxi-nfc-subnet> — the subnet of ESXi’s iface2 (NFC-tagged interface)
    • @@ -247,4 +247,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
      ConcernSolution
      Management traffic contending with data copySeparate physical interfaces on both ESXi and vJailbreak VM
      ESXi NFC responses routed incorrectlyExplicit ip route rule on vJailbreak VM pinning NFC subnet to storage interface
      Route lost on rebootPersist route in OS network configuration
      -

      Without this routing configuration, bulk disk-copy traffic will bleed onto the management network regardless of the physical interface separation, because ESXi’s NFC response will always use iface2’s IP and the OS will drop the asymmetric connection.

    \ No newline at end of file +

    Without this routing configuration, bulk disk-copy traffic will bleed onto the management network regardless of the physical interface separation, because ESXi’s NFC response will always use iface2’s IP and the OS will drop the asymmetric connection.

    \ No newline at end of file diff --git a/docs/guides/how-to/networking-101/index.html b/docs/guides/how-to/networking-101/index.html index f0ea921..2211d8f 100644 --- a/docs/guides/how-to/networking-101/index.html +++ b/docs/guides/how-to/networking-101/index.html @@ -1,4 +1,4 @@ - One-Stop Migration Networking | vJailbreak + Skip to content
    Skip to content

    One-Stop Migration Networking

    Network settings are the most common cause of failed or surprising migrations. This guide is organized by situation: find the scenario that matches yours, apply the settings, and check the expected outcome before you migrate.

    +

    One-Stop Migration Networking

    Network settings are the most common cause of failed or surprising migrations. This guide is organized by situation: find the scenario that matches yours, apply the settings, and check the expected outcome before you migrate.

    Every scenario reports two separate outcomes:

    • The OpenStack port — the address and MAC that OpenStack assigns to the network port.
    • @@ -782,4 +782,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
      Guest OSSource NIC was on DHCPSource NIC was static
      Ubuntu 17.10 and newerConverted to a static address — pinned to whatever address it happened to hold when discoveredStays static on the same address
      Ubuntu older than 17.10Stays on DHCP. Only interface-name rules are writtenStays static, per the guest’s own configuration
      RHEL family 6 and olderLegacy interface handling runs — verify after bootLegacy interface handling runs — verify after boot
      RHEL / CentOS / Rocky 7+, SUSE, other LinuxNothing is written. The guest keeps its own configurationNothing is written. The guest keeps its own configuration
      WindowsNothing is written. The guest keeps its own configurationNothing is written. The guest keeps its own configuration

      On Ubuntu 17.10 and newer, the existing /etc/netplan directory is moved aside to /etc/netplan-bkp and replaced with a single generated file. Interfaces are renamed vj0, vj1, and so on, matched by MAC address. The netmask comes from what VMware Tools reported; if it is unknown, /24 is assumed.

      -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/how-to/ntp_timezone/index.html b/docs/guides/how-to/ntp_timezone/index.html index fc5e87e..94e7a92 100644 --- a/docs/guides/how-to/ntp_timezone/index.html +++ b/docs/guides/how-to/ntp_timezone/index.html @@ -1,4 +1,4 @@ - Configure Time Zone and NTP Servers | vJailbreak + Skip to content
    Skip to content

    Configure Time Zone and NTP Servers

    The vJailbreak appliance runs in UTC with default public NTP pools unless you change it. Two settings in the UI change that:

    +

    Configure Time Zone and NTP Servers

    The vJailbreak appliance runs in UTC with default public NTP pools unless you change it. Two settings in the UI change that:

    • Time zone — the appliance’s system time zone. It sets the timestamps in migration logs, controller logs, Grafana dashboards, and the schedule of the version-checker cron job.
    • NTP servers — the time sources the appliance synchronizes against. Needed in air-gapped or restricted networks where the default public pools are unreachable.
    • @@ -210,7 +210,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

      Reset to Defaults respects the same rule: while a migration is running it resets every other setting but leaves the time zone and NTP servers at their current values. With no migration running, it resets them along with everything else.

      Verify the settings

      On the appliance host:

      -
      Terminal window
      # Time zone, and whether the clock is synchronized
      timedatectl
      timedatectl show --property=NTPSynchronized
      +
      Terminal window
      # Time zone, and whether the clock is synchronized
      timedatectl
      timedatectl show --property=NTPSynchronized
      # The NTP servers vJailbreak wrote
      cat /etc/systemd/timesyncd.conf.d/99-vjailbreak.conf

      The conf file looks like this:

      [Time]
      NTP=ntp1.corp.local ntp2.corp.local
      @@ -300,4 +300,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    • Failures after the conf file is written — host notification, service restart, pod restarts, cron job patch — never fail the request and are not shown in the UI. The success message means the settings were saved and applied as far as possible.
    • A time zone that is not installed on the appliance is stored and reported as applied, but the host time zone does not change. Pick a zone from the dropdown to avoid this.
    • Invalid NTP entries are silently dropped at apply time. The UI blocks them first, so this affects only values written directly to the ConfigMap.
    • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/how-to/perform_admin_cutover/index.html b/docs/guides/how-to/perform_admin_cutover/index.html index a7e0752..9abbac8 100644 --- a/docs/guides/how-to/perform_admin_cutover/index.html +++ b/docs/guides/how-to/perform_admin_cutover/index.html @@ -1,4 +1,4 @@ - Perform Admin Cutover | vJailbreak + Skip to content
    Skip to content

    Perform Admin Cutover

    The Admin Cutover feature in vJailbreak is used to finalize a migration after the data transfer is complete.
    +

    Perform Admin Cutover

    The Admin Cutover feature in vJailbreak is used to finalize a migration after the data transfer is complete.
    It can be triggered in two ways:

    1. From the vJailbreak UI
    2. @@ -160,19 +160,19 @@ It can be triggered in two ways:

      1. Navigate to the migration you want to perform the admin cutover for, in the migration Options column, Select the cutover options and select Admin Initiated Cutover as shown in the Image below. -Admin Cutover
      2. +Admin Cutover

      Once the migration is done with copying data, the status of the migration will change to waitforAdminCutover. You can then click on the Admin Cutover button to trigger the cutover process. -Admin Cutover Button

      +Admin Cutover Button

      1. A confirmation dialog will appear. Click on the Confirm button to proceed with the admin cutover. -Admin Cutover Confirmation

        +Admin Cutover Confirmation

      2. After confirming, the migration will start the cutover process. -Admin Cutover In Progress

        +Admin Cutover In Progress

      Admin Cutover using kubectl patch

      @@ -184,7 +184,7 @@ cutover for. You can do that by doing the following things:

      • Get the name of the migration namespace. You can find it in the vJailbreak UI under the migration details.
      -
      Terminal window
      kubectl get migration -n migration-system | grep -i <migration-name>
      migration-name AwaitingAdminCutOve vjb 1h
      +
      Terminal window
      kubectl get migration -n migration-system | grep -i <migration-name>
      migration-name AwaitingAdminCutOve vjb 1h
      • Get the podRef of migration object
      @@ -196,4 +196,4 @@ executing the following command:

    Terminal window
    kubectl patch pod <pod-name> -n migration-system -p '{"metadata":{"labels":{"startCutover":"yes"}}}'
    -

    Replace pod-name with the name of your migration Pod and migration-system with the name of your migration namespace.

    \ No newline at end of file +

    Replace pod-name with the name of your migration Pod and migration-system with the name of your migration namespace.

    \ No newline at end of file diff --git a/docs/guides/how-to/profiles/index.html b/docs/guides/how-to/profiles/index.html index a6eab07..6ada1fb 100644 --- a/docs/guides/how-to/profiles/index.html +++ b/docs/guides/how-to/profiles/index.html @@ -1,4 +1,4 @@ - Profiles | vJailbreak + Skip to content
    Skip to content

    Profiles

    Profiles let us define a named set of OpenStack Cinder volume_image_metadata properties and apply them to VM boot volumes during migration. This gives us control over how the migrated VM boots and runs in OpenStack — for example, setting the firmware type, disk bus driver, video model, or guest agent settings — without having to configure each migration individually.

    +

    Profiles

    Profiles let us define a named set of OpenStack Cinder volume_image_metadata properties and apply them to VM boot volumes during migration. This gives us control over how the migrated VM boots and runs in OpenStack — for example, setting the firmware type, disk bus driver, video model, or guest agent settings — without having to configure each migration individually.

    Navigate to the Profiles section in the sidebar to view and perform all CRUD operations on profiles.

    Default Profiles

    vJailbreak ships with two built-in profiles that are created by default as a template:

    @@ -210,7 +210,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    PropertyValue
    hw_qemu_guest_agentyes
    hw_video_modelvirtio
    hw_pointer_modelusbtablet
    hw_disk_busvirtio
    os_typewindows
    -

    img1

    +

    img1

    Creating a Profile

      @@ -304,7 +304,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
      KeyExample Values
      hw_firmware_typeuefi, bios
      hw_machine_typeq35, pc-i440fx
      hw_disk_busvirtio, scsi, ide
      hw_scsi_modelvirtio-scsi, buslogic
      hw_tpm_modeltpm-crb, tpm-tis
      hw_tpm_version1.2, 2.0
      os_secure_bootrequired, disabled, optional
      os_require_quiesceyes, no
      os_typewindows, linux
      hw_qemu_guest_agentyes, no
      hw_video_modelvirtio, qxl, vga
      hw_cdrom_bussata, ide, virtio
      hw_boot_menutrue, false
      hw_pointer_modelusbtablet, ps2mouse
      -

      img1

      +

      img1

      Selecting Profiles During Migration

      In the migration form, Step 4 (Security Groups, Server Group & Profiles) includes a Profiles dropdown. We can select one or more profiles to apply during the migration.

      @@ -314,7 +314,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    1. If our migration includes Linux VMs, profiles with OS family Linux or Any are shown.
    2. Step 4 is optional. If we do not select any profiles, no additional image metadata is applied to the boot volumes.

      -

      img1

      +

      img1

      How Multiple Profiles Are Merged

      When we select more than one profile, their properties are combined into a single set before being applied. The merge follows these rules:

        @@ -327,11 +327,11 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

        Using Profiles via CLI

        A VolumeImageProfile is a standard Kubernetes custom resource in the migration-system namespace. We can create and manage profiles using kubectl.

        View all profiles:

        -
        Terminal window
        kubectl get volumeimageprofiles -n migration-system
        +
        Terminal window
        kubectl get volumeimageprofiles -n migration-system

        View a profile’s details:

        Terminal window
        kubectl get volumeimageprofile default-windows -n migration-system -o yaml

        Create a custom profile:

        apiVersion: vjailbreak.k8s.pf9.io/v1alpha1
        kind: VolumeImageProfile
        metadata:
        name: windows-uefi-q35
        namespace: migration-system
        spec:
        osFamily: windowsGuest
        description: Windows VMs with UEFI firmware and Q35 machine type
        properties:
        hw_firmware_type: uefi
        hw_machine_type: q35
        os_secure_boot: disabled
        Terminal window
        kubectl apply -f windows-uefi-q35.yaml

        To reference a profile in a MigrationPlan, add its name to spec.advancedOptions.imageProfiles:

        -
        spec:
        advancedOptions:
        imageProfiles:
        - default-windows
        - windows-uefi-q35
    \ No newline at end of file +
    spec:
    advancedOptions:
    imageProfiles:
    - default-windows
    - windows-uefi-q35
    \ No newline at end of file diff --git a/docs/guides/how-to/retry_failed_migration/index.html b/docs/guides/how-to/retry_failed_migration/index.html index 30de3ff..33dade1 100644 --- a/docs/guides/how-to/retry_failed_migration/index.html +++ b/docs/guides/how-to/retry_failed_migration/index.html @@ -1,4 +1,4 @@ - Retry a Failed Migration | vJailbreak + Skip to content
    Skip to content

    Retry a Failed Migration

    When a migration ends in the Failed phase, you can retry it directly from the vJailbreak UI instead of building the migration again from scratch. A retry reopens the original configuration in the migration form, so you can correct whatever caused the failure — flavor, network or storage mapping, target cluster, cutover settings, or IP assignments — and start again.

    +

    Retry a Failed Migration

    When a migration ends in the Failed phase, you can retry it directly from the vJailbreak UI instead of building the migration again from scratch. A retry reopens the original configuration in the migration form, so you can correct whatever caused the failure — flavor, network or storage mapping, target cluster, cutover settings, or IP assignments — and start again.

    What Retry does

    vJailbreak offers two retry actions:

    @@ -256,4 +256,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    • A retry always creates a plan containing a single VM. You cannot retry several VMs into one shared plan with edits.
    • Retry Selected cannot change configuration. If a migration fails again after a bulk retry, retry it individually and correct its settings.
    • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/how-to/scaling/index.html b/docs/guides/how-to/scaling/index.html index 73cd069..eaf65a9 100644 --- a/docs/guides/how-to/scaling/index.html +++ b/docs/guides/how-to/scaling/index.html @@ -1,4 +1,4 @@ - Scale vJailbreak | vJailbreak + Skip to content
    Skip to content

    Scale vJailbreak

    vJailbreak can be scaled to perform multiple migrations in parallel by deploying additional agents, enabling greater efficiency and workload distribution.

    +

    Scale vJailbreak

    vJailbreak can be scaled to perform multiple migrations in parallel by deploying additional agents, enabling greater efficiency and workload distribution.

    Additional agents can be created in the Agents tab of the vJailbreak dashboard using the “Scale Up” button. You will need to choose the destination OpenStack credentials, the size of the agent VM(s), and the number of agent nodes up to a maximum of 5 per scale up. Additional agent nodes can be scaled up in batches of 5, providing the flexibility to change agent VM sizes to help with throttling network traffic.

    Agent Node Sizing and Migration Capacity

    @@ -274,4 +274,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
  • Default Password: password
  • On first login, you will be prompted to change the password immediately.
  • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/how-to/stream_logs/index.html b/docs/guides/how-to/stream_logs/index.html index edf7b20..c9e5da0 100644 --- a/docs/guides/how-to/stream_logs/index.html +++ b/docs/guides/how-to/stream_logs/index.html @@ -1,4 +1,4 @@ - Stream Logs | vJailbreak + Skip to content
    Skip to content

    Stream Logs

    In this guide, we will cover how to enable the streaming of syslogs from vJailbreak VMs to fluentd and integrate with Loki running on the PCD-CE. +

    Stream Logs

    In this guide, we will cover how to enable the streaming of syslogs from vJailbreak VMs to fluentd and integrate with Loki running on the PCD-CE. For this tutorial you will need working knowledge of K3s, fluentd and Loki.

    Prerequisites

      @@ -167,7 +167,7 @@ For this tutorial you will need working knowledge of K3s, fluentd and Loki.

      Enable syslog for k3s

      To the service section add the following:

      -
      Terminal window
      sudo vi /etc/systemd/system/k3s.service
      +
      Terminal window
      sudo vi /etc/systemd/system/k3s.service
      Terminal window
      [Service]
      Type=notify
      NotifyAccess=all

      To the ExecStart section add the following:

      Terminal window
      ExecStart=/usr/local/bin/k3s \
      server --log=/var/log/syslog \
      '--disable' \
      'traefik' \
      @@ -315,4 +315,4 @@ Configuration > “Add Datasource” > Loki > “url:
    • Loki & grafana
    • -
      Terminal window
      NAME CHART APP VERSION
      grafana grafana-8.11.1 11.6.0
      loki loki-stack-2.10.2 v2.9.3
    \ No newline at end of file +
    Terminal window
    NAME CHART APP VERSION
    grafana grafana-8.11.1 11.6.0
    loki loki-stack-2.10.2 v2.9.3
    \ No newline at end of file diff --git a/docs/guides/how-to/upgrade_vjailbreak/index.html b/docs/guides/how-to/upgrade_vjailbreak/index.html index 204d71a..28f71fb 100644 --- a/docs/guides/how-to/upgrade_vjailbreak/index.html +++ b/docs/guides/how-to/upgrade_vjailbreak/index.html @@ -1,4 +1,4 @@ - Upgrade vJailbreak | vJailbreak + Skip to content
    Skip to content

    Upgrade vJailbreak

    vJailbreak supports an in-place upgrade feature to go from one version to other higher version. This feature is supported starting from v0.4.0 as the base to subsequent versions.

    +

    Upgrade vJailbreak

    vJailbreak supports an in-place upgrade feature to go from one version to other higher version. This feature is supported starting from v0.4.0 as the base to subsequent versions.

    During the upgrade, only container images, ConfigMaps, and Custom Resource Definitions (CRDs) are modified. We currently do not support the upgrade of the base vJailbreak image or existing Custom Resources (CRs). Therefore, a pre-upgrade cleanup of these resources is required.

    Upgrade Process

    1. Check for Updates

    Look for the Upgrade Available button at the bottom left of the vJailbreak navigation sidebar. Clicking this button will open the Upgrade vJailbreak modal.

    -

    Check for Updates

    +

    Check for Updates

    2. Pre-Upgrade Cleanup

    Before upgrading, vJailbreak requires a cleanup of existing resources to ensure a smooth transition. The pre-upgrade checklist includes:

      @@ -167,25 +167,25 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    • Delete Custom Resources

    Click the Cleanup button to initiate this process. Wait for all items to show a green checkmark and the “Cleanup completed successfully” message to appear.

    -

    Pre-Upgrade Cleanup -Cleanup completed successfully

    +

    Pre-Upgrade Cleanup +Cleanup completed successfully

    3. Select Version

    Once the cleanup is successful, click the Select a version… dropdown and choose the target version you wish to upgrade to (e.g., v0.4.1).

    -

    Select Version

    +

    Select Version

    4. Initiate Upgrade

    With the version selected, the Upgrade button will become enabled. Click it to start the upgrade process.

    -

    Initiate Upgrade

    +

    Initiate Upgrade

    5. Wait for Completion

    You will see an “Upgrading” spinner and a warning: Processing. Please do not close or refresh this page. Wait for the process to complete.

    -

    Wait for Completion

    +

    Wait for Completion

    Once the upgrade is marked as successfully completed, the UI will hold on the screen for 3 seconds before automatically refreshing.

    Check for update before scheduled interval

    If you do not want to wait for the next scheduled check, you can manually trigger the vjailbreak-version-checker CronJob to detect if a newer version (e.g., v0.4.1) is available.

    Temporarily modify the schedule to trigger it. Example (run after 5 minutes):

    -
    # Change the schedule line in the cronjob to:
    schedule: "*/5 * * * *"
    +
    # Change the schedule line in the cronjob to:
    schedule: "*/5 * * * *"

    After the CronJob runs, a new pod will be created. Check the pod logs to verify whether an upgrade is available:

    Terminal window
    kubectl get pods -n migration-system
    kubectl logs <cronjob-pod-name> -n migration-system

    If v0.4.1 is available, the logs will indicate the upgrade availability.

    -

    Trigger CronJob

    \ No newline at end of file +

    Trigger CronJob

    \ No newline at end of file diff --git a/docs/guides/how-to/virtio_doc/index.html b/docs/guides/how-to/virtio_doc/index.html index cd62e56..547e79d 100644 --- a/docs/guides/how-to/virtio_doc/index.html +++ b/docs/guides/how-to/virtio_doc/index.html @@ -1,4 +1,4 @@ - Inject VirtIO Windows Driver | vJailbreak + Skip to content
    Skip to content

    Inject VirtIO Windows Driver

    +

    Inject VirtIO Windows Driver

    How to use user-provided virtio-win.iso

    Users can upload the virtio-win.iso to the following path on vJailbreak master node:

    -
    Terminal window
    /home/ubuntu/virtio-win/virtio-win.iso
    +
    Terminal window
    /home/ubuntu/virtio-win/virtio-win.iso

    How it works

    If the user has scaled up vJailbreak, the ISO is propagated to all the agents. @@ -181,4 +181,4 @@ When a Windows VM migration is initiated:

    Windows VMs whose system volume is on a dynamic disk (LDM) skip conversion entirely, so this ISO is not used for them — the VirtIO drivers must be installed on the source VM instead. See -Windows Dynamic Disk (LDM) Migration.

    \ No newline at end of file +Windows Dynamic Disk (LDM) Migration.

    \ No newline at end of file diff --git a/docs/guides/how-to/vjailbreak_settings/index.html b/docs/guides/how-to/vjailbreak_settings/index.html index 5116801..0a087ce 100644 --- a/docs/guides/how-to/vjailbreak_settings/index.html +++ b/docs/guides/how-to/vjailbreak_settings/index.html @@ -1,4 +1,4 @@ - Use vJailbreak Settings | vJailbreak + Skip to content
    Skip to content

    Use vJailbreak Settings

    The vjailbreak-settings ConfigMap provides a centralized way to customize and override default settings in the vJailbreak system. This guide shows you how to use this ConfigMap effectively.

    +

    Use vJailbreak Settings

    The vjailbreak-settings ConfigMap provides a centralized way to customize and override default settings in the vJailbreak system. This guide shows you how to use this ConfigMap effectively.

    Overview

    The vjailbreak-settings ConfigMap allows you to:

      @@ -162,7 +162,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

      Checking for the ConfigMap

      In vJailbreak v0.3.0 and above, the vjailbreak-settings ConfigMap should already exist in your cluster. If it doesn’t exist, you’re likely using an older version and should upgrade to v0.3.0 or above.

      To check if the ConfigMap exists:

      -
      Terminal window
      kubectl get configmap vjailbreak-settings -n migration-system
      +
      Terminal window
      kubectl get configmap vjailbreak-settings -n migration-system

      If you receive an error that the ConfigMap doesn’t exist, please upgrade your vJailbreak installation to the latest version.

      Available Settings

      The vjailbreak-settings ConfigMap supports the following settings:

      @@ -469,4 +469,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    Important: Always select configuration values appropriate for your specific environment. Incorrect settings may negatively impact system performance or stability.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/how-to/vtpm_migration/index.html b/docs/guides/how-to/vtpm_migration/index.html index af77cf3..0930c98 100644 --- a/docs/guides/how-to/vtpm_migration/index.html +++ b/docs/guides/how-to/vtpm_migration/index.html @@ -1,4 +1,4 @@ - Virtual Trusted Platform Module (vTPM) VM Migration | vJailbreak + Skip to content
    Skip to content

    Virtual Trusted Platform Module (vTPM) VM Migration

    Overview

    +

    Virtual Trusted Platform Module (vTPM) VM Migration

    Overview

    While Virtualization Based Security (VBS) and Virtual Trusted Platform Module (vTPM) provide important security protections for the VM, V2V helpers and guestfs require proper read and write access to the VM’s disks. Temporarily disabling these features ensures that migration and disk operations can proceed reliably.

    Prerequisites

    @@ -158,12 +158,12 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
  • VMware Native Key Provider (default vCenter-level key provider) must be configured for enabling vTPM on the source VM.
  • On PCD, use tpm_version: 2.0 and tpm_provider: tpm-crb as extra metadata specs on the VM flavor to enable vTPM post migration.
  • -

    vCenter Key Provider configuration

    +

    vCenter Key Provider configuration

    Enabling VBS and vTPM During Windows 11 Installation

    When installing Windows 11, the user can enable VBS and vTPM at the OS selection stage by checking “Enable Windows Virtualization Based Security”.

    -

    Select guest OS with VBS enabled

    +

    Select guest OS with VBS enabled

    On the next stage (Customize hardware), you can verify that the Trusted Platform Module is present under Security Devices.

    -

    Customize hardware showing TPM present

    +

    Customize hardware showing TPM present

    Pre-Migration Steps

    Step 1: Power Off the Guest OS

    Power off the guest OS on vCenter so that you can edit the VM settings and disable VBS and vTPM.

    @@ -174,7 +174,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
  • Expand Virtualization Based Security and uncheck the Enable checkbox.
  • Click OK to save.
  • -

    Disable VBS in VM Options

    +

    Disable VBS in VM Options

    Step 3: Change VM Encryption Policies

    Change the encryption policies of the VM to the Datastore Default policy:

      @@ -183,8 +183,8 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    1. Set the VM storage policy to Datastore Default.
    2. Click OK to apply.
    -

    Edit VM Storage Policies menu -Set Datastore Default policy

    +

    Edit VM Storage Policies menu +Set Datastore Default policy

    Step 4: Remove vTPM Device

    1. Right-click the VM in vCenter and select Edit Settings.
    2. @@ -192,10 +192,10 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    3. Remove the vTPM device and confirm the deletion when prompted.
    -

    Remove vTPM device with data loss warning

    +

    Remove vTPM device with data loss warning

    Start Migration

    With VBS disabled, encryption policies reset, and the vTPM device removed, proceed with the migration using vJailbreak as usual.

    -

    Migration succeeded in vJailbreak

    +

    Migration succeeded in vJailbreak

    Post-Migration Steps

    After the migration completes successfully, re-enable vTPM on the VM in PCD by following the steps below.

    Step 1: Reset PIN Using Backup Email

    @@ -220,21 +220,21 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    KeyValue
    hw:tpm_modeltpm-crb
    hw:tpm_version2.0
    -

    Edit Flavor with TPM metadata in PCD

    +

    Edit Flavor with TPM metadata in PCD

    Step 3: Resize Migrated VM Using the TPM Flavor

    1. Navigate to the migrated VM in PCD.
    2. Resize the VM using the newly created flavor with TPM metadata.
    3. Confirm the resize operation.
    -

    Migrated VM details in PCD

    +

    Migrated VM details in PCD

    Step 4: Verify TPM is Enabled

    After the resize completes, verify that TPM is enabled on the VM:

    • From the hypervisor: Run virsh dumpxml <instance> | grep -i tpm to confirm the <tpm model='tpm-crb'> block is present in the VM’s XML definition.
    -

    virsh dumpxml showing TPM configuration

    +

    virsh dumpxml showing TPM configuration

    • From inside the VM: Open TPM Management (tpm.msc) and verify that the TPM status shows “The TPM is ready for use.”
    -

    TPM Management console showing TPM ready

    \ No newline at end of file +

    TPM Management console showing TPM ready

    \ No newline at end of file diff --git a/docs/guides/how-to/windows-ldm-migration/index.html b/docs/guides/how-to/windows-ldm-migration/index.html index 00dc6f9..2022e8b 100644 --- a/docs/guides/how-to/windows-ldm-migration/index.html +++ b/docs/guides/how-to/windows-ldm-migration/index.html @@ -1,4 +1,4 @@ - Windows Dynamic Disk (LDM) Migration | vJailbreak + Skip to content
    Skip to content

    Windows Dynamic Disk (LDM) Migration

    Windows VMs whose system volume sits on a dynamic disk (LDM) follow a different +

    Windows Dynamic Disk (LDM) Migration

    Windows VMs whose system volume sits on a dynamic disk (LDM) follow a different migration path. virt-v2v cannot convert these guests, so vJailbreak brings the VM up on an emulated SATA controller first and lets you move it to virtio once you have confirmed it boots.

    @@ -167,7 +167,7 @@ will take this path, run the precheck script on the source VM as Administrator. is read-only, prints a plain YES or NO, and writes a transcript to %TEMP%\vjb-ldm-check.log.

    Download Test-VjbLdmSystemDisk.ps1

    -
    Terminal window
    powershell -ExecutionPolicy Bypass -File .\Test-VjbLdmSystemDisk.ps1
    +
    Terminal window
    powershell -ExecutionPolicy Bypass -File .\Test-VjbLdmSystemDisk.ps1

    It also sets an exit code — 1 for LDM, 0 for basic, 2 if inconclusive — so it can be run across a fleet to build the list of VMs that need the steps below.

    Take a snapshot of the source VM in vCenter before making any of the changes @@ -330,4 +330,4 @@ breaking the live disk destroys the copy the VM has been runnin mirror resyncs, but the window is bounded.

    The VM did not boot on SATA

    Perform the cutover with Rollback Migration, correct the prerequisites, and -migrate again.

    \ No newline at end of file +migrate again.

    \ No newline at end of file diff --git a/docs/guides/troubleshooting/debug_vjailbreak_install/index.html b/docs/guides/troubleshooting/debug_vjailbreak_install/index.html index 4eaa83b..44cd982 100644 --- a/docs/guides/troubleshooting/debug_vjailbreak_install/index.html +++ b/docs/guides/troubleshooting/debug_vjailbreak_install/index.html @@ -1,4 +1,4 @@ - Debug vJailbreak Installation | vJailbreak + Skip to content
    Skip to content

    Debug vJailbreak Installation

    1. Check Installation Logs

    +

    Debug vJailbreak Installation

    1. Check Installation Logs

    All logs related to the install process are written to:

    /var/log/pf9-install.log

    Look here for:

    @@ -166,9 +166,9 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    2. Test Registry Access (Image Pull Failures)

    If the logs show image pull issues, run this on the vJailbreak VM:

    -
    Terminal window
    curl -v <image-url>
    +
    Terminal window
    curl -v <image-url>

    🔁 What If the URL Is Accessible but Installation Still Fails? Even if the URL is accessible, transient network issues or Kubernetes API hiccups might cause failures.

    Recheck /var/log/pf9-install.log for intermittent or recoverable errors.

    In such cases, you can safely re-run the installer:

    -
    Terminal window
    sudo bash /etc/pf9/install.sh
    \ No newline at end of file +
    Terminal window
    sudo bash /etc/pf9/install.sh
    \ No newline at end of file diff --git a/docs/guides/troubleshooting/debuglogs/index.html b/docs/guides/troubleshooting/debuglogs/index.html index 40f6887..d738be5 100644 --- a/docs/guides/troubleshooting/debuglogs/index.html +++ b/docs/guides/troubleshooting/debuglogs/index.html @@ -1,4 +1,4 @@ - Debug Logs | vJailbreak + Skip to content
    Skip to content

    Debug Logs

    This guide outlines how vJailbreak handles debug log collection for VM migrations. Traditionally, enabling debug logs required editing ConfigMaps and restarting pods. With the current setup, debug logs are automatically collected and stored without any manual intervention. In kubectl logs of the pod, normal logs will be displayed as usual.

    +

    Debug Logs

    This guide outlines how vJailbreak handles debug log collection for VM migrations. Traditionally, enabling debug logs required editing ConfigMaps and restarting pods. With the current setup, debug logs are automatically collected and stored without any manual intervention. In kubectl logs of the pod, normal logs will be displayed as usual.

    How It Works

    • @@ -224,5 +224,5 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

      on the vjailbreak node.

      Downloading a Debug Bundle from the UI

      Instead of SSHing into the vjailbreak node to collect logs manually, you can download a full debug bundle directly from the migration’s Pod logs tab.

      -

      Download button on the Pod logs tab

      -

      There is a download button as shown in the image above. This downloads all the logs, debug logs, and everything related to the migration as a tar ball — no extra kubectl or SSH access is required.

    \ No newline at end of file +

    Download button on the Pod logs tab

    +

    There is a download button as shown in the image above. This downloads all the logs, debug logs, and everything related to the migration as a tar ball — no extra kubectl or SSH access is required.

    \ No newline at end of file diff --git a/docs/guides/troubleshooting/nbdcopy-fails-after-vm-moved-esxi-host/index.html b/docs/guides/troubleshooting/nbdcopy-fails-after-vm-moved-esxi-host/index.html index 8c87c67..a8d5c27 100644 --- a/docs/guides/troubleshooting/nbdcopy-fails-after-vm-moved-esxi-host/index.html +++ b/docs/guides/troubleshooting/nbdcopy-fails-after-vm-moved-esxi-host/index.html @@ -1,4 +1,4 @@ - nbdcopy fails during disk copy (often DNS resolution) | vJailbreak + Skip to content
    Skip to content

    nbdcopy fails during disk copy (often DNS resolution)

    Problem

    +

    nbdcopy fails during disk copy (often DNS resolution)

    Problem

    A migration fails during the disk copy (live replicate) phase with an error similar to:

    -
    Failed to migrate VM: failed to live replicate disks: failed to copy disk Hard disk 1 (DeviceKey=2000): failed to run nbdcopy: exec: already started.
    +
    Failed to migrate VM: failed to live replicate disks: failed to copy disk Hard disk 1 (DeviceKey=2000): failed to run nbdcopy: exec: already started.

    Error signature:

    failed to run nbdcopy: exec: already started

    Symptoms

    @@ -179,4 +179,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    Prevention

    • Ensure DNS (or /etc/hosts) is configured for all ESXi hosts in the cluster, not just vCenter.
    • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/troubleshooting/troubleshooting/index.html b/docs/guides/troubleshooting/troubleshooting/index.html index ea4b133..cac5370 100644 --- a/docs/guides/troubleshooting/troubleshooting/index.html +++ b/docs/guides/troubleshooting/troubleshooting/index.html @@ -1,4 +1,4 @@ - Troubleshooting vJailbreak | vJailbreak + Skip to content
    Skip to content

    Troubleshooting vJailbreak

    +

    Troubleshooting vJailbreak

    Common issues

    • VDDK unavailable: VMware’s public download pages are down
    • @@ -164,7 +164,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

      vJailbreak is deployed on Kubernetes running on Ubuntu 22.04.5, and distributed as a QCOW2 image. The Kubernetes namespace migration-system contains the vJailbreak UI and migration controller pods. Each VM migration will spawn a migration object. The status field contains a high level view of the progress of the migration of the VM. For more details about the migration, check the logs of the pod specified in the Migration object.

      Getting logs

      List all pods in the migration namespace

      -
      Terminal window
      kubectl -n migration-system get pod
      +
      Terminal window
      kubectl -n migration-system get pod

      Find a specific VM migration pod

      Terminal window
      kubectl -n migration-system get pod | grep <source VM name>

      Get details & events for a v2v-helper pod. This is helpful if a migration is stuck in a pending state, or to track the progress of a migration without the UI.

      @@ -383,4 +383,4 @@ wait for VDDK to become available and use Standard copy.

  • See also: Known Limitations and Configure the SCSI Controller Type on the Proxy VM.
  • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/troubleshooting/vmware_residual_artifacts/index.html b/docs/guides/troubleshooting/vmware_residual_artifacts/index.html index defb704..c2ddad8 100644 --- a/docs/guides/troubleshooting/vmware_residual_artifacts/index.html +++ b/docs/guides/troubleshooting/vmware_residual_artifacts/index.html @@ -1,4 +1,4 @@ - VMware Residual Artifacts | vJailbreak + Skip to content
    Skip to content

    VMware Residual Artifacts

    In v0.4.4, the following artifacts remain on the Windows VMs after selecting “Remove VMware Tools” option:

    +

    VMware Residual Artifacts

    In v0.4.4, the following artifacts remain on the Windows VMs after selecting “Remove VMware Tools” option:

    1. VMware Driver Files

    @@ -782,4 +782,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
  • None of these remnants are harmful to VM operation or stability post-migration.
  • The vnetWFP service key on Windows 2012 is the most noteworthy from a compliance audit standpoint, but has no observed runtime impact.
  • The Error devices in Device Manager are cosmetic — they do not affect functionality.
  • -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/guides/troubleshooting/windows-dynamic-disk-ldm-migration-issue/index.html b/docs/guides/troubleshooting/windows-dynamic-disk-ldm-migration-issue/index.html index 67f9339..ab7fb8e 100644 --- a/docs/guides/troubleshooting/windows-dynamic-disk-ldm-migration-issue/index.html +++ b/docs/guides/troubleshooting/windows-dynamic-disk-ldm-migration-issue/index.html @@ -1,4 +1,4 @@ - Windows Dynamic Disk (LDM) migration issue | vJailbreak + Skip to content
    Skip to content

    Windows Dynamic Disk (LDM) migration issue

    Windows Dynamic Disk (LDM) migration issue

    diff --git a/docs/guides/troubleshooting/windows-offline-disks/index.html b/docs/guides/troubleshooting/windows-offline-disks/index.html index 3028f16..4c9458e 100644 --- a/docs/guides/troubleshooting/windows-offline-disks/index.html +++ b/docs/guides/troubleshooting/windows-offline-disks/index.html @@ -1,4 +1,4 @@ - Windows Offline Disks After Migration | vJailbreak + Skip to content
    Skip to content

    Windows Offline Disks After Migration

    Windows Offline Disks After Migration

    +

    Windows Offline Disks After Migration

    Windows Offline Disks After Migration

    Problem Description

    After migrating a Windows VM from VMware vCenter to PCD using vJailbreak, additional disks (beyond the primary C: drive) may not be visible inside the Windows operating system, even though they are successfully attached to the VM in PCD.

    Symptoms

    @@ -174,7 +174,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr

    Before migrating the VM, you can manually fix this issue by changing the SAN policy and bringing disks online.

    Step 1: Check Current SAN Policy

    Open Command Prompt as Administrator and run:

    -
    Terminal window
    C:\> diskpart
    DISKPART> SAN
    +
    Terminal window
    C:\> diskpart
    DISKPART> SAN

    You will likely see:

    SAN Policy : Offline Shared

    Step 2: Change SAN Policy to Online All

    @@ -261,4 +261,4 @@ during conversion. Windows VMs whose system volume is on a dynamic disk (LDM) sk conversion, so the Post Migration Script does not run for them — the SAN policy must be set on the source VM beforehand. Leaving a disk offline on these guests breaks the LDM volume set. See -Windows Dynamic Disk (LDM) Migration.

    \ No newline at end of file +Windows Dynamic Disk (LDM) Migration.

    \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index ba04227..f301810 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,5 +1,5 @@ - vJailbreak | vJailbreak + Skip to content
    brew install oras
  • Download Image

    oras pull quay.io/platform9/vjailbreak:v0.4.10
  • Get PCD

    brew install oras
  • Download Image

    oras pull quay.io/platform9/vjailbreak:v0.4.10
  • Get PCD

    + Skip to content
    Skip to content

    Components

    Architecture

    +

    Components

    Architecture

    Below is high level architecture of how vJailbreak works. vJailbreak runs in a virtual machine in the target OpenStack environment. vJailbreak connects with VMware environment via vSphere APIs, using the VDDK library for the Standard copy method only. vJailbreak Accelerated Copy and Storage-Accelerated Copy transfer disk data without requiring VDDK. It also uses the OpenStack SDK to interact with the OpenStack environment and perform the necessary provisioning operations including creation of volumes, VMs.

    vJailbreak Architecture

    diff --git a/docs/introduction/faq/index.html b/docs/introduction/faq/index.html index 205ab0a..3d21f9a 100644 --- a/docs/introduction/faq/index.html +++ b/docs/introduction/faq/index.html @@ -1,4 +1,4 @@ - FAQ | vJailbreak + Skip to content
    Skip to content

    FAQ

    What should I do if I cannot download VDDK?

    +

    FAQ

    What should I do if I cannot download VDDK?

    VMware’s public VDDK download pages are currently unavailable. VDDK is only required for the Standard storage copy method.

    vJailbreak Accelerated Copy and Storage-Accelerated Copy do not require VDDK and can be @@ -181,7 +181,7 @@ storage array (Pure Storage or NetApp); cold migration only

  • Why does nbdcopy fail during disk copy?

    If this issue is seen, most of the time it is a DNS/name-resolution problem. Debug logs typically show DNS resolution errors when vJailbreak tries to connect to an ESXi host.

    Error signature:

    -
    failed to run nbdcopy: exec: already started
    +
    failed to run nbdcopy: exec: already started

    See: Debug Logs.

    See the troubleshooting guide: nbdcopy fails during disk copy (often DNS resolution).

    What do when virt-v2v fails with rename: /sysroot/etc/resolv.conf ... Operation not permitted?

    @@ -225,4 +225,4 @@ storage array (Pure Storage or NetApp); cold migration only

    See the GPO Migration Guide for steps to temporarily disable or scope down GPO before migration.

    How do I migrate a VM with vTPM (Virtual Trusted Platform Module) enabled?

    VMs with vTPM and Virtualization Based Security (VBS) enabled require special handling. You must temporarily disable vTPM on the source VM before migration, then re-enable it on the destination VM post-migration.

    -

    See the vTPM Migration Guide for step-by-step instructions.

    \ No newline at end of file +

    See the vTPM Migration Guide for step-by-step instructions.

    \ No newline at end of file diff --git a/docs/introduction/getting_started/index.html b/docs/introduction/getting_started/index.html index d59566e..79f1fc3 100644 --- a/docs/introduction/getting_started/index.html +++ b/docs/introduction/getting_started/index.html @@ -1,4 +1,4 @@ - Getting Started | vJailbreak + Skip to content
    Skip to content

    Getting Started

    vJailbreak works by running itself as a VM on the target OpenStack cloud. It connects remotely +

    Getting Started

    vJailbreak works by running itself as a VM on the target OpenStack cloud. It connects remotely to the VMware vSphere environment to perform the migration. vJailbreak supports multiple storage copy methods: the Standard copy method uses the VMware VDDK library, while vJailbreak Accelerated Copy and Storage-Accelerated Copy do not require VDDK. These are @@ -169,7 +169,7 @@ provisioning operations including creation of volumes, VMs.

    You can download the vJailbreak image using one of the following methods:

    Option 1: Using ORAS

    Download and install ORAS, a toolkit to download the qcow2 image of vJailbreak. Then, download the latest version of the vJailbreak image with the following command:

    -
    Terminal window
    oras pull quay.io/platform9/vjailbreak:v0.4.10
    +
    Terminal window
    oras pull quay.io/platform9/vjailbreak:v0.4.10

    For older versions, download the vJailbreak image with the following command:

    Terminal window
    oras pull quay.io/platform9/vjailbreak:<version>

    These will download the vJailbreak qcow2 folder containing the image locally in the current directory named vjailbreak_qcow2/vjailbreak-image.qcow2.

    @@ -361,4 +361,4 @@ to a folder named vmware-vix-disklib-distrib:

  • Migrate your VMs.
  • Scaling vJailbreak

    -
    Read more about scaling vJailbreak.
    \ No newline at end of file +
    Read more about scaling vJailbreak.
    \ No newline at end of file diff --git a/docs/introduction/prerequisites/index.html b/docs/introduction/prerequisites/index.html index de5f62d..a5b7a3f 100644 --- a/docs/introduction/prerequisites/index.html +++ b/docs/introduction/prerequisites/index.html @@ -1,4 +1,4 @@ - Prerequisites | vJailbreak + Skip to content
    Skip to content

    Prerequisites

    For frequently asked questions, see FAQ.

    +

    Prerequisites

    For frequently asked questions, see FAQ.

    VDDK requirements

    VDDK is required only if you plan to use the Standard storage copy method. vJailbreak Accelerated Copy and Storage-Accelerated Copy do not require VDDK.

    @@ -320,7 +320,7 @@ VDDK. Note that vJailbreak Accelerated Copy supports cold migration only

    Troubleshooting

    VixDiskLib_Open token-retrieval failure

    Symptom: Migration fails during disk open with:

    -
    Error 1 (Unknown error): Unexpected error when trying to retrieve token for disk
    Unable to locate appropriate transport mode
    +
    Error 1 (Unknown error): Unexpected error when trying to retrieve token for disk
    Unable to locate appropriate transport mode

    Cause: Missing Cryptographer.Access and/or Cryptographer.Decrypt privilege on the migration service account. This is the most common encrypted-VM permissions failure and does not surface as a permissions error in the message text.

    Fix: Verify the account role includes both Cryptographer.Access and Cryptographer.Decrypt. Re-check with govc permissions.ls against the target VM.

    Additional Privileges: vJailbreak Accelerated Copy Migrations

    @@ -564,4 +564,4 @@ VDDK. Note that vJailbreak Accelerated Copy supports cold migration only -
    ComponentPortProtocolSourcePurpose
    Kubelet API10250TCPControl Plane / PrometheusHealth checks, logs, metrics
    Kubelet Read-Only (Optional)10255TCPInternal OnlyDeprecated but might be used in some cases
    Metrics Server4443TCPInternal ClusterK8s resource metrics (kubectl top)
    Prometheus9090TCPInternal Cluster / Monitoring ServerPrometheus UI and API
    Node Exporter (if used)9100TCPPrometheusNode-level metrics
    Cadvisor (Optional)4194TCPInternal Cluster / PrometheusContainer metrics collection
    \ No newline at end of file +
    ComponentPortProtocolSourcePurpose
    Kubelet API10250TCPControl Plane / PrometheusHealth checks, logs, metrics
    Kubelet Read-Only (Optional)10255TCPInternal OnlyDeprecated but might be used in some cases
    Metrics Server4443TCPInternal ClusterK8s resource metrics (kubectl top)
    Prometheus9090TCPInternal Cluster / Monitoring ServerPrometheus UI and API
    Node Exporter (if used)9100TCPPrometheusNode-level metrics
    Cadvisor (Optional)4194TCPInternal Cluster / PrometheusContainer metrics collection
    \ No newline at end of file diff --git a/docs/introduction/what_is_vjailbreak/index.html b/docs/introduction/what_is_vjailbreak/index.html index 88c61c0..c44d543 100644 --- a/docs/introduction/what_is_vjailbreak/index.html +++ b/docs/introduction/what_is_vjailbreak/index.html @@ -1,4 +1,4 @@ - What is vJailbreak? | vJailbreak + Skip to content
    Skip to content

    What is vJailbreak?

    vJailbreak is an open-source tool featuring a user-friendly interface designed to simplify and accelerate the migration of virtual machines (VMs) from VMware vSphere environments to any Platform9 Private Cloud Director OR any OpenStack-compliant cloud. It eliminates the complexities of cross-platform VM migration, enabling you to modernize your infrastructure with minimal disruption and a streamlined, visual workflow.

    +

    What is vJailbreak?

    vJailbreak is an open-source tool featuring a user-friendly interface designed to simplify and accelerate the migration of virtual machines (VMs) from VMware vSphere environments to any Platform9 Private Cloud Director OR any OpenStack-compliant cloud. It eliminates the complexities of cross-platform VM migration, enabling you to modernize your infrastructure with minimal disruption and a streamlined, visual workflow.

    How vJailbreak works

    vJailbreak’s intuitive interface leverages the OpenStack & VMware SDKs to interact directly with both your VMware vSphere environment and your target OpenStack cloud. The UI guides you through these key steps:

      @@ -178,4 +178,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    1. Non-Disruptive Migration: Perform migrations without impacting the operation of your source VMware environment.
    2. Visual Progress Tracking: Monitor the status of your migrations in real-time through the user interface.
    3. -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/package-lock.json b/docs/package-lock.json index 15a345b..1f1af0d 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -2146,6 +2146,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2306,6 +2307,7 @@ "resolved": "https://registry.npmjs.org/astro/-/astro-5.12.8.tgz", "integrity": "sha512-KkJ7FR+c2SyZYlpakm48XBiuQcRsrVtdjG5LN5an0givI/tLik+ePJ4/g3qrAVhYMjJOxBA2YgFQxANPiWB+Mw==", "license": "MIT", + "peer": true, "dependencies": { "@astrojs/compiler": "^2.12.2", "@astrojs/internal-helpers": "0.7.1", @@ -2787,6 +2789,7 @@ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", "license": "Apache-2.0", + "peer": true, "dependencies": { "@chevrotain/cst-dts-gen": "11.0.3", "@chevrotain/gast": "11.0.3", @@ -3044,6 +3047,7 @@ "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.0.tgz", "integrity": "sha512-2d2EwwhaxLWC8ahkH1PpQwCyu6EY3xDRdcEJXrLTb4fOUtVc+YWQalHU67rFS1a6ngj1fgv9dQLtJxP/KAFZEw==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10" } @@ -3444,6 +3448,7 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", + "peer": true, "engines": { "node": ">=12" } @@ -5257,6 +5262,7 @@ "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.9.0.tgz", "integrity": "sha512-YdPXn9slEwO0omQfQIsW6vS84weVQftIyyTGAZCwM//MGhPzL1+l6vO6bkf0wnP4tHigH1alZ5Ooy3HXI2gOag==", "license": "MIT", + "peer": true, "dependencies": { "@braintree/sanitize-url": "^7.0.4", "@iconify/utils": "^2.1.33", @@ -6449,6 +6455,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -7044,6 +7051,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz", "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==", "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -7953,6 +7961,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -8222,6 +8231,7 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/docs/pagefind/fragment/en_33971b8.pf_fragment b/docs/pagefind/fragment/en_33971b8.pf_fragment new file mode 100644 index 0000000..88a40ac Binary files /dev/null and b/docs/pagefind/fragment/en_33971b8.pf_fragment differ diff --git a/docs/pagefind/fragment/en_4af968f.pf_fragment b/docs/pagefind/fragment/en_4af968f.pf_fragment deleted file mode 100644 index 287a08d..0000000 Binary files a/docs/pagefind/fragment/en_4af968f.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_5351240.pf_fragment b/docs/pagefind/fragment/en_5351240.pf_fragment deleted file mode 100644 index ac1dd9a..0000000 Binary files a/docs/pagefind/fragment/en_5351240.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_5d7ae43.pf_fragment b/docs/pagefind/fragment/en_5d7ae43.pf_fragment new file mode 100644 index 0000000..3e532b1 Binary files /dev/null and b/docs/pagefind/fragment/en_5d7ae43.pf_fragment differ diff --git a/docs/pagefind/fragment/en_7ee78c5.pf_fragment b/docs/pagefind/fragment/en_7ee78c5.pf_fragment deleted file mode 100644 index 46bc775..0000000 Binary files a/docs/pagefind/fragment/en_7ee78c5.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_929c8cc.pf_fragment b/docs/pagefind/fragment/en_929c8cc.pf_fragment deleted file mode 100644 index 2f441ee..0000000 Binary files a/docs/pagefind/fragment/en_929c8cc.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_a128433.pf_fragment b/docs/pagefind/fragment/en_a128433.pf_fragment new file mode 100644 index 0000000..05900db Binary files /dev/null and b/docs/pagefind/fragment/en_a128433.pf_fragment differ diff --git a/docs/pagefind/fragment/en_a3b267c.pf_fragment b/docs/pagefind/fragment/en_a3b267c.pf_fragment deleted file mode 100644 index 15cb32d..0000000 Binary files a/docs/pagefind/fragment/en_a3b267c.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_aaff9b1.pf_fragment b/docs/pagefind/fragment/en_aaff9b1.pf_fragment new file mode 100644 index 0000000..78eb4d4 Binary files /dev/null and b/docs/pagefind/fragment/en_aaff9b1.pf_fragment differ diff --git a/docs/pagefind/fragment/en_affc5c3.pf_fragment b/docs/pagefind/fragment/en_affc5c3.pf_fragment new file mode 100644 index 0000000..e8f3b9c Binary files /dev/null and b/docs/pagefind/fragment/en_affc5c3.pf_fragment differ diff --git a/docs/pagefind/fragment/en_b574913.pf_fragment b/docs/pagefind/fragment/en_b574913.pf_fragment deleted file mode 100644 index 14ba426..0000000 Binary files a/docs/pagefind/fragment/en_b574913.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_b7f5944.pf_fragment b/docs/pagefind/fragment/en_b7f5944.pf_fragment deleted file mode 100644 index 5916ab7..0000000 Binary files a/docs/pagefind/fragment/en_b7f5944.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_be856ed.pf_fragment b/docs/pagefind/fragment/en_be856ed.pf_fragment new file mode 100644 index 0000000..e307ee9 Binary files /dev/null and b/docs/pagefind/fragment/en_be856ed.pf_fragment differ diff --git a/docs/pagefind/fragment/en_d34554f.pf_fragment b/docs/pagefind/fragment/en_d34554f.pf_fragment deleted file mode 100644 index cade23f..0000000 Binary files a/docs/pagefind/fragment/en_d34554f.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_d698147.pf_fragment b/docs/pagefind/fragment/en_d698147.pf_fragment deleted file mode 100644 index 46082dc..0000000 Binary files a/docs/pagefind/fragment/en_d698147.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_d8aa3ed.pf_fragment b/docs/pagefind/fragment/en_d8aa3ed.pf_fragment deleted file mode 100644 index 7917e74..0000000 Binary files a/docs/pagefind/fragment/en_d8aa3ed.pf_fragment and /dev/null differ diff --git a/docs/pagefind/fragment/en_e1a6d49.pf_fragment b/docs/pagefind/fragment/en_e1a6d49.pf_fragment new file mode 100644 index 0000000..6fec984 Binary files /dev/null and b/docs/pagefind/fragment/en_e1a6d49.pf_fragment differ diff --git a/docs/pagefind/fragment/en_ee41417.pf_fragment b/docs/pagefind/fragment/en_ee41417.pf_fragment new file mode 100644 index 0000000..cb4a75a Binary files /dev/null and b/docs/pagefind/fragment/en_ee41417.pf_fragment differ diff --git a/docs/pagefind/fragment/en_f9252cd.pf_fragment b/docs/pagefind/fragment/en_f9252cd.pf_fragment new file mode 100644 index 0000000..4d2e2ca Binary files /dev/null and b/docs/pagefind/fragment/en_f9252cd.pf_fragment differ diff --git a/docs/pagefind/fragment/en_fdf8aee.pf_fragment b/docs/pagefind/fragment/en_fdf8aee.pf_fragment new file mode 100644 index 0000000..fcac77a Binary files /dev/null and b/docs/pagefind/fragment/en_fdf8aee.pf_fragment differ diff --git a/docs/pagefind/pagefind-entry.json b/docs/pagefind/pagefind-entry.json index d7fe97d..54af26b 100644 --- a/docs/pagefind/pagefind-entry.json +++ b/docs/pagefind/pagefind-entry.json @@ -1 +1 @@ -{"version":"1.3.0","languages":{"en":{"hash":"en_c1a75a9f75","wasm":"en","page_count":57}}} \ No newline at end of file +{"version":"1.3.0","languages":{"en":{"hash":"en_d52165a512","wasm":"en","page_count":57}}} \ No newline at end of file diff --git a/docs/pagefind/pagefind.en_c1a75a9f75.pf_meta b/docs/pagefind/pagefind.en_c1a75a9f75.pf_meta deleted file mode 100644 index 1fa6c07..0000000 Binary files a/docs/pagefind/pagefind.en_c1a75a9f75.pf_meta and /dev/null differ diff --git a/docs/pagefind/pagefind.en_d52165a512.pf_meta b/docs/pagefind/pagefind.en_d52165a512.pf_meta new file mode 100644 index 0000000..1d24414 Binary files /dev/null and b/docs/pagefind/pagefind.en_d52165a512.pf_meta differ diff --git a/docs/reference/compatibility/index.html b/docs/reference/compatibility/index.html index c33f9f0..8485f01 100644 --- a/docs/reference/compatibility/index.html +++ b/docs/reference/compatibility/index.html @@ -1,4 +1,4 @@ - vJailbreak Compatibility | vJailbreak + Skip to content
    Skip to content

    vJailbreak Compatibility

    Following is a list of systems vJailbreak has been validated with. Please reach out to us to report any issues or to add support for additional versions.

    +

    vJailbreak Compatibility

    Following is a list of systems vJailbreak has been validated with. Please reach out to us to report any issues or to add support for additional versions.

    VMware

    • VMware vCenter Server 6.7
    • @@ -407,4 +407,4 @@ add support for additional versions. Verified implies it has been tested and con -
      Operating SystemPlatformVerifiedExpected
      AlmaLinuxlinux/amd64NoYes
      Amazon Linux 2linux/amd64NoYes
      CentOS 4/5linux/i386NoYes
      CentOS 4linux/amd64NoYes
      CentOS 5linux/amd64YesYes
      CentOS 6linux/amd64YesYes
      CentOS 7linux/amd64YesYes
      CentOS 8linux/amd64YesYes
      CentOS 9linux/amd64YesYes
      CentOS Stream10linux/amd64NoYes
      Debian GNU/Linux 8 (64-bit)linux/amd64NoYes
      Debian 12linux/amd64YesYes
      FreeBSD 14bsd/amd64YesYes
      Microsoft Windows 11windows/amd64YesYes
      Microsoft Windows 11 Enterprisewindows/amd64YesYes
      Microsoft Windows Server 2012windows/amd64YesYes
      Microsoft Windows Server 2016windows/amd64YesYes
      Microsoft Windows Server 2019windows/amd64YesYes
      Microsoft Windows Server 2022windows/amd64YesYes
      Microsoft Windows Server 2025windows/amd64YesYes
      Oracle Linux 7linux/amd64NoYes
      Oracle Linux 8linux/amd64YesYes
      Red Hat Enterprise Linux 10linux/amd64YesYes
      Red Hat Enterprise Linux 8linux/amd64YesYes
      Red Hat Enterprise Linux 9linux/amd64YesYes
      Red Hat Enterprise Linux 7linux/amd64NoYes
      Red Hat Enterprise Linux 5linux/amd64NoYes
      Red Hat Enterprise Linux 4linux/amd64NoYes
      Rocky 8linux/amd64YesYes
      Rocky 9linux/amd64YesYes
      Rocky 10linux/amd64YesYes
      SUSE Linux Enterprise 15linux/amd64YesYes
      Ubuntu Linux 14linux/amd64YesYes
      Ubuntu Linux 15linux/amd64YesYes
      Ubuntu Linux 16linux/amd64YesYes
      Ubuntu Linux 17linux/amd64YesYes
      Ubuntu Linux 22.04linux/amd64YesYes
      Ubuntu Linux 24.04linux/amd64YesYes
      VMware Photon OSlinux/amd64NoNo
    \ No newline at end of file +
    Operating SystemPlatformVerifiedExpected
    AlmaLinuxlinux/amd64NoYes
    Amazon Linux 2linux/amd64NoYes
    CentOS 4/5linux/i386NoYes
    CentOS 4linux/amd64NoYes
    CentOS 5linux/amd64YesYes
    CentOS 6linux/amd64YesYes
    CentOS 7linux/amd64YesYes
    CentOS 8linux/amd64YesYes
    CentOS 9linux/amd64YesYes
    CentOS Stream10linux/amd64NoYes
    Debian GNU/Linux 8 (64-bit)linux/amd64NoYes
    Debian 12linux/amd64YesYes
    FreeBSD 14bsd/amd64YesYes
    Microsoft Windows 11windows/amd64YesYes
    Microsoft Windows 11 Enterprisewindows/amd64YesYes
    Microsoft Windows Server 2012windows/amd64YesYes
    Microsoft Windows Server 2016windows/amd64YesYes
    Microsoft Windows Server 2019windows/amd64YesYes
    Microsoft Windows Server 2022windows/amd64YesYes
    Microsoft Windows Server 2025windows/amd64YesYes
    Oracle Linux 7linux/amd64NoYes
    Oracle Linux 8linux/amd64YesYes
    Red Hat Enterprise Linux 10linux/amd64YesYes
    Red Hat Enterprise Linux 8linux/amd64YesYes
    Red Hat Enterprise Linux 9linux/amd64YesYes
    Red Hat Enterprise Linux 7linux/amd64NoYes
    Red Hat Enterprise Linux 5linux/amd64NoYes
    Red Hat Enterprise Linux 4linux/amd64NoYes
    Rocky 8linux/amd64YesYes
    Rocky 9linux/amd64YesYes
    Rocky 10linux/amd64YesYes
    SUSE Linux Enterprise 15linux/amd64YesYes
    Ubuntu Linux 14linux/amd64YesYes
    Ubuntu Linux 15linux/amd64YesYes
    Ubuntu Linux 16linux/amd64YesYes
    Ubuntu Linux 17linux/amd64YesYes
    Ubuntu Linux 22.04linux/amd64YesYes
    Ubuntu Linux 24.04linux/amd64YesYes
    VMware Photon OSlinux/amd64NoNo
    \ No newline at end of file diff --git a/docs/reference/known-limitations/index.html b/docs/reference/known-limitations/index.html index 47caeef..2e6ac47 100644 --- a/docs/reference/known-limitations/index.html +++ b/docs/reference/known-limitations/index.html @@ -1,4 +1,4 @@ - Known Limitations | vJailbreak + Skip to content
    Skip to content

    Known Limitations

    This page documents known limitations, unsupported configurations, and important caveats in vJailbreak. Review this page before planning a migration to avoid unexpected failures.

    +

    Known Limitations

    This page documents known limitations, unsupported configurations, and important caveats in vJailbreak. Review this page before planning a migration to avoid unexpected failures.

    Windows Dynamic Disk (LDM)

    Windows VMs whose system volume sits on a dynamic disk (Logical Disk Manager / LDM) are supported, but they follow a dedicated migration path. virt-v2v cannot convert these guests, so vJailbreak skips conversion, brings the VM up on an emulated SATA controller, and waits at the LDM Boot Verification phase for you to move it to virtio.

    vJailbreak detects this automatically — there is nothing to select in the migration form.

    @@ -224,7 +224,7 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
  • Cleanly shut down the source DC before migration — do not snapshot a running DC.
  • Migrate only one DC at a time.
  • After the migrated DC boots, verify replication health immediately: -
    Terminal window
    repadmin /replsummary
    dcdiag /test:replications
    +
    Terminal window
    repadmin /replsummary
    dcdiag /test:replications
  • Confirm time synchronization (Kerberos requires clocks within 5 minutes of each other).
  • Verify DNS is resolving correctly for all domain members.
  • @@ -430,4 +430,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    LimitationDetail
    VMs with RDM disks cannot be retriedShared RDM disk state prevents an automatic retry. The Retry button is disabled for these migrations and the migration must be restarted manually.
    A retry always produces a single-VM planRetrying one VM from a plan that covered several VMs moves that VM into a plan of its own. The remaining VMs stay in the original plan and are unaffected.
    Bulk retry cannot change configurationRetry Selected restarts each migration with its existing configuration. To change settings, retry the migration individually.
    Credentials and source cluster are lockedA retry cannot change the VMware or OpenStack credentials or the source cluster. Create a new migration instead.
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/reference/reference/index.html b/docs/reference/reference/index.html index 798c83f..732e396 100644 --- a/docs/reference/reference/index.html +++ b/docs/reference/reference/index.html @@ -1,4 +1,4 @@ - vJailbreak CRD references | vJailbreak + Skip to content
    Skip to content

    vJailbreak CRD references

    The following custom resource definitions (CRD) are deployed in the same namespace as the Migration Controller pod. By default, the namespace is migration-system.

    +

    vJailbreak CRD references

    The following custom resource definitions (CRD) are deployed in the same namespace as the Migration Controller pod. By default, the namespace is migration-system.

    Credentials

    OpenStack

    • OpenstackCreds use the variables from the openstack.rc file. All fields are required except OS_INSECURE
    -
    apiVersion: vjailbreak.k8s.pf9.io/v1alpha1
    kind: OpenstackCreds
    metadata:
    name: osc1
    namespace: migration-system
    spec:
    secretRef:
    name: osc1-openstack-secret
    ---
    apiVersion: v1
    data:
    OS_AUTH_URL:
    OS_DOMAIN_NAME:
    OS_INSECURE:
    OS_PASSWORD:
    OS_REGION_NAME:
    OS_TENANT_NAME:
    OS_USERNAME:
    kind: Secret
    metadata:
    name: osc1-openstack-secret
    namespace: migration-system
    type: Opaque
    +
    apiVersion: vjailbreak.k8s.pf9.io/v1alpha1
    kind: OpenstackCreds
    metadata:
    name: osc1
    namespace: migration-system
    spec:
    secretRef:
    name: osc1-openstack-secret
    ---
    apiVersion: v1
    data:
    OS_AUTH_URL:
    OS_DOMAIN_NAME:
    OS_INSECURE:
    OS_PASSWORD:
    OS_REGION_NAME:
    OS_TENANT_NAME:
    OS_USERNAME:
    kind: Secret
    metadata:
    name: osc1-openstack-secret
    namespace: migration-system
    type: Opaque

    VMware

    • All fields in VMwareCreds are required.
    • @@ -255,4 +255,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    • The chosen flavor should align with the resource requirements for migration workloads.
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/release_docs/v0410/index.html b/docs/release_docs/v0410/index.html index a64fd1f..81d7d77 100644 --- a/docs/release_docs/v0410/index.html +++ b/docs/release_docs/v0410/index.html @@ -1,4 +1,4 @@ - v0.4.10 | vJailbreak + Skip to content
    Skip to content

    v0.4.10

    What’s Changed

    +

    v0.4.10

    What’s Changed

    Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.9…v0.4.10

    Highlights

    -

    This is a quick release in response to VDDK unavailability. More details - https://platform9.com/blog/vddk-no-longer-available/

    \ No newline at end of file +

    This is a quick release in response to VDDK unavailability. More details - https://platform9.com/blog/vddk-no-longer-available/

    \ No newline at end of file diff --git a/docs/release_docs/v046/index.html b/docs/release_docs/v046/index.html index af033f5..da2cb5c 100644 --- a/docs/release_docs/v046/index.html +++ b/docs/release_docs/v046/index.html @@ -1,4 +1,4 @@ - v0.4.6 | vJailbreak + Skip to content
    Skip to content

    v0.4.6

    What’s Changed

    +

    v0.4.6

    What’s Changed

    \ No newline at end of file +

    Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.5…v0.4.6

    \ No newline at end of file diff --git a/docs/release_docs/v047/index.html b/docs/release_docs/v047/index.html index 94e8fbe..198fe8d 100644 --- a/docs/release_docs/v047/index.html +++ b/docs/release_docs/v047/index.html @@ -1,4 +1,4 @@ - v0.4.7 | vJailbreak + Skip to content
    Skip to content

    v0.4.7

    What’s Changed

    +

    v0.4.7

    What’s Changed

    Known Limitations

    Proxy VM OVA requires ESXi 8.0 U2 or higher: The bundled OVA template uses virtual hardware version vmx-21, which is incompatible with older ESXi hosts. Attempting to deploy it on ESXi 7.x will fail with an “unsupported hardware family” error. For ESXi 7.x environments, the Proxy VM must be created and configured manually instead of using the OVA deploy option.

    -

    Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.6…v0.4.7

    \ No newline at end of file +

    Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.6…v0.4.7

    \ No newline at end of file diff --git a/docs/release_docs/v048/index.html b/docs/release_docs/v048/index.html index d97c13c..d4d04d0 100644 --- a/docs/release_docs/v048/index.html +++ b/docs/release_docs/v048/index.html @@ -1,4 +1,4 @@ - v0.4.8 | vJailbreak + Skip to content
    Skip to content

    v0.4.8

    What’s Changed

    +

    v0.4.8

    What’s Changed

    • #2067: Block/Grey out the already registered proxy vm, this could mismatch the secret by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/2105
    • [2083] Infer hotplug intent from assigned flavor by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/2109
    • @@ -231,4 +231,4 @@ starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astr
    • When using the Hotplug flavor for migration, the destination VM’s Maximum CPU and Maximum Memory values are set to twice the original VM’s configured CPU and memory in vCenter.
    • Migration of SUSE Linux Enterprise Server (SLES) and SUSE Linux Enterprise Desktop (SLED) systems using Legacy GRUB 0.97 is not supported.
    -

    Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.7…v0.4.8

    \ No newline at end of file +

    Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.7…v0.4.8

    \ No newline at end of file diff --git a/docs/release_docs/v049/index.html b/docs/release_docs/v049/index.html index e190b40..b66b1be 100644 --- a/docs/release_docs/v049/index.html +++ b/docs/release_docs/v049/index.html @@ -1,4 +1,4 @@ - v0.4.9 | vJailbreak + Skip to content
    Skip to content

    v0.4.9

    What’s Changed

    +

    v0.4.9

    What’s Changed

    -

    Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.8…v0.4.9

    \ No newline at end of file +

    Full Changelog: https://github.com/platform9/vjailbreak/compare/v0.4.8…v0.4.9

    \ No newline at end of file diff --git a/docs/sitemap-0.xml b/docs/sitemap-0.xml index 1d96cdc..197c9ff 100644 --- a/docs/sitemap-0.xml +++ b/docs/sitemap-0.xml @@ -1 +1 @@ -https://platform9.github.io/vjailbreak-docs/https://platform9.github.io/vjailbreak-docs/architecture/architecture-overview/https://platform9.github.io/vjailbreak-docs/architecture/components/https://platform9.github.io/vjailbreak-docs/architecture/vjailbreak-vm/https://platform9.github.io/vjailbreak-docs/archives/release_notes/https://platform9.github.io/vjailbreak-docs/concepts/cluster-conversion/https://platform9.github.io/vjailbreak-docs/concepts/credential-management/https://platform9.github.io/vjailbreak-docs/concepts/migration-options/https://platform9.github.io/vjailbreak-docs/concepts/network-persistence/https://platform9.github.io/vjailbreak-docs/concepts/network-storage-mapping/https://platform9.github.io/vjailbreak-docs/concepts/storage-accelerated-copy/https://platform9.github.io/vjailbreak-docs/concepts/user-management/https://platform9.github.io/vjailbreak-docs/concepts/vjailbreak-accelerated-copy/https://platform9.github.io/vjailbreak-docs/guides/cli-api/migrating_rdm_disk_windows_cluster_machine_using_cli/https://platform9.github.io/vjailbreak-docs/guides/cli-api/migrating_using_cli_and_kubectl/https://platform9.github.io/vjailbreak-docs/guides/cluster-conversion/cluster-conversion/https://platform9.github.io/vjailbreak-docs/guides/cluster-conversion/maas-enablement/https://platform9.github.io/vjailbreak-docs/guides/how-to/ai_analysis/https://platform9.github.io/vjailbreak-docs/guides/how-to/building/https://platform9.github.io/vjailbreak-docs/guides/how-to/enable_kvm_nested_virtualization/https://platform9.github.io/vjailbreak-docs/guides/how-to/firstboot_script_doc/https://platform9.github.io/vjailbreak-docs/guides/how-to/gpo_migration/https://platform9.github.io/vjailbreak-docs/guides/how-to/injecting_custom_env/https://platform9.github.io/vjailbreak-docs/guides/how-to/migration_templates/https://platform9.github.io/vjailbreak-docs/guides/how-to/network-traffic-separation/https://platform9.github.io/vjailbreak-docs/guides/how-to/networking-101/https://platform9.github.io/vjailbreak-docs/guides/how-to/ntp_timezone/https://platform9.github.io/vjailbreak-docs/guides/how-to/perform_admin_cutover/https://platform9.github.io/vjailbreak-docs/guides/how-to/profiles/https://platform9.github.io/vjailbreak-docs/guides/how-to/retry_failed_migration/https://platform9.github.io/vjailbreak-docs/guides/how-to/scaling/https://platform9.github.io/vjailbreak-docs/guides/how-to/stream_logs/https://platform9.github.io/vjailbreak-docs/guides/how-to/upgrade_vjailbreak/https://platform9.github.io/vjailbreak-docs/guides/how-to/virtio_doc/https://platform9.github.io/vjailbreak-docs/guides/how-to/vjailbreak_settings/https://platform9.github.io/vjailbreak-docs/guides/how-to/vtpm_migration/https://platform9.github.io/vjailbreak-docs/guides/how-to/windows-ldm-migration/https://platform9.github.io/vjailbreak-docs/guides/troubleshooting/debug_vjailbreak_install/https://platform9.github.io/vjailbreak-docs/guides/troubleshooting/debuglogs/https://platform9.github.io/vjailbreak-docs/guides/troubleshooting/nbdcopy-fails-after-vm-moved-esxi-host/https://platform9.github.io/vjailbreak-docs/guides/troubleshooting/troubleshooting/https://platform9.github.io/vjailbreak-docs/guides/troubleshooting/vmware_residual_artifacts/https://platform9.github.io/vjailbreak-docs/guides/troubleshooting/windows-dynamic-disk-ldm-migration-issue/https://platform9.github.io/vjailbreak-docs/guides/troubleshooting/windows-offline-disks/https://platform9.github.io/vjailbreak-docs/introduction/architecture-components/https://platform9.github.io/vjailbreak-docs/introduction/faq/https://platform9.github.io/vjailbreak-docs/introduction/getting_started/https://platform9.github.io/vjailbreak-docs/introduction/prerequisites/https://platform9.github.io/vjailbreak-docs/introduction/what_is_vjailbreak/https://platform9.github.io/vjailbreak-docs/reference/compatibility/https://platform9.github.io/vjailbreak-docs/reference/known-limitations/https://platform9.github.io/vjailbreak-docs/reference/reference/https://platform9.github.io/vjailbreak-docs/release_docs/v046/https://platform9.github.io/vjailbreak-docs/release_docs/v047/https://platform9.github.io/vjailbreak-docs/release_docs/v048/https://platform9.github.io/vjailbreak-docs/release_docs/v049/https://platform9.github.io/vjailbreak-docs/release_docs/v0410/ \ No newline at end of file +https://platform9.github.io/vjailbreak/https://platform9.github.io/vjailbreak/architecture/architecture-overview/https://platform9.github.io/vjailbreak/architecture/components/https://platform9.github.io/vjailbreak/architecture/vjailbreak-vm/https://platform9.github.io/vjailbreak/archives/release_notes/https://platform9.github.io/vjailbreak/concepts/cluster-conversion/https://platform9.github.io/vjailbreak/concepts/credential-management/https://platform9.github.io/vjailbreak/concepts/migration-options/https://platform9.github.io/vjailbreak/concepts/network-persistence/https://platform9.github.io/vjailbreak/concepts/network-storage-mapping/https://platform9.github.io/vjailbreak/concepts/storage-accelerated-copy/https://platform9.github.io/vjailbreak/concepts/user-management/https://platform9.github.io/vjailbreak/concepts/vjailbreak-accelerated-copy/https://platform9.github.io/vjailbreak/guides/cli-api/migrating_rdm_disk_windows_cluster_machine_using_cli/https://platform9.github.io/vjailbreak/guides/cli-api/migrating_using_cli_and_kubectl/https://platform9.github.io/vjailbreak/guides/cluster-conversion/cluster-conversion/https://platform9.github.io/vjailbreak/guides/cluster-conversion/maas-enablement/https://platform9.github.io/vjailbreak/guides/how-to/ai_analysis/https://platform9.github.io/vjailbreak/guides/how-to/building/https://platform9.github.io/vjailbreak/guides/how-to/enable_kvm_nested_virtualization/https://platform9.github.io/vjailbreak/guides/how-to/firstboot_script_doc/https://platform9.github.io/vjailbreak/guides/how-to/gpo_migration/https://platform9.github.io/vjailbreak/guides/how-to/injecting_custom_env/https://platform9.github.io/vjailbreak/guides/how-to/migration_templates/https://platform9.github.io/vjailbreak/guides/how-to/network-traffic-separation/https://platform9.github.io/vjailbreak/guides/how-to/networking-101/https://platform9.github.io/vjailbreak/guides/how-to/ntp_timezone/https://platform9.github.io/vjailbreak/guides/how-to/perform_admin_cutover/https://platform9.github.io/vjailbreak/guides/how-to/profiles/https://platform9.github.io/vjailbreak/guides/how-to/retry_failed_migration/https://platform9.github.io/vjailbreak/guides/how-to/scaling/https://platform9.github.io/vjailbreak/guides/how-to/stream_logs/https://platform9.github.io/vjailbreak/guides/how-to/upgrade_vjailbreak/https://platform9.github.io/vjailbreak/guides/how-to/virtio_doc/https://platform9.github.io/vjailbreak/guides/how-to/vjailbreak_settings/https://platform9.github.io/vjailbreak/guides/how-to/vtpm_migration/https://platform9.github.io/vjailbreak/guides/how-to/windows-ldm-migration/https://platform9.github.io/vjailbreak/guides/troubleshooting/debug_vjailbreak_install/https://platform9.github.io/vjailbreak/guides/troubleshooting/debuglogs/https://platform9.github.io/vjailbreak/guides/troubleshooting/nbdcopy-fails-after-vm-moved-esxi-host/https://platform9.github.io/vjailbreak/guides/troubleshooting/troubleshooting/https://platform9.github.io/vjailbreak/guides/troubleshooting/vmware_residual_artifacts/https://platform9.github.io/vjailbreak/guides/troubleshooting/windows-dynamic-disk-ldm-migration-issue/https://platform9.github.io/vjailbreak/guides/troubleshooting/windows-offline-disks/https://platform9.github.io/vjailbreak/introduction/architecture-components/https://platform9.github.io/vjailbreak/introduction/faq/https://platform9.github.io/vjailbreak/introduction/getting_started/https://platform9.github.io/vjailbreak/introduction/prerequisites/https://platform9.github.io/vjailbreak/introduction/what_is_vjailbreak/https://platform9.github.io/vjailbreak/reference/compatibility/https://platform9.github.io/vjailbreak/reference/known-limitations/https://platform9.github.io/vjailbreak/reference/reference/https://platform9.github.io/vjailbreak/release_docs/v046/https://platform9.github.io/vjailbreak/release_docs/v047/https://platform9.github.io/vjailbreak/release_docs/v048/https://platform9.github.io/vjailbreak/release_docs/v049/https://platform9.github.io/vjailbreak/release_docs/v0410/ \ No newline at end of file diff --git a/docs/sitemap-index.xml b/docs/sitemap-index.xml index 54e0d94..f3c70f1 100644 --- a/docs/sitemap-index.xml +++ b/docs/sitemap-index.xml @@ -1 +1 @@ -https://platform9.github.io/vjailbreak-docs/sitemap-0.xml \ No newline at end of file +https://platform9.github.io/vjailbreak/sitemap-0.xml \ No newline at end of file