Skip to content
Snippets Groups Projects
Commit 2f687082 authored by Hinrikus Wolf's avatar Hinrikus Wolf
Browse files

Merge remote-tracking branch 'gnt-patch/master' into indiviual_build_scripts

parents d2e246aa 27bc4a46
No related branches found
No related tags found
No related merge requests found
# 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.
Index: ganeti-2.15.2/lib/hypervisor/hv_kvm/__init__.py
===================================================================
--- ganeti-2.15.2.orig/lib/hypervisor/hv_kvm/__init__.py
+++ ganeti-2.15.2/lib/hypervisor/hv_kvm/__init__.py
@@ -921,12 +921,13 @@ class KVMHypervisor(hv_base.BaseHypervis
disk_cache = up_hvp[constants.HV_DISK_CACHE]
for cfdev, link_name, uri in kvm_disks:
if cfdev.dev_type in constants.DTS_EXT_MIRROR:
- if disk_cache != "none":
+ if disk_cache != "none" and cfdev.dev_type != "rbd":
# TODO: make this a hard error, instead of a silent overwrite
logging.warning("KVM: overriding disk_cache setting '%s' with 'none'"
" to prevent shared storage corruption on migration",
disk_cache)
- cache_val = ",cache=none"
+ disk_cache = "none"
+ cache_val = ",cache=%s" % disk_cache
elif disk_cache != constants.HT_CACHE_DEFAULT:
cache_val = ",cache=%s" % disk_cache
else:
--- a/lib/storage/bdev.py
+++ b/lib/storage/bdev.py
@@ -1020,8 +1020,6 @@ class RADOSBlockDevice(base.BlockDev):
showmap_cmd = [
constants.RBD_CMD,
"showmapped",
- "-p",
- pool,
"--format",
"json"
]
--- a/src/Ganeti/HTools/Types.hs 2015-12-16 14:34:43.000000000 +0100
+++ b/src/Ganeti/HTools/Types.hs 2017-11-03 21:42:53.486742240 +0100
@@ -215,7 +215,7 @@
}
maxDisks :: Int
-maxDisks = 16
+maxDisks = 64
maxNics :: Int
maxNics = 8
--- a/src/Ganeti/Constants.hs 2015-12-16 14:34:43.000000000 +0100
+++ b/src/Ganeti/Constants.hs 2017-11-03 20:42:28.489477592 +0100
@@ -942,7 +942,7 @@
dtsExtMirror =
ConstantUtils.mkSet $
map Types.diskTemplateToRaw
- [DTDiskless, DTBlock, DTExt, DTSharedFile, DTRbd, DTGluster]
+ [DTDiskless, DTExt, DTSharedFile, DTRbd, DTGluster]
-- | The set of non-lvm-based disk templates
dtsNotLvm :: FrozenSet String
--- a/src/Ganeti/HTools/Instance.hs 2015-12-16 14:34:43.000000000 +0100
+++ b/src/Ganeti/HTools/Instance.hs 2017-11-03 18:34:37.562544893 +0100
@@ -168,7 +168,6 @@
movableDiskTemplates :: [T.DiskTemplate]
movableDiskTemplates =
[ T.DTDrbd8
- , T.DTBlock
, T.DTSharedFile
, T.DTGluster
, T.DTRbd
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment