@@ -225,6 +225,50 @@ func TestValidateSubnet(t *testing.T) {
225225 },
226226 err : "ipv5 is not a valid protocol type" ,
227227 },
228+ {
229+ name : "SubnetVpcSameNameErr" ,
230+ asubnet : kubeovnv1.Subnet {
231+ TypeMeta : metav1.TypeMeta {Kind : "Subnet" , APIVersion : "kubeovn.io/v1" },
232+ ObjectMeta : metav1.ObjectMeta {
233+ Name : "same-name" ,
234+ },
235+ Spec : kubeovnv1.SubnetSpec {
236+ Default : true ,
237+ Vpc : "same-name" ,
238+ Protocol : kubeovnv1 .ProtocolIPv4 ,
239+ Namespaces : nil ,
240+ CIDRBlock : "10.16.0.0/16" ,
241+ Gateway : "10.16.0.1" ,
242+ ExcludeIps : []string {"10.16.0.1" },
243+ Provider : "ovn" ,
244+ GatewayType : kubeovnv1 .GWDistributedType ,
245+ },
246+ Status : kubeovnv1.SubnetStatus {},
247+ },
248+ err : "subnet same-name and vpc same-name cannot have the same name" ,
249+ },
250+ {
251+ name : "SubnetVpcDifferentNameCorrect" ,
252+ asubnet : kubeovnv1.Subnet {
253+ TypeMeta : metav1.TypeMeta {Kind : "Subnet" , APIVersion : "kubeovn.io/v1" },
254+ ObjectMeta : metav1.ObjectMeta {
255+ Name : "subnet-name" ,
256+ },
257+ Spec : kubeovnv1.SubnetSpec {
258+ Default : true ,
259+ Vpc : "vpc-name" ,
260+ Protocol : kubeovnv1 .ProtocolIPv4 ,
261+ Namespaces : nil ,
262+ CIDRBlock : "10.16.0.0/16" ,
263+ Gateway : "10.16.0.1" ,
264+ ExcludeIps : []string {"10.16.0.1" },
265+ Provider : "ovn" ,
266+ GatewayType : kubeovnv1 .GWDistributedType ,
267+ },
268+ Status : kubeovnv1.SubnetStatus {},
269+ },
270+ err : "" ,
271+ },
228272 {
229273 name : "ExternalEgressGatewayUpperCaseErr" ,
230274 asubnet : kubeovnv1.Subnet {
0 commit comments