Skip to content

Commit 5037851

Browse files
authored
Merge pull request #687 from sjberman/cherrypick-685
Merge pull request #685 from sjberman/bug_fixes
2 parents 652fda9 + 458006f commit 5037851

File tree

4 files changed

+30
-27
lines changed

4 files changed

+30
-27
lines changed

cmd/k8s-bigip-ctlr/main.go

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -375,12 +375,11 @@ func setupNodePolling(
375375
eventChan <-chan interface{},
376376
kubeClient kubernetes.Interface,
377377
) error {
378-
if appMgr.IsNodePort() {
379-
err := np.RegisterListener(appMgr.ProcessNodeUpdate)
380-
if nil != err {
381-
return fmt.Errorf("error registering node update listener for nodeport mode: %v",
382-
err)
383-
}
378+
// Register appMgr to watch for node updates to keep track of watched nodes
379+
err := np.RegisterListener(appMgr.ProcessNodeUpdate)
380+
if nil != err {
381+
return fmt.Errorf("error registering node update listener: %v",
382+
err)
384383
}
385384

386385
if 0 != len(vxlanMode) {
@@ -408,12 +407,6 @@ func setupNodePolling(
408407
return fmt.Errorf("error registering node update listener for vxlan mode: %v",
409408
err)
410409
}
411-
// Register appMgr to watch for node updates to keep track of watched nodes
412-
err = np.RegisterListener(appMgr.ProcessNodeUpdate)
413-
if nil != err {
414-
return fmt.Errorf("error registering node update listener for appManager: %v",
415-
err)
416-
}
417410
if eventChan != nil {
418411
vxMgr.ProcessAppmanagerEvents(kubeClient)
419412
}
@@ -599,7 +592,8 @@ func main() {
599592
log.Fatalf("error connecting to the client: %v", err)
600593
}
601594
if *manageRoutes {
602-
rclient, err := routeclient.New(config)
595+
var rclient *routeclient.Client
596+
rclient, err = routeclient.New(config)
603597
appMgrParms.RouteClientV1 = rclient.RESTClient
604598
if nil != err {
605599
log.Fatalf("unable to create route client: err: %+v\n", err)
@@ -608,19 +602,17 @@ func main() {
608602

609603
appMgr := appmanager.NewManager(&appMgrParms)
610604

611-
if isNodePort || 0 != len(vxlanMode) {
612-
intervalFactor := time.Duration(*nodePollInterval)
613-
np := pollers.NewNodePoller(appMgrParms.KubeClient, intervalFactor*time.Second, *nodeLabelSelector)
614-
err := setupNodePolling(appMgr, np, eventChan, appMgrParms.KubeClient)
615-
if nil != err {
616-
log.Fatalf("Required polling utility for node updates failed setup: %v",
617-
err)
618-
}
619-
620-
np.Run()
621-
defer np.Stop()
605+
intervalFactor := time.Duration(*nodePollInterval)
606+
np := pollers.NewNodePoller(appMgrParms.KubeClient, intervalFactor*time.Second, *nodeLabelSelector)
607+
err = setupNodePolling(appMgr, np, eventChan, appMgrParms.KubeClient)
608+
if nil != err {
609+
log.Fatalf("Required polling utility for node updates failed setup: %v",
610+
err)
622611
}
623612

613+
np.Run()
614+
defer np.Stop()
615+
624616
setupWatchers(appMgr, 30*time.Second)
625617
// Expose Prometheus metrics
626618
http.Handle("/metrics", promhttp.Handler())

docs/RELEASE-NOTES.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
Release Notes for BIG-IP Controller for Kubernetes
22
==================================================
33

4+
v1.5.1
5+
------
6+
7+
Bug Fixes
8+
`````````
9+
* :issues:`683` - Controller upgrades properly with new metadata field.
10+
* :issues:`686` - Controller in cluster mode does not rely on vxlan name to configure pool members.
11+
412
v1.5.0
513
------
614

@@ -34,6 +42,9 @@ Bug Fixes
3442
Limitations
3543
```````````
3644
* Cannot apply app-root and url-rewrite annotations to the same resource; see: :issues:`675`
45+
* If an older controller created resources, upgrading to the new version could
46+
result in a python exception when adding metadata to virtuals: :issues:`683`
47+
* If running the controller in cluster mode without a vxlan name, pool members are not created: :issues:`686`
3748

3849
v1.4.2
3950
------

docs/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,12 @@
105105
<a href="http://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/%(url_version)s/_static/ATTRIBUTIONS.html">Attributions</a>
106106
.. |kctlr| replace:: :code:`k8s-bigip-ctlr`
107107
.. |kctlr-long| replace:: F5 BIG-IP Controller for Kubernetes
108-
.. _F5 Resource: %(base_url)s/containers/latest/kubernetes/#f5-resource-properties
108+
.. _F5 Resource: %(base_url)s/containers/latest/kubernetes/kctlr-f5-resource.html#f5-resource-properties
109109
.. _Kubernetes Ingress: https://kubernetes.io/docs/concepts/services-networking/ingress/
110110
.. _Flannel VxLAN in Kubernetes: %(base_url)s/containers/latest/kubernetes/flannel-bigip-info.html
111111
.. _user documentation: %(base_url)s/containers/latest/kubernetes/index.html
112112
.. _Integration Overview: %(base_url)s/containers/latest/kubernetes/index.html
113-
.. _Assign IP addresses to BIG-IP virtual servers using IPAM: %(base_url)s/containers/latest/kubernetes/kctlr-manage-bigip-objects.html#assign-ip-addresses-to-big-ip-virtual-servers-using-ipam
113+
.. _Assign IP addresses to BIG-IP virtual servers using IPAM: %(base_url)s/containers/latest/kubernetes/kctlr-manage-bigip-objects.html#attach-pools-to-a-virtual-server-using-ipam
114114
.. _pools without virtual servers: %(base_url)s/containers/latest/kubernetes/kctlr-manage-bigip-objects.html#pools-without-virtual-servers
115115
.. _Expose Services to External Traffic using Ingresses: %(base_url)s/containers/latest/kubernetes/kctlr-ingress.html
116116
.. _f5 schema versions: %(base_url)s/containers/latest/releases_and_versioning.html#f5-schema

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
-e git+https://github.com/f5devcentral/f5-ctlr-agent.git@ffe7c22288502ca45f14bcf2b6d93295ca58a593#egg=f5-ctlr-agent
1+
-e git+https://github.com/f5devcentral/f5-ctlr-agent.git@435f049bf1a36c56293e57686d88a0bcd03e4cf6#egg=f5-ctlr-agent

0 commit comments

Comments
 (0)