forklift
by
kubev2v

Description: Toolkit for migrating VMs from VMware, OVA, EC2, HyperV, oVirt and OpenStack to KubeVirt

View on GitHub ↗

Summary Information

Updated 22 minutes ago
Added to GitGenius on May 7th, 2023
Created on September 8th, 2022
Open Issues & Pull Requests: 142 (+0)
Number of forks: 97
Total Stargazers: 184 (+0)
Total Subscribers: 6 (+0)

Issue Activity (beta)

Open issues: 80
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 737 days
Stale 30+ days: 79
Stale 90+ days: 74

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • OpenStack (21)
  • bug (14)
  • RHV (11)
  • OpenShift (9)
  • vSphere (6)
  • enhancement (4)
  • OVA (3)
  • console-plugin (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 25.0 hours
Mean response time: 87.1 days
90th percentile: 369.8 days
Tracked items: 66

Most active contributors

Detailed Description

Forklift is a toolkit designed to migrate virtual machines at scale from multiple legacy virtualization platforms to Kubernetes KubeVirt. The project enables organizations to move workloads from VMware, OVA, EC2, Hyper-V, oVirt, and OpenStack environments into Kubernetes clusters. Written primarily in Go, Forklift addresses the challenge of cloud-native transformation by automating the complex process of converting traditional virtual machines into containerized workloads running on KubeVirt.

The migration workflow in Forklift follows a structured three-step process. Users first provide source and destination credentials to establish connections with both the legacy infrastructure and target Kubernetes environment. Next, they map the source and destination infrastructure components and create a choreographed migration plan. Finally, the system executes the actual migration effort. This orchestrated approach reduces manual intervention and helps ensure consistency across large-scale migration operations.

Forklift implements several advanced migration capabilities to minimize downtime and ensure compatibility. Warm migration using Change Block Tracking and Incremental Backup is supported for VMware and oVirt migrations, allowing virtual machines to continue running during the initial migration phases. For VMware migrations specifically, Forklift leverages virt-v2v for guest conversions, which automatically installs virtio drivers and modifies the guest operating system to run on QEMU-KVM. The toolkit also supports migrating virtual machines to remote clusters, enabling users to install Forklift on one cluster while orchestrating migrations on other clusters. Cross-cluster VM migration is facilitated through the KubeVirt Export API. Additionally, Forklift includes validation mechanisms that check virtual machines before migration execution, alerting users to potential issues that require resolution before proceeding.

The project maintains active development with structured contribution practices. GitGenius activity tracking shows a median issue and pull request response latency of 25 hours across 66 tracked items, though mean latency extends to 2090.6 hours, indicating some longer-running discussions. The most active contributors tracked include jsakil14 with 47 events, mnecas with 35 events, and yaacov with 22 events. OpenShift and OpenStack emerge as the most frequently discussed platforms in issue labels, each appearing in 4 tracked items, while RHV appears in 2 items. The project's contributor base shows overlap with major open-source projects including Microsoft's VSCode and TypeScript repositories as well as the Rust language project.

Deployment of Forklift involves installing the operator index to a Kubernetes cluster, with support for both single-architecture development deployments and multi-architecture production deployments covering AMD64 and ARM64 platforms. The build system is highly configurable, allowing customization of registry locations, image tags, target platforms, and component versions through environment variables. The operator can be deployed to a configurable namespace, defaulting to konveyor-forklift, and supports multiple OLM channels for different release tracks. Development contributions follow a structured commit message format requiring references to MTV issue numbers or explicit exclusion markers, enforced through GitHub Actions validation that automatically skips bot users and chore commits.

forklift
by
kubev2vkubev2v/forklift

Repository Details

Fetching additional details & charts...