README.ganeti.md 2.05 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
# 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.