mirror of
https://github.com/rancher/rke.git
synced 2025-09-04 16:30:02 +00:00
added validation error for weave for k8s version >=1.30.0
This commit is contained in:
@@ -215,6 +215,16 @@ func validateNetworkOptions(c *Cluster) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if c.Network.Plugin == WeaveNetworkPlugin {
|
if c.Network.Plugin == WeaveNetworkPlugin {
|
||||||
|
supported, err := isWeaveSupportedK8sVersion(c.Version)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("error while checking weave support for cluster version: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !supported {
|
||||||
|
logrus.Errorf("weave CNI support is removed for k8s version >=1.30.0")
|
||||||
|
return fmt.Errorf("weave CNI support is removed for k8s version >=1.30.0")
|
||||||
|
}
|
||||||
|
|
||||||
if err := warnWeaveDeprecation(c.Version); err != nil {
|
if err := warnWeaveDeprecation(c.Version); err != nil {
|
||||||
return fmt.Errorf("Error while printing Weave deprecation message: %w", err)
|
return fmt.Errorf("Error while printing Weave deprecation message: %w", err)
|
||||||
}
|
}
|
||||||
@@ -732,3 +742,8 @@ func warnWeaveDeprecation(k8sVersion string) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isWeaveSupportedK8sVersion checks if weave CNI is supported for a given kubernetes version
|
||||||
|
func isWeaveSupportedK8sVersion(k8sVersion string) (bool, error) {
|
||||||
|
return util.SemVerMatchRange(k8sVersion, "<1.30.0-rancher0")
|
||||||
|
}
|
||||||
|
49
cluster/validation_test.go
Normal file
49
cluster/validation_test.go
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
package cluster
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/rancher/rke/types"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestValidateNetworkOptions(t *testing.T) {
|
||||||
|
t.Run("weave with k8s v1.30.0 or greater", func(tt *testing.T) {
|
||||||
|
cluster := &Cluster{
|
||||||
|
RancherKubernetesEngineConfig: types.RancherKubernetesEngineConfig{
|
||||||
|
Version: "v1.30.0-rancher1",
|
||||||
|
Network: types.NetworkConfig{
|
||||||
|
Plugin: WeaveNetworkPlugin,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
err := validateNetworkOptions(cluster)
|
||||||
|
assert.NotNil(t, err)
|
||||||
|
assert.EqualError(t, err, "weave CNI support is removed for k8s version >=1.30.0")
|
||||||
|
|
||||||
|
cluster.Version = "v1.30.1-rancher1"
|
||||||
|
err = validateNetworkOptions(cluster)
|
||||||
|
assert.NotNil(t, err)
|
||||||
|
assert.EqualError(t, err, "weave CNI support is removed for k8s version >=1.30.0")
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("weave with k8s version less than v1.30.0", func(tt *testing.T) {
|
||||||
|
cluster := &Cluster{
|
||||||
|
RancherKubernetesEngineConfig: types.RancherKubernetesEngineConfig{
|
||||||
|
Version: "v1.29.0-rancher1",
|
||||||
|
Network: types.NetworkConfig{
|
||||||
|
Plugin: WeaveNetworkPlugin,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
err := validateNetworkOptions(cluster)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
|
||||||
|
cluster.Version = "v1.28.5-rancher1"
|
||||||
|
err = validateNetworkOptions(cluster)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
Reference in New Issue
Block a user