mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 09:52:49 +00:00
test dualstack services with assigned clusterIPs
This commit is contained in:
parent
9bedff1147
commit
bea96abac3
@ -81,6 +81,14 @@ func TestCreateServiceSingleStackIPv4(t *testing.T) {
|
||||
expectedIPFamilies: []v1.IPFamily{v1.IPv4Protocol},
|
||||
expectError: false,
|
||||
},
|
||||
{
|
||||
name: "Type ClusterIP - Client Allocated IP - Default IP Family - Policy Single Stack",
|
||||
serviceType: v1.ServiceTypeClusterIP,
|
||||
clusterIPs: []string{"10.0.0.16"},
|
||||
ipFamilies: nil,
|
||||
expectedIPFamilies: []v1.IPFamily{v1.IPv4Protocol},
|
||||
expectError: false,
|
||||
},
|
||||
{
|
||||
name: "Type ClusterIP - Server Allocated IP - Default IP Family - Policy Prefer Dual Stack",
|
||||
serviceType: v1.ServiceTypeClusterIP,
|
||||
@ -218,10 +226,9 @@ func TestCreateServiceSingleStackIPv4(t *testing.T) {
|
||||
Name: fmt.Sprintf("svc-test-%d", i), // use different services for each test
|
||||
},
|
||||
Spec: v1.ServiceSpec{
|
||||
Type: tc.serviceType,
|
||||
ClusterIPs: tc.clusterIPs,
|
||||
IPFamilies: tc.ipFamilies,
|
||||
IPFamilyPolicy: &tc.ipFamilyPolicy,
|
||||
Type: tc.serviceType,
|
||||
ClusterIPs: tc.clusterIPs,
|
||||
IPFamilies: tc.ipFamilies,
|
||||
Ports: []v1.ServicePort{
|
||||
{
|
||||
Port: 443,
|
||||
@ -231,6 +238,14 @@ func TestCreateServiceSingleStackIPv4(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
if len(tc.ipFamilyPolicy) > 0 {
|
||||
svc.Spec.IPFamilyPolicy = &tc.ipFamilyPolicy
|
||||
}
|
||||
|
||||
if len(tc.clusterIPs) > 0 {
|
||||
svc.Spec.ClusterIP = tc.clusterIPs[0]
|
||||
}
|
||||
|
||||
// create the service
|
||||
_, err := client.CoreV1().Services(metav1.NamespaceDefault).Create(context.TODO(), svc, metav1.CreateOptions{})
|
||||
if (err != nil) != tc.expectError {
|
||||
@ -509,6 +524,47 @@ func TestCreateServiceDualStackIPv4IPv6(t *testing.T) {
|
||||
ipFamilyPolicy: v1.IPFamilyPolicySingleStack,
|
||||
expectError: false,
|
||||
},
|
||||
{
|
||||
name: "Type ClusterIP - Client Allocated IP - IPv4 Family",
|
||||
serviceType: v1.ServiceTypeClusterIP,
|
||||
clusterIPs: []string{"10.0.0.16"},
|
||||
ipFamilies: nil,
|
||||
expectedIPFamilies: []v1.IPFamily{v1.IPv4Protocol},
|
||||
expectError: false,
|
||||
},
|
||||
{
|
||||
name: "Type ClusterIP - Client Allocated IP - IPv6 Family",
|
||||
serviceType: v1.ServiceTypeClusterIP,
|
||||
clusterIPs: []string{"2001:db8:1::16"},
|
||||
ipFamilies: nil,
|
||||
expectedIPFamilies: []v1.IPFamily{v1.IPv6Protocol},
|
||||
expectError: false,
|
||||
},
|
||||
{
|
||||
name: "Type ClusterIP - Client Allocated IP - IPv4 IPv6 Family ",
|
||||
serviceType: v1.ServiceTypeClusterIP,
|
||||
clusterIPs: []string{"10.0.0.17", "2001:db8:1::17"},
|
||||
ipFamilies: nil,
|
||||
expectedIPFamilies: []v1.IPFamily{v1.IPv4Protocol, v1.IPv6Protocol},
|
||||
expectError: true,
|
||||
},
|
||||
{
|
||||
name: "Type ClusterIP - Client Allocated IP - IPv4 IPv6 Family ",
|
||||
serviceType: v1.ServiceTypeClusterIP,
|
||||
clusterIPs: []string{"10.0.0.17", "2001:db8:1::17"},
|
||||
ipFamilies: nil,
|
||||
ipFamilyPolicy: v1.IPFamilyPolicyPreferDualStack,
|
||||
expectedIPFamilies: []v1.IPFamily{v1.IPv4Protocol, v1.IPv6Protocol},
|
||||
expectError: false,
|
||||
},
|
||||
{
|
||||
name: "Type ClusterIP - Client Allocated IP - IPv4 IPv6 Family ",
|
||||
serviceType: v1.ServiceTypeClusterIP,
|
||||
clusterIPs: []string{"10.0.0.18", "2001:db8:1::18"},
|
||||
ipFamilies: []v1.IPFamily{v1.IPv4Protocol, v1.IPv6Protocol},
|
||||
expectedIPFamilies: []v1.IPFamily{v1.IPv4Protocol, v1.IPv6Protocol},
|
||||
expectError: true,
|
||||
},
|
||||
{
|
||||
name: "Type ClusterIP - Server Allocated IP - Default IP Family - Policy Prefer Dual Stack",
|
||||
serviceType: v1.ServiceTypeClusterIP,
|
||||
@ -647,10 +703,9 @@ func TestCreateServiceDualStackIPv4IPv6(t *testing.T) {
|
||||
Name: fmt.Sprintf("svc-test-%d", i), // use different services for each test
|
||||
},
|
||||
Spec: v1.ServiceSpec{
|
||||
Type: tc.serviceType,
|
||||
ClusterIPs: tc.clusterIPs,
|
||||
IPFamilies: tc.ipFamilies,
|
||||
IPFamilyPolicy: &tc.ipFamilyPolicy,
|
||||
Type: tc.serviceType,
|
||||
ClusterIPs: tc.clusterIPs,
|
||||
IPFamilies: tc.ipFamilies,
|
||||
Ports: []v1.ServicePort{
|
||||
{
|
||||
Port: 443,
|
||||
@ -660,6 +715,14 @@ func TestCreateServiceDualStackIPv4IPv6(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
if len(tc.ipFamilyPolicy) > 0 {
|
||||
svc.Spec.IPFamilyPolicy = &tc.ipFamilyPolicy
|
||||
}
|
||||
|
||||
if len(tc.clusterIPs) > 0 {
|
||||
svc.Spec.ClusterIP = tc.clusterIPs[0]
|
||||
}
|
||||
|
||||
// create a service
|
||||
_, err := client.CoreV1().Services(metav1.NamespaceDefault).Create(context.TODO(), svc, metav1.CreateOptions{})
|
||||
if (err != nil) != tc.expectError {
|
||||
|
Loading…
Reference in New Issue
Block a user