make Translator public

This commit is contained in:
Minhan Xia 2017-10-03 13:54:18 -07:00
parent b1d33e7a1f
commit 25bb9341e1
2 changed files with 13 additions and 11 deletions

View file

@ -72,7 +72,7 @@ type LoadBalancerController struct {
recorder record.EventRecorder
nodeQueue *taskQueue
ingQueue *taskQueue
tr *GCETranslator
Translator *GCETranslator
stopCh chan struct{}
// stopLock is used to enforce only a single call to Stop is active.
// Needed because we allow stopping through an http endpoint and
@ -84,6 +84,8 @@ type LoadBalancerController struct {
// hasSynced returns true if all associated sub-controllers have synced.
// Abstracted into a func for testing.
hasSynced func() bool
// negEnabled indicates whether NEG feature is enabled.
negEnabled bool
}
// NewLoadBalancerController creates a controller for gce loadbalancers.
@ -103,6 +105,7 @@ func NewLoadBalancerController(kubeClient kubernetes.Interface, ctx *utils.Contr
stopCh: ctx.StopCh,
recorder: eventBroadcaster.NewRecorder(scheme.Scheme,
apiv1.EventSource{Component: "loadbalancer-controller"}),
negEnabled: negEnabled,
}
lbc.nodeQueue = NewTaskQueue(lbc.syncNodes)
lbc.ingQueue = NewTaskQueue(lbc.sync)
@ -167,7 +170,7 @@ func NewLoadBalancerController(kubeClient kubernetes.Interface, ctx *utils.Contr
// Nodes are updated every 10s and we don't care, so no update handler.
})
lbc.tr = &GCETranslator{&lbc}
lbc.Translator = &GCETranslator{&lbc}
lbc.tlsLoader = &apiServerTLSLoader{client: lbc.client}
glog.V(3).Infof("Created new loadbalancer controller")
@ -255,9 +258,8 @@ func (lbc *LoadBalancerController) sync(key string) (err error) {
if err != nil {
return err
}
allNodePorts := lbc.tr.toNodePorts(&allIngresses)
gceNodePorts := lbc.tr.toNodePorts(&gceIngresses)
allNodePorts := lbc.Translator.toNodePorts(&allIngresses)
gceNodePorts := lbc.Translator.toNodePorts(&gceIngresses)
lbNames := lbc.ingLister.Store.ListKeys()
lbs, err := lbc.toRuntimeInfo(gceIngresses)
if err != nil {
@ -330,7 +332,7 @@ func (lbc *LoadBalancerController) sync(key string) (err error) {
return syncError
}
if urlMap, err := lbc.tr.toURLMap(&ing); err != nil {
if urlMap, err := lbc.Translator.toURLMap(&ing); err != nil {
syncError = fmt.Errorf("%v, convert to url map error %v", syncError, err)
} else if err := l7.UpdateUrlMap(urlMap); err != nil {
lbc.recorder.Eventf(&ing, apiv1.EventTypeWarning, "UrlMap", err.Error())

View file

@ -43,7 +43,7 @@ func TestZoneListing(t *testing.T) {
"zone-2": {"n2"},
}
addNodes(lbc, zoneToNode)
zones, err := lbc.tr.ListZones()
zones, err := lbc.Translator.ListZones()
if err != nil {
t.Errorf("Failed to list zones: %v", err)
}
@ -104,7 +104,7 @@ func TestProbeGetter(t *testing.T) {
}
addPods(lbc, nodePortToHealthCheck, api_v1.NamespaceDefault)
for p, exp := range nodePortToHealthCheck {
got, err := lbc.tr.GetProbe(p)
got, err := lbc.Translator.GetProbe(p)
if err != nil || got == nil {
t.Errorf("Failed to get probe for node port %v: %v", p, err)
} else if getProbePath(got) != exp {
@ -126,7 +126,7 @@ func TestProbeGetterNamedPort(t *testing.T) {
pod.Spec.Containers[0].ReadinessProbe.Handler.HTTPGet.Port = intstr.IntOrString{Type: intstr.String, StrVal: "test"}
}
for p, exp := range nodePortToHealthCheck {
got, err := lbc.tr.GetProbe(p)
got, err := lbc.Translator.GetProbe(p)
if err != nil || got == nil {
t.Errorf("Failed to get probe for node port %v: %v", p, err)
} else if getProbePath(got) != exp {
@ -177,7 +177,7 @@ func TestProbeGetterCrossNamespace(t *testing.T) {
addPods(lbc, nodePortToHealthCheck, api_v1.NamespaceDefault)
for p, exp := range nodePortToHealthCheck {
got, err := lbc.tr.GetProbe(p)
got, err := lbc.Translator.GetProbe(p)
if err != nil || got == nil {
t.Errorf("Failed to get probe for node port %v: %v", p, err)
} else if getProbePath(got) != exp {
@ -259,7 +259,7 @@ func addNodes(lbc *LoadBalancerController, zoneToNode map[string][]string) {
lbc.nodeLister.Indexer.Add(n)
}
}
lbc.CloudClusterManager.instancePool.Init(lbc.tr)
lbc.CloudClusterManager.instancePool.Init(lbc.Translator)
}
func getProbePath(p *api_v1.Probe) string {