Skip to content

Commit

Permalink
Merge pull request #687 from sjberman/cherrypick-685
Browse files Browse the repository at this point in the history
Merge pull request #685 from sjberman/bug_fixes
  • Loading branch information
russokj authored Apr 26, 2018
2 parents 652fda9 + 458006f commit 5037851
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 27 deletions.
40 changes: 16 additions & 24 deletions cmd/k8s-bigip-ctlr/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -375,12 +375,11 @@ func setupNodePolling(
eventChan <-chan interface{},
kubeClient kubernetes.Interface,
) error {
if appMgr.IsNodePort() {
err := np.RegisterListener(appMgr.ProcessNodeUpdate)
if nil != err {
return fmt.Errorf("error registering node update listener for nodeport mode: %v",
err)
}
// Register appMgr to watch for node updates to keep track of watched nodes
err := np.RegisterListener(appMgr.ProcessNodeUpdate)
if nil != err {
return fmt.Errorf("error registering node update listener: %v",
err)
}

if 0 != len(vxlanMode) {
Expand Down Expand Up @@ -408,12 +407,6 @@ func setupNodePolling(
return fmt.Errorf("error registering node update listener for vxlan mode: %v",
err)
}
// Register appMgr to watch for node updates to keep track of watched nodes
err = np.RegisterListener(appMgr.ProcessNodeUpdate)
if nil != err {
return fmt.Errorf("error registering node update listener for appManager: %v",
err)
}
if eventChan != nil {
vxMgr.ProcessAppmanagerEvents(kubeClient)
}
Expand Down Expand Up @@ -599,7 +592,8 @@ func main() {
log.Fatalf("error connecting to the client: %v", err)
}
if *manageRoutes {
rclient, err := routeclient.New(config)
var rclient *routeclient.Client
rclient, err = routeclient.New(config)
appMgrParms.RouteClientV1 = rclient.RESTClient
if nil != err {
log.Fatalf("unable to create route client: err: %+v\n", err)
Expand All @@ -608,19 +602,17 @@ func main() {

appMgr := appmanager.NewManager(&appMgrParms)

if isNodePort || 0 != len(vxlanMode) {
intervalFactor := time.Duration(*nodePollInterval)
np := pollers.NewNodePoller(appMgrParms.KubeClient, intervalFactor*time.Second, *nodeLabelSelector)
err := setupNodePolling(appMgr, np, eventChan, appMgrParms.KubeClient)
if nil != err {
log.Fatalf("Required polling utility for node updates failed setup: %v",
err)
}

np.Run()
defer np.Stop()
intervalFactor := time.Duration(*nodePollInterval)
np := pollers.NewNodePoller(appMgrParms.KubeClient, intervalFactor*time.Second, *nodeLabelSelector)
err = setupNodePolling(appMgr, np, eventChan, appMgrParms.KubeClient)
if nil != err {
log.Fatalf("Required polling utility for node updates failed setup: %v",
err)
}

np.Run()
defer np.Stop()

setupWatchers(appMgr, 30*time.Second)
// Expose Prometheus metrics
http.Handle("/metrics", promhttp.Handler())
Expand Down
11 changes: 11 additions & 0 deletions docs/RELEASE-NOTES.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
Release Notes for BIG-IP Controller for Kubernetes
==================================================

v1.5.1
------

Bug Fixes
`````````
* :issues:`683` - Controller upgrades properly with new metadata field.
* :issues:`686` - Controller in cluster mode does not rely on vxlan name to configure pool members.

v1.5.0
------

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

v1.4.2
------
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,12 +105,12 @@
<a href="http://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/%(url_version)s/_static/ATTRIBUTIONS.html">Attributions</a>
.. |kctlr| replace:: :code:`k8s-bigip-ctlr`
.. |kctlr-long| replace:: F5 BIG-IP Controller for Kubernetes
.. _F5 Resource: %(base_url)s/containers/latest/kubernetes/#f5-resource-properties
.. _F5 Resource: %(base_url)s/containers/latest/kubernetes/kctlr-f5-resource.html#f5-resource-properties
.. _Kubernetes Ingress: https://kubernetes.io/docs/concepts/services-networking/ingress/
.. _Flannel VxLAN in Kubernetes: %(base_url)s/containers/latest/kubernetes/flannel-bigip-info.html
.. _user documentation: %(base_url)s/containers/latest/kubernetes/index.html
.. _Integration Overview: %(base_url)s/containers/latest/kubernetes/index.html
.. _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
.. _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
.. _pools without virtual servers: %(base_url)s/containers/latest/kubernetes/kctlr-manage-bigip-objects.html#pools-without-virtual-servers
.. _Expose Services to External Traffic using Ingresses: %(base_url)s/containers/latest/kubernetes/kctlr-ingress.html
.. _f5 schema versions: %(base_url)s/containers/latest/releases_and_versioning.html#f5-schema
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
-e git+https://github.com/f5devcentral/f5-ctlr-agent.git@ffe7c22288502ca45f14bcf2b6d93295ca58a593#egg=f5-ctlr-agent
-e git+https://github.com/f5devcentral/f5-ctlr-agent.git@435f049bf1a36c56293e57686d88a0bcd03e4cf6#egg=f5-ctlr-agent

0 comments on commit 5037851

Please sign in to comment.