mirror of
https://github.com/rancher/rke.git
synced 2025-09-02 15:34:36 +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 {
|
||||
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 {
|
||||
return fmt.Errorf("Error while printing Weave deprecation message: %w", err)
|
||||
}
|
||||
@@ -732,3 +742,8 @@ func warnWeaveDeprecation(k8sVersion string) error {
|
||||
}
|
||||
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