Patches for Ganeti
This repository contains our patches for ganeti which we apply on top of the already patched debian package. We retrieve the package source from debian, add some patches, build, and copy to our debian repository. After installation from our repository, we need to pin those to prevent updating from debian's regular sources. See apt's documentation on pinning.
Interesting Links
Rebuilding an existing package is described here: https://wiki.debian.org/BuildingTutorial
More information on building: https://wiki.debian.org/HowToPackageForDebian
The ganeti package uses quilt
to manage its patches. See this tutorial:
https://raphaelhertzog.com/2012/08/08/how-to-use-quilt-to-manage-patches-in-debian-packages/
Rebuilding Ganeti
It boils down to the following steps:
apt-get source ganeti
cd ganeti-2.15.2/debian
-
quilt import ../remove_blockdev_from_movable_list.patch
and others -
dch -n
creates a new changelog entry -
debuild -b -uc -us
builds the package
At least according to my zsh history.
If you are building from an already changed version, but without that particular changelog, use:
dch --auto-nmr --newversion $newversion
Ideally, you copy the old changelog to the new one. Look up the old version number! Add "Non-maintainer upload." manually to your list of changes.
Patch Details
fix_ceph_showmap.patch
Fixes an incompatibility with current ceph versions.
See also: https://github.com/ganeti/ganeti/issues/1233
increase_max_disk_count.patch
sigh
There is a constant number of allowed disks that may be attached to a VM. We increase this limit.
remove_blockdev_from_mirrored_list.patch
and remove_blockdev_from_movable_list.patch
Removes block devices from lists of mirrored and movable devices. This prevents such VMs from being migrated.
This may not solve the general case, but is makes it compatible with our usage.
add_rbd_cache_support.patch
Add caching support for rbd devices. This was disabled for arbritrary external storage. But this does not make sense for rbd.