INNER CODE UNIT · Go

EffectiveKubeUpgradePath

kubesphere/kubekey · builtin/core/upgrade_path.go:74

func EffectiveKubeUpgradePath(cfg map[string]interface{}) (KubeUpgradePath, error) {
	m, _, err := unstructured.NestedStringMap(cfg, "cluster_require", "kube_upgrade_path")
	if err != nil {
		return nil, fmt.Errorf("read cluster_require.kube_upgrade_path from config: %w", err)
	}
	path := make(KubeUpgradePath, len(m))
	for minorStr, patch := range m {
		minor, err := parseMinor(minorStr)
		if err != nil {
			return nil, fmt.Errorf("invalid minor key %q in kube_upgrade_path: %w", minorStr, err)
		}
		path[minor] = patch
	}
	return path, nil
}

// ComputeUpgradeSteps returns the ordered list of target versions the cluster
// must pass through to upgrade from currentMinor to targetMinor.

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…