integ/kubernetes/kubernetes-1.18.1/centos/files/0001-Fix-pagesize-check-to-allow-for-options-already-endi.patch
Jim Gauld 229ecb0d99 Add staged versions of kubernetes 1.18.1 and 1.19.13
Multiple versions of kubernetes are required to support upgrade.

This adds staged versions of kubernetes 1.18.1 and 1.19.13, each are
built with a specific version of golang.

All subpackage versions are included in the iso image without collisions.

The following patches are included upstream in kubernetes 1.19 and are no
longer required:
Patch1: 0001-Fix-pagesize-check-to-allow-for-options-already-endi.patch
Patch3: fix_http2_erringroundtripper_handling.patch
Patch8: Fix-exclusive-CPU-allocations-being-deleted-at-conta.patch

The following patches are ported to specific kubernetes version:
kubelet-cpumanager-disable-CFS-quota-throttling-for-.patch
kubelet-cpumanager-keep-normal-containers-off-reserv.patch
kubelet-cpumanager-infrastructure-pods-use-system-re.patch
kubelet-cpumanager-introduce-concept-of-isolated-CPU.patch
kubeadm-create-platform-pods-with-zero-CPU-resources.patch
enable-support-for-kubernetes-to-ignore-isolcpus.patch

Depends-On: https://review.opendev.org/c/starlingx/ansible-playbooks/+/806912
Story: 2008972
Task: 43055

Signed-off-by: Jim Gauld <james.gauld@windriver.com>
Change-Id: I90871451c361e4d855098adbf0c9f4f0fddcc461
2021-09-01 16:51:45 -04:00

45 lines
1.9 KiB
Diff

From ee648637dde0394a9e487a47a2c6f33f2e238046 Mon Sep 17 00:00:00 2001
From: Robert Church <robert.church@windriver.com>
Date: Mon, 6 Apr 2020 20:59:53 -0400
Subject: [PATCH] Fix pagesize check to allow for options already ending in 'i'
Commit https://github.com/kubernetes/kubernetes/commit/03ecc20 adds a
pagesize mount option quantity check that appends an 'i' to the pagesize
value.
Based on the current StarlingX configuration the hugepages are mounted
with the following option that already contains an 'i' as a suffix:
pagesize=1Gi.
This temporary patch updates the logic to avoid appending an additional
'i' at the end of the size string. This extra 'i' is not handled by
ParseQuantity() and results is a pod stuck Terminating as the mount
is not removed from the container.
Signed-off-by: Robert Church <robert.church@windriver.com>
---
pkg/volume/emptydir/empty_dir_linux.go | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/pkg/volume/emptydir/empty_dir_linux.go b/pkg/volume/emptydir/empty_dir_linux.go
index 63a25dc4ed0..7343c5e510a 100644
--- a/pkg/volume/emptydir/empty_dir_linux.go
+++ b/pkg/volume/emptydir/empty_dir_linux.go
@@ -69,7 +69,12 @@ func getPageSize(path string, mounter mount.Interface) (*resource.Quantity, erro
// NOTE: Adding suffix 'i' as result should be comparable with a medium size.
// pagesize mount option is specified without a suffix,
// e.g. pagesize=2M or pagesize=1024M for x86 CPUs
- pageSize, err := resource.ParseQuantity(strings.TrimPrefix(opt, prefix) + "i")
+ opt_val := strings.TrimPrefix(opt, prefix)
+ val := opt_val
+ if !strings.HasSuffix(opt_val, "i") {
+ val = opt_val + "i"
+ }
+ pageSize, err := resource.ParseQuantity(val)
if err != nil {
return nil, fmt.Errorf("error getting page size from '%s' mount option: %v", opt, err)
}
--
2.16.6