func()

in projects/aws/upgrader/upgrade/kubelet_kubectl.go [82:110]


func (u *InPlaceUpgrader) updateKubeletExtraArgs(cmpDir string) error {
	if _, err := u.Stat(kubeletConf); err != nil {
		if errors.Is(err, os.ErrNotExist) {
			logger.Info("kubelet config file not found, skipping updating extra args", "kubelet_config_path", kubeletConf)
			return nil
		}
	}

	conf, err := u.ReadFile(kubeletConf)
	if err != nil {
		return fmt.Errorf("reading kubelet config on the node: %v", err)
	}
	newConf := bytes.ReplaceAll(conf, []byte(kubeletCredProviderFeatureGate), []byte(""))

	extraArgsDir := fmt.Sprintf("%s/%s", cmpDir, extraArgs)
	if err = u.MkdirAll(extraArgsDir, fileMode755); err != nil {
		return fmt.Errorf("creating folder: %v", err)
	}
	kubeletConfBackupFile := fmt.Sprintf("%s/kubelet.bk", extraArgsDir)
	if err = u.copy(kubeletConf, kubeletConfBackupFile); err != nil {
		return copyError(kubeletConf, kubeletConfBackupFile, err)
	}
	if err := u.WriteFile(kubeletConf, newConf, fileMode640); err != nil {
		return fmt.Errorf("writing updated kubelet config to file: %v", err)
	}

	logger.Info("removed deprecated feature flags from kubelet config successfully!")
	return nil
}