Bug 28176 - blktap-Integration für UCS 3.1
blktap-Integration für UCS 3.1
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Kernel
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.1
Assigned To: Moritz Muehlenhoff
Philipp Hahn
: interim-2
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-09 16:22 CEST by Moritz Muehlenhoff
Modified: 2012-12-12 21:08 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Moritz Muehlenhoff univentionstaff 2012-08-09 16:22:46 CEST
UVMM benötigt blktap. Der blktap-Patch, der im Squeeze-Kernel enthalten war, ist im Wheezy nicht mehr enthalten, da er nicht mit dem übrigen Xen-Code upstream gemergt wurde.

Es gibt ein DKMS-Paket, das in Tests funktionierte (https://forge.univention.org/bugzilla3/show_bug.cgi?id=27456#c12 )

Die Integration in UCS 3.1 muss noch festgelegt werden:

1. Möglichkeit: Integration über DKMS 

univention-xen erhält eine Dependency auf blktap-dkms und dkms. Jedes Mal wenn ein neuer Kernel auf dem System installiert wird, wird das blktap-Modul automatisch gegen diesen Kernel gebaut und eingerichtet.

Vorteile
- Funktioniert auf mit angepassten/lokalen Kerneln
- Standardverfahren für Addon-Module in Debian, andere Addon-Module wie Open-VM-Tools werden ebenfalls als DKMS-Pakete bereitgestellt und integrieren sich dadurch nahtlos.

Nachteile:
- Auf den Systemen muss für DKMS ein Compiler und die Kernel-Header installiert sein. Das stösst ggf. auf Unbehagen.

2. Auslieferung vorcompilierter Module

DKMS bietet eine Option, um ein DEB-Paket zu erstellen:

mkdeb  This  action  allows  you  to  create  a  debian  binary  package  for a specified module / version.  It uses a template debian directory found in /etc/dkms/tem‐plate-dkms-mkdeb as the basis for the package. Alternatively, if DKMS finds a file called /usr/src/<module>-<module-version>/<module>-dkms-mkdeb it will use that folder  instead.  In  general, a DKMS tarball is placed inside the contents of this package, and the package itself calls various DKMS commands to load this tarball, build and install modules on the end user's system.  If you do not want your  debian  package  to  contain  any  prebuilt  binaries,  be  sure  to  specify --source-only in the mkdeb command.

Daraus könnte ein Metapaket erstellt werden, so ähnlich wie wir das früher auch mit 2.6.26 und DRBD/AVM schon hatten.

Das funktioniert dann allerdings nicht mit angepassten Kerneln und verursacht mehr Aufwand.

3. Integration in das Linux-Kernel-Paket

Die blktap-Sourcen könnten in den Bau des Kernel-Patchs integriert werden. Das würde allerdings eine dauerhafte Pflege dieses Patches erfordern, da blktap upstream eher nicht übernommen werden wird.
Comment 1 Stefan Gohmann univentionstaff 2012-08-14 14:48:44 CEST
(In reply to comment #0)
> 2. Auslieferung vorcompilierter Module
> 
> DKMS bietet eine Option, um ein DEB-Paket zu erstellen:
> 
> mkdeb  This  action  allows  you  to  create  a  debian  binary  package  for a
> specified module / version.  It uses a template debian directory found in
> /etc/dkms/tem‐plate-dkms-mkdeb as the basis for the package. Alternatively, if
> DKMS finds a file called /usr/src/<module>-<module-version>/<module>-dkms-mkdeb
> it will use that folder  instead.  In  general, a DKMS tarball is placed inside
> the contents of this package, and the package itself calls various DKMS
> commands to load this tarball, build and install modules on the end user's
> system.  If you do not want your  debian  package  to  contain  any  prebuilt 
> binaries,  be  sure  to  specify --source-only in the mkdeb command.
> 
> Daraus könnte ein Metapaket erstellt werden, so ähnlich wie wir das früher auch
> mit 2.6.26 und DRBD/AVM schon hatten.
> 
> Das funktioniert dann allerdings nicht mit angepassten Kerneln und verursacht
> mehr Aufwand.

Ich bin dafür die Option 2 umzusetzen und das direkt beim Bauen der Metapakete zu generieren. Dann könnten wir theoretisch auch die VM Tools ausliefern, siehe Bug #16542#c4 und Bug #28159.
Comment 2 Moritz Muehlenhoff univentionstaff 2012-10-05 10:42:10 CEST
(In reply to comment #0)
> UVMM benötigt blktap. Der blktap-Patch, der im Squeeze-Kernel enthalten war,
> ist im Wheezy nicht mehr enthalten, da er nicht mit dem übrigen Xen-Code
> upstream gemergt wurde.
> 
> Es gibt ein DKMS-Paket, das in Tests funktionierte
> (https://forge.univention.org/bugzilla3/show_bug.cgi?id=27456#c12 )
> 
> Die Integration in UCS 3.1 muss noch festgelegt werden:

[..]

> 3. Integration in das Linux-Kernel-Paket
> 
> Die blktap-Sourcen könnten in den Bau des Kernel-Patchs integriert werden. Das
> würde allerdings eine dauerhafte Pflege dieses Patches erfordern, da blktap
> upstream eher nicht übernommen werden wird.

Diese Version habe ich jetzt umgesetzt:
patches/linux/3.1-0-0-ucs/3.2.30-1/30-add-blktap-driver.patch

In einer Testinstallation wurde das blktap-Module durch das Xen-Initskript erfolgreich geladen und ich konnte in UVMM ein UCS-System erfolgreich installieren und starten.

Bei der Integration musste ich zwei Compile-Fehler fixen, die habe ich upstream an xen-devel geschickt:
http://article.gmane.org/gmane.comp.emulators.xen.devel/141218

Das initial importierte blktap-dkms-Paket habe ich aus 3.1 wieder entfernt, das führt nur zu Verwirrungen.
Comment 3 Moritz Muehlenhoff univentionstaff 2012-10-08 13:44:30 CEST
(In reply to comment #2)
> Bei der Integration musste ich zwei Compile-Fehler fixen, die habe ich upstream
> an xen-devel geschickt:
> http://article.gmane.org/gmane.comp.emulators.xen.devel/141218

Wurde angenommen, bzw. ist in den aktuellen Releases schon gefixt:
http://article.gmane.org/gmane.comp.emulators.xen.devel/141410
Comment 5 Stefan Gohmann univentionstaff 2012-12-12 21:08:49 CET
UCS 3.1-0 has been released: 
 http://forum.univention.de/viewtopic.php?f=54&t=2125

If this error occurs again, please use "Clone This Bug".