ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] qemu и все-все-все
@ 2011-01-12 20:24 Alexey Shabalin
  2011-01-13  5:05 ` Ildar Mulyukov
                   ` (5 more replies)
  0 siblings, 6 replies; 61+ messages in thread
From: Alexey Shabalin @ 2011-01-12 20:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions
  Cc: Anton Protopopov, rider, kas, viy, oddity

День добрый.
Посвятил несколько дней для разборок с нашими 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

^ permalink raw reply	[flat|nested] 61+ messages in thread

end of thread, other threads:[~2011-04-15 14:34 UTC | newest]

Thread overview: 61+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-12 20:24 [devel] qemu и все-все-все Alexey Shabalin
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

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