kubevirt: Unable to start VM with kubevirt
Is this a BUG REPORT or FEATURE REQUEST?:
Uncomment only one, leave it on its own line:
/kind bug
/kind enhancement
What happened: unable to start the VM
[centos@kubevirt-test-2 yaml]$ ./virtctl start virtualmachineinstance.kubevirt.io/vmi-centos7
Error starting VirtualMachine the server has asked for the client to provide credentials
[centos@kubevirt-test-2 yaml]$ sudo ./virtctl start virtualmachineinstance.kubevirt.io/vmi-centos7
Error starting VirtualMachine Put http://localhost:8080/apis/subresources.kubevirt.io/v1alpha3/namespaces/default/virtualmachines/virtualmachineinstance.kubevirt.io/vmi-centos7/start: dial tcp [::1]:8080: connect: connection refused
What you expected to happen: Should be able to start the VM
How to reproduce it (as minimally and precisely as possible):
- Have kubevirt installed (https://github.com/kubevirt/demo).
- Deploy the pv and pvc by
kubectl apply -f https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/pv-mds.yamlandkubectl -f apply -f https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/pvc-mds.yaml. Change the metadata name field in pvc to mydisk to be consistent. Also, adjust the storage size to fit into your hardware configuration. - Deploy the VM by
kubectl apply -f https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/centos7.yaml.
Anything else we need to know?: vm instance created succesfully
[centos@kubevirt-test-2 yaml]$ kubectl describe virtualmachineinstance.kubevirt.io/vmi-centos7
Name: vmi-centos7
Namespace: default
Labels: special=key
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachineInstance","metadata":{"annotations":{},"labels":{"special":"key"},"name":"vmi-c...
kubevirt.io/latest-observed-api-version: v1alpha3
kubevirt.io/storage-observed-api-version: v1alpha3
API Version: kubevirt.io/v1alpha3
Kind: VirtualMachineInstance
Metadata:
Creation Timestamp: 2019-10-01T00:38:14Z
Finalizers:
foregroundDeleteVirtualMachine
Generation: 5
Resource Version: 706000
Self Link: /apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/vmi-centos7
UID: 85a825da-51a9-46b5-99bd-26d41e67481a
Spec:
Domain:
Devices:
Disks:
Disk:
Bus: virtio
Name: containerdisk
Disk:
Bus: virtio
Name: mydisk
Disk:
Bus: virtio
Name: cloudinitdisk
Interfaces:
Bridge:
Name: default
Rng:
Features:
Acpi:
Enabled: true
Firmware:
Uuid: 13bc1897-7b50-4661-872a-f2faf78d72e0
Machine:
Type: q35
Resources:
Requests:
Cpu: 100m
Memory: 1024M
Networks:
Name: default
Pod:
Termination Grace Period Seconds: 0
Volumes:
Name: mydisk
Persistent Volume Claim:
Claim Name: mydisk
Container Disk:
Image: dlambrig/centos7:latest
Image Pull Policy: Always
Name: containerdisk
Cloud Init No Cloud:
User Data: #cloud-config
password: centos
chpasswd: { expire: False }
Name: cloudinitdisk
Status:
Conditions:
Last Probe Time: <nil>
Last Transition Time: 2019-10-01T00:38:15Z
Message: 0/1 nodes are available: 1 Insufficient devices.kubevirt.io/kvm.
Reason: Unschedulable
Status: False
Type: PodScheduled
Phase: Scheduling
Qos Class: Burstable
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 5m58s virtualmachine-controller Created virtual machine pod
output when describing the vm pod
[centos@kubevirt-test-2 ~]$ kubectl get po -n default
NAME READY STATUS RESTARTS AGE
virt-launcher-vmi-centos7-4jm66 0/2 Pending 0 14h
[centos@kubevirt-test-2 ~]$ kubectl describe po virt-launcher-vmi-centos7-4jm66
Name: virt-launcher-vmi-centos7-4jm66
Namespace: default
Priority: 0
Node: <none>
Labels: kubevirt.io=virt-launcher
kubevirt.io/created-by=85a825da-51a9-46b5-99bd-26d41e67481a
special=key
Annotations: kubevirt.io/domain: vmi-centos7
Status: Pending
IP:
IPs: <none>
Controlled By: VirtualMachineInstance/vmi-centos7
Containers:
volumecontainerdisk:
Image: dlambrig/centos7:latest
Port: <none>
Host Port: <none>
Command:
/usr/bin/container-disk
Args:
--copy-path
/var/run/kubevirt-ephemeral-disks/container-disk-data/85a825da-51a9-46b5-99bd-26d41e67481a/disk_1
Limits:
cpu: 100m
memory: 20M
Requests:
cpu: 10m
memory: 1M
Readiness: exec [/usr/bin/container-disk --health-check] delay=1s timeout=1s period=1s #success=1 #failure=5
Environment: <none>
Mounts:
/usr/bin from virt-bin-share-dir (rw)
/var/run/kubevirt-ephemeral-disks/container-disk-data/85a825da-51a9-46b5-99bd-26d41e67481a from container-disks (rw)
compute:
Image: index.docker.io/kubevirt/virt-launcher@sha256:17c6d0bbedf9e24085011c96e002569444133b331f124d0177a77d45cb3ac5e4
Port: <none>
Host Port: <none>
Command:
/usr/bin/virt-launcher
--qemu-timeout
5m
--name
vmi-centos7
--uid
85a825da-51a9-46b5-99bd-26d41e67481a
--namespace
default
--kubevirt-share-dir
/var/run/kubevirt
--ephemeral-disk-dir
/var/run/kubevirt-ephemeral-disks
--container-disk-dir
/var/run/kubevirt/container-disks
--readiness-file
/var/run/kubevirt-infra/healthy
--grace-period-seconds
15
--hook-sidecars
0
--less-pvc-space-toleration
10
Limits:
devices.kubevirt.io/kvm: 1
devices.kubevirt.io/tun: 1
devices.kubevirt.io/vhost-net: 1
Requests:
cpu: 100m
devices.kubevirt.io/kvm: 1
devices.kubevirt.io/tun: 1
devices.kubevirt.io/vhost-net: 1
memory: 1187554432
Readiness: exec [cat /var/run/kubevirt-infra/healthy] delay=4s timeout=5s period=1s #success=1 #failure=5
Environment: <none>
Mounts:
/var/run/kubevirt from virt-share-dir (rw)
/var/run/kubevirt-ephemeral-disks from ephemeral-disks (rw)
/var/run/kubevirt-infra from infra-ready-mount (rw)
/var/run/kubevirt-private/vmi-disks/mydisk from mydisk (rw)
/var/run/kubevirt/container-disks from container-disks (rw)
/var/run/libvirt from libvirt-runtime (rw)
Conditions:
Type Status
PodScheduled False
Volumes:
mydisk:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: mydisk
ReadOnly: false
infra-ready-mount:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
virt-share-dir:
Type: HostPath (bare host directory volume)
Path: /var/run/kubevirt
HostPathType:
virt-bin-share-dir:
Type: HostPath (bare host directory volume)
Path: /var/lib/kubevirt/init/usr/bin
HostPathType:
libvirt-runtime:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
ephemeral-disks:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
container-disks:
Type: HostPath (bare host directory volume)
Path: /var/run/kubevirt/container-disks/85a825da-51a9-46b5-99bd-26d41e67481a
HostPathType:
QoS Class: Burstable
Node-Selectors: kubevirt.io/schedulable=true
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling <unknown> default-scheduler 0/1 nodes are available: 1 Insufficient devices.kubevirt.io/kvm.
starting testvm is successful
[centos@kubevirt-test-2 ~]$ kubectl apply -f https://raw.githubusercontent.com/kubevirt/demo/master/manifests/vm.yaml
virtualmachine.kubevirt.io/testvm created
[centos@kubevirt-test-2 ~]$ kubectl describe vm testvm
Name: testvm
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachine","metadata":{"annotations":{},"name":"testvm","namespace":"default"},"spec":{"...
kubevirt.io/latest-observed-api-version: v1alpha3
kubevirt.io/storage-observed-api-version: v1alpha3
API Version: kubevirt.io/v1alpha3
Kind: VirtualMachine
Metadata:
Creation Timestamp: 2019-10-02T23:02:54Z
Generation: 2
Resource Version: 1070036
Self Link: /apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachines/testvm
UID: 8da76d2e-8101-4b97-b7e7-4b3e8fcb9b58
Spec:
Running: false
Template:
Metadata:
Creation Timestamp: <nil>
Labels:
kubevirt.io/domain: testvm
kubevirt.io/size: small
Spec:
Domain:
Devices:
Disks:
Disk:
Bus: virtio
Name: rootfs
Disk:
Bus: virtio
Name: cloudinit
Interfaces:
Bridge:
Name: default
Machine:
Type:
Resources:
Requests:
Memory: 64M
Networks:
Name: default
Pod:
Volumes:
Container Disk:
Image: kubevirt/cirros-registry-disk-demo
Name: rootfs
Cloud Init No Cloud:
userDataBase64: SGkuXG4=
Name: cloudinit
Status:
Events: <none>
[centos@kubevirt-test-2 ~]$ kubectl virt start testvm
VM testvm was scheduled to start
[centos@kubevirt-test-2 ~]$ kubectl describe vmi testvm
Name: testvm
Namespace: default
Labels: kubevirt.io/domain=testvm
kubevirt.io/size=small
Annotations: kubevirt.io/latest-observed-api-version: v1alpha3
kubevirt.io/storage-observed-api-version: v1alpha3
API Version: kubevirt.io/v1alpha3
Kind: VirtualMachineInstance
Metadata:
Creation Timestamp: 2019-10-02T23:03:14Z
Finalizers:
foregroundDeleteVirtualMachine
Generate Name: testvm
Generation: 4
Owner References:
API Version: kubevirt.io/v1alpha3
Block Owner Deletion: true
Controller: true
Kind: VirtualMachine
Name: testvm
UID: 8da76d2e-8101-4b97-b7e7-4b3e8fcb9b58
Resource Version: 1070092
Self Link: /apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/testvm
UID: 1dae84a3-c80a-4ad2-9700-9f2839c833eb
Spec:
Domain:
Devices:
Disks:
Disk:
Bus: virtio
Name: rootfs
Disk:
Bus: virtio
Name: cloudinit
Interfaces:
Bridge:
Name: default
Features:
Acpi:
Enabled: true
Firmware:
Uuid: 5a9fc181-957e-5c32-9e5a-2de5e9673531
Machine:
Type: q35
Resources:
Requests:
Cpu: 100m
Memory: 64M
Networks:
Name: default
Pod:
Volumes:
Container Disk:
Image: kubevirt/cirros-registry-disk-demo
Image Pull Policy: Always
Name: rootfs
Cloud Init No Cloud:
userDataBase64: SGkuXG4=
Name: cloudinit
Status:
Conditions:
Last Probe Time: <nil>
Last Transition Time: 2019-10-02T23:03:14Z
Message: 0/1 nodes are available: 1 Insufficient devices.kubevirt.io/kvm.
Reason: Unschedulable
Status: False
Type: PodScheduled
Phase: Scheduling
Qos Class: Burstable
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 7s virtualmachine-controller Created virtual machine pod virt-launcher-testvm-2vf5g
Environment:
- KubeVirt version (use
virtctl version):
Client Version: version.Info{GitVersion:"v0.19.0", GitCommit:"b54712d720ae7bde6400cd3bb81087f2694b2a40", GitTreeState:"clean", BuildDate:"2019-07-04T07:08:33Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{GitVersion:"v0.21.0", GitCommit:"e220f16d7a2aae7295199bbbc3594a5b50b7a3f4", GitTreeState:"clean", BuildDate:"2019-09-09T08:09:15Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
- Kubernetes version (use
kubectl version):
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
- VM or VMI specifications: https://github.com/dlambrig/kubevirt-lustre/blob/master/yaml/centos7.yaml
- Cloud provider or hardware configuration:
- OS (e.g. from /etc/os-release):CentOS Linux 7 (Core)
- Kernel (e.g.
uname -a): Linux 3.10.0-862.14.4.el7.x86_64 - Install tools:kubevirt
- Others:minikube version: v1.4.0, QEMU emulator version 1.5.3 (qemu-kvm-1.5.3-167.el7_7.1), Copyright © 2003-2008 Fabrice Bellard
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 21 (9 by maintainers)
OK we got it working by removing the PersistentVolumeClaim part of VM.