in pkg/clusters/versions.go [168:189]
func IsWithinVersionSkew(npVersion, cpVersion string, allowedSkew int) error {
npMinor, err := GetMinorVersion(npVersion)
if err != nil {
return err
}
cpMinor, err := GetMinorVersion(cpVersion)
if err != nil {
return err
}
diff := cpMinor - npMinor
if diff < 0 {
return fmt.Errorf("desired node version %s minor version (%d) cannot be greater than desired control plane version %s minor version (%d)",
npVersion, npMinor, cpVersion, cpMinor)
}
if diff > allowedSkew {
return fmt.Errorf("desired node version %s must be no less than %d minor versions from the desired control plane version %s",
npVersion, allowedSkew, cpVersion)
}
return nil
}