Merge pull request #14104 from rook/mergify/bp/release-1.13/pr-14100

osd: Legacy LVM-based OSDs on PVCs crash on resize init container (backport #14100)
This commit is contained in:
Satoru Takeuchi authored and GitHub committed 2024-04-22 15:57:32 +09:00
commit fe845c03de
2 files changed
+4 -4

No files matched your search

+2 -1
View File
@@ -580,8 +580,9 @@ func (c *Cluster) makeDeployment(osdProps osdProperties, osd OSDInfo, provisionC
initContainers = append(initContainers, c.getExpandEncryptedPVCInitContainer(osdDataDirPath, osdProps))
}
initContainers = append(initContainers, c.getActivatePVCInitContainer(osdProps, osdID))
// The expand init container fails for legacy LVM-based OSDs, so only supported expansion for raw mode OSDs
initContainers = append(initContainers, c.getExpandPVCInitContainer(osdProps, osdID))
}
initContainers = append(initContainers, c.getExpandPVCInitContainer(osdProps, osdID))
} else {
// Add the volume to the spec and the mount to the daemon container
// so that it can pick the already mounted/activated osd metadata path
+2 -3
View File
@@ -198,12 +198,11 @@ func testPodDevices(t *testing.T, dataDir, deviceName string, allDevices bool) {
deployment, err = c.makeDeployment(osdProp, osd, dataPathMap)
assert.Nil(t, err)
assert.NotNil(t, deployment)
assert.Equal(t, 5, len(deployment.Spec.Template.Spec.InitContainers), deployment.Spec.Template.Spec.InitContainers[2].Name)
assert.Equal(t, 4, len(deployment.Spec.Template.Spec.InitContainers), deployment.Spec.Template.Spec.InitContainers[2].Name)
assert.Equal(t, "config-init", deployment.Spec.Template.Spec.InitContainers[0].Name)
assert.Equal(t, "copy-bins", deployment.Spec.Template.Spec.InitContainers[1].Name)
assert.Equal(t, "blkdevmapper", deployment.Spec.Template.Spec.InitContainers[2].Name)
assert.Equal(t, "expand-bluefs", deployment.Spec.Template.Spec.InitContainers[3].Name)
assert.Equal(t, "chown-container-data-dir", deployment.Spec.Template.Spec.InitContainers[4].Name)
assert.Equal(t, "chown-container-data-dir", deployment.Spec.Template.Spec.InitContainers[3].Name)
assert.Equal(t, 1, len(deployment.Spec.Template.Spec.Containers))
initCont = deployment.Spec.Template.Spec.InitContainers[0]
assert.Equal(t, 5, len(initCont.VolumeMounts), initCont.VolumeMounts)