From: Alexey Shabalin <a.shabalin@gmail.com> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Cc: Anton Protopopov <aspsk@altlinux.org>, rider@altlinux.ru, kas@altlinux.org, viy@altlinux.ru, oddity@altlinux.ru Subject: [devel] qemu и все-все-все Date: Wed, 12 Jan 2011 23:24:23 +0300 Message-ID: <AANLkTi=KowvDAB3rCqL56iNNcwO+LVJUWZxfpRXXASss@mail.gmail.com> (raw) День добрый. Посвятил несколько дней для разборок с нашими qemu, qemu-kvm, libvirt, virt-manager и остальным. На первый взгляд вроде ничего, но стоит капнуть поглубже - ужас-ужас :) Пробую добавить поддержку spice в qemu-kvm. Ок, всё собралось. А дальше вылазит занятная ситуация: - изображаю простого пользователя и использую libvirt (для запуска, создания виртуалок) и GUI - virt-manager + virt-viewer - qemu-kvm конечно можно поставить самостоятельно, но ещё хочется и создавать виртуалки, а утилиты qemu-img в пакете qemu-kvm нет - типа используйте от родного qemu. - ставим qemu только ради qemu-img - а теперь самое интересное - как ведёт себя libvirt. Когда говоришь запустить виртуальную машину - он по чесному запускает через /usr/bin/kvm или /usr/bin/qemu-kvm А вот при создании/настройках виртуалки, libvirt'у надо понимать с чем он имеет дело и какие возможности имеются. для этого он смотрит вывод команды с ключём --help и парсит его. А вот команду с ключём --help он запускает совсем не /usr/bin/kvm или /usr/bin/qemu-kvm (что хотелось бы), а /usr/bin/qemu-system-x86_64. А этот файл принадлежит старому qemu (не qemu-kvm). Как вы помните пакет qemu мы удалить не можем - нужен qemu-img. А если бы и удалили, то без /usr/bin/qemu-system-x86_64 libvirt вообще свихнётся. В результате получаем, что как бы мы ни модифицировали qemu-kvm, каких бы фишек не добавили, libvirt нам не даст с ними работать - он видит фишки от старого qemu. Конечно бага в libvirt, но мне кажется разработчики libvirt не подозревают, что на машине пользователя будут/могут одновременно установлены qemu и qemu-kvm. В общем посмотрел я на всё это и взялся за напильник. Я бы предпочел иметь в репо единственную версию qemu (qemu или qemu-kvm - пока не важно - но единую) - так было бы всем легче. Тем более что сейчас их апстримы постоянно мержатся между собой. Но не давно на меня ругались в багзиле, что бы я отстал от всех, разные это проекты и всё тут. Хорошо пусть будут оба. Выходов несколько - собирать всё нужное из проектов (и qemu-img тоже) и раставить конфликты, либо не делать конфликты используя алтернативы. Я выбрал альтернативы. На ваш суд предлагается тестовая сборка всего барахла. Основные изменения: - везде включена поддержка spice. погонял денёк - работает. Правда на карте vga, с qxl пока не получилось. - для работы spice все проекты собраны из снапшотов. - некоторые git-репо(virt-manager, virt-viewer,python-virtinst) переделаны(импорт из апстримного mercurial) - не обижайтесь, если не устраивает то верну обратно. Вы только скажите :) - в qemu и qemu-kvm добавлены алтернативы для qemu-img, qemu-io, qemu-system-x86_64, qemu-nbd - в них же выделены подпакеты img (хотя можно этого и не делать) - для тестирования(ещё надо смотреть), в qemu-kvm используются ромы из внешних пакетов vgabios, seabios, gpxe-roms-qemu для qemu пока этого не делал. - если установлена libcgroup и запущены сервисы, libvirt начинает использовать cgroup. - в libvirt включены многие опции. - разные мелкие фиксы Заинтересованных прошу посмотреть, высказать мнение/рекомендации. task #36894 Ну и в конечном итоге всё это хочется видеть в сизифе. Так что давайте договариваться об acl, NMU, approve и т.п. :) PS: у qemu-kvm в acl @everybody, но без одобрения rider@ обновлять не хочется. PPS: конечно там всё не идеально и ещё есть чего сделать. например: возможно "синхронизировать" спеки для qemu и qemu-kvm, убрать qemu-common - я не понял почему так назвали пакет с документацией и почему он обязательный а не опциональный. Надо бы сделать общий control и init-скрипт для модуля kvm, т.к. qemu тоже умеет kvm. Ну и так далее. -- Alexey Shabalin
next reply other threads:[~2011-01-12 20:24 UTC|newest] Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-01-12 20:24 Alexey Shabalin [this message] 2011-01-13 5:05 ` Ildar Mulyukov 2011-01-13 10:17 ` Alexey Shabalin 2011-01-13 6:16 ` Anton Farygin 2011-01-13 10:14 ` Alexey Shabalin 2011-01-13 10:22 ` Anton Farygin 2011-01-13 10:51 ` Alexey Shabalin 2011-01-13 11:11 ` Anton Gorlov 2011-01-13 11:15 ` Alexey Shabalin 2011-01-13 11:53 ` Anton Farygin 2011-01-13 12:41 ` Alexey Shabalin 2011-01-13 13:14 ` Anton Gorlov 2011-02-24 17:17 ` Alexey Shabalin 2011-02-24 17:26 ` Kirill A. Shutemov 2011-02-24 17:31 ` Anton Farygin 2011-02-24 18:31 ` Alexey Shabalin 2011-02-24 19:53 ` Anton Farygin 2011-02-28 16:09 ` Alexey Shabalin 2011-02-28 16:35 ` Anton Farygin 2011-02-28 17:22 ` Alexey Shabalin 2011-02-28 18:21 ` Anton Farygin 2011-02-28 18:33 ` Alexey Shabalin 2011-02-28 18:57 ` Kirill A. Shutemov 2011-02-28 19:07 ` Anton Farygin 2011-02-28 19:17 ` REAL 2011-02-28 19:19 ` Anton Farygin 2011-02-28 19:29 ` REAL 2011-02-28 19:20 ` Alexey Shabalin 2011-02-28 20:05 ` Michael Shigorin 2011-02-28 20:16 ` Sergey Bolshakov 2011-02-28 22:33 ` Alexey Shabalin 2011-03-01 6:55 ` Ildar Mulyukov 2011-03-01 7:35 ` Anton V. Boyarshinov 2011-02-24 18:15 ` Alexey Shabalin 2011-02-24 18:22 ` Anton Farygin 2011-02-28 11:55 ` Alexey Shabalin 2011-03-01 18:57 ` Mikhail Efremov 2011-03-02 18:48 ` Alexey Shabalin 2011-03-03 17:00 ` Mikhail Efremov 2011-03-03 18:03 ` Alexey Shabalin 2011-03-03 18:39 ` Anton Farygin 2011-03-03 20:35 ` Alexey Shabalin 2011-03-03 21:25 ` Grigory Milev 2011-03-03 22:22 ` Kirill A. Shutemov 2011-03-04 10:32 ` Anton Farygin 2011-03-04 10:36 ` Alexey Shabalin 2011-03-04 11:11 ` Anton Farygin 2011-01-13 12:49 ` Alexey Shabalin 2011-01-13 13:36 ` Alexey Shabalin 2011-01-17 14:39 ` Alexey Shabalin 2011-01-17 17:00 ` Kirill A. Shutemov 2011-01-18 13:18 ` Ildar Mulyukov 2011-01-18 14:42 ` Alexey Shabalin 2011-01-19 8:56 ` Ildar Mulyukov 2011-01-19 9:23 ` Sergey Vlasov 2011-01-19 9:30 ` Ildar Mulyukov 2011-01-19 11:28 ` Alexey Shabalin 2011-01-19 9:30 ` Ildar Mulyukov 2011-01-19 11:05 ` Alexey Shabalin 2011-01-19 12:07 ` Ildar Mulyukov 2011-04-15 14:34 ` Alexey Shabalin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='AANLkTi=KowvDAB3rCqL56iNNcwO+LVJUWZxfpRXXASss@mail.gmail.com' \ --to=a.shabalin@gmail.com \ --cc=aspsk@altlinux.org \ --cc=devel@lists.altlinux.org \ --cc=kas@altlinux.org \ --cc=oddity@altlinux.ru \ --cc=rider@altlinux.ru \ --cc=viy@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git