Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ The tables below cover the common surface. For a complete reference of every fla

```yaml
namespace: virtwork-prod
container_disk_image: quay.io/containerdisks/fedora:41
container_disk_image: quay.io/containerdisks/fedora:42
data_disk_size: 20Gi

ssh_user: virtwork
Expand Down
2 changes: 1 addition & 1 deletion build/golden-image/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ FROM scratch
LABEL io.k8s.display-name="virtwork-disk" \
io.k8s.description="Fedora container disk with virtwork workload tools pre-installed" \
summary="Container disk for virtwork with CPU, memory, database, network, and disk tools" \
description="Pre-built Fedora container disk with stress-ng, fio, iperf3, postgresql-server, and chaos engineering tools for faster VM boot times" \
description="Pre-built Fedora container disk with stress-ng, fio, iperf3, postgresql-server, sysbench, redis, and chaos engineering tools for faster VM boot times" \
name="virtwork-disk" \
version="1.0" \
maintainer="Red Hat Ecosystem Engineering"
Expand Down
6 changes: 5 additions & 1 deletion build/golden-image/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ at VM boot time.
```
blueprint.toml image-builder Containerfile
(packages) ──────► build qcow2 ──────► FROM scratch
(Fedora 41) COPY qcow2 → /disk/
(Fedora 42) COPY qcow2 → /disk/
containerdisk
OCI image
Expand Down Expand Up @@ -42,6 +42,10 @@ re-executes itself with `sudo` automatically if needed.
- **iproute-tc** — Traffic control for chaos-network latency/loss injection
- **kernel-modules-extra** — `sch_netem` kernel module for chaos-network
- **iptables-nft** — Firewall rules for future network partition scenarios
- **procps-ng** — Process utilities for chaos-process workload (`kill`, `pkill`)
- **curl** — HTTP client for tps workload client role
- **sysbench** — Multi-threaded CPU/fileio benchmark (catalog: sysbench)
- **redis** — In-memory data store and redis-benchmark (catalog: redis-bench)
- **cloud-init** — VM first-boot configuration
- **qemu-guest-agent** — KubeVirt guest agent communication

Expand Down
4 changes: 4 additions & 0 deletions build/golden-image/blueprint.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,8 @@ packages = [
{ name = "kernel-modules-extra" },
{ name = "netperf" },
{ name = "python3" },
{ name = "procps-ng" },
{ name = "curl" },
{ name = "sysbench" },
{ name = "redis" },
]
2 changes: 1 addition & 1 deletion deploy/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ metadata:
app.kubernetes.io/managed-by: virtwork
data:
VIRTWORK_NAMESPACE: "virtwork"
VIRTWORK_CONTAINER_DISK_IMAGE: "quay.io/containerdisks/fedora:41"
VIRTWORK_CONTAINER_DISK_IMAGE: "quay.io/containerdisks/fedora:42"
VIRTWORK_DATA_DISK_SIZE: "10Gi"
VIRTWORK_CPU_CORES: "2"
VIRTWORK_MEMORY: "2Gi"
Expand Down
6 changes: 3 additions & 3 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ These apply to both `virtwork run` and `virtwork cleanup`.
| `--cpu-cores` | `VIRTWORK_CPU_CORES` | `cpu_cores` / `workloads.<name>.cpu_cores` | `2` | CPU cores per VM (per-workload override beats global) |
| `--memory` | `VIRTWORK_MEMORY` | `memory` / `workloads.<name>.memory` | `2Gi` | Memory per VM |
| `--disk-size` | `VIRTWORK_DATA_DISK_SIZE` | `data_disk_size` | `10Gi` | Data-disk size for storage-backed workloads (disk, database, chaos-disk) |
| `--container-disk-image` | `VIRTWORK_CONTAINER_DISK_IMAGE` | `container_disk_image` | `quay.io/containerdisks/fedora:41` | Boot image for the VMs; set to the golden image for faster boot |
| `--container-disk-image` | `VIRTWORK_CONTAINER_DISK_IMAGE` | `container_disk_image` | `quay.io/containerdisks/fedora:42` | Boot image for the VMs; set to the golden image for faster boot |
| `--dry-run` | `VIRTWORK_DRY_RUN` | `dry_run` | `false` | Print the VM YAML and exit; do not connect to a cluster |
| `--no-wait` | — | (sets `wait_for_ready=false`) | _unset_ | Skip readiness polling after VMs are created |
| `--timeout` | `VIRTWORK_TIMEOUT` | `timeout` | `600` | Readiness timeout in seconds |
Expand Down Expand Up @@ -83,7 +83,7 @@ Global flags (`--namespace`, `--kubeconfig`, `--audit`, `--no-audit`, `--audit-d
|---|---|---|---|---|
| `VIRTWORK_AUDIT` | bool | `true` | flag-bound | Enable audit tracking |
| `VIRTWORK_AUDIT_DB` | string | `virtwork.db` | flag-bound | Audit SQLite path |
| `VIRTWORK_CONTAINER_DISK_IMAGE` | string | `quay.io/containerdisks/fedora:41` | flag-bound | VM boot image |
| `VIRTWORK_CONTAINER_DISK_IMAGE` | string | `quay.io/containerdisks/fedora:42` | flag-bound | VM boot image |
| `VIRTWORK_CPU_CORES` | int | `2` | flag-bound | Default per-VM CPU cores |
| `VIRTWORK_DATA_DISK_SIZE` | string | `10Gi` | flag-bound | Default data disk size |
| `VIRTWORK_DRY_RUN` | bool | `false` | flag-bound | Default for `--dry-run` |
Expand Down Expand Up @@ -272,7 +272,7 @@ Each workload's `params` block accepts string-valued keys. The current parameter
| ConfigMap Key | Default | Notes |
|---|---|---|
| `VIRTWORK_NAMESPACE` | `virtwork` | The pod creates VMs in this namespace |
| `VIRTWORK_CONTAINER_DISK_IMAGE` | `quay.io/containerdisks/fedora:41` | Change to the golden image to speed up boot |
| `VIRTWORK_CONTAINER_DISK_IMAGE` | `quay.io/containerdisks/fedora:42` | Change to the golden image to speed up boot |
| `VIRTWORK_DATA_DISK_SIZE` | `10Gi` | |
| `VIRTWORK_CPU_CORES` | `2` | |
| `VIRTWORK_MEMORY` | `2Gi` | |
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/01-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ If SSH credentials were configured, a `users` section is appended with the SSH p

The orchestrator takes the cloud-init YAML and combines it with the workload's resource requirements to build a KubeVirt `VirtualMachine` object. The key pieces:

- **containerDisk** — The OS image (`quay.io/containerdisks/fedora:41` by default), pulled from a container registry. This is a read-only disk that provides the base operating system.
- **containerDisk** — The OS image (`quay.io/containerdisks/fedora:42` by default), pulled from a container registry. This is a read-only disk that provides the base operating system.
- **cloudInitNoCloud** — The cloud-init YAML from step 3, stored as a Kubernetes Secret and referenced by the VM spec.
- **CPU and memory** — Set as resource requests on the VM's domain spec (default: 2 cores, 2Gi).
- **Labels** — Every resource gets `app.kubernetes.io/managed-by: virtwork` and a unique `virtwork/run-id` UUID. These labels are how cleanup finds resources later.
Expand Down Expand Up @@ -127,7 +127,7 @@ Namespace: virtwork
VMs created: 1
Services: 0
Secrets: 1
Image: quay.io/containerdisks/fedora:41
Image: quay.io/containerdisks/fedora:42
==================================================
```

Expand Down
4 changes: 2 additions & 2 deletions docs/guide/02-deploying-workloads.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ spec:
pod: {}
volumes:
- containerDisk:
image: quay.io/containerdisks/fedora:41
image: quay.io/containerdisks/fedora:42
name: containerdisk
- cloudInitNoCloud:
userData: |
Expand Down Expand Up @@ -141,7 +141,7 @@ Namespace: virtwork
VMs created: 1
Services: 0
Secrets: 1
Image: quay.io/containerdisks/fedora:41
Image: quay.io/containerdisks/fedora:42
==================================================
```

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/03-adding-a-workload.md
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ spec:
memory: 2Gi
volumes:
- containerDisk:
image: quay.io/containerdisks/fedora:41
image: quay.io/containerdisks/fedora:42
name: containerdisk
- cloudInitNoCloud:
userData: |
Expand Down
2 changes: 1 addition & 1 deletion docs/virtwork-vs-kube-burner.md
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ jobs:

```yaml
namespace: virtwork-prod
container_disk_image: quay.io/containerdisks/fedora:41
container_disk_image: quay.io/containerdisks/fedora:42
data_disk_size: 20Gi
ssh_user: virtwork
ssh_authorized_keys:
Expand Down
2 changes: 1 addition & 1 deletion internal/constants/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const (

// Default resource values.
const (
DefaultContainerDiskImage = "quay.io/containerdisks/fedora:41"
DefaultContainerDiskImage = "quay.io/containerdisks/fedora:42"
DefaultNamespace = "virtwork"
DefaultCPUCores = 2
DefaultMemory = "2Gi"
Expand Down
2 changes: 1 addition & 1 deletion internal/constants/constants_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ var _ = Describe("Constants", func() {

Context("Defaults", func() {
It("should have correct default container disk image", func() {
Expect(constants.DefaultContainerDiskImage).To(Equal("quay.io/containerdisks/fedora:41"))
Expect(constants.DefaultContainerDiskImage).To(Equal("quay.io/containerdisks/fedora:42"))
})

It("should have correct default namespace", func() {
Expand Down
2 changes: 1 addition & 1 deletion internal/orchestrator/types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ var _ = Describe("VMPlan", func() {
VMSpec: &orchestrator.VMSpecInput{
Name: "virtwork-cpu-0",
Namespace: "virtwork",
ContainerDiskImage: "quay.io/containerdisks/fedora:41",
ContainerDiskImage: "quay.io/containerdisks/fedora:42",
CloudInitUserdata: "#cloud-config\n",
CPUCores: 2,
Memory: "2Gi",
Expand Down
6 changes: 3 additions & 3 deletions internal/vm/vm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ var _ = Describe("BuildVMSpec", func() {
opts = vm.VMSpecOpts{
Name: "test-vm",
Namespace: "test-ns",
ContainerDiskImage: "quay.io/containerdisks/fedora:41",
ContainerDiskImage: "quay.io/containerdisks/fedora:42",
CloudInitSecretName: "test-vm-cloudinit",
CPUCores: 2,
Memory: "2Gi",
Expand Down Expand Up @@ -68,7 +68,7 @@ var _ = Describe("BuildVMSpec", func() {
}
Expect(containerDisk).NotTo(BeNil())
Expect(containerDisk.ContainerDisk).NotTo(BeNil())
Expect(containerDisk.ContainerDisk.Image).To(Equal("quay.io/containerdisks/fedora:41"))
Expect(containerDisk.ContainerDisk.Image).To(Equal("quay.io/containerdisks/fedora:42"))
})

It("should configure cloudInitNoCloud volume", func() {
Expand Down Expand Up @@ -197,7 +197,7 @@ var _ = Describe("BuildVMSpec", func() {
good := vm.VMSpecOpts{
Name: "test-vm",
Namespace: "test-ns",
ContainerDiskImage: "quay.io/containerdisks/fedora:41",
ContainerDiskImage: "quay.io/containerdisks/fedora:42",
CloudInitSecretName: "test-cloudinit",
CPUCores: 2,
Memory: "2Gi",
Expand Down
Loading