Chapter 7. Troubleshooting
This section contains solutions to common problems that you might encounter while using Minishift.
7.1. Special characters cause passwords to fail
Depending on your operating system and shell environment, certain special characters can trigger variable interpolation and therefore cause passwords to fail.
Workaround: When creating and entering passwords, wrap the string with single quotes in the following format: '<password>'
7.2. Undefining virsh snapshots fail
If you use virsh
on KVM/libvirt to create snapshots in your development workflow, and then use minishift delete
to delete the snapshots along with the VM, you might encounter the following error:
~]$ minishift delete
Deleting the {mshift} VM...
Error deleting the VM: [Code-55] [Domain-10] Requested operation is not valid: cannot delete inactive domain with 4 snapshots
Cause: The snapshots are stored in ~/.minishift/machines
, but the definitions are stored in var/lib/libvirt/qemu/snapshot/minishift
.
Workaround: To delete the snapshots you need to perform the following steps.
Delete the definitions.
$ sudo virsh snapshot-delete --metadata minishift <snapshot-name>
Undefine the Minishift domain.
~]$ sudo virsh undefine minishift
You can now run
minishft delete
to delete the VM and restart Minishift.NoteIn case the above steps do not resolve the issue, you can also use the following command to delete the snapshots:
~]$ rm -rf ~/.minishift/machines
It is recommended to avoid using metadata when you create snapshots. To make sure of this, you can specify the --no-metadata
flag. For example:
~]$ sudo virsh snapshot-create-as --domain vm1 overlay1 --diskspec vda,file=/export/overlay1.qcow2 --disk-only --atomic --no-metadata
7.3. KVM: Error creating new host: dial tcp: missing address
-
The problem is likely that the
libvirtd
service is not running. You can check this with the following command:
~]$ systemctl status libvirtd
If libvirtd
is not running, start it and enable it to start on boot:
~]$ systemctl start libvirtd ~]$ systemctl enable libvirtd
- It is also possible that you are running an unsupported version of libvirt, leading to the same error. Ensure that you’re using at least version 1.3. Older operating systems (like the unsupported Fedora 23) may use an earlier version of libvirt that is incompatible with Red Hat Container Development Kit 3.0
7.4. KVM: Failed to connect socket to /var/run/libvirt/virtlogd-sock
The problem is likely that the virtlogd
service is not running. You can check this with the following command:
~]$ systemctl status virtlogd
If virtlogd
is not running, start it and enable it to start on boot:
~]$ systemctl start virtlogd ~]$ systemctl enable virtlogd
7.5. KVM: Domain 'minishift' already exists…
If you try minishift start
and hit the above error, ensure that you use minishift delete
to delete the VMs created earlier by you. However if this fails and you wish to completely clean up Minishift and start fresh do the following:
Check if any existing Minishift VM are running:
~]$ sudo virsh list --all
If any Minishift VM is running, stop it:
~]$ sudo virsh destroy minishift
Delete the VM:
~]$ sudo virsh undefine minishift
Delete the
.minishift/machines
directory using:~]$ rm -rf ~/.minishift/machines
7.6. xhyve: Could not create vmnet interface
The problem is likely that the xhyve driver is not able to clean up vmnet
when a VM is removed. vmnet.framework
determines the IP address based on the following files:
-
/var/db/dhcpd_leases
-
/Library/Preferences/SystemConfiguration/com.apple.vmnet.plist
Reset the minishift
-specific IP database, make sure to remove the minishift
entry section from the dhcpd_leases
file, and reboot your system.
{
ip_address=192.168.64.2
hw_address=1,2:51:8:22:87:a6
identifier=1,2:51:8:22:87:a6
lease=0x585e6e70
name=minishift
}
You can completely reset the IP database by removing the files manually but this is very risky.
7.7. VirtualBox: Error machine does not exist
If you use Windows, make sure that you set the --vm-driver virtualbox
flag in the minishift start
command. Alternatively, the problem might be an outdated version of VirtualBox.
To avoid this issue, it is recommended to use VirtualBox 5.1.12 or later.