in projects/aws/upgrader/upgrade/containerd.go [14:53]
func (u *InPlaceUpgrader) ContainerdUpgrade(ctx context.Context) error {
cmpDir, err := u.upgradeComponentsBinDir()
if err != nil {
return fmt.Errorf("getting upgrade components binary directory: %v", err)
}
containerdVersionCmd := []string{"containerd", "--version"}
out, err := u.ExecCommand(ctx, containerdVersionCmd[0], containerdVersionCmd[1:]...)
if err != nil {
return execError(containerdVersionCmd, string(out))
}
logger.Info("current version of containerd", "version", string(out))
cpCmd := []string{"cp", "-rf", fmt.Sprintf("%s/containerd/.", cmpDir), "/"}
out, err = u.ExecCommand(ctx, cpCmd[0], cpCmd[1:]...)
if err != nil {
return execError(cpCmd, string(out))
}
version, err := u.ExecCommand(ctx, containerdVersionCmd[0], containerdVersionCmd[1:]...)
if err != nil {
return execError(containerdVersionCmd, string(version))
}
daemonReloadCmd := []string{"systemctl", "daemon-reload"}
out, err = u.ExecCommand(ctx, daemonReloadCmd[0], daemonReloadCmd[1:]...)
if err != nil {
return execError(daemonReloadCmd, string(out))
}
containerdRestartCmd := []string{"systemctl", "restart", "containerd"}
out, err = u.ExecCommand(ctx, containerdRestartCmd[0], containerdRestartCmd[1:]...)
if err != nil {
return execError(containerdRestartCmd, string(out))
}
logger.Info("containerd version on the node", "version", string(version))
logger.Info("containerd upgrade successful!")
return nil
}