Запуск контейнера Codeready с использованием libvirt приводит к тому, что "формат резервного изображения не был указан в метаданных изображения"

Я пытаюсь использовать CRC для тестирования Openshift 4 на моем ноутбуке (Ubuntu 20). CRC версии 1.17 не поддерживает виртуализацию Virtualbox, поэтому следуйте инструкциям по установке

https://access.redhat.com/documentation/en-us/red_hat_codeready_containers/1.17/html/getting_started_guide/installation_gsg

я использую libvirt, но когда я запускаю кластер с crc start он запускает следующую ошибку

INFO Checking if oc binary is cached              
INFO Checking if podman remote binary is cached   
INFO Checking if goodhosts binary is cached       
INFO Checking minimum RAM requirements            
INFO Checking if running as non-root              
INFO Checking if Virtualization is enabled        
INFO Checking if KVM is enabled                   
INFO Checking if libvirt is installed             
INFO Checking if user is part of libvirt group    
INFO Checking if libvirt daemon is running        
INFO Checking if a supported libvirt version is installed 
INFO Checking if crc-driver-libvirt is installed  
INFO Checking if libvirt 'crc' network is available 
INFO Checking if libvirt 'crc' network is active  
INFO Checking if NetworkManager is installed      
INFO Checking if NetworkManager service is running 
INFO Checking if /etc/NetworkManager/conf.d/crc-nm-dnsmasq.conf exists 
INFO Checking if /etc/NetworkManager/dnsmasq.d/crc.conf exists 
INFO Starting CodeReady Containers VM for OpenShift 4.5.14... 
ERRO Error starting stopped VM: virError(Code=55, Domain=18, Message='Requested operation is not valid: format of backing image '/home/claudiomerli/.crc/cache/crc_libvirt_4.5.14/crc.qcow2' of image '/home/claudiomerli/.crc/machines/crc/crc.qcow2' was not specified in the image metadata (See https://libvirt.org/kbase/backing_chains.html for troubleshooting)') 
Error starting stopped VM: virError(Code=55, Domain=18, Message='Requested operation is not valid: format of backing image '/home/claudiomerli/.crc/cache/crc_libvirt_4.5.14/crc.qcow2' of image '/home/claudiomerli/.crc/machines/crc/crc.qcow2' was not specified in the image metadata (See https://libvirt.org/kbase/backing_chains.html for troubleshooting)')

У меня нет опыта работы с libvirt, поэтому я застрял на этом, и в сети я ничего не нахожу... Спасибо

1 ответ

Решение

Возникла проблема с образом crc_libvirt_4.5.14. Самый простой способ исправить это - сделать

qemu-img rebase -f qcow2 -F qcow2 -b /home/${USER}/.crc/cache/crc_libvirt_4.5.14/crc.qcow2 /home/${USER}/.crc/machines/crc/crc.qcow2

Теперь, если вы попытаетесь сделать crc start, вы столкнетесь с ошибкой "Permission denied", которая связана с Apparmor, если вы не добавили свой домашний каталог в белый список. Если вы не хотите возиться с настройками Apparmor, /var/lib/libvirt/imagesдолжен быть включен в белый список. Переместите изображение туда:

sudo mv /home/${USER}/.crc/machines/crc/crc.qcow2 /var/lib/libvirt/images

затем отредактируйте настройки виртуальной машины, указывающие на новое расположение образа: virsh edit crc, затем замените <source file='/home/yourusername/.crc/machines/crc/crc.qcow2'/> к <source file='/var/lib/libvirt/images/crc.qcow2'/>.

Затем сделайте crc start вот и все.

Соответствующие проблемы на Github, которые необходимо подражать:

Другие вопросы по тегам