You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just want upgrade mds from ceph-v1.18 -> v1.18.2 Environment:
Rook version (use rook version inside of a Rook Pod):
v1.12.9 - > v1.14.*
func (c*Cluster) upgradeMDS() error {
logger.Infof("upgrading MDS cluster for filesystem %q", c.fs.Name)
// 1. set allow_standby_replay to falseiferr:=cephclient.AllowStandbyReplay(c.context, c.clusterInfo, c.fs.Name, false); err!=nil {
returnerrors.Wrap(err, "failed to setting allow_standby_replay to false")
}
// Standby-replay daemons are stopped automatically.iferr:=cephclient.FailAllStandbyReplayMDS(c.context, c.clusterInfo, c.fs.Name); err!=nil {
returnerrors.Wrap(err, "failed to fail mds agent in up:standby-replay state")
}
// 2. set max_mds to 1logger.Debug("start setting active mds count to 1")
iferr:=cephclient.SetNumMDSRanks(c.context, c.clusterInfo, c.fs.Name, 1); err!=nil {
returnerrors.Wrapf(err, "failed setting active mds count to %d", 1)
}
// 3. wait for ranks to be 0iferr:=cephclient.WaitForActiveRanks(c.context, c.clusterInfo, c.fs.Name, 1, false, fsWaitForActiveTimeout); err!=nil {
returnerrors.Wrap(err, "failed waiting for active ranks to be 1")
}
// 4. stop standby daemonsdaemonName, err:=cephclient.GetMdsIdByRank(c.context, c.clusterInfo, c.fs.Name, 0)
iferr!=nil {
returnerrors.Wrap(err, "failed to get mds id from rank 0")
}
daemonNameTokens:=strings.Split(daemonName, "-")
daemonLetterID:=daemonNameTokens[len(daemonNameTokens)-1]
desiredDeployments:=map[string]bool{
fmt.Sprintf("%s-%s-%s", AppName, c.fs.Name, daemonLetterID): true,
}
logger.Debugf("stop mds other than %s", daemonName)
err=c.scaleDownDeployments(1, 1, desiredDeployments, false)
iferr!=nil {
returnerrors.Wrap(err, "failed to scale down deployments during upgrade")
}
logger.Debugf("waiting for all standbys gone")
iferr:=cephclient.WaitForNoStandbys(c.context, c.clusterInfo, 120*time.Second); err!=nil {
returnerrors.Wrap(err, "failed to wait for stopping all standbys")
}
// 5. upgrade current active deployment and wait for it come back_, err=c.startDeployment(c.clusterInfo.Context, daemonLetterID)
iferr!=nil {
returnerrors.Wrapf(err, "failed to upgrade mds %q", daemonName)
}
logger.Debugf("successfully started daemon %q", daemonName)
// 6. all other MDS daemons will be updated and restarted by main MDS code path// 7. max_mds & allow_standby_replay will be reset in deferred function finishedWithDaemonUpgradereturnnil
}
The text was updated successfully, but these errors were encountered:
I just want upgrade mds from ceph-v1.18 -> v1.18.2
Environment:
rook version
inside of a Rook Pod):v1.12.9 - > v1.14.*
The text was updated successfully, but these errors were encountered: