mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-30 10:10:21 +00:00
cephfs: use new 'ceph fs resize' command when available
This reverts commit 9022d899eb
.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
This commit is contained in:
parent
9022d899eb
commit
66645cf6f5
@ -357,7 +357,7 @@ func (cs *ControllerServer) ControllerExpandVolume(ctx context.Context, req *csi
|
|||||||
|
|
||||||
RoundOffSize := util.RoundOffBytes(req.GetCapacityRange().GetRequiredBytes())
|
RoundOffSize := util.RoundOffBytes(req.GetCapacityRange().GetRequiredBytes())
|
||||||
|
|
||||||
if err = resizeVolume(ctx, volOptions, cr, volumeID(volIdentifier.FsSubvolName), RoundOffSize); err != nil {
|
if err = createVolume(ctx, volOptions, cr, volumeID(volIdentifier.FsSubvolName), RoundOffSize); err != nil {
|
||||||
klog.Errorf(util.Log(ctx, "failed to expand volume %s: %v"), volumeID(volIdentifier.FsSubvolName), err)
|
klog.Errorf(util.Log(ctx, "failed to expand volume %s: %v"), volumeID(volIdentifier.FsSubvolName), err)
|
||||||
return nil, status.Error(codes.Internal, err.Error())
|
return nil, status.Error(codes.Internal, err.Error())
|
||||||
}
|
}
|
||||||
|
@ -38,12 +38,6 @@ var (
|
|||||||
// Subvolume group create gets called every time the plugin loads, though it doesn't result in error
|
// Subvolume group create gets called every time the plugin loads, though it doesn't result in error
|
||||||
// its unnecessary
|
// its unnecessary
|
||||||
cephfsInit = false
|
cephfsInit = false
|
||||||
|
|
||||||
// resizeSupportedList stores the mapping for clusterID and resize is
|
|
||||||
// supported in the particular cluster
|
|
||||||
resizeSupportedList = make(map[string]bool)
|
|
||||||
|
|
||||||
inValidCommmand = "no valid command found"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func getCephRootVolumePathLocalDeprecated(volID volumeID) string {
|
func getCephRootVolumePathLocalDeprecated(volID volumeID) string {
|
||||||
@ -144,48 +138,6 @@ func createVolume(ctx context.Context, volOptions *volumeOptions, cr *util.Crede
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// resizeVolume will try to use ceph fs subvolume resize command to resize the
|
|
||||||
// subvolume. If the command is not available as a fallback it will use
|
|
||||||
// CreateVolume to resize the subvolume.
|
|
||||||
func resizeVolume(ctx context.Context, volOptions *volumeOptions, cr *util.Credentials, volID volumeID, bytesQuota int64) error {
|
|
||||||
supported := false
|
|
||||||
ok := false
|
|
||||||
|
|
||||||
if supported, ok = resizeSupportedList[volOptions.ClusterID]; supported || !ok {
|
|
||||||
args := []string{
|
|
||||||
"fs",
|
|
||||||
"subvolume",
|
|
||||||
"resize",
|
|
||||||
volOptions.FsName,
|
|
||||||
string(volID),
|
|
||||||
strconv.FormatInt(bytesQuota, 10),
|
|
||||||
"--group_name",
|
|
||||||
csiSubvolumeGroup,
|
|
||||||
"-m", volOptions.Monitors,
|
|
||||||
"-c", util.CephConfigPath,
|
|
||||||
"-n", cephEntityClientPrefix + cr.ID,
|
|
||||||
"--keyfile=" + cr.KeyFile,
|
|
||||||
}
|
|
||||||
|
|
||||||
err := execCommandErr(
|
|
||||||
ctx,
|
|
||||||
"ceph",
|
|
||||||
args[:]...)
|
|
||||||
|
|
||||||
if err == nil {
|
|
||||||
resizeSupportedList[volOptions.ClusterID] = true
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
// Incase the error is other than invalid command return error to the caller.
|
|
||||||
if !strings.Contains(err.Error(), inValidCommmand) {
|
|
||||||
klog.Errorf(util.Log(ctx, "failed to resize subvolume %s(%s) in fs %s"), string(volID), err, volOptions.FsName)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
resizeSupportedList[volOptions.ClusterID] = false
|
|
||||||
return createVolume(ctx, volOptions, cr, volID, bytesQuota)
|
|
||||||
}
|
|
||||||
|
|
||||||
func mountCephRoot(ctx context.Context, volID volumeID, volOptions *volumeOptions, adminCr *util.Credentials) error {
|
func mountCephRoot(ctx context.Context, volID volumeID, volOptions *volumeOptions, adminCr *util.Credentials) error {
|
||||||
cephRoot := getCephRootPathLocalDeprecated(volID)
|
cephRoot := getCephRootPathLocalDeprecated(volID)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user