Skip to content

Commit

Permalink
examples: Add CirrOS SATA example
Browse files Browse the repository at this point in the history
This just shows off the ability to define a VM with missing volume
disks. For now we can't change the bus of the default disks that are
generated thus this is a SATA based example using Cirros.

This will likely be replaced in the future with a Flavor and Preferences
based example that keeps the bus as virtio by default.

Signed-off-by: Lee Yarwood <lyarwood@redhat.com>
  • Loading branch information
lyarwood committed May 13, 2022
1 parent 28f8e94 commit 5e8a75a
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
30 changes: 30 additions & 0 deletions examples/vm-cirros-sata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
labels:
kubevirt.io/vm: vm-cirros-sata
name: vm-cirros-sata
spec:
running: false
template:
metadata:
labels:
kubevirt.io/vm: vm-cirros-sata
spec:
domain:
devices: {}
resources:
requests:
memory: 128Mi
terminationGracePeriodSeconds: 0
volumes:
- containerDisk:
image: registry:5000/kubevirt/cirros-container-disk-demo:devel
name: containerdisk
- cloudInitNoCloud:
userData: |
#!/bin/sh
echo 'printed from cloud-init userdata'
name: cloudinitdisk
12 changes: 12 additions & 0 deletions tools/vms-generator/utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ const (
VmAlpineMultiPvc = "vm-alpine-multipvc"
VmAlpineDataVolume = "vm-alpine-datavolume"
VMPriorityClass = "vm-priorityclass"
VmCirrosSata = "vm-cirros-sata"
)

const VmiReplicaSetCirros = "vmi-replicaset-cirros"
Expand Down Expand Up @@ -729,6 +730,17 @@ func GetVMCirros() *v1.VirtualMachine {
return vm
}

func GetVMCirrosSata() *v1.VirtualMachine {
vm := getBaseVM(VmCirrosSata, map[string]string{
kubevirtIoVM: VmCirrosSata,
})

addContainerDisk(&vm.Spec.Template.Spec, fmt.Sprintf(strFmt, DockerPrefix, imageCirros, DockerTag), v1.DiskBusSATA)
addNoCloudDisk(&vm.Spec.Template.Spec)
vm.Spec.Template.Spec.Domain.Devices = v1.Devices{}
return vm
}

func GetTemplateFedoraWithContainerDisk(containerDisk string) *Template {
vm := getFedoraVMWithoutDisk()
initFedoraWithDisk(&vm.Spec.Template.Spec, containerDisk)
Expand Down
1 change: 1 addition & 0 deletions tools/vms-generator/vms-generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ func main() {
utils.VmAlpineMultiPvc: utils.GetVMMultiPvc(),
utils.VmAlpineDataVolume: utils.GetVMDataVolume(),
utils.VMPriorityClass: utils.GetVMPriorityClass(),
utils.VmCirrosSata: utils.GetVMCirrosSata(),
}

var vmis = map[string]*v1.VirtualMachineInstance{
Expand Down

0 comments on commit 5e8a75a

Please sign in to comment.