const region …
type serviceTweak …
func newService(name string, serviceType v1.ServiceType, tweaks ...serviceTweak) *v1.Service { … }
func copyService(oldSvc *v1.Service, tweaks ...serviceTweak) *v1.Service { … }
func tweakAddETP(etpType v1.ServiceExternalTrafficPolicyType) serviceTweak { … }
func tweakAddLBIngress(ip string) serviceTweak { … }
func makeServicePort(protocol v1.Protocol, targetPort int) []v1.ServicePort { … }
func tweakAddPorts(protocol v1.Protocol, targetPort int) serviceTweak { … }
func tweakAddLBClass(loadBalancerClass *string) serviceTweak { … }
func tweakAddFinalizers(finalizers ...string) serviceTweak { … }
func tweakAddDeletionTimestamp(time time.Time) serviceTweak { … }
func tweakAddAppProtocol(appProtocol string) serviceTweak { … }
func tweakSetIPFamilies(families ...v1.IPFamily) serviceTweak { … }
func defaultExternalService() *v1.Service { … }
func newController(ctx context.Context, objects ...runtime.Object) (*Controller, *fakecloud.Cloud, *fake.Clientset) { … }
func TestSyncLoadBalancerIfNeeded(t *testing.T) { … }
func TestUpdateNodesInExternalLoadBalancer(t *testing.T) { … }
func TestNodeChangesForStableNodeSetEnabled(t *testing.T) { … }
func TestNodeChangesInExternalLoadBalancer(t *testing.T) { … }
func compareUpdateCalls(t *testing.T, left, right []fakecloud.UpdateBalancerCall) { … }
func compareHostSets(t *testing.T, left, right []*v1.Node) bool { … }
func TestNodesNotEqual(t *testing.T) { … }
func TestProcessServiceCreateOrUpdate(t *testing.T) { … }
func TestProcessServiceCreateOrUpdateK8sError(t *testing.T) { … }
func TestSyncService(t *testing.T) { … }
func TestProcessServiceDeletion(t *testing.T) { … }
func TestNeedsCleanup(t *testing.T) { … }
func TestSlowNodeSync(t *testing.T) { … }
func TestNeedsUpdate(t *testing.T) { … }
func TestServiceCache(t *testing.T) { … }
func TestAddFinalizer(t *testing.T) { … }
func TestRemoveFinalizer(t *testing.T) { … }
func TestPatchStatus(t *testing.T) { … }
func Test_respectsPredicates(t *testing.T) { … }
func TestListWithPredicate(t *testing.T) { … }
var providerID …
type nodeTweak …
func makeNode(tweaks ...nodeTweak) *v1.Node { … }
func tweakName(name string) nodeTweak { … }
func tweakAddTaint(key string) nodeTweak { … }
func tweakSetLabel(key, val string) nodeTweak { … }
func tweakSetCondition(condType v1.NodeConditionType, condStatus v1.ConditionStatus) nodeTweak { … }
func tweakSetReady(val bool) nodeTweak { … }
func tweakUnsetCondition(condType v1.NodeConditionType) nodeTweak { … }
func tweakDeleted() nodeTweak { … }
func tweakProviderID(id string) nodeTweak { … }
func Test_shouldSyncUpdatedNode_individualPredicates(t *testing.T) { … }
func Test_shouldSyncUpdatedNode_compoundedPredicates(t *testing.T) { … }
func TestServiceQueueDelay(t *testing.T) { … }
type fakeNodeLister …
func newFakeNodeLister(err error, nodes ...*v1.Node) *fakeNodeLister { … }
func (l *fakeNodeLister) List(selector labels.Selector) (ret []*v1.Node, err error) { … }
func (l *fakeNodeLister) Get(name string) (*v1.Node, error) { … }
type spyWorkQueue …
type spyQueueItem …
func (f *spyWorkQueue) AddAfter(key string, delay time.Duration) { … }
func (f *spyWorkQueue) getItems() []spyQueueItem { … }