mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
Move shared load balancer variables out of test.lb update/delete tests
This commit is contained in:
parent
6fedaa88ec
commit
aeba01a287
@ -242,27 +242,61 @@ func TestDeleteAddressWithWrongTier(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEnsureExternalLoadBalancer(t *testing.T) {
|
const nodeName = "test-node-1"
|
||||||
|
const clusterName = "Test Cluster Name"
|
||||||
|
const clusterID = "test-cluster-id"
|
||||||
|
|
||||||
|
var apiService = &v1.Service{
|
||||||
|
Spec: v1.ServiceSpec{
|
||||||
|
SessionAffinity: v1.ServiceAffinityClientIP,
|
||||||
|
Type: v1.ServiceTypeClusterIP,
|
||||||
|
Ports: []v1.ServicePort{{Protocol: v1.ProtocolTCP, Port: int32(123)}},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
var nodes = []*v1.Node{
|
||||||
|
&v1.Node{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: nodeName,
|
||||||
|
Labels: map[string]string{
|
||||||
|
kubeletapis.LabelHostname: nodeName,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Status: v1.NodeStatus{
|
||||||
|
NodeInfo: v1.NodeSystemInfo{
|
||||||
|
KubeProxyVersion: "v1.7.2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func fakeGCECloud() (*GCECloud, error) {
|
||||||
gceProjectId := "test-project"
|
gceProjectId := "test-project"
|
||||||
gceRegion := "test-region"
|
gceRegion := "test-region"
|
||||||
zone := "zone1"
|
zone := "zone1"
|
||||||
nodeName := "test-node-1"
|
|
||||||
|
|
||||||
client, clientErr := newOauthClient(nil)
|
client, err := newOauthClient(nil)
|
||||||
require.NoError(t, clientErr)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
service, serviceErr := compute.New(client)
|
service, err := compute.New(client)
|
||||||
require.NoError(t, serviceErr)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
fakeManager := newFakeManager(gceProjectId, gceRegion)
|
fakeManager := newFakeManager(gceProjectId, gceRegion)
|
||||||
|
|
||||||
alphaFeatureGate, featureGateErr := NewAlphaFeatureGate([]string{})
|
alphaFeatureGate, err := NewAlphaFeatureGate([]string{})
|
||||||
require.NoError(t, featureGateErr)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
cloud := cloud.NewMockGCE()
|
cloud := cloud.NewMockGCE()
|
||||||
zonesWithNodes := createNodeZones([]string{zone})
|
zonesWithNodes := createNodeZones([]string{zone})
|
||||||
|
|
||||||
gce := GCECloud{
|
gce := GCECloud{
|
||||||
|
region: gceRegion,
|
||||||
service: service,
|
service: service,
|
||||||
manager: fakeManager,
|
manager: fakeManager,
|
||||||
managedZones: []string{zone},
|
managedZones: []string{zone},
|
||||||
@ -284,35 +318,12 @@ func TestEnsureExternalLoadBalancer(t *testing.T) {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
clusterName := "Test Cluster Name"
|
return &gce, nil
|
||||||
clusterID := "test-cluster-id"
|
}
|
||||||
|
|
||||||
apiService := &v1.Service{
|
|
||||||
Spec: v1.ServiceSpec{
|
|
||||||
SessionAffinity: v1.ServiceAffinityClientIP,
|
|
||||||
Type: v1.ServiceTypeClusterIP,
|
|
||||||
Ports: []v1.ServicePort{{Protocol: v1.ProtocolTCP, Port: int32(123)}},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
func createExternalLoadBalancer(gce *GCECloud) (*v1.LoadBalancerStatus, error) {
|
||||||
existingFwdRule := &compute.ForwardingRule{}
|
existingFwdRule := &compute.ForwardingRule{}
|
||||||
|
|
||||||
nodes := []*v1.Node{
|
|
||||||
&v1.Node{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Name: nodeName,
|
|
||||||
Labels: map[string]string{
|
|
||||||
kubeletapis.LabelHostname: nodeName,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Status: v1.NodeStatus{
|
|
||||||
NodeInfo: v1.NodeSystemInfo{
|
|
||||||
KubeProxyVersion: "v1.7.2",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
status, err := gce.ensureExternalLoadBalancer(
|
status, err := gce.ensureExternalLoadBalancer(
|
||||||
clusterName,
|
clusterName,
|
||||||
clusterID,
|
clusterID,
|
||||||
@ -321,6 +332,34 @@ func TestEnsureExternalLoadBalancer(t *testing.T) {
|
|||||||
nodes,
|
nodes,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return status, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestEnsureExternalLoadBalancer(t *testing.T) {
|
||||||
|
gce, err := fakeGCECloud()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
status, err := createExternalLoadBalancer(gce)
|
||||||
assert.NotNil(t, status)
|
assert.NotNil(t, status)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUpdateExternalLoadBalancer(t *testing.T) {
|
||||||
|
gce, err := fakeGCECloud()
|
||||||
|
require.NoError(t, err)
|
||||||
|
createExternalLoadBalancer(gce)
|
||||||
|
|
||||||
|
err = gce.updateExternalLoadBalancer(clusterName, apiService, nodes)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Assert pool is modified
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestEnsureExternalLoadBalancerDeleted(t *testing.T) {
|
||||||
|
gce, err := fakeGCECloud()
|
||||||
|
require.NoError(t, err)
|
||||||
|
createExternalLoadBalancer(gce)
|
||||||
|
|
||||||
|
err = gce.ensureExternalLoadBalancerDeleted(clusterName, clusterID, apiService)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user